ALUOut: For branch instructions, it stores the new address for the PC if branch cond is satisfied (i.e. if zero is signaled by ALU)

Shift left 2 - multiply branch offsets / jump offsets by 4 to make em byte addressable

Sign extend: for I-type, we turn 16-bit into 32-bit

Memory Data Register stores fetched data from memory read! Stays until “register write” occurs!