Quiz submission record for quiz5-2-2 at Thu Jul 22 09:12:21 2004: Your Answer for Question 1: For a branch instruction, a delay is needed because the next step is not determined till the instruction has been fully completed. so a delay or stall is put in to let the processor find out what path the branch has taken before recontinuing the process. Your Answer for Question 2: This set of instructions would lead to a data hazard, because the same variable needs to be accessed in both instructions, so the second will have to stall till the first is done with using the instruction. we can avoid this by 'bypassing' or sending the result of the first instruction to the second with minimal delay. but since $t0 does not get its value till the very last stage, it seems inevitable that we will have to stall for a little while. Your Answer for Question 3: Suppose we had 4 instructions, such that there came a time when all 4 parts were in execution. at that time, the first and the fourth instruction were fetching memory from the same memory which would cause a structural hazard. Your unique submission ID is quiz5-2-2-cs61c-aq-1090512741-1954.