Answer from cs61c-aq (Anjali Jagannatha Koppal 16454392) for Question 3 The adder unit is used to change the PC to point to the address of the instruction that must be executed if the branch condition is fulfilled. to do this, the instruction first needs to be sign extended. However, the instruction must not be sign extended while reading/writing data. so since these two operations require two different forms of the input, they need to be done in different units. therefore the ALU and the adder can not be integrated in this case.