A statikus és dinamikus elágazáskezelés Az IA-64-es architektúrában talán az egyik legfontosabb újítás a programelágazások kezelésében történt. Az Intel 32 bites architektúrái dinamikus, azaz futás közben a hardver által megvalósított programirány-előrejelzéssel (elágazásjóslással) működnek, amely statisztikai számításokon alapul. Az IA-64-es architektúra az elágazások előrejelzését első szinten a fordítóprogramra bízza (statikus elágazás előrejelzés).
A
fordító a forráskód tárgykódra való fordítása során nagyrészt ki tudja
elemezni, hogy
adott elágazásokból az egyik vagy másik irányba halad-e majd a
vezérlés (ezzel a gyakoribb ágakat lehet valószínűsíteni, ill. a soha sem
használt ágakat lehet kiküszöbölni). Így a processzornak a dinamikus
hardverelágazás-előrejelzéshez képest kevesebbszer kell megjósolnia egy ugró utasítás
kimenetelét - így kisebb a hibás előrejelzés
esélye is -, és a processzor erőforrásai az igazán bonyolult ágak hardver-kiértékelésére
koncentrálhatók. |