340 likes | 630 Views
CELL 体系结构. 033289 孙若曦 033293 刘侃. Sony , Toshiba 和 IBM (简称为 STI 联盟)为 PlayStation 3 设计的 "Cell 处理器 " 承诺未来的计算能力将迅速达到极低的价格。后文中包含了 Cell 体系结构,及其深远的影响,这些影响并不仅仅局限于游戏市场,它将遍布整个计算机工业界。. 引言. CELL 组成. CELL 内部. 那么究竟 Cell 体系结构是怎样的呢?
E N D
CELL体系结构 033289 孙若曦 033293 刘侃
Sony,Toshiba和IBM(简称为STI联盟)为PlayStation 3设计的"Cell 处理器"承诺未来的计算能力将迅速达到极低的价格。后文中包含了Cell 体系结构,及其深远的影响,这些影响并不仅仅局限于游戏市场,它将遍布整个计算机工业界。 引言
CELL内部 • 那么究竟Cell体系结构是怎样的呢? • Cell是一个高性能分布式计算体系结构。它由硬件和软件Cell构成,软件Cell包括数据和程序(称为apulets),它们被送往硬件Cell进行计算并返回结果。
硬件CELL • 一个Cell处理器包含三个主要组成部分。 • 以一个Power处理器单元作为主控处理器(PPE),另外两部分分别是八个单指令多数据流处理器(SPE)与一个可编程DMA控制器(DMAC)。
处理器单元(PPE) • PPE是一个64位的“Power 体系结构”处理器。Power体系结构是IBM一段时间内同时用于描述PowerPC和Power处理器的名词。 • 如果PPE基于Power设计,那么不能期望很高的主频,Power核心功耗巨大,因此需要降低主频以降低功耗。 • PPE实际上不过是控制器,真正的运算在SPE上。
附属处理单元(SPE) • 每一个Cell芯片包含8个SPE。SPE都有各自独立的向量处理单元。包含128个128位寄存器,达到32GFlops的流水浮点单元。SPE同时包含一个256KB的本地存储器而不是Cache结构。
附属处理单元(SPE) • SPE并不是协处理器,他们完全是独立的处理器。PPE使用软件Cell建立SPE环境,并驱使他们开始运算。SPE执行软件Cell中的 apulet直到完成或者被通知停止。PPE通过远程过程调用RPC唤醒SPE,RPC并非直接送到SPE,而是通过执行所有存储器读写的DMAC来完成的。
附属处理单元(SPE) • SPE是向量(Vector或者SIMD)处理器,可以在一条指令中同时完成多个操作。 每个SPE每周期可以完成4个32位操作(如果算上乘加操作则是8个)。运行的程序必须被向量化,在很多诸如视频,音频,3D图形和科学计算这样的应用领域这是可行的。
附属处理单元(SPE) • 非直接的Cache和虚存使得SPE的工作方式与传统处理器不同。这很可能让SPE上的编程变得很困难,但这样的设计是为了降低复杂度并提高性能。
SPE本地存储 • 为了解决Cache设计带来的复杂性并提高性能,Cell设计师选择了一条独一无二的激进道路。他们在Cell中使用了一系列的本地存储器,每个SPE一份,总共有8个本地存储器。 • SPE通过寄存器操作来读写本地存储器。本地存储器以1024b的块来访问主存,但是SPE并不能直接访问主存。 • 不使用Cache工作模式,设计师可以剔除很多复杂设计。本地存储器只能由单一的SPE访问,并没有任何与SPE或者本地存储器直接相连的一致性访问机制。
一致性Coherency • 虽然在SPE之间不存在一致性机制,但是有一种给RAM中某些额外数据在本地存储中加入额外"busy"的机制,以避免两个SPE同时访问相同存储器时产生问题。由于仅仅标记数据是否可读取以及哪一个SPE试图获取数据,这个系统是比保持Cache与最新内容一致简单得多的实现。
直接存取控制器DMAC • DMAC是Cell中非常重要的部分,它充当着通讯集线器hub的功能。PPE并没有直接将指令发往SPE但是会将他们发往DMAC并由后者选择合适的动作,这在载入和保存数据时显得特别重要,同时取消了PPE和SPE直接相连的必要性。
直接存取控制器DMAC • 显然DMAC是Cell设计中最重要的部分之一,虽然其本身并不做任何处理,但是必须满足任意两点之间数十GB/s访存数据流。如果预测正确的话,PS3将具有100GB/s的存储接口,如果均分倒4个Cell上,每个DMAC将需要每秒处理至少25GB。它同时要实现存储保护,能够保证 PPE和SPE之间访存和通讯的顺序,除了高速而外它还是高度复杂的工程部件。
硬实时处理 • 某些流处理需要严格的时间并且"硬"实时数据处理器的设计也已经在考虑中。一个"绝对时钟"被用于保证一个处理操作在说明的时间限制内完成。这个实用的功能同时保证与下一代Cell兼容,因为定时器本身是和处理部分独立的。
存储器 • 与其他处理器一样Cell体系结构中的存储系统也是针对raw speed设计的,它将同时具有低延时和高带宽。前面提到过访存以1024位的块为单位。
存储保护 • 在DMAC中有存储系统的保护措施。Memory被分成沙盒"sandboxes",用一个掩码来判定那一个或者一组SPE可以对其进行访问。这个检查过程是访问执行之前在DMAC中进行的。如果用一个SPE试图读写错误沙盒,存储访问将会被禁止。
Cells和常用处理器的一大区别就是在Cell中SPE链接起来以流处理器方式工作的能力。一个流处理器获取数据之后,按照一系列的步骤来处理它。每一个步骤都可以用一个或者多个SPE来实现。
一个Cell处理器可以通过用一个或者多个SPE承担流中的一个步骤来执行流操作。为了完成流操作,一个SPE从输入中读取数据进入其自身的本地存储器,执行处理步骤,然后将结果写入预先定义的RAM空间中,第二个SPE取走刚刚写入的数据,进行处理并写入RAM中的第二个区域。根据应用的需求,这一序列可以使用多个SPE,同时SPE可以读写多个RAM块。如果单个Cell的计算能力不足,在其他Cell中的SPE可以用来构成更长的链。一个Cell处理器可以通过用一个或者多个SPE承担流中的一个步骤来执行流操作。为了完成流操作,一个SPE从输入中读取数据进入其自身的本地存储器,执行处理步骤,然后将结果写入预先定义的RAM空间中,第二个SPE取走刚刚写入的数据,进行处理并写入RAM中的第二个区域。根据应用的需求,这一序列可以使用多个SPE,同时SPE可以读写多个RAM块。如果单个Cell的计算能力不足,在其他Cell中的SPE可以用来构成更长的链。
软件Cell • 软件Cell是一个包含数据和程序(Apulet)的容器,也包含这个apulet运行所需要的其他数据和指令。软件Cell中包含源、目标和响应地址域,这些内容依赖于使用的硬件网络,软件Cell可以被发送到不同的硬件Cell中。也有独立于网络的地址来定义特殊的Cell。这使得可以在网络上的一台特定主机可以将一个软件Cell发送到任意的硬件Cell。
软件Cell • SPE使用的是虚拟地址,然后一旦DMA命令发射出去虚拟地址就被映射成为实际地址。软件Cell中包含这些DMA命令以从存储器中获得数据进行操作处理,如果SPE被用于处理流,Cell中将包含描述何处读取数据,何处回写结果的命令。一旦SPE初始化建立完毕就被驱使完成Cell。
软件CELL • 每个Cell系统都有其全球惟一的标识符UUID,如果软件Cell必须穿过一个外部网络才能到达其目的Cell系统,那么它将会把自己封装到一个标准网络协议包,如TCP/IP包。下图描述了Cell专利中描述的软件Cell穿越一个链接几个不同基于Cell系统的公用网络时的情形。
多Cell系统怪兽 • 整个Cell体系结构上的重要一环就是并行处理。软件Cell可以漂亮的被送到任何地方,并且这一过程与特定的传输方法是相互独立的。在动态运行时决定软件Cell在哪个硬件Cell上运行构成了Cell体系结构的关键特性。如果需要更多的计算能力,插上更多的Cell就可以了。
游戏GAME • 游戏是当然的设计目标,Cell从一开始就是作为游戏终端进行设计的,如果在游戏上没有良好的表现那肯定有问题。Cell的设计师紧盯raw computing power而不是图形能力,因此我们将看到硬件功能被转移到软件上而开发者有更多的灵活性。现在的问题是PS3是否能成为第一个实时光影跟踪的游戏终端。
3D图形 • 这又是Cell的重要设计目标领域,图形具有巨大的并行特性,可向量化和流化的各种问题可以让SPE得到完全的应用,因此使用的Cell越多就可以获得更快的图形性能。现在有很多不同高性能图形技术方面的研究,希望Cell能够被他们所使用,而这些技术也能通过Cell使自己成为主流技术。如果你认为现在的图形技术已经足够好了,在Cell上你可能会得到某些惊喜。
其它还有视频,音频,数字图像处理,超级计算,服务器等等应用方面。其它还有视频,音频,数字图像处理,超级计算,服务器等等应用方面。
CELL与PC • 极高性能并且廉价的Cell将会是尊敬的PC面临的新挑战。由于巨大软件基础的优势,PC总是能击败每一个竞争者,但是这次这个优势不那么明显了。现在很多软件都可以在linux上运行并且逐渐脱离了对x86处理器和Microsoft的依赖。现在很多PC的性能都超过了实际所需,再加上高速 JIT模拟器这一因素,如果需要的话Cell完全可以脱离PC而提高对PC的兼容能力。
尾声 • Cell将颠覆整个工业界,以前从未有人制造如此大的性能飞跃,即使有接近的也无法以如此低廉的价格提供。PC制造商们将被迫反击,无论 Cell未来在市场中的进展如何,未来几年中所有的处理器都会提供比目前多得多的处理资源。即使Cell最终失败,他也留下的足够多的遗产。