Question: 1. Type 1a EX data hazard. The forwarding unit will forward ALUResult, which is $t1 - $t2, produced in clock 3 of the sub instruction

1. Type 1a EX data hazard. The forwarding unit will forward ALUResult, which is $t1 - $t2, produced in clock 3 of the sub instruction so that $t1 - $t2 becomes the A input to the ALU for the and instruction in clock 4. For an EX hazard, the value that is needed by the and instruction is coming from the EX stage of the prior instruction. sub $t0, $t1, $t2 IF ID EX ME WB \ and $t3, $t0, $t4 IF ID EX ME WB Type 1b EX data hazard. The forwarding unit will forward ALUResult, which is $t1 - $t2, produced in clock 3 of the sub instruction so that $t1 - $t2 becomes the B input to the ALU for the and instruction in clock 4. sub $t4, $t1, $t2 IF ID EX ME WB \ and $t3, $t0, $t4 IF ID EX ME WB 3. Type 2a MEM data hazard. The forwarding unit will forward ALUResult, which is $t1 - $t2, produced in clock 3 of the sub instruction and carried forward to the sub MEM stage, where $t1 - $t2 will become the A input to the ALU for the and instruction in clock 5. sub $t0, $t1, $t2 IF ID EX ME WB ori $t7, $t7, 1 IF ID \ ME WB and $t3, $t0, $t4 IF ID EX ME WB 4. Type 2b MEM data hazard. The forwarding unit will forward ALUResult, which is $t1 - $t2, produced in clock 3 of the sub instruction and carried forward to the sub MEM stage, where $t1 - $t2 will become the B input to the ALU for the and instruction in clock 5. sub $t4, $t1, $t2 IF ID EX ME WB ori $t7, $t7, 1 IF ID \ ME WB and $t3, $t0, $t4 IF ID EX ME WB Now to the exercise. Consider the sequence of instructions shown below. Assume the instructions are pipelined under ideal conditions, i.e., assume there are no hazards so each subsequent instruction enters the pipeline in the clock cycle following the previous instruction. However, there are data hazards present, so the exercise is to document all data hazards as they exist in the ideal pipelined sequence, i.e., specify the data hazard, but do not resolve it. For each hazard: (a) specify the involved instructions by listing the line numbers and the mnemonics of the instructions (e.g., 1 lw and 2 and); (b) list the hazard type (e.g., type 1a, 1b, 2a, or 2b); (c) list the two registers that are involved in the conflict; (d) specify the stage and clock cycle number when the first instruction writes to the destination register; and (e) specify the stage and clock cycle number when the second register would read (the old or wrong value of the register). You do not need to include the pipeline diagram in your solution. For example, to get you started: (a) the first hazard is between instructions 1 lw and 3 addi; (b) it is a type 2a MEM hazard; (c) the conflicting registers are rt = $t0 for the lw and rs = $t0 for the addi; (d) the lw will write to $t0 in the WB stage in clock cycle 5; (e) the addi would read the old/wrong value of $t0 in the ID stage in clock cycle 4. The reason this is a MEM hazard is because lw obtains the value in the MEM stage that will be written to $t0 in lw's WB stage and that value is needed as the first source register for addi when it reaches the EX stage. 1 lw $t0, 0($sp) 2 and $t9, $t9, $t9 3 addi $t0, $t0, 1 4 sub $t1, $t2, $t0 5 or $t1, $t1, $t0 6 andi $t1, $t1, 0x80

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!