2.3 KiB
Описание двухуровневого механизма динамического предсказания ветвлений с учетом корреляции.
Соседние переходы могут коррелировать: поведение недавно выполненных переходов влияет на предсказание текущего перехода.
Это имеет место в ветвлениях, использованных для реализации конструкций if-then-else.
Предполагается, что есть 2 уровня предсказаний:
-
Глобальный Запись истории поведения m последних переходов как выполнившихся или нет. Обычно используется m-битный регистр сдвига.
-
На один адрес ветвления
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), которое означает: ^744f75
- Записываются последние
mветвлений для выбора между2^mтаблицами истории. - Каждая таблица истории
2^{го}уровня использует n-битные счетчики (имеет разрядность n бит). - Одноуровневая схема бимодальной ВНТ с 2-битными счетчиками обозначается как предсказатель
(0,2)