Механизм предсказания ветвлений. Устройство буфера предвыборки. Последовательные команды. Устройство буфера предвыборки

Страницы работы

Фрагмент текста работы

11.Механизм предсказания ветвлений.

Устройство буфера предвыборки

Основное назначение таких устройств обеспечить ритмичное снабжение командами КК. Рассмотрим структуру буферов, применяемых в процессорах фирмы MIPS, представленных на Рис.   

    Последовательные команды

 


П

ЗУ 

    ЗУ Б                                                                            КККК                             

Очередь команд

Команды ветвления

Рис. Устройство буфера предвыборки

Оба буфера работают по принципу FIFO последовательно переключаясь: один читает очередную команду, другой выдает ее на КК. Таким образом, данные буферы являются как бы дополнительными (нулевыми) ступенями конвейера команд.

Прогнозирование ветвлений

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

Задержка для смены значения счетчика команд, для распознавания команды ветвления, модификации счетчика команд и выборки команды по заданному значению СК приведет к пустым тактам и простою конвейера процессора.

Прогнозирование ветвлений позволяет уменьшить эти задержки.

В случае предсказания ветвления должен быть также предсказан адрес целевой команды. Он может быть явно указан в команде или предсказан, например, это может быть тот же адрес, что и при последнем выполнении данной команды ветвления.

Технология управления ветвлением.

С ветвлением связаны три понятия. Действие по чтению и декодированию команды следующей в результате успешного выполнения команды УП называется «выполнением команды ветвления» (branch taken). Команда, которая выполняется после выполнения команды УП, называется «целевой командой ветвления» (branch target).

Количество циклов конвейера, потерянных между выполнением команды УП и целевой командой называется «щелью задержки» (delay slot).

Если команда УП выполнена, то выбранные вслед за ней команды становятся не нужными и должны быть выгружены из конвейера. Отсюда и потери ряда циклов конвейера.

Различают две основные схемы построения схем предсказания: статическую и динамическую.

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

Для предотвращения появления холостых тактов возможно использование «отложенных переходов», когда одна или несколько команд после команды ветвления выполняются, безусловно.

В момент декодирования команд ветвлений МП может попытаться выполнить 1,2 или 3 команды, следующие за командой ветвления.

Для этого эти команды помещают в щель задержки.

Более совершенные решения проблемы ветвления основываются на следующих действиях:

- предсказании переходов;

- выполнение команд с изменением порядка их следования;

- условное (предикативное) исполнение команд.

Исполнение условных переходов состоит из следующих этапов:

1. Распознавание команды условного перехода (используются либо дополнительные биты в поле команды, либо предекодирование команд  при выборе из КЗУ команд),

2. Проверка выполнения условия переходов(предсказание на основе одного из известных алгоритмов – статически или динамических),

3. Вычисление адреса перехода,

4. Передача управления в случае перехода.

 

Статические методы используют априорный факт продолжения выполнения команд при входе в цикл из двоичного кода программы. Могут использоваться специальные флаги.

     Динамические методы используют информацию «на лету» в ходе исполнения программы. Они формируются на основе специальных счетчиков, буферных элементов, специальной КЭШ памяти.

Использование буферов  целей ветвлений.

Команды предварительно выбираются из последовательного потока команд в буфер предварительной выборки (извлекается без задержки). Однако когда выполняется ветвление, требуемая команда, обычно, отсутствует в буфере. Для решения данной проблемы может быть использован буфер целей ветвления (БЦВ). Он представляет собой специальную кэш-память, связанную со ступенью выборки команд конвейера. Каждый элемент буфера состоит из адреса уже выполненной команды ветвления и самой целевой команды. Буфер также может хранить несколько новых команд после команды

Похожие материалы

Информация о работе

Тип:
Ответы на экзаменационные билеты
Размер файла:
439 Kb
Скачали:
0