Answer from cs61c-ei (Jing Chen 16669246) for Question 1 One way of dealing with control hazards is using a delayed decision. The MIPS architecture implements delayed branches, which means that the delayed branch always executes the next sequential instruction, with the branch taking place -after- that one instruction delay. Basically, if a branch is taken, the next instruction is the branch target address. Otherwise, the next instruction is just the PC + 4. A branch delay slot contains the instruction that is executed after a delayed branch instruction. The reason for the delayed branch slot is to account for the need that we need to know whether or not a branch is taken or not taken in advance before the next instruction in the pipeline starts.