Register-renaming
Tekniken att mappa de få arkitektoniska register som instruktionsuppsättningen exponerar (t.ex. 16 i x86-64) till en mycket större pool av fysiska register. Det eliminerar "falska" databeroenden och är en förutsättning för att out-of-order-exekvering ska fungera bra.
Problem: program återanvänder samma fåtal register om och om igen, vilket skapar falska beroenden (WAR och WAW) — två instruktioner som bara råkar skriva till samma registernamn ser ut att bero på varandra fast de inte gör det logiskt. Det skulle onödigt serialisera dem. Register-renaming löser det: varje gång ett register skrivs får det ett nytt fysiskt register tilldelat ur poolen (hundratals fysiska register bakom de få arkitektoniska) → de falska beroendena försvinner och instruktionerna kan köra parallellt/ur ordning. Bara de äkta beroendena (RAW — läs efter skriv) återstår. Detta är kärnan i varför moderna kärnor kan extrahera så mycket parallellism. Klassisk teknik: Tomasulos algoritm. Tätt sammanflätat med registerfilen och omordningsbufferten. En oumbärlig del av out-of-order-maskineriet. Hör ihop med data hazard och registerfil.