主要介绍MIPS指令系统
MIPS指令系统结构
Load/Store型指令集结构
(MIPS所有ALU操作的原操作数和目的操作数都放在寄存器中,只能通过Load/Store指令访问存储器)
MIPS是一种多元指令集结构
a.体现了当今多种机器(AMD29K、DEC station 3100、HP850、IBM 801、Intel i860、MIPS M/120A、MIPS M/1000、Motorola 88k、RISC I、SGI4D/60、SPARC station 1、Sun 4/110、Sun 4/260等)的指令集结构的共同特点。
b.还将会体现未来一些机器的指令集结构的特点。
特点:
1. 具有一个简单的Load/Store指令集
2.注重指令流水效率
3.简化指令的译码
4.高效支持编译器
MIPS指令集结构:寄存器
32个32位的通用寄存器 ,寄存器R0的内容恒为全0
32个32位浮点寄存器,单精度浮点数表示和双精度浮点数表示
MIPS指令集结构:数据类型
整型数据: 8位、16位、32位
浮点数据:
32位单精度浮点
64位双精度浮点
IEEE 754标准
MIPS指令集结构:寻址方式
寄存器寻址、立即数寻址、偏移寻址、寄存器间接寻址
MIPS指令集结构: 指令格式
I类型指令
R类型指令
MIPS指令集结构:操作类型
1.Load和Store操作
2.ALU操作
3.分支和跳转操作
两种跳转类型:一种是简单跳转;另一种是跳转并链接(用于过程调用),它将下一条顺序指令地址(返回地址)保存在寄存器R31中。
4.浮点操作
5.符号“<-”表示数据传送操作,其后附带一个下标n,也即“<-”表示传送一个n位数据。
6.符号“##”用来表示两个域的串联操作,它可以出现在数据传送操作的任何一边。
7.域的下标用来表明从该域中选择某一位。域中位的标记是从最高位开始标记,并且起始标记为0。下标可以是一个单独的数字,如Regs[R4]0表示选择R4中内容的符号位;下标也可以是一个范围,如Regs[R3]24..31表示选择寄存器R3中内容的最低一个字节。
8.上标表示复制一个域,如024可以得到一个24位全为0的一个域。
9.变量Mem用来表示存储器中的一个数组,存储器按照字节寻址,它可以传送任何数目的字节。