Out-of-order-exekvering
När en CPU kör instruktioner i en annan ordning än programmet skrevs, för att slippa vänta. Medan en instruktion väntar på data från minnet kör CPU:n vidare på senare, oberoende instruktioner — och presenterar sedan resultaten i rätt ordning utåt.
Problem: en in-order-CPU stallar helt när en instruktion väntar (t.ex. en cache-miss). Out-of-order (OoO) tittar i ett fönster av kommande instruktioner, hittar sådana som inte beror på det som väntar och kör dem nu. En "reorder buffer" ser till att resultaten retireras (görs synliga) i programordning, så korrektheten bevaras. Klassisk teknik: Tomasulos algoritm, register-omdöpning för att bryta falska beroenden. Vinst: håller exekveringsenheterna sysselsatta → stor prestandavinst. Kostnad: komplex, energikrävande logik (enkla effektiva kärnor och vissa mikrocontroller är in-order). Hör ihop med spekulativ exekvering och superskalär design.