Интел инсайд пентиум 4. Процессоры. Технические характеристики различных ядер

integrated heat spreader ) кристаллом, установленную на плату-переходник (англ. interposer ) с 423 штырьковыми контактами (размеры корпуса - 53,3×53,3 мм) . Между контактами на обратной стороне платы-переходника установлены SMD -элементы.

Поздние процессоры на ядре Willamette, процессоры Pentium 4 на ядре Northwood, часть процессоров Pentium 4 Extreme Edition на ядре Gallatin и ранние процессоры на ядре Prescott с по 2005 год выпускались в корпусе типа FC-mPGA2 , представлявшем собой подложку из органического материала с закрытым теплораспределительной крышкой кристаллом с лицевой стороны и 478 штырьковыми контактами, а также SMD-элементами, с обратной (размеры корпуса - 35×35 мм).

Часть процессоров Pentium 4 Extreme Edition на ядре Gallatin, поздние процессоры на ядре Prescott, процессоры на ядрах Prescott-2M и Cedar Mill c весны по осень 2007 года выпускались в корпусе типа FC-LGA4 , представлявшем собой подложку из органического материала с закрытым теплораспределительной крышкой кристаллом с лицевой стороны и 775 контактными площадками с обратной (размеры корпуса - 37,5×37,5 мм). Как и в двух предыдущих типах корпусов, между контактами установлены SMD-элементы.

Часть мобильных процессоров на ядре Northwood выпускалась в корпусе типа FC-mPGA . Основным отличием этого типа корпуса от FC-mPGA2 является отсутствие теплораспределительной крышки.

Маркировка процессоров, имеющих теплораспределительную крышку, нанесена на её поверхность, а у остальных процессоров маркировка нанесена на две наклейки, расположенные на подложке с двух сторон от кристалла.

Особенности архитектуры

Конвейер процессора на ядре Northwood

Конвейер состоит из 20 стадий:

  • TC, NI (1, 2) - поиск микроопераций, на которые указывает последняя выполненная инструкция.
  • TR, F (3, 4) - выборка микроопераций.
  • D (5) - перемещение микроопераций.
  • AR (6-8) - резервирование ресурсов процессора, переименование регистров.
  • Q (9) - постановка микроопераций в очереди.
  • S (10-12) - изменение порядка исполнения.
  • D (13-14) - подготовка к исполнению, выборка операндов.
  • R (15-16) - чтение операндов из регистрового файла.
  • E (17) - исполнение.
  • F (18) - вычисление флагов.
  • BC, D (19, 20) - проверка корректности результата.

Архитектура NetBurst (рабочее наименование - P68 ), лежащая в основе процессоров Pentium 4, разрабатывалась компанией Intel, в первую очередь, с целью достижения высоких тактовых частот процессоров. NetBurst не является развитием архитектуры , использовавшейся в процессорах Pentium III , а представляет собой принципиально новую по сравнению с предшественниками архитектуру. Характерными особенностями архитектуры NetBurst являются гиперконвейеризация и применение кэша последовательностей микроопераций вместо традиционного кэша инструкций. АЛУ процессоров архитектуры NetBurst также имеет существенные отличия от АЛУ процессоров других архитектур.

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

Для минимизации влияния неверно предсказанных переходов, в процессорах архитектуры NetBurst используются увеличенный по сравнению с предшественниками буфер предсказания ветвлений (англ. branch target buffer ) и новый алгоритм предсказания ветвлений, что позволило достичь высокой точности предсказания (около 94 %) в процессорах на ядре Willamette. В последующих ядрах механизм предсказания ветвлений подвергался модернизациям, повышавшим точность предсказания.

Кэш последовательностей микроопераций (англ. Execution Trace Cache )

Процессоры архитектуры NetBurst, как и большинство современных x86 -совместимых процессоров, являются CISC -процессорами с RISC -ядром: перед исполнением сложные инструкции x86 преобразуются в более простой набор внутренних инструкций (микроопераций), что позволяет повысить скорость обработки команд. Однако, вследствие того, что инструкции x86 имеют переменную длину и не имеют фиксированного формата, их декодирование связано с существенными временными затратами.

В связи с этим, при разработке архитектуры NetBurst было принято решение отказаться от традиционной кэш-памяти инструкций первого уровня, хранящей команды x86, в пользу кэша последовательностей микроопераций, хранящего последовательности микроопераций в соответствии с предполагаемым порядком их исполнения. Такая организация кэш-памяти позволила также снизить временные затраты на выполнение условных переходов и на выборку инструкций.

АЛУ и механизм ускоренного выполнения целочисленных операций (англ. Rapid Execution Engine )

Так как основной целью разработки архитектуры NetBurst было повышение производительности за счёт достижения высоких тактовых частот, возникла необходимость увеличения темпа выполнения основных целочисленных операций. Для достижения этой цели АЛУ процессоров архитектуры NetBurst разделено на несколько блоков: «медленное АЛУ», способное выполнять большое количество целочисленных операций, и два «быстрых АЛУ», выполняющих только простейшие целочисленные операции (например, сложение). Выполнение операций на «быстрых АЛУ» происходит последовательно в три этапа: сначала вычисляются младшие разряды результата, затем старшие, после чего могут быть получены флаги.

«Быстрые АЛУ», обслуживающие их планировщики, а также регистровый файл синхронизируются по половине такта процессора, таким образом, эффективная частота их работы вдвое превышает частоту ядра. Эти блоки образуют механизм ускоренного выполнения целочисленных операций.

В процессорах на ядрах Willamette и Northwood «быстрые АЛУ» способны выполнять лишь те операции, которые обрабатывают операнды в направлении от младших разрядов к старшим. При этом результат вычисления младших разрядов может быть получен через половину такта. Таким образом, эффективная задержка составляет половину такта. В процессорах на ядрах Willamette и Northwood отсутствуют блоки целочисленного умножения и сдвига, а данные операции выполняются другими блоками (в частности, блоком инструкций MMX).

В процессорах на ядрах Prescott и Cedar Mill присутствует блок целочисленного умножения, а «быстрые АЛУ» способны выполнять операции сдвига. Эффективная задержка операций, исполняемых «быстрыми АЛУ», возросла по сравнению с процессорами на ядре Northwood и составляет один такт.

Система повторного исполнения микроопераций (англ. Replay System )

Основной задачей планировщиков микроопераций является определение готовности микроопераций к исполнению и передача их на конвейер. Вследствие большого числа стадий конвейера, планировщики вынуждены отправлять микрооперации на исполнительные блоки до того, как завершится выполнение предыдущих микроопераций. Это обеспечивает оптимальную загрузку исполнительных блоков процессора и позволяет избежать потери производительности в том случае, если данные, необходимые для выполнения микрооперации, находятся в кэш-памяти первого уровня, регистровом файле, или могут быть переданы минуя регистровый файл.

При определении готовности новых микроопераций к передаче на исполнительные блоки, планировщику необходимо определить время выполнения тех предыдущих микроопераций, результатом которых являются данные, необходимые для выполнения новых микроопераций. В том случае, если время выполнения заранее не определено, планировщик для его определения использует наименьшее время её выполнения.

Если оценка времени, необходимого для получения данных, оказалась верной, микрооперация выполняется успешно. В том случае, если данные не были получены вовремя, проверка корректности результата заканчивается неудачей. При этом микрооперация, результат выполнения которой оказался некорректен, ставится в специальную очередь (англ. replay queue ), а затем вновь направляется планировщиком на исполнение.

Несмотря на то, что повторное исполнение микроопераций приводит к значительным потерям производительности, применение данного механизма позволяет в случае ошибочного исполнения микроопераций избежать останова и сброса конвейера, который приводил бы к более серьёзным потерям.

Модели

Процессор с кодовым именем Willamette впервые появился в официальных планах компании Intel в октябре 1998 года , хотя его разработка и началась вскоре после завершения работ над процессором Pentium Pro , вышедшим в конце 1995 года , а название «Willamette» упоминалось в анонсах 1996 года . Необходимость в проектировании нового процессора архитектуры IA-32 появилась в связи со сложностями, возникшими при разработке 64-битного процессора Merced , которому в соответствии с планами компании Intel была отведена роль преемника процессоров архитектуры : разработка, осуществлявшаяся с 1994 года , сильно затянулась, а производительность Merced при выполнении инструкций x86 оказалась неудовлетворительной по сравнению с процессорами, для замены которых он предназначался .

Предполагалось, что Willamette выйдет во второй половине 1998 года , однако, в результате многочисленных задержек анонс был перенесён на конец 2000 года . В феврале 2000 года на форуме разработчиков Intel (IDF Spring 2000) был продемонстрирован компьютер, основой которого служил инженерный образец процессора Willamette, получившего наименование «Pentium 4», работающий на частоте 1,5 ГГц .

Первые серийные процессоры Pentium 4 на ядре , анонсированные 20 ноября 2000 года, производились по 180 нм технологии. Дальнейшим развитием семейства Pentium 4 стали процессоры на ядре , производившиеся по 130 нм технологии. 2 февраля 2004 года были представлены первые процессоры на ядре (90 нм), а последним ядром, использовавшимся в процессорах Pentium 4 стало ядро (65 нм). На базе ядер Northwood и Prescott выпускались также мобильные процессоры Pentium 4 и Pentium 4-M, представлявшие собой Pentium 4 с пониженным энергопотреблением. На базе всех ядер, перечисленных выше, выпускались также процессоры Celeron , предназначенные для бюджетных компьютеров, представлявшие собой Pentium 4 с уменьшенным объёмом кэш-памяти второго уровня и пониженной частотой системной шины .

Ниже представлены даты анонса различных моделей процессоров Pentium 4, а также их стоимость на момент анонса.

Мобильные процессоры Pentium 4
Процессор Pentium 4-M Mobile Pentium 4
Тактовая частота, ГГц 1,6 1,7 1,4 1,5 1,8 1,9 2 2,2 2,4 2,5 2,6 2,4 2,666 2,8 3,066 3,2 3,333
Анонсирован 4 марта 23 апреля 24 июня 16 сентября 14 января 16 апреля 11 июня 23 сентября 28 сентября
2002 года 2003 года 2004 года
Цена, $ 392 496 198 268 637 431 637 562 562 562 562 185 220 275 417 653 262

Pentium 4

Willamette

Pentium 4 1800 на ядре Willamette (FC-mPGA2)

Ещё до выхода первых Pentium 4 предполагалось, что и процессоры на ядре Willamette, и разъём Socket 423 будут присутствовать на рынке лишь до середины 2001 года, после чего будут заменены на процессоры на ядре Northwood и разъём Socket 478 . Однако, в связи с проблемами при внедрении 130 нм технологии, лучшим по сравнению с ожидавшимся процентом выхода годных кристаллов процессоров на ядре Willamette, а также необходимостью продажи уже выпущенных процессоров, анонс процессоров на ядре Northwood был отложен до 2002 года, а 27 августа 2001 года были представлены процессоры Pentium 4 в корпусе типа FC-mPGA2 (Socket 478), в основе которых по-прежнему лежало ядро Willamette .

Процессоры Pentium 4 на ядре Willamette работали на тактовой частоте 1,3-2 ГГц с частотой системной шины 400 МГц, напряжение ядра составляло 1,7-1,75 В в зависимости от модели, а максимальное тепловыделение - 100 Вт на частоте 2 ГГц .

Northwood

Intel Pentium 4 1800 на ядре Northwood

14 ноября 2002 года был представлен процессор Pentium 4 3066 МГц, поддерживающий технологию виртуальной многоядерности - Hyper-threading . Этот процессор оказался единственным процессором на ядре Northwood с частотой системной шины 533 МГц, обладавшим поддержкой технологии Hyper-threading. В дальнейшем эту технологию поддерживали все процессоры с частотой системной шины 800 МГц (2,4-3,4 ГГц) .

Характерной особенностью процессоров Pentium 4 на ядре Northwood была невозможность продолжительной работы при повышенном напряжении ядра (повышение напряжения ядра при разгоне является распространённым приёмом, позволяющим повысить стабильность работы на повышенных частотах ). Повышение напряжения ядра до 1,7 В приводило к быстрому выходу процессора из строя, несмотря на то, что температура кристалла при этом оставалась невысокой. Это явление, названное «синдромом внезапной смерти Northwood» (англ. sudden Northwood death syndrome ), серьёзно ограничивало разгон Pentium 4 на ядре Northwood .

Prescott

Pentium 4 2800E на ядре Prescott (Socket 478)

Pentium 4 3400 на ядре Prescott (LGA 775)

Процессоры Pentium 4 на ядре Prescott получили поддержку нового дополнительного набора команд - SSE3 , а также поддержку технологии EM64T (в ранних процессорах поддержка 64-битных расширений была отключена). Кроме того, была оптимизирована технология Hyper-threading (в частности, в набор SSE3 вошли инструкции, предназначенные для синхронизации потоков) .

В результате изменений, внесённых в архитектуру NetBurst, производительность процессоров на ядре Prescott изменилась по сравнению с процессорами на ядре Northwood, имеющими равную частоту, следующим образом: в однопоточных приложениях, использующих инструкции x87 , MMX , SSE и SSE2 , процессоры на ядре Prescott оказывались медленнее, чем предшественники, а в приложениях, использующих многопоточность или чувствительных к объёму кэш-памяти второго уровня, опережали их .

Cedar Mill

Pentium 4 641 на ядре Cedar Mill

Процессоры Pentium 4 на ядре Cedar Mill выпускались до 8 августа 2007 года , когда компания Intel объявила о снятии с производства всех процессоров архитектуры NetBurst.

Отменённые процессоры

Предполагалось, что в конце 2004 - начале 2005 годов на смену ядру Prescott в настольных процессорах Pentium 4 придёт новое ядро Tejas. Процессоры на ядре Tejas должны были выпускаться по 90 нм технологии, работать на частоте от 4,4 ГГц с частотой системной шины 1066 МГц, иметь увеличенный до 24 Кбайт кэш первого уровня и улучшенную поддержку технологии Hyper-threading . В конце 2005 года процессоры на ядре Tejas должны были быть переведены на 65 нм технологию производства и достичь частоты 9,2 ГГц . В перспективе тактовая частота процессоров архитектуры NetBurst должна была превысить отметку в 10 ГГц, однако сроки анонса Tejas постоянно переносились, процессоры на ядре Prescott не смогли достичь частоты 4 ГГц из-за проблем с тепловыделением, в связи с чем в начале 2004 года появилась информация об отмене выпуска процессоров на ядре Tejas , а 7 мая 2004 года компания Intel официально объявила о прекращении работы как над ядром Tejas, так и над перспективными разработками, основанными на архитектуре NetBurst .

Pentium 4 Extreme Edition

Первые процессоры Pentium 4 Extreme Edition (Pentium 4 «EE» или «XE»), предназначенные для энтузиастов , были представлены компанией Intel 3 ноября 2003 года. В их основе лежало ядро Gallatin, использовавшееся в серверных процессорах Xeon и представлявшее собой ядро Northwood ревизии M0 с кэш-памятью третьего уровня объёмом 2 Мбайт . Площадь кристалла таких процессоров составляла 237 мм².

Процессоры Pentium 4 EE на ядре Gallatin работали на частоте 3,2-3,466 ГГц, имели частоту системной шины 1066 МГц для модели, работающей на 3,466 ГГц, и 800 МГц для остальных моделей (3,2 и 3,4 ГГц). Напряжение ядра составляло 1,4-1,55 В, а максимальное тепловыделение - 125,59 Вт на частоте 3,466 ГГц. Изначально процессоры Pentium 4 EE ядре Gallatin выпускались в корпусе типа FC-mPGA2 (Socket 478), а затем - в корпусе типа FC-LGA4 (LGA775).

21 февраля 2005 года компанией Intel был представлен процессор Pentium 4 EE на ядре Prescott 2M. Он выпускался в корпусе типа FC-LGA4, предназначался для установки в системные платы с разъёмом LGA775 и работал на частоте 3,733 ГГц. Частота системной шины составляла 1066 МГц, напряжение питания - 1,4 В, максимальное тепловыделение - 148,16 Вт.

Дальнейшим развитием семейства Extreme Edition стали двухъядерные процессоры Pentium XE .

Pentium 4-M и Mobile Pentium 4

Мобильные процессоры Pentium 4-M представляли собой Pentium 4 на ядре Northwood, имеющие пониженное напряжение питания и тепловыделение, а также поддерживающие энергосберегающую технологию Intel SpeedStep . Максимально допустимая температура корпуса была повышена по сравнению с процессорами для настольных компьютеров и составляла 100 °C (у настольных процессоров на ядре Northwood - от 68 до 75 °C), что было связано с условиями работы в ноутбуке (небольшое воздушное пространство и размеры радиатора, менее сильный воздушный поток).

Все процессоры Pentium 4-M работали с частотой системной шины 400 МГц. Напряжение ядра процессоров Pentium 4-M составляло 1,3 В, максимальное тепловыделение - 48,78 Вт на частоте 2,666 ГГц, типичное - 35 Вт, в режиме пониженного энергопотребления - 13,69 Вт. Процессоры Pentium 4-M работали на частотах от 1,4 до 2,666 ГГц.

Процессоры Mobile Pentium 4 представляли собой Pentium 4 на ядрах Northwood или Prescott и работали на более высоких по сравнению с Pentium 4-M тактовых частотах - от 2,4 до 3,466 ГГц. Некоторые процессоры Mobile Pentium 4 поддерживали технологию Hyper-threading.

Все процессоры Mobile Pentium 4 работали с частотой системной шины 533 МГц. Напряжение ядра составляло 1,325-1,55 В, максимальное тепловыделение - 112 Вт на частоте 3,466 ГГц, типичное - от 59,8 до 88 Вт, в режиме пониженного энергопотребления - от 34,06 до 53,68 Вт.

Положение на рынке

Процессоры Pentium 4 Extreme Edition являлись «имиджевыми » процессорами, а оптовая цена на эти процессоры в момент анонса всегда составляла 999 $ .

Несмотря на то, что в течение года после анонса Pentium 4 основу продаж компании Intel по-прежнему составляли процессоры Pentium III (это было связано с крайне высокой стоимостью систем на базе Pentium 4 в сочетании с памятью типа RDRAM , альтернативы которой не было до выхода набора микросхем Intel 845 осенью 2001 года ), впоследствии благодаря агрессивной рекламной и маркетинговой политике компании Intel (в том числе, предоставление скидок производителям компьютеров и торговым сетям за использование и продажу исключительно продукции Intel, а также выплаты за отказ от использования продукции конкурентов ) в сочетании с неудачной маркетинговой политикой основного конкурента - компании AMD, процессоры Pentium 4 стали популярны среди пользователей . Этому также способствовала более высокая тактовая частота процессоров Pentium 4 (в частности, из-за высокой тактовой частоты процессоров конкурента, а также популярности «мифа о мегагерцах » , компания AMD была вынуждена ввести рейтинг производительности процессоров Athlon XP, нередко вводивший неопытных пользователей в заблуждение ). Тем не менее, компании AMD удалось серьёзно потеснить Intel на рынке микропроцессоров благодаря удачным продуктам - ранним Athlon XP и Athlon 64, превосходившим процессоры Pentium 4 в производительности и имеющим меньшую стоимость. Так, с 2000 по 2001 год компании AMD удалось увеличить свою долю на рынке процессоров архитектуры x86 с 18 % до 22 % (доля Intel при этом сократилась с 82,2 % до 78,7 %), а после решения проблем, возникших у AMD в 2002 году, когда её доля на рынке сократилась до 14 %, с 2003 по 2006 - до 26 % (доля Intel - около 73 %) .

Сравнение с конкурентами

Параллельно с процессорами семейства Pentium 4 существовали следующие x86-процессоры:

  • Intel Pentium III-S (Tualatin). Предназначались для рабочих станций и серверов. Несмотря на меньшую тактовую частоту, по производительности превосходили процессоры Pentium 4 на ядре Willamette в большинстве задач. Кроме того, в отличие от Pentium 4, процессоры Pentium III-S могли работать в двухпроцессорной конфигурации. Также компанией Intel выпускались процессоры Pentium III на ядре Tualatin, отличавшиеся от Pentium III-S меньшим объёмом кэш-памяти второго уровня. Оба этих процессора не получили широкого распространения: они были представлены позже, чем Pentium 4, являвшиеся в то время флагманскими процессорами компании Intel, и стоили значительно дороже, чем Pentium 4, имеющие сравнимую производительность .
  • Intel Celeron (Tualatin). Представляли собой Pentium III с уменьшенной частотой системной шины, предназначались для недорогих систем и в целом уступали процессорам Pentium 4 за счёт меньшей тактовой частоты (старшая модель Celeron работала на частоте 1,4 ГГц, в то время, как младшая модель Pentium 4 - на 1,3 ГГц) и небольшой пропускной способности памяти (в системах на процессорах Celeron обычно использовалась память PC133 SDRAM , а процессоры Pentium 4 чаще всего работали с памятью типа RDRAM или DDR SDRAM) и системной шины (100 МГц против 400 МГц) . Производительность разогнанных Celeron была сравнима с производительностью равночастотных Pentium 4 при более низкой цене .
  • Intel Celeron (Willamette-128 и Northwood-128), Celeron D (Prescott-256 и Cedar Mill-512). Представляли собой Pentium 4 с уменьшенными частотой системной шины и размером кэш-памяти второго уровня, предназначались для недорогих систем и всегда уступали процессорам Pentium 4. В некоторых задачах Celeron на ядре Willamette-128 уступали также и предшественникам (Celeron на ядре Tualatin) со значительно более низкими частотами .
  • Intel Pentium M и Celeron M . Являлись дальнейшим развитием процессоров Pentium III. Предназначались для мобильных компьютеров, обладали низким энергопотреблением и тепловыделением. Pentium M опережал как большинство мобильных Pentium 4 M, так и некоторые настольные процессоры Pentium 4, обладая при этом значительно меньшими тактовой частотой и тепловыделением . Процессор Celeron M имел близкую к Pentium M производительность, незначительно отставая от него.
  • Intel Pentium D (Presler, Smithfield). Двухъядерные процессоры, представлявшие собой два ядра Prescott (процессоры на ядре Smithfield) или Cedar Mill (Presler), находящиеся либо на одном кристалле (Smithfield), либо в одном корпусе (Presler). Опережали равночастотные Pentium 4 в большинстве задач. Однако процессоры Pentium 4 имели большую тактовую частоту, чем Pentium D (старшая модель Pentium D на ядре Smithfield работала на частоте 3,2 ГГц, а старшая модель Pentium 4 - на 3,8 ГГц), что позволяло им опережать двухъядерные процессоры в задачах, не оптимизированных под многопоточность .
  • AMD Athlon (Thunderbird). Конкурировали с процессорами Pentium 4 на ядре Willamette. В задачах, использующих дополнительные наборы инструкций SSE и SSE2 , требующих высокой пропускной способности памяти, а также в приложениях, оптимизированных под архитектуру NetBurst (приложения, работающие с потоковыми данными), процессоры Athlon уступали процессорам Pentium 4, однако в офисных и бизнес-приложениях, задачах трёхмерного моделирования, а также в математических расчётах, процессоры Athlon показывали более высокую производительность .
  • AMD Athlon XP . Конкурировали в основном с процессорами Pentium 4 на ядре Northwood. В названиях моделей этих процессоров фигурировала не тактовая частота, а рейтинг, показывающий производительность процессоров Athlon XP относительно Pentium 4. «Равнорейтинговые» Athlon XP уступали процессорам Pentium 4 в приложениях, оптимизированных под архитектуру NetBurst, требовавших наличие поддержки инструкций SSE2 или высокой пропускной способности памяти, однако значительно опережали их в вычислениях с плавающей запятой и неоптимизированных приложениях. Старшие Pentium 4 опережали конкурента в большинстве приложений .
  • AMD Athlon 64 . Конкурировали в основном с процессорами Pentium 4 на ядре Prescott. Опережали их в ряде задач (например, офисные приложения, научные расчёты или игры) за счёт меньших задержек при работе с памятью (за счёт встроенного контроллера памяти) и более эффективного математического сопроцессора, уступали процессорам Pentium 4 в задачах, оптимизированных под архитектуру NetBurst или имеющих поддержку многопоточности (например, кодирование видео) .
  • AMD Athlon 64 FX . Конкурировали с процессорами Pentium 4 Extreme Edition. Как и в случае с Athlon 64 и Pentium 4, Athlon 64 FX опережали конкурентов за счёт архитектурных особенностей, интегрированного контроллера памяти или более эффективного математического сопроцессора, уступая им в задачах, оптимизированных под архитектуру NetBurst или имеющих поддержку многопоточности .
  • AMD Duron (Morgan и Applebred). Были нацелены на рынок недорогих процессоров и конкурировали с процессорами Celeron, в целом уступая процессорам Pentium 4, однако в некоторых приложениях, которые не были оптимизированы под архитектуру NetBurst и не использовали набор инструкций SSE2, могли опережать Pentium 4, имеющие значительно более высокие тактовые частоты .
  • VIA C3 (Nehemiah) и VIA Eden. Предназначались для компьютеров с низким энергопотреблением и ноутбуков (C3 и Eden-N) и для интегрирования в системные платы (Eden), имели низкую производительность и уступали конкурирующим процессорам.
  • VIA C7 . Также, как и процессоры VIA C3, предназначались для компьютеров с низким энергопотреблением и ноутбуков. Серьёзно уступали конкурентам и могли опережать их только в задачах шифрования (за счёт его аппаратной поддержки) .
  • Transmeta Efficeon . Предназначались для ноутбуков, имели низкое энергопотребление и тепловыделение. Уступали в большинстве задач мобильным процессорам AMD и Intel, опережая мобильные процессоры VIA .

Работавшие на высокой частоте процессоры Pentium 4 отличались большим энергопотреблением и, как следствие, тепловыделением. Максимальная тактовая частота серийных процессоров Pentium 4 составила 3,8 ГГц, при этом типичное тепловыделение превысило 100 Вт , а максимальное - 150 Вт . Однако при этом процессоры Pentium 4 были лучше защищены от перегрева, чем конкурирующие процессоры. Работа Thermal Monitor - технологии термозащиты процессоров Pentium 4 (а также последующих процессоров Intel) - основана на механизме модуляции тактового сигнала (англ. clock modulation ), позволяющем регулировать эффективную частоту работы ядра с помощью введения холостых циклов - периодического отключения подачи тактового сигнала на функциональные блоки процессора («пропуск тактов», «троттлинг »). При достижении порогового значения температуры кристалла, зависящего от модели процессора, автоматически включается механизм модуляции тактового сигнала, эффективная частота снижается (при этом определить её снижение можно либо по замедлению работы системы, либо с помощью специального программного обеспечения, так как фактическая частота остаётся неизменной), а рост температуры замедляется. В том случае, если температура всё же достигает максимально допустимой, происходит отключение системы . Кроме того, поздние процессоры Pentium 4 (начиная с ядра Prescott ревизии E0 ), предназначенные для установки в разъём Socket 775, обладали поддержкой технологии Thermal Monitor 2, позволяющей снижать температуру путём снижения фактической тактовой частоты (с помощью понижения множителя) и напряжения ядра .

Наглядным примером эффективности термозащиты процессоров Pentium 4 стал эксперимент, проведённый в 2001 году Томасом Пабстом. Целью этого эксперимента являлось сравнение эффективности термозащиты процессоров Athlon 1,4 ГГц, Athlon MP 1,2 ГГц, Pentium III 1 ГГц и Pentium 4 2 ГГц на ядре Willamette. После снятия кулеров с работающих процессоров, процессоры Athlon MP и Athlon получили необратимые термические повреждения, а система на Pentium III зависла, в то время как система с процессором Pentium 4 лишь замедлила скорость работы . Несмотря на то, что ситуация с полным отказом системы охлаждения (например, в случае разрушения крепления радиатора), смоделированная в экспериментах, маловероятна, а в случае возникновения приводит к более серьёзным последствиям (например, к разрушению плат расширения или системной платы в результате падения на них радиатора) вне зависимости от модели процессора , результаты эксперимента Томаса Пабста отрицательно повлияли на популярность конкурирующих процессоров AMD, а мнение о их ненадёжности было широко распространено даже после выхода процессоров Athlon 64 , имеющих более эффективную по сравнению с предшественником систему защиты от перегрева. К тому же температуры процессоров Intel в данном эксперименте, равные 29 и 37 по Цельсию, вызывают сомнение - ведь это рабочие температуры процессоров Intel при нулевой загрузке ЦПУ, и при наличии штатной системы охлаждения. Разумеется, при снятом радиаторе они ведут себя по другому: нагреваются до критической температуры, срабатывает тепловая защита и компьютер выключается. А если учесть, что тепловыделение Pentium 4 не меньше, чем у Athlon, то вопросов с дымящимся через считанные секунды AMD и работающим несколько секунд после снятия системы охлаждения Intel не убавляется. Просто в эксперименте Томаса Пабста были показаны в гипертрофированном виде имеющие место: достоинства процессоров Intel и недостатки процессоров AMD, относительно тепловой защиты. Возможно, это была рекламная акция в пользу новых процессоров Intel, особенно учитывая отношение потребителей к первым процессорам Pentium 4 из-за их высокой цены и низкой производительности.

Из-за особенностей архитектуры NetBurst, позволявших процессорам работать на высокой частоте, процессоры Pentium 4 пользовались популярностью среди оверклокеров . Так, например, процессоры на ядре Cedar Mill были способны работать на частотах, превышавших 7 ГГц , с использованием экстремального охлаждения (обычно использовался стакан с жидким азотом) , а младшие процессоры на ядре Northwood со штатной частотой системной шины 100 МГц надёжно работали при частоте системной шины 133 МГц и выше .

Технические характеристики

Willamette Northwood Gallatin Prescott Prescott 2M Cedar Mill
Настольный Настольный Мобильный Настольный Мобильный Настольный
Тактовая частота
Частота ядра, ГГц 1,3-2 1,6-3,4 1,4-3,2 3,2-3,466 2,4-3,8 2,8-3,333 2,8-3,8 3-3,6
Частота FSB , МГц 400 400, 533, 800 400, 533 800, 1066 533, 800, 1066 () 800
Характеристики ядра
Набор инструкций IA-32 , MMX , SSE , SSE2 IA-32 , EM64T (некоторые модели), MMX , SSE , SSE2 , SSE3
Разрядность регистров 32/64 бит (целочисленные), 80 бит (вещественночисленные), 64 бит (MMX), 128 бит (SSE)
Глубина конвейера 20 стадий (без учёта декодера инструкций) 31 стадия (без учёта декодера инструкций)
Разрядность ША 36 бит 40 бит
Разрядность

что делать, когда делать больше нечего?

Ни для кого не секрет, что рост частот современных x86 CPU в последнее время замедлился, и не помогают производителям ни новые ядра, ни новые техпроцессы. В общем, печальная картина для любителей сенсаций. Однако нет худа без добра: зато компания Intel смогла в очередной раз сделать невозможное - она выпустила два весьма интересных десктопных процессора: eXtreme Edition и обычный Pentium 4 с Processor Number 660. Оба они базируются на новой модификации ядра Prescott (называемой обычно «Prescott-2M»), оснащенной кэшем второго уровня размером два мегабайта: своего рода рекорд для десктопных CPU. Причина достижения такого результата лежит на поверхности: дальнейшее наращивание частот у ядра Prescott, можно сказать, «официально отменено» (у Intel из roadmap пропал процессор с частотой 4 ГГц), а наращивать производительность, тем не менее, как-то нужно. Но нам-то, в конце концов, все равно, за счет чего она будет расти, не так ли? Вот и выясним, дало ли нововведение какой-нибудь эффект. А для начала посмотрим, как соотносятся технические характеристики старых (уже «старых») процессоров Intel с новыми, а также с основным конкурентом.

Характеристика Athlon 64
FX-55
Pentium 4
560
Pentium 4
660
Pentium 4 XE
3,46 GHz
Pentium 4 XE
3,73 GHz
Техпроцесс, нм 130 90 90 130 90
Количество транзисторов, млн. 106 125 169 178 169
Сокет Socket 939 LGA775 LGA775 LGA775 LGA775
Частота ядра, МГц 2600 3600 3600 3430 3730
Размер L1D, КБ 64 16 16 8 16
Размер L1I 64 KB 12 Kuops 12 Kuops 8 Kuops 12 Kuops
Размер L2, КБ 1024 1024 2048 512 2048
Размер L3, КБ - - - 2048 -
ПС процессорной шины (Intel), МГц - 800 (4x200) 800 (4x200) 1066 (4x266) 1066 (4x266)
ПС контроллера памяти (AMD), МГц 800 (2x400) - - - -
Поддержка расширенных наборов команд MMX, 3DNow!, SSE, SSE2 MMX, SSE, SSE2, SSE3 MMX, SSE, SSE2, SSE3 MMX, SSE, SSE2 MMX, SSE, SSE2, SSE3
Поддержка 64-битных расширений x86 AMD64 - EM64T - EM64T
Поддержка DEP NX - XD - XD
Технология управления энергосбережением и нагревом Cool"n"Quite TM2/C1E EIST - -
TDP, Вт 89 115 115 111 115

Как видите, оба новых процессора поддерживают технологию EM64T, родную сестричку AMD64, ранее известную как x86-64, что опять-таки внове для десктопных CPU от Intel — ранее EM64T присутствовала только в серверных Xeon Nocona. Однако несмотря на то, что энтузиазм AMD по поводу 64-битных вычислений на десктопных платформах оказался заразительным, и к ней присоединилась даже Intel, основной «рулевой» другой небезызвестной компании — Microsoft, ныне именующий себя «Главным программным архитектором», не спешит нас порадовать официальным релизом 64-битной версии Windows для AMD64/EM64T. Поэтому сегодня нам остается по старинке исследовать те аспекты производительности новых процессоров, которые актуальны для большинства пользователей: скорость исполнения тестов на 32-битной Windows XP и на аналогичном по «битности» программном обеспечении.

Кроме того, видно, что концепция eXtreme Edition себя несколько дискредитировала: теперь XE от Intel уже ничуть не «эксклюзивнее» по отношению к обычным Pentium 4, чем FX от AMD по отношению к обычным Athlon 64: новый Pentium 4 eXtreme Edition 3.73 GHz отличается от обычных десктопных CPU только большей частотой работы ядра и более скоростной шиной. А у AMD FX отличается только частотой, но главное - оба производителя пришли к тому, чтобы делать обычные и «экстремальные» процессоры на одном и том же ядре, «открывая» или «закрывая» некоторые возможности (кто-то сомневается в том, что Pentium 4 660 сможет работать на шине 1066 МГц, если ему понизить коэффициент умножения?). Линейка Pentium 4 6XX будет насчитывать четыре процессора: Pentium 4 660 (3.6 ГГц), Pentium 4 650 (3.4 ГГц), Pentium 4 640 (3.2 ГГц), Pentium 4 630 (3.0 ГГц). Даже судя по одним только частотам можно предположить, что 1066-мегагерцевой шины мы на обычных Pentium 4, увы, так и не увидим. По крайней мере, еще довольно долгое время.

Тоскующим по 64-битным сенсациям мы через некоторое время предложим тестирование новых процессоров в SPEC CPU под одной из 64-битных версий Linux. А для тех, кто интересуется архитектурными особенностями процессорных ядер, можем предложить , главного разработчика пакета RightMark Memory Analyzer, который традиционно исследовал новые ядра с помощью своего пакета и со свойственной ему бескомпромиссной дотошностью даже смог выловить парочку интересных моментов. Таким образом, оставив будущее - будущему, а тонкие моменты - их профессиональным исследователям, приступим к процедуре, которая несмотря на некоторую заезженность является все-таки самой информативной: тестированию производительности в реальных приложениях. К слову, чтобы не делать ее совсем традиционной, не так давно мы весьма существенно поменяли состав тестового ПО, чему была посвящена . Соответственно, тесты, представленные ниже, проведены по новой методике, причем она несколько модифицирована даже по отношению к той, что была описана в статье (надеемся, в лучшую сторону).

Конфигурация тестовых стендов

  • Процессоры
    • Intel Pentium 4 eXtreme Edition 3.73 (266x14) ГГц, LGA775, 2 МБ L2
    • Intel Pentium 4 660 (200x18 ГГц), LGA775, 2 МБ L2
    • Intel Pentium 4 eXtreme Edition 3.46 (266x13) ГГц, LGA775, 512 КБ L2, 2 МБ L3
    • Intel Pentium 5 560 (200x18 ГГц), LGA775, 1 МБ L2
    • AMD Athlon 64 FX-55 (2.6 ГГц, Socket 939)
  • Системные платы
    • ASUS P5AD2-E Premium (чипсет i925XE, Socket 775)
    • Инженерный образец платы на чипсете ATI Xpress 200P (RX480, Socket 939)
    • Albatron K8X890 Pro (чипсет VIA K8T890, Socket 939)
  • Память
    • 2x512 МБ PC3200 (DDR400) DDR SDRAM DIMM Corsair, 2-2-2-5
    • 2x512 МБ PC2-4300 (DDR2-533) DDR2 SDRAM DIMM Corsair, 4-4-4-11
  • Видеокарта ATI Radeon X800 256 MB (PCI Express x16)
  • Жесткий диск Samsung SP1614C (SATA), 7200 об/мин, 8 МБ кэша
  • Windows XP Professional SP2, DirectX 9.0c
  • ATI CATALYST 5.2 (Display Driver 6.14.10.6512)

Небольшой комментарий к конфигурации тестовых стендов: некоторые, быть может, заметят, что в качестве основы для стенда на базе AMD Athlon 64 FX-55 указаны две платы. Дело в том, что ввиду новизны чипсетов для Socket 939 с поддержкой PCI Express, мы решили «подстраховаться», поэтому некоторые тесты выборочно запускали на двух платах, чтобы сравнить результаты. Никаких существенных различий выявлено не было, поэтому на диаграммах вы наблюдаете только один столбец, соответствующий данному процессору.

Также легко заметить, что в качестве оппонента новым процессорам был выбран всего один CPU от AMD. Нам это кажется вполне логичным: мы исследуем производительность топовых решений от Intel, поэтому в качестве ориентира вполне хватит самого быстрого на данный момент процессора AMD. Присутствие других CPU от Intel также объяснимо: новому Pentium 4 XE вполне закономерно противостоит предыдущий, с такой же как у него 1066-мегагерцевой шиной, а Pentium 4 660 соревнуется с Pentium 4 560, от которого он отличается, по сути, только увеличенным в два раза кэшем второго уровня (наличие поддержки EM64T при тестировании под 32-битной версией Windows не актуально, а всевозможные продвинутые технологии энергосбережения при 100% загрузке процессора, по идее, работать не должны). Результаты тестов«Полусинтетика»

CPU RightMark (RMCPU 2004B)

Большой кэш новых процессоров Intel не дал им возможности совершить большой количественный рывок, но зато позволил произвести рывок качественный: ранее (об этом можно судить по результатам Pentium 4 560) у Intel не было «обычного» (не eXtreme Edition) процессора, который мог бы обогнать «экстремала» от AMD. Сейчас такой процессор есть: Pentium 4 660. Однако даже несмотря на большой объем кэша, Lightwave 8 по-прежнему не шибко любит ядро Prescott (в том числе 2M-модификацию), оно в данной программе «берет свое» явно «числом» (мегагерцами, кэшем), но не «умением». Доказательство этому - результат по-прежнему никем не превзойденного Pentium 4 eXtreme Edition 3.46 GHz на старом ядре Gallatin. Работа с растровой графикой
и допечатная подготовка

Основным тестом в данном разделе является скрипт для Adobe Photoshop CS (8), разработанный в нашей тестовой лаборатории. Он включает в себя наиболее часто повторяемые действия: фильтры Blur и Sharpen, изменение цветовой модели (RGB -> CMYK -> Lab), эффекты освещения, вращение изображения, изменение размера, операции типа «Transform». Действия производятся над реальной фотографией, снятой с помощью цифровой камеры. Также по просьбе достаточно большого количества читателей в раздел добавлено тестирование с помощью Adobe Acrobat Distiller - преобразование формата PS в PDF..

Adobe Photoshop CS (8)

Пестрая картина, однако объяснимая: старое ядро Intel и архитектура AMD не в чести, хороши Prescott. Новая модификация этого ядра с двухмегабайтным кэшем не намного быстрее старой — видимо, дальнейшее наращивание его объема для Photoshop не критично.

Adobe Acrobat 6 Distiller

Adobe Acrobat Distiller отдает безоговорочное предпочтение архитектуре от Intel - NetBurst, причем как более старой ее разновидности в лице P4 XE 3.46 МГц, так и новым процессорам с ядром Prescott[-2M]. В целом: ярко выраженный пример приложения, где ведущую роль играет частота. Сравним соотношения: Pentium 4 560 выполнил задачу на 46% быстрее, чем Athlon 64 FX-55. Соотношение частот: 3600/2600, частота P4 560 больше на 38%. Да, все-таки архитектура тут явно «причем», но все-таки цифры получились более-менее сопоставимые… CAD/CAM

SolidWorks 2003

Традиционно для многих тестов SPECapc, тестовый скрипт имитирует работу пользователя и в итоге выдает четыре результата: общий балл, производительность графической подсистемы, подсистемы ввода/вывода, и процессора. Стоит заметить, что для SPECapc for SolidWorks 2003 система оценки скорости в баллах сохранена, но наилучшим является меньший результат.

Архитектурные предпочтения SolidWorks 2003 ясны: с очень большим отрывом победил процессор AMD. Далее все менее понятно, но попробуем докопаться до истины. Итак, большой кэш сам по себе, похоже, не очень важен: преимущество Pentium 4 660 над Pentium 4 560 не очень велико. P3 XE 3.46 тоже не впечатляет: несмотря на шину, он проигрывает Pentium 4 660. Предположим, что за счет старого ядра - вполне логичное предположение, не так ли? Тогда получается, что архитектуре NetBurst может помочь только комбинация из трех составляющих: большой кэш, Prescott-подобное ядро, и быстрая системная шина 1066 MHz. А дальше - только частоту наращивать… Кодирование медиаданных

В данном разделе объединено все что связано с кодированием видео- и аудиоинформации, то есть классическое преобразование WAV -> MP3, а также сжатие видеоданных посредством наиболее распространенных кодеков.

Кодирование аудиоданных

Старый, добрый LAME… Ввиду громадного количества пресетов, и не меньшего количества их ярых поклонников, мы пошли по компромиссному пути: исследуется кодирование с максимально возможным качеством: (320 kbps CBR, q=0) и кодирование VBR от 160 до 320 kbps с «высоким» (опция «-q 2», или просто «-h») качеством, после чего от полученных результатов берется среднее геометрическое.

Введение в тест второго подтеста, откуда убрана «нелюбимая» процессорами AMD опция Q=0, кардинально ситуации не изменило, и причина проста: при наборе опций «-b 160 -B 320 -m j -q 2 -V 0» все процессоры пришли к финишу практически одновременно: наихудший результат (Pentium 4 560) равен одной минуте и шести секундам, а наилучший (Athlon 64 FX-55, Pentium 4 eXtreme Edition 3.73 GHz, Pentium 4 660)… одной минуте ровно. Таким образом, между «рядом стоящими» процессорами от обоих производителей, разницы между кодированием MP3 с помощью LAME в режимах с Q>0, можно сказать, просто не существует. А при Q=0 выигрывают процессоры Intel Pentium 4. Кстати, обратите внимание, что наилучший результат из подгруппы Pentium 4 отнюдь не у нового ядра.

Кодирование видеоданных (MPEG4)

Результат, представленный на диаграмме ниже — это плод компромисса между желанием охватить максимально большое количество широко распространенных кодеков, и нежеланием загромождать статью диаграммами. Вы видите перед собой усредненное время кодирования тестового файла тремя кодеками: DivX, XviD, и Windows Media Video 9. Чтобы успокоить тех, кто боится эффекта «средней температуры по больницe», уточним: распределение мест отдельно по каждому кодеку, и на сводной диаграмме — оказалось одинаковым.

Мы первый раз тестируем Athlon 64 FX-55, и не обошлось без сюрприза: несмотря на то, что в кодировании видео традиционно сильны процессоры Intel, первое место занял все-таки топовый CPU от AMD. Впрочем, легко заметить, что преимущество это весьма невелико, и по большому счету, все процессоры справились с задачей вполне успешно, и отдавать предпочтение в данном случае следует, несомненно, самому дешевому, а не самому быстрому: разницы в той быстроте — единицы процентов…

Кодирование видеоданных (MPEG2)

По многочисленным пожеланиям читателей, в данном тесте теперь используется кодер от Canopus — ProCoder 2 (ранее мы использовали Mainconcept MPEG Encoder 1.4).

Еще один тест, который очень «не нравился» поклонникам AMD, причем настолько, что они даже упрекали нас в предвзятости: дескать, мы используем Mainconcept MPEG Encoder специально чтобы «вытянуть» процессоры Intel. Будем надеяться, что против рекомендованного ими же Canopus ProCoder у них возражений не возникнет. И что в результате? А в результате Pentium 4 все равно лучше:). Визуализация трехмерной графики

Современные трехмерные игры

Для всех игр мы используем режим 640x480x32 с минимальными настройками качества, поэтому, строго говоря, на тестирование реальной производительности в играх данный раздел претендовать не может. Однако он не мог бы претендовать на эту роль и в том случае если бы установки были более реалистичными, так как в любом случае мы используем всего одну видеокарту — а производительность в играх зависит от этого компонента никак не меньше, чем от процессора.

Зачем нужен данный тест? В общем-то, больше из теоретического интереса, чем из практического. Сведя к минимуму влияние видеокарты, мы анализируем процессорные предпочтения игровых движков . Разумеется, если бы использовалась только одна игра, это было бы малоинтересно. Однако четыре современные игры, если их результат усреднить, дают возможность с более высокой степенью приближения ответить на вопрос: «Какие CPU предпочитают современные игровые движки»? В дальнейшем мы, вполне возможно, введем в тесты еще больше игр, но анализировать будем только последнюю диаграмму: сводную. И именно с той точки зрения, что описана выше.

Убедительная победа процессора AMD, и, похоже, одна из самых убедительных побед в данном тестировании. Можно, конечно, вспомнить Adobe Distiller, но там все-таки одно приложение, а здесь — сводная диаграмма по результатам четырех тестов. Рискнем предположить, что даже пока отсутствующий в списке Half-Life 2 при любом исходе вряд ли смог бы переломить ситуацию, так что для современных игр мы с чистой совестью можем рекомендовать процессоры AMD. Конечно, в «настоящих» игровых режимах преимущество процессора будет намного менее очевидно, так как скажется влияние видеокарты, но если одно число больше другого — то на сколько их не дели, второе больше первого все равно не станет, не так ли?

Пакеты трехмерного моделирования

Достаточно просто трактуемая диаграмма: чем больше кэш — тем лучше. Группы так и распределились: внизу два процессора с 1 МБ L2, чуть повыше — два процессора с двухмегабайтным кэшем (видимо, тесту все равно, какого он уровня), еще выше — CPU с двухмегабайтным кэшем и быстрой шиной 1066 МГц. Заключение

Для начала приведем небольшую табличку, позволяющую, как нам кажется, наиболее интересным (хотя и не бесспорным!) способом оценить результаты всех тестов в совокупности. В ней снова приведены результаты всех процессоров во всех тестах, но уже в процентном отношении, при этом за 100% берется наихудший результат (понятно, что в зависимости от теста его показывают разные CPU). А в конце полученные проценты сведены вместе методом простейшего среднего арифметического. Разумеется, такая оценка весьма приблизительна, так как предусматривает, что нас в равной степени интересуют результаты всех тестов, однако, учитывая многообразие вкусов различных пользователей, нам такой метод представляется, как минимум, ничуть не менее предпочтительным, нежели любой другой. Для удобства просмотра худшие результаты (100%) выделены красным, а лучшие — синим.

Тест Athlon 64
FX-55
Pentium 4
560
Pentium 4
660
Pentium 4
XE 3.46 GHz
Pentium 4
XE 3.73 GHz
CPU RM (solver) 129% 106% 106% 100% 110%
CPU RM (render) 100% 120% 120% 101% 124%
7-Zip 100% 102% 105% 106% 110%
WinRAR 121% 100% 106% 112% 115%
3ds max 6 (interactive) 126% 100% 103% 102% 108%
Maya 6 (CPU) 113% 100% 104% 101% 114%
Maya 6 (overall) 105% 100% 104% 107% 109%
Lightwave 3D 8 106% 100% 107% 113% 111%
Adobe Photoshop CS 104% 112% 114% 100% 120%
Adobe Distiller 6 100% 147% 152% 156% 157%
SolidWorks 2003 132% 100% 105% 103% 116%
LAME 100% 125% 126% 134% 130%
MPEG4 106% 101% 101% 100% 105%
MPEG2 100% 113% 113% 107% 115%
Games 128% 100% 102% 104% 110%
SPEC viewperf 102% 100% 111% 108% 117%
Overall 111% 108% 111% 110% 117%

Итак, если рассматривать вышеприведенную таблицу в качестве оснований для выводов, то основных выводов будет два:

  1. В общем зачете новый топовый процессор Intel вырвал пальму первенства из рук AMD (так и представляешь себе, как он ее, прямо с корнем, вырывает…), более того: новый «неэкстремальный» Pentium 4 660 идет с Athlon 64 FX-55 наравне, обгоняя при этом предыдущий P4 XE от самой Intel. Глядя на эту безрадостную картину, начинаешь понимать всю тщету гонки за громкими названиями типа «eXtreme Edition» или «FX»: что в них толку, если через мизерный срок (не более полугода) выйдет обычный процессор, который окажется быстрее?
  2. Разница между худшим и лучшим показателями составляет… 9%. То есть если брать производительность рассмотренных нами процессоров «в среднем», вероятность того, что пользователь сможет почувствовать разницу в скорости систем на их основе — чрезвычайно мала . Как общеизвестно, чувствительность человека намного ниже чувствительности бенчмарка. Возникает, соответственно, законный вопрос: а не много ли шума из ничего? Впрочем, на него каждый отвечает самостоятельно.

Мы лишь можем констатировать: с точки зрения сравнения производительности топовых CPU, все по-прежнему сводится к продолжающемуся спору о том, «кто хозяин горы», то есть занимает формальное первое место. Кажется, уже всем без исключения понятно, что решения, которое разгромит конкурента в пух и прах, ни один из производителей предоставить не в состоянии. Или не хочет. Что, к слову, не так уж фантастично, как кажется на первый взгляд. Возможна и вариация, совмещающая в себе оба варианта: один осознанно «притормаживает» выход своего нового продукта, второй же рвется к вершине, достигает ее… и через некоторое время получает в качестве ответа давно готовый к выпуску CPU от конкурента. Какой из этих трех вариантов имеет место на самом деле, мы, скорее всего, не узнаем… да и не особенно хочется, честно говоря. Ибо причин может быть масса, а следствие все равно одно: быстродействие CPU растет, но не скачкообразно, а небольшими, четко отмеренными порциями, а смена формального лидера столь же неизбежна как пришествие нового времени года. Впрочем, так или иначе, шоу продолжается! Зритель, правда, порядком подустал. Поэтому наш прогноз на будущее несколько парадоксален: к тому времени, когда два ведущих конкурента на рынке x86 CPU наконец-то сподобятся окончательно выяснить, кто из них делает самые быстрые процессоры — это уже мало кого будет интересовать:).

Впрочем, все вышесказанное отнюдь не мешает поздравить Intel с очередной победой. В конце концов, не так важно, кто победил — важно, что в очередной раз планка производительности поднята еще выше. До тех пор, пока ее кто-нибудь время от времени поднимает, можно не переживать за индустрию в целом: куда-то она все-таки движется…

Через несколько дней после официального представления AMD своего последнего процессора Athlon64 FX-53, Intel решила объявить о выпуске на рынок 3,4-ГГц версии Prescott, которая позиционируется на конкуренцию с Athlon64, а не с Athlon64 FX-53, несмотря на одинаковый размер кэша.

Хотя стратегия Intel по гонке тактовых частот пока оказывалась вполне успешной, сегодня становится всё труднее находить аргументы в пользу процессора Prescott, который плохо наращивает свою производительность по сравнению с чипами AMD, использующими встроенный контроллер памяти.

Да, Intel нужна быстрая платформа со всеми выпестованными особенностями типа Socket 775, PCI Express и памятью DDR2, но на тактовую частоту процессора уповать уже не приходится. Это урок, который Intel уже пришлось выучить на серверном рынке, поскольку AMD получает всё более широкую поддержку своего семейства Opteron. И Pentium 4 Prescott не слишком хорошо соответствует репутации Intel, ведь его тепловой пакет TDP составляет более сотни ватт - при этом процессор не даёт сколько-нибудь ощутимых преимуществ по сравнению с предшественником Northwood.

Intel, конечно же, не почивает на лаврах - сегодня компания находится в процессе внедрения нового степпинга D0 ядра Prescott, который позволит процессору достичь тактовой частоты вплоть до 4 ГГц - как и упоминается в планах компании. Поскольку не все 3,4-ГГц версии Prescott имеют степпинг D0, мы решили привести таблицу, которая поможет отличить старые и новые процессоры Prescott.

По информации Intel, последний степпинг позволит увеличивать тактовую частоту из-за внесённых оптимизаций потребления энергии. Однако тепловой пакет нового процессора не изменился и остался на уровне 103 Вт максимум. Хотя процессор и кажется улучшенным по сравнению с 3,2-ГГц версией, его тепловыделение всё ещё несколько непропорционально по отношению к тактовой частоте. В любом случае, при покупке следует быть готовым к высокому тепловыделению процессора.

CPU-Z правильно определяет новый процессор Pentium 4: Model 3, Stepping 3 (CPUID 0F34h). Перед нами старый степпинг C0.

Новый процессор нагревается чуть сильнее.

Pentium 4: обзор моделей

Как вы, наверняка, знаете, Pentium 4 Prescott является ядром Pentium 4 третьего поколения. Первое, под кодовым названием Willamette, приобрела немалую популярность из-за увеличения производительности по сравнению с Pentium III Tualatin, в то же время потребляя намного больше энергии.

Второе поколение ядра под названием Northwood изготавливалось по 130-нм техпроцессу - на сегодня его по-прежнему можно называть лучшим ядром Pentium 4, поскольку процессор обеспечивает приличную производительность и неплохие возможности по "разгону". Мы уже смогли заставить несколько процессоров Northwood работать на частоте больше 4 ГГц - причём с обычными кулерами.

Сегодня на рынке присутствует большое число процессоров Pentium 4, базирующихся на ядрах Northwood или Prescott. Тактовые частоты сегодня начинаются на отметке 2,4 ГГц и заканчиваются на 3,4 ГГц, причём на этом отрезке потребитель может выбирать 20 разных моделей. Чтобы вы смогли лучше представлять себе ситуацию с процессорами Pentium 4, мы свели все модели вместе в краткую таблицу:

Процессор FSB Частота ядра Ядро HT
Pentium 4 400 МГц 2,0, 2,2, 2,4, 2,6 ГГц Northwood Нет
Pentium 4 B 533 МГц 2,4 ГГц Northwood Нет
Pentium 4 533 МГц 2,26, 2,53, 2,66, 2,8 ГГц Northwood Нет
Pentium 4 533 МГц 3,06 ГГц Northwood Да
Pentium 4 C 800 МГц 2,4, 2,6, 2,8 ГГц Northwood Да
Pentium 4 800 МГц 3,0, 3,2, 3,4 ГГц Northwood Да
Pentium 4 A 533 МГц 2,8 ГГц Prescott Нет
Pentium 4 E 800 МГц 2,8, 3,0, 3,2, 3,4 ГГц Prescott Да

Чем дальше располагается буква по алфавиту, тем лучше процессор вы получите. Однако это относится только к сравнению двух различных моделей с одинаковой тактовой частотой - типа Pentium 4 на 2,4 ГГц и FSB400 в сравнении с Pentium 4 B на 2,4 ГГц и FSB533. Pentium 4 C работает на FSB800 и поддерживает Hyper-Threading. Единственным исключением является Pentium 4 3,06 ГГц, который работает на FSB533 - и является первым процессором, поддерживающим Hyper-Threading. Буква E обозначает модели Prescott с 1-Мбайт кэшем L2, в то же время версии этого ядра с FSB533 обозначаются буквой A.

Intel вводит номера моделей

Существует много причин, по которым лучше использовать модельные номера, а не тактовые частоты. Во-первых, в номере можно учесть множество технологических деталей, типа FSB, размера кэша, частоты или дополнительных функций - Hyper-Threading и т.д. Во-вторых, исчезнет путаница между разными версиями процессоров с одинаковой тактовой частотой - в результате чего обычный покупатель легко выберет самый быстрый процессор. В-третьих, в индустрии существует множество примеров успешного использования модельных номеров - скажем та же AMD с семейством Opteron 14x, 24x и 84x. Первая цифра номера указывает поддержку числа процессоров: 1 - для одного процессора, 2 - для двухпроцессорных систем и т.д. Цифра x может быть 2, 4, 6 и 8 - что указывает на частоты 1,6, 1,8, 2,0 и 2,2 ГГц.

Наконец, мы должны подумать о процессорах Intel Pentium M, тем более что вскоре появится новая версия с техпроцессом 90-нм (Dothan). Поскольку этот чип будет существенно быстрее Banias из-за увеличенных тактовых частот, Intel будет очень трудно аргументировать покупку 3-ГГц настольного процессора Prescott, который в некоторых приложениях работает медленнее 2,0-ГГц Dothan.

По нашим источникам, тактовые частоты должны полностью исчезнуть из названий процессоров Intel. Поскольку число доступных моделей процессоров вряд ли уменьшится, такой шаг нам кажется вполне логичным. Будущая система именования процессоров будет выглядеть примерно так: процессор Pentium 4 будет дополняться номером 5xx, а линейка Celeron - номером Celeron 3xx.

Мобильные процессоры Настольные процессоры
Производительный сегмент рынка Pentium M 755 (2,0 ГГц)
Pentium M 745 (1,8 ГГц)
Pentium M 735 (1,7 ГГц)
Pentium M 725 (1,6 ГГц)
Pentium M 715 (1,5 ГГц)
Pentium 4 Extreme Edition
Массовый сегмент рынка Pentium 4 Mobile Pentium 4 560 (3,6 ГГц)
Pentium 4 550 (3,4 ГГц)
Pentium 4 540 (3,2 ГГц)
Pentium 4 530 (3,0 ГГц)
Pentium 4 520 (2,8 ГГц)
"Бюджетный" сегмент рынка Celeron M 340 (1,5 ГГц)
Celeron M 330 (1,4 ГГц)
Celeron M 320 (1,3 ГГц)
Celeron D 340 (2,93 ГГц)
Celeron D 330 (2,8 ГГц)
Celeron D 320 (2,66 ГГц)
Celeron D 310 (2,53 ГГц)


Казалось бы не так уж и давно вышел Pentium 4 2,8 ГГц, но неугомонная компания Intel видать настолько горда способностью своего нового процессорного ядра к постоянному «разгону», что не дает нам покоя анонсами все новых и новых процессоров:). Однако сегодняшний наш герой отличается от предыдущей топовой модели не только на 200 с небольшим мегагерц — то, о чем давно мечтали некоторые особо продвинутые пользователи, наконец-то свершилось: технология эмуляции двух процессоров на одном процессорном ядре, ранее бывшая достоянием лишь сверхдорогих Xeon, наконец-то «освобождена» и отправлена в «свободное десктопное плавание». Хотите двухпроцессорный домашний компьютер? Их есть у нас! Все последующие модели Pentium 4, начиная с рассматриваемой в этом материале, будут обладать поддержкой Hyper-Threading. Однако кто-то может вполне резонно поинтересоваться: «А зачем мне двухпроцессорная машина дома? У меня же не сервер какой-нибудь!». И действительно — зачем? Именно это мы и постарались объяснить ниже. Итак: Hyper-Threading — что это такое и зачем он может быть нужен в обычных персональных компьютерах?

SMP и Hyper-Threading: «галопом по европам»

Для начала, давайте сделаем вид, что начинаем «с чистого листа» т. е. механизмы функционирования многопроцессорных систем нам неизвестны. Мы не собираемся начинать данной статьей цикл монографий, посвященных этому вопросу:), поэтому сложных моментов, связанных, к примеру, с виртуализацией прерываний и прочими вещами, трогать не будем. Фактически, нам нужно просто представлять как работает классическая SMP(Symmetric Multi-Processor)-система с точки зрения обычной логики. Нужно это хотя бы потому, что не так уж велико количество пользователей, хорошо себе представляющих как работает SMP-система, и в каких случаях от использования двух процессоров вместо одного можно ожидать реального увеличения быстродействия, а в каких — нет. Честное слово, один из авторов этого материала как-то угробил часа полтора времени, доказывая своему, скажем так, «не бедному» другу, что Unreal Tournament у него на многопроцессорной машине будет работать ничуть не быстрее, чем на обычной:). Смешно? Уверяю вас — только со стороны. Итак, представим, что у нас есть, к примеру, два процессора (остановимся на этом, самом простом примере) вместо одного. Что это нам дает?

В общем-то… ничего. Потому что в дополнение к этому нам нужна еще и операционная система, умеющая эти два процессора задействовать. Система эта должна быть по определению многозадачной (иначе никакого смысла в наличии двух CPU просто быть не может), но кроме этого, ее ядро должно уметь распараллеливать вычисления на несколько CPU. Классическим примером многозадачной ОС, которая этого делать не умеет, являются все ОС от Microsoft, называемые обычно для краткости «Windows 9x» — 95, 95OSR2, 98, 98SE, Me. Они просто-напросто не могут определить наличие более чем одного процессора в системе… ну и, собственно, дальше объяснять уже нечего:). Поддержкой SMP обладают ОС этого же производителя, построенные на ядре NT: Windows NT 4, Windows 2000, Windows XP. Также в силу своих корней, этой поддержкой обладают все ОС, основанные на идеологии Unix — всевозможные Free- Net- BSD, коммерческие Unix (такие как Solaris, HP-UX, AIX), и многочисленные разновидности Linux. Да, к слову — MS DOS многопроцессорность в общем случае тоже «не понимает»:).

Если же два процессора все же определились системой, то дальнейший механизм их задействования в общем-то (на «логическом», подчеркнем, уровне!) довольно-таки прост. Если в данный момент времени исполняется одно приложение — то все ресурсы одного процессора будут отданы ему, второй же будет просто простаивать. Если приложений стало два — второе будет отдано на исполнение второму CPU, так что по идее скорость выполнения первого уменьшиться не должна вообще никак. Это в примитиве. Однако на самом деле все сложнее. Для начала: исполняемое пользовательское приложение у нас может быть запущено всего одно, но количество процессов (т. е. фрагментов машинного кода, предназначенных для выполнения некой задачи) в многозадачной ОС всегда намного больше. Начнем с того, что сама ОС — это тоже приложение… ну и не будем углубляться — логика понятна. Поэтому на самом деле второй CPU способен немного «помочь» даже одиночной задаче, взяв на себя обслуживание процессов, порожденных операционной системой. Опять-таки, к слову об упрощениях — именно так, идеально, разделить CPU между пользовательским приложением и ОС, конечно, все равно не получится, но, по крайней мере, процессор, занятый исполнением «полезной» задачи, будет меньше отвлекаться.

Кроме того, даже одно приложение может порождать потоки (threads), которые при наличии нескольких CPU могут исполняться на них по отдельности. Так, например, поступают почти все программы рендеринга — они специально писались с учетом возможности работы на многопроцессорных системах. Поэтому в случае использования потоков выигрыш от SMP иногда довольно весо м даже в «однозадачной» ситуации. По сути, поток отличается от процесса только двумя вещами — он во-первых никогда не порождается пользователем (процесс может запустить как система, так и человек, в последнем случае процесс = приложение; появление потока инициируется исключительно запущенным процессом), и во-вторых — поток умирает вместе с родительским процессом независимо от своего желания — к примеру, если родительский процесс «глюкнул и упал» — все порожденные им потоки ОС считает бесхозными и «прибивает» уже сама, автоматически.

Также не стоит забывать, что в классической SMP-системе оба процессора работают каждый со своим кэшем и набором регистров, но память у них общая. Поэтому если две задачи одновременно работают с ОЗУ, мешать они друг другу будут все равно, даже если CPU у каждой «свой собственный». Ну и наконец последнее: в реальности мы имеем дело не с одним, не с двумя, и даже не с тремя процессами. На приведенном коллаже (это действительно коллаж, потому что со скриншота Task Manager были удалены все пользовательские процессы, т. е. приложения, запускаемые «для работы») хорошо видно, что «голая» Windows XP, сама по себе, не запустив еще ни одного приложения, уже породила 12 процессов, причем многие из них к тому же еще и многопоточные, и общее количество потоков достигает двухсот восьми штук (!!!).

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

Теперь, разобравшись с «физической» многопроцессорностью, перейдем к Hyper-Threading. Фактически — это тоже многопроцессорность, только… виртуальная. Ибо процессор Pentium 4 на самом деле один — вот он, стоит в сокете, сверху кулер пришлепнут:). Второго сокета — нет. А процессоров ОС видит — два. Как это? В общем-то, очень просто. Смотрим на рисунок.

Здесь нам придется все-таки немного углубиться в технические детали, потому что иначе, увы, что-либо объяснить не получится. Впрочем, те, кому оные детали неинтересны, могут данный абзац просто пропустить. Итак, классическому «одноядерному» процессору в нашем случае добавили еще один блок AS — IA-32 Architectural State. Architectural State содержит состояние регистров (общего назначения, управляющих, APIC, служебных). Фактически, AS#1 плюс единственное физическое ядро (блоки предсказания ветвлений, ALU, FPU, SIMD-блоки и пр.) представляет из себя один логический процессор (LP1), а AS#2 плюс все то же физическое ядро — второй логический процессор (LP2). У каждого LP есть свой собственный контроллер прерываний (APIC — Advanced Programmable Interrupt Controller) и набор регистров. Для корректного использования регистров двумя LP существует специальная таблица — RAT (Register Alias Table), согласно данным в которой можно установить соответствие между регистрами общего назначения физического CPU. RAT у каждого LP своя. В результате мы получили схему, при которой на одном и том же ядре могут свободно выполняться два независимых фрагмента кода т. е. де-факто — многопроцессорную систему!

Hyper-Threading: совместимость

Кроме того, возвращаясь к вещам практическим и приземленным, хотелось бы затронуть еще один немаловажный аспект: не все ОС, даже поддерживающие многопроцессорность, могут работать с таким CPU как с двумя . Связано это с таким «тонким» моментом, как изначальное определение количества процессоров при инициализации операционной системы. Intel прямо говорит, что ОС без поддержки ACPI второй логический процессор увидеть не смогут. Кроме того, BIOS системной платы также должен уметь определять наличие процессора с поддержкой Hyper-Threading и соответствующим образом «рапортовать» системе. Фактически, применительно, к примеру, к Windows, это означает, что «в пролете» у нас оказывается не только линейка Windows 9x, но и Windows NT — последняя ввиду отсутствия поддержки ACPI не сможет работать с одним новым Pentium 4 как с двумя. А вот что приятно — это то, что несмотря на заблокированную возможность работы с двумя физическими процессорами, с двумя логическими, получаемыми с помощью Hyper-Threading, сможет работать Windows XP Home Edition. А Windows XP Professional, кстати, несмотря на ограничение количества физических процессоров до двух, при двух установленных CPU с поддержкой Hyper-Threading честно «видит» четыре:).

Теперь немного о «железе». То, что новые CPU с частотой более 3 ГГц могут потребовать замены системной платы, знают, наверное, уже все — земля (а точнее — Internet) слухами полнится уже давно. К сожалению, это на самом деле так. Даже при номинальном сохранении все того же процессорного разъема Socket 478 Intel не удалось оставить в неприкосновенности потребляемую мощность и тепловыделение новых процессоров — потребляют они больше, и греются, соответственно, тоже. Можно предположить (хоть это и не подтверждено официально), что увеличение потребления по току связано не только с ростом частоты, но и с тем, что из-за ожидаемого использования «виртуальной многопроцессорности» нагрузка на ядро в среднем вырастет, следовательно, возрастет и средняя потребляемая мощность. «Старые» системные платы в некоторых случаях могут быть совместимы с новыми CPU — но только если делались «с запасом». Грубо говоря, те производители, которые делали свои PCB в соответствии с рекомендациями самой Intel относительно потребляемой Pentium 4 мощности, оказались в проигрыше по отношению к тем, кто немного «перестраховался», поставив на плату VRM с запасом и соответствующим образом ее разведя. Но и это еще не все. Кроме ОС, BIOS и электроники платы, с технологией Hyper-Threading должен быть совместим еще и чипсет . Поэтому счастливыми обладателями двух процессоров по цене одного:) смогут стать только те, чья системная плата основана на одном из новых чипсетов с поддержкой 533 МГц FSB: i850E, i845E, i845PE/GE. Несколько особняком стоит i845G — первая ревизия этого набора микросхем Hyper-Threading не поддерживает , более поздняя — уже совместима.

Ну, вот, вроде бы с теорией и совместимостью разобрались. Но не будем спешить. ОК, у нас есть два «логических» процессора, у нас есть Hyper-Threading, вау! — это круто. Но как уже было сказано выше, физически у нас процессор как был один, так и остался. Зачем же тогда нужна такая сложная «эмуляционная» технология, отбрасывая то, что можно горделиво демонстрировать Task Manager с графиками загруженности двух CPU друзьям и знакомым?

Hyper-Threading: зачем она нужна?

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

Так было с Pentium, когда Intel противопоставила весьма шустрому в «целочисленке» AMD Am5x86 мощный FPU. Так было с Pentium II, который получил толстую шину и быстрый кэш второго уровня, благодаря чему за ним так и не смогли угнаться все процессоры Socket 7. Так было (ну, по крайней мере, я считаю это свершившимся фактом) и с Pentium 4, который противопоставил всем остальным наличие поддержки SSE2 и быстрый рост частоты — и тоже де-факто выиграл. Сейчас Intel предлагает нам Hyper-Threading. И мы отнюдь не призываем в священной истерике биться лбом о стенку и кричать «господи помилуй», «аллах велик» или «Intel rulez forever». Нет, мы просто предлагаем задуматься — почему производитель, известный грамотностью своих инженеров (ни слова про маркетологов! :)) и громадными суммами, которые он тратит на исследования, предлагает нам эту технологию.

Объявить Hyper-Threading «очередной маркетинговой штучкой», конечно, проще простого. Однако не стоит забывать, что это технология , она требует исследований, денег на разработку, времени, сил… Не проще ли было нанять за меньшую сумму еще одну сотню PR-менеджеров или сделать еще десяток красивых рекламных роликов? Видимо, не проще. А значит, «что-то в этом есть». Вот мы сейчас и попытаемся понять даже не то, что получилось в результате, а то, чем руководствовались разработчики IAG (Intel Architecture Group), когда принимали решение (а такое решение наверняка принималось!) — разрабатывать «эту интересную мысль» дальше, или отложить в сундук для идей забавных, но бесполезных.

Как ни странно, для того чтобы понять как функционирует Hyper-Threading, вполне достаточно понимать как работает… любая многозадачная операционная система. И действительно — ну ведь исполняет же каким-то образом один процессор сразу десятки задач? Этот «секрет» всем уже давно известен — на самом деле одновременно все равно выполняется только одна (на однопроцессорной системе), просто переключение между кусками кода разных задач выполняется настолько быстро, что создается иллюзия одновременной работы большого количества приложений.

По сути, Hyper-Threading предлагает нам то же самое, но реализована аппаратно, внутри самого CPU. Есть некоторое количество различных исполняющих блоков (ALU, MMU, FPU, SIMD), и есть два «одновременно» исполняемых фрагмента кода. Специальный блок отслеживает, какие команды из каждого фрагмента необходимо выполнить в данный момент, после чего проверяет, загружены ли работой все исполняющие блоки процессора. Если один из них простаивает, и именно он может исполнить эту команду — ему она и передается. Естественно, существует и механизм принудительного «посыла» команды на выполнение — в противном случае один процесс мог бы захватить весь процессор (все исполняющие блоки) и исполнение второго участка кода (исполняемого на втором «виртуальном CPU») было бы прервано. Насколько мы поняли, данный механизм (пока?) не является интеллектуальным т. е. не способен оперировать различными приоритетами, а просто чередует команды из двух разных цепочек в порядке живой очереди т. е. просто по принципу «я твою команду исполнил — теперь уступи место другому потоку». Если, конечно, не возникает ситуации, когда команды одной цепочки по исполняющим блокам нигде не конкурируют с командами другой. В этом случае мы получаем действительно на 100% параллельное исполнение двух фрагментов кода.

Теперь давайте подумаем, чем Hyper-Threading потенциально хороша, и чем — нет. Самое очевидное следствие ее применения — повышение коэффициента полезного действия процессора. Действительно — если одна из программ использует в основном целочисленную арифметику, а вторая — выполняет вычисления с плавающей точкой, то во время исполнения первой FPU просто ничего не делает, а во время исполнения второй — наоборот, ничего не делает ALU. Казалось бы, на этом можно закончить. Однако мы рассмотрели лишь идеальный (с точки зрения применения Hyper-Threading) вариант. Давайте теперь рассмотрим другой: обе программы задействуют одни и те же блоки процессора. Понятно, что ускорить выполнение в данном случае довольно сложно — ибо физическое количество исполняющих блоков от «виртуализации» не изменилось. А вот не замедлится ли оно? Давайте разберемся. В случае с процессором без Hyper-Threading мы имеем просто «честное» поочередное выполнение двух программ на одном ядре с арбитром в виде операционной системы (которая сама представляет собой еще одну программу), и общее время их работы определяется:

  1. временем выполнения кода программы №1
  2. временем выполнения кода программы №2
  3. временными издержками на переключение между фрагментами кода программ №1 и №2

Что мы имеем в случае с Hyper-Threading? Схема становится немного другой:

  1. время выполнения программы №1 на процессоре №1 (виртуальном)
  2. время выполнения программы №2 на процессоре №2 (виртуальном)
  3. время на переключение одного физического ядра (как набора требуемых обеим программам исполняющих блоков) между двумя эмулируемыми «виртуальными CPU»

Остается признать, что и тут Intel поступает вполне логично : конкурируют между собой по быстродействию у нас только пункты за номером три, и если в первом случае действие выполняется программно-аппаратно (ОС управляет переключением между потоками, задействуя для этого функции процессора), то во втором случае мы фактически имеем полностью аппаратное решение — процессор все делает сам. Теоретически, аппаратное решение всегда оказывается быстрее. Подчеркнем — теоретически. Практикум у нас еще впереди.

Но и это еще не все. Также одним из серьезнейших… нет, не недостатков, а скорее, неприятных моментов является то, что команды, увы, не исполняются в безвоздушном пространстве, но вместо этого Pentium 4 приходится иметь дело с классическим x86-кодом, в котором активно используется прямое адресование ячеек и даже целых массивов, находящихся за пределами процессора — в ОЗУ. Да и вообще, к слову, большинство обрабатываемых данных чаще всего находится там:). Поэтому «драться» между собой наши виртуальные CPU будут не только за регистры, но и за общую для обоих процессорную шину, минуя которую данные в CPU попасть просто не могут. Однако тут есть один тонкий момент: на сегодняшний день «честные» двухпроцессорные системы на Pentium III и Xeon находятся в точно такой же ситуации ! Ибо наша старая добрая шина AGTL+, доставшаяся в наследство всем сегодняшним процессорам Intel от знаменитого Pentium Pro (в дальнейшем ее лишь подвергали модификациям, но идеологию практически не трогали) — ВСЕГДА ОДНА, сколько бы CPU ни было установлено в системе. Вот такой вот «процессорный коаксиал»:). Отойти от этой схемы на x86 попробовала только AMD со своим Athlon MP — у AMD 760MP/760MPX от каждого процессора к северному мосту чипсета идет отдельная шина. Впрочем, даже в таком «продвинутом» варианте мы все равно убегаем от проблем не очень далеко — ибо уж что-что, а шина памяти у нас точно одна — причем вот в этом случае уже везде (напоминаем, разговор идет про x86-системы).

Однако нет худа без добра, и даже из этого в общем-то не очень приятного момента Hyper-Threading может помочь извлечь какую-то пользу. Дело в том, что по идее мы должны будем наблюдать существенный прирост производительности не только в случае с несколькими задачами, использующими разные функциональные блоки процессора, но и в том случае, если задачи по-разному работают с данными, находящимися в ОЗУ. Возвращаясь к старому примеру в новом качестве — если одно приложение у нас что-то усиленно считает «внутри себя», другое же — постоянно подкачивает данные из ОЗУ, то общее время выполнения их в случае использования Hyper-Threading по идее должно уменьшиться даже если они используют одинаковые блоки исполнения инструкций — хотя бы потому, что команды на чтение данных из памяти смогут обрабатываться в то время, пока наше первое приложение будет что-то усиленно считать.

Итак, подведем итог: технология Hyper-Threading с теоретической точки зрения выглядит весьма неплохо и, мы бы сказали, «адекватно», т. е. соответствует реалиям сегодняшнего дня. Уже довольно редко можно застать пользователя с одним сиротливо открытым окном на экране — всем хочется одновременно и музыку слушать, и по Internet бродить, и диски с любимыми MP3 записывать, а может даже, и поиграть на этом фоне в какую-нибудь стрелялку или стратегию, которые, как известно, процессор «любят» ну просто со страшной силой:). С другой стороны, общеизвестно, что конкретная реализация способна иногда своей «кривизной» убить любую самую превосходную идею, и с этим мы тоже не раз встречались на практике. Поэтому закончив с теорией, перейдем к практике — тестам. Они-то и должны нам помочь ответить на второй главный вопрос: так ли хороша Hyper-Threading сейчас — и уже не в качестве идеи, а в качестве конкретной реализации этой идеи «в кремнии». Тестирование

Тестовый стенд:

  • Процессор: Intel Pentium 4 3,06 ГГц с поддержкой технологии Hyper-Threading, Socket 478
  • Материнская плата: Gigabyte 8PE667 Ultra (версия BIOS F3) на чипсете i845PE
  • Память: 512 МБ PC2700(DDR333) DDR SDRAM DIMM Samsung, CL 2
  • Видеокарта: Palit Daytona GeForce4 Ti 4600
  • Жесткий диск: IBM IC35L040AVER07-0, 7200 об/мин

Программное обеспечение:

  • OC и драйверы:
    • Windows XP Professional SP1
    • DirectX 8.1b
    • Intel Chipset Software Installation Utility 4.04.1007
    • Intel Application Accelerator 2.2.2
    • Audiodrivers 3.32
    • NVIDIA Detonator XP 40.72 (VSync=Off)
  • Тестовые приложения:
    • (с поддержкой мультипроцессорности и технологии Hyper-Threading)
    • RazorLame 1.1.5.1342 + Lame codec 3.92
    • VirtualDub 1.4.10 + DivX codec 5.02 Pro
    • WinAce 2.2
    • Discreet 3ds max 4.26
    • BAPCo & MadOnion SYSmark 2002
    • MadOnion 3DMark 2001 SE build 330
    • Gray Matter Studios & Nerve Software Return to Castle Wolfenstein v1.1
    • Croteam/GodGames Serious Sam: The Second Encounter v1.07

Вопреки обычаю, мы не будем сегодня тестировать производительность нового Pentium 4 3,06 ГГц в сопоставлении с предыдущими моделями или же с процессорами-конкурентами. Ибо это по большому счету бессмысленно. Тесты, составляющие нашу методику, не менялись уже довольно продолжительный период времени, и желающие провести необходимые сопоставления могут воспользоваться данными из предыдущих материалов , мы же сосредоточимся на основном моменте, не распыляясь на детали. А основным в этом материале, как, наверное, нетрудно догадаться, является исследование технологии Hyper-Threading и ее влияния на производительность… на производительность чего ? Не столь уж и праздный вопрос, как оказывается. Впрочем, не будем забегать вперед. Начнем с традиционных тестов, через которые мы плавно подойдем (в контексте данного материала) к основным.

Кодирование WAV в MP3 (Lame)
Кодирование VideoCD в MPEG4 (DivX)
Архивация с помощью WinAce с 4-мегабайтным словарем

Хоть сколько-нибудь явного преимущества Hyper-Threading не продемонстрировала, но надо сказать, что мы и шансов-то особых данной технологии не дали — почти все приложения «однопроцессорные», одновременно исполняемых потоков не порождают (проверено!), и, стало быть, в этих случаях мы имеем дело с обычным Pentium 4, которому чуть-чуть подняли частоту. Говорить о каких-то тенденциях на фоне таких мизерных расхождений вряд ли уместно… хотя если все же высасывать их из пальца, то они даже немного в пользу Hyper-Threading.

3ds max 4.26

Классический тест, но в то же самое время — первое из приложений в этом обзоре, которое в явном виде поддерживает многопроцессорность. Конечно, колоссальным преимущество системы с включенной поддержкой Hyper-Threading не назовешь (оно составляет порядка 3%), однако не будем забывать, что в данном случае Hyper-Threading работала далеко не в самой лучшей для себя ситуации: 3ds max реализует поддержку SMP за счет порождения потоков , причем все они используются для одной и той же цели (рендеринг сцены) и, стало быть, содержат примерно одинаковые команды, а потому и работают тоже одинаково (по одной схеме). Мы уже писали, что Hyper-Threading лучше подходит для того случая, когда параллельно исполняются разные программы, задействующие разные блоки CPU. Тем более приятно, что даже в такой ситуации технология смогла «на ровном месте» обеспечить пусть и небольшой, но прирост быстродействия. Ходят слухи, что 3ds max 5.0 дает больший выигрыш при задействовании Hyper-Threading, и учитывая рвение, с которым Intel «проталкивает» свои технологии в области ведения производителей ПО, это как минимум следует проверить. Несомненно, так мы и сделаем, но уже в более поздних материалах на эту тему.

3DMark 2001SE

Результаты в общем-то вполне закономерные, и вряд ли могут вызвать у кого-то удивление. Быть может, лучше все-таки использовать бенчмарки для 3D именно для того, для чего они предназначены — тестирования скорости видеокарт, а не процессоров? Наверное, так оно и есть. Впрочем, результаты, как известно, лишними не бывают. Несколько настораживает чуть меньший балл у системы с задействованной Hyper-Threading. Впрочем, учитывая что разница составляет около 1%, мы бы не делали из этого далеко идущих выводов.

Return to Castle Wolfenstein,
Serious Sam: The Second Encounter

Примерно аналогичная ситуация. Впрочем, мы еще не подобрались даже близко к тестам, способным хоть как-то продемонстрировать плюсы (или минусы) Hyper-Threading. Иногда (на неощутимо малую величину) задействование «псевдо-многопроцессорности» дает отрицательный результат. Однако это не те сенсации, которых мы ждем, не так ли? :) Не слишком помогает даже тестирование со звуком, который, по идее, должен обсчитываться отдельным потоком и потому давать шанс проявить себя второму логическому процессору.

SYSmark 2002 (Office Productivity и Internet Content Creation)

А вот теперь так и хочется во весь голос крикнуть: «Ну, кто сомневался в том, что Hyper-Threading реально способна повысить быстродействие на реальных задачах?!». Результат: +16—20% — действительно ошеломляет. Причем что самое интересное — ведь SYSmark пытается эмулировать именно ту схему работы, которую Intel считает самой «удачной» для технологии Hyper-Threading — запуск различных приложений и одновременная работа с ними. Причем в процессе исполнения своего скрипта, SYSmark 2002 поступает вполне грамотно с точки зрения имитации работы пользователя, «отправляя в background» некоторые приложения, которые уже получили свое «долгосрочное задание». Так, например, кодирование видео происходит на фоне исполнения прочих приложений из скрипта Internet Content Creation, а в офисном подтесте действует вездесущее антивирусное ПО и декодирование речи в текст с помощью Dragon Naturally Speaking. По сути — первый тест, в котором созданы более или менее «вольготные» условия для технологии Hyper-Threading, и она тут же показала себя с наилучшей стороны! Впрочем, мы решили не полагаться во всем на тесты, написанные не нами, и провели «для закрепления эффекта» несколько показательных собственных экспериментов. Экспериментируем с Hyper-Threading

Одновременное выполнение рендеринга в 3ds max и архивирования в WinAce

Вначале на фоне заведомо более длительного процесса архивирования была отрендерена стандартная тестовая сцена в 3ds max. Затем на фоне рендеринга специально растянутой сцены было выполнено стандартное тестовое архивирование файла в WinAce. Результат сравнивался со временем окончания последовательного выполнения тех же самых стандартных тестов. К полученным цифрам применялись два корректирующих коэффициента: для выравнивания времени исполнения заданий (мы полагаем, что эффект ускорения от параллельного выполнения двух приложений может быть корректно подсчитан только при условии одинаковой продолжительности выполняемых заданий) и для «снятия» эффекта от неравномерности выделяемых процессорных ресурсов для foreground-/background-приложений. В итоге мы «насчитали» положительный эффект ускорения на 17% от использования технологии Hyper-Threading.

Итак, впечатляющие результаты SYSmark получили подтверждение в тесте с соседством двух реальных программ. Конечно же, ускорение не двукратное, да и тесты в пару мы выбирали сами, исходя из наиболее благоприятной, по нашему мнению, ситуации для задействования Hyper-Threading. Но давайте задумаемся над этими результатами вот в каком разрезе: процессор, производительность которого мы сейчас исследуем — в общем-то, за исключением поддержки Hyper-Threading — просто давно привычный Pentium 4. Фактически, столбик «без Hyper-Threading» — это то, что мы могли бы видеть если бы эту технологию не стали переводить в десктопы . Несколько другое чувство сразу же возникает, правда? Давайте все-таки не будем жаловаться (по отечественной традиции) на то, что «все не так хорошо, как могло бы быть», а просто подумаем о том, что нам вместе с новым процессором дали еще один способ ускорить выполнение некоторых операций.

Фоновое архивирование в WinAce + проигрывание фильма
Рендеринг в 3ds max + фоновое проигрывание музыки

Методика выполнения теста совершенно тривиальна: в пару к просмотру фильма, сжатого предварительно в формат MPEG4 при помощи кодека DivX, фоном запускалось архивирование в WinAce (разумеется, в случае пропуска кадров и подтормаживания при просмотре, данный тест не имел бы практического смысла, но нареканий на качество просмотра не было). Аналогично, во время рендеринга обычной тестовой сцены в 3ds max фоном проигрывалась (через WinAmp) музыка из файла формата MP3 (и отслеживались не замеченные ни разу в итоге «заикания» звука). Обратите внимание на естественное распределение ролей «главное-фоновое» в каждой паре приложений. В качестве результата, как обычно, бралось время архивации и полного рендеринга сцены соответственно. Эффект от Hyper-Threading в цифрах: +13% и +8%.

Достаточно реальная ситуация, именно такие мы и старались воспроизвести. Вообще (и об этом будет сказано далее) Hyper-Threading не настолько очевидна, как кажется. Простой подход «в лоб» («у нас в ОС видны два процессора — давайте относиться к ним как к двум процессорам») не дает ощутимого эффекта, и возникает даже некоторое чувство обманутости. Однако, возвращаясь к вышесказанному, попробуем оценивать результаты с несколько других позиций: задачи, которые в обычной ситуации исполняются за одно время, в случае задействования Hyper-Threading, выполняются за меньшее время . Кто попробует возразить, что «нечто» хуже, чем «ничто»? В этом-то вся и суть — отнюдь не панацею нам предлагают, а «всего лишь» средство ускорить уже имеющееся процессорное ядро, кардинальных изменений не претерпевшее. Получается? Да. Ну и какие, по большому счету, могут быть еще вопросы? Конечно, до обещанных в пресс-релизе 30% в большинстве случаев оказывается далеко, однако не стоит делать вид, что в жизни случается, сопоставив пресс-релиз компании X с пресс-релизом компании Y, убедиться, что в первом обещаний меньше и они более «сбыточные». :)

Тестирование в CPU RightMark 2002B

Новая версия CPU RM поддерживает многопоточность (соответственно, и Hyper-Threading), и, естественно, мы не могли не воспользоваться возможностью протестировать новый процессор с помощью этого бенчмарка. Оговоримся, что пока это только первый «выход» CPU RM в тестах многопроцессорных систем, поэтому можно сказать что исследование было «обоюдосторонним» — мы тестировали Hyper-Threading как частный случай SMP на системе с Pentium 4 3,06 ГГц, а эта система, в свою очередь, тестировала наш бенчмарк:) на предмет валидности результатов, и, соответственно, правильной реализации в нем поддержки мультипоточности. Без преувеличения скажем, что результатами остались довольны обе стороны:). Несмотря на то, что пока CPU RM все еще «не полностью многопроцессорный» (несколько потоков создаются только в блоке рендеринга, Math Solving блок остается однопоточным), полученные нами результаты явственно свидетельсвуют о том, что поддержка SMP и Hyper-Threading присутствует, и польза от их наличия видна невооруженным глазом. Кстати, реализация многопоточности в блоке «решателя» в общем-то задача намного менее тривиальная, чем в блоке рендеринга, поэтому если у кого-то из читателей будут некие идеи по этому поводу — мы ждем ваших комментариев, идей, и предложений. Напоминаем, что проект CPU RightMark — это бенчмарк с открытыми исходными текстами, так что интересующиеся программированием могут не только воспользоваться им, но и вносить предложения по поводу усовершенствования кода.

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

  1. Тесты проводились со включенной Hyper-Threading и с отключенной.
  2. Использовались установки CPU RM для количества создаваемых потоков: один, два, и четыре.
  3. Использовались установки CPU RM для используемого типа инструкций в расчетном модуле: SSE2 и «классические» x87 FPU.

Объясним последнее. Казалось бы, отказываться от использования SSE2 на Pentium 4 — полный, извините, бред (о чем мы уже неоднократно писали раньше). Однако в данном случае чисто теоретически это было неплохим шансом проверить функционирование и результативность технологии Hyper-Threading. Дело в том, что инструкции FPU использовались только в расчетном модуле , в модуле же рендеринга по-прежнему оставалась включенной поддержка SSE. Таким образом, те, кто внимательно читал теоретическую часть, наверняка уже поняли «где собака зарыта» — мы принудительно заставили разные части бенчмарка использовать разные вычислительные блоки CPU ! По идее, в случае принудительного отказа от SSE2, Math Solving блок CPU RM должен был оставлять «нетронутым» блоки исполнения SSE/SSE2 инструкций, что давало возможность на полную катушку воспользоваться ими блоку рендеринга того же CPU RM. Вот теперь самое время перейти к результатам, и посмотреть насколько правильными оказались наши предположения. Также заметим, что с целью увеличения валидности и стабильности результатов, была изменена еще одна установка: количество фреймов (по умолчанию — 300) было увеличено до 2000.

Тут, собственно, комментировать практически нечего. Как мы уже говорили выше, блок «решателя» (Math Solving) остался нетронутым, поэтому на его производительность Hyper-Threading не оказывает никакого влияния. Однако в то же время отрадно… что не вредит! Ведь мы уже знаем, что теоретически возникновение ситуаций когда «виртуальная многопроцессорность» может мешать работе программ — возможно. Однако один факт советуем крепко запомнить: посмотрите, как сильно влияет на производительность блока «решателя» отказ от использования SSE2! Мы еще вернемся к этой теме чуть позже, и в весьма неожиданном ключе…

И вот — долгожданный триумф. Легко заметить, что как только количество потоков в блоке рендеринга становится больше одного (в последнем случае использовать возможности Hyper-Threading, мягко говоря, трудновато:) — сразу же это обеспечивает данной конфигурации одно из первых мест. Также заметно, что именно два потока являются оптимальными для систем с Hyper-Threading. Правда, быть может, кто-то вспомнит скриншот Task Manager, которым мы «стращали» вас выше, поэтому сделаем оговорку — два активно работающих потока. В общем-то, это очевидно и вполне логично — раз у нас два виртуальных CPU, то наиболее правильно создать ситуацию, когда и потоков тоже будет два. Четыре — уже «перебор», потому что за каждый из виртуальных CPU начинают «драться» по несколько потоков. Однако даже в этом случае системе со включенной Hyper-Threading удалось обогнать «однопроцессорного» конкурента.

Об удачах всегда принято говорить подробно и со вкусом, и естественно, еще подробнее и вкуснее о них говорить когда они — твои собственные. Констатируем, что «эксперимент с переходом на инструкции FPU» также безусловно удался. Казалось бы, отказ от SSE2 должен был сильнейшим образом ударить по производительности (быстренько вспоминаем разгромные результаты Math Solving Speed с применением инструкций FPU на первой диаграмме этого раздела). Однако что мы видим! — во второй строчке, на самом верху, среди чемпионов — именно такая конфигурация! Причины опять-таки понятны, и это очень радует, потому что их понятность позволяет сделать вывод о предсказуемости поведения систем с поддержкой технологии Hyper-Threading. «Минусовый» результат блока Math Solving на системе с включенной Hyper-Threading «компенсировал» своим вкладом в общую производительность блок рендеринга, которому полностью отдали на откуп исполняющие блоки SSE/SSE2. Причем компенсировал настолько хорошо, что по результатам такая система оказалась в первых рядах. Остается пожалуй только еще раз повторить то, о чем неоднократно шла речь выше: в полную силу возможности Hyper-Threading проявляются в тех ситуациях, когда активно работающие программы (или потоки) используют разные исполняющие блоки CPU. В данной ситуации эта особенность проявилась особенно сильно, поскольку мы имели дело с хорошо, тщательно оптимизированным кодом CPU RM. Однако главный вывод состоит в том, что в принципе Hyper-Threading работает — значит, будет работать и в других программах. Естественно, тем лучше, чем больше их разработчики будут уделять времени оптимизации кода.

Выводы

…В очередной раз, к радости всего прогрессивного человечества, Intel выпустила новый Pentium 4, производительность которого еще выше чем у предыдущего Pentium 4, но это еще не предел, и скоро мы увидим еще более быстрый Pentium 4… М-да… Не то что бы это неправда — действительно, так и есть. Однако мы уже договорились, что не будем рассматривать в данной статье производительность вышеуказанного Pentium 4 3,06 ГГц в связке с другими процессорами по той самой причине, что… см. выше по тексту. Нас, видите ли, интересует Hyper-Threading. Вот такие мы привередливые — не важны нам предсказуемые результаты повышения еще на 200 МГц частоты работы давно знакомого и предсказуемого процессорного ядра, подавай нам «свежатинку», ранее не рассматриваемую. И как уже наверное догадались прозорливые читатели, выводы наши будут посвящены опять-таки этой самой навязшей в зубах технологии и всему что с ней связано. Почему? Наверное, потому, что все остальное вы отлично знаете сами..

И раз уж речь идет о Hyper-Threading, давайте для начала определим для себя главное: как к ней относиться? Что она из себя представляет? Не претендуя на истину в последней инстанции, сформулируем общее мнение, которое возникло у нас на основании результатов тестов: Hyper-Threading — это не SMP . «Ага!!!» — закричат поклонники альтернативы. «Мы так и знали!!!» — завопят они что есть мочи. «Hyper-Threading — это нечестный SMP!!!» — крики сии еще долго будут разноситься по бескрайним просторам Рунета… Мы же, как умудренные саксаулами аксакалы (или наоборот? :), возразим: «Ребята, а кто, собственно, обещал?». Кто произнес эту крамольную аббревиатуру? SMP, напомним — это Symmetric Multi-Processing, сиречь многопроцессорная архитектура. А у нас, пардон, процессор всего один . Да, он снабжен некой, простонародно выражаясь, «фичей», которая позволяет делать вид, что вроде бы оных процессоров два. Однако делает ли кто-то секрет из того, что на самом деле это не так? Вроде бы этого мы не заметили… Стало быть, мы имеем дело именно с «фичей», и не более того. И относиться к ней стоит именно таким образом, и никак иначе. Поэтому давайте не будем ниспровергать никем не возводимых идолов, и спокойно подумаем, имеет ли данная фича какой-то смысл.

Результаты тестов свидетельствуют, что в некоторых случаях — имеет. Фактически, то, о чем мы чисто теоретически рассуждали в первой части статьи, нашло свое практическое подтверждение — технология Hyper-Threading позволяет увеличить коэффициент полезного действия процессора в определенных ситуациях. В частности — в ситуациях, когда одновременно исполняются разнородные по характеру приложения. Зададим сами себе вопрос: «Это — плюс?». Наш ответ: «Да, это — плюс». Является ли он всеобъемлющим и глобальным? Похоже, что нет — ибо эффект от Hyper-Threading наблюдается исключительно в некоторых случаях. Однако так ли это важно если мы рассматриваем технологию в целом? Понятно, что появление CPU, способного в два раза быстрее делать все то, что делалось ранее — это громадный прорыв. Однако как говорили еще древние китайцы «упаси нас Господи жить в эпоху перемен». Intel не стал инициировать начало такой эпохи, просто добавив своему процессору возможность кое-что делать быстрее. Классический западный принцип, не очень хорошо воспринимаемый в нашем «шаролюбивом» обществе: «Вы можете получить нечто получше, если заплатите несколько больше».

Возвращаясь к практике: Hyper-Threading нельзя назвать «бумажной» технологией, ибо при определенных комбинациях она дает вполне ощутимый эффект. Добавим — даже намного больший эффект, чем иногда наблюдается при сравнении, к примеру, двух платформ с одним процессором на разных чипсетах. Однако следует четко понимать, что эффект этот наблюдается не всегда, и существенно зависит от… наверное, самым приемлемым термином будет «стиль». От стиля работы пользователя с компьютером. Причем именно здесь проявляется то, о чем мы сказали в самом начале: Hyper-Threading — это не SMP . «Классический SMP-стиль», где пользователь рассчитывает на реакцию столь же классической «честной» многопроцессорной системы, здесь не даст желаемого результата.

«Стиль Hyper-Threading» — это сочетание процессов, не побоимся этого слова, «развлекательных» или «служебных» с процессами «рабочими». Вы не получите существенного ускорения от CPU с поддержкой этой технологии в большинстве классических многопроцессорных задач, или если по привычке запускаете только одно приложение в один момент времени. Но вы скорее всего получите уменьшение времени исполнения многих фоновых задач , исполняемых в качестве «довеска» к обычной работе. Фактически, Intel просто еще раз напомнила всем нам, что операционные системы, в которых мы работаем — многозадачные . И предложила способ ускорения — но не столько одного какого-то процесса самого по себе, сколько комплекса выполняемых одновременно приложений . Это интересный подход, и, как нам кажется, достаточно востребованный. Теперь он обрел свое имя. Не мудрствуя лукаво, хочется сказать: просто хорошо, что эта оригинальная идея пришла кому-то в голову. Тем более неплохо, что он смог ее воплотить в конкретный продукт. В остальном, как и всегда — время покажет.

В прошлом году Intel выпустила новое ядро - Prescott - для Pentium 4 , особенностью которого стал 90 -нм техпроцесс, кэш 2-го уровня возрос до 1 Мбайт, кроме того, появился набор инструкций SSE3 . Одновременно на суд общественности был представлен Pentium 4 Extreme Edition 3,4 ГГц с 2 Мбайт кэша 3-го уровня. Летом была объявлена платформа Socket 775 , которая заинтересовала нас тем, что ножки с процессора “перешли” на сокет. Вместе с новым разъемом мы получили и чипсеты i915 и i925 , набор функций которых приятно порадовал всех: DDR2 SDRAM , PCI Express для графики и периферии, звук HDA , WLAN , Matrix RAID и т.д. Примерно в то же время Intel ввела модельные номера, до этого этим баловалась только AMD . И нам пришлось привыкать к линейке Celeron 3xx , Pentium 4 5xx .

Однако у нового ядра Prescott были проблемы с высоким тепловыделением, которое достигало 115 Вт для топовых моделей. При этом производительность по сравнению с ядром Northwood практически не увеличилась. Конкуренты меж тем не спали, AMD представила ядро Winchester , которое отличалось низким тепловыделением. Кроме того, компания подкупала пользователей технологиями Cool"n"Quiet (снижение частоты и напряжения при малых нагрузках), NX-bit (запрет выполнения кода на переполнение буфера) и x86-64 (64-битные расширения).

В итоге Prescott дорабатывали много раз и на свет появилось очень много степпингов процессора. Спустя некоторое время инженеры Intel представили хорошо сбалансированные процессоры со степпингом E0 . Появившаяся технология Thermal Monitoring 2 улучшила защиту от перегрева - процессор стал снижать частоту и напряжение, если тепловыделение достигнет критического предела. Подобный подход лучше троттлинга (Throttling), когда процессор в той же ситуации пропускал тактовые импульсы. Впрочем, он по-прежнему включается, но в экстремальных случаях. Технология Thermal Monitoring 2 может работать и в режиме бездействия для снижения тепловыделения, но для этого нужно установить Service Pack 2 . В новом степпинге появился XD-bit , выполняющий функцию запрета выполнения вредоносного кода, для этого SP2 также необходим. Процессоры с поддержкой этой фишки получили суффикс J . Появление 64 -битных расширений EM64T в степпинге E0 для 500-й линейки мы так и не увидели.

Однако вспомним про AMD, которая к тому времени представила процессоры Athlon 64 4000+ и FX-55 . Последний оказался лучшим процессором для геймеров, показывая экстремальную производительность в играх. На этот выпад Intel ответила выпуском чипсета i925XE и Pentium 4 Extreme Edition 3,46 ГГц с системной шиной 1066 МГц. Другие характеристики нового P4 EE не изменились: кэш L2 512 Кбайт, L3 - 2 Мбайт (ядро Gallatin ). Увы, при экстремальной цене $999 новичок проигрывал FX-55 в большинстве игровых тестов.

Вот, вкратце, ситуация на начало 2005 года.

Speedstep в действии

Технология SpeedStep позволяет Windows программно использовать интерфейс ACPI для уменьшения тактовой частоты процессора до 2,8 ГГц при низкой нагрузке. Для работы SpeedStep необходимы следующие условия:

  • процессор должен поддерживать SpeedStep;
  • материнская плата и BIOS должны поддерживать SpeedStep;
  • должна быть установлена система Windows XP Service Pack 2;
  • необходимо выбрать мобильную схему энергопотребления под Windows.

Наша материнская плата ASUS P5AD2-E Platinum (i925XE) обеспечивает полную поддержку SpeedStep.

Итог по SpeedStep будет таков: для игр его лучше вообще отключать, а для офисной и другой работы - включать. Тогда процессор будет работать на меньших частотах и выделять меньше тепла.

Новая страница в жизни Pentium 4: шестисотые модели

Самое главное отличие новых Pentium 6xx - увеличение кэша L2 до 2 Мбайт. Вся новая серия процессоров поддерживает XD-bit. Технология управления энергопотреблением еще улучшилась: если степпинг E0 мог похвастаться Thermal Monitoring 2, то у новых процессоров добавилась технология Enhanced SpeedStep , которая ранее использовалась только в мобильных процессорах компании. Она позволяет снижать напряжение и частоту, если нагрузка на процессор невелика. Главное отличие между двумя технологиями заключается в том, что “инициатором” снижения частоты в последнем случае выступает операционная система, а не процессор.

Все Pentium 6xx поддерживают 64-битные расширения EM64T (аналог расширений x86-64 от AMD). Впрочем, эта особенность может быть полезна только при использовании Windows XP 64-bit Edition . Но даже после официального появления этой ОС проблемы для пользователей AMD и Intel не закончатся: дело в том, что прирост производительности вы получите, только если ОС, драйвера и программы будут 64-битными. А вот с этим большие проблемы и даже сложно сказать, когда мы сможем воспользоваться плодами новой технологии. С другой стороны, если Intel взялась за это дело, то процесс пойдет гораздо быстрее.

Стоит еще сказать, что технология EM64T будет встречаться и в некоторых моделях серии 5xx (с “единичками” в конце номера), а вот Enhanced Speed Step останется эксклюзивной чертой линейки 6xx.

Физически кристалл линейки Pentium 4 6xx существенно больше, чем у 5xx: 169 миллионов транзисторов и 135 мм 2 против 125 миллионов и 112 мм 2 .

Достаточно интересна новая модель P4 Extreme Edition. К сожалению, Pentium 4 Extreme Edition 3,46 ГГц, вышедший в ноябре 2004-го, так и не оправдал надежд, поэтому был списан в утиль. На смену ему пришел новый P4 Extreme Edition 3,73 ГГц, который представляет из себя обычный процессор линейки 6xx, но с частотой системной шины 1066 МГц. Кэш 2-го уровня составляет все те же 2 Мбайт, а вот с кэшем 3-го уровня пришлось распрощаться.

Стоит отметить, что линейка 6хх будет дороже 500-х моделей при равных тактовых частотах.

Тестовый стенд
Процессоры Intel Pentium 4 560 (3,6 ГГц, 1 Мбайт кэша L2)
Intel Pentium 4 660 (3,6 ГГц, 2 Мбайт кэша L2)
Intel Pentium 4 Extreme Edition 3,73 ГГц (2 Мбайт кэша L2)
Материнская плата ASUS P5AD2-E Platinum (i925XE)
Память 2x512 Мбайт DDR2 SDRAM Corsair TwinX CM2X512A-5400C4 533 МГц
Общее аппаратное обеспечение
Видеокарта NVIDIA GeForce 6800 GT 256 Мбайт (PCIE x16)
Жесткий диск Western Digital WD740 Raptor (74 Гбайт, 8 Мбайт, 10 000 об/мин, SATA)
Оптический привод MSI MS-8216
Программное обеспечение
Драйвер для видеокарты NVIDIA Detonator 66.93
Драйвера для чипсета Intel Chipset Installation Utility 6.3.0.1007
DirectX 9.0c
ОС Windows XP Professional SP2
Стоимость процессоров в партиях от 1000 шт.
Процессор Тактовая частота Цена (доллары США)
Pentium 4 EE 3,73 ГГц 999
Pentium 4 EE 3,43 ГГц 999
Pentium 4 660 3,6 ГГц 605
Pentium 4 650 3,4 ГГц 401
Pentium 4 640 3,2 ГГц 273
Pentium 4 630 3,0 ГГц 224
Pentium 4 570 3,8 ГГц 637
Pentium 4 560 3,6 ГГц 417
Pentium 4 550 3,4 ГГц 278
Pentium 4 540 3,2 ГГц 218
Pentium 4 530 3,0 ГГц 178
PC Mark04 1.30
CPU Memory
AMD Athlon 64 4000+ 4535 5684
Intel Pentium 4 EE 3,73 ГГц 5743 6294
5525 5705
5495 5494

Гонка частот окончена

На протяжении многих лет мы привыкли к тому, что производители процессоров регулярно радовали нас увеличением тактовых частот - этот показатель стоял во главе угла. К концу 2004 года Intel планировала выпустить Pentium 4 с частотой 4 ГГц, но он так и не появился. Инженеры и руководство компании осознали, что не в гигагерцах счастье да и просто невозможно гнать частоту постоянно, тем более что ее увеличение не ведет к пропорциональному росту производительности системы.

У AMD ситуация похожа: вряд ли в этом году мы увидим процессор, который перешагнет порог в 3 ГГц. Да и зачем это нужно, если современные Athlon 64 со скоростями до 2,6 ГГц успешно конкурируют с продукцией Intel.

Обе компании сегодня работают над повышением эффективности и производительности своих процессоров за счет использования новых технологий, расширения их функций. Гонка за тактовыми частотами окончена. Собственно, 6хх-серия стала прекрасным тому примером.

Технические характеристики процессоров
Номер процессора Частота, ГГц FSB, МГц Кэш L2, Мбайт Технологии Intel
HT SS EM64T XD
Линейка Extreme Edition
Pentium 4 EE 3,73 ГГц 1066 2 + + + +
Pentium 4 EE 3,43 ГГц 1066 512 Кбайт + 2 Мбайт кэш L3 + - - -
Линейка 6xx
670 3,8 800 2 + + + +
660 3,6 800 2 + + + +
650 3,4 800 2 + + + +
640 3,2 800 2 + + + +
630 3 800 2 + + + +
Линейка 5xx
571 3,8 800 1 + - + +
570 J 3,8 800 1 + - - +
561 3,6 800 1 + - + +
560 J 3,6 800 1 + - - +
560 3,6 800 1 + - - -
551 3,4 800 1 + - + +
550 J 3,4 800 1 + - - +
550 3,4 800 1 + - - -
541 3,2 800 1 + - + +
540 J 3,2 800 1 + - - +
540 3,2 800 1 + - - -
531 3 800 1 + - + +
530 J 3 800 1 + - - +
530 3 800 1 + - - -
520 J 2,8 800 1 + - - +
520 2,8 800 1 + - - -
Far Cry (Cooler01)
Разрешение 1280x1024
AMD Athlon 64 4000+ 197,8
Intel Pentium 4 EE 3,73 ГГц 176,0
Intel Pentium 4 660 (3,8 ГГц) 167,7
Intel Pentium 4 560 (3,8 ГГц) 164,0
Doom 3 (demo1)
Разрешение 1024x768
AMD Athlon 64 4000+ 94,7
Intel Pentium 4 EE 3,73 ГГц 94,2
Intel Pentium 4 660 (3,8 ГГц) 90,0
Intel Pentium 4 560 (3,8 ГГц) 87,1
Wolfenstein - Enemy Territory
Разрешение 1024x768
AMD Athlon 64 4000+ 182,2
Intel Pentium 4 EE 3,73 ГГц 178,3
Intel Pentium 4 660 (3,8 ГГц) 168,7
Intel Pentium 4 560 (3,8 ГГц) 166,1

Заключение

Если сравнивать линейки 5хх и 6хх, то заключение будет вполне определенным: новые версии процессоров лучше, хотя удвоенный размер кэша не особо влияет на производительность. Зато благодаря функциям EM64T, XD-bit, Thermal Monitoring 2, Enhanced SpeedStep новые Pentium 4 выглядят очень перспективно. Большая производительность, внушительный набор дополнительных функций и разумное энергопотребление существенно меняют картину. Тем более что новинки полностью совместимы с уже привычными материнскими платами под Socket 775, единственное, что вам может потребоваться сделать, так это обновить BIOS.

До этого момента Intel можно было обвинить в некоторой медлительности внедрения новых технологий: AMD гораздо раньше реализовала 64-битные расширения, хотя реальное преимущество от нее до сих пор не очевидно. NX-bit и Cool"n"Quiet владельцы AMD также увидели довольно давно.

Впрочем, остается непонятным, почему Intel объявила столь высокую цену на новые процессоры: они существенно дороже старых версий.

Так или иначе, но в ближайшие месяцы от Intel стоит ждать куда более кардинальных обновлений линейки Pentium 4 - двухъядерные процессоры, технология виртуализации Vanderpool (VT) и многое другое.

В продолжение темы:
Linux

Для того чтобы добавить новые характеристики номенклатуре 1С или вести учет по характеристикам на сайте интернет-магазина, необходимо: установить настройки в разделе...

Новые статьи
/
Популярные