Omordningsbuffert (ROB)
Strukturen som låter en out-of-order-CPU köra instruktioner i valfri ordning men ändå "retirera" (göra resultaten synliga) i strikt programordning. Det är vad som gör out-of-order-exekvering korrekt och möjlig att ångra vid felspekulation.
Mekanik: när instruktioner utfärdas läggs de in i ROB:en i programordning; de exekveras sedan så fort deras data är klart (utom ordning), men deras resultat hålls provisoriska i ROB:en tills de når toppen och retireras i ordning. Detta löser två problem: (1) korrekthet — utåt ser allt ut att ske i programordning trots intern omordning; (2) precisa undantag/spekulation — om en gren felgissades eller ett undantag inträffar kan alla ännu icke-retirerade (spekulativa) instruktioner bara kastas, som om de aldrig hänt. ROB:ens storlek (hundratals poster i moderna kärnor) begränsar hur många instruktioner som kan vara "i flykt" samtidigt → en nyckelfaktor för prestanda. Hjärtat i out-of-order-maskineriet, tätt knutet till registeromdöpning. Hör ihop med out-of-order-exekvering och register-renaming.