Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ВС1.doc
Скачиваний:
11
Добавлен:
24.12.2018
Размер:
251.9 Кб
Скачать

Предсказатель переходов

Модуль предсказания условных переходов (англ. Branch Prediction Unit) — устройство, входящее в состав микропроцессоров, имеющих конвейерную архитектуру, определяющее направление ветвлений (предсказывающее, будет ли выполнен условный переход) в исполняемой программе. Предсказание ветвлений позволяет осуществлять предварительную выборку инструкций и данных из памяти, а также выполнять инструкции, находящиеся после условного перехода, до того, как он будет выполнен. Предсказатель переходов является неотъемлемой частью всех современных суперскалярных микропроцессоров, так как в большинстве случаев (точность предсказания переходов в современных процессорах превышает 90 %) позволяет оптимально использовать вычислительные ресурсы процессора.[1]

Существует два основных метода предсказания переходов: статический и динамический.

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

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

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

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

Динамические методы, широко используемые в современных процессорах, подразумевают анализ истории ветвлений. Примером динамического предсказания может служить двухуровневый адаптивный исторический алгоритм (англ. Bimodal branch prediction), использовавшийся процессорами архитектуры P6 (анализируется таблица истории переходов, содержащая младшие значимые биты адреса инструкции и соответствующую им вероятность условного перехода: «скорее всего, будет выполнен», «возможно, будет выполнен», «возможно, не будет выполнен», «скорее всего, не будет выполнен» и обновляемая после каждого перехода).

12. Кэш-память процессора

Кэш-память сущ-но влияет на производ-ть всей системы, а именно ЦП, МП и жестк. дисков. Физ-ки она сост. из эл-тов с малым временем доступа. Обмен дан-ми м/у проц-ром и памятью (оперативн. и внешн.) осущ-ся ч/з кэш-память. Дан-е из ОП попадают в кэш-память и оттуда счит-ся проц-ром. Преимущество кэш-памяти в том, что при повторн. обращ-и к памяти уже нет необх-ти считывать дан-е из медл-й ОП и инфо предост-ся проц-ру без задержки. Координацию потоков дан-х осущ-ет контроллер, кот. сообщ. проц-ру, есть ли в кэш-памяти необх. дан-е. Кэш-память сост. из 3 элементов: *кэш-память дан-х (Data Ram) – содерж. в себе дан-е; *кэш-память адресов (Tag Ram) – содерж. инф-цию о местополож-и дан-х; *контроллер кэш-памяти. Работа проц-ра осущ-ся в след. послед-ти: при необх-ти получить дан-е проц-р обращ-ся к кэш-памяти адресов. Если на основании анализа адресов дан-х проц-р опр-ет, что требуемой инф-ции в кэш-памяти нет, то он обращ-ся к ОП. Обмен дан-ми м/у проц-ром и кэшем осущ-ся по двойной независимой шине, работающей быстрее системной. Объем кэшируемой памяти опр-ся возм-тями «северного моста» Для повыш-я произв-ти ВС путем согласов-я ск-ти работы ЦП и внешн. кэш-памяти в состав проц-ра включают кэш-память 1-го ур-ня.