Answer from cs61c-el (David Tung 16479725) for Question 2 It is because the new value of $t0 used in the add statement will not be actually stored in memory until the last stage of the load word pipeline, which is writing to a register. This penalty can be reduced by forwarding, which sends the value needed to the add instruction after it has been calculated by the reading from memory stage.