Динамические предсказания



Идея ДП предполагает накопление информации о предшествовавших переходах. Решение принимается, исходя из этой информации. История переходов фиксируется в таблице. Нужный элемент таблицы указывается с помощью к-разрядной двоичной комбинации, связанной со значением СчК. Элементы таблицы шаблонов можно рассматривать как реверсивные счетчики, работающие в режиме насыщения. Если переход выполняется, то значение счетчика увеличивается, иначе уменьшается. При появлении команды перехода происходит обращение к таблице и делается прогноз по дальнейшему порядку извлечения команды. После исполнения предыдущей команды значение счетчика уточняется. После определения способа учета определяется какая информация используется в качестве шаблона, а какая – фиксируется в элементах таблицы. В качестве шаблонов используют: 1) адрес команды УП; 2) регистр глобальной истории; 3) регистр локальной истории; 4) комбинация предшествующих вариантов.

1) схема, где для доступа выбран адрес команды УП, позволяющий учитывать поведение каждой команды УП. Такая схема обеспечивает высокий процент правильных предсказаний для тех команд УП, которые выполняются многократно.

2) в любой программе имеется достаточное количество. Исход таких команд зависит от поведения предшествующих команд УП. Учет такой последовательности дает возможность повысить долю правильных предсказаний. Такая схема используется для регистра глобальной истории. Рисунок! Регистр глобальной истории – сдвиговый регистр. Содержимое регистра сдвигается на разряд и заносится «1», если был переход и «0», если не было.

3) Предназначен для одной и той же команды УП. Для реализации используется таблица локальных историй. Рисунок!

4) Действие команды УП зависит не только от результата предшествующих команд, но и от исхода других команд УП и самой команды. Учет этих факторов позволяет повысить точность предсказаний. Поэтому используют объединенные адреса команды УП и содержимое регистра локальной или глобальной истории. При этом используется конкатенация или сложение по модулю 2. При конкатенации к-разрядны шаблон обрезается путем сцепления к-разрядов из одного источника и к-разрядов другого источника. И по результатам формируется предсказание перехода. При сложении по модулю 2 предполагается побитовое применение операции к обоим источникам. В качестве результата используется к младших разрядов источника.

Точность предсказания зависит от способов доступа и размеров таблицы.

Также применяют гибридные системы предсказания переходов

Для уменьшения зависимости точности предсказаний от особенностей программы используют гибридные схемы предсказаний. Идея состоит в том, чтобы использовать наиболее эффективный предиктор. Выбор предиктора обеспечивается селектором, представляющим таблицу 2-х разрядных счетчиков. Адресация счетчика в таблице осуществляется к младшими разрядами адреса перехода, для которого осуществляется предсказание. Обновление таблиц истории в каждом из предикторов производится обычным способом по заданному алгоритму. Изменение состояния селектора осуществляется следующим образом:

00 – оба предиктора предсказали неправильно; 11 – оба предсказ. правильно; 10 – первый предиктор предсказал верно, 2 – нет; 01 – наоборот.

Выбор предиктора осуществляется старшим разрядом счетчика, который поставлен на управляющий сигнал мультиплексора. Изменение состояния селектора выполняется как было рассмотрено ранее (по правилу реверсивного счетчика).

Рисунок!


 


Дата добавления: 2015-12-17; просмотров: 28; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!