Arch: chore
This commit is contained in:
@ -1,20 +1,22 @@
|
||||
#### Описание двухуровневого механизма динамического предсказания ветвлений с учетом корреляции.
|
||||
|
||||
Соседние переходы могут коррелировать: поведение недавно выполненных переходов влияет на предсказание текущего перехода.
|
||||
|
||||
Это имеет место в ветвлениях, использованных для реализации конструкций if-then-else.
|
||||
|
||||
Предполагается, что есть 2 уровня предсказаний:
|
||||
|
||||
1) **Глобальный**
|
||||
|
||||
Запись истории поведения m последних переходов как выполнившихся или нет. Обычно используется m -битный регистр сдвига.
|
||||
Запись истории поведения m последних переходов как выполнившихся или нет. Обычно используется m-битный регистр сдвига.
|
||||
|
||||
2) **На один адрес ветвления**
|
||||
$2^m$ таблиц предсказания, каждая запись таблицы - это n-битный счетчик с насыщением.
|
||||
|
||||
Запись истории $1^{го}$ уровня используется для выбора соответствующей из таблиц предсказания $2^{го}$ уровня. Таким образом каждая с $2^m$ таблиц содержит $2^N$ записей и каждая запись - 2-битный (к примеру счетчик).
|
||||
|
||||
Общее количество необходимых для $2^{го}$ уровня бит: $2^m \times n \times 2^N$. n - количество бит, используемое для предсказания.
|
||||
|
||||
- $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)$, которое означает:
|
||||
Используется обозначение $GAp(m,n)$, которое означает: ^744f75
|
||||
- Записываются последние $m$ ветвлений для выбора между $2^m$ таблицами истории.
|
||||
- Каждая таблица истории $2^{го}$ уровня использует n-битные счетчики (имеет разрядность n бит).
|
||||
- Одноуровневая схема бимодальной ВНТ с 2-битными счетчиками обозначается как предсказатель $(0,2)$
|
||||
|
@ -1,6 +1,9 @@
|
||||
#### Схема MCFarling'a gshare. Преимущества схемы.
|
||||
|
||||
**gshare** = global history with index sharing
|
||||
McFarling предложил использовать и глобальную историю и адрес ветвления, объединяя их хешированием. Функция хеширования: XOR от регистра глобальной истории ветвлений (BHR) и адреса ветвления. Он ожидал, что такой хеш содержит больше информации, чем каждая из компонент. В результате предложенная схема превзошла GAp при малых размерах таблиц.
|
||||
Новая схема обладает меньшими требованиями к оборудованию для реализации по сравнению с GAp, поскольку использует одну общую таблицу предсказателей.
|
||||
|
||||
McFarling предложил использовать и глобальную историю, и адрес ветвления, объединяя их хешированием. Функция хеширования: XOR от регистра глобальной истории ветвлений (BHR) и адреса ветвления. Он ожидал, что такой хеш содержит больше информации, чем каждая из компонентов. В результате предложенная схема превзошла GAp при малых размерах таблиц.
|
||||
|
||||
Новая схема обладает меньшими требованиями к оборудованию для реализации по сравнению с [[2 курс/1 семестр/Архитектура ЭВМ/Лекции/17 билет/2#^744f75|GAp]], поскольку использует одну общую таблицу предсказателей.
|
||||
|
||||
Требуется на k бит истории $2 \times 2^k$ в таблице 2-битных счетчиков.
|
||||
|
@ -1,10 +1,13 @@
|
||||
#### Определение и принцип работы гибридных/турнирных/комбинированных предсказателей.
|
||||
|
||||
**Гибридные (турнирные, комбинированные) предсказатели** - комбинации 2 или более механизмов предсказания переходов.
|
||||
McFarling заметил, что использование глобальной истории поведения переходов может быть менее эффективно, чем просто использование адреса инструкции перехода, особенно для маленьких таблиц предсказателей. McFarling исследовал несколько различных комбинаций 2-х механизмов предсказания переходов.
|
||||
|
||||
McFarling заметил, что использование глобальной истории поведения переходов может быть менее эффективно, чем просто использование адреса инструкции перехода, особенно для маленьких таблиц предсказателей. McFarling исследовал несколько различных комбинаций 2х механизмов предсказания переходов.
|
||||
|
||||
Он предложил использовать дополнительный массив 2-бит счетчиков как селекторов для выбора более эффективной схемы предсказания для каждого перехода.
|
||||
|
||||
1 схема предсказания соответствует 2 большим значениям селектора, другая $-2^{ом}$ меньшим.
|
||||
|
||||
Если $1^{ый}$ предсказатель ошибся, а $2^{ой}$ - нет, счетчик уменьшается.
|
||||
Если $1^{ый}$ предсказатель прав, а $2^{ой}$ - нет, счетчик увеличивается.
|
||||
|
||||
Никаких изменений, если оба оказались правы или ошиблись.
|
Reference in New Issue
Block a user