Om processorn begär något från en enhet och enheten inte är redo, kommer processorn vanligtvis att gå in i ett vänteläge. Detta innebär att processorn kommer att sluta utföra instruktioner tills enheten är klar. Hur lång tid processorn väntar beror på enheten. Vissa enheter kan vara klara inom några få klockcykler, medan andra kan ta flera millisekunder eller till och med sekunder.
I vissa fall kan processorn fortsätta att utföra instruktioner medan den väntar på enheten. Detta är känt som utförande i oordning. Exekvering i oordning kan förbättra prestandan genom att tillåta processorn att hålla alla sina exekveringsenheter upptagna. Men exekvering i oordning kan också göra det svårare att felsöka program.
Om enheten inte blir klar inom rimlig tid kan processorn generera ett avbrott. Detta kommer att få processorn att sluta utföra instruktioner och hoppa till en avbrottshanterare. Avbrottshanteraren kan sedan vidta lämpliga åtgärder för att hantera enheten som inte är redo.
Här är ett exempel på vad som kan hända om processorn begär något från en enhet och enheten inte är redo:
1. Processorn begär data från en hårddisk.
2. Hårddisken är inte redo att tillhandahålla data.
3. Processorn går in i ett vänteläge.
4. Hårddisken blir klar.
5. Processorn fortsätter att utföra instruktioner.
I det här exemplet går processorn in i ett vänteläge under en kort tidsperiod medan hårddisken blir klar. Detta påverkar inte programmets prestanda på något nämnvärt sätt. Men om hårddisken skulle ta lång tid att bli klar, skulle processorn tvingas vänta en längre tid. Detta kan avsevärt påverka programmets prestanda.