Pipelining: What and why
What?
- Subdivide combinational logic
- Add registers between logic blocks
Why?
- Increase clock speed
- Reduce logic delays
- But…takes a few cycles to fill the pipe
- Trade latency for throughput
- Latency worse
- Throughput better
- Increase circuit utilization
- Simultaneous computations