Question
Consider an instruction sequence used for a memory-to-memory copy. lw $t2,100($t5) sw $t2,200($t6) The value in $t2 to be stored into memory by the sw
Consider an instruction sequence used for a memory-to-memory copy.
lw $t2,100($t5)
sw $t2,200($t6)
The value in $t2 to be stored into memory by the sw is actually not needed until MEM stage of the MIPS pipeline. Below is a drawing showing the two instructions being pipelined. Modify this figure in a manner similar to Figure 4.29 to show how the value could be forwarded to avoid a stall.
Figure 4.29
Rewrite the following stall formula so this code sequence wont stall.
if (ID/EX.MemRead AND
(ID/EX.RegisterRt == IF/ID.RegisterRs OR
ID/EX.RegisterRt == IF/ID.RegisterRt) AND
ID/EX.RegisterRt != 0)
stall the pipeline
lw St2,100(St5) IF EX MEMWB sx. $t2,100(St5) IF lw St2,100(St5) IF EX MEMWB sx. $t2,100(St5) IF
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started