欢迎来到天天文库
浏览记录
ID:49996750
大小:1.47 MB
页数:22页
时间:2020-03-07
《计算机组成原理_-CPU子系统-MIPS-1-MIPS32指令架构与指令集.ppt》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、1/223.5MIPS32指令架构的CPU设计实例2/22MIPS(Micro-processorwithoutinterlockedpipedstages),一种无内部互锁流水级微处理器。--1980s,斯坦福Hennessy;--RISC型R系列工业处理器;--MIPS-I~V,MIPS-16/32/64;3/223.5.1MIPS32的指令总体情况:(1)存储器按字节编址(2)可用寄存器32个,宽度32位(3)RISC架构结合高级语言编程,考虑处理器应该有哪些类型的指令?运算?访存?转移?…4/22寄存器名地址编号用途说明$s00保存固定的常数0$at1汇编器专用$v0~$v12~3
2、表达式计算或函数调用的返回结果$a0~$a34~7函数调用参数1~3$t0~$t78~15临时变量,函数调用时不需要保存和恢复$s0~$s716~23函数调用时需要保存和恢复的寄存器变量$t8~$t924~25临时变量,函数调用时不需要保存和恢复$k0~$k126~27操作系统专用$gp28全局指针变量(GlobalPointer)$sp29堆栈指针变量(StackPointer)$fp30帧指针变量(FramePointer)$ra31返回地址(ReturnAddress)※可提供的寄存器列表√√√√√√√√√√√√5/221.指令格式与指令集指令字长固定为32位,寄存器型寻址,指令中给
3、出寄存器号。指令类型指令长度(32位定长)31~2625~215~020~1615~1110~6R型op(6)rs(5)funcrt(5)rd(5)shamtI型op(6)rs(5)rt(5)imm(16)J型op(6)address(26)R型I型J型6/22R型指令(Register)操作数和保存结果均通过寄存器进行;op:操作码,所有R型指令中都全为0;rs:寄存器编号,对应第1个源操作数;rt:寄存器编号,对应第2个源操作数;rd:寄存器编号,据此保存结果;指令长度(32位定长)31~2625~215~020~1615~1110~6op(6)rs(5)funcrt(5)rd(5)s
4、asa:常数,在移位指令中使用;func:功能码,指定指令的具体功能;典型指令集见表3-227/22I型指令(Immediate)op:标识指令的操作功能;rs:第1个源操作数,是寄存器操作数;rt:目的寄存器编号,用来保存运算结果;imm:第2个源操作数,立即数;指令长度(32位定长)31~2625~215~020~1615~1110~6op(6)rs(5)rt(5)imm(16)操作数中涉及立即数,结果保存到寄存器;典型指令集见表3-238/22J型指令(Jump)op:确定指令的功能;address:转移目标地址的偏移量字段;指令长度(32位定长)31~2625~215~020~16
5、15~1110~6op(6)address(26)实现无条件转移;典型指令集见表3-249/222.寻址方式在MIPS32指令集中,不会单设寻址方式说明字段,通过op字段和func字段(针对R型指令)隐含说明。R型指令:由op和func字段共同隐含说明当前的寻址方式。I型和J型指令:由op字段隐含说明当前指令使用的寻址方式。10/22oprsrt立即数Iaddis1,s2,10#$s2+10→$s1立即数imm立即数寻址(Immediateaddressing)操作数在指令中的立即数字段。注意:汇编格式和编码格式段的对应关系。11/22寄存器直接寻址(RegisterAddressing)
6、操作数直接在寄存器中。oprsrtrdfunc寄存器rs数据字12/22oprsrtimm基准地址码+Memory16位的带符号常数带符号扩展成32位数据字符号扩展(补码)正数,在高位补上16个0;负数,在高位补上16个1;012AH→0000012AH812AH→1111812AH操作数由寄存器和立即数字段联合产生基址寻址(BasicAddressing)13/22oprsrtimm当前地址码+Memory<<216位的带符号常数带符号扩展成32位并左移2位数据字操作数由寄存器和立即数字段联合产生PC相对寻址(PC-relativeAddressing)PC寄存器14/22opaddre
7、ss↑26位的地址码4位28位4位Memory4位PC当前值<<2左移2位00address指令字伪直接寻址(Pseudo-directAddressing)也叫页面寻址,由PC高4位与指令中的地址段组合产生有效地址。15/223.指令代码与功能※R型指令(只列出了9条)指令[31:26][25:21][20:16][15:11][10:6][5:0]指令功能add000000rsrtrd00000100000寄存器加s
此文档下载收益归作者所有