Speedup and MIPS for a 5-Stage Pipelined Upgrade with Reduced Clock
A processor’s execution time for a “typical program” can be modeled (at the level of this problem) as proportional to:
- Instruction count (for a fixed program):
- Average CPI:
- Clock rate: (cycles per second)
So, a simple performance model is:
For the non-pipelined processor:
- Clock rate:
- Average CPI:
For the pipelined processor (5-stage pipeline), we use the standard assumption for ideal pipelining on a typical program: Pipeline throughput improves to IPC ≈ 1 (i.e., CPI drops to about 1). Thus:
- Clock rate reduced to due to internal pipeline delays (e.g., latch delay).
Pipelining: Throughput, CPI, and Speedup (core ideas)
Compute speedup for a typical program
- 1Step 1
Using and the same program ( cancels), compute .
- 2Step 2
Use , , , , giving .
- 3Step 3
Speedup .
- 4Step 4
A speedup of means the upgraded pipelined processor completes the same typical program in about the time.
(a) Speedup achieved
So the typical-program speedup is:
Typical-program assumption for CPI in pipelines
For many textbook pipeline speedup problems, the key assumption is steady-state ideal throughput on a typical program, giving for a non-stalling pipeline.
Compute MIPS rate for each processor
- 1Step 1
MIPS is instructions per second: .
- 2Step 2
For processor 1: .
- 3Step 3
.
- 4Step 4
For processor 2: .
- 5Step 5
.
- 6Step 6
The MIPS ratio is , consistent with the speedup.
(b) MIPS rate for each processor
Processor 1 (non-pipelined):
Processor 2 (5-stage pipelined, reduced clock):
Performance comparison (typical program)
Using CPI model and given clock rates
Common pitfalls and edge cases
Knowledge Check
Given GHz, , GHz, and for a typical program, what is the speedup ?