Chen 的个人资料既不回头,何必不忘。既然无缘,何须誓言。今日种种...照片日志列表更多 ![]() | 帮助 |
|
6月17日 zzCell体系结构解释-第五部分:结论和参考文献小结:
专利编号 NO. 6,809,734 专利申请编号 NO.20020138637
http://www-03.ibm.com/chips/news/2004/1129_cell1.html http://www-03.ibm.com/chips/news/2004/1129_cell2.html
http://www.toshiba.co.jp/about/press/2002_04/pr0201.htm
如何计算这一数值的方法并没有公布,相信240GFlops这一数值指的是32位单精度的浮点操作。浮点操作可以是16位,32位(单精度)和64位(双精度)的。Top500超级计算机中考虑的是双精度浮点,因此并没有可比性。考虑到单个SPE有这样的能力,一个处理器单元PE将有能力达到 128GFLOPS(双精度),这仍然是任何正常处理器的20倍。
http://www.cs.sunysb.edu/~vislab/projects/urbansecurity/GPUcluster_SC2004.pdf
http://www.gpgpu.org/ http://www.shadertech.com/
PS3将使用Nvidia的图形技术
最高性能前500台超级计算机,希望Cell能迅速改变它。www.top500.org
计算机市场分析,在1984年C64占有最大得市场份额http://www.pegasus3d.com/total_share.html
Intel和Nvidia亲密接触?http://www.beyond3d.com/forum/viewtopic.php?t=18309
Intel和Nvidia达成了协议,从HP获得了新的队伍,Project Z曝光。这一项目是一个极高并行性的处理器,单谁也不知道Intel到底在计划什么。 http://www.theinquirer.net/?article=20286
8核心的Opteron http://www.theinquirer.net/?article=20128
Transmeta退出芯片制造 http://www.theregister.com/2005/01/05/transmeta_exiting_chips/
PC也可以非常昂贵 http://www.alienware.com/ALX_pages/main_alx.aspx
PC受到了未来计算的威胁 http://www.osnews.com/story.php?news_id=5987
http://www.beyond3d.com/articles/directxnext/
EETimes上有一组文章描述使用GPU为通用计算服务 http://www.eetimes.com/in_focus/silicon_engineering/showArticle.jhtml;jsessionid=HDHCGZVPWKEZ0QSNDBCCKH0CJUMEKJVN?articleID=55300904&_requestid=835375
超级计算机设计师Seymour Cray也谈论过Cell
Intel计划推出基于PC的家用多媒体中心 http://www.theinquirer.net/?article=20623 [Calc] 目前我们没有任何的性能图表,因此所有的数据和图表都是从专利或者4.6G芯片身上得出的。很多性能数值可能都是最大的猜测值。
6小时=21,600秒 21,600 * 10.64 = 229,824 229,824/1,000(4Cells@250GFlops) =229秒 =3分49秒
升级内容
100GB/s的存储和I/O带宽 两个XDR控制器得到25.6GB/s 两个可配置接口得到76.8GB/s 当前每个Cell的主存限制在256MB,但这是指直接相连的主存,可用通过I/O接口连接更多的内存 8个SPE,都是128位宽的向量单元,每个都有128个寄存器 SPE每周期发散两条指令 峰值256GFlops 支持双精度算术操作 每个SPE有256KB的本地存储 通过4个128位宽的环进行内部通讯,每周期可以传送96B PPE可以处理两个线程(注意不是基于Power5结构的) PPE上有VMX PPE有512KB Cache 动态电源管理技术 10个热感应器 90纳米下221平凡毫米尺寸 2亿3千4百万 234M个晶体管 90纳米SOI,Low K,8层铜互连工艺 6个月内IBM开始批量生产,Sony将在1年后生产并使用65纳米工艺
本地存储的容量增加到256KB 本地存储也可以被用作"locking cache",因此它可以作为Cache或者本地存储。而在专利中明显说明本地存储不是Cache 专利中的1024位内部总线没有实现,但是多环内部总线可以每周期传送96B数据 SPE中包含了MMU和DMA控制器,而专利中没有说明SPE中包含MMU
Cell芯片
澄清
zzCell处理器解释,第四部分:Cell对决PC到今天PC已经击败了道路上的所有敌手。无论当时有多么接近于替代PC,所有的竞争者都消失了。如果Cell进入桌面计算机,那他可能成为PC的另外一个牺牲品。但也有理由相信Cell不仅仅成为PC面临的最大危险,同时也有击败PC的足够能力。 奉承的诚恳形式就是盗窃 20年前当工程师Jay Miner设计一个视频游戏时(他设计了Atari 2600芯片),他决定做一个更出色的工作:将一个视频游戏芯片和一个工作站处理器结合起来制作了一台桌面计算机。这个叫做Lorraine的原型最终以 Commodore Amiga的名义进入市场。Amiga用硬件加速了高色彩值的显示器,使用基于GUI的多任务操作系统,多采样声音通道和一个快速的32位处理器。在那时 PC只有文本显示器,一个嘟嘟响的扬声器,并在一个16位的处理器上运行MSDOS。Amiga有上百万台的销量,但是制造商在1994年破产了。 和许多可能更优秀的平台一样,Amiga被PC扫入历史的垃圾堆。 无论对手提供多好的操作系统和硬件设备,PC都可以将每一个竞争者从道路上清除掉。1985年的Amiga领先当时的PC很多年,PC用了5年才使用了相同的硬件,用来10年才追赶上Amiga的操作系统。但和以前的对决一样,PC仍然是赢家。PC得以成功的原因是巨大的软件基础,以及模范竞争者的能力,低价和高性能在早期很长一段时间里面都不是主要因素。如果现在阅读一下Amiga的手册,你将会发现它完全是现代PC的描述。Amiga为桌面系统引入了图形加速芯片和多任务系统,但是现在所有的计算机都有这样的配置。 对于Amiga而言,并不是价格和硬件击败了它。MSDOS上巨量的应用程序阻止它进入更大的市场。Commodore的能力将自己害死了。NeXT是下一个例子,它也提供了更好的硬件和更好的基于Unix的操作系统,但也没能撼动PC。它也是下一个被PC赶超并窃取所有最佳特性的牺牲品,13年后消费级的PC才具有与之相同的存储保护。 PC有能力获得竞争者的所有最佳特性,虽然这一过程可能需要很长时间,过去的记录显示PC每次都成功了。PC能够再次窃取Cell的特性并将它抛到一边么? Cell对决x86 看起来这是一场没有胜者的战斗。由于Intel和AMD推动x86体系结构,不断推出高性能和大量廉价的处理器x86在每一场对决中均胜出。当x86和高速的RISC竞争时,它利用了几乎和RISC相似的技术拉近了速度差距,并使得RISC没有明显的优势。 三个曾经显赫的RISC处理器系列(Alpha MIPS PA-RISC)已经成为历史。即使Intel自己的Itanium也快被Opteron扫出中低端服务器市场。Sun也受到了打击,他已经宣布取消下一代UltraSPARC产品线,转向全新的设计(MAJC?)并且开始销售一度威胁自己低端SPARC产品线的Opteron服务器。Power似乎还在挣扎,但这也是因为IBM有足够的资源支持他,并保持他的竞争力,并且在Power面向的高端市场上x86还缺乏号召力。 对于Intel和AMD的处理器而言,Cell是一个完全不同的竞争者。主频的差距如此巨大,除了对x86结构大修之外别无他法来赶上性能差距。x86并非没有任何触动,但是不论Intel或者AMD都没有足够新颖的改变以跟上Cell。有传闻说Intel现在得到了许多Nvidia的专利许可 [Intel + Nvidia]并考虑在一个芯片上集成一打处理器核心,但谁知道圣诞老人在准备什么呢?[Project Z] AMD和Intel都可以提供多核心的处理器,但是高速的x86处理器往往功耗更高。为了在一个芯片上集成两个Opteron,AMD不得不降低主频以将功耗控制在100W附近。Intel在Pentium4上也采用了相同的做法。Pentium-M是一个高性能、低功耗的优秀产品,它比Pentium4 更适合多核心设计,在以后几年中将可以看到4到8个核心的设计。 Cell可以加速很多常用的应用,相比之下PC的性能显得可笑。如果Intel集成10个核心,那么他们在性能和价格上都不会有任何优势。SPE是专门的向量处理器而x86不是。当然x86有SSE向量单元,但这是无法和单个SPE相提并论的。 并且Cell有天然的并行特征。如果需要更多的计算能力,只需要简单的增加额外的Cell,操作系统将负责将软件Cell分布到第二或者第三个处理器上。而对于PC而言,确实许多操作系统都支持多处理器,但是很多应用如果不经修改都无法支持多处理器,这一过程将需要花费很多很多年。Cell的应用从一开始就是可扩展的。 Cell可能在性能上超过x86处理器一大截,但是历史上PC有能力击垮性能上的强者。高速并不足够打倒PC。 Cell与软件 和PC竞争的主要问题不在处理器上,而是在软件上。一个新的处理器显然有更高的性能,但是如果没有软件就毫无用处。PC常胜的原因就是充足的软件,这使得无论多高性能,有多少优点的竞争者都遭到失败。高性能系统的市场是有限的,大量销售的是低端系统。 Cell有足够的性能并且将成为廉价的芯片。但没有足够的软件它能挑战PC么?以前这个问题的答案是简单的,但是现在PC市场的变化,以及其他一些原因使得Cell有能力构成威胁: 第一个原因是Linux。Linux已经显示了他是分割Window PC软件市场的可选操作系统,Linux一个最大的不同是它可以跨平台。如果你的软件需要运行在linux上,那么更换硬件平台将不会成为问题,大多数软件可以在不同的处理器上运行。 第二个原因是成本,其他的平台经常使用昂贵的定制组件并且产量很少。这使得他们的价格高于PC,这是显然的缺点。开始的时候Cell可能比较贵,不过一旦 Sony和Toshiba的工厂开工,它的产量将会巨幅攀升,价格也随之降低,在PS3和TV上的使用无疑将使得Cell芯片的产量足够大。IBM也会制造Cell并且还有许多公司使用IBM的硅处理技术,如果有License,Samsung,Chartered,Infineon甚至AMD都会需要并生产Celll。 第三个原因是计算能力,大多数PC都不需要他们实际提供的计算能力,Cell强调这一点是因为它能够将密集负载分摊到SPE上。这意味着如果你需要运行特殊的软件,你可以用模拟的方法。这不会显得特别慢,因为现在的PC处理器的能力绰绰有余,使用今天先进的基于JIT的模拟器,你不会感觉到差别。 许多高端PC的购买原因恰恰是那些可以被Cell加速的应用。而且这部分高性能用户往往关注工具胜于平台,除了游戏市场似乎再没有Microsoft有控制力的领域。由于Cell(或者一组Cell)带来的巨大加速,许多高性能用户在他们需要的软件被移植或者可以模拟执行时应该乐于转移到新平台上。 Cell会很便宜、高性能,运行多个相同的操作系统,如果这些还不够,它可以用难以察觉区别的方式模拟PC,软件和价格将不会成为问题。供货也不会成为问题,你可以在任何地方买到Playstation。这一次PC以往击败竞争者的优势已经不在,PC在性能,软件和价格上都不占优。但这并不是说Cell可以放心占据PC的领地,并没有那么简单。 攻击 IBM计划销售基于Cell的工作站,一段时间里面他们的价格不会便宜,除了PlayStatioin的开发人员而外,市场也不会很大。 Cell不仅仅以特殊工作站和Playstation的方式出现,也许以一种或者其他桌面计算机的方式出现(Genesi正在考虑可行性)。当他们这样做的时候,他们将开始颠覆整个PC工业。 即使单一一个Cell也超过顶级的多处理器PC许多倍。这是致命的,Cell无疑是构成通用多处理器更有效的选择。 内部感染 虽然这不会在短时间内发生,但是没有什么可以组织PC制造商们在一个PCI express卡或者一块主板上包含一个Cell处理器。微软可能对支持一个竞争者并不感兴趣,但这并不意味着STI成员不会提供驱动支持。一旦这一方式可行,开发者可以在PC应用中使用Cell,这也是非常有趣的地方。计算密集的任务将转移到Cell上,并且PC将不再需要一个快速的x86处理器,低价较慢的处理器就够了。 有些公司可能想进一步降低成本而这里确实有一种方法。Cell中包含一个至少PowerPC 970级别的处理器,因此它可以被看作是一个相当快速的处理器。因为没有必要使用一个高速的x86处理器,为什么不模拟一个?从PC中去掉x86和支持芯片组将节约大笔成本开销。一个没有x86处理器的x86计算机听起来很奇怪,但Transmeta就是这样做的。也许已经脱离处理器制造行列的 Transmeta可以为Cell提供二进制翻译模拟技术。 Cell是非常非常高性能的处理器。同时未来它也会变得相当便宜。Cell很有潜力构建一个低成本的PC。由于Cell不依赖于PC的计算和存储部件,它也和PC的优缺点无关。Sony可以制造一张插卡让高端游戏终端中运行起一个最低性能的PC。如果这样的产品能有很大销量,PS3开发套件组就无需为PC 开发一个独立的版本了,这对于PC游戏市场是一个灾难。 当你使用一个模拟执行的操作系统时,拥有一个本地执行的操作系统总是更好的选择。Linux总是可行的,但是Linux还不足以成为一个消费级的操作系统,在这点上他还有很长的路。但已经有一个可以在Power体系结构上运行的消费级操作系统 OS X。 Cell对决Apple Cell可以是Apple的复仇女神或者救世主,他是最显然的Cell潜在用户。由于Cell核心使用的PPE是兼容PowerPC的,并且可以加速 Apple主要客户的基础应用,Cell对Apple是一个不错的选择。由于Cell并不能加速所有应用,因此如果作为标准G5/G6的协处理器可以同时从两种结构中获益。 Apple在OS X "Tiger"中展现的Core Image技术已经开始使用GPU来处理3D计算之外的任务,相同的技术可以用在Cell的SPE上。可能这就是为什么Apple排在第一位的原因。 如果其他使用Cell制造计算机的厂商没有一个明确的消费级操作系统可用,用于OS X的Apple将第二次有机会成为新的Microsoft。他们能抓住这个机会么?一个以Cell起跳的计算机制造业对Apple也是非常危险的。当 MAC和PC的操作系统和CPU不同的时候,系统之间可以有巨大的差距,定价的不同也可以接收的。如果有足够多的低价机器可以运行OS X,那么目前的价格差距就显得过大了,这可能不足以击倒Apple,但对他而言这绝对不是个好消息。 PC制造商其实不关心他们使用的组件或者他们运行的操作系统,他们只想出售PC。如果Apple打算重新考虑OS X的授权方式并让硬件制造商们开始使用Cell,他们可以克隆Microsoft惯用的招数来对付他们的老冤家了。相信太多公司会因为从 Microsoft的铁钳中解放出来而兴奋得不能自己。如果Apple能够降价的话就更好了,他们很容易把Microsoft从操作系统获得的利润裁减 400%。 开放OS X的许可证并不会摧毁Apple的硬件生意,总是有一个追求高端更酷系统的市场存在的。Apple有坚实的软件基础可象现在一样给他们的硬件带来附加值。所有人都会和今天一样为此买单。 对于未来的计算而言,PC工业将会受到远东低成本计算机的威胁。这一说法的基础是在PC工业中微软和Intel都享受的高额利润率。由于可以制造出价格低廉而速度足以满足大多数要求的低成本计算机,运行Linux而不需向微软支付任何费用,如果这一系统可以完成大多数人想要做的事情,并以足够低廉的价格出售,那么它将会从下面几点攻击整个PC市场。 基于Cell运行OS X的系统将足够便宜(当然还要取决于Apple给OS X的定价),但是Cell绝对的性能优势将超过任何最高性能的PC机。这些系统会象热蛋糕一样的出售,并且如果价格能将得足够低它将在PC制造商们刚刚开始发展得低价市场上出售。对Apple而言这里有巨大的机会,如果不抓住的话那简直就是发疯- 因为如果Apple不做其他的厂商将开始做这一工作 -微软已经在Xbox2操作系统上积累了足够的PowerPC经验。 Cell有压过PC性能的优点,但它同时也具有PC的有限。在Apple的帮助下,Cell将可以运行现在市场中争论的最好的OS,并且价格低廉。新的 Mac mini看起来就准备象一个热蛋糕一样出售,想象一下当它装备了一颗Cell芯片之后会是什么景象... ... 看起来PC的这个竞争者足够取而代之,但是PC仍然有反击的机会,PC已经在考虑超过你想象的性能。 PC相关:Cell与GPU PC手中的武器就是GPU。在计算能力上高性能GPU是Cell唯一现实的竞争者。 GPU总是比通用处理器性能更高[PC + GPU][GPU],自从可编程梯度(programmable shaders)引入之后这部分处理能力也可以被开发人员利用,虽然是针对图形专门的设计,也可以被用于其他目的。下一代的梯度(shaders)承诺有更多的通用能力[DirectX Next]。 GPU具有和Cell相似的操作方式,他们也有许多称为顶点vertex或者象素梯度pixel shaders的并行向量处理器,他们是针对3D对象或者象素的顶点流处理而设计的,但是许多计算密集的应用经过修改之后也可以在其上运行[EE-GPU]。 ATI和Nvidia的激烈竞争使得GPU越来越快,并且现在SLI技术再次被用于将两个GPU耦合在一起获得更高的计算能力(3D fax的Vodoo3显卡最早使用了SLI技术)。 虽然GPU是Cell的唯一竞争者,但基于很多原因GPU似乎并不能追赶上Cell。 Cell在一开始时就比GPU具有更多的通用性,SPE并不是针对图形专门设计的,因此对于开发者而言改写非3D算法所需要的工作会更少。 Cell有更通用的PPE和SPE共享快速的存储器。这与PC有本质区别,PC上的GPU有自己的高速存储器并且只能通过AGP总线(或者PCI- Express总线)来访问系统主存。PCI Express可以加速性能,但与CPU共享的总线性能总是会受限的。而且PCI xpress还没有得到厂商的完全支持,目前GPU从GPU向主存传输数据相当慢。 Nvidia或者ATI不会很快赶上Cell性能还有另外一个原因。上一次PC虽然快速赶上并超过PS2,但这次Sony似乎希望这个过程要更困难一下,因此Cell以高度aggressive的方式来进行设计。 Cray因子 Cray因子是Intel,AMD,Nvidia和ATI都无言以对的。 从专利上可以明显的看出设计者在开发Cell体系结构时的方法。在设计这样的系统时往往有很多折中,几乎在所有的场合Cell的设计者都没有选择折中而是直接选择了性能,即使这会使得程序员的工作变得相当复杂。 Cell的设计和现代微处理器有巨大差距,那些看起来不可缺少的部分被彻底改变或者整个去除了。计算的首要原则,现代计算的基础-抽象-被完全抛弃,在这里没有JIT,你可以直接访问硬件。这是极度aggressive的设计方法,比你在其他任何其他系统中看到的都更aggressive, Alpha处理器即使在全盛时期也没有接近这样的aggressive。在追求纯净,不搀杂,实在的性能过程中设计者设计了一个只有Seymour Cray的设计才能与之相提并论的处理器。 从60年代到90年代IBM和Cray之间争相建造最快的计算机。Cray每次都获得了完美的胜利,他将性能边界提高到这样的水平:最后能击败Cray设计的只能是下一代Cray设计。 IBM制造了灵活的商用机器,Cray选择更少的灵活性和特性,大部分设计都在追求无止境的速度。如果仔细看一下未来GPU的开发计划[DirectX Nextt],显然他走的是一条灵活-特性的道路。这是一个软件厂商期望的系统。软件商们将开始使用GPU上的虚存,并且已经开始使用一个cache缓存来保存最常用的数据,事实上看起来GPU将迅速成为一个通用CPU。 Cell的方式和Cray一样。虚存占用空间并且延缓数据访问。在Cell体系结构中有虚存但不是在运行期runtime,OS保存虚拟的地址直到一个软件Cell可以通过实际地址从Memory中读写数据。Cell同样具有一个简单受限的存储包含机制,一小块片上的存储空间保存了表示哪个SPE可以访问哪块存储的表格,这个表格很小并且永不被flush,这意味着它的速度会很快。 CPU和GPU使用Cache来隐藏访问主存的延时,Cray并不使用Cache而仅仅是将主存做得超级块。Cell使用了相同的方法,在SPE中没有明显的cache,只有很小但是非常快速的本地存储器。本地RAM不需要一致性协议并且可以直接寻址,程序员总能知道里面存储了什么,应用需要声明每一个载入。由于这降低了复杂度并且少量的本地RAM将非常快,甚至比Cache还快。如果在每个时钟周期可以传输两个机器字(256bit),就可以实现 147GB/s的性能,并且永远不会发生Cache失效。 在设计Cell体系结构时的aggressiveness意味着要产生一个可比较性能的对手很难,很难。x86结构是没有希望的,如果要追上cell, x86最终不得不复制Cell的设计。GPU同样也很难达到目的,GPU的时钟速度落后Cell十倍,产生大得多热量并且最高性能部分只有占很低比例。如果要接近Cell的工作频率,GPU的设计需要全盘重新考虑。 Cell设计者没有用砷化镓来生产芯片,也没有将他们浸泡在液态氟中,因此他们并没有达到和Seymour Cray一样的aggressive,但是PlayStation 4还会这样么... ... 替代选择 可能其它未提及的厂商可以使用不同的设计哲学制造一个高性能的多核心向量处理器。这完全可能并可以接近Cell的性能,这是由于Cell为了高主频而选择的设计可能引入某些限制。如果使用一个更低的主频,它就可以允许更慢并且更小的晶体管。这意味着可包含的向量单元可以增加,并且更重要的是片上存储空间可以加大。作为高主频的弥补,更小的存储带宽将运行更慢但更低成本的RAM。 这可能并不是Cell针对性能的做法,但是由于处理器可以更好的从额外的RAM获得足够数据。功耗可以比现在的Cell更低但是可扩展性并不是全部市场都需要的。在嵌入式市场社有足够多的公司沉醉在Cell中,因此可能很快从这些公司中可以看到通用的设计。PC处理器和VPU的制造商也可以使用这样的设计,但是如果让新设计在目前的PC体系结构中工作是一个大问题。 结果 Cell是PC有史以来面临的最大的挑战者,由于Cell可以运行相同的软件PC传统在软件上的优势不再明显。在价格和出货量上也不能压倒Cell。最后PC更不能在Cell的基础领域与之竞争,由于Cell由一组公司设计制造,可以向任何人出售,x86不会比Cell更普遍。看来PC终于遇上了他的对手 Microsoft的影响很难判断。由于在Cell上没有相同级别的控制力,微软那么对Cells的支持将相当困难。由于Cells是一个分布式的体系结构,可以使用一个windows机器作为客户机让其他所有都运行Linux或者其他操作系统。多数机器不运行Windows,这一定不讨微软喜欢。 即使主要计算由Cell完成,Windows原则上只提供接口也有问题。移植这个接口需要花费时间,而在Cell上运行的软件Cell是独立的,不需要向任何操作系统移植,软件Cell是对操作系统一无所知的。微软似乎也不会喜欢这一点。 并不清楚STI联盟成员是否有兴趣和PC对决。但是Cell和PC总会在某个地方发生碰撞。 但是即使Cell最终成为决定性的体系结构,这也需要许多年,或者数十年。并且在一些领域Cell对PC并没有特别的优势,因此在很长,很长的时间里x86仍然会存在。 Cell威胁到了目前由Wintel主导的PC工业。Intel和Microsoft过去用于保卫自己的传统招数不再有效,但这并不意味者一切就注定了,永远不要低估这些公司。即使最终什么都不发生,这也会是一场有趣的斗争。 zzCell体系结构解释-第三部分:Cellular ComputingCell不是一个奇特的图形芯片,它试图用于通用计算领域。Navidia提供PS3上的图形硬件似乎验证了这一说法。SPE并不象正常的微处理器一样具有通用性,但是Cell通过包含一个正常PowerPC微处理器的PPE弥补了这一点。
b. 纠错 c. 信号分离 d. 反扰频 De-scrambling e. MPEG视频解码 f. MPEG音频解码 g. MPEG缩放 h. 显示构建 i. 对比度和亮度处理
Cell是PC有史以来面临的最大的挑战者,由于Cell可以运行相同的软件PC传统在软件上的优势不再明显。在价格和出货量上也不能压倒Cell。最后PC更不能在Cell的基础领域与之竞争,由于Cell由一组公司设计制造,可以向任何人出售,x86不会比Cell更普遍。看来PC终于遇上了他的对手。
zzCell体系结构解释-第二部分:进入Cell处理器内部 Cells和常用处理器的一大区别就是在Cell中SPE链接起来以流处理器方式工作的能力。一个流处理器获取数据之后,按照一系列的步骤来处理它。每一个步骤都可以用一个或者多个SPE来实现。
多Bank存储器和SPE对高负载的流应用计算可以让Cell达到峰值工作。在这些应用中Cell可以接近它的理论峰值,并提供比目前任何桌面处理器高出一个数量级的计算能力。 如果获得足够的主频(超过3.0GHz)并且使用专门优化的代码(SSE汇编),5个通过HyperTransport连接起来的双核心Opterons可以达到一个Cell在流处理上相似的性能。 PlayStation 3计划将装备4个Cell。
在没有了解到目前顶级图形卡内部已经达到50GB/s的传输率时,100GB/s看起来时一个巨大的数字,其实不过是将成熟技术的指标在若干年后double了一倍。但以前这些都仅仅是理论数字从来没实际达到,比较而言Cell的带宽将比其他竞争者更加接近于理论峰值,因此会有更好的性能。
在DMAC中有存储系统的保护措施。Memory被分成沙盒"sandboxes",用一个掩码来判定那一个或者一组SPE可以对其进行访问。这个检查过程是访问执行之前在DMAC中进行的。如果用一个SPE试图读写错误沙盒,存储访问将会被禁止。
zzCell 体系结构( Nicholas Blachford) - 第一部分:Cell内部 获得Cell体系结构的细节很困难。相关的通告总是很模糊,直到专利揭示了部分细节,大部分人忽略了这一点。但是刨根问底的人在上面写了一个小故事。不幸的是专利似乎是一个机器人律师以文本形式running Gentoo,阅读就象解密一样。最糟糕的是专利并没有描述Cell的最终系统是怎样的,只是给出了许多不同的选择。【幸亏ISSCC2005和 HPCA2005会议上STI联盟的成员公布了第一款Cell芯片的细节。大多数内容和Nicholas Blachford在04年写这片文章时相差不远。】
b.. 8个SPE c.. DMAC d.. I/O接口÷
b.. 1.3V c.. 有散热器的工作温度85摄氏度 d.. 片外通讯6.4GHz主频
按照IBM的说法Cell处理器是多线程,多核心的,由于SPE基本上肯定不会是多线程的,看来PPE应该是基于Power5核心的-与不久的将来在Apple机器上使用的G6使用一样的核心。IBM声称有这一芯片的开发计划但"下一代970"的叫法让大家感到困惑。 当然IBM也有可能开发了一个完全不同,以前从未提到的64位处理器。从IBM的行事方式看这并非没有可能。在蓝色基因超级计算机种使用的 440处理器与可以在嵌入式系统中发现的440已经完全不同了,但仍然使用440这个名字。 如果PPE基于Power设计,那么不能期望很高的主频,Power核心功耗巨大,因此需要降低主频以降低功耗。【事实上PPE是一个简化的Power结构处理,顺序执行双发射双线程,高主频的简单设计】 PS3据称有4个Cell因此内部可能有4个基于Power的核心。如果意识到PPE实际上不过是控制器,真正的运算在SPE上,就不会对这样的设计感到惊讶了。
SPE并不是协处理器,他们完全是独立的处理器。PPE使用软件Cell建立SPE环境,并驱使他们开始运算。SPE执行软件Cell中的 apulet直到完成或者被通知停止。PPE通过远程过程调用RPC唤醒SPE,RPC并非直接送到SPE,而是通过执行所有存储器读写的DMAC来完成的。
SPE是向量(Vector或者SIMD)处理器,可以在一条指令中同时完成多个操作。向量计算从1970开始就运用在超级计算中,现代处理器中的多媒体扩展(SSE或AltiVec)是同样的原理。每个SPE每周期可以完成4个32位操作(如果算上乘加操作则是8个)。运行的程序必须被向量化,在很多诸如视频,音频,3D图形和科学计算这样的应用领域这是可行的。
向量单元SPE和PowerPC G4和G5中使用的AltiVec单元(VMX)类似。但是多处不同说明了他们的区别。首先寄存器的数目从AltiVec的32个增长到128个,其次 SPE使用了本地存储而AltiVec没有,再次Altivec是PowerPC指令级的一个扩展,作为PowerPC处理器的一部分工作,而SPE是完全独立的处理器。无疑他们有很多相似的地方,但是不能期望存在任何直接的兼容性。但是在两者之间的转化应该不会太复杂。 http://www.blachford.info/computer/Cells/Cell_APU.gif
SPE本地存储器
传统的处理器执行寄存器操作来读写主存,直接访问主存比Cache慢上百倍。Cache被用来保存主存中的部分正在使用的内容,当你在操作 1MB的数据时往往只有很小的一部分(可能只是几百字节)会出现在Cache中,有很多Cache的设计可以保存更多甚至全部的内容,但由于太贵或者太慢都没有被使用。 如果需要的数据没有在Cache中处理器暂停等待获得数据,这将让处理器空转上百周期。高端服务器处理器(Power,Itanium这类具有大容量快速Cache)在等待存储器上的开销会达到总运行时间的80%。 双核心处理器很快就会成为主流,通常两个核心需要共享Cache。另外如果其中一个核心或者其他系统组件试图访问Cache中的同一块数据,陈旧的数据需要更新。 支持这些复杂操作将在逻辑设计和时间上付出巨大开销,同时限制了传统系统中访问主存的速度,随着处理器核心的增多问题复杂度也在增加。传统处理器中的Cache加速了访存,这是折中的结果。
为了解决Cache设计带来的复杂性并提高性能,Cell设计师选择了一条独一无二的激进道路。他们在Cell中使用了一系列的本地存储器,每个SPE一份,总共有8个本地存储器。 SPE通过寄存器操作来读写本地存储器。本地存储器以1024b的块来访问主存,但是SPE并不能直接访问主存。 不使用Cache工作模式,设计师可以剔除很多复杂设计。本地存储器只能由单一的SPE访问,并没有任何与SPE或者本地存储器直接相连的一致性访问机制。 这听起来象是一个难以编程很不灵活的系统,但可以让SPE寄存器达到难以置信的速度。对一个SPE而言,如果一个周期内两个寄存器可以从本地存储器中读写数据,那么将实现147GB/s的吞吐率,所有本地存储将获得上TB/s的高带宽--目前在消费市场上的任何使用Cache的处理器都无法接近这一指标。 SPE需要足够的数据,通过使用本地存储器Cell设计师证明能够提供足够的带宽。
虽然在SPE之间不存在一致性机制,但是有一种给RAM中某些额外数据在本地存储中加入额外"busy"的机制,以避免两个SPE同时访问相同存储器时产生问题。在相关专利中极多的图表用于解释这一机制。由于仅仅标记数据是否可读取以及哪一个SPE试图获取数据,这个系统是比保持Cache与最新内容一致简单得多的实现。
zzCell 体系结构( Nicholas Blachford) - 介绍Sony,Toshiba和IBM(简称为STI联盟)为PlayStation 3设计的"Cell 处理器"承诺未来的计算能力将迅速达到极低的价格。后文中包含了Cell 体系结构,及其深远的影响,这些影响并不仅仅局限于游戏市场,它将遍布整个计算机工业界。
第一部分:Cell内部在第一和第二部分将分析Cell体系结构,第一部分涵盖了Cell处理器中硬件。
b.. 什么是Cell体系结构 c.. Power结构处理单元PPE(Power Processing Element or PU:Processor Unit) d.. 附加处理单元(Synergistic Processing Element or APU:Attached Processor Units) e.. SPE本地存储 第二部分继续Cell的内部结构分析,流处理(stream processing)机制和Cell软硬件的其他部分a.. 流处理b.. 硬实时处理 c.. DMAC (DMA直接存取通道) d.. 存储 e.. Software Cell f.. 多Cell群 g.. 硬件DRM h.. 其它以及未来可能的设置 第三部分:cell计算Cellular Computing于正常的CPU不同,Cells的主要性能来自向量处理单元SPE,这部分将关注可以从Cells获益的应用。
b.. 游戏 c.. 3D图形 d.. 视频 e.. 音频 f.. DSP(数字信号处理) g.. SETI(search for extraterrestrial intelligence 探索外星智能生物?) h.. 科学计算 i.. 超级计算 j.. 服务器 k.. 流处理应用 l.. 不能加速的应用 第四部分:Cell与PC的对比虽然有许多其他平台在各个方面显示出更高的水平,x86 PC几乎获得了整个计算机市场。这部分将考察PC如何走上主导位置以及为何Cell能将其拉下王座。
b.. Cell与x86 c.. Cell与软件 d.. 攻击 e.. Cell与苹果 f.. Cell与GPU 图形图像处理器 g.. Cray因子 h.. 结果 第五部分:结论和引文a.. 小节b.. 结论 c.. 引文和进一步的阅读材料 |
|
|