Question
Consider a non-pipelined processor operating at 2.5 GHz. It takes 5 clock cycles to complete an instruction. You are going to make a 5-stage pipeline out of this processor. Overheads associated with pipelining force you to operate the pipelined processor at 2 GHz. In a given program, assume that 30% are memory instructions, 60% are ALU instructions and the rest are branch instructions. 5% of the memory instructions cause stalls of 50 clock cycles each due to cache misses and 50% of the branch instructions cause stalls of 2 cycles each. Assume that there are no stalls associated with the execution of ALU instructions. For this program, the speedup achieved by the pipelined processor over the non-pipelined processor (round off to 2 decimal places) is _______.
Official answer and solution
- Accepted answers
- 2.15 to 2.18
- From
- Official GATE 2020 answer key
Solution
Compute average instruction execution time for both non-pipelined and pipelined processors, then take their ratio.
Non-pipelined processor:
- Frequency
- Clock cycle time
- Cycles per instruction = 5
- Average instruction time
Pipelined processor:
- Frequency
- Clock cycle time
- Program mix: 30% memory, 60% ALU, and remaining branch.
- Average stall cycles per instruction:
- Memory instructions:
- ALU instructions:
- Branch instructions:
- Total stalls =
- Average instruction time
Speedup calculation:
Rounding off to 2 decimal places yields 2.16 (official accepted range: 2.15 to 2.18).
2.16
The answer is the one in the official GATE answer key. The solution is this site's own explanation.
Source
- Paper
- GATE 2020 Computer Science and Information Technology (CS)
- Question
- 53 of 65, printed as CS Q.43
- Section
- Computer Science and Information Technology
Report an error in this question
GATE questions are the work of the organising institutes. This site is independent and is not affiliated with them.