Example: (Material [in brackets] is optional.) [ lw $t0, -4($s0), at addr 0x4 with PC = 0x4, $s0 = 0x10001000 instruction 8e08fffc opcode 100011 (lw) rs 10000 rt 01000 imm 0xfffc (-4) ] PC: input 0x8 output 0x4 Instruction memory: input 0x4 output 8e08fffc Inputs and output of top-left adder: in1 0x4 in2 4 out 0x8 Inputs and output of top-right adder: in1 not used in2 not used output not used Control signals: RegDst 0 ALUSrc 1 MemtoReg 1 RegWrite 1 MemRead 1 MemWrite 0 Branch 0 ALUOp 00 Inputs and output of register file: Read register 1 10000 ($s0) Read register 2 01000 ($t0) Write register 01000 ($t0) Write data 0x6 (contents of 0x10000fffc) Read data 1 0x10001000 Read data 2 not used Inputs and output of the main ALU, including the control signals: ALU control 0010 (add) ALU input 1 0x10001000 ($s0) ALU input 2 0xfffffffc (-4) ALU result 0x10001000-4 0x10000ffc (I think) Zero not used Inputs and output of data memory: Address 0x10000fffc ($s0-4) Write signal 0 Write data not used Read signal 1 Read data (contents of 0x10000fffc State elements to be changed: PC 0x8 register file $t0 to contents of 0x10000ffc data memory no change