Files
Kirill 3a96c27c48 Arch: new
Все теоритические билеты по Архитектуре ЭВМ в основном были написаны,
кроме: 8.4; 13.4; 14.4; 15.4. Задачи будут позже.
2025-01-14 19:40:01 +03:00

2.3 KiB
Raw Blame History

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

Соседние переходы могут коррелировать: поведение недавно выполненных переходов влияет на предсказание текущего перехода. Это имеет место в ветвлениях, использованных для реализации конструкций if-then-else. Предполагается, что есть 2 уровня предсказаний:

  1. Глобальный

Запись истории поведения m последних переходов как выполнившихся или нет. Обычно используется m -битный регистр сдвига.

  1. На один адрес ветвления
  • 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)