您现在的位置: 范文先生网 >> 理工论文 >> 电子通信论文 >> 正文

基于MIPS架构的RISC微处理器RM7000A

时间:2007-1-20栏目:电子通信论文

>    (4)寄存器组(register files)

RM7000A含有众多的寄存器。

◆ 整型操作寄存器组。位于整型单元中,包括32个64位的通用寄存器(GPR),2个专用于整型乘、

除运算的寄存器Hi和Lo,1个程序计数器PC(对用户透明)。其中通用寄存器的r0被硬连接为0。它可以作为目的寄存器存放指令以后会舍弃的暂时结果,也可以根据需要为指令提供0作为操作数。

◆ 浮点操作寄存器组。包含32个64位的浮点通用寄存器(FGR)和32个32位控制寄存器。

◆ 系统控制寄存器组(CP0)。用于内存管理调度、地址转换、异常处理等。

(5)集成、高效的内存管理单元

 为快速将虚拟地址转换成物理地址,RM7000A使用一个大容量的全相联TLB(Translation Lookaside Buffer,如图3所示)来实现这个目标。这个TLB被指令和数据共用,称为JTLB(Joint TLB);可以配置成48对或64对入口,分别映射96页或128页的虚拟地址。页面的大小可配置,从小到大依次为4K、16K、64K、256K、1M、4M、16M。当发生TLB未命中时,RM7000A采用的替换算法主要是随机替换,以简化硬件设计。同时也提供锁定特定地址机制,以便操作系统为提高性能而让一些页面持续被映射。

ASID——Address Space Identifier,虚拟空间标识符,表示内核态(kernel)、管态(supervisor)、用户态(user)三种虚拟空间。

G——Global,每个TLB入口都有的标识符。

(6)指令格式及寻址方式

需要注意的一点是:尽管RM7000A是64位的微处理器,但它的指令长度都是固定的32位。

RM7000A是一种典型的寄存器型(Register-Register)微处理器,即除了load/store指令外,其它的指令不能直接访问内存。这样的好处显而易见:寄存器的访问速度比存储器快得多,寄存器存储使得编译器的效率提高,于是程序的执行速度加快;另外,表示寄存器的位数比表示内存单元的位数要少,从而可以改善指令密度。

MIPS类的指令可以用三种形式表示。

基于MIPS架构的RISC微处理器RM7000A

MIPS构架支持两种寻址方式。

◆ 立即数寻址(immediate)。例如:Add R1,#10,这里#10的代表常数10,指令含义是Regs[R1]←egs[R1]+10。

◆ 位移寻址(displacement)。例如:Add R1,10(R2),指令含义是Regs[R1]←egs[R1]+Mem[10+Regs[2]]。

对操作数稍做改变,可以得到另外两种寻址方式。

◆ Add R1,(R2) Regs[R1]←Regs[R1]+Mem[Regs[R2]]

寄存器R2存放的只是一个地址,这个地址的内容才是要取的数据,这相当于寄存器间接寻址。

◆ Add R1,10 Regs[R1]←Regs[R1]+Mem[10]

此时第二个寄存器必须是r0,借助于r0(如前所述,r0被硬接位0)提供的0,就得到了直接寻址方式。
基于MIPS架构的RISC微处理器RM7000A
    因此,实际上微处理器有四种寻址方式可用,提高了编程的灵活性。

(7)数据类型

MIPS体系对于对齐(align)有着相当严格的要求,指令必须32位对齐;超过一个字节的数据必须按规则对齐:

◇半字的边界要与偶数对齐;

上一页  [1] [2] [3] 下一页

下页更精彩:1 2 3 4 下一页