#### Описание двухуровневого механизма динамического предсказания ветвлений с учетом корреляции. Соседние переходы могут коррелировать: поведение недавно выполненных переходов влияет на предсказание текущего перехода. Это имеет место в ветвлениях, использованных для реализации конструкций 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)$