Control Unit 2 RegWrite RegWSource MemWrite ALUControl ALUSource RegDest op funct Branch M/F 2 MF_ReadData MF_ALUOut MF_WriteReg MFC_RegWrite MFC_RegWSource DCache 2 Address ReadData WriteData WriteEnable E/M 2 EM_ALUOut EM_WriteReg EM_WriteData EMC_RegWrite EMC_RegWSource EMC_MemWrite D/E 2 DE_RSVal DE_RTVal DE_Imm DE_RT DE_RD DEC_RegWrite DEC_RegWSource DEC_MemWrite DEC_ALUControl DEC_ALUSource DEC_RegDest Register File 2 ra1 rd1 ra2 rd2 wa3 wd3 we3 F/D 2 FD_IR FD_NextPC ICache 2 address data hit +4 rs rt imm Sign Extend 0 1 mux A B ALU rd 0 1 mux 0 1 mux = & 0 1 mux 0 1 mux NOP