Answer from cs61c-aq (Anjali Koppal 16454392) 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.