Quiz submission record for quiz6-1-1 at Sun Jul 25 23:32:53 2004: Your Answer for Question 1: If we tried to do that, then the instructions won't do what it is told to do. For example, if we have two instructions like add $t0, $t1, $t1 add $t0, $t0, $t0 then the read in for $t0 will happen before before writing the $t0 in the first instruction. Then the $t0 as the result of the second instruction will be wrong, because it accessed the old $t0 value. Your Answer for Question 2: The three come from the result of ALU, the result after accessing the value in the memory, or the value from the register. 1. when we need the result of ALU add $t0, $t1, $t1 add $t0, $t0, $t0 2. when we need the result after accessing the memory lw $t0, 0($sp) add $t1, $t0, $t0 3. when we need the value from the register add $t0, $t1, $t1 add $t2, $t3, $t3 Your Answer for Question 3: Pipeline is stalled by having the same effect as the nop instruction. It prevents PC register and IF/ID pipeline register from changing, and by setting all 9 control fields in EX, MEM, WB to 0. If (ID/EX.MemRead and ((ID/EX.RegisterRt = IF/ID.RegisterRs) or (ID/EX.RegisterRt = IF/ID.RegisterRt))), the control for the hazard detection unit will return 1, or else 0. Then the hazard unit will send signals to PC register and IF/ID pipeline register to do the normal pipelining. Your unique submission ID is quiz6-1-1-cs61c-eb-1090823573-842.