本页使用了标题或全文手工转换

MIPS架构

维基百科,自由的百科全书
跳转至: 导航搜索
MIPS
推出年份 1981年,​36年前​(1981
设计公司 MIPS科技公司Imagination Technologies
体系结构类型 寄存器-寄存器
字长/寄存器数据宽度 32位64位
字节序 可配置大小端序
指令编码长度 固定长度
指令集架构设计策略 精简指令集(RISC)
扩展指令集 MDMXMIPS-3D
分支预测结构 比较和分支
通用寄存器 31个+1个固定为0的寄存器R0
浮点寄存器 32个(有一对32位寄存器组成的双精度浮点数寄存器)
流水线式 MIPS,展示了五个阶段(指令获取、指令解码、执行、内存访问和写回)。

MIPS架构英语:MIPS architecture,为Microprocessor without Interlocked Pipeline Stages的缩写,亦为Millions of Instructions Per Second的头字语),是一种采取精简指令集(RISC)的处理器架构,1981年出现,由MIPS科技公司开发并授权,广泛被使用在许多电子产品、网络设备、个人娱乐设备与商业设备上。最早的MIPS架构是32位,最新的版本已经变成64位。

发展历史[编辑]

在1981年,史丹佛大学教授约翰·轩尼诗领导他的团队,实现出第一个MIPS架构的处理器。他们原始的概令是通过指令管线化来增加CPU运算的速度。

1984年,约翰·轩尼诗教授离开斯坦福大学,创立MIPS科技公司。于1985年,设计出R2000芯片,1988年,将其改进为R3000芯片。

MIPS操作数[编辑]

MIPS包括32个寄存器和2^30个存储器字,详见下表[1]

MIPS操作数
名字 举例 注释
32个寄存器 $s0 ~ $s7,$t0 ~ $t9,$zero,$a0 ~ $a3,$v0 ~ $v1,$gp,$fp,$sp,$ra,$at 寄存器用于数据的快速访问。在MIPS中,只能对存放在寄存器中的数执行算术操作,寄存器$zero恒为0,寄存器$at被汇编器保留,用于处理大的常数。
2^30个存储字 Memory[0],Memory[4],...,Memory[4294967292] 存储器只能通过数据传输指令访问。MIPS使用字节编址,所以连续的字地址相差4。存储器用于保存数据结构、数组和溢出的寄存器

MIPS指令格式[编辑]

在MIPS架构中,指令被分为三种类型:R型、I型和J型。三种类型的指令的最高6位均为6位的opcode码。从25位往下,

  • R型指令用连续三个5位二进制码来表示三个寄存器的地址,然后用一个5位二进制码来表示移位的位数(如果未使用移位操作,则全为0),最后为6位的function码(它与opcode码共同决定R型指令的具体操作方式);
  • I型指令则用连续两个5位二进制码来表示两个寄存器的地址,然后是一个16位二进制码来表示的一个立即数二进制码;
  • J型指令用26位二进制码来表示跳转目标的指令地址(实际的指令地址应为32位,其中最低两位为00,高四位由PC当前地址决定)。[2][3]

三种类型的指令图示如下:

类型 -31-                                 格式(位)                                 -0-
R opcode (6) rs (5) rt (5) rd (5) shamt (5) funct (6)
I opcode (6) rs (5) rt (5) immediate (16)
J opcode (6) address (26)

相关条目[编辑]

参考文献[编辑]

  1. ^ David A, Patterson. 计算机组成与设计:硬件、软件接口(原书第4版). 机械工业出版社. 
  2. ^ MIPS R3000 Instruction Set Summary
  3. ^ MIPS Instruction Reference

外部链接[编辑]