Изменить порядок буфера

редактировать

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

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

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

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

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

Ссылки
Внешние ссылки
Последняя правка сделана 2021-06-03 09:43:23
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте