Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Цилькер Б.Я., Орлов С.А. Организация ЭВМ и систем

.pdf
Скачиваний:
2028
Добавлен:
02.05.2014
Размер:
22.66 Mб
Скачать

42 6 Глава 9. Основные направления в архитектуре процессоров

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

Эффективность большинства из приводимых в учебнике методов предсказа­ ния переходов иллюстрируется результатами исследований, опубликованными

в[68,95,107,197,207,228]. Все эксперименты проводились по примерно одинако­ вой методике: численные показатели получены путем имитации методов предска­ зания переходов при выполнении наборов стандартных тестовых программ. Глав­ ное различие заключалось в выборе тестовых программ, что и нашло отражение

всущественном расхождении полученных оценок.

Так, в работе Смита [197] использовались шесть тестовых программ, написан­ ных на языке Фортран:

-ADVAN: решение системы из трех дифференциальных уравнений в частных производных;

-GIBSON: искусственная программа компиляции набора команд, примерно удов­

летворяющего так называемой смеси Гибсона № 5; '

-SCI2: обращение матрицы;

-SINCOS: преобразование массива координат из полярной системы отсчета

впрямоугольную;

-SORTST: сортировка массива из 10 000 целых чисел;

-TBLINK: работа со связанным списком.

Впрочих исследованиях участвовали программы, входящие в различные вер­ сии тестовых пакетов SPEC, в частности пакетов SPEC_92, SPEC_95 и CPU2000.

Последующий материал раздела посвящен рассмотрению различных механиз­ мов предсказания переходов.

Статическое предсказание переходов

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

Известные стратегии статического предсказания для команд УП можно клас­ сифицировать следующим образом:

-переход происходит всегда (ПВ);

-переход не происходит никогда (ПН);

-предсказание определяется по результатам профилирования;

Конвейеризация вычислений 4 3 3

\

Рис. 9.17. Диаграмма состояний двухразрядного автомата A3

Логику предсказания можно описать диаграммой состояний двухразрядного автомата A3 (рис. 9.17).

Поскольку вариант РНТ со счетчиками получил наиболее широкое распрост­ ранение, в дальнейшем будем ссылаться именно на него.

После определения способов учета истории переходов и логики предсказания необходимо остановиться на особенностях использования таблицы, в частности на том, какая информация выступает в качестве шаблона для доступа к РНТ и ка­ кого рода история фиксируется в элементах таблицы. Именно различия в спосо­ бах использования РНТ определяют ту или иную стратегию предсказания.

Вкачестве шаблонов для доступа к РНТ могут быть взяты:

-адрес команды условного перехода;

-регистр глобальной истории;

-регистр локальной истории;

-комбинация предшествующих вариантов.

Схема, где для доступа к РНТ выбран адрес команды условного перехода (со­ держимое счетчика команд), позволяет учитывать поведение каждой конкретной команды УП. При многократном выполнении большинства команд условного пе­ рехода наблюдается повторяемость исхода: переход либо, как правило, происхо­ дит, либо, как правило, не происходит (имеет место бимодальное распределение исходов). Индексация РНТ с помощью адреса команды УП дает возможность от­ делить первые от вторых и, соответственно, повысить точность предсказания. Каж­ дой команде условного перехода в РНТ соответствует свой счетчик. Когда коман­ да завершается переходом, содержимое счетчика увеличивается на единицу, а в противном случае — уменьшается на единицу (естественно, с соблюдением логи­ ки счета с насыщением). В качестве шаблона для поиска в РНТ служат младшие k разрядов содержимого счетчика команд (рис. 9.18).

При k-разрядном индексе таблица может содержать 2k элементов.

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