Files
2025-06-20 12:48:16 +03:00

31 lines
3.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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