Pipelining
One instruction/result every cycle (ideal)
- Not in practice because of hazards
Increase throughput
- Throughput = number of results/second
Improve speed-up
- In the ideal case, if n stages , the speed-up will be close to n. Can’t make n too large: load balancing between stages & hazards
Might slightly increase the latency of individual instructions (pipeline overhead)