MIPS RegistersReturn pointer31$raFrame pointer30$fpStack pointer29$spGlobal pointer28$gpMore temporaries24-25$t8-$t9Saved16-23$s0-$s7Temporaries8-15$t0-$t7Arguments4-7$a0-$a3expression evaluation2-3$vo-$v1The constant value 00$zeroUsageReg. #Name Instruction Formatsopcode rs rt rd shamt functopcode26-bit Immediateopcode rs rt 16-bit ImmediateR-formatI-formatJ-format3126 25 21 20 161511151065 003126 25 21 20 16312625 0 ALU Operation(ALUOp3:ALUOp0)0000 and0001 or0010 add0110 sub0111 set-on-less-than1100 nor MIPS Litememory-reference instructions: lw, swcontrol flow instructions: beq, j arithmetic-logical instructions: add, sub, and, or, slt, norPCInstructionmemoryReadaddressInstruction[31–0]Instruction [2016]Instruction [2521]AddInstruction [5 0]MemtoRegALUOpMemWriteRegWriteMemReadBranchRegDstALUSrcInstruction [31 26]416 32Instruction[150]00Mux01ControlAddALUresultMux01RegistersWriteregisterWritedataReaddata 1Readdata2Readregister 1Readregister 2SignextendMux1ALUresultZeroPCSrcDatamemoryWritedataReaddataMux1Instruction[15 11]ALUcontrolShiftleft 2ALUAddressSingleCycle
View Full Document