Fysisk processor

En fysisk processor ( eng.  Physics Processing Unit  - eng.  PPU , "fysisk accelerator", "fysikaccelerator") är en specialiserad mikroprocessor utformad för att beräkna den fysiska interaktionen mellan objekt, huvudsakligen i videospelsfysikmotorer .

Exempel på fysiska beräkningar med en fysisk processor kan vara: stel  kroppsdynamik , mjuk kroppsdynamik ,  kollisionsdetektering , vätskedynamik , rörelsesimulering av hår , päls och tyger , finita elementanalys , objektfel .  

Tanken (huvudfunktionen, essensen) med en fysisk processor är att avlasta den centrala bearbetningsenheten ( eng.  CPU  - eng.  Central Processing Unit ) från tidskrävande bearbetningsfysiska uppgifter. En mycket liknande idé används av moderna grafikkort , vars huvuddel är grafikprocessorer ( engelsk  GPU  - English  Graphics Processing Unit ).

De första fysiska processorerna som utvecklades är SPARTA och HELLAS .

Termen "PPU" myntades av Ageias marknadsavdelning för att beskriva deras PhysX -chip för konsumenter. Ageias PhysX Physical Processor är  den enda kompletta, konstruerade, konstruerade, massproducerade, marknadsförda och stödda instansen som var designad enbart som en PPU . Utöver PhysX finns det andra lösningar och teknologier inom detta område.

Ageia PhysX

Den första processorn som annonserades som en "PPU" var ett PhysX -chip , tillverkat av Ageia . Spel som ville använda PhysX var tvungna att använda speciell underprogramvara  - Ageias PhysX SDK (tidigare känd som NovodeX SDK ) fysikmotor .

PhysX - processorn består av en generell RISC - kärna som styr en uppsättning anpassade VLIW-processorer som arbetar med SIMD- instruktioner och flyttal [1] . Processorn arbetar med lokala minnesbanker med en inbyggd switch för att styra flöden mellan dem. PhysX har inte samma cachehierarki som CPU eller GPU .

Det finns för närvarande inga kort med en PhysX- processor tillgängliga för försäljning. På senare tid producerades brädor av tre företag. ASUS och BFG Technologies var de första företagen som började sälja brädor. Kompletta datorsatser med PhysX-kort installerade finns tillgängliga från datorbyggare som Alienware , Dell och Falcon Northwest.

I februari 2008 , efter att Nvidia köpte Ageia Technologies , verkade det som att all utveckling av det senare var helt överförd till Nvidia. Men i mars 2008 meddelade Nvidia att de skulle göra PhysX SDK till en öppen plattform tillgänglig för alla. [2] PhysX SDK- stöd kommer att vara tillgängligt för alla Nvidia-grafikkort från och med 8xxx-serien. För tillfället förbereder Nvidia för att släppa en ny version av drivrutinerna, som inkluderar stöd för PhysX SDK i dessa grafikkort. Den 24 juli 2008 avslöjades det att Nvidia skulle släppa en WHQL-certifierad ForceWare - drivrutin med stöd för fysikacceleration den 5 augusti 2008 . [3]

Den 28 juni 2008 lanserade Eran Badit från NGOHQ.com PhysX  SDK - hårdvarustöd på Radeon HD 3870 -grafikkortet . [4] NVIDIA reagerade negativt på Eran Badits initiativ, men den 9 juli 2008 fick Badit tillgång till dokumentationen, SDK, hårdvaran och ingenjörernas kontakter. Således öppnar NVIDIA upp PhysX SDK för tredjepartsutvecklare. [5]

Den 15 augusti 2008 släppte NVIDIA drivrutinen ForceWare 177.83, som möjliggör PhysX-stöd i grafikkorten i serierna 8, 9 och 200. Detta utökade omedelbart användarbasen till över 70 miljoner människor världen över. [6] [7]

Sektionslänkar

VU0-samprocessor i PS2 som PPU

Den sjätte generationens Sony PlayStation 2 -spelkonsol använder en 128-bitars " Emotion Engine ", som är en kombination av en central processorenhet (CPU) och en digital signalprocessor (DSP). Emotion Engine består av en central 64-bitars del baserad på MIPS R5900 och två 128-bitars vektorsamprocessorer VU0 och VU1 ( Vektorenhet ) .  VU0 används ofta för polygontransformationer, fysik och andra spelrelaterade saker . VU1 används vanligtvis för polygontransformation, belysning och andra renderingsrelaterade beräkningar.

Trots betydande skillnader från PhysX kan VP0 betraktas som en tidig begränsad fysisk processorimplementering. Dess funktionsuppsättning och placering på mikroprocessorsystemet syftar till att påskynda uppdateringsuppgifter för speltillstånd, inklusive fysik och artificiell intelligens ; VU0 kan avlasta den centrala delen av "Emotion Engine". Eftersom VU0 är en digital signalprocessor, är dock VU0 mycket mer beroende av huvudprocessorn och kan inte implementera hela det fysiska API :et . Det är därför VU0 inte kan klassificeras som en PPU.

Dess användning liknar att använda Havok FX-motorn eller en GPU-fysikaccelerator genom att resurserna för en extern flyttalsenhet för allmänna ändamål som fungerar som en grafik eller fysisk accelerator kompletterar processorns resurser.

Cellprocessor som PPU

STI Cell- processorn , som används i den sjunde generationens Sony PlayStation 3 -spelkonsol , har en liknande struktur som Ageia PhysX-processorn. Designen av processorn skapades med hänsyn till överväganden som liknar Ageia PhysX. Till skillnad från ATI/NVidia GPGPU, och som PhysX, är celldesignen designad med fokus på att förse varje parallell tråd med en större arbetsuppsättning , mer kommunikation mellan trådar och kontroll än en konventionell CPU . Denna design är mycket lämplig för fysisk datoranvändning.  

Termen "PPU" används inte för att beskriva cellen, men den kommer tillsammans med en marknadsföringsskillnad: STI Design Center -alliansen säljer processorn för ett brett utbud av inbäddade applikationer utan spel; och även som en del av PlayStation 3 kan den använda DSP -liknande SPE:er ( Synergistic Processing Elements  - Synergistic Processing Element) för vertexbehandling ( eng  . vertex processing ), ljud, dekompression och andra uppgifter.  

Havok FX

Havok SDK -fysikmotorn är huvudkonkurrenten till PhysX SDK-motorn. Det används i över 150 spel, inklusive spel som Half-Life 2 , The Elder Scrolls IV: Oblivion och Dead Rising . [åtta]

För att konkurrera med den fysiska PhysX-processorn utvecklades Havok FX- konceptet , vars huvudsakliga essens var att använda kraften hos grafikkort för att påskynda vissa fysiska beräkningar. Havok FX skulle endast användas på datorer utrustade med minst två grafikkort anslutna med NVIDIA SLI eller ATI Crossfire . Samtidigt måste ett grafikkort från detta paket allokeras helt för fysiska beräkningar. [9]

Havoks lösning delar in alla fysiksimuleringar i fysikeffekter och "gameplay"-fysik. Fysiska effekter (damm, små fragment och skräp från explosioner, brand) bearbetas med hjälp av grafikkortet på grafikkortet som Shader Model 3.0-instruktioner (Shader Model version 3.0). "Gameplay"-fysiken hanteras av processorn på vanligt sätt. En viktig skillnad mellan de två är att fysiska effekter inte påverkar spelet i spelet; den stora majoriteten av fysiska operationer utförs fortfarande i standardprogramvara av processorn. Detta tillvägagångssätt skiljer sig väsentligt från PhysX SDK-motorn, som omdirigerar alla aktuella fysikberäkningar till PhysX-kortet.

Sedan Intel köpte ut Havok den 15 september 2007 har Havok FX ställts in. Det antogs att Intel skulle frysa projektet med hårdvarustöd för motorn på grafikkorten hos sin konkurrent, AMD, och fokusera på att optimera motorn för sina flerkärniga processorer. [10] [11] [12]

Den 20 mars 2009 kom nyheten att vid den årliga Game Developers Conference 2009-evenemanget skulle AMD och Havok demonstrera fysikacceleration av Radeon -grafikkort . Terry Makedon , produktchef  för ATI Catalyst , sa att på GDC kommer AMD att visa upp sin "ATI GPU Physics"-strategi och genomföra en relaterad demonstration. AMD kommer att använda OpenCL- programmeringsspråket för att accelerera Havok , vars kompilator är en del av ATI Stream SDK-programvarupaketet. [13] [14] [15] [16]

Som utlovat höll AMD och Havok en fysikdemo på GDC 09. För första gången demonstrerades möjligheten att köra "Havok Cloth" på en OpenCL-tillägg. Det angavs att för beräkningarna av detta delsystem krävs en AMD-grafikprocessor med stöd för OpenCL och AMD Stream. Havoks fokus på AMD:s senaste Phenom-processorer med flera kärnor uttalades också . [17] [18] [19]

Sektionslänkar

GPU vs PPU

Utvecklingen av GPGPU- konceptet gör GPU:er mer och mer lämpade för uppgifter som är avsedda för fysiska processorer. DirectX 10 lägger till heltalsdatatyper , en enhetlig shader  - arkitektur och geometriskuggningar till GPU:n, vilket gör att GPU:n kan hantera ett bredare utbud av algoritmer . NVidia CUDA tillhandahåller kommunikation mellan trådar och en arbetsyta i scratchpad - stil associerad med trådar .   

GPU:er är dock designade för att fungera med 3D-datorgrafik. De har längre latens, långsammare strömmar, arbetar med texturer och framebuffer .  Detta skiljer dem från Ageia PPU och Cell som mindre lämpliga för fysisk modellering.

Sieve C++ Parallel Programming System stöder PPU, vilket visar att Ageia PhysX-chippet skulle vara lämpligt för uppgifter av GPGPU-typ.

Sektionslänkar

Intel Larrabee & AMD Fusion

Intels Larrabee  , en bandbreddsoptimerad flerkärnig implementering av x86-arkitekturen, förväntas passa bra för den fysiska processorrollen . Liksom Cell-processorn hamnar Larrabee mellan CPU och GPU när det gäller dess parametrar. Larrabee är designad för multi-tasking multi-trådad bearbetning för allmänt ändamål i motsats till specialiserad högpresterande intern bearbetning. Intel har bekräftat att Larrabees minnesarkitektur inte kommer att använda temporära buffertar som Cell eller Ageia PhysX; istället kommer minnesarkitekturen att ligga närmare den normala CPU-cachehierarkin. Larrabee kommer dock att ha tillägg för att aktivera HPC (mest troligt en komplett ersättning av cachehanteringsinstruktionerna).

2008 tillkännagav AMD sitt AMD Fusion- projekt . AMD Fusion kommer att vara en processor som kombinerar en x86-64 centralprocessor och en grafikprocessor baserad på de senaste modellerna i Radeon -serien på ett enda chip . Olika AMD Fusion- processorresurser , såsom den hierarkiska cachen, kommer att delas. Denna framtida konfiguration kommer sannolikt också att vara lämplig för PPU-rollen.

Anteckningar

  1. Nicholas Blachford. Lets Get Physical: Inside The PhysX Physics Processor  (engelska) (2006). Hämtad 10 juni 2014. Arkiverad från originalet 14 juli 2014.
  2. Ben Hardwidge. Nvidia erbjuder PhysX-stöd till AMD/ATI  (engelska)  (nedlänk) . custompc.co.uk (10 mars 2008). Hämtad 30 mars 2009. Arkiverad från originalet 11 oktober 2008.
  3. Pavel "xAnder" Shubsky. NVIDIA WHQL-drivrutin för PhysX - början av augusti (nedlänk) . Hasardspel (24 juli 2008). Datum för åtkomst: 27 juli 2008. Arkiverad från originalet 28 juli 2008. 
  4. BlackCat. PhysX är hackat och inte längre exklusivt för NVIDIA-kort . IXBT.com (28 juni 2008). Hämtad 9 juli 2008. Arkiverad från originalet 29 juni 2009.
  5. Pavel "xAnder" Shubsky. NVIDIA öppnar PhysX-stöd för ATI Radeon? (inte tillgänglig länk) . Hasardspel (9 juli 2008). Hämtad 9 juli 2008. Arkiverad från originalet 17 maj 2013. 
  6. NVIDIA släpper drivrutinen för PhysX-hårdvarustöd . GameDev.ru (15 augusti 2008). Datum för åtkomst: 27 oktober 2008. Arkiverad från originalet den 5 januari 2012.
  7. Vinnie är chef för tekniska tjänster för XFX Europe. Nästan gratis fysik . RusDoc.ru (14 oktober 2008). Hämtad 19 oktober 2008. Arkiverad från originalet 5 januari 2012.
  8. Spel med Havok (nedlänk) . Hämtad 16 oktober 2008. Arkiverad från originalet 18 april 2012. 
  9. Havok FX produktinformation (nedlänk) . Hämtad 16 oktober 2008. Arkiverad från originalet 2 mars 2007. 
  10. Anton Shilov. GPU-fysik är död för nu, säger AMD:s utvecklingschef Nvidias chefschef förutspår "negativa synergier" med Intels förvärv av Havok  (  otillgänglig länk) . X-bit labs (19 november 2007). Hämtad 27 februari 2011. Arkiverad från originalet 16 februari 2012.
  11. Anton Shilov. Intel ska förvärva  Havok . Bit-tech (15 september 2007). Hämtad 27 februari 2011. Arkiverad från originalet 16 februari 2012.
  12. Arseny Gerasimenko. Intel tillkännagav förvärvet av Havok . 3DNews (17 september 2007). Hämtad 27 februari 2011. Arkiverad från originalet 2 november 2009.
  13. Ben Hardwidge. AMD kommer att demonstrera GPU-fysik på GDC nästa  vecka . Bit-tech (20 mars 2009). Hämtad 23 mars 2009. Arkiverad från originalet 16 februari 2012.
  14. Alexander Shemetov. Fysikacceleration med AMD GPU:er kommer snart . 3DNews (23 mars 2009). Hämtad 23 mars 2009. Arkiverad från originalet 26 mars 2009.
  15. BESS!. AMD kommer att visa "fysikacceleration" i sina GPU:er med Havok API vid GDC2009 (otillgänglig länk) . iXBT (24 mars 2009). Hämtad 24 mars 2009. Arkiverad från originalet 3 juli 2017. 
  16. Pavel Shubsky. AMD kommer att demonstrera fysikbearbetning . Gambling (tidning) (23 mars 2009). Hämtad 24 mars 2009. Arkiverad från originalet 31 mars 2009.
  17. Pavel Shubsky. AMD demonstrerade fysik . Gambling (tidning) (27 mars 2009). Hämtad 27 mars 2009. Arkiverad från originalet 31 mars 2009.
  18. BESS!. AMD och Havok på Game Developers Conference 2009 (länk ej tillgänglig) . iXBT (27 mars 2009). Hämtad 28 mars 2009. Arkiverad från originalet 3 juli 2017. 
  19. Alexander Shemetov. Havok och AMD visade OpenCL-fysik på GDC . 3DNews (29 mars 2009). Hämtad 30 mars 2009. Arkiverad från originalet 30 mars 2009.

Länkar