Files
2025-06-20 12:48:16 +03:00

1.9 KiB
Raw Blame History

Структура ВТВ.

Эффективное предсказание переходов требует наличие цели перехода на ранней стадии конвейера, можно использовать доп. сумматоры на стадии ID, чтобы цель могла быть выбрана, но будет 1 такт простоя. Проблему решает буфер целей перехода (Branch Target Buffer - ВТВ).

ВТВ - аппаратный механизм, снижающий число тактов простоя при корректно предсказанном переходе до 0. ВТВ - буфер целей перехода, доп. набор логики, который располагается на стадии IF и который помогает предсказывать переходы. Цель: переходы без простоев. Если мы угадали с помощью ВТВ, значит после выполнения IF мы знаем адрес следующей инструкции.

Простейший вариант - когда в ВТВ хранится целевой адрес. Вид ВТВ:

Адрес перехода Цель перехода, если он предсказан выполняющимся. Бит валидности
... ... ...

Бит валидности - признак актуальности строки. Кэш полностью ассоциативный. Адрес текущей инструкции ищется в первом столбце. Если он там есть, тогда текущая инструкция - условный переход, причем выполняющийся. Тогда считываем адрес из второго столбца.