Модуль передбачення переходів: відмінності між версіями

[неперевірена версія][неперевірена версія]
Вилучено вміст Додано вміст
Addbot (обговорення | внесок)
м Вилучення 11 інтервікі, відтепер доступних на Вікіданих: d:q679552
Немає опису редагування
Рядок 1:
'''Модуль передбачення умовних переході ''' ({{lang-en|Branch Prediction Unit}}) — пристрій, який визначає напрям [[Умовний перехід|розгалужень]] (передбачає, виконається [[Умовний перехід|умовний перехід]], чи ні) в [[Комп'ютерна програма|програмі]], що наразі виконується. Входить до складу мікропроцесорів, які мають [[Конвеєр команд|конвеєрну]] архітектуру. Передбачення розгалужень дозволяє робити попередню вибірку інструкцій та даних з пам'яті, а також виконувати [[Інструкція (програмування)|інструкції]], які розташовані після умовного переходу до того, коли він буде виконаний. Модуль передбачення є невід'ємною частиною усіх сучасних [[Суперскалярний процесор|суперскалярних мікропроцесорів]], бо в більшості випадків (точність передбачення переходів в сучасних [[мікропроцесор|процесорах]] перевищує 90%) дозволяє оптимально використовувати обчислювальні ресурси процесора.
 
Існує два базових методаметоди передбачення переходів: статичний і динамічний.
 
== Статичне передбачення ==
 
Статичні методи передбачення розгалужень є найбільш простиминайпростішими. Робота цих методів базується на припущенні, що різні типи переходів або виконуються завжди, або не виконуєтьсявиконуються ніколи. В сучасних процесах статичні методи використовуються лише тоді, коли неможливе використання динамічного передбачення.
 
Прикладами статичного передбачення можуть бути тривіальне передбачення переходів, яке використовувалося в ранніх процесорах архітектуріархітектури SPARC та MIPS (припускається, що умовні переходи ніколи не виконується), а також статичне передбачення, яке використовується в сучасних процесорах в якості підстрахування (припускається, що будь-який зворотний перехід, тобто перехід на молодші [[Адресація пам'яті|адреси]], є [[Цикл (програмування)|циклом]] і виконується, а будь-який прямий перехід, тобто на старші адреси, не виконується).
 
== Динамічне передбачення ==