Files
2025-06-20 12:48:16 +03:00

1.9 KiB
Raw Blame History

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

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