如何在提高精简指令集处理器集成度和性能的同时,满足该类处理器指令尽量少的要求是芯片设计工程师的一个重要挑战。本文从MIPS处理器的发展过程阐述了采用缓存、64位处理器架构以及超标量技术应对这种挑战的方法,以及技术发展趋势。
摩尔定律给IC设计工程师提出了极大的挑战,而对于精简指令集(RISC)处理器芯片的设计工程师来说尤其如此。他们在尽量集成更多的晶体管的同时,还必须满足该类处理器要求指令尽量少的特点。在最初定义MIPS处理器R2000及R3000的下一代产品时,我们力求在集成尽可能多的晶体管的同时www.cechina.cn,保持RISC的基本原则。以下的一些问题和趋势为实现这种目标指明了有效的方法CONTROL ENGINEERING China版权所有,并在R4000处理器的设计中得到有效的应用。
采用缓存器降低CPI
第一个问题是大型缓存对降低每条指令平均执行周期(CPI)很重要,由缓存丢失引起的处理器停滞(stall)严重降低了
在集成缓存条件下,通过对缓存的访问可以实现流水线操作(pipelining),进一步提高频率。如果需要控制工程网版权所有,还可以在地址解码和阵列存取间增加流水线寄存器。对于R4000处理器来说,两个周期的缓存访问需要8级流水线,而在R2000和R3000处理器中则为5级流水线的单周期缓存存取。RISC架构开创了一种称为超流水线操作的精细流水线粒度的技术,这种技术在x86架构中得到最好的利用。增加流水线级数也会使用更多的晶体管,同时流水线长度也呈线性增长。控制逻辑及数据路径逻辑也遵循这种线性增长原理。
64位寻址浮点运算将成为发展趋势
由于业界广泛采用IEEE754浮点运算标准,以及在CAD、打印和影像市场中的大范围应用,浮点运算的发展获得更大的推动。一个可以支持除法及平方根运算的完全流水线结构浮点乘法累加器的复杂度近似于整数单元的复杂度,浮点运算单元的主要数据类型是双精度或64位浮点数,它需要一个64位宽的数据通道进行快速执行。为了满足64位浮点单元所需的数据要求www.cechina.cn,数据缓存也必须是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上增加了工作站级浮点运算,并将缓存大小