прогноз отрасли - PullRequest
       15

прогноз отрасли

2 голосов
/ 29 марта 2010

Рассмотрим следующую последовательность фактических результатов для одной статической ветви. Т означает, что ветвь занята. N означает, что ответвление не занято. Для этого вопроса предположим, что это единственная ветка в программе.

T T T N T N T T T N T N T T T T N T N T N * N 1003 *

Предположим, что двухуровневый предиктор ветвления использует один бит истории ветвления, т.е. однобитный BHR. Поскольку в программе имеется только одна ветвь, не имеет значения, как BHR объединяется с ПК ветви для индексации BHT. Предположим, что BHT использует однобитовые счетчики и что все записи снова инициализируются значением N. Какая из ветвей в этой последовательности будет неверно предсказана? Используйте таблицу ниже. альтернативный текст http://img641.imageshack.us/img641/7117/branch.jpg

Теперь я не спрашиваю ответы на этот вопрос, а не направляю и указываю на него. Что означает двухуровневый предиктор ветвления и как он работает? Что означает BHR и BHT?

Ответы [ 3 ]

9 голосов
/ 29 марта 2010

Я только действительно получил предсказание ветвления после прочтения текста Агнера Фога о микроархитектуре современных процессоров на http://www.agner.org/optimize/#manuals, в частности, третий: http://www.agner.org/optimize/microarchitecture.pdf

Если вы хотите хорошо разбираться в низкоуровневом программировании, вам, вероятно, следует прочитать все это. Если вы хотите просто знать, как работают предикторы ветвления, просто прочитайте главу по прогнозированию ветвлений в руководстве по микроархитектуре. Он использует реальные предикторы ветвления из прошлых процессоров, чтобы объяснить, как все работает, начиная с концептуально простых предикторов, таких как те, что были найдены в P1, и постепенно добавляя дополнительные функции, пока вы не доберетесь до монстров в современных процессорах.

2 голосов
/ 29 марта 2010

Из Википедии: Предиктор ветвей

Двухуровневый адаптивный предиктор запоминает историю последних появления ветки и использовать один насыщающий счетчик для каждого из возможные 2n паттернов истории.

BHR : регистр истории филиалов
BHT : Таблица истории ветвлений

Оба эти термина кратко и без ссылки на их аббревиатуры объяснены в разделе статьи, связанном выше.

2 голосов
/ 29 марта 2010
...