« PlayStation 2硬件架构 (index)

PlayStation 2硬件架构

Chapter 4: 协处理器


目录

  1. 架构
  2. 功能
    1. 矢量处理单元0
    2. 矢量处理单元1
  3. 无限世界
  4. 由您定义工作流程

距离竞争对手推出最新产品已经过去两年了。 如果您读过前一篇文章,刚刚开始读这篇文章,我想您还在等待"那个东西",它能让PS2变得像当年一样强大。 现在,让我来介绍一下索尼在情感引擎中安装的一套非常重要的组件——矢量处理单元(Vector Processing Units,"VPU")。

架构

矢量处理单元是一个独立的小型处理器,专门用于处理矢量,尤其是由四个float组成的矢量。 这些处理器速度极快,每次操作只需一个周期,这对于几何图形的处理极为方便。 尽管它们表现出与CPU的FPU类似的非标准化行为。

矢量单元由以下部分组成:

功能

要开始工作,需要"启动"矢量单元。 为此,主CPU负责提供微代码。

EE中安装有两个VPU,但它们的安排方式不同,因此有不同的用途和优化方式。

矢量处理单元0

Image
VPU0的架构

第一个VPU(VPU0)位于CPU和另一个向量单元(VPU1)之间。 它为主CPU提供"辅助"作用。

VPU0 有两种工作模式:

VPU0的内存映射还可以访问其他VPU的某些寄存器和标志,大概是为了检查其状态或快速读取其他VPU的某些操作结果。

矢量处理单元1

Image
VPU1的架构

第二个VPU(VPU1)是VPU0的增强版,其微型存储器和VU存储器的容量是VPU0的四倍。 此外,该单元还包括一个名为初等函数单元(Elementary function unit,"EFU")的附加组件,可加快指数和三角函数的执行速度。

VPU1位于VPU0和图形接口(通往GPU的"门")之间,因此它包括额外的总线,以便在不使用主总线的情况下尽快将几何图形传送到GPU。

另一方面,由于其位置的原因,VPU1只能在微模式下运行

很明显,这个VPU是为三角运算而设计的,可以作为GPU的预处理器。 因此,它经常负责提供著名的显示列表。

无限世界

过程生成是这些单元可以利用的一种有用方法。 换句话说,与其使用硬编码几何图形构建场景,不如让VPU使用算法生成场景。 在这种情况下,VPU通过计算数学函数来生成几何图形,然后由GPU进行解释(如三角形、直线、四边形等),最终用于绘制场景。

与使用显式数据相比,过程生成内容是并行化任务的理想选择,它可以释放带宽,只需很少的存储空间,而且是动态的(程序员可以设置参数来实现不同的结果)。 许多领域都能从这种技术中获益匪浅:

另一方面,过程生成内容可能难以处理动画,如果算法过于复杂,VPU可能无法在所需时间内生成几何图形。

总之,程序渲染并不是一种新技术,但由于VPU的出现,它为进一步优化和丰富图形打开了大门。 尽管如此,程序渲染技术的实现并不简单,索尼研发部门发表了多篇论文,介绍了在其游戏机上使用的不同方法。

由您定义工作流程

有了这些新功能,程序员在设计图形引擎时就有了很大的灵活性。 为此,索尼投入了更多资源来设计和记录高效的流水线设计。 以下是针对不同类型工作负载进行优化的图形流水线示例:

Image
并行流水线设计

Image
串行流水线设计

在第一个并行设计示例中,CPU与宏模式下的VPU0结合,与VPU1并行生成几何图形。 CPU/VPU0组充分利用Scratchpad和高速缓存,避免使用主总线,而VPU1则依靠主内存获取数据。 最后,两个渲染组同时向GPU发送各自的显示列表。

第二个例子是串行设计,它提出了一种不同的方法,即CPU/VPU0组作为VPU1的预处理器工作。 第一阶段将获取并处理所有几何图形,然后由VPU1将其转化为显示列表。

以上是从理论角度举例说明的,但为了解释更"实际"的实现方法,我将参考Jon Burton发布的一段视频,内容涉及他们开发的一款PS2游戏。

Image
古惑狼2(Crash Bandicoot: The Wrath of Cortex)(2001) 烛火和窗玻璃发出的光都是由微粒形成的

Travellers Tales的前总监解释了他的团队是如何在VPU1中实现完全封装的粒子系统的。 简而言之,VPU1主要是从其VU内存中读取一个预先填充的数据库,该数据库用于计算任何给定时间内粒子的坐标,而无需依赖任何其他组件。 操作结果可以转化为显示列表并立即发送。

通过这种方法,CPU的负荷大大减轻,从而可以执行AI和物理等其他任务。

这样的例子还有很多,但总而言之: 现在,程序员可以找到最佳的设置,这是一件好事。


Previous: 3. 中央处理器 (CPU)

Next: 5. 图形


Rodrigo Copetti © 2026 RSS Feed

切换至现代版

主页 · 文章 · 支持 · 关于作者 · 关于此网站