Быстродействие процессора
Быстродействие процессора — это одна из важнейших его характеристик, определяющая эффективность работы всей микропроцессорной системы в целом. Быстродействие процессора зависит от множества факторов, что затрудняет сравнение быстродействия даже разных процессоров внутри одного семейства, не говоря уже о процессорах разных фирм и разного назначения.
Выделим важнейшие факторы, влияющие на быстродействие процессора.
Прежде всего, быстродействие зависит от тактовой частоты процессора. Все операции внутри процессора выполняются синхронно, тактируются единым тактовым сигналом. Понятно, что чем больше тактовая частота, тем быстрее работает процессор, причем, например, двукратное увеличение тактовой частоты какого-то процессора снижает вдвое время выполнения команд этим процессором.
Однако надо учитывать, что разные процессоры выполняют одинаковые команды за разное количество тактов, причем количество тактов, затрачиваемых на команду, может изменяться от одного такта до десятков или даже сотен. В некоторых процессорах за счет распараллеливания микроопераций на команду тратится даже меньше одного такта.
Количество тактов, затрачиваемых на выполнение команды, зависит от сложности этой команды и от методов адресации операндов. Например, быстрее всего (за меньшее число тактов) выполняются команды пересылки данных между внутренними регистрами процессора. Медленнее всего (за большое число тактов) выполняются сложные арифметические команды с плавающей запятой, операнды которых хранятся в памяти.
Первоначально для количественной оценки производительности процессоров применялась единица измерения MIPS (Mega Instruction Per Second), соответствовавшая количеству миллионов выполняемых инструкций (команд) за секунду. Естественно, изготовители микропроцессоров старались ориентироваться на самые быстрые команды. Понятно, что подобный показатель не слишком удачен. Для измерения производительности при выполнении вычислений с плавающей запятой (точкой) чуть позже была предложена единица FLOPS (Floating point Operations Per Second), но она по определению узкоспециальная, так как в некоторых системах операции с плавающей запятой просто не используются.
Другой аналогичный показатель быстродействия процессора — время выполнения коротких (быстрых) операций. Для примера в таблице 3.1 представлены показатели быстродействия нескольких 8-разрядных и 16-разрядных процессоров. В настоящее время этот показатель практически не используется, как и MIPS.
Время выполнения команд — важный, но далеко не единственный фактор, определяющий быстродействие. Большое значение имеет также структура системы команд процессора. Например, некоторым процессорам для выполнения какой-то операции понадобится одна команда, а другим процессорам — несколько команд. Какие-то процессоры имеют систему команд, позволяющую быстро решать задачи одного типа, а какие-то — задачи другого типа. Важны и методы адресации, разрешенные в данном процессоре, и наличие сегментирования памяти, и способы взаимодействия процессора с устройствами ввода/вывода и т.д.
Существенно влияет на быстродействие системы в целом и то, как процессор «общается» с памятью команд и памятью данных, применяется ли совмещение выборки команд из памяти с выполнением ранее выбранных команд.
Таблица 3.1. Параметры некоторых процессоров. | ||||
Процессор | ||||
Фирма | Intel | Motorola | Motorola | Intel |
Разрядность | ||||
Количество команд | ||||
Тактовая частота, МГц | ||||
Время выполнения коротких операций, мкс | 1,3 | 0,5 | 0,4 |
Быстродействие системы в целом определяется также и разрядностью процессора. Например, 8-разрядный процессор будет медленнее пересылать и обрабатывать большие массивы данных, чем 16-разрядный процессор. Точно так же 16-разрядный процессор будет значительно медленнее работать с большими числами (большими, чем 65536), чем 32-разрядный процессор.
При высокой сложности решаемых задач быстродействие системы зависит и от общего объема системной памяти. Ведь если системной памяти мало, системе приходится сохранять данные во внешней памяти (например, на магнитном диске), а это очень сильно (на несколько порядков) замедляет работу. Так что разрядность шины адреса процессора тоже важна.
Поэтому количественные показатели производительности процессоров очень условны, они лишь косвенно характеризуют быстродействие системы на базе этого процессора. Тем не менее, некоторые производители предлагают количественные показатели для своих процессоров, которые характеризуют время выполнения специально составленных тестовых программ, содержащих самые различные команды в тех или иных соотношениях.
Так, для сравнения производительности 32-разрядных процессоров фирма Intel, производящая процессоры для персональных компьютеров, в 1992 году предложила свою единицу измерения iCOMP Index (Intel COmparative Microprocessor Performance). Для вычисления этого показателя используется смесь 16- и 32-битных целочисленных команд, команд с плавающей точкой, команд обработки графики и видео. В качестве базового взят процессор i486SX-25, чей индекс принят равным 100. В Таблице 3.2 приведены индексы iCOMP для некоторых процессоров фирмы Intel. Как видно из таблицы, за счет более развитой архитектуры процессоры семейства 486 всегда быстрее процессоров семейства 386, а любой Pentium быстрее любого процессора из семейства 486. Тактовая частота (указана в таблице через черточку) определяет производительность только в пределах одного семейства. В 1996 году разработчиками Intel был предложен другой показатель — iCOMP Index 2.0, для вычисления которого не используются 16-разрядные команды, зато введен мультимедийный тест, а за базу взят Pentium-120, чей индекс принят равным 100. В таблице 3.3 представлены эти показатели для некоторых типов процессоров Intel.
При этом надо учитывать, что измерения проводятся в составе системы, настроенной на максимальное быстродействие именно данных процессоров, и только самой фирмой Intel.
Ценность этих показателей и всех им подобных не слишком велика. Для конкретного компьютера и разных процессоров величина показателя может предоставить вполне объективные данные, позволяющие оценить, например, целесообразность замены процессора на более мощный. Но усредненность показателей iCOMP не позволяет точно сказать, как будет себя вести процессор в различных задачах, которые ориентированы на преимущественное использование разных типов команд.
Таблица 3.2. Индексы производительности iCOMP. | |||
i486SX-25 | i486DX4-100 | ||
i386DX-33 | Pentium-60 | ||
i486SX-33 | Pentium-100 | ||
i486DX2-66 | Pentium-133 |
Таблица 3.3. Индексы производительности iCOMP Index 2.0. | |||
Pentium-100 | Pentium MMX-166 | ||
Pentium-120 | Pentium MMX-233 | ||
Pentium-150 | Pentium Pro-200 | ||
Pentium-200 | Pentium II-266 |
Точная оценка быстродействия процессора возможна только в составе конкретной системы при решении определенной задачи. Но все перечисленные здесь факторы можно и нужно учитывать при выборе процессора. А количественные показатели помогают сделать выбор.