Suppose you have a 5-stage pipeline. The work at each stage (S_i) takes the amou
ID: 3836023 • Letter: S
Question
Suppose you have a 5-stage pipeline. The work at each stage (S_i) takes the amount of time as listed below: (1) What would be the cycle time of the pipeline? (2) How many nanoseconds does it take for an instruction to complete? (3) What would be the best CPI (cycle per instruction)? (4) What would be the CPI (assuming the same MIPS data path of the text and no delayed slot) if 20% of all instructions are Loads and 5% of the instructions following a Load depend on the result of the Load, 20% of all instructions are Branch and 60% of the branch decision would be "TAKEN", all other instructions have no dependencies, IF continues for branch with "NOT-TAKEN" assumption, and no other stalls.Explanation / Answer
1) Clock cycle time = 15ns
pipeline clock cycle time is equal to longest stage.
2) How many nanoseconds does it take for an instruction to complete?
Answer: 10ns + 7ns + 10ns + 15ns + 8ns = 50ns
3) what would be the best CPI(cycles per instruction)
Answer: 1
There will be one instructions per stage and different instruction would complete stage 5 at each cycle.
4) Answer:
For the multi-cycle MIPS, there are 5 types of instructions:
Assume all type of instructions take one cycles
if 5% of load depends on load it stalls for 1 cycle = (1* 20% * 5%) +1
if 20% of instruction are branch and 60% of branch decision is taken then = (1 * 20% * 60%) +1
40 % of branch is not taken so there is no penalty = (1 * 20% * 40%)
55% will be other instruction = ( 1 * 55%)
CPI = (1 * 0.2 * 0.05) +1 + (1 * 0.2 * 0.6) +1 + (1 * 0.4 * 0.2) + (0.55 * 1)
= 0.01 + 1 + 0.12 + 1 + 0.08 + 0. 55
= 2.76
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.