科技时代新浪首页 > 科技时代 > 硬件 > 正文

解读多核心Cell处理器:游戏主导发展方向(2)


http://www.sina.com.cn 2005年03月22日 14:42 太平洋电脑网

  文/太平洋译站:石头

二、Cell的宏观概述

  Cell是跟即将到来的AMD和Intel多核心CPU几乎一样的多核心处理器,唯一的差异是Cell的构架不是完全同类的核心集。

  Cell的执行核心

  Cell构架以9个独立核心的配置登场:一个PowerPC Processing Element(PPE)及八个Synergistic Processing Element(SPE)。PPE和SPE是明显不同的,但全部八个SPE是彼此相同的。

  PPE是IBM对Cell方案的主要贡献。它似乎也跟被用在下一代Xbox控制台中的核心非常相似,就是说IBM对Cell所承担的义务并不是一定要让它用在从消费电子到PC的所有设备中,而仅仅是两个主要的游戏控制台而已。

解读多核心Cell处理器:游戏主导发展方向(2)
图为:PPE是IBM对Cell方案的主要贡献

  PPE是一个新核心,不同于IBM制造的其它任何PowerPC核心。虽然PPE拥有现代任何通用微处理器的基本功能,但它有目的地作了简化。PPE在Cell中的作用是处理任何通用微处理器能够运行的任务;基本上任何能够在Athlon 64上运行的就会在PPE上运行。

  PPE配备了64KB L1缓存和512KB L2缓存,并且拥有类似于Intel Hyper Threading的SMT技术。PPE使用了一个严格有序的核心,这在桌面x86市场上从最初的Pentium消亡以来就再没有见到过了(Pentium Pro把无序执行带到了x86市场),所以向有序核心的转变是一个引人注意的地方。PPE还只是一个2流程核心,那意味着它最多能够同时执行两条指令。作为对照,Athlon 64是3流程核心,所以立即可以感觉到,PPE是比任何桌面产品简单得多的核心。PPE还支持IBM的VMX指令集(即Altivec)。跟Cell处理器的其它核心非常相似的是,PPE被设计为运行在非常高的时钟速度下。

  关于PPE没有太多让人感觉不平常的地方,也就是它是一个小,高速,有效率的核心。跟Pentium 4或Athlon 64相比,PPE无疑会落败,但PPE的构架符合性能需求上的变化。例如,商业/办公应用程序中的性能需要非常强劲,非常快的通用微处理器,但游戏控制台中的性能则不然。最初的Xbox使用了修改过的Intel Celeron 733MHz处理器,而当时最快的桌面产品有2.0GHz的Pentium 4和1.60GHz的Athlon XP。假如Cell的第一个应用是Sony的Playstation 3,那么PPE的简单是不出奇的。如果Cell想要进军PC的话,那PPE显然必须得到加强,或至少搭配多个PPE才行。

  Cell的Die的主要部分由八个Synergistic Processing Element(SPE)组成。如果把PPE看作是通用微处理器的话,那么SPE就是稍微有些特殊侧重点的通用处理器了。

解读多核心Cell处理器:游戏主导发展方向(2)
图为:Cell的Die的主要部分由八个Synergistic Processing Element(SPE)组成

  每个SPE是一个功能完整的独立微处理器,但被极度简化了,并且不像PPE那样通用。SPE没有缓存,但每个SPE却拥有256KB的局部存储器(稍后我们将讨论局部存储器和缓存之间的差异)。每个SPE还拥有总共达7个的执行单元,包括一个整数单元,所以SPE能够执行整数运算以及SIMD浮点计算。SPE是双流程的,也就是说它们最多能够执行2条并行的指令。SPE和PPE两者都采用双流程,引起了对Cell晶体管数量和芯片大小的关注,因为增加流程宽度直接关系到这两个关键的项目。

  SPE没有分支预报器,意味着它们完全依靠软件分支预报。编译器有方法能够消除分支,而SPE构架非常有助于像解开回路这样的事情。任何初级程序员对回路都很熟悉,在那里一行或多行代码被重复,直到满足某个条件为止。那个条件(例如i < 100)的校验通常会导致分支,所以消除那个分支的一个办法是简单地解开回路。如果在一个应该执行100次的回路中有一条语句,那要么可以把它留在回路中并照样执行,要么可以取消回路并简单地复制该语句100次。最终结果是相同的 - 唯一的差别是在一种情况下有分支条件,而另一种情况导致了更多行待执行的代码。

  打开回路具有的问题是需要很多寄存器来解开若干循环,那就是每个SPE拥有128个寄存器的原因了。SPE原先应该使用VMX(Altivec) ISA,但由于需要多于32个的寄存器,SPE执行了新的ISA,支持128个寄存器。

  每个SPE在每个时钟只能够处理两条指令,也就是说每个SPE最多能够同时执行两条指令。微处理器的流程宽度在很大程度上可以决定微处理器将有多大;例如,Itanium 2采用6流程核心,所以作为2流程核心的SPE明显小于大多数的通用微处理器。

  最后,我们在SPE上看到的是它们牺牲了一些正常的改进ILP的技巧,以便能够在一个单独的Die上塞进更多的SPE,为了更大的TLP而有效地牺牲掉一些ILP。既然行业前进的方向是这样,那么向极其侧重TLP设计的迁移是很有意义的,但同时,它将相当依赖于使用非常特殊的开发模型的开发商。

  很明显,Cell的设计师把SPE当作运行高度并行化工作量的手段,正如Derek Wilson在他关于AGEIA PhysX PPU的文章中所提到的:“特征很好地适应PC内专门的处理器的图形,它的性质之一就是任务是可无限并行化的。每个帧需要处理数十万,甚至上亿个的像素。渲染需要处理得越细致,并行任务就变得越多。这对物理模型同样成立。相对于现实世界,物理世界是连续的,而不是离散的。拥有越多的处理能力,就能够立刻模拟更多的东西,从而能够越实际地逼近现实世界。”

  由于NVIDIA为Playstation 3提供GPU,所以Cell的SPE阵列在游戏控制台中由一个明确的目的 - 物理及AI处理。许多人认为,SPE的阵列能够接管GPU的像素处理工作量,但对于高性能控制台来说,那不是很有意义的选择。SPE阵列能够提供更好的基于CPU的3D渲染,但对于这个SPE阵列来说,那将是艰苦的工作,不如使用专门的GPU硬件。

[上一页]  [1]  [2]  [3]  [4]  [5]  [6]  [7]  [8]  [9]  [10]
  [11]  [下一页]



评论】【硬件论坛】【推荐】【 】【打印】【下载点点通】【关闭
 

 
新 闻 查 询
关键词

05年老百姓干啥最赚钱


热 点 专 题
百事音乐风云榜投票
严查苏丹红食品
房贷利率上调
F1新赛季 围棋春兰杯
骑士号帆船欧亚航海
安徒生诞辰200周年
购房贷款提前还贷指南
北京在售楼盘分布图
《新浪之道》连载

 
 



科技时代意见反馈留言板 电话:010-82628888-5828   欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

Copyright © 1996 - 2005 SINA Inc. All Rights Reserved

版权所有 新浪网