Предиктор цели перехода - Branch target predictor

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

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

В большей степени параллельный процессор конструкции, как кеш инструкций задержка увеличивается, а ширина выборки - шире, извлечение целевой ветви становится узким местом. Повторяемость:

  • Кэш инструкций извлекает блок инструкций
  • Инструкции в блоке сканируются для определения ветвей
  • Выявлена ​​первая предполагаемая взятая ветвь
  • Цель этой ветви вычисляется
  • Получение инструкции перезапускается в целевой ветви

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

Этот предиктор уменьшает указанное выше повторение до:

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

Поскольку ОЗУ предсказателя может составлять 5–10% от размера кэша инструкций, выборка происходит намного быстрее, чем выборка из кэша инструкций, и поэтому это повторение происходит намного быстрее. Если бы это было недостаточно быстро, его можно было бы распараллелить, предсказав целевые адреса целевых ветвей.

Смотрите также

дальнейшее чтение

  • Дризен; Hölzle (1992), Точный косвенный прогноз ветвления
  • Ertl; Грегг (2001), Поведение эффективных интерпретаторов виртуальных машин в современных архитектурах

внешние ссылки