物理处理器

物理处理器(英语:Physics Processing Unit,缩写:PPU)是电脑专门用来处理物理运算的微型处理器,尤其应用在电子游戏上。物理学上的刚体动力学碰撞侦测流体力学、头发模拟、衣物模拟和物件破坏等效果,均可以这种处理器进行运算。这个概念源自于减轻中央处理器(CPU)的负担,和使用显示核心取代CPU进行绘图运算的原理一样。有关物理数据也可以单纯以一般的CPU去计算,但在速度方面会比PPU慢得多。

第一个物理处理器为SPARTA and HELLAS

物理处理器这个词语来自AGEIA对于他们的产品-PhysX的行销术语,接著有数个方案亦使用了类似的科技,但AGEIA仍然是目前支援最完整的物理处理器。正因为PPU能填补现有3D游戏在物理效果上的不足之处,因此PPU的推出,定会为3D游戏带来重大变化。

AGEIA PhysX

首款推出市面的PPU,是由AGEIA公司开发的PhysX晶片。想要支援AGEIA PhysX的功能必须使用专属的Novodex开发工具来编程,Novodex虽能应用在一般硬件上,利用CPU作软体运算,但应用在PhysX上物理处理器仍是最佳。

2005年7月20日,日本新力公司与AGEIA签约,在PlayStation 3游戏机使用Novodex SDK,而微软也为Xbox 360的开发工具加入Novodex。而3DMark06也内置测试物理卡的环节。

使用PhysX PPU的物理卡,会由多家公司生产,就像现时的显示卡。华硕美国BFG是主要的生产商,这些PPU物理卡会先在戴尔的原厂电脑中使用,直至2006年5月正式单独发售。

2008年2月4日,AGEIA公司正式被NVIDIA公司收购,AGEIA公司技术将被大量应用在NVIDIA公司自家的CUDA运算技术中。将来,支援CUDA技术的显示卡,就可以直接硬体支援PhysX加速。

在NVIDIA收购AGEIA后,总裁黄仁勋如此评价后者:“AGEIA公司的团队是世界级的,他们拥有和我们同样的激情,创造最令人惊叹与最有魅力的游戏体验。通过创造世界上最深入人心的显示核心物理引擎的强强联手,我们可以将GeForce加速的PhysX技术带给全世界数以百万计的游戏玩家。”[1]

GPU对PPU

GPGPU的趋势让GPU越来越适合进行物理运算,DirectX 10更增加了几何著色器提供大量的运算方式可以被套用。NVIDIA的CUDA技术也提供了控制GPU的内部沟通和联合运算。

尽管GPU运算有较大的延迟率,GPU仍然对PPU的发展造成冲击。

Havok FX

Havok开发工具(SDK)是PhysX开发工具的主要竞争者,目前被用于约150个游戏中。为了和PhysX竞争,Havok FX可以使用多绘图处理器的技术来加速物理计算,包括了NVIDIASLIATICrossFire。Havok将物理运算分为特效和游戏运算,特效运算(如爆炸时的烟雾)将会由GPU的Shader Model 3.0来进行运算,进而减轻CPU的负担。而游戏物理运算则仍然由CPU处理。由于英特尔收购了Havok,前者显然希望物理计算由CPU负责,所以由显示卡加速Havok FX的开发似乎已经被取消。

NVIDIA方案

Havok面对AGEIA的冲击,将Havok FX物理引擎改造,使之能由显示卡硬件处理。根据示范影片,使用显示卡的物理运算效果,与独立的一张PhysX卡不相伯仲。而NVIDIA亦抢先ATi一步,宣伂与Havok合作。配合NVIDIA的SLi技术,一张显示卡能作立体运算,另一张能作物理运算。据了解,NVIDIA也会参考ATi的三卡方案,两张显示卡会在立体计算,另外的一张作独立的物理计算。由于AGEIA公司已被NVIDIA公司收购,后者应该会转用PhysX方案。而NVIDIA亦表明,PhysX的硬体加速会改由显示卡负责。

ATI方案

面对NVIDIA的挑战,ATi亦不甘示弱,亦宣伂与Havok合作。由于物理运算部份由像素著色器处理,由于X1900XT的像素著色元件达48个之多,物理运算效能应较NVIDIA顶级的GeForce 7900强。另外,在AMD Fusion方案中,GPU将会以向量补助运算器的方式来和CPU运算作更紧密的结合。这个组态也非常有可能成为PPU的角色。

Intel的Larrabee技术

Intel的Larrabee技术是个运算能力最佳化的多核心x86构造,有可能成为PPU的角色。Intel已经确认Larrabee技术的记忆体架构将会类似CPU的快取结构,但是它也提供对快取记忆体控制的指令。

Cell处理器对PPU

PlayStation 3(PS3)内的Cell处理器运作方式类似AGEIA的PhysX处理器。与ATI/NVIDIA的GPGPU解决方案不同的是,它使用了数个平行的执行绪,每个执行绪都有大型运算单位,并且执行绪之间有更多的沟通和控制。

PS2 - VU0

PlayStation 2(PS2)的VU0可以被视为早期PPU应用的发展,VU0可以取代CPU来做额外的AI和物理运算,但也支援额外的顶点运算,让他成为一种额外的补助器而不是一个独立的单元(Unit)。VU0的用途类似于Havok FX和GPU的物理运算。

参见

外部链接

注释及参考资料

  1. ^ NVIDIA正式收购AGEIA. [2008-02-23]. (原始内容存档于2020-04-09).