Fyzikální procesor ( angl. Physics Processing Unit - eng. PPU , „fyzický akcelerátor“, „fyzikální akcelerátor“) je specializovaný mikroprocesor určený k výpočtu fyzikálních interakcí objektů, zejména ve fyzikálních motorech videoher .
Příklady fyzikálních výpočtů pomocí fyzického procesoru mohou být: dynamika tuhého tělesa , dynamika měkkého tělesa , detekce kolize , dynamika tekutin , simulace pohybu vlasů, kožešin a tkanin, analýza konečných prvků , chyby objektů .
Myšlenkou (hlavní funkcí, podstatou) fyzického procesoru je odlehčit centrální procesorovou jednotku ( angl. CPU - angl. Central Processing Unit ) od časově náročných úloh fyziky zpracování. Velmi podobný nápad využívají moderní grafické karty , jejichž hlavní částí jsou grafické procesory ( anglicky GPU - anglicky Graphics Processing Unit ).
První vyvinuté fyzické procesory jsou SPARTA a HELLAS .
Termín „PPU“ byl vytvořen marketingovým oddělením Ageia , aby spotřebitelům popsal jejich čip PhysX . Fyzický procesor Ageia PhysX je jediná kompletní, navržená, navržená, sériově vyráběná, uváděná a podporovaná instance, která byla navržena čistě jako PPU . Kromě PhysX existují v této oblasti další řešení a technologie.
První procesor, který byl inzerován jako „PPU“, byl čip PhysX , vyrobený společností Ageia . Hry, které chtěly používat PhysX , musely používat speciální sub-software – fyzikální engine PhysX SDK (dříve známý jako NovodeX SDK ) od Ageie .
Procesor PhysX se skládá z jádra RISC pro obecné účely , které řídí řadu vlastních procesorů VLIW, které pracují s instrukcemi SIMD a pohyblivou řádovou čárkou [1] . Procesor spolupracuje s lokálními paměťovými bankami s vestavěným přepínačem pro řízení toků mezi nimi. PhysX nemá stejnou hierarchii mezipaměti jako CPU nebo GPU .
Aktuálně nejsou k prodeji žádné desky s procesorem PhysX . V nedávné minulosti desky vyráběly tři společnosti. ASUS a BFG Technologies byly první společnosti, které začaly prodávat desky. Kompletní počítačové sady s nainstalovanými deskami PhysX jsou k dispozici od výrobců počítačů, jako jsou Alienware , Dell a Falcon Northwest.
V únoru 2008 , poté, co Nvidia koupila Ageia Technologies , se zdálo, že veškerý vývoj této společnosti byl kompletně převeden na Nvidii. V březnu 2008 však Nvidia oznámila, že z PhysX SDK udělá otevřenou platformu dostupnou všem. [2] Podpora PhysX SDK bude k dispozici pro všechny grafické karty Nvidia počínaje řadou 8xxx. V tuto chvíli Nvidia připravuje vydání nové verze ovladačů, která zahrnuje podporu PhysX SDK v těchto grafických kartách. 24. července 2008 bylo odhaleno, že Nvidia vydá 5. srpna 2008 ovladač ForceWare s certifikací WHQL s podporou akcelerace fyziky . [3]
Dne 28. června 2008 spustil Eran Badit z NGOHQ.com hardwarovou podporu PhysX SDK na grafické kartě Radeon HD 3870 . [4] NVIDIA reagovala na iniciativu Erana Badita negativně , ale 9. července 2008 dostal Badit přístup k dokumentaci, SDK, hardwaru a kontaktům inženýrů. NVIDIA tak otevírá PhysX SDK vývojářům třetích stran. [5]
15. srpna 2008 vydala NVIDIA ovladač ForceWare 177.83, který umožňuje podporu PhysX v grafických kartách řady 8, 9 a 200. To okamžitě rozšířilo uživatelskou základnu na více než 70 milionů lidí po celém světě. [6] [7]
Odkazy na sekceŠestá generace herní konzole Sony PlayStation 2 využívá 128bitový „ Emotion Engine “, který je kombinací centrální procesorové jednotky (CPU) a digitálního signálového procesoru (DSP). Emotion Engine se skládá z centrální 64bitové části založené na MIPS R5900 a dvou 128bitových vektorových koprocesorů VU0 a VU1 ( Vector Unit ) . VU0 se běžně používá pro polygonové transformace, fyziku a další věci související s hratelností . VU1 se běžně používá pro polygonové transformace, osvětlení a další výpočty související s vykreslováním.
Navzdory významným rozdílům od PhysX lze VP0 považovat za ranou omezenou implementaci fyzického procesoru. Jeho sada funkcí a umístění na mikroprocesorovém systému má za cíl urychlit úlohy aktualizace stavu hry, včetně fyziky a umělé inteligence ; VU0 může vyložit centrální část "Emotion Engine". Jako digitální signálový procesor je však VU0 mnohem více závislý na hlavním procesoru a nemůže implementovat úplné fyzické API . To je důvod, proč VU0 nemůže být klasifikován jako PPU.
Jeho použití je podobné použití enginu Havok FX nebo akcelerátoru fyziky GPU v tom, že zdroje externí univerzální jednotky s pohyblivou řádovou čárkou fungující jako grafický nebo fyzický akcelerátor doplňují zdroje CPU.
Procesor STI Cell , který se používá v sedmé generaci herní konzole Sony PlayStation 3 , má podobnou strukturu jako procesor Ageia PhysX. Design procesoru byl vytvořen s ohledem na úvahy podobné Ageia PhysX. Na rozdíl od ATI/NVidia GPGPU a podobně jako PhysX je konstrukce Cell navržena se zaměřením na to, aby každému paralelnímu vláknu poskytla větší pracovní sadu , více mezivláknové komunikace a ovládání než konvenční CPU . Tento design je velmi vhodný pro fyzické výpočty.
Termín "PPU" se nepoužívá k popisu Cell, ale přichází spolu s marketingovým rozdílem: aliance STI Design Center prodává procesor pro širokou škálu neherních vestavěných aplikací; a dokonce jako součást PlayStation 3 je schopen používat SPE podobné DSP ( Synergistic Processing Elements - Synergistic Processing Element) pro zpracování vertexů ( angl . vertex processing ), zvuk, dekompresi a další úkoly.
Fyzikální engine Havok SDK je hlavním konkurentem enginu PhysX SDK. Používá se ve více než 150 hrách, včetně her jako Half-Life 2 , The Elder Scrolls IV: Oblivion a Dead Rising . [osm]
Aby mohl konkurovat fyzickému procesoru PhysX, byl vyvinut koncept Havok FX , jehož hlavní podstatou bylo využití výkonu grafických karet k urychlení určitých fyzických výpočtů. Havok FX měl být použit pouze na počítačích vybavených alespoň dvěma grafickými kartami připojenými pomocí NVIDIA SLI nebo ATI Crossfire . Současně musela být jedna grafická karta z tohoto balíčku zcela přidělena pro fyzické výpočty. [9]
Havokovo řešení rozděluje všechny fyzikální simulace na fyzikální efekty a fyziku „hratelnosti“. Fyzikální efekty (prach, malé úlomky a úlomky z výbuchů, oheň) jsou zpracovávány pomocí GPU na grafické kartě jako instrukce Shader Model 3.0 (Shader Model verze 3.0). Fyziku „hratelnosti“ řeší CPU běžným způsobem. Důležitý rozdíl mezi těmito dvěma je, že fyzické efekty neovlivňují hratelnost hry; naprostá většina fyzických operací je stále prováděna ve standardním softwaru CPU. Tento přístup se výrazně liší od PhysX SDK enginu, který přesměrovává všechny současné fyzikální výpočty na kartu PhysX.
Od té doby , co Intel koupil Havok 15. září 2007, byl Havok FX zrušen. Předpokládalo se, že Intel zmrazí projekt hardwarové podpory enginu na grafických kartách svého konkurenta AMD a zaměří se na optimalizaci enginu pro své vícejádrové CPU. [10] [11] [12]
20. března 2009 se objevila zpráva, že na každoroční akci Game Developers Conference 2009 AMD a Havok předvedou fyzikální zrychlení grafickými kartami Radeon . Terry Makedon , produktový manažer ATI Catalyst , řekl, že AMD na GDC předvede svou strategii „ATI GPU Physics“ a provede související demonstraci. AMD použije k akceleraci Havok programovací jazyk OpenCL , jehož kompilátor je součástí softwarového balíku ATI Stream SDK. [13] [14] [15] [16]
Jak bylo slíbeno, AMD a Havok uspořádali fyzikální demo na GDC 09. Poprvé byla demonstrována schopnost spustit "Havok Cloth" na rozšíření OpenCL. Bylo uvedeno, že pro výpočty tohoto subsystému je nutný grafický procesor AMD s podporou OpenCL a AMD Stream. Bylo také uvedeno , že se Havok zaměřuje na nejnovější vícejádrové procesory Phenom od AMD . [17] [18] [19]
Odkazy na sekceDíky vývoji konceptu GPGPU jsou GPU stále vhodnější pro úlohy, které jsou určeny pro fyzické procesory. DirectX 10 přidává do GPU celočíselné datové typy , sjednocenou architekturu shaderů a geometrické shadery , které umožňují GPU zpracovávat širší škálu algoritmů . NVidia CUDA poskytuje komunikaci mezi vlákny a pracovní prostor ve stylu zápisníku spojený s vlákny .
GPU jsou však navrženy pro práci s 3D počítačovou grafikou. Mají delší latenci, pomalejší streamy, práci s texturami a framebufferem . To je odlišuje od Ageia PPU a Cell jako méně vhodné pro fyzikální modelování.
Paralelní programovací systém Sieve C++ podporuje PPU, což ukazuje, že čip Ageia PhysX by byl vhodný pro úlohy typu GPGPU.
Odkazy na sekceOčekává se, že Larrabee od Intelu , vícejádrová implementace architektury x86 s optimalizovanou šířkou pásma, bude pro roli fyzického procesoru vhodná . Stejně jako procesor Cell i Larrabee svými parametry spadá mezi CPU a GPU. Larrabee je navržen pro všeobecné účely víceúlohové vícevláknové zpracování na rozdíl od specializovaného vysoce výkonného interního zpracování. Intel potvrdil, že architektura paměti Larrabee nebude používat dočasné vyrovnávací paměti jako Cell nebo Ageia PhysX; místo toho bude architektura paměti blíže k normální hierarchii mezipaměti CPU. Larrabee však bude mít rozšíření umožňující HPC (s největší pravděpodobností kompletní náhrada pokynů pro správu mezipaměti).
V roce 2008 společnost AMD oznámila svůj projekt AMD Fusion . AMD Fusion bude procesor, který kombinuje centrální procesor x86-64 a grafický procesor založený na nejnovějších modelech řady Radeon na jediném čipu . Budou sdíleny různé zdroje procesorů AMD Fusion , jako je hierarchická mezipaměť. Tato budoucí konfigurace bude pravděpodobně vhodná i pro roli PPU.
procesorů | Technologie digitálních|||||||||
---|---|---|---|---|---|---|---|---|---|
Architektura | |||||||||
Architektura instrukční sady | |||||||||
strojové slovo | |||||||||
Rovnoběžnost |
| ||||||||
Implementace | |||||||||
Komponenty | |||||||||
Řízení spotřeby |