Организация компьютерных систем. Орлов С.П - 73 стр.

UptoLike

такта команды С3 и С4, но они не должны выполняться. После опре-
деления исполнительного адреса А3 перехода, последует очистка
конвейера и загрузка команд С6 и С7. Возникает «пузырь» - простой
конвейера.
Для сокращения этих задержек используется буфер адресов пере-
ходов BTB (Branch Target Buffer), представленный на рис. 4.6. Он
представляет собой ассоциативную кэш-память небольшого объема.
В строках BTB хранятся исполнительные адреса точек переходов
нескольких последних команд, для которых переход имел место.
Счетик команд
Адрес перехода
Адрес команды
Данные
Теги
Ассоциативный
поиск по признаку –
адресу А1 из
счетчика команд
А1
А3
А1
А3
Р и с. 4.6. Буфер BTB
А
1
– адрес выполняемой команды; А
3
– адрес перехода
при выполнении команды А
1
В качестве тегов используются адреса самих команд. В качестве
ассоциативного признака берется адрес текущей команды из счетчика
команд. Поиск в BTB производится уже на этапе выборки команд из
кэш-памяти. При совпадении тега и признака адрес перехода не вы-
числяется, а берется из соответствующей строки BTB. Если команда
в BTB не обнаружена, то она обрабатывается стандартным образом.
Если затем выясняется, что эта команда команда перехода, то полу-
ченный исполнительный адрес перехода заносится в BTB.
Наибольший эффект использования BTB достигается при выпол-
нении циклов при многократном переходе в одну и туже точку.
75