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

Содержание

Слайд 2

Два класса

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

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

Слайд 4

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

Предсказание ветвлений (переходов) (branch prediction).
Переименование регистров, чтобы

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

Слайд 5

Как реализован конвейер?

Устройство предварительной обработки инструкций в порядке их следования в программном

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

Слайд 6

Устройство front end

Предсказание следующей инструкции. Используются два алгоритма предсказания переходов. Динамический

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

Слайд 7

Пример переименования регистров

(1) a = x + f; a = x + f;
(2) b =

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

Слайд 8

Каждый МОП может проходить через следующие стадии:
1. находится в очереди планировщика, но

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

Слайд 9

Устройство Out-Of-Order execution

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

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

Слайд 10

Блок упорядоченного завершения

Запись результатов обратно во внешние архитектурные регистры, постоянная запись

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

Слайд 11

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

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

Слайд 12

Pentium III

Pentium III

Слайд 13

Alpha 21264

Alpha 21264

Слайд 16

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

Гипертранспорт
Имя файла: Архитектуры-с-параллелизмом-на-уровне-команд.pptx
Количество просмотров: 1313
Количество скачиваний: 0