Az előbbieknél hatékonyabb megoldást jelent a vezérlésátadás kezelésére a korszerű processzorok spekulatív elágazás feldolgozása, melynél a processzor megpróbálja megjósolni – különösen a feltételes ugróutasítások esetében – a vezérlésátadó utasítás várható irányát, kimenetelét. Erre alapvetően két módszer van:

  • sztatikus esetben a fordítóprogram értékeli ki az ugrási feltételeket, és meghatározza a legnagyobb valószínűséggel előforduló ugrási címeket, és ennek megfelelően szervezi a pipeline-t;

  • dinamikus esetben a program futása közben a processzor egy táblázatban vezeti az ugróutasítások címeit és ezek kimenetét, és ezt felhasználva próbálja megjósolni az elágazások lehetséges kimenetét.

A Pentium processzorcsalád korszerűbb tagjai a dinamikus előrejelzésre két gyors működésű cache tárolót használnak a processzorba beépítve:

  • a BTB (Branch Target Buffer) tartalmazza a más végrehajtott ugróutasítások statisztikái szerint számított elágazási valószínűségeket,

  • az RSB (Return Stack Buffer) a szubrutinból való visszatérési címeket tartalmazó gyorsítótár.

tartalomjegyzék almenü fogalomszótár jelölésrendszer ellenõrzõ kérdések fejezet eleje elõzõ lap következõ lap következõ fejezet