#### Ступени конвейера, использующего алгоритм Томасуло. Обработка инструкции на различных ступенях.

- **Выборка (IF)** - обрабатывается последовательно.
- **Выдача (ID)** - обрабатывается последовательно.
- Получить инструкцию из очереди выбранных инструкций (IQ).
- Выдать инструкцию в свободную RS, если нет структурного конфликта.
- Пометить выбранную RS как занятую.
- Переслать доступные значения операндов инструкции (из регистров ISA) в выбранную RS.
- Переименовать еще не доступные операнды в указатели на RS, которые их произведут (переименование регистров, динамическое построение графа зависимостей данных).
- Указать для выходного регистра, что он ожидает значение от используемой RS.
- **Исполнение (EX)**
- если оба операнда готовы, начинается исполнение на назначенном FU.

- если не все операнды готовы, следим за CDB в ожидании требуемого результата (через CDB происходит пересылка).
т.е. предотвращаем RAW и соблюдаем зависимости по данным.
- **Запись результата (WB)**
- результат выдается на CDB для всех ожидающих RS, т.е результат рассылается по CDB.
- станция резервации помечается как свободная.
