Процессорное ядро Intel Prescott: Pentium 4 "с половиной"

10 февраль, 2004 - 00:00Евгений Севериновский
Введение

Процессорное ядро Intel Prescott Pentium 4 "с половиной"
Фотографии процессорных ядер Prescott (90 нм, сверху) и Northwood (130 нм)
Процессорное ядро Intel Prescott Pentium 4 "с половиной"
Как известно, революции в компьютерном мире случаются все реже. Да и так ли они необходимы там, где, в общем-то, "все хорошо", где возможности систем и продуктов с лихвой покрывают нужды большинства современных пользователей. Это в полной мере относится и к процессорам корпорации Intel, лидера индустрии. У компании есть полная линейка высокопроизводительных CPU всех уровней (серверные, десктопные, мобильные), тактовые частоты давно уже перевалили за "заоблачные" 3 GHz, продажи идут просто "на ура". И наверное, если бы не оживившиеся конкуренты (точнее, конкурент), то все было бы совсем хорошо.

Но "гонка гигагерцев" не прекращается. Оставим в стороне рассмотрение вопросов вроде "Кому это нужно?" и "Насколько это востребовано?" -- примем лишь как факт: чтобы удержаться на плаву, производители CPU просто вынуждены тратить силы на выпуск все более быстродействующих (или как минимум более высокочастотных) продуктов.

Начало февраля Intel отметила представлением целой обоймы новых процессоров. Компания выпустила сразу семь новых CPU, в числе которых:
  • Pentium 4 3,40 GHz ("старое" ядро Northwood);
  • Pentium 4 Extreme Edition 3,40 GHz;
  • целых четыре представителя новой линейки с ядром Prescott (кстати, ударение на первом слоге) -- 3,40E, 3,20E, 3,0E и 2,80E GHz, изготовленные по 90-нанометровой технологии и оснащенные кэшем второго уровня объемом 1 MB.
Все эти CPU рассчитаны на шину 800 MHz и поддерживают технологию Hyper-Threading. Кроме того, Intel выпустила Pentium 4 на ядре Prescott с частотой 2,8A GHz, также изготовленный по 90-нанометровому процессу, но рассчитанный на частоту FSB 533 MHz и не поддерживающий Hyper-Threading. По информации Intel, предназначен этот процессор специально для OEM-производителей ПК в ответ на их пожелания. От себя добавим -- и на радость оверклокерам, которые наверняка оценят его возможности разгона.

С выпуском новых CPU семейство Pentium 4 значительно пополнилось и сейчас выглядит так, как показано в табл. 1. Естественно, пока Intel вовсе не собирается сворачивать производство Pentium 4 на ядре Northwood с FSB 533 и 800 MHz. Кроме того, в линейке остаются и несколько моделей, рассчитанных на шину 400 MHz (пять процессоров от 2A до 2,60 GHz).

Prescott и 90-нанометровый процесс

Сергей Митилино

Процессорное ядро Intel Prescott Pentium 4 "с половиной"
Семь слоев металлизации 90-нанометрового процесса Intel

Разрабатывая 90-нанометровые технологии, которые должны обеспечить нормальное функционирование процессоров класса Prescott, инженеры Intel вынуждены были преодолевать серьезные препятствия. Природа этих преград состояла не в недостаточном разрешении производственного оборудования, а в проблемах физического характера, связанных с невозможностью изготовления столь малых транзисторов по традиционным технологиям.

Первой проявилась утечка заряда с затвора транзистора через истончившийся слой диэлектрика между затвором и каналом. При разрешении 90 нм он "выродился" в барьер из четырех атомов SiO2 толщиной 1,2 нм. Появилась необходимость в новых изолирующих материалах с более высоким значением константы диэлектрической проницаемости (high-K dielectric). За счет большей проницаемости они позволяют наращивать толстый (до 3 нм) изолирующий слой, не создавая при этом препятствий для электрического поля затвора. Таковыми стали оксиды гафния и циркония. К сожалению, они оказались несовместимы с применяемыми ныне поликристаллическими затворами, да и фононные колебания, возникающие в диэлектрике, вызывают снижение подвижности электронов в канале.

Процессорное ядро Intel Prescott Pentium 4 "с половиной"
Электронная фотография сечения 1,2-на-нометрового изолятора между затвором и каналом транзистора (технология 90 нм)
На границе с затвором наблюдается иное явление, выражающееся в значительном повышении порогового уровня напряжения, необходимого для изменения состояния проводимости канала транзистора. Решение было найдено в виде металлического затвора. В прошлом году специалисты корпорации подобрали, наконец, два подходящих металла, которые позволили сконструировать новые миниатюрные NМOS- и PMOS-транзисторы. Какие именно металлы они использовали -- до сих пор держится в секрете.

Чтобы увеличить быстродействие транзисторов (оно определяется скоростью перехода в открытое/закрытое состояние), Intel прибегла к формированию канала из единого кристалла напряженного кремния. "Напряжение" в данном случае означает деформирование кристаллической решетки материала. Как оказалось, сквозь структурно нарушенный кремний как электроны (+10% для NМOS), так и дырки (+25% для PMOS) проходят с меньшим сопротивлением. Улучшение подвижности увеличивает максимальный ток транзистора в открытом состоянии.

Для NМOS- и PMOS-транзисторов напряженное состояние достигается различными методиками. В первом случае все очень просто: обычно транзистор сверху "укрыт" слоем нитрида кремния, который выполняет функцию предохраняющей маски, а для создания напряжения в канале толщину слоя нитрида увеличивают вдвое. Это ведет к созданию дополнительной нагрузки на области истока и стока и, соответственно, растягивает, деформирует канал.

Процессорное ядро Intel Prescott Pentium 4 "с половиной"
Создание напряжения в канале транзистора (90 нм технология Intel)
PMOS-транзисторы "напрягают" по другой схеме. Сначала зоны истока и стока вытравливают, а потом наращивают в них слой SiGe. Атомы германия превышают по размерам атомы кремния и поэтому германиевые прослойки всегда использовались для создания напряжения в кремнии. Однако особенность технологии Intel заключается в том, что в данном случае сжатие кремниевого канала происходит в продольном сечении.

Новый технологический процесс также позволил увеличить количество слоев металлизации с шести до семи (медные соединения). Любопытно, что на производственной линии "плечом к плечу" трудятся как литографические аппараты нового поколения с длиной волны 193 нм, так и их предшественники с длиной волны 248 нм. Вообще процент повторно использованной техники достиг 75, что позволило снизить стоимость модернизации фабрик.


Особенности Prescott

В дискуссиях, предшествовавших выпуску процессора на ядре Prescott, он в шутку именовался не иначе как "Pentium 5". Собственно, именно таким был типичный ответ компьютерного профи на вопрос "Что такое Prescott?". Конечно, Intel не стала менять торговую марку, да и достаточных оснований для этого не было. Вспомним практику выпуска программного обеспечения -- там смена номера версии происходит только при кардинальной переработке продукта, тогда как менее значительные изменения обозначаются дробными номерами версий. В процессорной индустрии дробные номера пока не приняты, и то, что Prescott продолжил линейку Pentium 4, как раз и является отражением того факта, что перемены носят не настолько радикальный характер.

Таблица 1. Характеристики процессоров семейства Intel Pentium 4* 
Таблица 2. Сравнительные характеристики ядер процессоров Pentium 4
Процессоры на ядре Prescott хоть и содержат немало новшеств и модификаций по сравнению с Northwood, однако основаны на той же архитектуре NetBurst, имеют ту же корпусировку, что и предыдущие Pentium 4, устанавливаются в тот же разъем Socket 478 и, в принципе, должны работать на большинстве материнских плат, поддерживающих 800 MHz FSB и обеспечивающих должные напряжения питания (естественно, потребуется обновление BIOS).

Детальное изучение практических вопросов, касающихся Prescott, мы оставим для отдельного материала. А пока попробуем рассмотреть, какие изменения появились в Prescott, и понять, насколько этот процессор отличается от своего предшественника и чего можно в результате ожидать.

Основные новшества, реализованные в ядре Prescott, следующие:
  • Перевод производства кристаллов на техпроцесс 90 нм.
  • Возросшая длина конвейера (с 20 до 31 стадии).
  • Вдвое увеличенные кэши L1 (кэш данных -- с 8 до 16 KB) и L2 (с 512 KB до 1 MB).
  • Изменения в архитектуре:
    -модифицированный блок предсказания переходов;
    -усовершенствованная логика работы L1-кэша (улучшенная предварительная выборка данных);
    -появление новых блоков в процессоре;
    -увеличенный объем некоторых буферов.
  • Усовершенствованная технология Hyper-Threading.
  • Появление поддержки нового набора SIMD-инструкций SSE3 (13 новых команд).
Главные различия трех процессорных ядер, использовавшихся в Pentium 4, сведены в табл. 2. Число транзисторов в Prescott увеличилось более чем вдвое -- на 70 млн. Из них, по грубым оценкам, порядка 30 млн. можно отнести на счет удвоившегося L2-кэша (дополнительные 512 KB, по 6 транзисторов на одну ячейку). Причем остается еще вполне солидное число, и даже по одному этому значению можно косвенно судить о масштабах произошедших в ядре изменений. Заметим, что, несмотря на такой рост числа элементов, площадь ядра не только не увеличилась, но даже уменьшилась по сравнению с Northwood.

С 90-нанометровым технологическим процессом все, в общем-то, понятно (конечно, на упрощенном, "пользовательском" уровне). Меньший размер транзисторов позволит снизить напряжение питания процессора и уменьшить рассеиваемую им мощность, а следовательно, и нагрев. Это откроет дорогу для дальнейшего увеличения тактовых частот, которое хотя и будет сопровождаться ростом тепловыделения, но "начало отсчета" для этого роста будет уже другим, несколько ниже. Отметим, что с учетом большего числа транзисторов в Prescott по сравнению с Northwood правильнее было бы говорить не об уменьшении, а о сохранении или же меньшем увеличении рассеиваемой мощности.

Удлиненный конвейер. Как видно из табл. 2, по длине конвейера Prescott (31 стадия) более чем наполовину превосходит Northwood. Что за этим кроется, вполне понятно: это не первый случай, когда Intel увеличивает длину конвейера, нацеливаясь на повышение тактовых частот -- известно, что чем длиннее конвейер, тем лучше "разгоняется" процессорное ядро. В принципе, сложно сказать однозначно, так ли необходимо такое "удлинение" на текущем этапе, на частотах в районе 3,5 GHz -- энтузиасты-оверклокеры разгоняли Pentium 4 (Northwood) и до более высоких значений. Но рано или поздно рост числа стадий оказался бы неизбежен -- так почему бы не совместить это событие с выпуском нового ядра?

Увеличенные объемы кэшей и буферов. В принципе, этот пункт напрямую связан с предыдущим. Чтобы обеспечить работой длинный конвейер на высоких частотах, желательно иметь большего объема "подручный склад" в виде кэша для уменьшения количества простоев, при которых процессор ожидает загрузки требуемых данных из памяти. Кроме того, хорошо известно, что при прочих равных из двух процессоров с разной длиной конвейера производительнее окажется тот, у которого этот параметр меньше. При ошибках предсказания перехода процессор вынужден "сбрасывать" свой конвейер и загружать его работой по-новому. И чем большее число стадий в нем содержится, тем болезненнее оказываются подобные промахи. Полностью их исключить, конечно же, нельзя, и на одинаковых частотах Northwood и Prescott последний оказался бы менее производительным... не будь у него большего L2-кэша, во многом компенсирующего отставание. Естественно, здесь все зависит от специфики конкретных приложений, что мы и попытаемся проверить в практической части.

Как говорилось выше, в Prescott увеличен не только общий L2-кэш, но и L1-кэш данных, объем которого вырос с 8 до 16 KB. Также изменились его организация и часть логики работы -- к примеру, введен механизм принудительного продвижения (force forwarding), уменьшающий задержки в случаях, когда зависимая операция загрузки данных из кэша не может спекулятивно выполняться до завершения предшествующей операции помещения этих данных в кэш.

Кроме объемов кэшей, увеличению подверглась и емкость двух планировщиков, отвечающих за хранение микроопераций (uops), которые используются в инструкциях x87/SSE/SSE2/SSE3. Это, в частности, позволило более эффективно находить параллелизм в мультимедиаалгоритмах и выполнять их с лучшей производительностью.

Собственно, некоторых новшеств в архитектуре Pentium 4, реализованных в Prescott, мы уже успели коснуться, поскольку они "разбросаны" по ядру процессора и затрагивают многие его блоки. Следующим важным изменением является...

Процессорное ядро Intel Prescott Pentium 4 "с половиной" Модифицированный блок предсказания переходов. Как известно, точность работы этого блока является критически важной для обеспечения высокой производительности современного процессора. "Просматривая" программный код, следующий за выполняемым в настоящий момент, процессор может заранее выполнять части данного кода -- это хорошо известное спекулятивное выполнение. Если же в программе встречается ветвление в результате условного перехода (если-то-иначе), то возникает вопрос о том, какую из двух веток "лучше" выполнять заранее. Алгоритмы в Northwood действовали относительно просто: переходы назад предполагались совершающимися, вперед -- нет. Это большей частью работало для циклов, но не для других видов переходов. В Prescott используется понятие длины перехода: исследования показали, что если дальность перехода превышает определенный предел, то переход с большой долей вероятности совершаться не будет (соответственно, спекулятивно выполнять эту часть кода не нужно). Также в Prescott введен более тщательный анализ самих условий перехода, на основании которого принимаются решения о вероятности выполнения перехода. Кроме статических алгоритмов предсказания, изменениям подверглись и динамические алгоритмы (кстати, новые идеи были частично заимствованы из мобильного Pentium M).

Появление новых блоков в процессоре. Два новых блока в Prescott -- это блок побитовых сдвигов и циклических сдвигов (shifter/rotator) и выделенный блок целочисленного умножения. Первый позволяет осуществлять наиболее типичные операции сдвига на одном из двух быстрых ALU, работающих на удвоенной частоте ядра CPU (в предыдущих модификациях Pentium 4 эти операции выполнялись как целочисленные и занимали несколько тактов). Для осуществления целочисленного умножения ранее задействовались ресурсы FPU, что достаточно долго -- нужно было передать данные в FPU, выполнить там сравнительно медленное умножение и передать результат обратно. В Prescott для ускорения этих операций добавлен новый блок, отвечающий за такие операции умножения.

Улучшенный Hyper-Threading. Конечно, все перечисленные выше новшества введены в Prescott неспроста. По словам специалистов Intel, большинство модификаций в логике работы кэшей, очереди команд и пр. так или иначе связаны с быстродействием процессора при использовании Hyper-Threading, т. е. при одновременной работе нескольких программных потоков. В то же время на производительность "однопоточных" (single-threaded) приложений эти нововведения оказывают лишь незначительное влияние. Также в Prescott увеличился набор инструкций, которым "позволено" исполняться на процессоре параллельно (например, операция с таблицей страниц и операция с памятью, разбивающая строку кэша). Опять-таки, для однопоточных приложений невозможность совмещения подобных операций практически не сказывалась на производительности, тогда как при выполнении двух потоков такое ограничение зачастую становилось "узким местом". Другой пример -- если в Northwood происходило "непопадание в кэш" (cache miss) и возникала необходимость чтения данных из оперативной памяти, следующие операции просмотра кэша откладывались до окончания этого действия. В результате одно приложение, часто "промахивающееся" мимо кэша, могло существенно затормозить работу остальных потоков. В Prescott этот конфликт легко преодолевается, операции могут выполняться параллельно. Также в Prescott была переделана логика арбитража и разделения ресурсов между потоками с целью увеличения общей производительности.

Инструкции SSE3. Как мы помним, последний раз расширение набора SIMD-инструкций Intel провела, выпустив первый Pentium 4 (Willamette) и реализовав в нем SSE2. Очередное расширение, получившее название SSE3 и содержащее 13 новых инструкций, осуществлено в Prescott. Все они, за исключением трех, используют SSE-регистры и предназначены для повышения производительности в следующих областях:
  • быстрое преобразование вещественного числа в целое (fisttp);
  • сложные арифметические вычисления (addsubps, addsubpd, movsldup, movshdup, movddup);
  • кодирование видео (lddqu);
  • обработка графики (haddps, hsubps, haddpd, hsubpd);
  • синхронизация потоков (monitor, mwait).
Естественно, детальное рассмотрение всех новых инструкций выходит за рамки материала, эта информация приведена в соответствующем руководстве для программистов. Инструкции первых четырех категорий служат как для ускорения выполнения самих операций, так и для того, чтобы сделать их более "экономными" в смысле использования ресурсов процессора (и, следовательно, оптимизации работы Hyper-Threading и механизма спекулятивного выполнения). Программный код при этом также значительно сокращается и, что немаловажно, упрощается. Например, инструкция ускоренного преобразования вещественного числа в целое fisttp заменяет семь (!) команд традиционного кода. Даже по сравнению с инструкциями SSE2 (которые сами по себе также ускоряют выполнение кода и сокращают его объем) команды SSE3 во многих случаях дают немалую экономию. Две инструкции последней группы -- monitor и mwait -- позволяют приложению (точнее потоку) сообщать процессору, что в данный момент оно не выполняет полезной работы и находится в режиме ожидания (например, записи в определенную ячейку памяти, возникновения прерывания или исключительной ситуации). Процессор при этом может переводиться в режим пониженного энергопотребления или же, при использовании Hyper-Threading, отдавать все ресурсы другому потоку. В общем, с SSE3 для программистов открываются новые возможности по оптимизации кода. Проблема здесь, как всегда в таких случаях, одна: пока новый набор инструкций не стал общепринятым стандартом, разработчикам ПО придется поддерживать две ветки кода (с SSE3 и без оной), чтобы приложения работали на всех процессорах...


Камо грядеши?..

Процессорное ядро Intel Prescott Pentium 4 "с половиной"
В общем, объем новшеств, реализованных в ядре Prescott, вполне можно назвать значительным. И хотя до "настоящего Pentium 5" он недотягивает, но к "четырем с половиной" вполне может приблизиться. Переход от ядра Northwood к Prescott -- в принципе, эволюционный процесс, хорошо укладывающийся в общую стратегию Intel. Постепенные изменения в архитектуре Pentium 4 хорошо видны на схеме: архитектура модифицируется и пополняется новыми особенностями -- идет последовательная оптимизация процессора под определенный набор ПО.

Чего же можно ожидать от Prescott? Пожалуй, прежде всего (хотя это может показаться и несколько странным) -- новых частот. Intel сама признает, что на равных частотах производительность Prescott и Northwood будет мало отличаться. Положительное влияние большого L2-кэша и прочих новшеств Prescott во многом "компенсируется" его значительно более длинным конвейером, который болезненно реагирует на ошибки предсказания переходов. И даже с учетом того, что блок этого самого предсказателя переходов был усовершенствован, все равно идеальным он быть не может. Главное преимущество Prescott в другом: новое ядро позволит дальше наращивать частоту -- до значений, недостижимых ранее с Northwood. По планам Intel ядро Prescott рассчитано на два года, пока его не сменит следующее ядро, изготовленное по технологии 65 нм (0,065 мкм).

Поэтому выпущенный сейчас процессор на новом ядре Prescott не претендует прямо со старта на лавры чемпиона производительности и во всей красе должен проявить себя в будущем. Еще одним подтверждением тому является и позиционирование процессора: Pentium 4 на ядре Prescott рассчитан на mainstream-системы, в то время как топовым CPU был и остается Pentium 4 Extreme Edition. Кстати, хотя планка частот у процессоров Intel номинально поднялась до 3,4 GHz с выходом Prescott, но появление первых OEM-систем на базе Pentium 4 3,4 GHz на новом ядре произойдет несколько позднее в этом квартале (а ведь коммерческие поставки Prescott начаты еще в IV квартале 2003 г.).

Еще одна область, где может проявить себя Prescott (и наверняка проявит), -- это работа ПО, оптимизированного под SSE3. Процесс оптимизации уже начался, и на сегодня существует как минимум пять приложений с поддержкой нового набора инструкций: MainConcept (MPEG-2/4), xMPEG, Ligos (MPEG-2/4), Real (RV9), On2 (VP5/VP6). В течение 2004 г. поддержка SSE3 должна появиться в таких пакетах, как Adobe Premiere, Pinnacle MPEG Encoder, Sony DVD Source Creator, Ulead MediaStudio и VideoStudio, всевозможные аудио- и видеокодеки и т. д. Вспоминая процесс оптимизации под SSE/SSE2, можно понять, что результаты SSE3 мы увидим, но отнюдь не сразу -- опять-таки, это в определенном смысле "задел на будущее".

Ну а что же "по ту сторону линии фронта"? Главный конкурент Intel по-прежнему идет своим путем, все дальше отдаляясь от "генеральной линии". AMD продолжает наращивать "голую производительность", пока что обходясь значительно более низкими частотами. Контроллер памяти, в Athlon 64 перекочевавший из северного моста в процессор, подлил масла в огонь, обеспечив невиданную ранее скорость доступа к ОЗУ. А недавно был выпущен процессор с рейтингом 3400+ (нет, о полном соответствии продукту конкурентов по частоте никто не говорит...).

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

С другой стороны, в середине 2004 г. выйдет 64-разрядная версия Windows для платформы AMD64, на которой как раз и должны проявиться возможности Athlon 64. Конечно, здесь встанет обычный вопрос о наборе приложений под новую ОС, без которых система остается практически бесполезной. Но вспомним, что уже как минимум существуют те же кодеки, откомпилированные под 64-битные Athlon. Так что есть вероятность того, что в недалеком будущем и платформе AMD будет где себя показать. В общем, создается впечатление, что пока титаны просто накачивают мускулы, строят оборонительные сооружения и готовят тылы перед главным... нет, скорее, очередным сражением...