Datapath: R-type
1. Fetch instruction and increment PC Fig. 5.21
2. Obtain operands from register file, based on source register numbers
3. Perform ALU operation, using ALU control to select, ALUSrc = 0
4. Select output from ALU using MemtoReg = 0
5. Write back to destination register (RegWrite = 1, RegDst = 1 for $rd)
Note that this entire path is combinational, but the values are generated in the order shown.