PS3 的 Cell 异构架构与协处理器编程笔记。
- Cell 架构与 SPU 多线程:从 DMA 到 SPURS 移植——DMA/仲裁器由来、Cell/PPE/SPE/EIB 架构、XDR 内存与 128 字节对齐、PPE/SPE 四种协作模式、SPURS 任务派发与线程池替代方案。
PS3 的 Cell 异构架构与协处理器编程笔记。
这篇是把一个自研引擎项目往 PS3 上做 SPU 多线程移植时整理的笔记,从最底层的 DMA 讲起,一路到 Cell 的处理器架构、SPU 的组成,最后落到 SPURS 运行时怎么把任务派到协处理器上跑。
要理解 Cell 为什么长成那样,得先从数据怎么在内存和外设之间搬讲起。
最原始:编程 I/O(Programmable I/O)。 只有一个主控——处理器。外设和内存的每一次交互都要过处理器:处理器先把内存数据读进寄存器,再用总线写到外设。问题很明显——每次读写都吃机器周期,数据量一大,效率就塌了。