Информационные технологииStfw.Ru 🔍

Intel Pentium 4

🕛 16.06.2008, 14:04
# 20 октября 2000 года
# 9,5 миллиона транзисторов
# 1,4 - 2,0 GHz MHz (400 MHz шина)
# технология SSE2

Pentium 4 - следующие после Coppermine принципиально новые IA-32 Processorы Intel для обычных PC. Вместо традиционных GTL+ и AGTL+ используется новая системная шина Quad Pumped 100 МГц, обеспечивающая передачу данных с частотой 400 МГц и передачу адресов с частотой 200 МГц. Кэш-память L1 - 8 Кбайт, L2 - 256 Кбайт. В архитектуру введен ряд усовершенствований, направленных на увеличение тактовой частоты и производительности. Введен новый набор инструкций SSE2. Первые модели на основе ядра Willamette (Willamette - наименование первого ядра Processorов Pentium 4, созданных по технологии 0,18 мкм.) с тактовой частотой 1,4-1,5 ГГц Вышелы 20 октября 2000 года. Разъем - Socket 423.

Причиной появления спроектированного с чистого листа Willamette - это ограничения, накладываемые на тактовую частоту Processorов семейства P6 - из-за конвейера длиной 12 ступеней, причем ступеней относительно больших, которые при технологическом процессе 0.18 микрон, которым располагает Intel, не в состоянии работать на частотах, существенно превышающих 1 гигагерц. Предел данного технологического процесса находится где-то в районе 1.1 - 1.2 ГГц.

Intel приняла решение о проектировании принципиально нового Processorа с гиперконвейеризацией (hyperpipelining) - с конвейером, состоящим из 20 ступеней. Согласно заявлениям Intel, Processorы, основанные на данной технологии, позволяют добиться увеличения частоты примерно на 40 процентов относительно семейства P6 при одинаковом технологическом процессе. Соответственно, для технологии производства 0.18 микрон предел частоты составляет примерно 1,55 - 1,7 ГГц. И это только до полноценного запуска в производство технологии 0.13 микрон, где для архитектуры Pentium 4 в плане повышения частот открываются более чем радужные перспективы.

Однако, не все так замечательно. Задача конвейера - обеспечивать непрерывную обработку потока микрокоманд без каких бы то ни было задержек. Для обеспечения безостановочной работы столь длинного конвейера и были применены те множественные ухищрения, позволяющие говорить о Willamette, как о принципиально новом Processorе в программе Intel. Посмотрим, что же такого интересного находится в кристалле у Pentium 4, и на какие вершины производительности позволит подняться такое кардинальное увеличение частоты.

Единственной возможностью обеспечить гиперконвейерную архитектуру непрерывной работой является выполнение команд с изменением последовательности выполнения (out-of-order execution) и выполнение команд, находящихся после команды перехода до получения реального адреса перехода, т.е. по предположению (speculative execution). При такой схеме работы Processor использует внутренний алгоритм предсказания переходов, который, естественно, не всегда точно предсказывает ветвь, по которой пойдет работа программы. Более того, чем длиннее конвейер, тем более долгое время займет его очистка и перезапуск по правильной ветви программы. Вот какие решения были применены для оптимизации данной схемы.

Для минимизации неправильных переходов в Processorе Willamette применен большой, объемом 4 Кбайта (у P6 - 512 байт), буфер адреса перехода (BTB - branch target buffer), который хранит более подробную историю предыдущих переходов, нежели P6. Также применен еще более продвинутый алгоритм предсказания переходов, позволяющий с большей степенью точности предсказывать правильность переходов. Данные меры позволили добиться существенного увеличения точности по сравнению с семейством Р6 - приблизительно на треть, таким образом, для Processorа Pentium 4 вероятность удачного предсказания составляет порядка 93-94 процентов.

Для обеспечения блока выполнения микрокомандами, станцию-резервуар (Reservation Station), называемую в новом Processorе окном команд (Instruction Window), но не меняющей от этого своей сути и назначения, сделали значительно больше, расширив до 126 инструкций - теперь у Processorа есть значительно большая свобода в выборе микрокоманд для внеочередного исполнения.

Два вышеописанных нововведения являются частью Advanced Dynamic Execution Engine - усовершенствованного механизма динамического исполнения.

Для обеспечения увеличенного потока микрокоманд и быстрого восстановления конвейера в случае выбора неправильной ветви программы служит Execution Trace Cache - трассирующий кэш команд. Это принципиально новый подход к организации кэша команд первого уровня - кэш находится после дешифраторов и содержит микрокоманды, готовые к исполнению, благодаря чему исключается простой конвейера, вызванный долгой дешифрацией сложных команд. При этом микрокоманды в кэше упорядочиваются в соответствии с несколькими предсказанными ветвями программы, т.е. подряд кэшируется весьма длинный кусок программы - так называемая трасса. Проще говоря, при выполнении заранее упорядоченные в кэше микрокоманды - трассы выбираются подряд, независимо от своих адресов. Благодаря этому обеспечивается увеличенный поток микрокоманд и оптимальное использование пространства кэша, вмещающего около 12 тысяч микрокоманд. А где же быстрое восстановление конвейера? Читаем дальше, скоро все будет…

Уменьшение количества команд, необходимых для выполнения задачи

В примитиве это выглядит так. Множество программ постоянно выполняет повторяющиеся операции над большими объемами данных, а эти данные чаще всего представляют собой небольшие величины (значения), которые можно представить набором из нескольких бит. В результате очевидно стремление представить эти наборы данных максимально компактно и разработать операции, умеющие общаться с такими наборами данных. Эти операции называются SIMD (Single Instruction, Multiple Data) - одна команда, много данных, и призваны сократить среднее количество команд, необходимых в ходе выполнения программы. В Processorе Willamette нашло применение второе поколение команд, относящихся к расширенному набору - SSE2 (Streaming SIMD Extensions 2) - потоковые SIMD-расширения, включающие 144 новые инструкции. Их мы рассмотрим подробнее далее.

В Processorе Willamette ALU (Arithmetic Logic Unit) - арифметико-логические блоки (устройства) - работают на удвоенной частоте Processorа, например, у Processorа с частотой 1,4 ГГц АЛУ будет работать на частоте 2,8 ГГц, т.е. выполнение операции занимает не полный такт, а половину.

Применена Quad-pumped 400 МГц системная шина, обеспечивающая пропускную способность в 3,2 ГБайта в секунду против 133 МГц шины с пропускной способностью 1,06 ГБайт у Pentium III.

Advanced Transfer Cache 2-го уровня имеет размер 256 Кбайт и также, как и у Coppermine, имеет 256-разрядную шину, работает на частоте Processorа и благодаря более высокой тактовой частоте обеспечивает большую пропускную способность.

Инструкции Streaming SIMD Extensions 2 (SSE2)

Важнейшим положительным нововведением нового Processorа, которое действительно сможет поднять его над конкурентами, является использование второго поколения потоковых команд-расширений - SSE2 (Streaming SIMD Extensions 2).

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

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

Также усовершенствования коснулись 68 целочисленных SIMD инструкций, которые работали в Processorах Pentium II и Pentium III c 64-разрядными MMX-регистрами, в архитектуре Willamette поддерживают и работу c XMM-регистрами. Данное нововведение позволит разработчикам иметь большую гибкость при написании SIMD-кода, используя как MMX, так и XMM-регистры.

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

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

Последняя модель рассчитана на частоту 2 ГГц, после чего ядро Willamette сменяет Northwood.

Northwood - наименование ядра Processorов Pentium 4, созданных по технологии 0,13 мкм; Socket 423 и 478. С внедрением этого ядра происходит окончательный переход на новый форм-фактор Socket 478. Объем кэш-памяти L2 увеличен до 512 Кбайт. Именно этот Processor должен стать основным в ассортименте Intel на долгое время, сменив на этом посту линейку Katmai/Coppermine. Исходная тактовая частота - 2ГГц (маркировался как 2A ГГц, чтобы различался от 2 ГГц Willamate), позднее анонса появилась и младшая версия с частотой 1.6 ГГц. В мае 2002 года Northwood стал поддерживать 533 МГц системную шину (133 МГц QPB).

Компьютеры и периферия   Теги: Intel, Pentium

Читать IT-новости в Telegram

Читайте также:

Intel Pentium

Intel Pentium Pro

Intel Pentium II

Информационные технологии
Мы в соцсетях ✉