Answer from cs61c-cf (Aspandiar Dahmubed 16812056) for Question 1 A branch delay slot occurs because a branch always executes the next instruction irrespective of where its going to branch. This allows for faster processing since we do not have to wait to figure out the offset and if its more likely that the branch will fail, it allows us to execute the next instruction without any delay.