注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

My Unix World

不要迷恋Unix,Unix只是计算世界很小的一部分!

 
 
 

日志

 
 

【Copy】高性能微处理器的综述  

2008-12-11 16:35:27|  分类: C-CPU |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
1.技术发展趋势

  (1)工艺的影响。在过去30多年的发展过程中,高性能微处理器基 本上都是按照著名的摩尔定律在发展。根据世界半导体行业共同制订的2003年国际半导体技术发展路线图及其2004年更新,未来15年集成电路仍将按摩尔 定律持续高速发展。预测到2010年,高性能CPU芯片上可集成的晶体管数将超过20亿个(到2018年超过140亿个)[4]。半导体技术的这些进步, 为处理器的设计者提供了更多的资源(无论是晶体管的数量和种类)来实现更高性能的芯片,从而有可能在单个芯片上创造更复杂和更灵活的系统。

  随着晶体管集成度的越来越高、频率和计算速度的越来越快,芯片的功耗问题、晶体管的封装、芯片的蚀刻等越来越难以处理。这些因素使得摩尔定律本身的发展及其对处理器的影响发生了一些深刻的变化。

  首先,根据上述的路线图,摩尔定律指出的发展趋势已经变缓,由原来的1.5年一代变为2-3年一代。除了技术本身的难度增加以外,集成电路生产线更新换代的成本越来越昂贵,生产厂家需要更多的时间来收回生产线成本也是一个重要原因。

  其次,处理器主频正在和摩尔定律分道扬镳。摩尔定律本质上是晶体管的尺寸以及晶体管的翻转速度的变化的定律,但由于商业的原因,摩尔定律同时被 赋予每1.5年主频提高一倍的含义[4,5,6]。事实上过去每代微处理器主频是上代产品的两倍中,其中只有1.4倍来源于器件的按比例缩小,另外1.4 倍来源于结构的优化,即流水级中逻辑门数目的减少。但目前的高主频处理器中,指令流水线的划分已经很细,很难再细分。例如,Pentium IV的20级流水线中有两级只进行数据的传输,没有进行任何有用的运算。另外,集成度的提高意味着线宽变窄,信号在片内传输单位距离所需的延迟也相应增 大,连线延迟而不是晶体管翻转速度将越来越主导处理器的主频。功耗和散热问题也给进一步提高处理器主频设置了很大的障碍。因此,摩尔定律将恢复其作为关于 晶体管尺寸及其翻转速度的本来面目,摩尔定律中关于处理器主频部分将逐渐失效。

  此外,虽然集成度的提高为处理器的设计者提供了更多的资源来实现更高性能的芯片,但处理器复杂度的增加将大大增加设计周期和设计成本。

  针对上述问题,芯片设计越来越强调结构的层次化、功能部件的模块化和分布化,即每个功能部件都相对地简单,部件内部尽可能保持通信的局部性。

  (2)结构的影响。在计算机过去60年的发展历程中,工艺技术的发展和结构的进步相得益彰,推动着计算机功能和性能的不断提高。工艺技术的发展给结构的进步提供了基础,而结构的进步不仅给工艺技术的发展提供了用武之地,同时也是工艺技术发展的动力[3]。

  在过去60年的发展历程中,计算机的体系结构每20年左右就出现一个较大突破,已经经历了一个由简单到复杂,由复杂到简单,又由简单到复杂的否 定之否定过程。最早期的处理器结构由于工艺技术的限制,不可能做得很复杂,一般都是串行执行;后来随着工艺技术的发展,处理器结构变得复杂,流水线技术、 动态调度技术、CACHE技术、向量机技术被广泛使用,典型的代表如IBM 360系列的机器以及Cray的向量机;RISC技术的提出使处理器结构得到一次较大的简化;但后来随着工艺技术的进一步发展以及多发射技术的实 现,RISC处理器的结构变得越来越复杂。以Intel和HP为代表研制的EPIC结构的实现并没有从根本上对处理器结构进行本质简化。在上述过程中,每 一次由简单到复杂的变革都蕴涵着进一步简化的因素,例如在早期的复杂处理器CDC 6600以及Cray向量机中,已经有了只由load和store进行访存的概念,IBM 360/91中的Tomasulo算法被后来的RISC处理器普遍使用。同样,每一次由复杂到简单的变革,也蕴涵着再次复杂的基础,例如RISC结构的特 点使得它可以充分利用多发射以及乱序执行来提高性能,而多发射和乱序执行又会增加处理器的复杂度。

  以近年来RISC微处理器结构没有大的突破为标志,RISC结构已经成熟。现在的RISC微处理器普遍能允许几十到上百条指令乱序执行,如 Alpha 21264处理器的指令队列最多可以容纳80条指令,MIPS R10000为32条,HP 8700为56条,POWER 4为200多条,PIV为106条(PIV 处理器虽然指令系统是CISC,但内部的微操作则具备了很多RISC的特征)[7,8,9,12,13]。目前,包括超标量RISC和EPIC在内的指令 级并行技术使得处理器核变得十分复杂,通过进一步增加处理器核的复杂度来提高性能已经十分有限。

  同时,由于以下原因,通过结构的方法细分流水线来提高主频的方法将来很难再延续下去:一是不可能使用少于6-8个FO4(等效4扇出反相器)产 生出波形好的时钟脉冲;二是随着流水级的增加流水线结构的效率会越来越低;三是由封装承受能力引起的热包封限制使得难以实施很深的互连流水线结构;四是结 构和电路的创新将越来越多地用于减轻给互连RC效应带来的不良影响而不太可能直接改善频率响应。目前的高主频处理器中,一级流水级只有10-15级FO4 的延迟,考虑到控制流水线的锁存器本身的延迟,实际留给有效处理工作的逻辑只有6-9级FO4,已经难以再降低。

  因此,传统的高主频复杂设计遇到了越来越严重的障碍,需要探索新的结构技术来在简化结构设计的前提下充分利用摩尔定律提供的片内晶体管,以进一步提高处理器的功能和性能。

  (3)功耗问题。随着主频的不断提高,功耗问题越来越突出。现代的通用处理器功耗峰值已经高达上百瓦。例如,Alpha 21364为100瓦,AMD Opteron是90瓦,Intel的安腾2已超过100瓦。相应地,主板上向CPU供电的电流已接近100安培,跟发动汽车时蓄电池需要供出的电流差不 多。最近,Intel公司利用90nm工艺重新实现了Pentium 4(简称P4)。但新的P4竟然和原先用0.13微米工艺制造出来的P4跑一样高的主频(不超过4GHz)。这主要是因为Intel没有办法把芯片在高频 工作时的功耗降下来,如果进一步提高主频,芯片的功耗太大,芯片产生的热量散不出去导致片内温度升高,反过来导致芯片的性能和芯片的稳定性下降。有的发烧 友通过提高芯片电压并在芯片上加了异常复杂的散热和冷却装置后,已经把P4超频工作到6.5GHz了(当然这种工作状态是不能持续太长的时间的)。事实 上,超过150瓦的功耗,无论是目前芯片的封装还是主板的供电能力,都已经难以为继了。在移动计算领域,功耗更是压倒一切的指标。因此如何降低功耗的问题 已经十分迫切。

  CMOS电路的功耗与主频和规模都成正比,跟电压的平方成正比,而主频在一定程度上又跟电压成正比。降低功耗需要包括工艺技术、物理设计、体系结构设计、系统软件以及应用软件的共同努力。如果说传统的CPU设计追求的是每秒运行的次数(performance per second) 以及每一块钱所能买到的性能(performance per dollar),那么在今天,每瓦特功耗所得到的性能(performance per watt)已经成为越来越重要的指标。因此,必须探索新的结构,通过包括工艺技术、物理设计、体系结构设计、系统软件以及应用软件的共同努力来降低功耗。

  (4)应用的变化。在计算机发展的初期,处理器性能的提高主要是为了满足科学和工程计算的需求,非常重视浮点运算能力;而且主频不是很高,功耗的问题不是很突出。随着Internet和媒体技术的迅猛发展,网络服务和移动计算逐渐成为一种非常重要的计算模式,这一新的计算模式迫切要求微处理器具有响应实时性、处理流式数据类型的能力、支持数据级和线程级并行性、更高的存储和I/O带宽、低功耗、低设计复杂性和设计的可伸缩性;要求缩短芯片进入和退出市场的周期。

  此外还应该看到,以个人电脑(PC)为主要应用模式的桌面应用已经逐渐趋向饱和。一方面,对于大部分的桌面用户(如上网、办公、家庭应用等), 目前的PC性能已经足够,再通过定义新的应用来提高PC机的用户对性能的要求(象Intel和Microsoft一直做的那样)已经有较大难度。另一方 面,使用PC机的人群已经趋向稳定,如果需要大幅度增加计算机的使用人群,就需要通过使用模式等的革命大幅度降低计算机的购买和使用成本。与此相对应的 是,虽然科学计算计算机已经不是市场的主流产品,但人类对科学计算的需求是永无止境的,高性能计算技术在航空航天、石油勘探和开发、大范围气象预报、核爆炸模拟、材料设计、药物设计、基因信息学、密码学、人工智能、经济模型、数字电影等领域起着重要的作用。高性能计算机可以对所研究的对象进行数值模拟和动态显示,获得实验很难得到甚至得不到的结果,从而产生了除了理论科学和实验科学以外的第三类科学,即计算科学。

  在上述情况下,需要处理器的结构充分利用集成度的提高带来的海量晶体管资源,在满足新型的网络服务和媒体的应用的同时兼顾传统的科学计算的应用。

  根据上述工艺、结构、功耗、应用等几个方面的趋势,需要对处理器的微体系结构进行突破性的变革,这场变革应该是一场由复杂到简单的变革,应该面 向网络服务和媒体的应用,应该考虑低功耗的要求,应该采用层次的结构简化物理设计的复杂度。目前,片内多处理器及多线程技术作为较好符合上述趋势的处理器 结构技术正在成为处理器体系结构设计的热点。 

 


2.国内外现状

  目前国外高性能微处理器的研制有两个明显的趋势。一是研制高性能处理器的公司在市场的洗牌中越来越集中到少数几家;二是单处理器性能的继续提高在主频、结构、功耗等方面都碰到了明显的障碍,因此各微处理器公司都纷纷推出多核结构的微处理器。

  在九十年代末生产主流通用处理器的厂家很多,如Intel、AMD、IBM、HP、SUN、DEC、SGI等公司,形成了在通用处理器市场群雄 逐鹿的局面。然而,经过近十年的市场洗牌,很多公司由于市场原因退出了通用处理器领域。目前,DEC、HP、SGI已经逐渐退出了处理器设计的角逐。

  最早退出通用处理器市场的是DEC 的Alpha处理器。Alpha处理器无论从结构设计还是物理设计的角度都堪称技术的经典,甚至被很多教科书所采用,尤其是Alpha 21264采用0.35um的工艺实现四发射乱序执行的结构达到了600MHz的目标,现在也很难找到另外一支队伍能做出来。但在处理器市场中一个经验的 规律是:技术越先进的公司,越没有市场。在DEC公司实现把同时多线程结构做到极致的Alpha 21464过程中,DEC公司就在1998被Compaq收购了。

  具有讽刺意义的是,Alpha处理器的最早收购者,Compaq公司却比它更早消失。惠普公司在经过一笔富有争议的交易中合并了Compaq公司(这次的交易甚至导致了惠普管理层 与包括惠普家族在内的部分股东的长时间的剧烈冲突)却马上面对一个个棘手的问题,即在扩展基于新的64位构架(IA64)系统生产线的同时,是否还要生产 正在走下坡路的另外两个系列的产品(PA-RISC和Alpha)。目前,HP公司已经宣布原Compaq的所有Alpha处理器开发和服务都将逐步中止 (至2010年),而原先EV8的开发小组已经完整地被Intel招募了并且马上就投入了IA64架构的研发工作中,Alpha退出历史舞台已经是不争的 事实。HP公司自己开发的PA8000系列处理器在2004年1月发布双核的PA8800芯片后也很久没有看到新产品推出[10]。

  生产MIPS系列高性能处理器的SGI公司以2002年宣布停止MIPS 18000的研发为标志,也退出了处理器研发的历史舞台。由于连续十几年的亏损,SGI公司已经难以为继。

  在剩下的几个微处理器生产厂商IBM、Intel、AMD和SUN中,前三者目前还看不到停止研发处理器的迹象,但IBM已经宣布不再对外销售 Power系列处理器。SUN公司是否继续研发处理器则很大程度上取决于其雄心勃勃的Ultra SPARC V能否取得成功。下面对上述几个公司在多核处理器的研发方面的情况做简单介绍。

  (1)IBM是最先推出多核微处理器的厂商,在高度自动化的MPU开发工艺上采用0.13微米工艺实现的Power4+已成为多核微处理器的代表性产品。IBM在蓝色基因巨型机中使用自己的双核芯片,奠定了其在多核微处理器研制方面的领先地位。

  2001年发布的Power4片内集成两个Power3处理器核,每个核为8路超标量处理器,乱序执行,一级Cache私有,分别含有32KB 的数据Cache和64KB的指令Cache,共享片内1.5MB的二级Cache。Power4采用180nm制造工艺铜互连,7层金属布线,大约集成 了1.74亿个晶体管[13]。

  2004年IBM又发布了Power5,Power5是双核同时多线程微处理器,集成两个处理器核,每个核为同时多线程 (Simultaneous Multi-Threading, 简称SMT)处理器,能够同时执行2个线程。Power5由Power4扩展而来,改造为SMT仅增加了24%的芯片面积。Power5片内集成了 1.92MB的二级Cache,此外还集成了三级Cache的目录以及存储控制器。Power5采用130nm制造工艺,集成了大约2.76亿个晶体管, 工作频率在1.90GHz左右[14]。Power4/Power5主要用于高性能服务器和适度规模并行计算机系统。

  2006年发布的Power6采用IBM的65nm SOI工艺,10层金属层,目标是5G Hz。相对于90 nm的工艺,在同样功耗的情况下,性能提高了30%,主要原因是采用DSL(dual-stress line)技术,该技术通过在CMOS channel加上不同的应力来达到提高电子或电洞迁移率。Power6中主要通过电路设计提高主频,其处理器核的频率达到5GHz。Power6是两路 的多核处理器(Chip Multi-Processor,简称CMP)设计,集成了两个同时多线程的处理器核,每个核含有私有的L2 cache。4个Power6可以封装在一个多芯片模组中(MCM),包括32MB的L3 victim cache。

  (2)Intel在过去一直不断对外表示,要推出超过十亿晶体管的处理器以捍卫摩尔定律,而Montecito就是Intel带给全世界的答 案:17.2亿晶体管[18]。在晶体管数目的竞赛中,Intel凭借Montecito取得遥遥领先的地位。Montecito是一款双核多线程处理 器,同时开发指令集并行性和线程级并行性,每个处理器核在Itanium2的基础上增加了2路阻塞多线程机制。Montecito采用90nm的制造工 艺,片内集成17.2亿晶体管,每个处理器核分别含有16KB 一级指令Cache、16KB一级数据Cache、1MB二级指令Cache、256KB二级数据Cache以及12MB 三级Cache,最大功耗大约为100W,但CPU会根据当时的情况自动超频或降频运行,最低功耗可减少到70W。Montecito被 Microprocessor Report评为2004最佳的服务器处理器,于2005年下半年发布。Intel在自己微处理器的发展蓝图中指出,今后各个领域的CPU都将采用多核结 构。Intel基于P4系列的双核处理器为SmithField,采用90nm工艺,将两个P4的处理器直接封装在芯片上采用共享前端总线的结 构,Yonah的处理器为共享L2 caches和系统接口,可以部分消除之前的前端总线竞争冲突问题。

  2006年Intel推出了基于Core构架的处理器Conroe(酷睿2),处理器核基于Pentium M,最重要的一点是增加了流水线的宽度,由处理3条x86指令到能处理4条x86指令,增强了SSE功能,由64位通路增加到128位的通路,以及能执行 128位的读指令(load),在cache共享上,能动态调节cache的分配,最优化cache的性能。Intel的数据表明Conroe比上一代处 理器在性能上提高了40%,而功耗降低了40%。

  (3)AMD和Intel一直是全球处理器市场上的两大宿敌。面对处理器高功耗的制约,Intel和AMD不约而同地将目光转向了多核处理器。 AMD发展64位多核CPU的步伐走在了Intel前面,2004年8月演示了双核Opteron,其产品供货于2005年中期开始。双核Opteron 片内集成2个x86-64核,每个处理器核有独立的L2 cache,通过crossbar互联处理器核和系统请求接口,片内集成的内存控制器,此外还集成互连和I/O控制器,包含3个 HyperTransport 接口,能够方便地实现多处理器互连和I/O通信。双核Opteron采用90nm制造工艺,晶体管数量在2亿个以上,功耗小于95W,大大提高了微处理器 的实际效能,相对于Intel早期推出的双核处理器,AMD有极大的性能和功耗有效性优势[17,21]。

  (4)SUN和IBM一直在高端服务器市场竞争激烈。2001年,IBM率先发布了它的双核处理器POWER4 ,而SUN公司直到2004年上半年才发布了它的第一款双核微处理器UltraSPARC IV,并在下半年推出了UltraSPARC IV+。UltraSPARC IV采用CMT(chip multithreading)技术,片上集成了两个UltraSPARC III的内核、二级Cache的tag体和MCU,外部缓存16MB,每个内核独享8MB。UltraSPARC IV由德州仪器生产,采用0.13微米工艺,主频1.2GHz,功耗100W,和UltraSPARC III管脚兼容,实现系统的平滑升级。UltraSPARC IV+是UltraSPARC IV的0.09微米工艺的升级版本,而且增加了片上高速缓存的容量,主频1.8GHz。根据Sun公司内部人士透露,Sun公司即将推出片内8个处理器 核,每个处理器核4线程的UntraSPARC V[15]。

  2004年Sun公司公布了Niagara,也称为UltraSPARC T1,包括8个处理器核,每个核支持4个线程,共支持32个线程[16]。2006年8月,Sun公司推出了Niagara-2,包括8个Sparc的处 理器核,每个核支持8个线程,共享4MB的L2 cache,分为8个bank,16路组相联,使用Crossbar把处理器核和L2 cache互联,含有4个双通道的FBDIMM(fully buffered DIMM)内存控制器,含有两个网络端口,1个PCI-E x8的端口,其信号管脚为711个,管脚的总数为1831。

  与国外微处理器设计厂家不断合并相对应的是国内微处理器设计能力在“十五”期间的快速增长。在过去的五年中,国内微处理器设计主要包括以下特 点:(1)在通用处理器和嵌入式处理器的研发方面都蓬勃展开;(2)产业化刚开始起步,还需要较长时间形成规模产业化;(3)主要集中在单处理器核的设计 方面,部分研究单位在单处理器的研发方面已经达到很高的水平,可望在“十一五”期间展开多核处理器的研发。

  在国家863计划和中国科学院知识创新工程资助下,中科院计算所从事龙芯系列高性能通用处理器的研制,先后完成32位的龙芯1号、64位的龙芯 2号和龙芯2号增强型处理器(简称龙芯2E)的研制。龙芯2E兼容MIPS III指令系统,采用四发射的动态超标量超流水线结构,实现了先进的转移猜测、寄存器重命名、动态调度等乱序执行技术,以及非阻塞的Cache访问、取数 猜测(Load Speculation)、存数合并缓存(Store Fill Buffer)等动态存储访问机制。龙芯2E的浮点部件能够支持SIMD结构的媒体运算以及双单精度(Paired-Single)的浮点运算。龙芯2E 片内含64KB一级指令高速缓存、64KB一级数据高速缓存、以及512KB二级高速缓存,片内集成了DDR内存控制器。龙芯2E采用意法半导体 (ST)90nm工艺设计,主频达到1GHz,具有低功耗(5-8瓦)、高安全性 特点,SPEC CPU2000的定点/浮点实测分值均达到500分,性能与中档的Intel P4处理器相当。基于龙芯2E的Linux-PC系统可以满足绝大多数的桌面应用,包括运行浏览器、办公套件、播放多媒体视频等。龙芯2E于2006年9 月通过中科院组织的鉴定,鉴定专家组一致认为:“龙芯2E高性能通用CPU芯片在单处理器设计方面已达到国际先进水平,居国内通用CPU研制领先水平”。 基于龙芯2E的低成本龙梦电脑、龙芯笔记本等样机已经研制出来,正进入试点阶段,产业化前景良好[1,2]。

  目前,计算所正进行龙芯3号多核处理器的研制。龙芯3号将采用可扩展设计,处理器核数目很容易从几个扩展到几十个;将采用超级虚拟机技术,使得 多种指令集(包括MIPS、Sun Sparc、X86)应用能够同时运行。此外,对于传统的如何利用多处理器核加速单线程问题,龙芯3号也将会采用软硬件结合的并行虚拟机方式加以解决。根 据龙芯发展路线图,龙芯3号的第一个原型芯片将于2007年底推出。

  2003年,国防科技大学承担了863计划《高性能通用CPU芯片》重大研究课题(YHFT64-I),2005年国防科大又承担了该项目的滚 动支持项目。YHFT64-I采用目前EPIC技术,利用软硬件方法实现Intel 指令集兼容,能够并发执行8条指令。芯片设计采用了大量先进的微体系结构技术,如:多级分支预测技术、寄存器堆栈技术、控制前瞻/数据前瞻、谓词执行技术 以及低功耗技术等,能够有效开发指令集并行性,极大提高处理器性能。YHFT64-1支持通用操作系统,支持多处理器结构,支持数据库、WEB等服务器应 用。该芯片所有设计已经完成,采用Chartered 0.13μm Nominal 1P8M工艺,核心逻辑规模5800万晶体管,采用HPBGA封装,功耗12瓦,面积10X10mm2,引腿696个,工作频率300MHz,在2005 年上半年完成投片。

  此外,中芯微电子和北京大学、清华大学、同济大学等单位也已研制成功嵌入式CPU以及有关的SOC。

 


3. 高性能微处理器发展前沿

  3.1 研究中的几种新型体系结构的处理芯片

  下面简单介绍国外研究中的几种新型体系结构的处理芯片。

  (1) IBM开发中的千万亿次(PetaFLOPS)计算机蓝色基因(Blue Gene)中的核心处理芯片是探索新型高性能CPU体系结构的重要一步。该芯片中含32个简单的PowerPC处理器及内嵌的DRAM,峰值性能可达到 32GFLOPS。将DRAM集成在片内,使处理器到存储器的访问延迟大为缩短,访问带宽大大提高,也很大程度上减少了能量的消耗。为了通过精简设计提高 运算速度和极大地降低功耗,每个处理器能执行的指令的数量都大大地减少了,但每个处理器仍可支持8个同时执行的线程以提高处理器利用率。片上还集成了6个 2GB/s带宽的通道以实现与系统中其它同类芯片的通信。另外,考虑到构建超大规模计算系统时不可避免地会碰到因某个(些)结点失效而影响整体系统可用性 的情况,它尝试采用自稳定和自修复的技术,即自动地从个别处理器或线程的失效中恢复过来。为此,在硬件上,处理器和通信链路上都采用了大量的冗余设计,在 软件上,也需要特别增加分布式控制和恢复的机制。

  (2) MIT研究的可重构RAW处理芯片采用了另一种思路[27]。RAW在单个芯片上将几百个非常简单的处理单元,用可重构逻辑连接起来,实现高度并行的体系 结构。RAW允许编译器(或其它相当的软件工具)重新构建硬件体系结构的低层细节,对每个要加速的应用实现最佳的资源分配。这种结构设计简单,单元内部和 单元之间的互连线短,能充分地支持流水线并行性,特别适于未来线宽变窄的半导体制造工艺。RAW的研究者认为,开始时,RAW体系结构还只适于流式的信号 处理计算,但RAW方法未来将发展成为普适的解决方案

  图1给出了RAW中一个处理器的框图。其中下半部分就是一个普通的RISC流水线处理器(其复杂度跟龙芯1号差不多)。其特殊之处在于在执行部 件前的旁路部分,除了常规从寄存器中取出的操作数和从功能部件刚算出的操作数外,还有通过通信网络从别的处理器那里送过来的操作数。在灵活的互连网络的配 合下,这个机制巧妙地把多个处理器的功能部件耦合在一起,构成功能复杂、动态重构的并行处理系统。

  (3) 在2005年国际固态电路会议(ISSCC)上,IBM、Sony和Toshiba首次公开介绍了设计中的Cell高性能处理芯片[30]。这三个企业联 合设计Cell芯片的工作始于2001年3月。Cell的一个主要用途是Sony的第三代Playstation游戏机PS3,但IBM同时也宣 称,Cell将是片上超级计算机(supercomputer-on-a- chip)。从ISSCC2005上披露的第一款Cell芯片的情况来看,它确实能同时满足前述两个方面的应用要求。Cell处理芯片可在4GHz频率下 工作,其宣称的峰值浮点运算速度为256GFLOPS,可惜这只是单精度且不符合IEEE 754标准的浮点运算(如果针对游戏应用,这是合适的,因为速度比精度更重要)。Cell同时也支持完全符合IEEE 754标准的双精度浮点运算,但速度约是单精度的十分之一,估计为25-30GFLOPS。即使这个速度,也达到了当前主流高性能微处理芯片的5-10 倍。因此,基于Cell处理芯片,在一个机柜里就可以实现足以跻身TOP500排行榜前列的超级计算机。

  Cell采用了与主流高性能处理芯片全然不同的片内分布式体系结构(图2)。总体上看,它由一个相对比较简单的支持同时双线程并行的双发射64 位PowerPC内核(称为PPE)和8个SIMD型向量协处理器(称为SPE)构成。片内有一个高带宽的环状高速总线(EIB)把PPE、SPE及 RAMBUS内存接口控制器(MIC)、FlexI/O外部总线接口控制器(BIC)连接起来。PPE主要负责控制并执行操作系统,SPE完成主要的计算 任务。SPE的SIMD执行部件是128位宽的,从而可在一个时钟周期里完成4个32位的定点或浮点乘加运算。SPE里内置了256KB的SRAM作为局 部存储器(它的编址独立于片外的DRAM)。不采用自动调配数据的cache机制,使SPE更像一个向量处理器,从而也更多地依赖程序员或编译器的作用来 发挥性能。同样,SPE里没有动态分支预测机制。所以,SPE配备了较大的寄存器堆(128个128位的寄存器)来尽量减少对存储器的访问,并尽可能地展 开循环、减少分支。

  Cell虽然实现了很高的性能,但也存在一些问题。例如,如果要往游戏或多媒体以外的应用发展,编程模型和软件开发问题还没有很好解决。又如, 前面提到的芯片设计的复杂度和功耗问题也没有很好地解决。Cell的第一款芯片用 90纳米SOI工艺全定制实现,8层铜连线,芯片面积为221mm2,含2.34亿晶体管。这个复杂度已经超过了Intel的安腾二代,如果想用在家用游 戏机里,成本是个大问题(据说Sony计划在PS3里采用只包括4个SPE的Cell版本)。Cell芯片采用42.5mm?42.5mm尺寸的BGA封 装,共1236个接触点,其中506个是信号。据估计在1.1V供电4GHz运行时,芯片功耗约50-80瓦(据说1.4V供电时可运行到5.6GHz, 功耗180瓦)。
  (4) IBM和德克萨斯州立大学联合开发中的TRIPS(Tera-Op Reliable Intelligently adaptive pr