RSX Reality Synthesizer - RSX Reality Synthesizer
The RSX 'Reality Synthesizer' er en proprietær Graphics Processing Unit (GPU) codeveloped av Nvidia og Sony for Playstation 3 spillkonsoll. Det er en GPU basert på Nvidia 7800GTX grafikkprosessor og er ifølge Nvidia en G70 / G71 (tidligere kjent som NV47) hybridarkitektur med noen modifikasjoner. Rsx har separate verteks- og piksel-skyggelegger rørledninger . GPU bruker 256 MB GDDR3 RAM klokket ved 650 MHz med en effektiv overføringshastighet på 1,3 GHz og opptil 224 MB av 3,2 GHz XDR-hovedminnet via CPU (480 MB maks). Selv om den bærer størstedelen av grafikkbehandlingen, brukes Cell Broadband Engine , konsollens CPU , også komplementært for noen grafikkrelaterte beregningsbelastninger på konsollen.
Spesifikasjoner
Med mindre annet er angitt, er følgende spesifikasjoner basert på en pressemelding fra Sony på E3 2005-konferansen, lysbilder fra samme konferanse og lysbilder fra en Sony-presentasjon på 2006 Game Developer's Conference .
- 550 MHz Pixel Shader Clock / 500 MHz Vertex Shader Clock på 90 nm prosess (krympet til 65 nm i 2008 og til 40 nm i 2010), 300+ millioner transistorer
- Basert på NV47 (Nvidia GeForce 7800- arkitektur)
- Lille Endian
- 24 teksturfiltreringsenheter (TF) og 8 toppunktstrukturadresseringsenheter (TA)
- 24 filtrerte prøver per klokke
- Maksimal Texel fillrate: 13,2 Gigatexels per sekund (24 teksturer * 550 MHz)
- 32 ufiltrerte teksturprøver per klokke (8 TA * 4 teksturprøver)
- 8 gjengivelsesenheter (ROP) / pikselrørledninger
- Topp pixelfyllingshastighet (teoretisk): 4,4 Gigapixel per sekund
- Maksimal Z-buffering samplingsfrekvens: 8,8 Gigasamples per sekund (2 Z-prøver * 8 ROP * 550 MHz)
- Maksimal prikkproduktoperasjon: 51 milliarder per sekund (kombinert med Cell CPU)
- 128-biters pikselpresisjon gir gjengivelse med høyt dynamisk område
- 256 MB GDDR3 RAM ved 650 MHz
- 128-biters minnebussbredde
- 20,8 GB / s lese- og båndbredde
- Cell FlexIO bussgrensesnitt
- Rambus XDR- minnebussbredde: 56bit ut av 64bit (seriell)
- 20 GB / s leses til Cell- og XDR-minnet
- 15 GB / s skriver til Cell- og XDR-minnet
- 576 KB teksturbuffer (96 KB per kvadrat pikslerørledninger)
- Støtte for PSGL (OpenGL ES 1.1 + Nvidia Cg )
- Støtte for S3 teksturkompresjon
Andre funksjoner: Støtte for bilinear, trilinear , anisotropisk, quincunx teksturfiltrering, quincunx antialiasing, opptil 4x MSAA , SSAA , Alpha to Coverage og Alphakill.
Modellnummer
90 nm:
- CXD2971AGB
- CXD2971DGB
- CXD2971NO
- CXD2971-1GB
- CXD297BGB
65nm:
- CXD2982
- CXD2982GB
- CXD2991GB
- CXD2991BGB
- CXD2991GGB
- CXD2991CGB
- CXD2991EGB
40nm:
- CXD5300AGB
- CXD5300A1GB
- CXD5301DGB
- CXD5302DGB
- CXD5302A1GB
Lokal GDDR3 fysisk minnestruktur
- Totalt minne 256 MB
- 2 partisjoner (128 MB)
- 64bit buss per partisjon
- 8 banker per partisjon (16 MB)
- 4096 sider per bank (4KB) -> 12-biters radeadresse
- Minneblokk på en side -> 9-biters kolonne-adresse
- Minimum tilgang granularitet = 8 byte -> samme som busbredde mellom RSX <> GDDR
RSX-minnekart
Selv om RSX har 256 MB GDDR3 RAM, er ikke alt det brukbart. Den siste 4 MB er reservert for å holde oversikt over RSX interne tilstand og utstedte kommandoer. 4 MB GPU-data inneholder RAMIN, RAMHT, RAMFC, DMA-objekter, grafiske objekter og grafisk kontekst. Følgende er en oversikt over adressen innen 256 MB fra RSX.
Adresseområde | Størrelse | Kommentar |
---|---|---|
0000000-FBFFFFF | 252 MB | Ramme buffer |
FC00000-FFFFFFF | 4 MB | GPU-data |
FF80000-FFFFFFF | 512KB | RAMIN: Instansminne |
FF90000-FF93FFF | 16KB | RAMHT: Hash-bord |
FFA0000-FFA0FFF | 4KB | RAMFC: FIFO-kontekst |
FFC0000-FFCFFFF | 64KB | DMA-objekter |
FFD0000-FFDFFFF | 64KB | Grafiske objekter |
FFE0000-FFFFFFF | 128KB | GRAFIK: Grafisk kontekst |
Foruten lokalt GDDR3-minne, kan hovedXDR-minne også nås av RSX, som er begrenset til enten:
- 0MB - 256MB (0x00000000 - 0x0FFFFFFF)
- -eller-
- 0MB - 512MB (0x00000000 - 0x1FFFFFFF)
Hastighet, båndbredde og ventetid
Systembåndbredde (teoretisk maksimum):
- Celle til / fra 256 MB XDR: 25,6 GB / s
- Celle til RSX (IOIFO): 20 GB / s (praktisk: 15,8 GB / s @ pakkestørrelse 128B)
- Celle fra RSX (IOIFI): 15 GB / s (praktisk: 11,9 GB / s @ pakkestørrelse 128B)
- RSX til / fra 256 MB GDDR3: 20,8 GB / s (@ 650 MHz)
På grunn av det nevnte oppsettet av kommunikasjonsveien mellom de forskjellige sjetongene, og latens- og båndbreddeforskjellene mellom de forskjellige komponentene, er det forskjellige tilgangshastigheter avhengig av retningen til tilgangen i forhold til kilden og destinasjonen. Følgende er et diagram som viser hastigheten på lese og skrive til GDDR3- og XDR-minnet fra synspunktet til Cell og RSX. Merk at disse er målte hastigheter (i stedet for beregnede hastigheter), og de bør være verre hvis RSX og GDDR3-tilgang er involvert, fordi disse tallene ble målt da RSX ble klokket på 550 MHz og GDDR3-minnet ble klokket på 700 MHz. Den leverte PS3 har RSX klokket inn på 500 MHz (front og bakenden, selv om pikselskyggene kjører separat inne på 550 MHz). I tillegg ble GDDR3-minnet også klokket lavere på 650 MHz.
Hastighetsbord
Prosessor | 256 MB XDR | 256 MB GDDR3 |
---|---|---|
Cell Les | 16,8 GB / s | 16 MB / s (15,6 MB / s ved 650 MHz) |
Celle Skriv | 24,9 GB / s | 4 GB / s |
RSX Les | 15,5 GB / s | 22,4 GB / s (20,8 GB / s @ 650 MHz) |
RSX Skriv | 10,6 GB / s | 22,4 GB / s (20,8 GB / s @ 650 MHz) |
På grunn av den veldig sakte Cell Read-hastigheten fra 256 MB GDDR3-minne, er det mer effektivt for cellen å jobbe i XDR og deretter få RSX til å hente data fra XDR og skrive til GDDR3 for utdata til HDMI- skjermen. Dette er grunnen til at ekstra teksturoppslaginstruksjoner ble inkludert i RSX for å tillate innlasting av data fra XDR-minne (i motsetning til det lokale GDDR3-minnet).
RSX-biblioteker
RSX er dedikert til 3D-grafikk, og utviklere kan bruke forskjellige API-biblioteker for å få tilgang til funksjonene. Den enkleste måten er å bruke PSGL på høyt nivå, som i utgangspunktet er OpenGL | ES med programmerbar rørledning lagt til, men dette er upopulært på grunn av ytelsesomkostningene på en relativt svak konsoll-CPU. På et lavere nivå kan utviklere bruke LibGCM , som er en API som bygger RSX kommandobuffere på et lavere nivå. (PSGL er faktisk implementert på toppen av LibGCM). Dette gjøres ved å sette opp kommandoer (via FIFO Context) og DMA Objects og utstede dem til RSX via DMA-samtaler.
Forskjeller med G70-arkitekturen
RSX 'Reality Synthesizer' er basert på G70-arkitekturen, men har noen få endringer i kjernen. Den største forskjellen mellom de to sjetongene er måten minnebåndbredden fungerer på. G70 støtter bare gjengivelse til lokalt minne , mens RSX er i stand til å gjengi til både system og lokalt minne. Siden gjengivelse fra systemminnet har mye høyere ventetid sammenlignet med gjengivelse fra lokalt minne, måtte brikkens arkitektur endres for å unngå ytelsesstraff. Dette ble oppnådd ved å forstørre chipstørrelsen til større buffere og cacher for å holde grafikkrørledningen full. Resultatet var at RSX bare har 60% av den lokale minnebåndbredden til G70, noe som gjør det nødvendig for utviklere å bruke systemminnet for å oppnå ytelsesmål.
Forskjell | RSX | nVidia 7800GTX |
---|---|---|
GDDR3 minnebuss | 128bit | 256bit |
ROP-er | 8 | 16 |
Post Transform og lysbuffer | 63 maksimale hjørner | 45 maksimale hjørner |
Total teksturbuffer per firkant av pixelrør (L1 og L2) | 96 kB | 48 kB |
CPU-grensesnitt | FlexIO | PCI-Express 16x |
Teknologi | 28 nm / 40 nm / 65 nm / 90 nm | 110 nm |
Andre RSX-funksjoner / forskjeller inkluderer:
- Flere skyggeanvisninger
- Ekstra teksturoppslagslogikk (hjelper RSX med å transportere data fra XDR)
- Rask vektor normaliserer
pressemeldinger
Sony-ansatte ble sitert i PlayStation Magazine og sa at "RSX deler mye indre arbeid med NVIDIA 7800 som er basert på G70-arkitektur." Siden G70 er i stand til å utføre 136 skyggeleggingoperasjoner per klokkesyklus, ble det forventet at RSX hadde samme antall parallelle piksler og toppunktskyggeledninger som G70, som inneholder 24 piksler og 8 toppunktrørledninger.
Nvidia-sjef Jen-Hsun Huang uttalte under Sonys pre-show pressekonferanse på E3 2005 at RSX er dobbelt så kraftig som GeForce 6800 Ultra.
Se også
- Xenos - GPU brukt i Xbox 360
- Cell Broadband Engine - CPU brukt i PlayStation 3