当前位置:易博PCB抄板工作室 >> 技术文档 >> MIPS架构的RISC微处理器RM7000A原理及应用

MIPS架构的RISC微处理器RM7000A原理及应用

    Cisco的路由器,IBM的网络彩色打印机,HP的4000、5000、8000、9000系列激光打印机及扫描仪,Sony的Playstation和Playstation 2游戏机等等,都是应用了实现不同MIPS指令集的微处理器的产品。
    MIPS Technologies Inc本身不生产微处理器,它只设计高性能工业级的32位和64位CPU的结构体系,并且向其它半导体公司提供使用其内核(IP)的授权,用于生产基于MIPS而又各具特色的微处理器。据MIPS公司网站介绍,现在已有超过50家公司申请了授权,其中不乏IT界著名的大企业,如:AMD、ATI、TI、NEC、Toshiba、Philips、PMC-Sierra、IDT、Quicklogic、Marvell等。
    1 RM7000A概述
    RM7000A是PMC-Sierra公司RM7000系列微处理器的一种,使用CMOS 0.18μm艺制造而成,内含2个独立的64位整型单元和1个64位浮点单元;片内集成了主缓存和二级缓存以及外部扩展缓存控制器(最高支持8MB三级缓存);具有1个时钟周期发射2条指令的功能;支持数据预取(Prefetch);最高工作频率可达400MHz;可宽温工作,350MHz工业级处理器工作温度为-40~+85℃。
    该微处理器有以下主要特性。
    (1)指令双发射机制(dual issue mechanism)
    RM7000A的指令分为四种类型:整数型、浮点型、分支转移(branch)和存/取(load/store)。处理器整型部件的超标量分发单元含有两个独立的流水线:M-pipe(memory)和F-pipe(function)。其中,F-pipe处理整数型、分支转移和浮点操作,如加、减、乘、除等;M-pipe负责整数型、存/取等操作,同时也进行一些浮点数在寄存器间的移动。指令双发射框图如图1所示。
    如果每过一个时钟周期,每条流水线流出一条指令,在外部看来就有两条指令同时被执行。但是,在处理器中并不是总能做到双发射的,这跟具体的指令组合有关,比如:当一个指令要处理控制寄存器时,就不能和其它的指令同时发射。
    (2)片内集成大容量主缓存和二级缓存
    主缓存包括16KB指令缓存和16KB数据缓存。指缓和数缓都拥有各自的64位读通道和128位写通道,电路板克隆并且允许指缓和数缓同时被访问。在400MHz时,主缓可以给整型单元和浮点型单元提供总计高达6.4GB/s的带宽。256KB的二级缓存拥有一个64位的读/写共用通道,只有在访问主缓存发生未命中的情况下才会使用到。
    主缓存和二级缓存均采用4路组相联。缓存线长32字节,均为非阻塞式缓存(non-blocking cache),即在缓存访问产生未命中(cache miss),且这个未命中没有被消除的情况下,处理器无需停顿等待,可以继续进行缓存访问。RM7000A允许最多有两个未命中时仍可访问缓存。
    只有在下面两种情况下,微处理器才会产生停顿:一是在前两个未命中还没消除,指令总线上又出现了对缓存的存取指令;二是产生了两个未命中,而随后的指令要从前面一个引起未命中的指令处获取数据才能继续执行。
    (3)超标量流水线(superscalar pipeline)
    RM7000A包含一条5阶超标量指令流水线(度m=2),供M-pipe和F-pipe使用。电路板克隆每条指令被划分为5个子过程:I为取指令,R为取寄存器数,A为执行,D为取数据,W为写回,如图2所示。
    配合指令的双发射机制,每过一拍,流水线都要流入两条新的指令。在满负荷的情况下,可以有10条指令在流水线不同的部件上同时运行,相当于提高了工作频率。在RM7000A中,实际上还存在一个7阶流水线单独处理浮点操作,不过,这个流水线对用户来说是完全透明的。