高效能微处理器Cell技术初探

    Cell是由IBM、SONY、SCE(SONY Computer Entertainment Inc,索尼电脑娱乐公司)与TOSHIBA(东芝)4 家厂商自2001年起共同研发的新一代高效能微处理器,它具有目前民用处理器中最先进的核心设计和最强大的性能。尽管近4年的该设计技术细节方面高度保密,日前举行的2005年国际固态电路会议(ISSCC)所发布的5篇论文摘要及专利文档披露了Cell的部分细节,让我们再次把目光集中在Cell上。下面就让我和大家一起了解Cell。
  
  Cell处理器特点


  ◆64位元处理器
  ◆多核心设计
  ◆采用90nmSOI“绝缘硅”工艺
  ◆灵活的并行和分布式计算结构
  ◆支持网格运算
  ◆可同时执行多个作业系统
  ◆大幅提升的输入输出接口传输带宽
  ◆强大的硬件化安全系统
  
  一、深入了解Cell  
  
     1.Cell核心设计  
  
     Cell是以IBM研发的64位元Power微处理器为核心,结合8个独立的浮点数运算单元所构成的多核心处理器。它共有9个CPU内核,一个Power架构RISC型64位CPU内核“PPE”和8个浮点处理用的32位8路SIMD型CPU内核“SPE”(Synergistic Processing Element)。
  
     Power微处理器内核是Cell处理器的大脑,是运行设备的主操作系统,并为8个“协处理器”分配任务。(不过Cell本身的结构是极具变通性的,可根据具体需求增加、减少协处理器内核)。
  



   (图01)
  
  
    图为Cell的核心电路分布。从图中可清晰地看到Cell的9个内核和L2 Cache。BEI(Element Interconnect Bus)总线是Cell的数据总线。图中的FlexIO将在下文介绍。  
  
    Cell的基本构成单元PPE可同时执行2个线程的SMT架构(类似于Intel的HT超线程技术),配备32kB的一级缓存(16kB指令缓存和16kB数据缓存)以及512kB的二级缓存。协处理核心SPE可同时执行2条指令超标量,并配备有128位×128个的通用寄存器。1个SPE的最大单精度浮点运算速度为32G FLOPS。8个SPE合计为256G FLOPS。9个核心同步时钟运行。  
  
    ISSCC的Tom Halfhill工程师分析认为,在芯片设计方面,Intel虽即将推出双核心芯片,但Cell已在这方面早就走在英特尔之前。目前多核心芯片通行的做法是将单一的计算任务分配成几个处理单元进行,而Cell由于使用了Multiple Core技术,处理单元“软件内核”可执行完全独立的任务,因此能以一个晶片完成需要多个晶片才能完成的任务。  
  
    Cell处理器将集成2.34亿个晶体管,大小为221平方毫米,采用90nmSOI工艺生产。专业人士预计,随着IBM公司在今年晚些时候推出65nm工艺,Cell处理器将转而采用这一工艺。
  
  
  (图02)
    
    图为Cell处理器,左侧为未封装的Cell核心,中间是一颗封装完毕的Cell处理器,右侧为Cell背面,封装的引脚数为1236个。这是个破记录的数字,从这里也可看出Cell核心的复杂性。  
  
    Cell的8个SPE工作方式与普通的多核心处理器不同,各SPE分别在独立的地址空间中运行。因此,每个SPE备有256kB的名为“Local Store”的内存。由于Local Store算作SPE的内存,所以不需进行类似SMP的缓存一致性(Cache Coherency)控制。连接各内核的片上总线(OnChip Bus)采用环形,各个SPE之间的最大数据传输带宽高达192GB/s。  
  
    Cell的多核心技术使得线程分配、资源管理等方面的程序模式具有了多种多样的发展可能性。Cell的主性能处理内核可处理双线程,其余每个协处理器可处理一个线程,这样Cell处理器总共可同时处理10个线程,怎样最佳应用处理器资源是今后软件工程师的一个重要研究课题。  
  
    Cell结构根本上依赖两大概念:“Apulet” ,由数据对象及必需的执行代码组成的包(Bundle);“处理元素(Processing Element)”,能在任何时间执行Apulet的控制及流处理资源分层包(Bundle)。  
  
    Apulet在系统的处理元素中完全便携,因此任务能通过将一个等待Apulet赋给一个可用的处理元素来动态执行,通过添加处理元素可实现扩展。而在最高层级,这种架构看上去像一个单元池(Pool of Cells)。系统中的所有单元都是一个明显的同位体(Peer)。根据谈及Cell设计的其中一篇论文透露,单一芯片执行单一的处理元素。
  
  2.Cell与网格运算  
  
    《福布斯》杂志预测,信息技术的下一波大浪潮将在2004~2005年度出现,并造就2005~2020年共15年的黄金时代。到2020年,由此产生的互联网将成长为一个20万亿美元产值的大工业。这一波的本质特征,就是万维网WWW(World Wide Web)升华为网格GGG(Great Global Grid)。


    网格运算是伴随着互联网迅速发展起来的专门针对复杂科学计算的新型计算模式。它把分散在不同地理位置的计算机组织成一个“虚拟超级计算机”,其中每台参与运算的计算机就是一个“节点”,整个运算网络就是网格。
  
  
  (图03)  
  
    其实Cell在最初的内核设计时就预料到了网格运算,并及时地在Cell中加入了网格零件。IBM公司的员工吉姆说,这种多内核设计给予了软件设计人员巨大的灵活性,使他们能在Cell处理器上运行多个操作系统,并体验网格计算。他表示,Cell处理器在设计之初就考虑到了联网的需求。
    
    Cell处理器支持网格运算,它还可在网络中漫游,可执行类似于网格计算的功能。一个以Cell为核心的计算机可借用网络中闲置的其他平台的计算资源。独具匠心的架构可使网格计算无所不在。如果在网络中连入几台这样的平台,整个网络都可执行同一项任务。当年的万维网改变了我们的生活,在它的标准上升华的网格,又将成为下一波浪潮的主线。支持网格运算是一个明智的选择,现在Cell正抓住这一时机,大力发展自己。
  
  3.Cell的运算速度  
  
    先说说Cell的频率。首款Cell处理器的运行速度将超过4GHz,在2005年2月8日于美国旧金山举行的ISSCC 2005上,发布Cell的4公司提前在会场的宾馆内举行了一次记者招待会,并进行了4GHz运行演示。来自设计合作伙伴的报告称,未来产品的频率将定为4.6GHz。目前采用90nm工艺的Pentium 4处理器的最高速度才为3.8GHz。


   运算速度是一款处理器最有价值的技术数据,Cell的额定运算速度为每秒2500亿次浮点数运算(256G FLOPS),PS2游戏主机采用了EE(Emotion Engine)处理器(速度为6.2G FLOPS),Cell的速度是EE的40倍以上。甚至单颗Cell处理器的运算速度,就足与跟90年代中期最强悍的超级电脑相比,或说是目前NVIDIA最强的3D显示芯片的6倍。
  
  
  (图04,EE处理器)
    
    用Cell搭建的电脑工作站试作机已进入实际运转阶段,这也是Cell处理器首次实际应用。根据测试,该工作站可在1个机柜(所使用的Cell处理器芯片数目为64个)规模下,达成每秒16兆次(16T FLOPS)的浮点数运算能力,相当于单颗PS2微处理器EE(Emotion Engine,每秒62亿次浮点数运算)的2580倍之多。
  
  4.功耗及散热  
  
    据ISSCC的论文介绍,电源电压为+1.1V、频率4GHz的1个SPE因晶体管的开关动作所消耗的为4W。再加上漏电电流和时钟信号传送的耗电,实际耗电应在8W左右。电源电压调至+1.2V以2GHz工作时,开关动作的耗电为2W,漏电电流引起的耗电为1.7W,时钟信号传送的耗电为1.3W,共计5W。8个SPE同时以2GHz工作时,推算值为40W。  
  
    同时,论文中显示Cell将采用1.3V的核心电压,工作温度为85℃,使用气冷方式运行。IBM研究员表示,首批采用Cell处理器的设备的尺寸不会比游戏机更小,因为第一个版本的Cell处理器的发热量很高,需使用散热风扇。
  
  5.Cell生产  
  
    Cell处理器采用的栅长46nm的晶体管应用了SOI(Silicon On Insulator,绝缘体上外延硅)技术和应变硅技术。目前Cell进入最后的研发阶段,生产技术已成熟,Cell芯片将会在2005年第一季度中旬推出。IBM位于纽约的East Fishkill 300mm晶圆工厂将会在2005年下半年小批量生产Cell芯片,而SONY在2006年将会在日本长崎的“Fab2”工厂采用尖端65nm技术进行生产。SONY公司还提到,打算将Cell商业化,今后推出更多基于Cell的产品。这可能意味着SCE会在下一代娱乐便携机型中也采用Cell核心。
  
  
  (图05)
  
  
  (图06,试制Cell芯片的300mm晶圆,每个Cell的旁边均设计有测试电路)  
  
    Cell使用定制电路设计的方法来提高总体性能,同时还支持精确的处理器时钟控制功能,以节省电耗。Cell也使用了冗余电路布线来提高良品率,降低成本。综上所述,Cell将在2006年正式量产铺货。
  
  6.硬件化安全系统  
  
    Cell还采用了一系列芯片上的安全措施,主要是为了阻止对于版权内容未经授权的拷贝。通常类似任务都是由软件来完成的,而Cell却通过芯片的独特设计将内容按安全单元来分配存储。这种安全存储方式只允许经过授权的访问,可实现知识产权的智能保护。这种以硬件的方式保护版权还是第一次见到,相信它能被SCE的PS3所采用。
  
  二、Cell与PS3  
  
    提到Cell就不得不提PS3。PS3是SCE用于代替PS2的游戏主机,它将使用Cell作为中央处理器,Rambus的XDR DRAM为内存,显示芯片为NVIDIA全新打造的GeForce6+α(预测命名)。关于Cell的第一轮新闻和抄做就是PS3引起的,所以从PS3的硬件规格可看出Cell的周边设备搭配。
  
  
  (图07)  
  
    1.Rambus的XDR DRAM技术  
  
    Rambus的XDR DRAM内存是PS3硬件“三大块”中唯一成熟的技术。Rambus XDR DRAM是eXtreme Data Rate DRA(极限数据率动态随机存取存储器)的缩写。它是目前最高性能的内存子系统解决方案。它通过独立使用地址线、数据线和控制线来提高内存的传输性能。由于XDR DRAM可同时传输8路数据,所以500MHz的XDR DRAM等效频率为500MHz×8=4.0GHz,其16bit单通道带宽为4.0GHz×16bit/8=8.0GB/s,这样的带宽的确很惊人,短时间内DDRⅡ都无法超越。正因为如此,SCE决定采用Rambus的XDR DRAM作为PS3的内存。  
  
    三星已宣布该公司在2005年开始生产XDR DRAM,首批开始量产的XDR DRAM是容量为256Mbit的规格。这次三星生产的也是4.0GHz的XDR DRAM,带宽为8.0GB/s,是PS2所采用的双通道PC800 Rambus DRAM(3.2GB/s)的2.5倍。由IBM采用Cell处理器技术设计的高端电脑工作站和服务器已使用XDR DRAM,NVIDIA今后的显卡也将会采用XDR DRAM的设计工艺。
  
  
  (图08,PS2的Rambus内存)  
  
    此外,Rambus还为SCE提供了输入输出接口的串行总线FlexIO和内存接口总线XDR。XDR存储界面可在3.2GHz的频率下传输30GB/s数据,而频率为6.4GHz的FlexIO最大数据传输量为72GB/s。为配合Rambus的高速内存,Cell具有2.5MB的嵌于芯片上的缓存,同时服务于9个核心,可通过XDR和FlexIO技术每秒向外部内存调用或输出大量数据。这在业内是前所未有的超高速数据传输能力。
    
    2.GeForce6+α显示芯片  
  
    GeForce6+α是NVIDIA特别为PS3设计的特殊产品,就如同当初NVIDIA针对XBOX设计的“NV2A”芯片一样。GeForce6+α是笔者的预测命名,因为NVIDIA并未公布PS3显示芯片的技术细节。但可肯定的是,该芯片的规格、性能是界于NV40与NV50之间的。  
  
    GeForce6+α显示芯片将使用NVIDIA在当前的NV40芯片上采用的技术及许多为下一代NV50芯片开发的技术。而且GPU中除了采用该公司桌面芯片的线路外,与Microsoft DirectX或OpenGL无关,并将使用SONY自己的API用于该控制台。自然地,GeForce6+α显示芯片将支持Rambus开发的XDR DRAM内存作为显存。


    Cell+内存总线XDR+XDR DRAM+“GeForce6+α”+FlexIO总线,有着如此强大的硬件规格,PS3很可能成为下一代游戏主机的霸主。
  
  三、Cell的应用与展望  
  
    一款技术含量高的产品,如果没有应用前景或没有市场,那它就一文不值。Cell也是如此,虽然技术先进,但要想成为未来处理器的统领,必须有广阔的应用范围。  
  
    Cell采用灵活的架构设计,使得它相对于传统处理器提供了一种突破性的解决方案。Cell处理器的另一个优势是同时支持多重操作系统,正是基于此,Cell可同时运行PC/WS操作系统及实时CE/Game操作系统。Cell的强兼容性可用于更广泛的应用,从家用小型数字CE系统到用于播放电影的其他娱乐应用,直到超级计算机等大规模科学应用等。
  
  
  (图09)
  
  
  (图10)  
  
  来自Cell的应用前景展望  
  
    ◆来自IBM、索尼集团和东芝公司的一个工程师小组正在为Cell的设计和实施开展合作,该产品有望提供巨大的浮点处理功能、大量数据带宽及类似于超级计算机的可扩展性能。
    ◆IBM为Cell规划的第一种计算应用是其与SCEI共同开发、基于Cell处理器的工作站。
    ◆SCE希望推出其装有Cell的新一代电脑娱乐系统(PS3),以实现电脑娱乐体验的革命性变化。
    ◆索尼公司和东芝公司希望于2006年推出装有Cell处理器的宽带内容及高清晰电视(HDTV)系统。
    ◆IBM高级副总裁John E.Kelly III博士讲道,“现在,我们披露的只是该技术的冰山一角,我们认为它可使创新的Cell处理器成为新一代计算和娱乐产品的首要开放平台。”
    ◆基于Cell(简化核心)的掌上移动产品,也是IBM和SONY考虑的重点,这类产品目前正在飞速前进,将来很有发展前途。
    ◆继Cell发布后,IBM成立Power架构促进团体。该团体的成员包括索尼、美国Novell、Linux发行套件供应商美国Red Hat、中国上海贝岭等15家各环节企业。  
  
    看来合作各方还是对Cell充满信心的。综上所述,Cell是一款具有跨时代意义的处理器,它结合了64位运算、多核心等前卫的芯片技术,加上强大的性能和对网格运算的支持,Cell将能适应未来的运算环境和要求。


    以Xeon、Itanium和Opteron为代表的CISC(复杂指令集计算机)结构处理器快达到性能极限了,为达到更高性能,其核心设计已非常复杂。造成这种困难的部分原因在于处理器设计者、操作系统供应商和应用程序开发者结成了一个不合理的联盟。IBM的Power架构及其促进团体(Power.org),在这方面做得已相当完善,并逐步扩大着自己的影响力。  
  
    2006年是Cell大规模登陆市场的时间,届时IBM、SONY、SCE与Toshiba将借助Cell与Intel、AMD的双核心处理器正面冲突,IBM有可能借助Cell在处理器市场与Intel一决高下,多媒体娱乐和数码产品领域的争斗也将更加激烈、精彩。