Опубликован: 18.05.2006 | Уровень: для всех | Доступ: платный | ВУЗ: Ульяновский государственный университет
Лекция 5:

Конвейеризация. Новые возможности микропроцессоров IA-32

< Лекция 4 || Лекция 5: 12 || Лекция 6 >
Аннотация: В данной лекции рассматриваются развитие конвейерной структуры микропроцессоров IA-32 и новые технологии, повышающие производительность этих микропроцессоров: суперскалярная архитектура, динамическое (спекулятивное) исполнение команд. Цель: познакомить студентов с некоторыми принципами параллельной обработки данных благодаря конвейерам команд и суперскалярности, сформировать умения и навыки определять эффективность того или иного кода в зависимости от особенностей архитектуры ЦП.

Конвейеризация команд

Существенное повышение производительности МП 80286 по сравнению с базовой моделью семейства стало возможным благодаря внедрению в архитектуру семейства IA32 конвейерной обработки. Конвейеризация позволяет нескольким внутренним блокам МП работать одновременно (табл. 5.1), совмещая дешифрование команды, операции АЛУ, вычисление эффективного адреса и циклы шины нескольких команд. В составе МП 80286 есть 4 конвейерных устройства:

  • BU (Bus Unit) - шинный блок (считывание из памяти и портов ввода/вывода);
  • IU (Instruction Unit) - командный блок (дешифрация команд);
  • EU (Executive Unit) - исполнительный блок (выполнение команд);
  • AU (Address Unit) - адресный блок (вычисляет все адреса, формирует физический адрес).
Таблица 5.1. Конвейеризация команд в МП 80286
Микрооперации Циклы шины

Выборка B

команды U

N+1 N+2
N-1

Дешифр. I

команды U

N+1 N+2
N-2 N-1

Форм. адр. A

операнда U

N+1 N+2
N-2 N-1

Выборка B

операнда U

N+1 N+2
N-2 N-1

Выполнение E

команды U

N+1
N-2 N-1

Запись B

результата U

Идея конвейеризации была развита в следующих моделях этого семейства. В МП Intel-486 реализован пятиступенчатый конвейер для обработки команд:

  • PF (Prefetch) - предвыборка команд;
  • D1 (Instruction Decode) - декодирование команды;
  • D2 (Address Generate) - формирование адреса;
  • EX (Execute) - выполнение команды в АЛУ и доступ к кэш-памяти;
  • WB (Write Back) - обратная запись.
Блок-схема архитектуры МП Pentium

Рис. 5.1. Блок-схема архитектуры МП Pentium

Новая микроархитектура процессоров Pentium (рис. 5.1) и более поздних базируется на идее суперскалярной обработки. Под суперскалярностью подразумевается наличие более одного конвейера для обработки команд (в отличие от скалярной - одноконвейерной архитектуры). В МП Pentium команды распределяются по двум независимым исполнительным конвейерам (U и V). Конвейер U может выполнять любые команды семейства IA-32, включая целочисленные команды и команды с плавающей точкой. Конвейер V предназначен для выполнения простых целочисленных команд и некоторых команд с плавающей точкой. Команды могут направляться в каждое из этих устройств одновременно, причем при выдаче устройством управления в одном такте пары команд более сложная команда поступает в конвейер U, а менее сложная - в конвейер V (табл. 5.2). Однако, такая попарная обработка команд (спаривание) возможна только для ограниченного подмножества целочисленных команд. Команды вещественной арифметики не могут запускаться в паре с целочисленными командами. Одновременная выдача двух команд возможна только при отсутствии зависимостей по регистрам.

Таблица 5.2. Конвейеризация команд в МП Pentium
Этапы конвейеров Циклы шины
PF К1 К3 К5 К7
К2 К4 К6 К8
D1 К1 К3 К5 К7
К2 К4 К6 К8
D2 К1 К3 К5 К7
К2 К4 К6 К8
EX К1 К3 К5 К7
К2 К4 К6 К8
WB К1 К3 К5 К7
К2 К4 К6 К8
< Лекция 4 || Лекция 5: 12 || Лекция 6 >
Виктория Монахова
Виктория Монахова
Евгений Коваленко
Евгений Коваленко
Артём Сумской
Артём Сумской
Россия, Новая Адгея
Лев Хапуненко
Лев Хапуненко
Россия, Краснодар