Arch: new

Все теоритические билеты по Архитектуре ЭВМ в основном были написаны,
кроме: 8.4; 13.4; 14.4; 15.4. Задачи будут позже.
This commit is contained in:
Kirill
2024-12-20 12:10:10 +03:00
committed by Sweetbread
parent 2625f17247
commit 3a96c27c48
80 changed files with 1355 additions and 0 deletions

View File

@ -0,0 +1,21 @@
#### Описание двухуровневого механизма динамического предсказания ветвлений с учетом корреляции.
Соседние переходы могут коррелировать: поведение недавно выполненных переходов влияет на предсказание текущего перехода.
Это имеет место в ветвлениях, использованных для реализации конструкций if-then-else.
Предполагается, что есть 2 уровня предсказаний:
1) **Глобальный**
Запись истории поведения m последних переходов как выполнившихся или нет. Обычно используется m -битный регистр сдвига.
2) **На один адрес ветвления**
- $2^m$ таблиц предсказания, каждая запись таблицы - это n-битный счетчик с насыщением.
- Запись истории $1^{го}$ уровня используется для выбора соответствующей из таблиц предсказания $2^{го}$ уровня. Таким образом каждая с $2^m$ таблиц содержит $2^N$ записей и каждая запись - 2-битный (к примеру счетчик).
- Общее количество необходимых для $2^{го}$ уровня бит: $2^m \times n \times 2^N$. n - количество бит, используемое для предсказания.
**GAp** - Global Adaptive per address.
Используется обозначение GAp $(m,n)$, которое означает:
- Записываются последние $m$ ветвлений для выбора между $2^m$ таблицами истории.
- Каждая таблица истории $2^{го}$ уровня использует n-битные счетчики (имеет разрядность n бит).
- Одноуровневая схема бимодальной ВНТ с 2-битными счетчиками обозначается как предсказатель $(0,2)$