11 lines
1.4 KiB
Markdown
11 lines
1.4 KiB
Markdown
#### Статическое предсказание переходов.
|
|
- Выполняется компилятором.
|
|
- Кодируется в инструкциях условного перехода, используя один бит предсказания.
|
|
Например: 0 - переход обычно не происходит, 1 - происходит.
|
|
- Требует поддержки на уровне ISA.
|
|
|
|
**Два основных метода статического предсказания переходов на этапе компиляции:**
|
|
- Сбор информации о поведении программы при её запусках и её использование при перекомпиляции (**профилирование**).
|
|
*Например*: профиль программы может показать, что большинство условных переходов вперед и назад (часто вызвано циклами) происходят. В данном случае нужно всегда предсказывать, что переход происходит.
|
|
- Эвристическое предсказание переходов на основе направления перехода.
|
|
*Например*: помечая переходы назад как происходящие и переходы вперед как не происходящие. |