论文部分内容阅读
作为准入门槛最为高昂的一类产业游戏,微处理器的最新技术和发展趋势总是最吸引人们眼球的话题。从去年开始,在过去数年中一直被x86处理器在市场出货量方面节节进逼的RISC和EPIC(即采用超常指令字符集的非x86)架构处理器却呈现出一种复兴的态势,尤其以ISSCC2008大会上发布的IBM的Cell第三代处理器、Sun的Rock和Niagara3处理器,以及Intel代号为Tukwila的最新安腾处理器最为抢眼。
多核多线程
非x86架构优势凸显
众所周知,从2003年以来,基于x86架构的Opteron和Xeon处理器在性能上不断提升,给予了RISC和EPIC架构处理器以极大的压力。而高昂的研发成本和不断萎缩的市场份额也让HP放弃了继续研发PA-RISC和Alpha;IBM则成立Power.org,部分开放IP核,建立多个不同的垂直生态系统(最成功的就是通吃PS3、Wii和XBOX三大游戏平台);Sun则将SPARC架构开放给富士通西门子,与之分摊研发成本;而安腾自进入市场后也鲜有亮眼的表现。
但这一情况随着处理器业界在单核、高时钟主频的方向上遭遇技术瓶颈而有所转变,漏电效应、制程的限制等麻烦让业界厂商们纷纷转向多核、多线程和异构的研发方向——而多核、多线程必将导致计算和编程环境的并行化,这一情况使得RISC架构处理器显然更有优势。
为何如此笃定?因为早在2006年12月,从加州伯克利分校所做的一项历时5年,投入超过1000万美元(由微软和Intel赞助)的《并行计算研究前景》报告表明,随着处理器向多核、多线程方向发展,编程人员将在支持多种数据类型的并行模型(如任务级并行、字段级并行和比特级并行)环境下进行开发;传统的操作系统将被解构,函数库和虚拟机将在新型操作系统中更和谐地共存;为了以更低成本,更快速地适应多核并行环境,FPGA(可编程门阵列)、仿真器和各种协处理器将被更多采用。
不难看出,上面三个论断已经或正在成为现实,而正由于x86架构上的开发者过去只面对单核、单线程编程环境,虚拟机性能和数量上的相对薄弱,以及FPGA(现场可编程门阵列)使用少与异构SoC(片上系统)起步晚的弱点,令RISC和EPIC架构有了复兴的技术优势,而且从IBM、Intel和Sun的报告看,这一优势也许还将继续下去。
例如在Sun的最新技术报告中,面向重业务负载(高运算量)的Rock和轻业务负载(高吞吐量)的Niagara 3 处理器都将采用65纳米制程,2.3GHz主频和每处理器16核的设计,特别是Rock将采用32线程 32侦测线程(Scout Threads)的新技术,以实现高性能的单线程负载,这与Sun其他的MPU设计大不相同。
在目前商用处理器普遍采用的Out-of-Order(乱序执行)机制下,每条指令会被追踪和释放。由于内存加载延迟和电路规模的限制(不可能无限制增加电路规模,否则功耗和体积将大幅增加),等待处理的指令队列不可能过于庞大。
在Rock中,当指令输入到机器的前端后,将被解码并和普通CPU一样进行排序和等待输出。但是,如果指令流为了等待内存加载数据而在队列中停留过久,Rock将会保存该指令的当前状态并记录为一个恢复点(Checkpoint),然后装载侦测线程,并在主线程之前运行。
这个侦测线程是一个硬件实体,对于操作系统、虚拟机管理软件(如Hypervisor等)和其他能控制处理器资源的软件而言完全透明(不可见),它可以进行指令预测、数据及代码预取,并将该指令推理运行后的状态保存在一个影子注册文件中(Shadow Register File,一种中间寄存器)。最重要的是,当推理运行完该指令后,侦测线程可以完全释放这一指令。
而当一个侦测线程上的指令由于载入延迟也处于长期停顿状态,主线程实际上可以赶上并超过它时,在这个超越点上,侦测线程和主线程将进行角色互换——即原先的主线程将成为预测线程,而侦测线程则将成为主线程。由于Rock在每个线程上将提供8个恢复点,所以也就是侦测线程和主线程理论上可以分开、汇合或蛙跳式交叉8次。
除了线程上的优势,非x86架构处理器还在扩大片上缓存和带宽方面的领先。例如Intel在其最新的安腾处理器Tukwila上布置了30MB緩存,处理器间通信带宽达96GB/s,与内存控制器间通信带宽达34GB/s。相较而言,最新四核Xeon 5300系列(开发代号Clovertown)的片上缓存为4MB、6MB、8MB到12MB不等(分别从低功耗版到高性能版),处理器间通信带宽最大值10.66GB/s,内存带宽理论最大值21.3GB/s,其间的性能差异一目了然。
在虚拟机技术、FPGA、仿真器和各种协处理器的成熟度方面,非x86架构上的操作系统和成熟技术也具有明显优势。
早在2006年前后,IBM和HP就分别在AIX和HP-UX上实现了精细粒度的虚拟技术,虚拟机管理器均能按照CPU的若干分之一划分处理器资源,并能同时支持数百个虚拟机,这一技术目前在x86平台上还没有实现。
FPGA和协处理器的应用也是如此。虽然AMD和Intel都拿出了各自基于异构的SoC处理器研发蓝图,但都要等到2009年以后,而在RISC架构上,这一技术早就得到应用——IBM早就推出了支持Java的协处理器,而SGI也推出过加速可视化运算的FPGA。
份额与后继研发:
繁荣背后的隐忧
在上述形势下,RISC和EPIC架构处理器似乎前景大好,但不可否认的是,其前景虽好,但不可过于乐观,最主要的挑战还是来自研发和制造成本如何摊薄,以及未来研发路线的不明朗。
根据Gartner 2007年全球服务器市场报告,全球服务器出货量884.1万台,但其中基于x86架构的占据90%以上的份额。而且RISC-EPICUnix服务器的出货量比2006年减少了13.8%。虽然这部分的销售收入比2006年增长了1.7%,但显而易见,如果高昂的研发和制造成本不能通过数量摊薄,其前景仍然堪忧。
不过IBM和Sun也都在努力地摊薄研发成本。IBM日益壮大且收效明显的Power.org自不必说,Sun也没闲着。Sun目前的组织结构是“4S M”,其中的M即微电子部门。早在1990年代初期,Sun的微电子部门相对独立,可以将生产的处理器销售给Sun以外的公司,但在1990年代末,Sun取消了这一政策,并将微电子部门纳入公司组织内。而在2007年,Sun再度让微电子部门相对独立,允许其可以对第三方客户销售处理器和技术授权,例如对Marvell公司的许可。此外,早年授权富士通进行SPARC64架构的后继开发,以及开放UltraSPARC T1和T2架构处理器的部分知识产权给伙伴等,也都收到积极效果。
在后继研发方面,相对AMD和Intel在x86架构处理器研发计划和投入上的高调宣传,除了Intel财大气粗,不停宣传着安腾家族的蓝图和投入外,IBM和Sun对于各自的主力处理器产品研发蓝图和投入并没有高调宣传。
01
在IBM英文网站上并不能找到Power7详细信息的页面——除了之前的Power7将用于美国国防部高级研究规划局(DARPA)的千万亿次超级计算机以及它将和Opteron共用相同规格插槽的新闻稿。不过笔者在IBM俄罗斯网站上找到了2007年的Power家族研发蓝图,其上市时间将在2010年前后。在IBM研究中心的Cell工程及Power架构小组的官方博客上可以看到,IBM对Power8何时开始研发并没有明确回答。
而在Sun的官方网站和相关技术报告中,还没有出现Rock和Niagara3之后的研发计划,而日前Sun宣布Rock将从2008年下半年延期至2009年发布,令一些媒体对Sun的处理器研发前景并不看好。
不过应该看到的是,由于RISC和EPIC架构处理器长期作为高端产品定位于小众市场,这些客户并不需要如同个人消费者一般随时了解处理器设计的技术细节,他们更关注采用这些处理器的服务器产品对其业务的实际帮助。因而,无论是Intel的高调也好,IBM和Sun的低调也罢,并不能成为非x86架构处理器研发前景美妙或不妙的征兆。