物理加速卡,也叫物理处理器。
物理处理器是英文Physics Processing Unit的直译叫法,英文缩写为PPU。它能加速的模拟算法包括刚体动力学、碰撞检测、流体模拟、软性物体和物体破裂模拟。通过这种硬件设备,我们能将现在计算机系统的中的处理器从其不擅长的物理模拟和人工智能算法中解放出来,让CPU、GPU和 PPU各自负责自己在游戏中最擅长的部分。PPU使得游戏角色和整个游戏场景有尽乎自然的交互性,把游戏画面呈现的物体都可以尽乎自然的方式进行操纵和影响,尤其应用在电子游戏上。物理学上的刚体动力学、碰撞侦测、流体力学、头发模拟、衣物模拟和物件破坏等效果,均可以这种处理器进行运算。这个概念源自于减轻中央处理器(CPU)的负担,和使用显示核心取代CPU进行绘图运算的原理一样。有关物理数据也可以单纯以一般的CPU去计算,但在速度方面会比PPU慢得多。
第一个物理处理器为SPARTA and HELLAS。
在05年游戏开发者论坛(Game Developers Conference, GDC)上,一家名不见经传的美国半导体设计厂商Ageia发表了世界上第一颗采硬件加速物理运算处理器(Physics Processing Unit, PPU)“PhysX”,有了它在3D游戏和应用中我们可以看到更多真实的物理运算过程。这带来的好处是3D环境中的事物将无比真实,其运动将遵循物理定理而不是按事先指定好的一种或者多种方式进行。可以说,更多的物理运算的加入,可以让3D世界变成真正的世界。
Ageia公司推出的PPU能将现在最顶级处理器模拟物理特征的物体个数从30—40个拓展到40000到50000个,当我们看到这样悬殊的数字对比时,就会明白我们为什么要去关注它了。
如果CPU是为了达到更快的运算速度,GPU是为了达到更好的图像效果,那么PPU就是为了使游戏更加真实。在以前的3D游戏中,大多数的背景和物体都只是一些死死的贴图效果,毫无真实感可言。而在2004发布的FPS游戏大作Half Life 2(半条命2)中,游戏开发商就给了玩家们一个非常真实的物理世界。你可以在游戏中捡起一个废纸盒,然后把它抛向远处,然后可以看见它撞击到墙壁以后反弹到上地面上,溅起一阵灰尘。接近于真实物理效果使得游戏不再是由一个个的贴图组成,任何物体都是可移动的,它们都遵守着游戏中的物理参数,组成了一个“真实”的游戏世界。
Havok开发工具(SDK)是PhysX开发工具的主要竞争者,目前被用于约150个游戏中。为了和PhysX竞争,Havok FX可以使用多绘图处理器的技术来加速物理计算,包括了NVIDIA的SLI和ATI的CrossFire。Havok将物理运算分为特效和游戏运算,特效运算(如爆炸时的烟雾)将会由GPU的Shader Model 3.0来进行运算,进而减轻CPU的负担。而游戏物理运算则仍然由CPU处理。由于英特尔收购了Havok,前者显然希望物理计算由CPU负责,所以由显卡加速Havok FX的开发似乎已经被取消。
Havok面对AGEIA的冲击,将Havok FX物理引擎改造,使之能由显卡硬件处理。根据示范影片,使用显卡的物理运算效果,与独立的一张PhysX卡不相伯仲。而nVidia亦抢先ATi一步,宣伂与Havok合作。配合nVidia的SLi技术,一张显卡能作立体运算,另一张能作物理运算。据了解,nVidia也会参考ATi的三卡方案,两张显卡会在立体计算,另外的一张作独立的物理计算。由于AGEIA公司已被nVIDIA公司收购,后者应该会转用PhysX方案。而NVIDIA亦表明,PhysX的硬件加速会改由显卡负责。
面对nVidia的挑战,ATi亦不甘示弱,亦宣布与Havok合作。由于物理运算部份由像素着色器处理,由于X1900XT的像素着色元件达48个之多,物理运算效能应较nVidia顶级的GeForce 7900强。另外,在AMD Fusion方案中,GPU将会以向量补助运算器的方式来和CPU运算作更紧密的结合。这个组态也非常有可能成为PPU的角色。
Intel的Larrabee技术是个运算能力最佳化的多核心x86构造,有可能成为PPU的角色。Intel已经确认Larrabee技术的内存架构将会类似CPU的快取结构,但是它也提供对快取内存控制的指令。
在PlayStation 3(PS3)内的Cell处理器运作方式类似AGEIA的PhysX处理器。与ATI/NVidia的GPGPU解决方案不同的是,它使用了数个平行的执行绪,每个执行绪都有大型运算单位,并且执行绪之间有更多的沟通和控制。
PlayStation2(PS2)的VU0可以被视为早期PPU应用的发展,VU0可以取代CPU来做额外的AI和物理运算,但也支援额外的顶点运算,让他成为一种额外的补助器而不是一个独立的单元(Unit)。VU0的用途类似于Havok FX和GPU的物理运算。