3.3 KiB
Определение табло. Структура табло и контролируемые параметры.
Табло - централизованный аппаратный механизм, поддерживающий скорость выдачи инструкций на исполнение не более 1 за такт, за счет выдачи инструкции, как только ее операнды доступны и нет блокирующих ее конфликтов.
- Ступень ID заменяется на ID1, ID2.
- Однопортовый (1 инструкция - 1 такт) неупорядоченный конвейер без изменений на ступени выборки инструкции (IF).
- Смысл алгоритма Табло в том, что внутри ЦП есть отдельный блок, который хранит информацию о всех текущих выполняющихся инструкциях и текущем состоянии ресурсов.
- Реализация:
- ЦП имеет несколько функциональных устройств, которые сообщают табло информацию о своем состоянии.
- Каждая инструкция проходит сквозь табло, где строится запись о ее зависимостях по данным.
- Если табло определяет, что инструкция не может быть выдана на исполнение немедленно, ее исполнение откладывается.
- Табло отслеживает статус зависимостей и аппаратных блоков и решает, когда отложенная инструкция может быть направлена на исполнение.
- Табло выдает инструкции разрешение для записи результата в регистры.
Контролируемые параметры:
-
Статус инструкции: На каком из 4 этапов находится.
-
Статус функционального устройства (9 полей): Busy - занято устройство или нет Op - Операция, выполняемая на устройстве
F_i
- регистр назначенияF_j,F_k
- регистры - источники операндовQ_j,Q_k
- функциональные устройства, заполняющие регистры - источники операндовF_j,F_k
R_j,R_k
- флаги, показывающие готовностьF_j,F_k
: Устанавливаются в True после того, как операнды стали доступны для чтения, затем оба операнда считываются из регистров одновременно. -
Статус регистра: Какое функциональное устройство собирается писать в регистр (если такое есть) Пуст, когда никакие незаконченные инструкции не будут писать в указанный регистр.