Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
Špekulácie založené na hardvéri vykonáva samotný hardvér, bez priameho zapojenia softvéru. Hardvér predpovedá, ktorá vetva podmieneného príkazu sa pravdepodobne použije, a potom špekulatívne vykoná inštrukcie pre túto vetvu. Ak je predpoveď správna, inštrukcie budú vykonané vopred, čím sa skráti čas potrebný na dokončenie operácie. Ak je však predpoveď nesprávna, inštrukcie budú musieť byť zahodené a vykonaná správna vetva, čo môže mať za následok penalizáciu výkonu.
Špekulácie so softvérom , na druhej strane vykonáva samotný softvér. Kompilátor alebo runtime systém identifikuje časti kódu, ktoré budú pravdepodobne profitovať zo špekulácií, a potom vloží inštrukcie, ktoré explicitne predpovedajú výsledok podmienených príkazov. Ak sú predpovede správne, kód sa vykoná efektívnejšie. Ak sú však predpovede nesprávne, kód sa bude musieť vykonať viackrát, čo môže mať za následok aj trest za výkon.
Hlavnou výhodou hardvérových špekulácií je, že sa dajú vykonávať veľmi rýchlo a efektívne, keďže to robí priamo hardvér. Je však tiež náchylnejší na nesprávne predpovede, keďže hardvér nemá prístup k rovnakým informáciám ako softvér. Na druhej strane softvérové špekulácie sú menej náchylné na nesprávne predpovede, pretože softvér môže robiť informovanejšie predpovede na základe stavu programu. Je to však aj menej efektívne, pretože softvér musí explicitne vložiť špekulačné pokyny.
Vo všeobecnosti platí, že hardvérové špekulácie sú efektívnejšie pre jednoduchý, predvídateľný kód, zatiaľ čo softvérové špekulácie sú efektívnejšie pre zložitý, nepredvídateľný kód.