Multi-cycle datapath
MUX example 1:
One memory is used for instructions and data, so we need a MUX to select between:
PC (instruction)
ALUout (data)
for address to access in memory
Where else? (Hint: Consider ALU)
MUX example 2:
One ALU is used to perform all arithmetic and logic operations, so we need a MUX
to select first operand between
PC
Data register A
Also, for second operand:
Data register B
Sign-extended immediate
Sign-extended/shifted immediate (offset for branch)
Constant 4 (incrementing PC)