Pipeline stalls uppstår när CPU:n behöver resultatet av en tidigare instruktion för att bearbeta en annan. Detta kan hända av flera anledningar, till exempel:
* Databeroende: Nästa instruktion beror på resultatet av den föregående instruktionen. Till exempel kan en add-instruktion inte köras förrän de två numren som ska läggas har laddats in i CPU:n.
* Resurskonflikt: Nästa instruktion behöver en resurs som för närvarande används av den föregående instruktionen. Till exempel kan två instruktioner inte komma åt samma minnesplats samtidigt.
* Felaktig förutsägelse av gren: CPU:n förutspår att en greninstruktion kommer att gå åt ett håll, men det går faktiskt åt andra hållet. Detta kan få CPU:n att hämta och utföra fel instruktioner.
Pipelinestall kan ha en betydande inverkan på prestandan. Genom att minska antalet pipeline-stopp kan CPU:n förbättra sin genomströmning och effektivitet.