Intel Pentium III

Все мы непрерывно считали
дни до конца февраля. Как раз на этот срок был запланирован выход новых
процессоров 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 мкм; работает в Slot-1-системных платах,
но требует обновления BIOS; L2-кэш - 512Кбайт. Расположен вне процессорного
ядра, но в процессорном картридже, и работает на половинной частоте ядра;
один конвейер SSE,
работающий с набором из 70 инструкций, оперирующих четырьмя парами вещественных
чисел одинарной точности одновременно; 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; видеокарта ASUS V3400TNT (на чипсете Nvidia Riva TNT) с драйверами
Detonator; 128 Мбайт SEC PC-100
SDRAM; Как видно, 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 начнет работать быстрее, он просто открыл новые
возможности для разработчиков. Прежде чем перейти к центровой части
данного изложения, обзору SSE, стоит посмотреть на что, в первую очередь,
обращает внимание любой человек, берущий в руки Pentium III. Несколько лет назад, переходя к выпуску
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 лет, как все выпускаемые жесткие диски имеют серийные номера.
И их также можно узнать. А это почему-то не вызывает ни у кого никаких вопросов.
Теперь о самом главном. О том, что раньше называлось 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, только
оперирующий с вещественными числами. Это нововведение может оказаться очень
полезным в широком ряде приложений: обработка сигналов и моделирование процессов с широким диапазоном изменения
параметров (вычисления с плавающей запятой); алгоритмы
кодирования и декодирования видеосигнала, обрабатывающие данные блоками;
Однако
почему же 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 игроманы могут получить неплохой прирост.
Дело - за разработчиками игр. На этом синтетическом
тесте, правда, основанном на реальном движке, прирост от использования 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, все-таки
станет объединением всех передовых микропроцессорных технологий.