Огляд процесора Intel Pentium III 500 МГц
Всі ми безупинно рахували дні до кінця лютого. Саме на цей термін був запланований вихід нових процесорів Intel Pentium III і AMD K6-III від двох провідних виробників. Ми чекали чергової битви гігантів за місце в нашому комп'ютері. Цей інтерес підігрівався всілякими рекламними ходами, що робляться то однією компанією, то інший. І ось, на дворі вже березень, а почуття задоволення від перегляду битви:) як не було, так і немає. AMD анонсував продукт, який, по суті, ще не продається, тому ми можемо реально купити в даний момент тільки Intel Pentium III. Але й тут наші надії виявилися дещо затьмарені дійсністю.
Що ж таке мало бути Pentium III? Ще півроку тому ми представляли Katmai, а саме так звучало кодове ім'я Pentium III, як Pentium II з 64 Кбайт L1-кеша, що працює на частоті системної шини 133 МГц і щосили використовує AGP 4x за допомогою нового чіпсета Camino, а також посилений набором з 70 нових SIMD-інструкцій, що дозволяють сильно прискорити як 3D-графіку, так і багато хто інші програми, пов'язані з обробкою зображень чи мови.
Що ж ми отримали? Не вдаючись у деталі, фактично за маскою Pentium III зараз переховується давно повсюдно використовується Pentium II, але доповнений новими SIMD-інструкціями. І це все. Багато це чи мало, спробуємо розібратися. Отже, Intel Pentium III:
чіп, виготовлений за технологією 0.25 мкм;
ядро Katmai, що представляє собою Deschutes плюс модуль SSE;
працює в Slot-1-системних платах, але вимагає оновлення BIOS;
L1-кеш - 32Кбайта (16 - на дані, 16 - на інструкції);
L2-кеш - 512Кбайт. Розташований поза процесорного ядра, але в процесорному картриджі, і працює на половинній частоті ядра;
процесорний картридж SECC2;
один конвеєр SSE, що працює з набором з 70 інструкцій, що оперують чотирма парами дійсних чисел одинарної точності одночасно;
напруга 2В;
частоти - 450 і 500 МГц (системна шина - 100 МГц);
SSE підтримується DirectX 6.1 і вище.
Насправді, говорити що в ядрі Katmai, крім SSE, ніяких змін не сталося, не зовсім вірно. Навіть якщо закрити очі на появу унікального номера процесора, необхідно все ж таки додати, що набір команд MMX в Pentium III розширений ще парою команд, а також удосконалено механізм потокового доступу до пам'яті. Однак ці зміни не дають ніяких особливих переваг в продуктивності, а носять скоріше косметичний характер.
Ми ж турбуватися питанням практичного функціонування процесора Intel Pentium III. По-перше, необхідно мати на увазі, що для запуску системи на новому процесорі нова системна плата не вимагається. Потрібна всього-на-всього оновлена версія BIOS, яку, до речі, запропонували вже практично всі виробники системних плат. BIOS повинен вміти правильно розпізнавати нове ядро і мати відповідний Мікропрограма. Що стосується напруги живлення Pentium III, то, всупереч всім очікуванням, воно поки виявилося старим - 2 Вольта. Однак для підтримки майбутніх моделей Pentium III все ж потрібна материнська плата з живленням від 1.8 В - саме таку напругу незабаром будуть вимагати ці процесори.
Новий процесор, як і всі попередні Pentium II, працює на частоті системної шини 100 МГц. Множення в нього за старою доброю традицією зафіксовано, тому розгін можливий тільки підвищенням частоти FSB.
Продуктивність
Тепер про тестах. Нами було досліджено швидкодію процесора Intel Pentium III 500 МГц у всіх стандартних додатках. Так як в основному ядрі Katmai в порівнянні c Deschutes практично ніяких змін немає, то й по швидкості Pentium III 500 працює в неспеціальних завданнях приблизно так само, як працював би Pentium II 500.
У складі тестової системи використовувалися такі комплектуючі:
процесори Intel Pentium III 500, Intel Pentium II 450 МГц і Intel Celeron 300A;
системна плата Chaintech 6BTM, BIOS версії 225;
відеокарта ASUS V3400TNT (на чіпсеті Nvidia Riva TNT) з драйверами Detonator;
звукова карта на чіпі Ensoniq ES1370;
жорсткий диск IBM Titan DTTA 371010;
128 Мбайт SEC PC-100 SDRAM;
операційна система Windows98;
у всіх 3D-тестах було встановлено дозвіл 800x600x16.
Результати:
Як видно, Pentium III в звичайних офісних додатках не дає ніякої переваги, якщо не брати до уваги додаткові 50 МГц. А якщо врахувати, що при роботі в Word або Exсel, зазвичай програма чекає вводу користувача, а не навпаки, то сенсу в застосуванні такого потужного процесора тут немає ніякого.
З цього тесту, хоч він і не використовує нових SIMD-інструкцій, Pentium III працює трохи швидше Pentium II. Мабуть, це відбувається саме завдяки удосконаленому поточному доступу до пам'яті.
Арифметичний співпроцесор в Pentium III в порівнянні з Pentium II залишився без змін, що й підтверджує даний тест. Приріст продуктивності йде тільки за рахунок додаткових мегагерц.
Тепер подивимося, як веде себе в неоптимізованих ігрових додатках тривимірна графіка.
Тест проводився за допомогою демо massive1. Як і слід було очікувати, нічого особливого. Без оптимізації і використання нових інструкцій гра практично не прискорилася.
Це вже цікавіше. Хоч ми і запускали цей тест під DirectX 6.1, оптимізованими під SSE, ніякого приросту немає. Пояснюється це просто - 3Dmark99, як і переважна більшість сучасних ігор, не використовує ту частину DirectX, в якій можуть бути застосовані нові SIMD інструкції. Таку ситуацію ми вже спостерігали з 3DNow! і процесором AMD K6-2. Мало домовитися з Microsoft про підтримку нових інструкцій в DirectX - треба ще або переконати розробників використовувати нові можливості у своїх програмах, або змусити їх задіяти DirectX Lighting and Transformation Engine. Проте весь попередній досвід показує, що розробники програм більш охоче пишуть власні алгоритми розрахунку освітленості і трансформації, що використовують для цієї мети DirectX. Причина такого підходу полягає в невисокій швидкості і невеликих можливостях Lighting and Transformation Engine. У результаті на даний момент він задіяний лише в 3D WinBench. :)
Однак незважаючи на те, що в тестах, наведених вище, ми не бачили практично ніяких переваг Pentium III перед попередниками, це аж ніяк не означає, що процесор не вдався. Чому - стане зрозуміло нижче. Випускаючи Pentium III, Intel і не обіцяв, що той же Word почне працювати швидше, він просто відкрив нові можливості для розробників.
SECC2
Перш ніж перейти до центровий частині даного викладу, огляду SSE, варто подивитися на що, в першу чергу, звертає увагу будь-яка людина, що бере в руки Pentium III.
Так, це новий процесорний картридж - SECC2.
Кілька років тому, переходячи до випуску Pentium II, Intel сподівався розправитися з конкурентами, помістивши свій процесор у нову упаковку і не ліцензували її нікому. Однак життя склалося по-іншому. Результатом цього кроку стало те, що ринок дешевих систем корпорацією був втрачений, і зараз їй доводиться терміново надолужувати згаяне. У тому числі і виготовлення процесорного картриджа вносить свій внесок у підсумкову вартість процесора. Саме тому для здешевлення власної продукції на виробах, орієнтованих на нижній сегмент ринку, таких як Celeron, картридж взагалі відсутнє.
SECC2 - таке собі проміжна ланка між стандартним SECC і його повною відсутністю. SECC2-картридж позбувся своєї передньої половинки, тієї самої, на яку навішується кулер. У цьому є і ще один плюс. Тепер радіатор, обдуваються вентилятором, стикається не з залізною пластиною, притиснутою до ядра, а безпосередньо з мікросхемою. Таким чином, відвід тепла в SECC2 поставлено краще. Непрямим доказом цього є той факт, що наданий нам зразок Pentium III обладнаний тільки голчастим радіатором без вентилятора. При цьому він нормально функціонував не лише на штатній частоті 500 МГц, але і будучи розігнаним до 560 Мгц (5х112 Мгц).
Але і це ще не все. Замість старого покриття кристала Plastic Land Grid Array (PLGA) тепер використовується новий органічний сплав на основі міді - Organic Land Grid Array (OLGA). Таким чином, і саме ядро нового процесора отримав іншу особу. Результатом цього стало його зменшення, з одного боку, та поліпшення охолодження за рахунок кращої теплопровідності, з іншого. Так виглядає тепер Pentium III без корпусу:
Номер
Другим нововведенням, що наробив, напевно, найбільше шуму, стало присвоєння кожному процесору Pentium III серійного номера - унікального ідентифікатора. Задум був непоганий. Будь-який процесор можна було однозначно ідентифікувати, а отже, легко вирішити проблеми з аутентифікації користувачів і захистом процесорів від розгону. Завдяки спеціальному програмному забезпеченню цей номер також міг би бути отриманий віддалено, через інтернет.
Саме тут маркетинг і спіткнувся. Як тільки було сказано, що номер можна отримати дистанційно, преса відразу намалювала похмуру картину відстеження користувачів через інтернет, і покотилася хвиля невдоволення.
Однак панікувати зарано. Якщо подивитися об'єктивно, то для того, щоб хтось зміг через мережу подивитися номер процесора, необхідно:
щоб він був дозволений. Intel пропонує спеціальну утиліту для блокування номера. Крім того, всі нові версії BIOS, що підтримують Pentium III, також дозволяють блокувати цей номер через Setup;
щоб на комп'ютері користувача була запущена спеціальна програма, що передає цей номер. Передбачається, що хтось, наприклад web-сайт, повинен запустити на призначеному для користувача ПК цю програму.
Так що я не схильний розцінювати введення серійного номера, як спробу Intel вторгнутися в наше приватне життя. Більш того, вже майже 10 років, як все що випускаються жорсткі диски мають серійні номери. І їх також можна дізнатися. А це чомусь не викликає ні в кого ніяких питань.
Так що введення номера - швидше за все-таки позитивний, чим негативний, крок.
SSE
Тепер про найголовніше. Про те, що раніше називалося MMX2, потім - KNI, а зараз називається SSE (Streaming SIMD Extensions). У Pentium III реалізовано 70 нових SIMD-інструкцій, що оперують зі спеціальними 128-бітними регістрами XMM0-XMM7. Кожен з цих регістрів зберігає чотири речових числа одинарної точності. Таким чином, виконуючи операцію над двома регістрами, SSE фактично оперує чотирма парами чисел. Тобто завдяки цьому процесор може виконувати до 4-х операцій одночасно. Власне, SIMD і розшифровується як Single Instruction Multiply Data (одна інструкція - багато даних).
Однак для виконання чотирьох операцій "одним махом" розробник програми повинен використовувати спеціальні команди, а також подбати про приміщення і отриманні даних з чотиримісних регістрів, тому для використання всіх обчислювальних потужностей Pentium III необхідна цілеспрямована оптимізація.
Тобто разом з Pentium III, ми отримали ще один блок, подібний MMX, тільки оперує з дійсними числами. Це нововведення може виявитися дуже корисним в широкому ряді програм:
тривимірна графіка і моделювання, розрахунок освітленості c використанням обчислень з плаваючою комою;
обробка сигналів та моделювання процесів з широким діапазоном зміни параметрів (обчислення з плаваючою комою);
генерація тривимірних зображень в програмах реального часу, що не використовують цілочисельний код;
алгоритми кодування та декодування відеосигналу, що обробляють дані блоками;
чисельні алгоритми фільтрації, що працюють з потоками даних.
Однак чому ж Intel назвав процесор новим іменем, відмовившись від Pentium II SSE (за аналогією з Pentium MMX)? Невже виробник бачить у SSE якісний крок? Мабуть, немає. Справа тут в маркетингу. Приписавши до назви абревіатуру, Intel відкрито показав би, що SSE - головне нововведення в їх процесорі. І тоді, слідом за ними, всі конкуренти також змогли б оголосити про підтримку SSE - основне маркетингове перевага була б загублено. Так саме і відбулося з ММХ. Тому Pentium II SSE називається Pentium III - тепер конкурентам доведеться говорити про "сумісності", що, по суті, для них більш принизливо. Пам'ятаєте, як підозріло змінилася цифра 3 на III в назві AMD K6-III? ;)
Тепер подивимося, що ж дають нові SIMD-інструкції додаткам, оптимізованими під них. Врахувавши сумний досвід MMX, коли нові команди з'явилися без відповідної підтримки з боку софтверних девелоперів (що призвело, зрештою, до своєрідного бойкоту нових інструкцій), Intel на цей раз, задовго до офіційного виходу нового процесора, розіслав програмістам дослідні екземпляри процесора для оптимізації . У підсумку, ми вже зараз маємо деяку кількість додатків, оптимізованих під SSE.
У цьому тесті виконується стандартна процедура компресії в MPEG-1, відтворення файлу цього формату, обробка зображення - поворот, злиття двох зображень і кольороподіл, а також обробка звуку. Виконання всіх цих завдань може бути оптимізовано для SSE, результат цієї оптимізації ми бачимо на діаграмі - приріст щодо Pentium II складає близько 40-50%.
Тепер - про 3D-графіки та іграх. Тут розмова про оптимізацію повинен бути окремий. Справа в тому, що оптимізувати 3D-гру під SIMD-інструкції можна трьома шляхами:
оптимізацією на рівні відеодрайверів;
оптимізацією на рівні DirectX. При цьому передбачається, що додаток повинен використовувати оптимізовані функції DirectX;
оптимізацією самого додатка.
Що стосується оптимізації драйверів, то вже практично всі виробники відеокарт оголосили про свій намір випустити такі драйвера. Деякі, наприклад Nvidia, вже мають драйвера з підтримкою SSE. Власне, ми на них і проводили наші тести. Проте, як видно зараз по тесту Quake2, і як ми пам'ятаємо з досвіду 3DNow!, Толку від такої оптимізації немає. Ніякого приросту в швидкості не видно.
Що стосується DirectX, то у версії 6.1 (а значить, і у всіх подальших) оптимізація під SSE є. Зміна зазнав Lighting and Transformation Engine, тобто набір функцій для перетворення 3D-сцени і розрахунку освітлень. Результат від такої оптимізації може бути відчутним, якщо додаток користується цими функціями, а не вважає все само. Для оцінки приросту продуктивності від оптимізації DirectX досить подивитися на результати тесту 3D Winbench 99 Lighting and Transformation.
Тут є приріст від використання SSE порядку 80-90%. Це як раз той максимум, який можна отримати при використанні оптимізованого DirectX. Проте ця можливість так і залишається теоретичної - DirectX Lighting and Transformation Engine, також як як і Retained Mode, практично ніякі програми не використовують. Причини, як вже зазначалося вище, в низькому швидкодії і мізерних можливостях. Правда, в DirectX 7.0 ситуація обіцяє виправиться - Microsoft повідомив, що працює над удосконаленням власного движка. Таким чином, ніде, крім як у 3D Winbench, результатів оптимізації DirectX не видно.
Звернемося тепер до оптимізованим програмами. Найвідомішою на даний момент є гра Rage Dispatched, намічена до виходу у другому кварталі 99-го року. Сцени цієї гри мають до 55000 трикутників і кілька джерел світла. На даний момент така деталізація ніде не використовується через нестачу обчислювальних потужностей сучасних процесорів. Під час тестування з процесором Intel Pentium II 450 число fps в дозволі 800х600х16 падало нижче за позначку 10fps, і була помітна нерівномірність руху. З процесором ж Pentium III fps в цьому режимі не падає нижче 25. Більш детальні результати наведено нижче:
Як видно, приріст від використання нових SIMD-інструкцій становить майже 50%. Тобто за умови грамотної оптимізації під Pentium III ігромани можуть отримати непоганий приріст. Справа - за розробниками ігор.
Ще одним тестом, в якому використовується оптимізація під новий процесор, є нова версія 3Dmark99 MAX.
На цьому синтетичному тесті, правда, заснованому на реальному движку, приріст від використання SSE становить 20%. Тут, також як і в Dispatched, розробники відмовилися від застосування оптимізованих функцій DirectX. Більш низький, ніж у Dispatchеd, приріст обумовлений саме тим, що, разом з розрахунком і відображенням 3D-сцен, 3DМark тестує і включає в загальний індекс і такі характеристики, як пропускна здатність пам'яті відеокарти, зовсім не залежать від CPU.
Спеціально для оцінки ефективності процесора в 3D-іграх, 3Dmark99 MAX пропонує індекс CPU 3DМark, прораховують 3D-сцени, але не виводить їх не екран. Таким чином, виходить результат, що залежить тільки від можливостей процесора з обробки 3D-графіки і від пропускної спроможності основної пам'яті. У даному випадку ми бачимо, що SSE дає 60-70% приріст. Що ж, непогано. Це саме той теоретичний максимум, який можна отримати від використання нового Pentium III в іграх. Відповідність отриманих результатів результатами 3D Winbench 99 Lighting and Transformation підтверджує їх правильність.
Здається, до цього моменту ви повинні володіти практично повною інформацією про новий процесорі. Незадоволеними можуть залишитися лише шанувальники AMD. Тому для повноти викладу спробуємо підняти питання про порівняння технологій 3DNow! і SSE. Чисто теоретично, SSE оперує з 128-бітними регістрами, 3DNow! - З 64-бітними. Це означає, що SSE-конвеєр процесора Pentium III за один такт може обробити 4 пари значень, у той час як 3DNow!-Конвеєр - тільки 2 пари. Однак у Pentium III - всього один SSE-конвеєр, у той час як у K6-2 та K6-3 їх два. Тобто за один такт обидва процесора можуть обробити 4 пари дійсних чисел одинарної точності. Але в K6-2 та K6-3 конвеєри влаштовані таким чином, що вони не можуть виконувати однакові операції одночасно. Хоча, на мій погляд, це обмеження неістотно.
Таким чином, так як KNI використовує вісім 128-бітових регістрів замість восьми 64-бітових в 3DNow!, у Pentium III виходить майже в два рази більше регістрів для ефективної оптимізації. І це, швидше за все, єдине значуще перевагу KNI. Однак наявність у два рази великих регістрів, це не теж саме, що наявність у два рази краще соптімізірованного коду. Більш ніж трикратне перевагу SSE в числі інструкцій (70 проти 21) також малоістотні - всі найбільш значущі для 3D-обробки операції 3DNow! виконує в SIMD-режимі.
Резюме таке: розібратися, що краще, виходячи з теоретичних міркувань, важко, оскільки можливості приблизно однакові. Тим більше, немає інформації про час, що витрачається процесорами на різні команди. Так що, перейдемо до тестів. Процесор AMD K6-2 тестувався в аналогічній конфігурації на системній платі Chaintech 5AGM2.
В цілому, видно значне відставання AMD K6-2, однак, що стосується приросту від застосування SIMD-команд, то тут не все так однозначно.
"Мал, та хвацький!" - Тільки й залишається сказати відносно 3DNow!. Незважаючи на всі "але", на 64-бітові регістри і на меншу кількість команд, 3DNow! несподівано дає більший ефект при геометричній обробці і розрахунку освітленості. Причиною цього, за словами розробників програм, є те, що 3DNow! надає більшу гнучкість при роботі з невеликими обсягами даних. Все це стосується лише програмування ігор. В інших, неігрових додатках, співвідношення оброблюваних даних може бути зовсім іншим і розклад вийде зовсім не таким. І хоча отриманий результат вірний тільки в припущенні, що 3DMark99 MAX оптимізовано під обидва набори інструкцій однаково добре, "намухлевать" дворазове перевагу 3DNow! програмісти FutureMark навряд чи наважилися б. Тому, швидше за все, результат справедливий, принаймні якісно і для ігор. Але поки що у процесорів AMD не буде конвеєрного FPU (а в K7 він, начебто, обіцяється), говорити про їх перевагу в іграх просто смішно. Це, швидше за все, є ще однією причиною такої переваги 3DNow!, Багато в чому заміняє повільний арифметичний співпроцесор. Розробники намагаються перекласти частину роботи співпроцесора на 3DNow!. У Pentium III таких проблем немає, кожен процесорний блок зайнятий своєю справою і приріст від SSE в чистому вигляді менше. Отже, вся надія на те, що AMD K7, в якому AMD обіцяв-таки переробити FPU, все-таки стане об'єднанням всіх передових мікропроцесорних технологій.