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

2.3 KiB
Raw Blame History

Описание двухуровневого механизма динамического предсказания ветвлений с учетом корреляции.

Соседние переходы могут коррелировать: поведение недавно выполненных переходов влияет на предсказание текущего перехода.

Это имеет место в ветвлениях, использованных для реализации конструкций 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), которое означает: ^744f75

  • Записываются последние m ветвлений для выбора между 2^m таблицами истории.
  • Каждая таблица истории 2^{го} уровня использует n-битные счетчики (имеет разрядность n бит).
  • Одноуровневая схема бимодальной ВНТ с 2-битными счетчиками обозначается как предсказатель (0,2)