Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЭВМ шпора.docx
Скачиваний:
4
Добавлен:
18.04.2019
Размер:
315.75 Кб
Скачать

26. Устройство обработки ветвлений. И предсказания ветвления.

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

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

M1 mov

….

Loop M1

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

При динамическом предсказании исп.различные алгоритмы.

Алгоритм динамического предсказания ветвлений задействует 1 из таблиц: первая – для хранения истории предсказания ветвления, а вторая – для хранения адресов инструкций. Могут исп. и обе таблицы сразу.

В таблице записывается информация о результатах уже выполненных ветвлений.

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

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

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

Pentium использует 2 вида ветвления. Если же в первой таблице нет инструкции ветвления, то процессор будет использовать статическое предсказание, а если есть – то динамическое.

27. Кэш с отслеживанием.

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

Кэш с отслеживанием принимает транслированные и декодированные команды, готовые к передаче на управление, формирует из них линии программы, называемые отслеживаниями, именно их, а не код х86 процессора выполняет Pentium.

Этот кэш работает в 2х режимах

1) исполнительный – кэш снабжает метку выполнения командами

2) режим построения отслеживающих сегментов – в этом режиме кэш с отслеживанием выбирает команды из КЭШа ???, транслирует их и создает отслеживаемые сегменты, которые помещаются в кэш с отслеживанием, и уже в исполнительном режиме они выполняются на процессоре.

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