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

UptoLike

код 11 — данный условный переход два раза был выполняемым
и прогнозируется как выполняемый;
код 00 — данный условный переход два раза был невыполняе-
мый и прогнозируется как невыполняемый;
код 01 — случайный выбор выполняемого и невыполняемого
перехода;
код 10 — выбор по последней реализации.
Предыстория обновляется после каждого выполнения данной ко-
манды IF. По принятому прогнозу загружается конвейер. Если пере-
ход выполняемый, то выбирается целевой адрес (ЦА) из строки BHT.
Если переход не выполняемый, то используется следующий адрес из
счетчика команд СК. Команды выбранной ветви условного перехода
загружаются в конвейер.
После этого происходит вычисление логического условия опера-
тора IF и получение действительного целевого адреса ЦА. Выполня-
ется проверка прогноза и вычисленного адреса. В случае несовпаде-
ния делается вывод о том, что прогноз неправильный и конвейер пе-
резагружается командами другой ветви.
Буфер BHT является полностью ассоциативной кэш-памятью и
его размер не может быть большим. В современных процессорах он
достигает 256 строк, то есть в нем может храниться и анализировать-
ся предыстория выполнения 256 команд IF.
82