35 lines
3.3 KiB
Markdown
35 lines
3.3 KiB
Markdown
![]() |
#### Определение табло. Структура табло и контролируемые параметры.
|
|||
|
|
|||
|
**Табло** - централизованный аппаратный механизм, поддерживающий скорость выдачи инструкций на исполнение не более 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 после того, как операнды стали доступны для чтения, затем оба операнда считываются из регистров одновременно.
|
|||
|
|
|||
|
- **Статус регистра:**
|
|||
|
|
|||
|
Какое функциональное устройство собирается писать в регистр (если такое есть)
|
|||
|
Пуст, когда никакие незаконченные инструкции не будут писать в указанный регистр.
|