Переупорядочить буфер - Re-order buffer

А буфер переупорядочения (ROB) используется в Алгоритм Томасуло для не работает выполнение инструкции. Это позволяет выполнять инструкции по порядку.

Обычно есть три этапа инструкций: «Проблема», «Выполнить», «Записать результат». В алгоритме Томасуло есть дополнительный этап «Фиксация». На этом этапе результаты выполнения инструкций будут сохранены в регистре или памяти. На этапе «Результат записи» результаты просто помещаются в буфер изменения порядка. Все содержимое этого буфера затем можно использовать при выполнении других инструкций в зависимости от них.

В каждой записи буфера есть дополнительные поля:

  • Тип инструкции (переход, сохранение в памяти, сохранение в регистр)
  • Место назначения (адрес памяти или номер регистра)
  • Результат (значение, которое идет к месту назначения, или индикация (не) успешного прыжка)
  • Срок действия (результат уже существует?)

Дополнительные преимущества буфера повторного заказа включают точное исключения и легко откат контроль над неверное предсказание целевого адреса (ветвь или прыжок). ROB работает, сохраняя инструкции в их исходном порядке извлечения. Доступ к ROB также можно получить сбоку, поскольку каждый станция бронирования (в алгоритме Томасуло) имеет дополнительный параметр, указывающий на инструкцию в ROB. Когда предсказание перехода неверно или в потоке команд встречается невосстановимая исключительная ситуация, ROB очищается от всех инструкций, и станции резервирования повторно инициализируются.

использованная литература

внешние ссылки