Взаимодействие функциональных блоков процессора Pentium IV - davaiknam.ru o_O
Главная
Поиск по ключевым словам:
страница 1
Похожие работы
Название работы Кол-во страниц Размер
Лекция №10. Шина процессора 1 57.05kb.
«Разгон» и «торможение» процессора 1 47.09kb.
Обзор архитектуры и особенностей нового Intel Pentium 4 с ядром Prescott 1 214.85kb.
Процессоры Pentium Pro и Pentium II 4 476.01kb.
Лекция №4 Микропроцессоры 1 173.9kb.
Процессор Pentium II 1 41.64kb.
Исследование ошибки устройства с плавающей точкой процессоров pentium... 1 118.63kb.
Процессоры Pentium фирмы Intel 1 16kb.
П 30. 8-002 Комплектовка блоков на листоподборочной машине и вручную... 1 119.56kb.
Другие режимы блочных шифров Резким сцепления блоков 1 43.24kb.
Модуль процессора 1 47.33kb.
Сравнение производительности процессоров 1 83.64kb.
Направления изучения представлений о справедливости 1 202.17kb.

Взаимодействие функциональных блоков процессора Pentium IV - страница №1/1

Взаимодействие функциональных блоков процессора Pentium IV


В процессоре Pentium IV применяются следующие конструкторские решения:

  • модифицированная гарвардская архитектура;

  • суперскалярная архитектура;

  • динамическое изменение последовательности команд (выполнение команд с опережением — спекулятивное выполнение);

  • конвейерное исполнение команд;

  • предсказание направления ветвлений.

   Модифицированная гарвардская архитектура реализуется путём разделения потоков команд и данных, поступающих от системной шины через интерфейсный блок и размещённую на кристалле процессора общую кэш-память 2-го уровня (L2) ёмкостью 256 Кбайт.

    Дешифратор команд работает вместе с памятью микропрограмм, формируя последовательность микрокоманд, обеспечивающих выполнение поступивших команд. Декодированные команды загружаются в кэш-память микрокоманд, откуда они выбираются для исполнения. При поступлении очередной команды блок трассировки выбирает из этой кэш-памяти необходимые микрокоманды, обеспечивающие её выполнение. Если в потоке команд оказывается команда условного перехода (ветвления программы), то включается механизм предсказания ветвления, который формирует адрес следующей выбираемой команды до того, как будет определено условие выполнения перехода.

    После формирования потоков микрокоманд производится выделение регистров, необходимых для выполнения декодированных команд. Эта процедура реализуется блоком распределения регистров, который выделяет для каждого указанного в команде логического регистра один из 128 физических регистров, входящих в состав блоков регистров замещения(БРЗ). Это нужно для того, что бы один и тот же регистр не использовался разными командами.

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

    Суперскалярная архитектура реализуется путём организации исполнительного ядра процессора в виде ряда параллельно работающих блоков. Арифметико-логические устройства(АЛУ) производят обработку целочисленных операндов, которые поступают из заданных регистров БРЗ. В эти же регистры заносится и результат операции. При этом проверяются также условия ветвления для команд условных переходов и выдаются сигналы перезагрузки конвейера команд в случае неправильно предсказанного ветвления. Исполнительное ядро работает с повышенной скоростью выполнения операций.

    Адреса операндов, выбираемых из памяти, вычисляются блоком формирования адреса (БФА), который реализует интерфейс с кэш-памятью данных 1-го уровня (L1) ёмкостью 8 Кбайт. В соответствии с заданными в декодированных командах способами адресации формируются 48 адресов для загрузки операндов из памяти в регистр БРЗ и 24 адреса для записи из регистра в память. При этом БФА формирует адреса операндов для команд, которые ещё не поступили на выполнение. При обращении к памяти БФА одновременно выдаёт адреса двух операндов: один для загрузки операнда в заданный регистр БРЗ, второй — для пересылки результата из БРЗ в память. Таким образом реализуется процедура предварительного чтения данных для последующей их обработки в исполнительных блоках, которая называется спекулятивной выборкой. Аналогичным образом организуется параллельная работа блоков SSE, FPU, MMX, которые используют отдельный набор регистров и блок формирования адресов операндов.



    В Pentuim IV используется гиперконвейерная технология выполнения команд, при которой число звеньев конвейера достигает 20 (в Pentium I — 5 звеньев, в Pentium III — 11). Таким образом одновременно в процессе выполнения может находиться до 20 команд, находящихся на разных стадиях их реализации.

    Эффективность конвейера резко снижается из-за необходимости его перезагрузки при выполнении условных ветвлений, когда требуется произвести очистку всех предыдущих ступеней и выбрать команду из другой ветви программы. Чтобы сократить потери времени, связанные с перезагрузкой конвейера, используется блок предсказания ветвлений. Его основной частью является ассоциативная память, называемая буфером адресов ветвлений (BTB — Branch Target Buffer), в которой хранятся 4092 адреса ранее выполненных переходов. При поступлении очередной команды условного перехода указанный в ней адрес сравнивается с содержимым BTB. Если этот адрес не содержится в BTB, то есть ранее не производились переходы по данному адресу, то предсказывается отсутствие ветвления. В этом случае продолжается выборка и декодирование команд, следующих за командой перехода. При совпадении указанного в команде адреса перехода с каким-либо из адресов, хранящихся в BTB, производится анализ предыстории. В процессе анализа определяется чаще всего реализуемое направление ветвления, а также выявляются чередующиеся переходы. Если предсказывается выполнение ветвления, то выбирается и загружается в конвейер команда, размещённая по предсказанному адресу. Таким образом резко уменьшается число перезагрузок конвейера при неправильном предсказании ветвления.




Вкусы меняются столь же часто, сколь редко меняются склонности. Франсуа Ларошфуко
ещё >>