Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
билет Организация ЭВМ.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
797.66 Кб
Скачать
  1. Решение проблемы условного перехода: статические, динамические.

При решении проблемы условного перехода существует следующие способы построения конвейерной обработки: 1) использование буфера в предвыборке; 2) использование множественных потоков; 3) задержанный переход; 4 )предсказание переходов.

1) Равномерное поступление команд на вход конвейера нарушается из-за: занятости ресурса или выборки «длинной» команды. Для ритмичности подачи команд между ступенью выборки команд и остальной частью конвейера размещают буфер предвыборки, т.е. дополнительная память FIFO. Такая память не удлиняет конвейер с точки зрения его производительности, а чаще приводит к ускорению прохождения команд из конвейера. Каждая команда, извлеченная из памяти, помещается в основной буфер. При появлении команды УП блок вычисления Аисп из точки перехода, дополнительный буфер производит выборку следующей команды. Блок перехода определяет исход команды УП в зависимости от которой подключается к конвейеру основной или дополнительный буфер. При этом содержимое другого буфера сбрасывается. Упрощенный вариант такого решения был применен в IBM 360, дополнительный буфер рассчитан на одну команду. Т.е. выигрыш достигается за счет исключения выборки команд на точку перехода.

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

2) конвейер с множественными потоками.

Рисунок!

На ступени выборки команд определяется наличие команд УП. Один конвейер определяет Аисп из точки перехода. Второй конвейер вычисляет Аисп при условии невыполненного перехода. Оба потока сходятся в точке, где тог проверки условия становится очевидным. В остаток конвейера «загружается» правильная ветвь. Такое решение было использовано в IBM 360.

Недостатки: 1)если команды УП располагаются близко, то это потребует увеличения количества делений, т.е. дополнительного потока.

3) задержанный переход. Такая стратегия предполагает продолжение выполнения команд, следующих за командой УП. Такое решение имеет смысл, если полезные? команды должны быть выполнены. Для реализации этой стратегии на этапе компиляции после каждой команды добавляется команда «нет операций». Затем на стадии оптимизации программы производится попытка перемешать команды так, чтобы команды «нет операций» заменялись на полезные команды. Это позволит заместить 20% команд «нет операций» на полезные команды.

4) предсказание переходов – эффективный способ борьбы с конфликтами по управлению. Точность предсказания – процентное отношение числа правильных предсказаний к их общему количеству. Используют 2 подхода: статический и динамический.

Статическое предсказание осуществляется на основе некоторое априорной информации о подлежащей выполняемой программе. Предсказания делятся на этапе компиляции и в дальнейшем не изменяются. В качестве исходной информации может быть: 1) анализ кода программы; 2) результата профилирования.

Используются следующие стратегии: 1) переход происходит всегда (ПВ); 2)переход не происходит никогда (ПН); 3)предсказание определяется по результатам профилирования; 4) предсказание определяется кодом операции команды перехода; 5) предсказание зависит от направления перехода; 6) при первом выполнении команды переход имеет место всегда.

ПВ. зависит от характеристик программы и алгоритма. Достоинства: простота реализации

ПН. Основной недостаток: при изменении набора исходных данных может меняться поведение одних и тех же команд условного перехода.

Предсказание зависит от направления команды. Если указан в команде адрес перехода меньше содержимого СчК, то переход осуществляется «Назад» и для такой команды назначена стратегия ПВ. Если Аисп>СчК, то переход «вперед» и стратегия ПН. Обычно такая стратегия используется для реализации циклов.

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

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

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

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

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

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

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

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

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

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

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

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

Рисунок!

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]