Все теоритические билеты по Архитектуре ЭВМ в основном были написаны, кроме: 8.4; 13.4; 14.4; 15.4. Задачи будут позже.
20 lines
2.3 KiB
Markdown
20 lines
2.3 KiB
Markdown
#### Ступени конвейера, использующего табло. Обработка инструкции на различных ступенях.
|
||
|
||
- **Выборка инструкции (IF)** - последовательна.
|
||
- **Выдача (ID1).** Инструкция выдается, если:
|
||
- Функциональное устройство для инструкции доступно (нет структурного конфликта).
|
||
- Регистр назначения для результата инструкции не помечен для записи другой раннее запущенной инструкцией (нет конфликта WAW).
|
||
- **Чтение операндов (ID2)**
|
||
- Табло отслеживает доступность операндов.
|
||
- Когда все операнды доступны, табло указывает функциональному устройству считать все операнды из регистров (пересылка не поддерживается) и начать исполнение.
|
||
- Таким образом, конфликты RAW разрешаются динамически.
|
||
|
||
Между стадией ID2 и EX не может быть простоев. В табло хранится информация кто от кого зависит, и как только необходимые регистры появились, мы их сразу забираем.
|
||
|
||
- **Исполнение (EX).** Заменяет EX+MEM в MIPS.
|
||
- Функциональное устройство начинает исполнение, как только получит операнды.
|
||
- Когда результаты готовы, оно уведомляет табло.
|
||
- **Запись результата (WB)**
|
||
- Когда табло уведомляется о том, что функциональный блок завершил исполнение, оно выполняет проверку на конфликты WAR и приостанавливает запись результата, если необходимо.
|
||
- Функциональное устройство помечается как доступное для других инструкций после того, как ступень WB завершена.
|