Pipeline hazard
Beginner
A hiccup on the assembly line: a step can’t go ahead because it needs a result that isn’t ready, or the line went the wrong way.
Novice
Something that stops the next instruction from moving down the pipeline: it needs a result that isn’t ready yet (data hazard), it follows a branch whose direction isn’t known yet (control hazard), or it needs a unit another instruction is using (structural hazard).
Expert
A hazard costs roughly the number of stages between where a value is produced and where it is needed, so deeper pipelines lose more cycles per hazard. Forwarding results early, predicting branches and reordering instructions hide part of the cost.