Kapcsolat

A számítástechnikában az elágazás olyan művelet, amely a processzor által végrehajtott kódon belüli mozgatásból áll , egy azonosított címre "ugrással" ahelyett, hogy folytatná a kód végrehajtását egymás után.

A csatlakozási művelet előrehaladása

A processzor egy szekvenciális feldolgozó egység, ami azt jelenti, végrehajt egy sor utasításokat elvégzése révén az egyik a másik után. Ehhez a processzornak van egy belső számlálója, amely jelzi a következő végrehajtandó utasítás memória címét, egy számláló, amelyet általában minden ciklusban növekszik, hogy az aktuális utasítást közvetlenül követő utasításra mutasson.

Az elágazási művelet megszakítja ezt a szekvenciális műveletet azáltal, hogy egy tetszőleges címmel módosítja a számláló értékét annak érdekében, hogy a processzor betöltse és végrehajtsa a memória azon részében található kód egy részét, amely eltér a lineáris viselkedéstől. Ez különösen lehetővé teszi az alprogramra való ugrást, vagy a feltételes teszt eredményétől függően különböző utasítások végrehajtását. Tehát az, hogy egy fiókot végrehajtanak-e vagy sem, gyakran a processzor állapotregiszterének tesztelésén alapul , amely egy korábbi számítás eredményét jelző regiszter.

Csatlakozások és csővezeték

A processzor általában egy olyan folyamatból áll, amely tartalmazza mind a jelenleg végrehajtott utasítást, mind a következő utasításokat, amelyek mindegyike különböző végrehajtási állapotban van, a feldolgozási sebesség növelése érdekében. Az elágazás végrehajtása azonban megszakítja a program lineáris működését, ami azt jelenti, hogy a folyamatban előzetesen betöltött utasításokat a valóságban nem szabad végrehajtani, az új memória címen találhatók javára. Ezért a csővezetéket ki kell üríteni, és újra be kell tölteni a helyes utasításokkal.

A jelenlegi processzorok ezért gyakran integrálják az elágazás-előrejelzési mechanizmusokat , amelyek megkísérlik megjósolni az elágazás eredményét a számítás végrehajtása előtt, lehetővé téve annak eldöntését, hogy az ugrást végrehajtják-e vagy sem, annak érdekében, hogy a megfelelő utasításokat előre betöltsék a folyamatba. Ha viszont egy helytelen előrejelzés a pipeline öblítését eredményezi, akkor a helyes előrejelzés lehetővé teszi a kód végrehajtásának megszakítás nélküli folytatását.