Answer from cs61c-al (Phillip Chin 16156822) for Question 1 Because during a branching step, it does not yet know whether to continue onto the next line or branch somewhere else, a branch delay slot is used. While the branch is still determining where to go, an instruction is placed between the two lines (usually one that will always be executed), giving it enough time to decide whether to go to next line or branch elsewhere.