Oценивая целесообразность приобретения компьютера с Pentium 4, необходимо подумать о том, как он будет использоваться.

Животрепещущая, если судить по СМИ, тема соперничества Intel и AMD на рынке х86-совместимых микропроцессоров отодвинула на задний план иную недавнюю интригу: окажется ли IA-64 могильщиком RISC-архитектуры. Постоянные задержки с появлением на рынке Itanium сняли этот вопрос с повестки нынешнего дня.

Однако жизнь выкинула новый фортель, который вряд ли кто ожидал и на который почему-то не обратили особого внимания. А между тем недавно появившийся 1,5-гигагерцевый Pentium 4 «обставил» по производительности практически все RISC-процессоры. Известные автору (неофициальные) оценки производительности Itanium на тестах SPECfp2000 говорят о том, что будь он выпущен сейчас, могла бы возникнуть конкуренция в скорости с Pentium 4. Все смешалось...

Появление Pentium 4 вызвало многочисленные отклики, нередко содержащие критические высказывания, суть которых можно сформулировать несколькими словами: дорого и не слишком быстро. Но если с первым можно согласиться, то второе, вообще говоря, неверно. Да, дыма без огня не бывает, но и раздувать из искры пожар тоже не стоит. Конечно, производительность зависит от приложения; к этому вопросу мы вернемся после того, как рассмотрим особенности микроархитектуры нового процессора.

Частота там правит бал

Схватку за покупателя Intel и AMD вели в последнее время под флагом борьбы за высшие тактовые частоты. Но если Pentium III и Athlon шли по этому параметру, что называется, ноздря в ноздрю, то с появлением Pentium 4 с частотами 1,4/1,5 ГГц дым над полем боя рассеялся. AMD, судя по некоторым заявлениям, в 2001 году из гонки частот выходит; вероятно, компания сосредоточится на работе над своим 64-разрядным процессором.

Конечно, нельзя сказать, что высшие тактовые частоты — «смысл жизни» Intel. Частота — не самоцель, а средство достижения большей производительности. Не единственное, заметим, средство. Можно упростить микроархитектуру — тогда проще поднять частоту. Более эффективный, суперконвейерный подход предполагает существенное увеличение числа стадий конвейера; при этом каждая стадия становится проще, и соответственно проще уменьшить время такта. При этом нужно бы уменьшить произведение времени такта на число стадий.

Альтернатива — не увеличивать частоту, а применить более сложную суперскалярную архитектуру, чтобы за каждый такт выполнять больше команд. Этот подход используется в большинстве современных RISC-процессоров.

Intel в Pentium 4 совмещает оба подхода. Причем увеличение числа стадий главного конвейера (до 20) в корпорации сочли столь значительным, что ввели в обращение новый термин — «гиперконвейерная технология». Ясно, что «гипер» — это больше, чем «супер».

Можно сказать, что гиперконвейерная технология — один из главных источников как радости разработчиков (рекордную тактовую частоту в будущем, полагают в Intel, можно без существенных проблем увеличить еще вдвое), так и возможных проблем с Pentium 4. Проблемы возникают, например, когда в программе происходит переход, не предсказанный аппаратурой: при этом конвейер приходится перезаполнять, и «штраф» за это равняется числу тактов, по порядку величины равному числу стадий конвейера.

«64-разрядная» архитектура Pentium 4

Для Pentium 4 разработана иная микроархитектура, нежели Р6, использовавшаяся со времени Pentium Pro. Она именуется NetBurst; ее также планируется применять в нескольких поколениях процессоров, из которых Pentium 4 — лишь первый.

Представляется, что главные черты NetBurst определяются ее основной задачей — обеспечить возможности работы на высоких частотах и при этом минимизировать возможные отрицательные последствия сверхдлинного конвейера. Нововведения NetBurst носят принципиальный характер; они уникальны уже потому, что позволили достигнуть высоких тактовых частот.

В Intel выделяют следующие особенности микроархитектуры NetBurst:

  • гиперконвейерная технология;
  • кэш трассировки выполнения (ТС);
  • 400-мегагерцевая системная шина;
  • механизм ускоренного выполнения целочисленных операций;
  • расширенное динамическое выполнение (одновременно до 128 команд);
  • потоковые расширения SSE2;
  • усовершенствованная кэш-память;
  • усовершенствованные функциональные исполнительные устройства для мультимедийной обработки и команд с плавающей запятой.

При этом сохранены основные архитектурные идеи P6, связанные с декодированием х86-команд во внутренние микрооперации, их внеочередным спекулятивным выполнением (для чего используется и техника переименования регистров) и последующей «сборкой» из буфера результатов завершенных микроопераций таким образом, чтобы привести их в соответствие с исходной архитектурой IA-32.

«Фронтальная часть» NetBurst включает предварительную выборку и декодирование х86-команд, кэширование микроопераций и предсказание переходов. Она работает в «нормальной» последовательности — в порядке, указанном в кодах программы.

К фронтальной части относится также интерфейс системной шины. Частота 400 МГц позволяет достичь очень высокой пропускной способности памяти — 3,2 Гбайт/с, втрое большей, чем в Pentium III. Однако «выдать на гора» 3,2 Гбайт/с на сегодня способна только память Rambus, да и то в двухканальном исполнении. Соответственно и стоит это очень недешево.

Хотя NetBurst предполагает возможность подключения кэша третьего уровня, в Pentium 4 он отсутствует. Кэш второго уровня является интегрированным и имеет традиционную для современных х86-процессоров емкость 256 Кбайт. В нем, как и в Pentium III, используется технология Advanced Transfer Cache. Ширина шины кэша равна 32 байт, он (как и в Pentium III) является 8-канальным наборно-ассоциативным. До 128 байт увеличена длина строки кэша. Длинная строка удобна, когда нужно последовательно выбирать из памяти много байтов. Задержка по обращению в кэш второго уровня составляет семь тактов, а пропускная способность (на частоте 1,5 ГГц) — 48 Гбайт/с. При непопадании в кэш второго уровня нужно 12 тактов процессора на организацию взаимодействия с системной шиной и еще не менее 6-12 тактов шины — на доступ в подсистему памяти.

В кэше первого уровня команды и данные хранятся раздельно. Кэш данных имеет емкость 8 Кбайт. По моему мнению, небольшая емкость этого типа кэш-памяти в Pentium 4 — несколько рискованное решение: непопадание в кэш оказывается чаще. Подобная ситуация имела место в Alpha 21164, где это отрицательно сказалось на производительности. Возможно, уменьшение емкости вызвано стремлением уменьшить до двух тактов время выполнения загрузки регистров.

Что касается кэша команд первого уровня, то его место в NetBurst занял усовершенствованный вид кэш-памяти — кэш трассировки выполнения. Туда команды попадают, уже будучи декодированными. При этом в Pentium 4 декодер всего один, тогда как в Athlon их три. Дело в том, что в Pentium 4 благодаря применению этого типа кэша стадия декодирования вообще исчезла из главного конвейера. В кэше трассировки хранятся микрооперации, и он способен выдавать до трех микроопераций за такт, как и декодеры Athlon. Его применение по сравнению с обычным кэшем команд имеет свои преимущества, в частности, при предсказании переходов и при работе с короткими циклами. Емкость кэша трассировки составляет 12 тыс. микроопераций. Томас Пабст, известный своим сервером www.tomshardware.com, оценил среднюю длину микрооперации в 64 разряда. Для декодирования сложных х86-команд в Pentium 4 используется ROM-память, хранящая последовательности микроопераций.

Из других замечательных особенностей фронтальной части NetBurst отметим усовершенствованные возможности предварительной выборки, включая автоматическую выборку команд и данных в кэш второго уровня.

И наконец, предсказание переходов. Intel задействовала, кажется, все мыслимые типы предсказаний: статическое (переход назад «берется», как в цикле, а вперед — нет); динамическое (с применением буфера переходов емкостью 4096 строк); переходы типа вызов процедуры/возврат с использованием стека адресов возврата; наконец, переходы по «подсказкам» в форме префикса команды, которые может рождать компилятор. Подобные подсказки есть, например, в HP PA-8x00.

Как заявляют в Intel, предлагаемая реализация предсказания переходов в Pentium 4 превосходит все публично раскрытые разработки конкурентов. Число неправильных предсказаний перехода в Pentium 4 по сравнению с Pentium III уменьшилось на треть.

С другой стороны, ранее сообщалось, что точность предсказания переходов в AMD K6 и Alpha 21264 достигла 95%. Аналогичные числовые оценки вероятности для Pentium 4 неизвестны.

В суперскалярном ядре Pentium 4 разработчики постарались увеличить средний уровень параллелизма. Микрооперации диспетчеризуются в один из четырех портов. Два из них в состоянии запускать на выполнение микрооперации через каждые полтакта, поэтому максимальный темп — шесть микроопераций за такт. Уникальной особенностью Pentium 4 является возможность выполнять некоторые простые целочисленные команды за полтакта, так что можно сказать, что эти команды Pentium 4 обрабатывает на удвоенной частоте — 2,8 и 3 ГГц для 1,4 и 1,5-гигагерцевого процессора соответственно.

В двух шагах от рекорда

Разговор о производительности Pentium 4 начнем с результатов тестов SPECint2000/ SPECfp2000. Они оценивают производительность процессора на широком классе серьезных приложений. Эти результаты не только гораздо выше, чем у Pentium III, но и лучше, чем почти у всех современных RISC-процессоров. Для Pentium 4/1,5 ГГц показатели SPECint2000/fp2000 равны 536/561, для Alpha 21264/833 МГц — 544/658 соответственно. Нетрудно видеть, что по плавающей запятой Pentium 4 отстает немного, а по целочисленной производительности оказывается буквально в двух шагах от рекордных величин.

Поэтому в некотором смысле все разговоры о неудовлетворительной производительности Pentium 4 — от лукавого. Другое дело, какой вклад в этот результат вносит собственно процессор, а какой — очень высокая пропускная способность используемой с ним оперативной памяти Rambus. Конечно, чтобы получить на Pentium 4 хорошую производительность, нужно перетранслировать исходный текст с оптимизирующим компилятором, использующим новые возможности процессора. В большинстве других тестов этого, я полагаю, не делалось. Реальные приложения экономического характера отличаются скорее случайным обращением в память и плохо предсказуемыми переходами, так что на них производительность Pentium 4 наверняка уменьшится. С другой стороны, мультимедийные приложения, которые смогут использовать SSE2, получат солидную прибавку в скорости.

По моему мнению, при выборе более массовых применений следует прежде всего обратить внимание на отношение стоимость/производительность. Дело в том, что стоимость «инфраструктуры» для Pentium 4 довольно высока. Причины этого — и дорогая память Rambus DRDRAM, и весьма недешевый набор микросхем i850, и необходимость применения более сложных шестислойных материнских плат. Повышенное энергопотребление Pentium 4 (52-55 Вт) потребовало перехода на новый тип блока питания.

Поэтому оценивая целесообразность приобретения компьютера с Pentium 4, необходимо подумать о том, для каких приложений он будет использоваться (для офисных приложений сегодня ускорения практически нет), и, возможно, пересчитать деньги в кошельке.

Михаил Кузьминский — старший научный сотрудник Центра компьютерного обеспечения химических исследований РАН


Кто быстрее?
Сравнение производительности Pentium III и Pentium 4
 Pentium III 1 ГГцPentium 4 1,4 ГГцPentium 4 1,5 ГГц
SPECint2000443517536**
SPECfp2000314541561**
3DwinBench1,932,442,55
3DMark2000393434457
SYSMarkJ*185320132073
Quake3149202210
Video2000/MPEG2303638
* Тест «производительности Internet»; тестируется процессор, память и графическая подсистема.

** Данные www.specbench.org.

Общая схема микроархитектуры Pentium 4
A — планировщик «медленных» целочисленных операций

B — планировщик «быстрых» целочисленных операций

C — планировщик операций с памятью

AMD повышает частоту Athlon до 1,33 ГГц

Компания Advanced Micro Devices начала выпуск новых версий своего микропроцессора Athlon с тактовой частотой до 1,33 ГГц. Как отмечают представители компании, в планах AMD — к концу июня поднять тактовую частоту всех моделей Athlon до значений, не меньших 1 ГГц. Новые процессоры Athlon/1,33 ГГц и Athlon/1,3 ГГц используют высокоскоростную память DDR SDRAM и кэш-память на кристалле емкостью 384 Кбайт, что также способствует росту общей производительности.

Процессор с тактовой частотой 1,33 ГГц работает с 266-мегагерцевой шиной, а в случае 1,3-гигагерцевой модели шина обладает частотой 200 МГц. Тактовая частота шины влияет на скорость обмена данными между процессором и другими компонентами ПК. Компания уже приступила к поставкам новых моделей Athlon, и в ближайшее время более 20 ведущих производителей намерены использовать их в своих компьютерах. В числе этих производителей Compaq, Gateway, Hewlett-Packard, Micron и Maxdata.

Память DDR SDRAM, в которой операции чтения и записи выполняются в два раза быстрее, теоретически позволяет на 100% увеличить пропускную способность при передаче данных, однако в реальных условиях работы «прибавка» составляет лишь 10%. Как отметил Натан Бруквуд, ведущий аналитик компании Insight 64, новый процессор с тактовой частотой 1,33 МГц имеет производительность на 7-8% выше, чем процессора Athlon/1,2 ГГц. По его словам, этот рост во многом обусловлен использованием памяти DDR. Модель Athlon/1,2 ГГц примерно соответствует по уровню производительности процессору Intel Pentium 4 с тактовой частотой 1,5 ГГц. С выпуском новых моделей AMD выходит в лидеры, по крайней мере пока Intel не выпустит Pentium 4 с еще более высокой тактовой частотой.

Помимо объявления о выпуске новых моделей представители AMD также сообщили о планах выпуска своих новейших процессорных ядер Athlon и Duron, получивших соответственно кодовые названия Palomino и Morgan. Кроме того, компания намерена начать производство процессорных ядер Palomino и Morgan для мобильных компьютеров.

Микросхемы на базе Palomino для ноутбуков, которые, как предполагается, будут иметь тактовую частоту 1 ГГц и выше, должны быть выпущены во втором квартале этого года. Микросхемы с ядром Morgan уже предложены производителям ноутбуков, а их массовое производство должно начаться во втором квартале.

Выпуск процессорных ядер Palomino и Morgan для настольных ПК запланирован на третий квартал. Согласно производственным планам AMD, тактовая частота Palomino для настольных систем составит как минимум 1,5 ГГц, а аналогичные модели Morgan будут работать на скоростях свыше 900 МГц.

Джеймс Эванс