Особенности архитектуры процессоров Pentium III и Pentium IV

Разработка процессоров Pentium III и Pentium IV определяла не только создание процессоров с новым уровнем производительности, но имела своей основной целью обеспечить эффективную поддержку мультимедийных и 3D технологий.

Архитектурные особенности процессоров Pentium III:

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

2. Технология обработки мультимедиа-данных Intel MMX™. Технология Intel MMX предусматривает поддержку набора из 57 целочисленных команд и четырех типов данных общего назначения, легко применимых для оптимизации широкого круга мультимедийных и коммуникационных приложений. В рамках этой технологии используется расширение «Одна инструкция над множественными данными» (Single Instruction, Multiple Data, SIMD); в процессор введены восемь 64-разрядных регистров технологии MMX.

3. Технология динамического исполнения:

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

· Анализ потока данных: переупорядочивает очередь выполнения команд, анализируя зависимости их операндов.

· Спекулятивное исполнение - в случае отсутствия в очереди однозначно исполняемых команд процессор загружается предположительно исполняемыми, полностью используя суперскалярную структуру процессора.

4. Самотестирование и мониторинг производительности:

· Функция самотестирования (Built In Self Test, BIST) обеспечивает обнаружение одиночных неисправностей - типа остановки микрокоманды и ошибки в логических матрицах, а также тестирует кэш-память, буферы TLB и целостность микрокода.

· Порт тестового доступа и архитектура сканирования окружения, соответствующие стандарту IEEE 1149.1, позволяют проверять процессоры Pentium III с помощью стандартного интерфейса.

· Встроенный датчик производительности обеспечивает возможность мониторинга быстродействия и подсчета событий.

· Встроенный в матрицу термодиод, измеряющий ее температуру. Системные платы позволяют использовать его для мониторинга температуры процессора.

5. Внедрена высокопроизводительная архитектура двойной независимой шины (Dual independent Bus, DIB), разделяющая системную шину и шину кэш-памяти, повышающая скорость обмена данными, производительность и масштабируемость по мере развития новых технологий.

6. Системная шина поддерживает множественные отложенные транзакции, повышающие ее доступность. Кроме того, шина обеспечивает совместную работу двух процессоров без "залипания". Это позволяет создавать недорогие симметричные двухпроцессорные системы, существенно повышающие производительность многозадачных и многопотоковых приложений.

7. Неблокируемая объединенная кэш-память второго уровня (L2) объемом 512 Кб повышает производительность, сокращая среднее время доступа к памяти путем хранения часто используемых команд и данных. Пропускная способность кэш-памяти увеличена благодаря использованию отдельной 64-разрядной шины. Скорость работы кэш-памяти второго уровня растет с увеличением частоты процессора. Кроме того, в процессор встроена раздельная кэш-память первого уровня для команд и данных, объемом по 16 Кб. Процессоры поддерживают кэширование до 4 Гб памяти.

8. Процессоры поддерживают функцию распознавания и коррекции ошибок (Error Correction Code, ECC) на шине кэш-памяти второго уровня для приложений с повышенными требованиями к целостности данных.

9. Конвейеризованное устройство операций с плавающей точкой (Floating-Point Unit, FPU) поддерживает как 32-разрядный и 64-разрядный форматы IEEE 754, так и 80-разрядное представление чисел.

10. Технология запроса адреса памяти и ответа системной шины с проверкой четности и возможностью повтора повышает надежность обмена данными.

Pentium IV радикально отличается от своих предшественников. Архитектуре этих процессоров дано имя NetBurst. Рассмотрим важнейшие особенности процессора:

1. Гиперконвейерная архитектура: Pentium IV отличается от предшественников конвейером, длина которого составляет не менее 20 стадий (конвейер Pentium III насчитывает 10 стадий). Именно поэтому новый процессор способен работать на сверхвысоких частотах. В самом деле: если последовательность исполнения команды разбита на более мелкие этапы, то каждый из них процессор сможет выполнять быстрее, следовательно, тактовую частоту ЦП можно повысить. К сожалению, длинный конвейер не лишен недостатков. Основной его враг - инструкции условных переходов. Процессор, выполняя такую команду, в зависимости от определенного условия должен либо совершить переход на новый адрес, либо продолжить обработку следующей инструкции. Все современные процессоры стараются предсказать результат каждого ветвления до того, как условие перехода будет вычислено. Если прогноз окажется верным, ЦП будет работать без простоев. Если предсказание ошибочно, процессору приходится очищать весь конвейер и запускать его заново. Pentium IV ошибается в предсказании ветвлений на треть реже, чем Pentium III.

2. Кэш трассировки исполнения (Execution trace cache): Pentium IV отличается от х86-совместимых процессоров уникальной организацией кэш-памяти. Pentium III и Athlon используют одну половину кэш первого уровня (L1) для хранения инструкций, а другую – для данных. Все современные ЦП исполняют громоздкие инструкции х86, предварительно разбив их на простые и удобные для обработки микрооперации. Декодеры Pentium III и Athlon считывают команды из кэш-памяти первого уровня и делят их на микрокоманды, которые передаются исполнительному устройству. Такая схема имеет два серьезных недостатка:

· Во-первых, если декодеру попадается сложная инструкция, то исполнительному устройству приходится простаивать до тех пор, пока она не будет преобразована в микрооперации;

· Во-вторых, каждый раз при повторном исполнении команд (при обработке циклов) процессору приходится декодировать их заново.

Pentium IV не хранит инструкции в кэш первого уровня. Вместо этого процессор помещает уже декодированный код в так называемом кэш трассировки исполнения (Execution Trace Cache).

Иными словами, в новом кэш хранятся не классические инструкции х86, а готовые к исполнению микрооперации. Такой подход позволяет избежать описанных выше проблем. Во-первых, исполнительные устройства Pentium IV не ждут декодера, а считывают микрокоманды непосредственно из кэш трассировки исполнения. Во-вторых, если цикл полностью помещается в новый кэш, процессору не приходится декодировать его многократно. В Execution Trace Cache можно хранить до 12000 микрокоманд.

Объем кэш первого уровня Pentium IV (данных) составляет всего восемь килобайт. Для сравнения: L1-кэш Pentium III и Athlon могут хранить до 16 и 64 килобайт данных соответственно; объем принесен в жертву скорости - на ожидание данных из кэш первого уровня Pentium IV тратит всего два такта, а его конкуренты - минимум три.

Кэш второго уровня соединен с ядром широкой 256-битной шиной данных (Intel называет эту конфигурацию Advanced Transfer Cache).

3. Механизм ускоренного выполнения (rapid execution engine): Все современные процессоры оснащены не одним, а несколькими АЛУ (арифметико-логическими устройствами, то есть блоками, выполняющими арифметические и логические операции над целочисленными данными). Инструкции х86 плохо поддаются распараллеливанию; очень часто процессор не может обработать команду до тех пор, пока не вычислит результат предшествующей ей инструкции. Такие пары команд называются зависимыми. Поскольку обрабатывать их параллельно нельзя, процессору приходится вычислять их по очереди.

Чтобы максимально сократить время исполнения зависимых инструкций, Pentium IV оснащен двумя АЛУ, работающими на удвоенной частоте процессора. Каждое из них может исполнить за такт две простых операции (сложение, вычитание и логические). На удвоенной частоте обрабатываются не все арифметические команды, а лишь простейшие из них. Сложные операции (например, умножение) Pentium IV выполняет на своей номинальной частоте.

4. SSE2: Набор SIMD-инструкций SSE, появившийся в процессорах Pentium III, не только включен в Pentium IV, но и существенно расширен. К имевшимся 70 командам добавлено еще 144. SIMD-инструкции (Single Instruction Multiple Data - одна инструкция над многими данными) производят арифметические операции над несколькими (более чем двумя) операндами. Прежние команды SSE позволяли обработать одновременно четыре пары вещественных чисел одинарной точности (восемь 32-битных чисел с плавающей запятой). Другие типы данных SSE не обрабатывает. Команды, появившиеся в SSE2, могут работать с двумя парами вещественных чисел двойной точности (четырьмя 64-битными числами с плавающей запятой) и целочисленными операндами длиной от одного до 16 байт. Добавлены также новые команды, управляющие кэшированием данных.

Самым важным нововведением в SSE2 следует признать поддержку SIMD-операций над вещественными числами двойной точности. Напомним, что SSE и 3Dnow! работают лишь с операндами одинарной точности, недостаточной для многих инженерных приложений. AMD едва ли сможет добавить в свой набор команд операции над вещественными числами двойной точности. Дело в том, что инструкции 3DNow! хранят операнды в 80-разрядных регистрах математического сопроцессора, и втиснуть в такой регистр два 64-битных числа в принципе невозможно.

5. Системная шина: Вместе с оригинальным ядром Pentium IV получил обновленную системную шину (FSB). От FSB процессоров Pentium III она отличается возможностью передавать данные четыре раза за такт (Intel называет этот режим "Quad Pumped"). Таким образом, даже работая на скромной частоте 100 мегагерц, эта 64-разрядная шина может передавать информацию со скоростью до 3.2 Гбайт/с. Впрочем, даже самая быстрая шина будет простаивать, если память не сможет поставлять данные с адекватной скоростью.

Pentium IV подобный дисбаланс не грозит. Материнские платы для этого процессора оснащаются двухканальным контроллером памяти. Пропускная способность каждого канала может достигать 1.6 Гбайт/с; таким образом, суммарная полоса пропускания RAM достигает внушительной цифры 3.2 Гбайт/с.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: