Átmenet előrejelző

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2018. november 6-án felülvizsgált verziótól ; az ellenőrzések 8 szerkesztést igényelnek .

Az elágazás-előrejelző egység ( elágazás-előrejelző egység ) egy olyan eszköz, amely a  mikroprocesszorok részét képezi olyan folyamatarchitektúrával, amely előrejelzi, hogy a végrehajtható programban feltételes ugrást hajtanak végre. Az elágazás előrejelzése csökkenti a folyamat tétlenségi idejét azáltal, hogy előre betölti és végrehajtja azokat az utasításokat, amelyeket egy feltételes elágazási utasítás végrehajtása után kell végrehajtani. Az elágazás-előrejelzés kritikus szerepet játszik, mivel a legtöbb esetben (az elágazás-előrejelzés pontossága a modern processzorokban meghaladja a 90%-ot) lehetővé teszi a processzor számítási erőforrásainak optimális kihasználását [1] .

Elágazás előrejelzése nélkül a folyamatnak meg kell várnia a feltételes elágazási utasítás végrehajtását a következő lekéréshez. Az elágazás-előrejelző segítségével elkerülhető az időveszteség az elágazás kiderítésére. Az ág kiválasztása az állapotellenőrzés korábbi eredményei alapján történik. Ezután a kívánt ág betöltődik és részben végrehajtódik. Ha ezután kiderül, hogy az előrejelzés hibás volt, a hibás elágazás eredményeit a rendszer elveti, és a megfelelő ágat betölti a csővezetékbe, ami késést okoz. A késleltetés mértéke a szállítószalag hosszától függ. Az Intel Core i7 processzor esetében a folyamat mélysége 14 fokozat.

Az "ugrás-előrejelzést" meg kell különböztetni az "ugráscím előrejelzésétől" . Az ágcím-előrejelzés célja egy feltételes vagy feltétel nélküli ág címének kiválasztása az elágazási utasítás dekódolása és végrehajtása előtt.

Két fő módszer létezik az elágazás előrejelzésére:

Statikus előrejelzés

A statikus elágazás-előrejelzési módszerek a legegyszerűbbek. Ezeknek a módszereknek a lényege, hogy különböző típusú átmenetek:

A modern processzorokban a statikus módszereket csak akkor használják, ha a dinamikus módszerek nem használhatók.

Példa a SPARC és MIPS architektúrák korai processzoraiban megvalósított triviális statikus előrejelzésre .

Ebben az esetben abból indulunk ki, hogy a feltételes ág soha nem kerül végrehajtásra.

Példa a modern processzorokban megvalósított statikus előrejelzésre.

Ebben az esetben azt a feltételezést tesszük, hogy minden visszafelé történő áttérés megtörténik, előre történő átmenet pedig nem. A módszert „biztonsági hálóként” használják.

Dinamikus előrejelzés

2a ISIP tat

Telített számláló vagy bimodális számláló

A navigációs előzmények táblázatot elemzi. A táblázat tartalma:

A táblázat minden átmenet után frissül. Az algoritmus megváltoztatja az elágazás választását, ha a feltétel eredménye kétszeres eltérést mutat a korábbi eredményektől. Az utasításcím legkevésbé jelentős bitjeinek használata lehetővé teszi több utasítás előrejelzését a dekódolásuk előtt.

Adaptive Bilevel Predictor

Az első szintnél az utolsó k ág történetét hajtjuk végre, a második szinten k mutat a sablontáblázatra.

Helyi átmenet előrejelzés

A hatókörben minden feltételes ágnak megvan a maga ágtörténete. Az átmeneti minták megosztottak vagy meghatározottak lehetnek.

Global Transition Prediction

A globális ág-előrejelzés nem tárol külön előzményeket minden egyes átmenethez, hanem az általános előzményeket használja. Az átmenetek bármilyen mintája befolyásolja ezt a történelmet, de a nem releváns rekordok beszennyezhetik a történelmet.

Hibrid előrejelző

A hibrid előrejelző kiválaszthatja a legsikeresebb előrejelzők eredményeit az előzmények alapján, vagy használhatja páratlan számú prediktor többségi függvényét.

Hurok előrejelző

A hurok-előrejelző a hurokszámláló segítségével megszámolhatja az ugrások számát a ciklus elejéig. Ez a prediktor használható hibrid előrejelzőben.

Közvetett ugrások előrejelzése

Egy közvetett ágnak kettőnél több ága lehet. A legújabb processzorok képesek kettőnél több feltétel kiválasztására egy kétszintű adaptív előrejelző segítségével. A közvetett elágazás-előrejelzés támogatásával nem rendelkező processzorok statikus előrejelzést használhatnak, vagy felvehetik az előző értéket.

Jegyzetek

  1. PC Magazin / orosz kiadás. Cikk "RISC Legacy: Transition Prediction". 1995. októberi szám. Online verzió: [1] Archiválva : 2012. március 10. a Wayback Machine -nél

Irodalom

Lásd még