Содержание:
Введение
1. Архитектура Intel NetBurst
2. Процессор
3. Чипсет и системная шина
4. Тестирование Pentium 4
Заключение
Список используемых источников
Введение
Будучи выпущенным в 1995 году, процессор Intel Pentium Pro стал первым CPU с архитектурой P6. С тех пор прошло уже достаточно много времени, сменилось несколько поколений процессоров, однако, по сути архитектура не менялась. Семейства Pentium II, Pentium III и Celeron имеют все то же строение ядра, отличаясь по сути только размером и организацией кеша второго уровня и наличием набора команд SSE, появившегося в Pentium III. Естественно, рано или поздно архитектура P6 должна была устареть. И дело тут вовсе не в невозможности дальнейшего наращивания тактовых частот и даже не в обострившейся в последнее время конкуренцией с AMD. Конечно, нельзя отрицать тот факт, что достигнув частоты в 1 ГГц Intel столкнулся с проблемами в дальнейшем наращивании частоты своих процессоров: Pentium III 1.13 ГГц даже пришлось отзывать в связи с его нестабильностью. Однако, эту проблему легко можно решить переходом на 0.13 мкм процесс – тем более, что его повсеместное внедрение не за горами.
Настоящая причина необходимости новой архитектуры кроется глубже. К сожалению, дальнейшее наращивание частоты существующих процессоров приводит все к меньшему росту их производительности. Проблема в том, что латентности, то есть задержки, возникающие при обращении к тем или иным узлам процессора, по нынешним меркам в P6 уже слишком велики. Именно это явилось основной причиной, по которой Intel затеял разработку Pentium 4, которая выполнена с чистого листа. Таким образом, анонсированный сегодня Pentium 4 - совершенно новый процессор, ничего общего не имеющий со своими предшественниками. В его основе лежит архитектура, названная Intel NetBurst architecture. Этим названием Intel хотел подчеркнуть, что основная цель нового процессора – ускорить выполнение задач потоковой обработки данных, напрямую связанных с бурно развивающимся Internet.
1. Архитектура Intel NetBurst
Первым делом, попробуем разобраться с особенностями новой архитектуры. Архитектура NetBurst имеет в своей основе несколько инноваций, в комплексе и позволяющих добиться конечной цели – гарантировать запас быстродействия и будущую наращиваемость для процессоров семейства Pentium 4. В число основных технологий входят:
Hyper Pipelined Technology. Конвейер Pentium 4 имеет беспрецедентно большую глубину – 20 стадий.
Advanced Dynamic Execution. Улучшенное предсказание переходов и исполнение команд с изменением порядка их следования (out of order execution).
Trace Cache. Для кэширования декодированных инструкций в Pentium 4 используется специальный кэш.
Rapid Execute Engine. ALU процессора Pentium 4 работает на вдвое большей, чем сам процессор, частоте.
SSE2. Расширенный набор инструкций для обработки потоковых данных.
400 MHz System Bus. Новая системная шина.
Рассмотрим все нововведения по порядку.
1.1 Hyper Pipelined Technology
Названием Hyper Pipelined Technology конвейер Pentium 4 обязан своей длине – 20 стадий. Для сравнения – длина конвейера Pentium III составляет 10 стадий. Чего же достиг Intel, так удлинив конвейер? Благодаря декомпозиции выполнения каждой команды на более мелкие этапы, каждый из этих этапов теперь может выполняться быстрее, что позволяет беспрепятственно увеличивать частоту процессора. Так, если при используемом сегодня технологическом процессе 0.18 мкм предельная частота для Pentium III составляет 1 ГГц (ну или, по более оптимистичным оценкам, 1.13 ГГц), Pentium 4 сможет достигнуть частоты 2 ГГц.
Однако, у чрезмерно длинного конвейера есть и свои недостатки. Первый недостаток очевиден – каждая команда теперь, проходя большее
число стадий, выполняется дольше. Поэтому, чтобы младшие модели Pentium 4 превосходили по производительности старшие модели Pentium III, частоты Pentium
4 начинаются с 1.4 ГГц. Если бы Intel выпустил бы Pentium 4 1 ГГц, то этот процессор несомненно бы проиграл в производительности гигагерцовому Pentium
III.
Второй недостаток длинного конвейера вскрывается при ошибках в предсказании переходов.
Как и любой современный процессор, Pentium 4 может выполнять инструкции не только последовательно, но и параллельно, соответственно не всегда в том
порядке, как они следуют в программе и не всегда доподлинно зная направления условных переходов. Для того, чтобы выбирать в таких случаях ветви программы
для дальнейшего выполнения, процессор прогнозирует результаты выполнения условных переходов на основании накопленной статистики. Однако, иногда блок
предсказания переходов все же ошибается, и в этом случае приходится полностью очищать конвейер, сводя на нет всю предварительно проделанную процессором
работу по выполнению не той ветви в программе. Естественно, при более длинном конвейере, его очистка обходится дороже в том смысле, что на новое заполнение
конвейера уходит больше процессорных тактов, а следовательно и времени.
1.2 Advanced Dynamic Execution
Целью ряда ухищрений в архитектуре Pentium 4, под общим названием Advanced Dynamic Execution, как раз и является минимизация
простоя процессора при неправильном предсказании переходов и увеличение вероятности правильных предсказаний. Для этого Intel улучшил блок выборки
инструкций для внеочередного выполнения и повысил правильность предсказания переходов. Правда, для этого алгоритмы предсказания переходов были доработаны
минимально, основным же средством для достижения цели было выбрано увеличение размеров буферов, с которыми работают соответствующие блоки процессора.
Так, для выборки следующей инструкции для исполнения используется теперь окно величиной
в 126 команд против 42 команд у процессора Pentium III. Буфер же, в котором сохраняются адреса выполненных переходов и на основании которого процессор
предсказывает будущие переходы, теперь увеличен до 4 Кбайт, в то время как у Pentium III его размер составлял всего 512 байт.
Результатом этого, а также благодаря небольшой доработке алгоритма, вероятность правильного
предсказания переходов была улучшена по сравнению с Pentium III на 33%. Это – очень хороший показатель, поскольку теперь Pentium 4 предсказывает переходы
правильно в 90-95% случаев.
1.3 Trace Cache
Вместо обычного L1 кеша, который в Pentium III был разделен на область инструкций и область данных в Pentium 4 применен новый
подход. Инструкции в L1 кэше не сохраняются, он предназначен теперь только для данных. Для кэширования инструкций теперь используется Trace Cache, однако по
сравнению с обычным L1-кешем он имеет много преимуществ, направленных опять же на минимизацию простоев процессора при выполнении неправильных предсказаний
переходов.
Первое, и основное – в Trace Cache сохраняются уже декодированные инструкции. Это значит,
что в нем хранятся не классические x86 инструкции, а так называемые микрокоманды, более простые операции которыми непосредственно оперирует процессорное
ядро. Сохранение в Trace Cache микроопераций позволяет избежать повторного декодирования x86 инструкций при повторном выполнении того же участка программы
или при неправильном предсказании переходов.
Второе преимущество Trace Cache заключается в том, что микрооперации в нем сохраняются именно в том порядке, в каком они выполняются. Правда, правильный порядок определяется опять же на основании предсказания переходов, однако вероятность того, что переходы предсказываются неправильно, достаточно мала для того, чтобы отказаться от очевидного выигрыша, получаемого путем отказа от повторных декодирований и предсказаний переходов.
Intel не раскрывает размеров своего Trace Cache в килобайтах, однако, известно что в нем может быть сохранено до 12000 микроопераций.
1.4 Rapid Execute Engine
Наиболее простая часть современного процессора – это ALU (арифметико-логическое устройство). Благодаря этому факту, Intel счел возможным увеличить его тактовую частоту внутри Pentium 4 вдвое по отношению к самому процессору. Таким образом, например, в 1.4 ГГц Pentium 4 ALU работает на частоте 2.8 ГГц.
В ALU исполняются простые целочисленные инструкции, поэтому, производительность нового процессора при операциях с целыми числами
должна быть очень высокой. Однако, на производительности Pentium 4 при операциях с вещественными числами, MMX или SSE двукратное ускорение ALU никак
не сказывается.
Таким образом, латентность ALU существенно снижается. В частности, на выполнение
одной инструкции типа add Pentium 4 1.4 ГГц тратил всего 0.35нс, в то время как выполнение этой команды у Pentium III 1 ГГц занимает 1 нс.
1.5 SSE2
Реализовав в своем процессоре Athlon новый конвейерный FPU, AMD очень сильно обогнала интеловский Pentium III в
производительности при операциях с вещественными числами. Однако, Intel в своем Pentium 4 не стал сосредотачиваться на совершенствовании своего FPU, а просто
увеличил возможности блока SSE. В результате, в Pentium 4 имеет место расширенный набор команд SSE2, в котором к имеющемуся набору из 70 инструкций
было добавлено еще 144. Такое решение – результат NetBurst идеологии, основной целью которой является увеличение скорости работы с потоками данных.
Инструкции SSE позволяли оперировать с восемью 128-битными регистрами XMM0..XMM7, в
которых хранились по четыре вещественных числа одинарной точности. При этом все SSE операции проводились одновременно над четверками чисел, в результате чего
специально оптимизированные программы, в которых производилось большое количество однотипных вычислений (а к ним, помимо обработки потоков данных в
какой-то мере относятся и 3D-игры), получали существенный прирост в производительности.
SSE2 же оперирует с теми же самыми регистрами и обратно совместим с SSE процессора Pentium III. А столь впечатляющее расширение набора команд вызвано тем, что теперь операции со 128-битными регистрами могут выполняться не только как с четверками вещественных чисел двойной точности, но и как с парами вещественных чисел двойной точности, с шестнадцатью однобайтовыми целыми, с восемью короткими двухбайтовыми целыми, с четырьмя четырехбайтовыми целыми, с двумя восьмибайтовыми целыми или с 16 байтовыми целыми. То есть, теперь SSE2 представляя собой симбиоз MMX и SSE и позволяет работать с любыми типами данных, влезающими в 128-битные регистры.
Таким образом, SSE2 гораздо более гибок, позволяя добиваться впечатляющего прироста в производительности. Однако, использование
нового набора команд требует специальной оптимизации программ, поэтому ждать его внедрения сразу после выхода нового процессора не стоит. Со временем же,
SSE2 имеет достаточно большие перспективы. Поэтому, даже AMD собирается реализовать SSE2 в своем новом семействе процессоров Hammer.
Старые же программы, не использующие SSE2, а полагающиеся на обычный арифметический сопроцессор, никакого прироста в производительности при
использовании Pentium 4 не получат. Более того, несмотря на то, что что Intel говорит о том, что блок FPU в Pentium 4 был слегка усовершенствован, время,
необходимое на выполнение обычных операций с вещественными числами возросло по сравнению с Pentium III в среднем на 2 такта.
1.6.1 L1 кэш
Что касается кеша первого уровня в Pentium 4, то поскольку теперь команды хранятся в Trace Cache, он предназначен только для хранения данных. Однако, его размер в Pentium 4, основанном на ядре Willamette составляет всего 8 Кбайт. Это выглядит достаточно небольшой цифрой даже на фоне 16-килобайтной области данных в L1 кэше Pentium III. Однако, Intel был вынужден сократить объем кеша первого уровня в Pentium 4, так как ядро этого процессора и без того получалось слишком большим. Тем не менее, архитектура этого процессора может поддерживать L1-кеш и большего размера, поэтому, скорее всего, при переходе на технологический процесс 0.13 мкм и новое ядро Northwood, этот кэш будет увеличен.
Однако, для увеличения производительности, Intel применил для доступа к L1-кешу новый алгоритм, чем уменьшил в Pentium 4
латентность этого кеша до двух процессорных тактов вместо трех тактов в Pentium III. Таким образом, учитывая большую тактовую частоту Pentium 4, время реакции
его L1 кеша составляет всего 1.4нс для 1.4 ГГц модели против 3нс у L1 кеша Pentium III 1 ГГц.
Также как и в Pentium III, L1 кэш Pentium 4 является write through и ассоциативным с 4
областями ассоциативности. При этом длина одной строки L1 кеша равна 64 байтам.
1.6.2 L2 Advanced Transfer Cache
Процессор Pentium 4 обладает Advanced Transfer Cache второго уровня объемом 256 Кбайт. Также, как и в Pentium III, L2-кеш имеет широкую 256-битную шину, благодаря которой процессоры от Intel имеют более высокую пропускную способность кеша, чем их конкуренты от AMD, использующие 64-битную шину кеша. Однако, в отличие от Athlon, в Pentium 4 (впрочем, также как и в Pentium III) L2 кэш не является эксклюзивным, то есть он дублирует данные, находящиеся в L1 кэше.
Так как Pentium 4 рассчитан на обработку потоковых данных, скорость работы L2-кеша для него является одним из ключевых моментов.
Поэтому, Intel увеличил пропускную способность кеша второго уровня в Pentium 4 в два раза. Это усовершенствование было сделано благодаря передаче данных из
L2-кеша на каждый процессорный такт, в то время, как данные из L2-кеша Pentium III передаются только на каждый второй такт. Таким образом, пропускная
способность L2-кеша Pentium 4, работающего, например, с частотой 1.4 ГГц имеет теперь внушительную величину 44.8 Гбайт/с. Для сравнения – пропускная
способность Advanced Transfer Cache у Pentium III 1 ГГц составляет 16 Гбайт/с.
Также как и в Pentium III, L2 кэш имеет восемь областей ассоциативности и строки длиной 128
байт. Однако, в отличие от Pentium III, каждая строка может быть изъята не целиком, а по 64-байтовым половинкам.
Говоря о системе кэширования в Pentium 4, нельзя обойти стороной и тот факт, что
архитектура NetBurst поддерживает и кэш третьего уровня размером до 4 Мбайт. Однако, в Pentium 4 пока эта возможность использоваться не будет. Она
зарезервирована для будущего применения в серверных процессорах.
2. Процессор
Итак, после краткого знакомства с основными деталями NetBurst архитектуры, основного оружия Pentium 4 взглянем на его формальную спецификацию:
Чип, производимый по технологии 0.18 мкм с использованием алюминиевых соединений. Переход на медные соединения Intel планирует произвести одновременно с внедрением технологии 0.13 мкм.
Ядро Willamette, основанное на архитектуре NetBurst. Содержит 42 млн. транзисторов и имеет площадь 217 кв.мм. Это более чем в два раза больше, чем площадь ядра Athlon или Pentium III.
Работает в специальных материнских платах с 423-контактным процессорным разъемом Socket 423.
Использует высокопроизводительную 400 МГц Quad Pumped системную шину
Кеш данных первого уровня 8 Кбайт. Trace Cache для декодированных инструкций рассчитан на 12000 микроопераций
Интегрированный Advanced Transfer Cache второго уровня размером 256 Кбайт. Работает на полной частоте ядра и имеет 256-битную шину
Напряжение питания - 1.7В
Набор SIMD-инструкций SSE2
Выпускаются версии с частотами 1.4 и 1.5 ГГц. Позднее ожидается версия с частотой 1.3 ГГц.
Процессор Intel Pentium 4 будет выпускаться в FC-PGA упаковке, однако само ядро будет закрыто heat spreader – специальной металлической крышкой, защищающей его от повреждения. Устанавливаться Pentium 4 будет в гнездо Socket 423, имеющее 423 контакта и отличающееся по размеру от обычных Socket 370 и Socket A.
Из-за большого ядра, тепловыделение новых кристаллов будет достаточно высоким. В частности, Pentium 4 1.4 ГГц, работающий на напряжении 1.7 В и потребляющий примерно 32 A, будет рассеивать порядка 52 Вт тепла (1.5 ГГц Pentium 4 рассеивает 55 Вт тепла). Поэтому, кулеры для Pentium 4 должны иметь достаточно большие размеры и площадь поверхности.
Стоимость процессора при поставках партиями 1000 шт. составляет, соответственно, $819 и $644 для моделей с тактовыми частотами 1.5 ГГц и 1.4 ГГц. Pentium 4 1.3 ГГц, который появится 29 января 2001 года, будет стоить $409. Intel планирует достаточно агрессивно снижать цены на Pentium 4, с тем, чтобы этот процессор мог применяться в настольных компьютерах среднего уровня:
20 ноября | 10 декабря | 29 января | |
Pentium 4 1.5 Гц | 819 | 819 | 644 |
Pentium 4 1.4 Гц | 644 | 574 | 440 |
Pentium 4 1.3 Гц | - | - |
409
|