(Material [in brackets] is optional.) [ FIXME instruction (e.g., add $t0, $t0, $t0) with PC = FIXME, register values FIXME FIXME instruction in hex opcode FIXME (other fields depend on instruction) ] PC: input FIXME output FIXME Instruction memory: input FIXME output FIXME Inputs and output of top-left adder: in1 FIXME in2 FIXME out FIXME Inputs and output of top-right adder: in1 FIXME in2 FIXME output FIXME Control signals: RegDst FIXME ALUSrc FIXME MemtoReg FIXME RegWrite FIXME MemRead FIXME MemWrite FIXME Branch FIXME ALUOp FIXME Inputs and output of register file: Read register 1 FIXME Read register 2 FIXME Write register FIXME Write data FIXME Read data 1 FIXME Read data 2 FIXME Inputs and output of the main ALU, including the control signals: ALU control FIXME ALU input 1 FIXME ALU input 2 FIXME ALU result FIXME Zero FIXME Inputs and output of data memory: Address FIXME Write signal FIXME Write data FIXME Read signal FIXME Read data FIXME State elements to be changed: PC FIXME register file FIXME data memory FIXME