Answer from cs61c-ak (Tony Lai 15937131) for Question 1 Branch delay slot is there to help stall the process of branching. Because branching usually require a time delay in order for the the function to gather enough information to make the decision (beq, bne), it requires a buffer slot to help delay.