- •Суперскалярный процессор
- •Типы суперскалярных процессоров
- •Статический суперскалярный процессор
- •Стадия планирования и группировки инструкций.
- •Достоинства и недостатки
- •Модели статический суперскалярных процессоров.
- •Динамический суперскалярный процессор.
- •Что быстрее динамического суперскалярного процессора?
- •Спекулятивный суперскалярный процессор. (ССП)
- •Этапы исполнения инструкции
- •Стадии записи результата и завершения
- •Изменения в аппаратной схеме
- •Схема ССП
- •Описание работы схемы. Этап планирования.
- •Описание работы схемы.
- •Описание работы схемы. Этап завершения.
- •Такт 0
- •Такт 1
- •Такт 2
- •Такт 3
- •Такт 4
- •Такт 5
- •Такт 6
- •Такт 7
- •Такт 8
- •Такт 9
- •Такт 10
- •Такт 11
- •Такт 17
- •Такт 18
- •Такт 19
- •Такт 20
- •Такт 21
- •Такт 22
- •Такт 23
- •Такт 24
- •Такт 59
- •Такт 60
- •Такт 61
- •Что произойдет если будет сгенерировано исключение?
- •Что обеспечивает выполнение критериев корректного исполнения программы?
- •Ограничения спекуляции.
- •Ограничения планирования инструкций условного перехода.
- •Альтернативный подход к ССП Переименование регистров.
- •Особенности переименования регистров.
Суперскалярный процессор
•Это процессор который способен заканчивать или отставлять 2 и более команды за такт.
•Скалярный конвейерный процессор исполняет более одной инструкции, но завершает всегда по одной.
Типы суперскалярных процессоров
•Статический.
–Выполняет инструкции по порядку (in-order)
•Динамический.
–Выполняет инструкции вне порядка (out of order), кроме инструкций условного перехода.
•Спекулятивный.
–Выполняет все инструкции вне порядка (out of order).
–Спекулирует над инструкциями условного перехода и инструкциями загрузки/сохранения.
Статический суперскалярный процессор
•Схож с классическим конвейерным скалярным процессором.
•Все инструкции выполнятся в рамках одного конвейера.
•Появилась дополнительная стадия планирования и группировки инструкций.
•Целочисленные и вещественные части конвейера выравниваются по длине с использованием пустых стадий.
Стадия планирования и группировки инструкций.
•Проверяет группу из n инструкций на наличие конфликтов внутри группы и с инструкциями, которые уже находятся на исполнении.
•Если внутри группы инструкций обнаружен конфликт, то на исполнение отправляются инструкции, которые предшествуют первой конфликтной инструкции в программном порядке, а остальные инструкции ждут разрешения конфликта.
•Также стадия отвечает за распределение инструкций между устройствами.
Достоинства и недостатки
•Достоинства:
–Относительная аппаратная простота.
–Высокая пиковая производительность.
–Возможно достижения высокой рабочей частоты.
•Недостатки:
–Требуется перекомпиляция кода, для достижение высокого реального быстродействия.
Модели статический суперскалярных процессоров.
•Sun
–Ultra Sparc III / IV
•IBM
–POWER 6
Динамический суперскалярный процессор.
•Для планирования использует алгоритм Тамасуло.
•Усовершенствована стадия планирования, которая может планировать более 2 инструкций за такт.
•Инструкции после инструкции условного перехода планируются, но не исполняются, до исполнения инструкции условного перехода
Что быстрее динамического суперскалярного процессора?
•Динамический суперскалярный процессор использует параллелизм инструкций только в одном базовом блоке.
•Следующим шагом является процессор, который использует параллелизм нескольких базовых блоков.
Спекулятивный суперскалярный процессор. (ССП)
•Спекуляция - выполнение некоторой операции, необходимость выполнения которой носит вероятностный характер.
•ССП способен выполнять инструкции, которые следуют за невыполненной инструкцией условного перехода, основываясь на данных предсказателя ветвления, и в случае неверного предсказания выполнять откат.
Этапы исполнения инструкции
Алгоритм Тамасуло |
1. |
ССП |
|
1. |
Выборка |
Выборка |
|
2. |
инструкции |
2. |
инструкции |
Планирование |
Планирование |
||
3. |
инструкции |
3. |
инструкции |
Ожидание |
Ожидание |
||
|
готовности |
|
готовности |
4. |
операндов |
4. |
операндов |
Исполнение |
Исполнение |
||
5. |
Сохранение |
5. |
Запись результата |
|
результата |
6. |
Завершения |
|
|
|
(commit) |