(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个限制
-
访存:当时的通用处理器架构无法满足,需要新的处理器架构
-
功耗、散热
-
流水线深度、主频
Real-time responsiveness to the user and the network
实时操作系统+非实时操作系统
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函数库提供设备的某些功能。