2021.03.08

(1) Introduction: History of the project

Chip Multi-Processors (CMP)和Dataflow-oriented Multi-Processors是平级的两个概念?

2001年4亿美金开发这个芯片。

  • Holistic design:
    • processor architecture
    • hardware implementation
    • system structures
    • software programming models
  • Key leaderships
  • Flexible design
  • 跨国的超大团队

(1.5) Program objective and challenges

Outstanding performance, especially on game/multimedia applications

3个限制

  1. 访存:当时的通用处理器架构无法满足,需要新的处理器架构

  2. 功耗、散热

  3. 流水线深度、主频

Real-time responsiveness to the user and the network

2021.03.09

实时操作系统+非实时操作系统

Applicability to wide range of platforms

为了得到更广的社区支持,推出基于Linux的软件开发环境

Support for introduction in 2005

为了在4年内推出产品,从头开发新架构时间(4年)不够。主要是软件开发时间不够。于是采用已有的Power架构,作为Cell的基础。

(7.5) Design concept and architecture

新架构名字叫Broadband Processor Architecture,是Power架构添加

  • synergistic processors
  • DMA
  • (多核)同步访问(针对DMA)
  • 实时管理

PPEs(Power Processor Elements)和SPEs(Synergistic Processor Elements)共享内存地址空间。

High design frequency and low supply voltage

3个设计参数互相制约:面积、频率、电压

Power Architecture compatibility

Single-instruction, multiple-data architecture

用于PPE向量部件,且用于SPEs。因此方便在PPE(Power兼容)上编程测试。然后再将程序移到SPEs上。

Power processor element


以下的未看


Synergistic processing element

High-bandwidth on-chip coherent fabric and high-bandwidth memory

High-bandwidth flexible I/O

Full-custom implementation

Extensive pervasive functionality

High-performance, low-cost packaging technology

High-performance, low-power CMOS SOI technology


以上的未看


(2) Programming models and programmability

需要程序员(或是库程序员)考虑SPE的local store,

需要考虑使用SIMD指令

还有啥,说的不详细。

然后是Cell的几个编程模型。各个模型分类方法不同,分别不明显,有重叠。感觉只有两种模型:Function offload model和shared-memory multiprocessor model。

Function offload model

编程模型仍然为通用PC编程模型,即针对PPE的编程。新增SPE的函数库。调用对应函数时,有两个选择PPE版本和SPE版本。这个可由程序员选择,也可由编译器自动选择。(和现在的各类加速器的编程模型一致,OpenCL是不是也是这个模型?)

Device extension model

是Function offload model的特殊情况。SPE函数库提供设备的某些功能。

Computational acceleration model

Streaming models

Shared-memory multiprocessor model

Asymmetric thread runtime model

(1) How the concept addresses the design objectives