Pipelining: Hazards
A control hazard occurs when a branch instruction is decoded
- “Flush” the pipeline
- or: Delayed branch (expose pipeline)
A data hazard occurs because an operand cannot be read yet
- Intended by programmer
- or: Interlock hardware inserts “bubble”