早在20世纪 80 年代中期,摩尔定律就已经为集成电路的设计人员带来了严峻的挑战。如何使用所有这些复杂的晶体管?对于新型 RISC 处理器的设计人员来说,处理器要求的晶体管体积更小,数量更多。因此,在 1988 年开始定义 MIPS R2/3000 的后续产品时,我们在继续采用 RISC 原理的同时,也在寻求可以使用更多晶体管的方法。当时存在的一些问题和发展趋势,不仅使我们的工作迷失了方向,而且也使 R4000 处理器陷入困境。
个问题或者说是机遇(视您的观点而定)是在试图实现较低的每指令周期(CPI)时认识到大量高速缓存的重要性,因为对 CPI 降级起作用的是由高速缓存故障所引起的处理器失速。可接受的高速缓存大小约8 Kbytes,分别用于指令和数据,表明这些高速缓存在 R2/3000 系列处理器中均是外部的。然而,CPI 当然不会是整个决定因素。总体计算吞吐量是 IPC(1/CPI)和频率的乘积,而在 R2/3000 家族中,处理器频率受限于这些相同外部高速缓存的访问速度。将内部高速缓存和外部高速缓存的频率和高速缓存大小的频率与 IPC 乘积绘制成图,使我们能够迅速评估相关的折衷方法。从图上来看,由于 CPI 改进在 32 Kbyte 之上趋于平缓,但是性能改进因频率增加而继续呈线性发展,因而它非常有利于集成高速缓存。在采用 1.0 微米技术的 R4000 中,我们以 8 KByte 指令与数据高速缓存而告终。
一旦集成了高速缓存,就有机会通过将高速缓存访问管道化来进一步提高频率。甚至有可能在必要时,在地址解码和阵列存取之间放置管道注册器。对于 R4000,2 周期高速缓存访问可以产生一个 8 阶管道,而 R2/3000 却只能产生 5 阶单周期高速缓存访问。通过 RISC 架构开创先河,使用更出色的管道粒度的技术称为超级流水线,后来在 x86 架构实施中发挥到极至。虽然这不像高速缓存的使用那么明显,但是随着相对于额外长度近似线性的增长,加深管道同样也要使用更多的晶体管。这种线性增长适用于控制逻辑和数据路径逻辑。
另一个趋势是,通过广泛采用 IEEE754 浮点标准及其在 CAD 应用、打印以及成像市场中的普遍使用,为硬件浮点的集成提供了更为强大的推动力。独立支持除法和方根、完全管道化的浮点乘积单位复杂性约等于整数单位的复杂性。现在对于浮点来说,主导数据类型是双精度,或为了实现快速实施而需要 64 位宽数据路径的 64 位浮点。如果要提供带有数据的 64 位浮点单位,则需要数据高速缓存的宽度也是 64 位。因此,我们拥有 64 位浮点单位、64 位数据高速缓存等等……
,根据操作系统专家观察,地址位正以一个速率逐渐被消耗,此速率可以在 R4000 的周期内获得所需的 64 位寻址 —— 行业已经迫不及待地“消化”了 4、8 和 16 位,并且正忙于“咀嚼”32位。虽然这对 R4000 自身来说并不是一个极为乐观的前景,但是 64 位 MMU 架构和指令扩展了当今幸存 R4000 的开发范围,并且成为所有 64 位 MIPS 实施的基础。拥有 64 位寻址并不意味着拥有 64 位整数单位,但是将分段用在 x86 架构中的想法对于 RISC 的支持者来说是十分可怕的,对于编译人员和操作系统技术人员来说尤为如此。
如今,64 位寻址变得越来越普遍,英特尔和 AMD 近推出计算 64 位处理器便是一个有力的见证。而且,将 64 位用于数据处理将冲击新兴的高性能网络市场。总之,对64位寻址、可输送 64 位浮点单位的 64 位宽数据高速缓存、可轻松扩展至后向兼容 64 位架构的纯 32 位 RISC 架构的期待,以及相信终架构能够长期立于不败之地的信心开创了引人注目的前景。64 位 R4000 从此诞生。
就此,Quantum Effect Devices (QED) 公司崭露头角。QED 是一家致力于 CMOS VLSI 的 MIPS 计算机系统公司,其开发了一款 MIPS 架构的处理器—— R4600。该处理器专门面向嵌入市场,并在设计方面战胜了思科、朗讯、Extreme Networks 以及其他众多的网络公司。R4600 秉承了 RISC 高速缓存大小不断提高的传统(高速缓存成倍增长),以通过改善 CPI 及所采用设备的组合性来提高高速缓存的效率。充分利用 Microsoft 开发用于各种嵌入应用的WindowsCE,R4600还可以用于当代 PVR 的先驱,WebTV 和 EchoStar的机顶盒中。
同时,QED 开发了 R4600,而另一个 MIPS 架构的授权方——NEC 则正在开发其自己的 64 位 MIPS 处理器—— R4300。NEC 的处理器为 Nintendo-64 及惠普的高性能激光打印机系列提供了强劲的动力。
紧随 R4600/R4300 系列之后,QED 运用 SGI 提供的基金,为 NEC 和 IDT 开发了R5000。R5000 不仅向 R4600 增加了工作站类型的浮点,而且再次将高速缓存大小加倍。该款处理器为网络与打印市场中的第二代设计奠定了坚实的基础。
0.25 微米新型处理工艺刚刚兴起,此时消耗的晶体管更多。回顾上述分析,随着高速缓存大小的提高 CPI 改进显示出衰减,您可以看到停止长度 (stall length) 影响着衰减发生的位置。如果 DRAM 速度的增长速率与处理器速度的增长速率相同,就不会产生任何影响,因为在测定处理器周期时,停止的长度将保持恒定。由于各种原因,此处不再赘述,DRAM 的速度并不能与处理器的速度保持一致;只有提高 DRAM 的位数才有助于提高处理速度——摩尔定律表明,只将晶体管的数量加倍并不能将速度加倍。由于 DRAM 的速度低于处理器的速度,因此工程师们开始构建位于处理器外部的二级高速缓存,这样可暂时减轻处理器与 DRAM 之间的速度差异。当然,通过集成二级高速缓存来提高性能只是一个时间问题。在0.25 微米工艺中,可用更经济地构建具有 16 KByte 的主指令与数据高速缓存,以及 256 KByte 的二级高速缓存的处理器。这成为带有集成二级高速缓存的商用市场微处理器 QED RM7000 的技术规范。
除了集成的二级高速缓存外,RM7000 还包括另一个增强性能:称为超标量的晶体管使用技术。在九十年代前五年,超标量技术已经过广泛测试并对其进行了报道,同时各种等级的并行指令问题的成本/优势比率得以良好地建立。对于强大且成本敏感型嵌入式市场来说,实施简单的双路超标量流水线是非常合理的,这种流水线能够以几乎相同比例的附加硬件与复杂性提供25%到30%的性能增强。
64 位 RM7000 是采用 0.25 微米以及目前的0.18 微米和 0.13 微米技术构建的产品,其已经在网络和打印机市场上获得了巨大的成功,并且有望在不久的将来进军消费市场。
PMC-Sierra 于2000年收购了 QED。的 64 位 MIPS 处理器是RM9000x2,从“x2”这个标记判断,它包含了不是一个而是两个均具有集成二级高速缓存的64位处理器。RM9000x2 主要针对网络基础设施市场,具有集成的 DDR 内存控制器和超高速的 HyperTransportÔ I/O 链接。处理器、内存和 I/O均通过分组交叉连接起来的,可实现高性能、全面高速缓存的统一芯片系统。除通过并行处理提高系统性能外,RM9000x2 还通过将超标量与超流水线技术相结合来提高单个处理器的性能。通过采用超流水线技术,RM9000x2 核心能够使用 0.13 微米技术以 1 GHz 的频率运行。由于过去10年不断对电压进行调整,因此超流水线技术已能够适应强大的敏感型嵌入式市场。回想一下,CMOS 集成电路的功率是由 P = kCV2f 决定的,其中 V 是电源电压,而 f是操作的频率,正如超流水线技术推动频率增长一样,电压调整仍然可实现较低的功率。x2 的64 位处理器内核将在 PMC 内广泛用于需要高性能处理的解决方案。例如,对 RM7000 系列独立处理器以及网络、打印机和消费类 ASSP与CSSP 进行扩展。