Consider executing the following code on the pipelined datapath
that we discussed in class.
a). During the 5th cycle, which registers are being read and which
register(s) will be written (using the register file)?
b). Explain what the forwarding unit is doing during the 5th cycle of execution. Which registers are being compared? List all pairs of registers that are compared during the 5th cycle for the forwarding unit. (First, you need to determine which instruction's values are in the EX/MEM, which instruction's values are in the MEM/WB register, and which instruction's values are read from the ID/EX register during the 5th cycle. Then check the conditions for forwarding.)
c). Explain what the hazard detection unit is doing during the 5th cycle of execution. Which registers are being compared? List all pairs of registers that are compared during the 5th cycle for the hazard detection unit. (You need to determine which instruction's values are in the IF/ID and which instruction's values are in the ID/EX register during the 5th cycle. Then check the conditions for the hazard detection.)
sub $t7, $t9, $t8
add $t3, $t4, $t9
sub $t6, $t5, $t4
sub $t5, $t2, $t6
add $t2, $t3, $t2
Get Answers For Free
Most questions answered within 1 hours.