Доклад: Intel Pentium 4
Содержание:
Введение
1. Архитектура IntelNetBurst
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 микроопераций.
--> ЧИТАТЬ ПОЛНОСТЬЮ <--