Question
Suppose that a buggy implementation of the MIPS pipeline does not forward the Write register # through the ID/EX, EX/MEM, and MEM/WB interstage buffers. Instead,
Suppose that a buggy implementation of the MIPS pipeline does not forward the Write register # through the ID/EX, EX/MEM, and MEM/WB interstage buffers. Instead, it directly feed the output of the MUX controlled by RegDst as shown:
Everything else in the pipeline is implemented as shown on the above diagram. For sw instruction, the control signal RegDst is actually X (dont care), but lets assume that it is set to 0 for sw.
Suppose that, initially, $t1=0x1000, $t2=0x2000, $t3=0x3000, and $t4=0x4000. Consider the execution of the following code in this buggy pipeline. Determine the final values of the $t1, $t2, and $t3 registers after all the instruction leave the pipeline.
2. [15 points] Suppose that a buggy implementation of the MIPS pipeline does not forward the write register # through the ID/EX, EX/MEM, and MEM/WB interstage buffers. Instead, it directly feed the output of the MUX controlled by RegDst as shown Write register Write data Registe RegDst Instr[20-16) 0 M Instr[15-11 X IF/I ID/EX EX/MEM MEM/WB Everything else in the pipeline is implemented as shown on the above diagram. For sw instruction, the control signal RegDst is actually X (don't care), but let's assume that it is set to 0 for sw. Suppose that, initially, $tl-0x1000, $t2-0x2000, $t3-0x3000, and $t4-0x4000. Consider the execution of the following code in this buggy pipeline. Determine the final values of the $t1, $t2, and $t 3 registers after all the instruction leave the pipeline add $tl, $t2, $t3 SW Sw add $t2, $t3, $t4 #1 #2 #3 #4 #5 #6 #7 $t2, 0x0000 ($t 4) $t2, 0x1000 ($t 4) $t3, 0x2000 ($t4) $t3, 0x3000 ($t4) $t3, 0x4000 ($t4) SW SW SW 2. [15 points] Suppose that a buggy implementation of the MIPS pipeline does not forward the write register # through the ID/EX, EX/MEM, and MEM/WB interstage buffers. Instead, it directly feed the output of the MUX controlled by RegDst as shown Write register Write data Registe RegDst Instr[20-16) 0 M Instr[15-11 X IF/I ID/EX EX/MEM MEM/WB Everything else in the pipeline is implemented as shown on the above diagram. For sw instruction, the control signal RegDst is actually X (don't care), but let's assume that it is set to 0 for sw. Suppose that, initially, $tl-0x1000, $t2-0x2000, $t3-0x3000, and $t4-0x4000. Consider the execution of the following code in this buggy pipeline. Determine the final values of the $t1, $t2, and $t 3 registers after all the instruction leave the pipeline add $tl, $t2, $t3 SW Sw add $t2, $t3, $t4 #1 #2 #3 #4 #5 #6 #7 $t2, 0x0000 ($t 4) $t2, 0x1000 ($t 4) $t3, 0x2000 ($t4) $t3, 0x3000 ($t4) $t3, 0x4000 ($t4) SW SW SWStep 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