Fyysinen prosessori

Fyysinen prosessori ( eng.  Physics Processing Unit  - eng.  PPU , "physical accelerator", "physics Accelerator") on erikoistunut mikroprosessori , joka on suunniteltu laskemaan esineiden fyysisiä vuorovaikutuksia pääasiassa videopelien fysiikkamoottoreissa .

Esimerkkejä fysikaalisista laskelmista fysikaalisella prosessorilla voivat olla: jäykkä  kehon dynamiikka , pehmeän kehon dynamiikka , törmäyksen  havaitseminen , nestedynamiikka , liikesimulaatiohiukset , turkki ja kankaat , elementtianalyysi , esineen viat .  

Fyysisen prosessorin idea (päätoiminto, olemus) on kuormittaa keskusyksikkö ( eng.  CPU  - eng.  Central Processing Unit ) aikaa vievistä fysiikan käsittelytehtävistä. Hyvin samanlaista ideaa käyttävät nykyaikaiset näytönohjaimet , joista suurin osa on grafiikkaprosessoreja ( englanniksi  GPU  - English  Graphics Processing Unit ).

Ensimmäiset kehitetyt fyysiset prosessorit ovat SPARTA ja HELLAS .

Termin "PPU" loi Ageian markkinointiosasto kuvaamaan heidän PhysX -siruaan kuluttajille. Ageian PhysX Physical Processor  on ainoa täydellinen, suunniteltu, suunniteltu, massatuotettu, markkinoitu ja tuettu ilmentymä, joka on suunniteltu puhtaasti PPU :ksi . PhysX:n lisäksi tällä alueella on muita ratkaisuja ja teknologioita.

Ageia PhysX

Ensimmäinen prosessori, jota mainostettiin "PPU:na", oli Ageian valmistama PhysX -siru . Pelit, jotka halusivat käyttää PhysX :ää , joutuivat käyttämään erityistä aliohjelmistoa  - Ageian PhysX SDK :ta (aiemmin NovodeX SDK ) fysiikkamoottoria .

PhysX - prosessori koostuu yleiskäyttöisestä RISC -ytimestä, joka ohjaa joukkoa mukautettuja VLIW-prosessoreita, jotka toimivat SIMD - käskyjen ja liukulukujen kanssa [1] . Prosessori toimii paikallisten muistipankkien kanssa, joissa on sisäänrakennettu kytkin, joka ohjaa niiden välistä virtausta. PhysX:llä ei ole samaa välimuistihierarkiaa kuin CPU :lla tai GPU :lla .

Tällä hetkellä ei ole myynnissä PhysX -prosessorilla varustettuja levyjä. Viime aikoina levyjä valmisti kolme yritystä. ASUS ja BFG Technologies olivat ensimmäisiä yrityksiä, jotka aloittivat levyjen myynnin. Täydellisiä tietokonesarjoja, joihin on asennettu PhysX-kortit, on saatavilla tietokoneiden valmistajilta, kuten Alienwarelta , Delliltä ja Falcon Northwestiltä.

Helmikuussa 2008 , kun Nvidia osti Ageia Technologiesin , näytti siltä, ​​että kaikki viimeksi mainitun kehitystyöt siirtyivät kokonaan Nvidialle. Maaliskuussa 2008 Nvidia ilmoitti kuitenkin tekevänsä PhysX SDK :sta avoimen alustan, joka on kaikkien saatavilla. [2] PhysX SDK -tuki on saatavilla kaikille Nvidian näytönohjaimille 8xxx-sarjasta alkaen. Tällä hetkellä Nvidia valmistautuu julkaisemaan uuden version ohjaimista, joka sisältää tuen PhysX SDK :lle näissä näytönohjaimissa. 24. heinäkuuta 2008 paljastettiin, että Nvidia julkaisee WHQL-sertifioidun ForceWare - ohjaimen fysiikan kiihdytyksen tuella 5. elokuuta 2008 . [3]

28. kesäkuuta 2008 Eran Badit NGOHQ.comista  käynnisti PhysX SDK -laitteistotuen Radeon HD 3870 -näytönohjaimelle . [4] NVIDIA reagoi kielteisesti Eran Baditin aloitteeseen, mutta 9. heinäkuuta 2008 Badit sai pääsyn dokumentaatioon, SDK:hen, laitteistoon ja insinöörien yhteystietoihin. Näin ollen NVIDIA avaa PhysX SDK :n kolmansien osapuolien kehittäjille. [5]

NVIDIA julkaisi 15. elokuuta 2008 ForceWare 177.83 -ohjaimen, joka mahdollistaa PhysX-tuen 8-, 9- ja 200-sarjan näytönohjaimissa. Tämä laajensi käyttäjäkunnan välittömästi yli 70 miljoonaan ihmiseen maailmanlaajuisesti. [6] [7]

Osion linkit

VU0-apuprosessori PS2:ssa PPU:na

Kuudennen sukupolven Sony PlayStation 2 -pelikonsoli käyttää 128-bittistä Emotion Engineä , joka on yhdistelmä keskusyksikköä (CPU) ja digitaalista signaaliprosessoria (DSP). Emotion Engine koostuu keskeisestä 64-bittisestä osasta, joka perustuu MIPS R5900:aan ja kahdesta 128-bittisestä vektoriapuprosessorista VU0 ja VU1 ( Vector Unit ) .  VU0:ta käytetään yleisesti polygonien muunnoksiin, fysiikkaan ja muihin pelaamiseen liittyviin asioihin . VU1:tä käytetään yleisesti monikulmion muuntamiseen, valaistukseen ja muihin renderöintiin liittyviin laskelmiin.

Huolimatta merkittävistä eroista PhysX:stä, VP0:ta voidaan pitää varhaisena rajoitettuna fyysisen prosessorin toteutuksena. Sen ominaisuussarja ja sijoittelu mikroprosessorijärjestelmään pyrkii nopeuttamaan pelin tilan päivitystehtäviä, mukaan lukien fysiikka ja tekoäly ; VU0 voi purkaa "Emotion Enginen" keskiosan. Koska VU0 on digitaalinen signaaliprosessori, se on kuitenkin paljon enemmän riippuvainen pääprosessorista, eikä se voi toteuttaa täyttä fyysistä API :ta . Tästä syystä VU0:ta ei voida luokitella PPU:ksi.

Sen käyttö muistuttaa Havok FX -moottorin tai grafiikkasuorittimen fysiikan kiihdytintä siinä mielessä, että grafiikkana tai fyysisenä kiihdyttimenä toimivan ulkoisen yleiskäyttöisen liukulukuyksikön resurssit täydentävät CPU:n resursseja.

Soluprosessori PPU:na

STI Cell -prosessorilla , jota käytetään seitsemännen sukupolven Sony PlayStation 3 -pelikonsolissa , on samanlainen rakenne kuin Ageia PhysX -prosessorilla. Prosessorin suunnittelu luotiin ottamalla huomioon Ageia PhysX:n kaltaiset näkökohdat. Toisin kuin ATI/NVidia GPGPU ja PhysX, Cell-suunnittelussa keskitytään tarjoamaan jokaiselle rinnakkaissäikeelle suurempi työsarja , enemmän säikeiden välistä viestintää ja ohjausta kuin perinteinen prosessori . Tämä muotoilu sopii erittäin hyvin fyysiseen laskemiseen.  

Termiä "PPU" ei käytetä kuvaamaan solua, mutta siihen liittyy markkinointierotus: STI Design Center -liittoutuma myy prosessorin monenlaisiin sulautettuihin sovelluksiin, jotka eivät liity pelaamiseen. ja jopa osana PlayStation 3:a, se pystyy käyttämään DSP :n kaltaisia ​​SPE:itä ( Synergistic Processing Elements  - Synergistic Processing Element) huippupisteiden käsittelyyn ( eng  . vertex processing ), äänentoistoon, pakkauksen purkamiseen ja muihin tehtäviin.  

Havok FX

Havok SDK -fysiikkamoottori on PhysX SDK -moottorin tärkein kilpailija. Sitä käytetään yli 150 pelissä, mukaan lukien pelit, kuten Half-Life 2 , The Elder Scrolls IV: Oblivion ja Dead Rising . [kahdeksan]

Kilpailemaan fyysisen PhysX-prosessorin kanssa kehitettiin Havok FX -konsepti, jonka pääoletus oli käyttää näytönohjainten tehoa tiettyjen fyysisten laskelmien nopeuttamiseen. Havok FX oli tarkoitettu käytettäväksi vain tietokoneissa, joissa on vähintään kaksi näytönohjainta, jotka on kytketty NVIDIA SLI :n tai ATI Crossfiren avulla . Samanaikaisesti yksi näytönohjain tästä paketista oli varattava kokonaan fyysisiä laskelmia varten. [9]

Havokin ratkaisu jakaa kaikki fysiikan simulaatiot fysiikan efekteihin ja "pelin fysiikkaan". Fyysisiä vaikutuksia (pöly, pienet sirpaleet ja roskat räjähdyksistä, tulipalosta) käsitellään näytönohjaimen GPU:lla Shader Model 3.0 -ohjeina (Shader Model versio 3.0). "Pelaamisen" fysiikan hoitaa prosessori tavalliseen tapaan. Tärkeä ero näiden kahden välillä on se, että fyysiset tehosteet eivät vaikuta pelin pelaamiseen. Suurin osa fyysisistä toiminnoista suoritetaan edelleen vakioohjelmistolla suorittimen toimesta. Tämä lähestymistapa eroaa merkittävästi PhysX SDK -moottorista, joka ohjaa kaikki nykyiset fysiikan laskelmat PhysX-kortille.

Intel osti Havokin 15. syyskuuta 2007, Havok FX on peruutettu. Oletuksena oli, että Intel jäädyttää kilpailijansa AMD:n näytönohjainten moottorin laitteistotukiprojektin ja keskittyä moottorin optimointiin moniytimisille prosessoreilleen. [10] [11] [12]

20. maaliskuuta 2009 julkistettiin uutinen, että vuosittaisessa Game Developers Conference 2009 -tapahtumassa AMD ja Havok esittelivät fysiikan kiihdytystä Radeonin näytönohjainkorteilla . Terry Makedon , ATI Catalystin tuotepäällikkö  , sanoi, että AMD esittelee GDC:ssä "ATI GPU Physics" -strategiaansa ja järjestää siihen liittyvän esittelyn. AMD käyttää OpenCL -ohjelmointikieltä nopeuttaakseen Havokia , jonka kääntäjä on osa ATI Stream SDK -ohjelmistopakettia. [13] [14] [15] [16]

Kuten luvattiin, AMD ja Havok pitivät fysiikan demon GDC 09:ssä. Ensimmäistä kertaa kyky suorittaa "Havok Cloth" OpenCL-laajennuksella osoitettiin. Todettiin, että tämän alijärjestelmän laskelmia varten tarvitaan AMD-näytönohjain, joka tukee OpenCL- ja AMD Streamia. Havok keskittyy myös AMD:n uusimpiin moniytimiin Phenom-prosessoreihin . [17] [18] [19]

Osion linkit

GPU vs PPU

GPGPU - konseptin kehitys tekee GPU:ista entistä sopivampia fyysisille prosessoreille tarkoitettuihin tehtäviin. DirectX 10 lisää GPU:hun kokonaislukutietotyyppejä , yhtenäisen  varjostusarkkitehtuurin ja geometrian varjostimet , joiden avulla GPU pystyy käsittelemään laajempia algoritmeja . NVidia CUDA tarjoaa säikeiden välisen viestinnän ja säikeisiin liittyvän Scratchpad - tyylisen työtilan .   

Grafiikkasuorittimet on kuitenkin suunniteltu toimimaan 3D-tietokonegrafiikan kanssa. Niillä on pidempi latenssi, hitaammat streamit, ne toimivat pintakuvioiden ja kehyspuskurin kanssa .  Tämä erottaa ne Ageia PPU:sta ja Cellistä vähemmän sopivina fyysiseen mallinnukseen.

Sieve C++ Parallel Programming System tukee PPU:ta, mikä osoittaa, että Ageia PhysX -siru sopisi GPGPU-tyyppisiin tehtäviin.

Osion linkit

Intel Larrabee & AMD Fusion

Intelin Larrabee  , kaistanleveydelle optimoitu x86-arkkitehtuurin moniytiminen toteutus, odotetaan sopivan hyvin fyysisen prosessorin rooliin . Kuten Cell-prosessori, Larrabee sijoittuu CPU:n ja GPU:n väliin parametrien suhteen. Larrabee on suunniteltu yleiskäyttöiseen moniajo-monisäikeiseen käsittelyyn verrattuna erikoistuneeseen korkean suorituskyvyn sisäiseen käsittelyyn. Intel on vahvistanut, että Larrabee-muistiarkkitehtuuri ei käytä väliaikaisia ​​puskureita, kuten Cell tai Ageia PhysX; sen sijaan muistiarkkitehtuuri on lähempänä normaalia suorittimen välimuistihierarkiaa. Larrabeella on kuitenkin laajennuksia HPC:n mahdollistamiseksi (todennäköisesti välimuistin hallintaohjeiden täydellinen korvaaminen).

Vuonna 2008 AMD ilmoitti AMD Fusion -projektistaan . AMD Fusion on prosessori, joka yhdistää x86-64-keskusprosessorin ja Radeon -sarjan uusimpiin malleihin perustuvan näytönohjaimen yhdellä sirulla . Erilaisia ​​AMD Fusion -prosessoriresursseja , kuten hierarkkinen välimuisti, jaetaan. Tämä tuleva kokoonpano soveltuu todennäköisesti myös PPU-rooliin.

Muistiinpanot

  1. Nicholas Blachford. Lets Get Physical: Inside The PhysX Physics Processor  (englanniksi) (2006). Haettu 10. kesäkuuta 2014. Arkistoitu alkuperäisestä 14. heinäkuuta 2014.
  2. Ben Hardwidge. Nvidia tarjoaa PhysX-tuen AMD / ATI:lle  (englanniksi)  (downlink) . custompc.co.uk (10. maaliskuuta 2008). Haettu 30. maaliskuuta 2009. Arkistoitu alkuperäisestä 11. lokakuuta 2008.
  3. Pavel "xAnder" Shubsky. NVIDIA WHQL -ohjain PhysX:lle - elokuun alku (downlink) . Uhkapelit (24. heinäkuuta 2008). Käyttöpäivä: 27. heinäkuuta 2008. Arkistoitu alkuperäisestä 28. heinäkuuta 2008. 
  4. BlackCat. PhysX on hakkeroitu, eikä se ole enää yksinomaan NVIDIA-korteilla . IXBT.com (28. kesäkuuta 2008). Haettu 9. heinäkuuta 2008. Arkistoitu alkuperäisestä 29. kesäkuuta 2009.
  5. Pavel "xAnder" Shubsky. NVIDIA avaa PhysX-tuen ATI Radeonille? (linkki ei saatavilla) . Uhkapelit (9. heinäkuuta 2008). Haettu 9. heinäkuuta 2008. Arkistoitu alkuperäisestä 17. toukokuuta 2013. 
  6. NVIDIA julkaisee ohjaimen PhysX-laitteistotukea varten . GameDev.ru (15. elokuuta 2008). Käyttöpäivä: 27. lokakuuta 2008. Arkistoitu alkuperäisestä 5. tammikuuta 2012.
  7. Vinnie on XFX Europen teknisten palveluiden johtaja. Melkein ilmainen fysiikka . RusDoc.ru (14. lokakuuta 2008). Haettu 19. lokakuuta 2008. Arkistoitu alkuperäisestä 5. tammikuuta 2012.
  8. Pelit Havokilla (downlink) . Haettu 16. lokakuuta 2008. Arkistoitu alkuperäisestä 18. huhtikuuta 2012. 
  9. Havok FX -tuotetiedot (downlink) . Haettu 16. lokakuuta 2008. Arkistoitu alkuperäisestä 2. maaliskuuta 2007. 
  10. Anton Shilov. GPU-fysiikka on kuollut toistaiseksi, sanoo AMD:n kehittäjäsuhteiden päällikkö Nvidian pääjohtaja ennustaa "negatiivista synergiaa" Intelin Havokin hankinnan kanssa  (  linkki ei saavutettavissa) . X-bit labs (19. marraskuuta 2007). Haettu 27. helmikuuta 2011. Arkistoitu alkuperäisestä 16. helmikuuta 2012.
  11. Anton Shilov. Intel ostaa  Havokin . Bit-tech (15. syyskuuta 2007). Haettu 27. helmikuuta 2011. Arkistoitu alkuperäisestä 16. helmikuuta 2012.
  12. Arseni Gerasimenko. Intel ilmoitti ostavansa Havokin . 3DNews (17. syyskuuta 2007). Haettu 27. helmikuuta 2011. Arkistoitu alkuperäisestä 2. marraskuuta 2009.
  13. Ben Hardwidge. AMD esittelee GPU-fysiikkaa GDC:ssä ensi  viikolla . Bit-tech (20. maaliskuuta 2009). Haettu 23. maaliskuuta 2009. Arkistoitu alkuperäisestä 16. helmikuuta 2012.
  14. Aleksanteri Šemetov. Fysiikan kiihdytys AMD GPU:illa on tulossa pian . 3DNews (23. maaliskuuta 2009). Haettu 23. maaliskuuta 2009. Arkistoitu alkuperäisestä 26. maaliskuuta 2009.
  15. BESS!. AMD näyttää "fysiikan kiihdytystä" GPU:issaan Havok API:lla GDC2009:ssa (linkki ei saatavilla) . iXBT (24. maaliskuuta 2009). Haettu 24. maaliskuuta 2009. Arkistoitu alkuperäisestä 3. heinäkuuta 2017. 
  16. Pavel Shubsky. AMD esittelee fysiikan käsittelyä . Uhkapelit (lehti) (23. maaliskuuta 2009). Haettu 24. maaliskuuta 2009. Arkistoitu alkuperäisestä 31. maaliskuuta 2009.
  17. Pavel Shubsky. AMD esitteli fysiikkaa . Uhkapelit (lehti) (27. maaliskuuta 2009). Haettu 27. maaliskuuta 2009. Arkistoitu alkuperäisestä 31. maaliskuuta 2009.
  18. BESS!. AMD ja Havok Game Developers Conference 2009 -tapahtumassa (linkki ei saatavilla) . iXBT (27. maaliskuuta 2009). Haettu 28. maaliskuuta 2009. Arkistoitu alkuperäisestä 3. heinäkuuta 2017. 
  19. Aleksanteri Šemetov. Havok ja AMD esittelivät OpenCL-fysiikkaa GDC:ssä . 3DNews (29. maaliskuuta 2009). Haettu 30. maaliskuuta 2009. Arkistoitu alkuperäisestä 30. maaliskuuta 2009.

Linkit