rpcs3 中文文档 下载 App

Cell 架构为什么难模拟?一个主核加八个协核的恩怨

PS1、PS2 的模拟器早在 2000 年代就成型了,PS3 的模拟器却迟到了十几年。原因不在游戏多、画质高,而在那颗叫做 Cell Broadband Engine 的处理器——索尼、东芝与 IBM 联合设计的一块「异形」芯片。

Cell 到底长什么样

游戏公司当年写代码时,必须手工把物理模拟、音频解码、贴图处理这类任务拆给各个 SPU 并行跑。也就是说,一个游戏 = 一份为 1+7 核心定制编写的并行程序。

为什么这套结构特别难翻译

普通模拟器做的是「一对一翻译」:把老机器的指令翻译成你电脑的指令。但 Cell 的并行模型在 PC 上没有对应物——你的电脑没有「带私有内存、要靠手工调度」的协核。模拟器必须同时做两件事:

  1. 把 PPU 和 7 个 SPU 的指令各自翻译成 x86-64(或 ARM64)指令;
  2. 忠实重现 8 个核心之间精确的同步时序——错一点,游戏就死锁或者画面撕裂。

这也解释了本站后面所有设置页的思路来源:

一句话记住它

PS3 游戏是一份为「一主七协」手工优化的并行程序,模拟器要在你的电脑上凭空造出这套并行环境,再让游戏以为自己还在原机上跑。想明白这一点,后面每一个设置决策都不再神秘。

相关阅读:PPU 解码器怎么选 · SPU 解码器与线程偏好 · 性能预期