Cell (微处理器)
编辑Cell(或 Cell Broadband Engine)是 IBM 与 Sony 和 Toshiba 共同开发的一系列处理器。 这些处理器的特点是使用 64 位 PowerPC 内核、流水线架构、支持同步多线程以及使用异构多核架构,这使它们成为并行计算的理想选择。
结构
编辑Cell 处理器的基本概念提供八个协同处理元件 (SPE) 和一个 PowerPC 处理元件 (PPE)。 各个处理器内核通过元素互连总线 (EIB) 链接,每个 CPU 周期最多可以传输 96 字节的数据。 PPE 和 SPE 都可以访问每个 CPU 周期 8 字节的 EIB。 EIB 实现为环形总线(4 × 128 位),时钟频率为 CPU 时钟的一半。 主内存通过内存接口控制器 (MIC) 访问。
协同处理元件 (SPE)
每个 SPE 由一个算术单元 (ALU) 和四个 SIMD 组成,称为协同处理单元(SPU 或 SPX)。 它有 128 个寄存器,每个寄存器的大小为 128 位。 SPE 还包括一个内存流控制器 (MFC),它控制到主内存或其他 SPE 的 DMA 传输,以及它自己的 256 kB 本地内存。
本地存储和存储管理
本地内存(也称为 Load Store Unit,简称 LS)由四个独立的 64 KB 内存块组成,具有六个时钟延迟。 SPU 只能直接与本地内存通信。 完全独立运行的内存流控制器 (MFC) 负责访问主内存、PPE 或其他 SPU 或与之通信。 这意味着各个 SPE 的内存在理论上可以自由划分或通过特定访问权限进行保护。 使用 MFC 可以同时执行总共 16 个存储操作。 通过完全放弃高速缓存,转而采用直接可寻址和基于 SRAM 的本地内存,与高速缓存支持的有序架构相比,内存延迟可以得到控制并保持在相应较低的水平。 这种方法允许程序流受到编译器和直接编程的高度控制,消除了乱序执行或复杂的分支预测的需要,这些会不必要地增加处理器的复杂性以实现高性能。
协同处理单元 (SPU)
一个 SPU 使用总共 23 个阶段长的两条流水线(偶数和奇数)。 偶数管道包含浮点和定点单元,而所有其他功能单元都在奇数管道上。 SPU 每个周期可以执行两条指令(双重发布),每个流水线一条。 这对应于每个时钟最多八个单精度浮点运算。 在 3.2 GHz 的时钟速率下,这导致每个 SPU 的理论性能为 25.6 GFLOPS。仅实现了静态跳跃预测。 因此,编译器的性能在这方面很重要,因为管道危险需要 18 个周期的等待时间。 大量的寄存器集还有助于通过解决循环(循环展开)或允许算法并行执行多次来桥接延迟。SPU 不是协处理器。 它们可以彼此独立工作,并且如果已使用 DMA 调用重新编译和扩展,则还与 PPE 程序代码兼容。 尽管 SPU 是为更具体的应用而设计的,但它们是具有通用指令集的处理器。
电源处理器元件 (PPE)
控制处理器 (PPE) 基于 IBM 的 64 位 PowerPC 架构,与传统的 PowerPC 处理器相比,其流水线的工作方式是一个接一个地工作。 然而,PPE 延迟执行流水线允许乱序执行,至少对于加载指令。 由于它可以同时处理两个线程,因此在相应设置的程序中,由阻塞管道引起的通常的顺序缺点会在较小程度上出现。 PPE 有 512 KB 的二级缓存可用。 CPU 总共有 2.5 MB 的内部存储器。
内容由匿名用户提供,本内容不代表vibaike.com立场,内容投诉举报请联系vibaike.com客服。如若转载,请注明出处:https://vibaike.com/372606/