Pipeline-stall (bubbla)
När CPU-pipelinen tvingas pausa för att en instruktion inte kan fortsätta — den väntar på data, en resurs, eller utfallet av ett hopp. Den tomma luckan som uppstår kallas en "bubbla" och representerar bortslösade klockcykler.
Orsaker (hazards): data hazard (en instruktion behöver ett resultat som en föregående ännu inte producerat), structural hazard (två instruktioner vill ha samma hårdvaruresurs samtidigt), control hazard (man vet inte vilken instruktion som kommer härnäst förrän ett hopp lösts), och — den dyraste — en cache-miss (vänta hundratals cykler på minnet). En stall fortplantar sig: instruktionerna bakom måste också vänta, och pipelinen fylls med bubblor. Motmedel: forwarding/bypass (skicka resultat direkt mellan steg), out-of-order-exekvering (hitta annat arbete att göra under väntan), grenprediktion (gissa i stället för att vänta), och prefetching. Att minimera stalls är själva poängen med mycket av modern CPU-design. Hör ihop med data hazard och forwarding/bypass.