MIPS体系结构的特点.docx

MIPS体系结构的特点.docx

ID:57695549

大小:20.02 KB

页数:5页

时间:2020-09-01

MIPS体系结构的特点.docx_第1页
MIPS体系结构的特点.docx_第2页
MIPS体系结构的特点.docx_第3页
MIPS体系结构的特点.docx_第4页
MIPS体系结构的特点.docx_第5页
资源描述:

《MIPS体系结构的特点.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、MIPS体系结构的特点1.MIPS指令集的限制o所有的指令长度都是32位o指令操作必须适合流水线o三操作数的指令o32个寄存器o寄存器零(?作用)o没有条件码(很强大)?没有标志位,但是所有信息保存在寄存器堆中2.寻址和访存o访问内存只能通过简单的寄存器加载和存储(对内存变量进行算术运算会打乱流水线)o只有一种数据寻址方式(单个寄存器基址加上一个16位的常数偏移量寻址内存)o字节地址访问(?)oload/store必须对齐o跳转指令(有228=256MB的地址空间)(超过的可以使用一个寄存器跳转指令做到,可以跳到任意32位地址)(条件分支只有128KB的范围)3.

2、MIPS的特性o没有字节或半字数据的运算:所有的算术和逻辑操作都在32位的数据上进行。(int类型32位的整数)o没有对堆栈的特殊支持(堆栈弹出不能适应流水线(因为有两个寄存器要写:来自堆栈的数据和增加指针值))o最少的子程序支持(?很大的好处?(返回地址存入$31(返回地址寄存器)))o最少的中断处理o最少的异常处理(保留了两个寄存器给用于异常,这样异常处理程序可以自举?)MIPS架构中的PC(程序计数)MIPS架构中没有X86中的PC(程序计数)寄存器,它的程序计数器不是一个寄存器。因为在MIPS这样具有流水线结构的CPU中,程序计数器在同一时刻可以有多个给定

3、的值,如jal指令的返回地址跟随其后的第二条指令。...jalprintfmove$4,$6xxx#returnhereaftercallMIPS32中也没有条件码,比如在X86中常见的状态寄存器中的Z、C标志位在MIPS32中是没有的,但是MIPS32中是有状态寄存器MIPS32中整数乘法部件MIPS32中不同于其它的RISC架构的地方是其有整数乘法部件,这个部件使用两个特殊的寄存器HI、LO,并且提供相应的指令mfhi/mthi,mthi/mtlo来实现整数乘法结果--hi/lo寄存器与通用寄存器之间的数据交换CP0(协处理器0)--MIPS处理器控制MIPS

4、支持最多4个协处理器。协处理器CP0为CPU的控制协处理器,是体系结构中必须实现的。CP1为浮点处理器。CP2保留,各生产厂商往往用来实现一些自己的特色功能,例如RMI的FastMessageRing等。CP3原本也是保留共扩展用,但很多MIPSIII和MIPSIV时代的扩展指令集使用了它。为适应处理器向多核时代的演进,MIPS引入了多核操作必要的原子指令(Atomicoperation)、内存屏障(Barrier)等操作。在SMP或AMP等多核架构中,这些指令是并行计算同步的保障。CP0用于控制和设置MIPSCPU,里面包含了一些寄存器,同过对这些寄存器的不同的

5、位的操作可以实现对处理器的设置。CP0类似于X86只能有内核(高优先级权限)访问的一些处理器资源,而提到的通用寄存器GPR和FPR则可以有由所有的优先级权限访问。CP0提供了中断异常处理、内存管理(包括CACHE、TLB)、外设管理等途径(而这些只能由高优先级的内核才能访问到)。起作用的寄存器及其作用:加电后,你需要设置SR和Config寄存器,以确保CPU进入正确的引导状态,并且SR寄存器还设置了中断码。以决定系统响应哪些中断。进入任何异常:处理任何例外都会调用一个“通用异常处理程序”。MIPS体系并没有为进入异常作任何的寄存器保存,也没有关于堆栈方面的任何支持

6、,进入异常时唯一保存的就是异常返回地址保存在EPC中。所以这些都需要操作系统的软件实现。操作系统可以使用K0或者K1寄存器作为堆栈指针,指向某个位置,并且在需要保存的寄存器保存到这个栈上。然后通过Cause寄存器找到发生异常的原因,这样才能跳转到对应的中断处理程序中。从异常返回:从异常返回到EPC制定的地址之前要把CPU的状态回复到异常之前,好象什么事情都没有发生一样。在R3000中使用rfe指令作这样的事情,但是着条指令仅仅恢复了一些寄存器中的内容,但是并没有转移控制指令,你需要把EPC内容保存到一个通用寄存器中,然后调用jr指令返回到EPC指向的地址处,数据加

7、载与存储MIPSCPU可以在一个单一操作中存储1到8个字节。文档中和用来组成指令助记符的命名约定如下:C名字MIPS名字大小(字节)汇编助记符-----------+----------+--------+---------longlongdword8"d"代表ldint/longword4"w"代表lwshorthalfword2"h"代表lhcharbyte1"b"代表lb·数据加载包括这样几条记载指令lb/lbu、lh/lhu、lwbyte和short的加载有两种方式。带符号扩展的lb和lh指令将数据值存放在32位寄存器的低位中,剩下的高位用符号位的值来扩充

8、(位7如果

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。