We found that the instruction fetch and memory stages are the critical path of o
ID: 3845509 • Letter: W
Question
We found that the instruction fetch and memory stages are the critical path of our 5-stage pipelined MIPS CPU. Therefore, we changed the IF and MEM stages to take two cycles while increasing the clock rate. You can assume that the register file is written at the falling edge of the clock.
Assume that no pipelining optimizations have been made, and that branch comparisons are made by the ALU. Here’s how our pipeline looks when executing two add instructions:
Clock Cycle #
1
2
3
4
5
6
7
8
add $t0, $t1, $t2
IF1
IF2
ID
EX
MEM1
MEM2
WB
add $t3, $t4, $t5
IF1
IF2
ID
EX
MEM1
MEM2
WB
a. How many stalls would a data hazard between back-to-back instructions require?
b. How many stalls would be needed after a branch instruction?
Clock Cycle #
1
2
3
4
5
6
7
8
add $t0, $t1, $t2
IF1
IF2
ID
EX
MEM1
MEM2
WB
add $t3, $t4, $t5
IF1
IF2
ID
EX
MEM1
MEM2
WB
Explanation / Answer
a.Answer:Three stalls are required that a data hazard between back to back instructions.
b.Answer: Four stalls are needed after a branch instruction.
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.