MIPS架构与指令简介
1 什么是MIPS?
MIPS是世界上很流行的一种RISC处理器。MIPS的意思是“无内部互锁流水级的微处理器”(Microprocessor without interlocked pipelined stages),其机制是尽量利用软件办法避免流水线中的数据相关问题。它最早是在80年代初期由斯坦福(Stanford)大学Hennessy教授领导的研究小组研制出来的。MIPS公司的R系列就是在此基础上开发的RISC工业产品的微处理器。这些系列产品为很多计算机公司采用构成各种工作站和计算机系统。MIPS是出现最早的商业RISC架构芯片之一,新的架构集成了所有原来MIPS指令集,并增加了许多更强大的功能。
1)MIPS架构
组成MIPS架构的主要部件有
• program counter (PC) –程序计数器
• instruction register (IR)-指令寄存器
• register file-寄存器堆
• arithmetic and logic unit (ALU) -算数逻辑单元
• memory-内存
(1)PC(Program counter-程序计数器)
PC是一个寄存器,存放着下一条将要取出指令的地址,也称作指令指针。
(2)Memory
Memory分为两部分,一部分是Instruction memory,为了存储指令只读。另一部分是data memory 存储被指令操作的数据,可读可写。
(3)Instruction register (IR)-指令寄存器
保存当前正在解码的指令的寄存器。
(4)Register file-寄存器堆
寄存器:存储 32 位值的组件 MIPS寄存器文件包含32个寄存器。
(5)Arithmetic and logic unit (ALU)-算数逻辑单元
实现二进制算术和逻辑运算。
(6)Control unit—控制单元
控制数据路径的组件以实现 FDX 循环。
2)MIPS指令
• I-Type (Immediate)
• J-Type (Jump)
• R-Type (Register)
(1)I-TYPE
Op:操作码
Rs:源操作数
Rt:目的操作数
Immediate:16bit补码的立即数
(2)J-Type
Op:操作码
Target:目标地址
(3) R-Type
Op:operation code (opcode)
Rs:first source register number
Rt:second source register number
Rd:destination register number
Shamt:shift amount(00000 for now)
Funct:function code (extends opcode)