就在英特尔和AMD还在为其各自的四核处理器相持不下的时候,IBM透露了其下一代POWER6处理器的部分技术细节。处理器大战进一步升级。
核心方面的变化
虽然POWER6的微架构不同于前几代产品,但毫无疑问它承袭了最初在2000年宣布的POWER4核心。预计IBM会在ISSCC或者明年的HotChips大会上极其全面地讨论微架构,不过在此期间,有些细节已经在微处理器论坛上进行了公布。IBM声称,POWER6的性能大约比POWER5提高了一倍。实现手段是,将频率和带宽翻一番,同时保持了同样的流水线深度,另外对微架构作了许多逐步改进。
POWER6的基本流水线其级数与POWER5一样多,不过针对不同阶段重新进行了平衡。最重要的是,相关的算术逻辑单元(ALU)操作如今可以持续执行,这就消除了原先的POWER4/5架构存在的一个缺陷。这就简化了无序调度,可能是指令发送/分派阶段在POWER6里面使用2个周期(POWER5使用4个周期)的原因。McCredie博士略带提到了其他变化,但没有进一步详细介绍。
正如今年初在ISSCC上透露的那样,POWER6的一级数据高速缓存(L1D)增加了一倍,增至64KB;联合并行处理也增加到了8路。因而, L1D时延增加到了4个周期,而POWER5及大多数其他高性能MPU却是3个周期。正如前文猜测的那样,POWER6包括两个4MB大小的专用二级高速缓存。尽管高速缓存是专用的,却有一个快速输出缓冲器(cast-out buffer),这便于两者之间快速通信,而不涉及三级高速缓存或者主内存。众所周知,如果一切都一样,共享高速缓存可以提供更高性能。不过在POWER6的情况下,并非一切都一样。尤其是,物理设计方面的因素比微架构的巧妙性来得重要。8MB的二级高速缓存太大了,在所需的带宽下,无法在目标存取时间内探测到它。因而,高速缓存被一分为二。三级高速缓存也得到了改进,因为它抛弃了POWER5+里面使用的分区技术;这就加大了三级高速缓存的实际尺寸,只需要极小成本。高速缓存的许多这些细小改进,尤其是提高了联合并行处理能力,对多线程执行极其有利,并且帮助IBM对POWER6里面的同步多线程(SMT)实现了比前几代产品更大幅度的提升。
POWER6似乎保留了前一代产品的所有功能部件,不过也添加了对二进制编码的十进制数(BCD)和Altivec扩展指令集的硬件支持。据IBM声称,一半多点的用户数据采用BCD形式?D?D考虑到IBM的System i和p用户的常见工作负载,这似乎相当合理。大多数RISC架构把BCD支持功能添加到了系统厂商提供的软件库里面,这与801、MIPS和RISC-1/2等早期项目所信奉的理念相一致。然而,IBM的POWER架构比与之竞争的架构更像CISC。为了支持即将推出的管理BCD的IEEE 754R标准,IBM添加了大约50条新指令以及十进制浮点处理单元(FPU)。包括所有的基本指令:加、乘、除,以及比例缩放、转换及其他重要功能。新的十进制功能部件共享浮点寄存器、浮点状态和控制寄存器。该部件实际上是四倍精度,可在144位中提供多达36位准确性,不过结果被压缩成了128位,以适合两个浮点寄存器,然后在使用之前进行解压缩。基本操作有点慢于ALU操作,拥有单一周期吞吐量,但有2个周期时延。虽然IBM在性能上没有提供任何有明确量值的好处,但就电信计费基准而言,与Java、C/C#或者汇编库相比,BCD支持功能估计可以把性能分别提高7倍、4倍或者2倍。同样,AltiVec执行部件已添加到了POWER6上,不过PPC970及其他处理器里面的微架构的这个部分有比较齐全的文档说明。
注重可靠性、可用性及可服务性
McCredie博士强调的其他重要方面之一就是,重视可靠性、可用性及可服务性(RAS)。对IBM而言,这是必不可少的一部分。IBM目前在部分存储产品中交付了POWER5,预计POWER6会有同样应用(更正:POWER5处理器没有用于任何大型机上,而是用于存储产品上)。当然,POWER6还将用作其中档产品System i(过去叫AS/400)的CPU。
POWER6使用了检验点系统来保持正确性、从容地校正及容许故障。这就需要恢复部件、错误记录器和重启动机制。处理器状态保存在恢复部件里面,用错误校正编码法(ECC)来保护。凡是会引起状态变化的操作,譬如寄存器或者高速缓存写入操作,都会检验奇偶性以及/或者ECC故障。如果出现可校正的错误(或者未出现错误),变化通常传送到处理器状态寄存器里面。不可校正的错误,如阵列奇偶性或者控制故障,就会触发记录器,记录错误类型,然后从已知的正确状态重新开始执行。这时候,任何临时错误都会得到正确解决。一再出现的错误会上报,然后已知的正确状态被传送给另一个CPU,随后该CPU开始执行。这可以透明地发现任何硬错误,然后隔离到单一处理器,但进一步的问题可能需要软件干预。除了这些注重MPU的改进外,另外还有前面提到的可改进RAS的系统改变。
在管理方面,IBM也在改进POWER6里面的虚拟化功能。在某些产品中,一个处理器就能存放2到300个虚拟实例,不过从理论上来说最多有可能使用1024个虚拟机。还添加了内存分区和迁移功能,这缩短了用于修复的系统停运时间。IBM还将为基于POWER6的新系统提供Power Executive管理工具。Power Executive最近在英特尔的开发者论坛上进行了展示,这款管理工具用于处理评估功率、系统运行状态,并使用该信息作出决策,譬如关闭不需要的风扇或者限制功耗。
结论
基于POWER6的IBM系统计划在2007年年中向大众市场推出,这有点晚于其原定计划以及公司对外公开的声明。POWER6最初将与英特尔的Montvale以及Sun和富士通联合开发的APL处理器(可能基于SPARC64-VI)形成对立之势。在x86方面,对应产品将是英特尔的Tigerton和AMD的Rev. H,两者都是四核心处理器。
IBM声称性能可以提高两倍,这与大大提高的时钟速率和系统原始带宽增加相一致。假定IBM计划执行得力,它会在明年获得非常强的竞争地位。IBM当前在性能方面的领导地位会在2008年面临重大挑战,届时Sun采用大规模多线程技术的Rock处理器和英特尔备受期待的Tukwila处理品将双双问世。IBM的路线图目前包括POWER6+,这大概是采用45纳米的衍生产品。从IBM以往的做法来看,POWER6+会在2008年下半年首次亮相,大概正好可以使竞争对手的希望落空。
不过有一点很清楚:IBM已找到了可以用来推迟x86 MPU快速增长步伐的方法:独特的封装和系统带宽。显而易见,大众化设备用不起这些高级特性,因而无法与作为IBM发展策略重心的系统架构相提并论。
网友评论