Для порівняння продуктивності процесорів застосовуються різні способи вимірювання. Для порівняння процесорів з однаковою архітектурою (або близьких за системою команд і співпадаючих по розрядності операндів) застосовувався показник, що дорівнює усереднений числа операцій, що виконуються за одиницю часу. Щоб по можливості не прив'язуватися до швидкодії пам'яті, операції зазвичай мали на увазі регістрові операнди. На такому принципі побудована одиниця виміру MIPS (Mega Instruction Per Second), що означає кількість мільйонів виконаних інструкцій за секунду. За часів процесорів 80/86 і 80/26 їх продуктивність (разом із зазначенням типу) досить чітко характеризувалася тактовою частотою. У подальших моделях процесорів стали з'являтися досить значні зміни архітектури, в результаті яких тактова частота перестала бути майже єдиним чинником, що визначає продуктивність.
Для вимірювання продуктивності при виконанні обчислень з плаваючою точкою замість одиниці MIPS застосовується FLOPS (FLoating point Operations Per Second) з усіма можливими десятковими приставками - MFLOPS, GFLOPS, TFLOPS ...
Для порівняння продуктивності 32-бітових процесорів з архітектурою х86 фірма Intel в 1992 році запропонувала свою одиницю виміру: iCOMP Index (Intel COmparative Microprocessor Performance). Ці вимірювання дозволяють дати кінцевому користувачу спрощений спосіб визначення відносної потужності конкретного процесора. Для визначення продуктивності визначається швидкість виконання певної суміші 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 році була введена нова одиниця: iCOMP Index 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 і Norton SI32 від фірми 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
Наведемо таблицю, яка містить значення всіх тестів, включених до iCOMP Index 2.0, для процесора Intel Pentium Processor 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
Використовуючи формулу розрахунку індексу iCOMP Index 2.0, значення з таблиці 3 і таблиці 4, самостійно отримаємо індекс продуктивності iCOMP Index 2.0 для процесора Pentium Processor 200 MHz.
Обчисливши цей вираз, отримаємо 142,3775364. Після округлення, iCOMP Index 2.0 для процесора Pentium Processor 200 MHz дорівнює 142.
Порівняємо цю відповідь з табличним, наведених у таблиці 5.
Тип процесора
iCOMP Index 2.0
Pentium ® Pro Processor 200MHz
220
Pentium Pro Processor 180MHz
197
Pentium Pro Processor 150MHz
168
Pentium Processor 200MHz
142
Pentium Processor 166MHz
127
Pentium Processor 150MHz
114
Pentium Processor 133MHz
111
Pentium Processor 120MHz
100
Pentium Processor 100MHz
90
Pentium Processor 90MHz
81
Pentium Processor 75MHz
67
Таблиця 5: Індекси продуктивності iCOMP Index 2.0
Тести продуктивності при виконанні цілочисельних операцій емулюють роботу користувачів з повсякденними типовими додатками типу текстових процесорів, електронних таблиць, фінансових, презентаційних програм та ін
Традиційні набори тестових програм не були розроблені для виміру продуктивності систем при роботі з сучасними програмами, багатими графікою, звуком і відео. Набори тестових мультимедіа-програм були спеціально розроблені для емуляції роботи стандартного користувача з такими засобами, як відео MPEG1 і MPEG2, цифровий звук Dolby, файли у форматі AVI, обробка зображень або відео-конференції, а також з аналогічними програмами, насиченими різними даними.
Програми, які застосовують техніку тривимірної візуалізації, такі як ігри, все частіше використовують поліпшену продуктивність операцій з плаваючою точкою, щоб підтримувати насичені текстури і розширені еффекети освітлення. Продуктивність операцій з плаваючою точкою - критичний фактор для прикладних програм автоматизованого робочого місця типу CAD (CAD - Computer Aided Design).
Розглянемо докладно тести, складові iCOMP INDEX 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-розрядних тестів.
Малюнок 2: Norton SI32
Еталонний тест 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: CPECint95
Малюнок 4: SPECfp95
Розповсюдження мультимедіа-додатків відбувається дуже швидко. Корпорація 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
Наведу приклад конфігурацію системи, на якій тестувалися процесори для визначення індексу iCOMP Index 2.0. Слід зазначити, що конфігурація систем для тестів SPEC95 і Intel Media Benchmark трохи відрізнялися від наведеної нижче.
Малюнок 6: Системна конфігурація
На закінчення хочу сказати, що індекс iCOMP відображає умовну продуктивність процесора, але не системи, до якої він встановлений. Для його визначення процесор встановлюється в систему з найвищою продуктивністю, яка допускає його застосування. Отже, тести, проведені на різних системних платах, дадуть неспівпадаючі результати. Але для конкретної системної плати продуктивність, природно, буде тим вище, чим вище індекс процесора. Дані індекси доречно розглядати для процесорів, призначених для звичайних "настільних" застосувань - до серверних застосувань більше підходять інші тести, спрямовані на інтенсивні операції вводу-виводу. І, звичайно ж, ці індекси не слід розглядати як альтернативу іншим тестам і вказівкою тактової частоти ядра, вони є одним з параметрів складної системи оцінки продуктивності.