Fysikkbehandlingsenhet - Physics processing unit
En fysikkbehandlingsenhet ( PPU ) er en dedikert mikroprosessor designet for å håndtere beregninger av fysikk , spesielt i fysikkmotoren til videospill . Det er et eksempel på maskinvareakselerasjon .
Eksempler på beregninger som involverer en PPU kan omfatte stiv kroppsdynamikk , myk kroppsdynamikk , kollisjonsdeteksjon , væskedynamikk , hår- og klesimulering , endelig elementanalyse og brudd på objekter.
Ideen er at spesialiserte prosessorer skal laste ned tidkrevende oppgaver fra datamaskinens CPU, omtrent som hvordan en GPU utfører grafikkoperasjoner i stedet for hoved-CPU-en. Begrepet ble laget av Ageia for å beskrive PhysX -brikken. Flere andre teknologier i CPU-GPU-spekteret har noen funksjoner til felles med det, selv om Ageias produkt var det eneste komplette som ble designet, markedsført, støttet og plassert i et system som utelukkende var en PPU.
Historie
Et tidlig akademisk PPU-forskningsprosjekt ved navn SPARTA (Simulation of Physics on A Real-Time Architecture) ble gjennomført ved Penn State og University of Georgia. Dette var en enkel FPGA -basert PPU som var begrenset til to dimensjoner. Dette prosjektet ble utvidet til et betydelig mer avansert ASIC -basert system ved navn HELLAS.
I februar 2006 ble den første dedikerte PPU PhysX utgitt fra Ageia (senere slått sammen til nVidia ). Enheten er mest effektiv i akselererende partikkelsystemer , med bare en liten ytelsesforbedring målt for stiv kroppsfysikk. Ageia PPU er grundig dokumentert i deres amerikanske patentsøknad #20050075849. Nvidia/Ageia produserer ikke lenger PPUer og maskinvareakselerasjon for fysikkbehandling, selv om det nå støttes gjennom noen av deres grafikkbehandlingsenheter.
AGEIA PhysX
Den første prosessoren som ble annonsert for å være en PPU, ble kalt PhysX -brikken , introdusert av et fabless halvlederfirma kalt AGEIA . Spill som ønsker å dra fordel av PhysX PPU må bruke AGEIAs PhysX SDK , (tidligere kjent som NovodeX SDK).
Den består av en generell RISC-kjerne som styrer en rekke tilpassede SIMD- flytende VLIW- prosessorer som jobber i lokale bankminner, med en switch-fabric for å administrere overføringer mellom dem. Det er ikke noe cache-hierarki som i en CPU eller GPU.
PhysX var tilgjengelig fra tre selskaper i likhet med måten skjermkort produseres på. ASUS , BFG Technologies og ELSA Technologies var hovedprodusentene. PCer med kortene som allerede var installert var tilgjengelige fra systembyggere som Alienware , Dell og Falcon Northwest .
I februar 2008, etter at Nvidia kjøpte Ageia Technologies og til slutt kuttet muligheten til å behandle PhysX på AGEIA PPU og NVIDIA GPUer i systemer med aktive ATi/AMD GPUer, så det ut til at PhysX gikk 100% til Nvidia. Men i mars 2008 kunngjorde Nvidia at det vil gjøre PhysX til en åpen standard for alle, så de viktigste grafikkprosessorprodusentene vil ha PhysX-støtte i neste generasjon grafikkort. Nvidia kunngjorde at PhysX også vil være tilgjengelig for noen av deres utgitte grafikkort bare ved å laste ned noen nye drivere.
Se fysikkmotor for en diskusjon av akademiske forskning PPU -prosjekter.
PhysX P1 (PPU) maskinvarespesifikasjoner
ASUS og BFG Technologies kjøpte lisenser for å produsere alternative versjoner av AGEIAs PPU, PhysX P1 med 128 MB GDDR3:
- Flerkjerneenhet basert på MIPS-arkitekturen med integrert fysikkakselerasjonsmaskinvare og minneundersystem med "tonnevis med kjerner"
- 125 millioner transistorer
- 182 mm 2 dyse størrelse
- Fremstillingsprosess: 130 nm
- Topp strømforbruk: 30 W
- Minne: 128 MB GDDR3 RAM med 128-biters grensesnitt
- 32-biters PCI 3.0 (ASUS har også laget et PCI Express- versjonskort)
- Kulekollisjonstester : 530 millioner per sekund (maksimal kapasitet)
- Konvekse kollisjonstester: 530 000 per sekund (maksimal kapasitet)
- Toppinstruksjonsbåndbredde: 20 milliarder per sekund
Havok FX
Den Havok SDK er en stor konkurrent til PhysX SDK, som brukes i mer enn 150 spill, inkludert store titler som Half-Life 2 , Halo 3 og Dead Rising .
For å konkurrere med PhysX PPU skulle en utgave kjent som Havok FX dra nytte av multi-GPU-teknologi fra ATI ( AMD CrossFire ) og NVIDIA ( SLI ) ved å bruke eksisterende kort for å akselerere visse fysikkberegninger.
Havok deler fysikksimuleringen i effekt- og spillfysikk , med effektfysikk som lastes ned (hvis mulig) til GPU som Shader Model 3.0 -instruksjoner og spillfysikk blir behandlet på CPU som normalt. Den viktige forskjellen mellom de to er at effekt fysikk ikke påvirker spillet (støv eller små rusk fra en eksplosjon, for eksempel); de aller fleste fysikkoperasjoner utføres fremdeles i programvare. Denne tilnærmingen skiller seg vesentlig fra PhysX SDK, som flytter alle beregninger til PhysX -kortet hvis det er tilstede.
Siden Havoks oppkjøp av Intel ser det ut til at Havok FX har blitt skrinlagt eller kansellert.
PPU vs. GPUer
Stasjonen mot GPGPU har gjort GPUer mer egnet for jobben som en PPU; DX10 la til heltall datatyper, enhetlig skyggearkitektur og et geometri -skyggetrinn som gjør at et bredere spekter av algoritmer kan implementeres; Moderne GPU -er støtter databehandlere, som kjører på tvers av et indeksert område og ikke krever grafiske ressurser, bare generelle databuffere. NVidia CUDA gir litt mer i veien for inter-thread kommunikasjon og scratchpad-stil arbeidsområde knyttet til trådene.
Ikke desto mindre er GPU -er bygget rundt et større antall lengre ventetid, langsommere tråder og designet rundt teksturer og rammebuffer -datastier og dårlig forgreningsytelse; dette skiller dem fra PPUer og Cell som mindre godt optimalisert for å overta spillverdenens simuleringsoppgaver.
Den Codeplay Sieve kompilatoren støtter PPU-enheten, hvilket indikerer at den Ageia PhysX brikken ville være egnet for GPGPU typen oppgaver. Men Ageia synes usannsynlig å forfølge dette markedet.
Intel Xeon Phi
I likhet med cellen sitter Xeon Phi mellom CPU og GPU, i spekteret mellom, generell behandling versus spesialisert høyytelses back-end-behandling. Dette bruker hurtigbuffere i stedet for skraper , men klarer likevel å oppnå høy gjennomstrømning.
AMD har erklært sin langsiktige intensjon om å gjøre det mulig for AMD APU-er å bruke Radeon som en vektorkoprosessor, og dele ressurser som hurtigbufferhierarki . Denne fremtidige konfigurasjonen begynte å materialisere seg i form av heterogen systemarkitektur .
PS2 - VU0
Selv om svært forskjellig fra den PhysX, kunne hevdes at PlayStation 2 's VU0 er en tidlig, begrenset gjennomføring av en PPU. Motsatt kan man beskrive en PPU til en PS2 -programmerer som en utviklet erstatning for VU0. Funksjonssett og plassering i systemet er rettet mot å akselerere spilloppdateringsoppgaver, inkludert fysikk og AI; den kan laste ned slike beregninger som fungerer fra sin egen instruksjonsstrøm mens CPU -en opererer på noe annet. Som en DSP er det imidlertid mye mer avhengig av CPU -en for å gjøre nyttig arbeid i en spillmotor, og ville ikke være i stand til å implementere en full fysikk -API, så den kan ikke klassifiseres som en PPU. VU0 er også i stand til å gi ytterligere toppunkts prosessorkraft, selv om dette mer er en egenskap for banene i systemet i stedet for selve enheten.
Denne bruken ligner på Havok FX- eller GPU -fysikk ved at en hjelpeenhets flytepunkteffekt for generelle formål brukes til å utfylle CPU -en i enten grafikk- eller fysikkroller.
Se også
- PhysX
- adapteva
- CELLE
- Digital signalprosessor
- Generell databehandling på grafikkbehandlingsenheter (GPGPU)-for applikasjoner av eksisterende GPUer til de samme fysiske problemene er PPUer designet for
- Microsoft Robotics Studio
- OpenCL
- Abstraksjonslag i fysikk
- Skrapelodd RAM - relevant for den distribuerte minnearkitekturen til Ageia PhysX PPU
- Visjonsbehandlingsenhet
- wiki.nesdev.com Kjente_PPU_revisjoner
- UA6528 Pris og lager
Referanser
Eksterne linker
- AGEIA offisielle nettsted (ikke lenger tilgjengelig)
- AGEIA Physx -prosessornettsted (ikke lenger tilgjengelig)
- Prosjekter som bruker PhysX SDK (ikke lenger tilgjengelig)
- BFG AGEIA PhysX Card Review
- Planet PhysX News & Information Page (ikke lenger tilgjengelig)
- PC -maskinvare: AGEIA PhysX -intervju (ikke lenger tilgjengelig)
- PC -perspektiv: Forhåndsvisning av AGEIA PhysX Physics Processing Unit (ikke lenger tilgjengelig)
- Havok FX physics engine (middleware library) SDK (ikke lenger tilgjengelig)
- NVIDIA CUDA Toolkit og SDK
- PhysX Toolkit og SDK