Гибридные схемы предсказания переходов

Двухуровневые схемы предсказания переходов

Рассмотренные одноуровневые схемы предсказаний ориентированы на те команды УП, очередной исход которых существенно зависит от их собственных предыдущих исходов. Однако есть такие команды УП, исход которых зависит от результатов выполнения других предшествующих им команд УП. Для таких случаев разработаны двухуровневые адаптивные схемы предсказания переходов, которые часто называют коррелированными, из-за учета взаимозависимости команд УП.

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

Содержимое счетчика команд, в котором находится адрес команды УП, используется для определения одного из регистров в таблице первого уровня и одной строки в таблице второго уровня. Содержимое же выбранного регистра – шаблон, определяет порядковый номер счетчика в выбранной строке таблицы второго уровня. Найденный таким образом счетчик используется для предсказания обычным образом. После выполнения команды содержимое регистраи счетчикаобновляется.

В такой схеме выбор счетчика для предсказания зависит от двух источников: от адреса команды УП, для которой делается предсказание и от шаблона, который отражает историю переходов.

 

 

Точность предсказания в сильной степени зависит от особенностей конкретных программ. Одна и та же схема предсказания дает прекрасные результаты для одних программ и абсолютно неудовлетворительные для других. Поскольку точность предсказания повышается с увеличением глубины предыстории, необходимы дополнительные затраты времени на накопление соответствующей информации. Период накопления предыстории принято называть “временем разогрева”. Пока идет “разогрев” точность предсказания весьма низка. Поэтому не существуют таких стратегий предсказания, которые бы давали высокую точность предсказаний во всех ситуациях. Выходом из этого положения является применение гибридныхилисоревновательных схем, которые объединяют в себе несколько различных механизмов предсказания – элементарных предикторов. В каждой конкретной ситуации из множества предикторов выбирается тот элементарный предиктор, который может дать наибольшую точность предсказания.

Гибриднаясхема предсказания переходов, предложенная Макфарлингом, содержит два элементарных предиктора, отличающихся по своим характеристикам и работающих независимо друг от друга. Эти предикторы имеют разные размеры таблиц предыстории и разное время “разогрева”.

Выбор предиктора, наиболее подходящего в данной ситуации, обеспечивается селектором, представляющим собой таблицу двухразрядных счетчиков, которые называют счетчиками выбора предиктора.

Выбор конкретного счетчика в таблице производится с помощью k младших разрядов адреса команды УП, для которой делается предсказание.

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

Изменение состояния счетчиков селектора выполняется по следующим правилам: если оба предиктора одновременно дали одинаковые предсказания, неважно верные или нет, содержимое счетчика не изменяется. При правильном предсказании от первого предиктора и неверном от второго содержимое счетчика селектораувеличивается, в противоположном случае – уменьшается на единицу. Выбор предиктора для предсказания реализуется с помощью мультиплексора, управляемого старшим разрядом соответствующего счетчика селектора.

Существуют и другие гибридныесхемы предсказания, точность которых в среднем составляет 97,13%, что существенно выше по сравнению с другими вариантами.