Четверг, 19.09.2024
Kober
Меню сайта
Поиск
Категории раздела
Шпоры Орг ЭВМ [42]
Шпоры ОС [22]
Главная » Статьи » Шпоры Орг ЭВМ

05. Конвейерные структуры процессоров. Конвейер команд. Методы предсказания переходов

05. Конвейерные структуры процессоров. Конвейер команд. Методы предсказания переходов

Способы обработки

а: Исходные данные помещаются на входной регистр RGвх обрабатываются в функциональном блоке (ФБ), а результат фиксируется в выходном регистре RGвых. Новые данные во вх. регистр могут быть занесены после истечения максимального времени обработки ФБ Tmax.

б: функции ФБ (а) распределены между последовательными независимыми блоками ФБ1, ФБ2, ФБ3, ФБ4, ФБ5, время обработки для каждого блока одинаковое Tmax/5. Между блоками размещены буферные регистры, предназначенные для хранения результата обработки каждого ФБ, на случай, если следующий за ним ФБ еще не готов использовать этот результат.

в: на практике редко удается, что бы задержки на каждом ФБ были одинаковыми, вследствие чего производительность снижается. Для устранения этого недостатка каждый буферный регистр следует заменить буферной памятью (БП), способной хранить множество данных по принципу FIFO. Обработав элемент данных, ФБ заносит результат в БП, извлекает из предыдущего БП новый элемент данных и приступает к очередному циклу обработки, причем эта последовательность осуществляется каждым ФБ независимо от других блоков. Обработка происходит до тех пор, пока не ликвидируется предыдущая очередь или пока не переполнится следующая очередь.

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

 


 

Конвейер команд:

Академик С.А. Лебедев.

<-Конвейер с 4мя ступенями, соответствующими 5ти этапам цикла команды.

Методы предсказания переходов: Предсказание переходов на сегодняшний день рассматривается как один из наиболее эффективных способов борьбы с конфликтами по управлению. Идея заключается в том, что еще до момента выполнения команды условного перехода или сразу же после ее поступления па конвейер делается предположение о наиболее вероятном исходе такой команды (переход произойдет или

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

Статическое предсказание переходов осуществляется на основе некоторой априорной информации о подлежащей выполнению программе. Предсказание делается на этапе компиляции программы и в процессе вычислений уже не меняется. Главное различие между известными механизмами статического прогнозирования заключается в виде информации, используемой для предсказания, и ее трактовки. Исходная информация может быть получена двумя путями: на основе анализа кода программы или в результате ее профилирования (термин «профилирование» поясняется ниже).

Известные стратегии статического предсказания для команд УП (усл. перех.) можно классифицировать следующим образом: ■ переход происходит всегда (ПВ); ■ переход не происходит никогда (ПН); ■ предсказание определяется по результатам профилирования; ■ предсказание определяется кодом операции команды перехода; ■ предсказание зависит от направления перехода; ■ при первом выполнении команды переход имеет место всегда.

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

 


 

перехода в программе никогда не завершается переходом, поэтому выборка команд продолжается в естественной последовательности.

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

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

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

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

Идея динамического предсказания переходов предполагает накопление информации об исходе предшествующих команд УН. История переходов фиксируется в форме таблицы, каждый элемент которой состоит из т битов. Нужный элемент таблицы указывается с помощью k-разрядной двоичной комбинации — шаблона (pattern). Этим объясняется общепринятое название таблицы предыстории переходов — таблица истории для шаблонов (РНТ, Pattern History Table).

При описании динамических схем предсказания переходов их часто расценивают как один из видов автоматов Мура, при этом содержимое элементов РНТ трактуется как информация, отображающая текущее состояние автомата.

 

Категория: Шпоры Орг ЭВМ | Добавил: Kober (10.06.2013)
Просмотров: 1692
Архив записей
Copyright MyCorp © 2024
Бесплатный хостинг uCoz