物理處理器

物理處理器(英語: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).