Архитектуры с параллелизмом на уровне команд. Два класса Суперскалярные процессоры Процессоры с длинным командным словом.

Презентация:



Advertisements
Похожие презентации
Архитектуры с параллелизмом на уровне команд. Два класса Суперскалярные процессоры Процессоры с длинным командным словом.
Advertisements

Введение в параллельную обработку. Уровни параллелизма в процессорах Параллелизм данных (DLP – Data Level Parallelism) Параллелизм команд (ILP – Instruction.
Архитектура P6. Начало разработки: 1990 год Цель: Достигнуть производительности большей, чем процессоры архитектуры P5 и процессоры конкурентов. Процессоры.
Конвейерные вычисления. Что такое конвейеризация? Конвейеризация – это техника, в результате которой задача или команда разбивается на некоторое число.
Учебный курс Архитектура ЭВМ и язык ассемблера Лекция 9 заместитель министра связи и массовых коммуникаций РФ, старший преподаватель Северов Дмитрий Станиславович.
Архитектура микропроцессоров И ее эволюция. Процессор и память: Команды и данные.
Исполнение программы Энциклопедия учителя информатики Газета «Первое сентября»
МИКРОПРОЦЕССОРЫ ФИРМЫ INTEL. 1. Структурная схема МП Рассмотрим структурную схему микропроцессоров фирмы Intel последнего семейства P6 (Pentium Pro/II/III).
Теория компиляторов-2. Л.31 Теория компиляторов Часть II Лекция 2.
МультиТредовые архитектуры.
Организация ЭВМ и систем Кафедра Параллельных вычислений (ИВМиМГ) Маркова Валентина Петровна, Киреев Сергей Евгеньевич,
Организация памяти. Иерархии памяти Идея иерархической (многоуровневой) организации памяти заключается в использовании на одном компьютере нескольких.
Архитектура современных ЭВМ Кафедра Параллельных вычислений (ИВМиМГ) Кафедра Параллельных вычислительных технологий Маркова Валентина Петровна,
Архитетура компьютерных систем. Архитектура системы команд как интерфейс между программным и аппаратным обеспечением Архитектура системы команд.
Операционная система. Базовые понятия Операционная система – это комплекс программ, обеспечивающий контроль за существованием, распределением и использованием.
Процессор – это блок, предназначенный для автоматического считывания команд программы, их расшифровки и выполнения.
Алгоритмизация и требования к алгоритму Алгоритм и алгоритмизация Алгоритм и алгоритмизация.
Теория вычислительных процессов Сети Петри для моделирования Преподаватель: Веретельникова Евгения Леонидовна 1.
Лекция 3. Исключения и прерывания в встроенных системах.
Модели транзакций Журнализация и буферизация. Зачем нужна буферизация Если бы запись об изменении базы данных, которая должна поступить в журнал при выполнении.
Транксрипт:

Архитектуры с параллелизмом на уровне команд

Два класса Суперскалярные процессоры Процессоры с длинным командным словом

Динамическое исполнение команд в суперскалярном процессоре Предсказание ветвлений (переходов) (branch prediction). Переименование регистров, чтобы удалить зависимости между данными и регистрами, невидимые компилятору (register renaming). Спекулятивное исполнение предсказанных переходов (speculative execution of predicted branches) Исполнение команд вне порядка (out-of- order instruction execution)

Как реализован конвейер? Устройство предварительной обработки инструкций в порядке их следования в программном коде (front end). Исполнение вне порядка (Out-Of- Order execution). Блок упорядоченного завершения (In-order retirement).

Упрощенная схема процессора

Устройство front end Предсказание следующей инструкции. Используются два алгоритма предсказания переходов. Динамический алгоритм работает на стадии выборки. Статический алгоритм работает на стадии декодирования. Статический алгоритм использует правила: -- безусловные переходы выполняются, -- условные переходы назад выполняются, -- переходы вперед не выполняются (это соответствует обычному циклу).

Предсказание следующей инструкции История поведения условных переходов хранятся в таблицах BHT (Branch History Table) и BTB (Branch Target Buffer ). Устройства аналогично устройству КЭШа, только вместо данных в BHT хранится история поведения условных переходов, а в BTB хранится результат предсказания.

Двубитный предсказатель

Гибридный предсказатель История локального поведения (BHT) 1024 х 10bit Локальный предсказатель 1024 х 3bit Program Counter Глобальный предсказатель 4096 х 2bit Выбор предсказателя История работы Предсказание

Устройство front end Выборка потока инструкций. Декодирование инструкций в микрооперации. Переименование внешних регистров. Размещение ВУ и запоминание статуса каждой микрооперации в переупорядочивающем буфере ( Reorder buffer (ROB) ) в исходном порядке инструкций.

Переименования регистров Переименование регистров основано на динамическом отображении логических ресурсов в физические (аппаратные) ресурсы процессора. Отображение номеров логических регистров в номера физических регистров хранится в таблице подстановки (lookup table) ((таблица псевдонимов регистров (RAT))). Строки таблицы обновляются после декодирования каждой команды. Очередной результат записывается в новый физический регистр, но значение каждого логического регистра запоминается, чтобы легко восстановиться в случае неправильного предсказания направления условного перехода или прерывания команды из-за возникновения исключительной ситуации. Когда команда создает новое значение для логического регистра, физический ресурс, в который помещается это значение, получает имя. Последующие команды, использующие это значение, снабжаются именем физического ресурса. Эта процедура называется переименованием регистров. Таким образом, в результате переименования с одним логическим ресурсом может быть связано несколько значений в различных физических ресурсах.

Пример переименования регистров (1)a = x + f;a = x + f; (2)b = a * z;b = a * z; (3)a = a + v;a1 = a + v; (4)d = a * b;d = a1 * b;

Каждый МОП может проходить через следующие стадии : 1 -- находится в очереди планировщика, но ещё не готов к исполнению; 2 -- готов к исполнению (все аргументы операции вычислены); 3 -- запущен на исполнение (диспетчеризован); 4 -- исполнен и ждёт отставки либо отмены спекулятивной ветви; 5 -- находится в процессе отставки.

Устройство Out-Of-Order execution Планирование и распределение микроопераций Выполнение микроопераций и запоминание их результатов временно в буфере ROB.

Блок упорядоченного завершения Запись результатов обратно во внешние архитектурные регистры, постоянная запись данных, если это необходимо. Изъятие микроопераций из буфера ROB.

Блок упорядоченного завершения Блок упорядоченного завершения отражает результаты выполнения микроопераций в изменениях состояния архитектурных (логичес- ких) регистров, внешней памяти и портов. Назначение блока – сохранение последователь- ной модели исполнения программы при реальном параллельном выполнении команд и условном выполнении команд ветвления. Рассматриваются логическое и физическое состояния процессора. Физическое состояние изменяется немедленно по завершении очередной команды. Логическое состояние изменяется, когда ясен результат условно исполненных команд.

Pentium III

Alpha 21264

Athlon

Opteron

Гипертранспорт