提高64位MIPS处理器性能的技术方法
扫描二维码
随时随地手机看文章
如何在提高精简指令集处理器集成度和性能的同时,满足该类处理器指令尽量少的要求是芯片设计工程师的一个重要挑战。本文从MIPS处理器的发展过程阐述了采用缓存、64位处理器架构以及超标量技术应对这种挑战的方法,以及技术发展趋势。
摩尔定律给IC设计工程师提出了极大的挑战,而对于精简指令集(RISC)处理器芯片的设计工程师来说尤其如此。他们在尽量集成更多的晶体管的同时,还必须满足该类处理器要求指令尽量少的特点。在最初定义MIPS处理器R2000及R3000的下一代产品时,我们力求在集成尽可能多的晶体管的同时,保持RISC的基本原则。以下的一些问题和趋势为实现这种目标指明了有效的方法,并在R4000处理器的设计中得到有效的应用。
采用缓存器降低CPI
第一个问题是大型缓存对降低每条指令平均执行周期(CPI)很重要,由缓存丢失引起的处理器停滞(stall)严重降低了 CPI性能。由于允许的最小缓存为指令和数据各8KB,因此在R2000和R3000处理器中必须采用外部缓存。然而CPI并非唯一决定因素,因为总的计算吞吐量由IPC(1/CPI)和频率的乘积决定,而在R2000和R3000中,处理器频率同样受到外部缓存的存取速度限制。针对内部和外部缓存,描绘出最大频率和最大缓存尺寸所对应的频率和IPC的乘积图,便可以迅速进行处理器性能评估。由于超过约32KB后CPI性能不再提高,而随着频率增加性能提升却几乎保持线性增长,因此集成缓存十分有利。对于采用1.0微米的R4000处理器而言,我们最高采用了8KB的指令和数据缓存。
在集成缓存条件下,通过对缓存的访问可以实现流水线操作(pipelining),进一步提高频率。如果需要,还可以在地址解码和阵列存取间增加流水线寄存器。对于R4000处理器来说,两个周期的缓存访问需要8级流水线,而在R2000和R3000处理器中则为5级流水线的单周期缓存存取。RISC架构开创了一种称为超流水线操作的精细流水线粒度的技术,这种技术在x86架构中得到最好的利用。增加流水线级数也会使用更多的晶体管,同时流水线长度也呈线性增长。控制逻辑及数据路径逻辑也遵循这种线性增长原理。
64位寻址浮点运算将成为发展趋势
由于业界广泛采用IEEE754浮点运算标准,以及在CAD、打印和影像市场中的大范围应用,浮点运算的发展获得更大的推动。一个可以支持除法及平方根运算的完全流水线结构浮点乘法累加器的复杂度近似于整数单元的复杂度,浮点运算单元的主要数据类型是双精度或64位浮点数,它需要一个64位宽的数据通道进行快速执行。为了满足64位浮点单元所需的数据要求,数据缓存也必须是64位。因此,必须有一个64位浮点单元和一个64位的数据缓存。
处理器的寻址位数增长很快,业界已使用过4、8和16位寻址,并迅速发展到32位,目前64位的MMU架构和指令集扩展已经应用在R4000处理器上,并将成为以后所有64位MIPS的实现基础。而采用64位寻址并不意味着要使用64位整数单元。
目前64位寻址越来越普及,近年来英特尔和AMD公司相继推出 64位处理器便是即是这种趋势的明证。此外,64位数据操作也对逐渐崛起的高性能网络市场带来冲击。综合考虑,对64位寻址、满足64位浮点单元的64位数据缓存、易于扩展成向后兼容的64位架构的32位RISC架构的需要,以及对这种架构会持续数十年的看法正在成为一种大的趋势。在这种趋势下,64位R4000处理器推向了市场。
在这种背景下,QED公司开发了采用MIPS架构的处理器--R4600。这种处理器专门面对嵌入式市场,并得到多家网络设备公司的大量应用。R4600继承了RISC的传统,扩展了缓存容量以增强CPI性能,并采用指令集相关性(set associativity)来提高缓存效率。R4600采用了微软为嵌入式系统应用开发的Windows CE操作系统,可应用于机顶盒等产品中。
继R4600和R4300处理器后,QED开发出了R5000处理器。R5000处理器在R4600上增加了工作站级浮点运算,并将缓存大小增加到原来的两倍。无论是网络或打印市场,这款处理器都是第二代产品的设计基础。
在处理器电路的设计中,采用先进的工艺可以集成更多的晶体管。正如前面的分析,当缓存增大到一定程度性能便难以明显提高,显然停滞时间的长短影响这一临界点的位置。由于在处理器工作时,停滞时间长短会保持为一个常量,因此,如果DRAM的速度增长能与处理器速度增长保持一致则并不成问题。但是由于各种原因,DRAM的速率与处理器的速率并不一致,仅仅是其位数与处理速度增长保持一致。
由于DRAM的速率不能与处理器速度匹配,工程师采用构建处理器的二级外部缓存来降低处理器与DRAM的速率差异。采用0.25微米工艺,可以经济地构建一个带有16KB指令和数据一级缓存以及256KB二级缓存的处理器。这些也是QED的RM7000的规范,RM7000是商用市场首个集成了二级缓存的微处理器。
超级标量技术
除了集成了二级 缓存外,RM7000还采用了超标量(Superscalar)技术,可集成更多的晶体管。在1990-1995年间,超标量技术已经过广泛测试,其各级并行指令处理的性价比都相当好。对于注重功耗和成本的的应用中,在增加相同的硬件和复杂性的条件下,采用一种简单的双向超标量流水线可以获得25-30%的性能提升。
最新的64位RM9000x2处理器基于MIPS架构,该处理器集成了两个64位处理器,每个都集成了二级缓存。RM9000x2主要面向网络基础设施市场,带有集成的DDR存储器控制器以及高速HyperTransport I/O接口。处理器、存储器及I/O全都通过一个封装的交叉点阵(crossbar)连接,以实现高性能、与缓存完全一致的硅系统。
除了通过并行处理提供增强的系统性能外,RM9000x2还通过结合超标量及超流水线技术增强了单个处理器的性能。采用超流水线技术和0.13微米工艺,RM9000x2每个内核运行速度可达1GHz。由于过去十年内不断降低超流水线的电压,该处理器可以在功率敏感的嵌入式市场中得到应用。CMOS集成电路的功率计算公式为P = kCV2f,其中V是电源电压,f是工作频率,因此即使流水线结构提升了频率,由于电压降低,功耗仍然可以大大降低。x2型64位处理器内核将被广泛用于要求高性能处理的解决方案。例如,RM7000系列独立处理器的扩展系列,以及网络、打印机及消费类专用标准产品(ASSP)和CSSP