EDN China > 其它文章 > 微处理器与DSP > DSP应用 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

基于CELL Broadband Engine开发高性能应用

IBM公司供稿?? 2006年11月01日 ?? 收藏0

  CELL BE处理器包括一个基于PowerPC架构的控制处理单元Power Processing Element (PPE)以及8个SIMD的协处理器单元——Synergistic Processing Elements (SPE),以及用以连接PPE, 输入输出单元以及SPE的高速环形数据总线——Element Interconnect BUS (EIB)。CELL BE同时还提供了DMA指令和控制机制以用于在不同处理单元之间提供高效的通信。PPE和SPE均为RISC结构,指令字长为32位,寻址空间为64位。 SPE提供最高128位宽的SIMD的数据通路。工作在3.2GHz主频下,单个SPE对8位整型可提供51.2 Billion的峰值计算速度,对单精度浮点可提供25.6 GFlops的峰值计算速度。

  为了提高内存访问速度,CELL BE采用Rambus XDR DRAM内存,提供2个32位的数据访问通道,每个通道的访问速率为12.8GB/s。为了提高I/O访问速度,在CELL BE中采用了高速、可配置的I/O接口——7个发射通道和5个接收通道的Rambus PRAC Flex

IO,FlexIO工作5GHz下时,其发送带宽和接收带宽分别为35GB/s和 25GB/s。

  PPE和SPE都是基于RISC架构,双发射的SIMD处理器。CELL BE中所有的处理单元,I/O控制器,内存控制器都通过高速的EIB(4路128位宽的环形总线)互联。XIO接口提供与Rambus XDR内存的高速互连,FlexIO提供了高速I/O通道。PPE是一个兼容PowerPC 970架构的两路并发多线程处理器,包含一个32kB的L1 Cache(32kB的数据cache和32kB的指令cache), 256kB的L2 Cache以及一个VMX(VMX是PowerPC上的AltiVec多媒体扩展,Apple称为Velocity Engine。VMX本身就是一个向量处理单元,或者说是类似于Intel的SSE,SSE2的SIMD扩展。)单元。操作系统运行于PPE上,PPE负责对SPE进行调度,而SPE则负责主要的计算工作。SPE直接访问本地的Local Storage(LS)。它通过DMA方式访问主存,由DMA负责将指令和数据搬到LS。这种方式能够有效地减小内存读写延迟对处理器利用率的影响,因为 SPE的计算和DMA传输可以并行地进行。SPE是一个高度可配置的处理单元,SPE可以被配置成不同的运行方式和存储保护(Isolation)模式。在存储保护模式下,PPU和其它SPE不能访问该SPE的LS,从而在硬件层次上提供了安全机制。这种机制在一些场合是非常有用的,如 DRM。

基于CELL Broadband Engine开发高性能应用图示

  CELL BE编程模型

  对SPE的编程,可以采用高级语言,如C和C++。并且 CELL BE的编译器及开发包已经对C/C++进行了扩展,以提供对Vector/SIMD的支持。

  实际上,对于应用程序的开发者来说,可以简单的将CELL BE看作一个9路的多处理器。由于PPE是一个双线程双发射、顺序执行的RISC处理单元,它的一个时钟周期可以处理来自两个线程的指令(即所谓硬件多线程SMT),因此加上8个SPE,同一时刻可以有10个任务在同时运行。总的来说,PPE适合作为控制和任务调度处理器,SPE则用于处理计算任务。

  CELL BE 存在多种编程模型,对于简单的SPE程序("small" SPE program)来说,与普通的应用程序编程是类似的。我们需要将任务进行划分,针对不同的SPE编写不同的代码,每个SPE完成一个特定的任务。这种方式下,SPE不需要访问主存,只需访问LS就够了。在这种方式下,SPE的数据段、代码段的大小限制为256kB (LS的大小)。


?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

CELL BE?

上一篇: 双处理器计算机提升系统性能
下一篇: 微缩的力量:透过数据看CPU技术进步
相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
今日头条
精彩图集
有问题请反馈