WikiDer > Окно с инструкциями

Instruction window

An окно инструкций в компьютерная архитектура относится к набору инструкции которые могут исполнять вне очереди в спекулятивный процессор.

В частности, в обычном дизайне окно инструкций состоит из всех инструкций, которые находятся в буфер переупорядочения (ROB).[1] В таком процессоре любая команда в окне команд может быть выполнена, когда ее операнды готовы. Неупорядоченные процессоры получают свое имя, потому что это может происходить не по порядку (если операнды более молодой инструкции готовы раньше, чем операнды более старой инструкции).

Окно инструкций имеет конечный размер, и в окно могут поступать новые инструкции (обычно называемые отправлять или же выделить) только тогда, когда другие инструкции покидают окно (обычно называемое выходить на пенсию или же совершить). Команды входят в окно команд и выходят из него в программном порядке, и команда может покинуть окно только тогда, когда это самая старая инструкция в окне и она была завершена. Следовательно, окно инструкций можно рассматривать как скользящее окно, в котором инструкции могут быть неупорядоченными. Все выполнение внутри окна является спекулятивным (т.е. побочные эффекты не применяются вне ЦП) до тех пор, пока оно не будет зафиксировано для поддержки асинхронного Обработка исключений подобно прерывает.

Эта парадигма также известна как ограниченный поток данных[2] потому что инструкции в окне выполняются в порядке потока данных (не обязательно в программном порядке), но окно, в котором это происходит, ограничено (конечного размера).

Окно инструкций отличается от конвейерная обработка: инструкции в конвейере по порядку не находятся в окне команд в общепринятом смысле, потому что они не могут выполняться не по порядку относительно друг друга. Обработчики вне очереди обычно строятся вокруг конвейеров, но многие из этапов конвейера (например, этапы выборки и декодирования команд внешнего интерфейса) не считаются частью окна команд.

Смотрите также

Рекомендации

  1. ^ Шен и Липасти. Современный дизайн процессоров: основы суперскалярных процессоров. МакГроу-Хилл, 2005.
  2. ^ Патт и др., HPS, Новая микроархитектура: обоснование и введение. На Международном симпозиуме по микроархитектуре (MICRO) IEEE, 1985.