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