Для сравнения производительности процессоров применяются различные способы измерения. Для сравнения процессоров с одинаковой архитектурой (или близких по системе команд и совпадающих по разрядности операндов) применялся показатель, равный усредненному числу операций, выполняемых за единицу времени. Чтобы по возможности не привязываться к быстродействию памяти, операции обычно подразумевали регистровые операнды. На таком принципе построена единица измерения MIPS
(MegaInstructionPerSecond), означающая число миллионов выполненных инструкций за секунду. Во времена процессоров 80/86 и 80/26 их производительность (вместе с указанием типа) достаточно четко характеризовалась тактовой частотой. В последующих моделях процессоров стали появляться довольно значительные изменения архитектуры, в результате которых тактовая частота перестала быть почти единственным фактором, определяющим производительность.
Для измерения производительности при выполнении вычислений с плавающей точкой вместо единицы MIPS применяется FLOPS
(FLoatingpointOperationsPerSecond) со всеми возможными десятичными приставками – MFLOPS, GFLOPS, TFLOPS…
Для сравнения производительности 32-битных процессоров с архитектурой х86 фирма Intelв 1992 году предложила свою единицу измерения: iCOMP
Index
(IntelCOmparativeMicroprocessorPerformance). Эти измерения позволяют дать конечному пользователю упрощенный способ определения относительной мощности конкретного процессора. Для определения производительности определяется скорость выполнения определенной смеси 16- и 32- битных операций 4-ч категорий: целочисленных, с плавающей точкой, скорость обработки графики и видео. Измерения проводятся при установке процессора в системную плату, оптимальную для его архитектуры. Полученные относительные скорости входят в общий показатель с определенными весовыми коэффициентами. В качестве базового процессора, по отношению к которому определяются относительные скорости, был принят i486SX-25, его индекс равен 100.
i386SX-20 | 32 | i486DX2-50 | 231 |
i386SX-25 | 39 | i486DX-50 | 249 |
i386DX-25 | 49 | i486DX2-66 | 297 |
i386SX-33 | 56 | Pentium 60 МГц | 510 |
i386DX-33 | 68 | Pentium 66МГц | 567 |
i486SX-20 | 78 | Pentium 75МГц | 610 |
i486SX-25
|
100
|
Pentium 90 МГц | 735 |
i486DX-25 | 122 | Pentium 100 МГц | 815 |
i486SX-33 | 136 | Pentium 120 МГц | 1000 |
i486DX-33 | 166 | Pentium 133МГц | 1110 |
Таблица 1:
Индексы производительности iCOMP Index
В 1996 году была введена новая единица: iCOMPIndex 2.0, отличающаяся набором показателей и весовыми коэффициентами, а также выбором базового процессора. Им теперь стал Pentium 120 Мгц, принятый в качестве процессора начального уровня (по прежней шкале его производительность составляла 1000 единиц). Значения индекса iCOMP 2.0 нельзя сравнивать со значениями, полученными при оценке с использованием более ранних версий iCOMP, так как использовались разные наборы тестов.
Появление нового показателя вызвано общей тенденцией преобладающего применения 32-битных операций, в результате чего из тестовой смеси исключили 16-битные инструкции.
Тип приложения
|
iCOMP Index
|
iCOMP Index 2.0
|
32-битное | 30 % | 100 % |
16-битное | 70 % | 0 % |
Таблица 2:
Соотношение 16 и 32 битных приложений в iCOMP
Index
и iCOMP
Index
2.0
Существуют три основные тенденции развития рынка и роста производительности, которые нашли свое отражение в формуле расчета производительности.
1. Развитие современных эталонных тестов, которые наилучшим образом отражают реальную работу популярных приложений.
2. Ускорение перехода к 32-битным операционным системам и приложениям на настольных системах.
3. Внедрение средств мультимедиа, телекоммуникаций и 3-мерной графики.
Значения индекса iCOMP 2.0 основаны на результатах оценки производительности процессора при выполнении целочисленных операций, операций с плавающей запятой, обработки мультимедиа. В свою очередь, оценка производительности операций с мультимедиа складывается из четырех компонентов - производительности аудиосистемы, производительности видеосистемы, производительности системы обработки изображений и производительности трехмерной графики.
В общем виде формула подсчета индекса представлена ниже:
Индекс iCOMP 2.0 дает простую относительную меру производительности. Это не эталонный тест, а совокупность результатов эталонных тестов, использованных для вычисления индекса относительной производительности процессоров. Индекс измеряет производительность на традиционных и “тяжелых” (high-end) деловых приложениях, используя тесты CINTи CFP95 от SPEC, CPUmark32 от Ziff-Davisи NortonSI32 от фирмы Symantec.
В таблице представлена информация о категории тестов, их весовых коэффициентах и значениях .
i
|
Категория
|
Тест
|
Коэффициент
,% |
Коэффициент
|
1 | Деловые приложения | CPUmark32 | 40 | 270 |
2 | High-end | Norton SI32 | 15 | 32.4 |
3 | Целочисленные вычисления | SPECint_base95 | 20 | 3.55 |
4 | Вычисления с плавающей точкой | SPECfp_base95 | 5 | 2.19 |
5 | Мультимедиа | Intel Media Benchmark | 20 | 99.87 |
Таблица 3:
Эталонные значения в
iCOMP
Index
2.0
Приведем таблицу, содержащую значения всех тестов, включенных в iCOMPIndex 2.0, для процессора IntelPentiumProcessor 200 MHz.
Тест
|
CPUmark32 | Norton SI32 | SPECint_ base95 |
SPECfp_ base95 |
Intel Media Benchmark |
BMi
|
382 | 43.8 | 5.00 | 2.98 | 153.06 |
Таблица 4:
Результаты тестов для
Pentium
Processor
200
MHz
Используя формулу расчета индекса iCOMPIndex 2.0, значения из таблицы 3 и таблицы 4, самостоятельно получим индекс производительности iCOMPIndex 2.0 для процессора PentiumProcessor 200 MHz.
Вычислив это выражение, получим 142,3775364. После округления, iCOMPIndex 2.0 для процессора PentiumProcessor 200 MHz равен 142.
Сравним этот ответ с табличным, приведенным в таблице 5.
Тип процессора
|
iCOMP Index 2.0
|
Pentium®Pro Processor 200MHz | 220 |
PentiumPro Processor 180MHz | 197 |
PentiumPro Processor 150MHz | 168 |
PentiumProcessor 200MHz | 142 |
PentiumProcessor 166MHz | 127 |
PentiumProcessor 150MHz | 114 |
PentiumProcessor 133MHz | 111 |
PentiumProcessor 120MHz | 100 |
PentiumProcessor 100MHz | 90 |
PentiumProcessor 90MHz | 81 |
PentiumProcessor 75MHz | 67 |
Таблица 5:
Индексы производительности
iCOMP
Index
2.0
Тесты производительности при выполнении целочисленных операций эмулируют работу пользователей с повседневными типовыми приложениями типа текстовых процессоров, электронных таблиц, финансовых, презентационных программ и др.
Традиционные наборы тестовых программ не были разработаны для измерения производительности систем при работе с современными приложениями, богатыми графикой, звуком и видео. Наборы тестовых мультимедиа-программ были специально разработа
Приложения, применяющие технику трехмерной визуализации, такие как игры, все чаще используют улучшенную производительность операций с плавающей точкой, чтобы поддерживать насыщенные текстуры и расширенные эффекеты освещения. Производительность операций с плавающей точкой - критический фактор для прикладных программ автоматизированного рабочего места типа CAD (CAD - Computer Aided Design).
Рассмотрим подробно тесты, составляющие iCOMPINDEX 2.0.
Производительность процессора Pentium при выполнении действий с целыми 32-разрядными числами в среде Windows иллюстрируется с помощью обычно используемых эталонных тестов Windows. Эти эталонные тесты демонстрируют высокие потенциальные возможности процессора Pentium корпорации Intel, когда на нем выполняются 32-разрядные приложения.
CPUmark32* представляет собой работающий в среде Windows 32-разрядный эталонный тест, созданный в Ziff-Davis Labs. Этот тест был разработан для измерения потенциальной производительности при выполнении будущих 32-разрядных приложений.
Norton SI32* является 32-разрядным тестом, работающим под Windows 95. Он предназначен для сравнения производительностей систем однотипной конфигурации (центральный процессор, кэш второго уровня и оперативная память) при выполнении 32-разрядных приложений. Этот эталонный тест является составной частью модуля SYSINFO*, входящего в состав Norton Utilities* for Windows 95.
На рис.1 и 2 показана производительность процессоров Pentium корпорации Intel, при выполнении этих двух популярных 32-разрядных тестов.
Рисунок 1:
CPUmark32
Рисунок 2:
Norton
SI
32
Эталонный тест SPEC CPU95* является программным продуктом, разработанным корпорацией Standard Performance Evaluation Corp. (SPEC) — некоммерческим объединением, в которое вошли производители компьютеров, системные интеграторы, университеты, издатели, исследовательские организации и консультанты со всего мира.
Этот эталонный тест был разработан для проведения измерений производительности, чтобы можно было сравнивать скорость работы различных компьютерных систем при интенсивных вычислениях. SPEC95 состоит из двух комплектов эталонных тестов: CINT95* для измерения и сравнения производительности при интенсивных целочисленных вычислениях и CFP95* для измерения и сравнения производительности при интенсивных вычислениях с плавающей точкой. Эти два комплекта позволяют проводить на компонентном уровне эталонны тесты, измеряющие производительность центрального процессора, архитектуры памяти и компилятора.
Эталонные тесты SPEC выбираются из существующих прикладных программ и исходные коды эталонных тестов могут работать на самых разных компьютерных платформах. Каждый эталонный тест проверяется на разных платформах, что позволяет получить объективные результаты оценки производительности для конкурирующих программных и аппаратных систем.
Комплект CINT95, написанный на языке С, содержит восемь целочисленных эталонных тестов, требующих интенсивных процессорных вычислений. Он используется для измерения и подсчета следующих метрик:
· SPECint95 — вычисление среднего геометрического восьми нормированных значений (по одному на каждый целочисленный эталонный тест), когда для каждого эталонный теста была проведена компиляция с глубокой оптимизацией.
· SPECint_base95* — вычисление среднего геометрического восьми нормированных значений, когда для каждого эталонный теста была проведена компиляция с обычной оптимизацией.
Комплект CFP95, написанный на языке Фортран*, содержит десять эталонных тестов, требующих интенсивных процессорных вычислений с плавающей точкой. Он используется для измерения и подсчета следующих метрик:
· SPECfp95 — вычисление среднего геометрического десяти нормированных значений (по одному на каждый эталонный тест с плавающей точкой), когда для каждого эталонный теста была проведена компиляция с глубокой оптимизацией.
· SPECfp_base95* — вычисление среднего геометрического десяти нормированных значений, когда для каждого эталонный теста была проведена компиляция с обычной оптимизацией.
Так как подавляющее количество современных коммерческих приложений создано на основе программ, использующих интенсивные целочисленные вычисления, то смесь инструкций, используемая SPECint95, в наибольшей степени подходит для коммерческих приложений и, таким образом, является существенно более эффективным эталонным тестом, чем SPECfp95, для предсказания производительности процессора при работе с 32-разрядными приложениями для сферы бизнеса. На SPECint95 производительность разработанного Intel процессора Pentium с технологией MMX и тактовой частотой 200 МГц оказалась на 26 % выше, чем производительность такого же процессора, но без технологии MMX. Данные о производительности приведены на нижеследующих рисунках. Рисунки 3 и 4 показывают производительности процессоров на тестах SPECint95 и SPECfp95, когда в конфигурациях присутствует кэш второго уровня («кэш L2») объемом 512 Кб.
Рисунок 3:
CPECint
95
Рисунок 4:
SPECfp
95
Распространение мультимедиа-приложений происходит весьма быстро. Корпорация Intel разработала Intel Media Benchmark (комплексный тест графики и мультимедиа), поскольку в настоящее время не существует соответствующих промышленных эталонных тестов для измерения производительности систем мультимедиа. Intel Media Benchmark измеряет производительность процессоров, выполняющих алгоритмы, реализованные в системах мультимедиа. Этот тест содержит программы воспроизведения аудио и видео, обработки изображений, оцифровки звука с разными частотами дискретизации, а также программы работы с трехмерной геометрией.
Согласно прогнозу, наиболее вероятным применением микропроцессора в видеоприложениях будет программное выполнение декомпрессии видео данных. Одним из таких алгоритмов, распространенность которого постоянно возрастает, является алгоритм, реализующий промышленный стандарт MPEG1. Этот алгоритм используется в популярной технологии декомпрессии XING и в условно-бесплатном программном обеспечении Berkeley MPEG1. Используемая в Intel Media Benchmark компонента воспроизведения видео реализует алгоритм декомпрессии, описанный в MPEG1 (международный стандарт ISO11172-2). Этот эталонный тест оценивает влияние процессора на процесс воспроизведение видео.
Компонента, относящаяся к аудио, основана на определении алгоритма декомпрессии звука, приведенного в описании MPEG1 (международный стандарт ISO11172-3). Эта компонента Intel Media Benchmark выполняет декомпрессию и воспроизведение стереофонического аудио клипа. В состав аудио компоненты входят также оцифровка звука с разными частотами дискретизации, спецэффекты и микширование стереозвука.
Компонента обработки изображений применяет дискретные фильтры к растровым изображениям с 24-разрядным кодированием цвета. В состав этих фильтров входят: прямоугольный фильтр, который используют для реализации таких фильтров, как растушевка и тиснение по методу Гаусса; функция сопряжения изображений, используемая для объединения двух изображений в одно, и функция преобразования цветового пространства, используемая для изменения яркости изображения.
Трехмерная компонента Intel Media Benchmark основана на пакете Direct3D* и на геометрической программе из эталонного теста OpenGL* 3D Triangle. Эти тесты используются для измерения геометрической составляющей трехмерных вычислений. При этом не измеряется скорость растеризации, поскольку Intel полагает, что в течение следующих двух или трех лет растеризация будет реализовываться в плате графического ускорителя. Следовательно, скорость растеризации не будет зависеть от центрального процессора, поэтому ее измерение не будет иметь отношение к производительности процессора.
Рисунок 5:
Intel
Media
Benchmark
Приведу в пример конфигурацию системы, на которой тестировались процессоры для определения индекса iCOMPIndex 2.0. Следует отметить, что конфигурация систем для тестов SPEC95 и Intel Media Benchmark немного отличались от приведенной ниже.
Рисунок 6:
Системная конфигурация
В заключение хочу сказать, что индекс iCOMPотражает условную производительность процессора, но не системы, в которую он установлен. Для его определения процессор устанавливается в систему с наивысшей производительностью, допускающую его применение. Следовательно, тесты, проведенные на различных системных платах, дадут несовпадающие результаты. Но для конкретной системной платы производительность, естественно, будет тем выше, чем выше индекс процессора. Данные индексы уместно рассматривать для процессоров, предназначенных для обычных “настольных” применений – к серверным применениям больше подходят иные тесты, направленные на интенсивные операции ввода-вывода. И, конечно же, эти индексы не следует рассматривать как альтернативу другим тестам и указанию тактовой частоты ядра, они являются одним из параметров сложной системы оценки производительности.