您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > 5.6-MIPS指令详解
计算机组成原理第五章指令系统5.6MIPS指令详解第五章1R型指令5.6MIPS指令详解000000RsRtshamtRd6bitsfunct5bits5bits5bits5bits6bitsR型指令操作数和保存结果均通过寄存器进行;op:操作码,所有R型指令中都全为0;rs:寄存器编号,对应第1个源操作数;rt:寄存器编号,对应第2个源操作数;rd:寄存器编号,据此保存结果;shamt:常数,在移位指令中使用;funct:功能码,指定指令的具体功能;第五章1R型指令5.6MIPS指令详解3寄存器R型指令■R型指令存在3种不同类型指令功能:$rd←$rsop$rt指令[31:26][25:21][20:16][15:11][10:6][5:0]指令功能add000000rsrtrd00000100000寄存器加sub000000rsrtrd00000100010寄存器减and000000rsrtrd00000100100寄存器与or000000rsrtrd00000100101寄存器或xor000000rsrtrd00000100110寄存器异或第五章1R型指令5.6MIPS指令详解2寄存器R型指令指令[31:26][25:21][20:16][15:11][10:6][5:0]指令功能sll00000000000rtrdsa000000逻辑左移srl00000000000rtrdsa000010逻辑右移sra00000000000rtrdsa000011算术右移指令功能:$rd←$rtshiftsa第五章1R型指令5.6MIPS指令详解jrrs;1寄存器R型指令指令[31:26][25:21][20:16][15:11][10:6][5:0]指令功能jr000000rs000000000000000001000寄存器跳转第五章1R型指令5.6MIPS指令详解op:标识指令的操作功能;rs:第1个源操作数,是寄存器操作数;rt:目的寄存器编号,用来保存运算结果;imm:第2个源操作数,立即数;操作数中涉及立即数,结果保存到寄存器;OPRsRt6bits立即数5bits5bits16bitsI型指令第五章2I型指令5.6MIPS指令详解指令[31:26][25:21][20:16][15:0]指令功能addi001000rsrtimm寄存器和立即数“加”andi001100rsrtimm寄存器和立即数“与”ori001101rsrtimm寄存器和立即数“或”xori001110rsrtimm寄存器和立即数“异或”lw100011rsrtimm从存储器中读取数据sw101011rsrtimm把数据保存到存储器beq000100rsrtimm寄存器相等则转移bne000101rsrtimm寄存器不等则转移lui00111100000rtimm设置寄存器的高16位第五章2I型指令5.6MIPS指令详解■I型指令存在4种不同类型面向运算的I型指令指令[31:26][25:21][20:16][15:0]指令功能addi001000rsrtimm寄存器和立即数“加”andi001100rsrtimm寄存器和立即数“与”ori001101rsrtimm寄存器和立即数“或”xori001110rsrtimm寄存器和立即数“异或”addi/andi/ori/xorirt,rs,imm;#$rt←$rsopE(imm)第五章2I型指令5.6MIPS指令详解第一条指令是进行符号扩展,其余是0扩展面向访存的I型指令指令[31:26][25:21][20:16][15:0]指令功能lw100011rsrtimm从存储器中读取数据sw101011rsrtimm把数据保存到存储器lwrt,imm(rs)#$rt←mem[$rs+E(imm)]swrt,imm(rs)#mem[$rs+E(imm)]←$rtMIPS32中唯一两条访问存储器的指令(RISC)第五章2I型指令5.6MIPS指令详解面向数位设置的I型指令指令[31:26][25:21][20:16][15:0]指令功能lui00111100000rtimm设置寄存器的高16位luirt,imm#$rt←imm16(空位补0)第五章2I型指令5.6MIPS指令详解面向条件转移(分支)的I型指令指令[31:26][25:21][20:16][15:0]指令功能beq000100rsrtimm寄存器相等则转移bne000101rsrtimm寄存器不等则转移beqrs,rt,immbners,rt,imm#if($rs==$rt)PC←PC+E(imm)2是标准的PC相对寻址方式其中imm要先“带符号扩展”成32位,再左移2位。#if($rs!=$rt)PC←PC+E(imm)2第五章2I型指令5.6MIPS指令详解第五章3J型指令5.6MIPS指令详解指令[31:26][25:0]指令功能j000010address无条件跳转jal001100address调用与联接jaddress;$PC←($PC+4)H4∪(address2)jaladdress;$ra←$PC+4(保存返回地址)$PC←($PC+4)H4∪(address2)第五章4关于MIPS指令的学习建议5.6MIPS指令详解■每条指令更为详细的功能,请课后查阅MIPS指令手册■MIPSCPU设计过程中数据通路的设计与指令的执行流程密切相关■MIPS指令学习过程中,建议配合使用MIPS汇编器和运行模拟器Mars,直观体验指令执行的流程。
本文标题:5.6-MIPS指令详解
链接地址:https://www.777doc.com/doc-7880292 .html