Syntezátor reality RSX - RSX Reality Synthesizer
Na RSX 'Reality Synthesizer' je proprietární grafický procesor (GPU) codeveloped od Nvidia a Sony pro PlayStation 3 herní konzole. Jedná se o GPU založený na grafickém procesoru Nvidia 7800GTX a podle Nvidia jde o hybridní architekturu G70 / G71 (dříve známou jako NV47) s některými úpravami. RSX má oddělené kanály vrcholů a shaderů pixelů . GPU využívá 256 MB GDDR3 RAM taktovanou na 650 MHz s efektivní přenosovou rychlostí 1,3 GHz a až 224 MB hlavní paměti XDR 3,2 GHz přes CPU (max. 480 MB). I když nese většinu grafického zpracování, je Cell Broadband Engine , procesor konzoly , také používán doplňkově pro některé výpočetní zátěže konzoly související s grafikou.
Specifikace
Pokud není uvedeno jinak, jsou následující specifikace založeny na tiskové zprávě společnosti Sony na konferenci E3 2005, prezentacích ze stejné konference a prezentacích společnosti Sony na konferenci Game Developer Conference 2006 .
- Hodiny shaderu 550 MHz / hodiny shaderu 500 MHz Vertex shader v procesu 90 nm (zmenšeno na 65 nm v roce 2008 a na 40 nm v roce 2010), 300+ milionů tranzistorů
- Na základě NV47 ( architektura Nvidia GeForce 7800 )
- Malý Endian
- 24 jednotek filtrování textury (TF) a 8 jednotek textury adresování vrcholů (TA)
- 24 filtrovaných vzorků za hodinu
- Maximální rychlost výplně Texel: 13,2 Gigatexelů za sekundu (24 textur * 550 MHz)
- 32 nefiltrovaných vzorků textury za hodiny (8 TA * 4 vzorky textury)
- 8 vykreslovacích výstupních jednotek (ROP) / potrubí vykreslování pixelů
- Maximální rychlost pixelu (teoretická): 4,4 Gigapixelů za sekundu
- Maximální vzorkovací frekvence Z-bufferingu : 8,8 Gigasamples za sekundu (2 Z-vzorky * 8 ROPs * 550 MHz)
- Maximální počet provozovaných produktů: 51 miliard za sekundu (v kombinaci s procesorem Cell)
- Přesnost 128bitových pixelů nabízí vykreslení s vysokým dynamickým rozsahem
- 256 MB GDDR3 RAM na 650 MHz
- Šířka 128bitové paměťové sběrnice
- 20,8 GB / s šířka pásma pro čtení a zápis
- Rozhraní sběrnice Cell FlexIO
- Rambus XDR Šířka sběrnice paměťového rozhraní: 56bit z 64bit (sériový)
- 20 GB / s načteno do buňky a paměti XDR
- 15 GB / s zápis do buňky a paměti XDR
- 576 kB mezipaměti textury (96 KB na kvadrát pixelových potrubí)
- Podpora PSGL (OpenGL ES 1.1 + Nvidia Cg )
- Podpora komprese textury S3
Další vlastnosti: Podpora pro bilineární Trilineární , anizotropní, quincunx textura filtrování, quincunx antialiasing, až 4x MSAA , SSAA , Alpha k pokrytí a Alphakill.
Čísla modelů
90 nm:
- CXD2971AGB
- CXD2971DGB
- CXD2971GB
- CXD2971-1GB
- CXD297BGB
65 nm:
- CXD2982
- CXD2982GB
- CXD2991GB
- CXD2991BGB
- CXD2991GGB
- CXD2991CGB
- CXD2991EGB
40nm:
- CXD5300AGB
- CXD5300A1GB
- CXD5301DGB
- CXD5302DGB
- CXD5302A1GB
Struktura místní paměti GDDR3
- Celková paměť 256 MB
- 2 oddíly (128 MB)
- 64bitová sběrnice na oddíl
- 8 bank na oddíl (16 MB)
- 4096 stránek na banku (4KB) -> 12bitová adresa řádku
- Blok paměti na stránce -> 9bitová adresa sloupce
- Minimální granularita přístupu = 8 bajtů -> stejná jako šířka sběrnice mezi RSX <> GDDR
Mapa paměti RSX
Ačkoli má RSX 256 MB GDDR3 RAM, ne všechny jsou použitelné. Poslední 4 MB je vyhrazeno pro sledování vnitřního stavu RSX a vydaných příkazů. 4 MB dat GPU obsahuje RAMIN, RAMHT, RAMFC, DMA objekty, grafické objekty a grafický kontext. Následuje rozpis adresy do 256 MB od RSX.
Rozsah adres | Velikost | Komentář |
---|---|---|
0000000-FBFFFFF | 252 MB | Framebuffer |
FC00000-FFFFFFF | 4 MB | Data GPU |
FF80000-FFFFFFF | 512 kB | RAMIN: Paměť instance |
FF90000-FF93FFF | 16 kB | RAMHT: Hash tabulka |
FFA0000-FFA0FFF | 4 kB | RAMFC: kontext FIFO |
FFC0000-FFCFFFF | 64 kB | Objekty DMA |
FFD0000-FFDFFFF | 64 kB | Grafické objekty |
FFE0000-FFFFFFF | 128 kB | GRAF: Grafický kontext |
Kromě místní paměti GDDR3 lze k hlavní paměti XDR přistupovat také pomocí rozhraní RSX, které je omezeno na:
- 0 MB - 256 MB (0x00000000 - 0x0FFFFFFF)
- -nebo-
- 0 MB - 512 MB (0x00000000 - 0x1FFFFFFF)
Rychlost, šířka pásma a latence
Šířka pásma systému (teoretické maximum):
- Buňka do / z 256 MB XDR: 25,6 GB / s
- Buňka na RSX (IOIFO): 20 GB / s (praktické: 15,8 GB / s @ velikost balení 128B)
- Buňka od RSX (IOIFI): 15 GB / s (praktické: 11,9 GB / s @ velikost balení 128B)
- RSX na / z 256 MB GDDR3: 20,8 GB / s (@ 650 MHz)
Kvůli výše uvedenému rozložení komunikační cesty mezi různými čipy a rozdílům latence a šířky pásma mezi různými komponentami existují různé přístupové rychlosti v závislosti na směru přístupu ve vztahu ke zdroji a cíli. Následuje graf ukazující rychlost čtení a zápisu do paměti GDDR3 a XDR z pohledu buňky a RSX. Všimněte si, že se jedná o naměřené rychlosti (spíše než o vypočítané rychlosti) a měly by být horší, pokud se jedná o přístup RSX a GDDR3, protože tyto údaje byly měřeny, když byla rychlost RSX taktována na 550 MHz a paměť GDDR3 byla taktována na 700 MHz. Dodaná PS3 má RSX taktovaný na 500Mhz (přední a zadní konec, i když shadery pixelů běží samostatně uvnitř na 550Mhz). Kromě toho byla paměť GDDR3 taktována také níže na 650 MHz.
Tabulka rychlostí
Procesor | 256 MB XDR | 256 MB GDDR3 |
---|---|---|
Přečtení buňky | 16,8 GB / s | 16 MB / s (15,6 MB / s při 650 MHz) |
Zápis buňky | 24,9 GB / s | 4 GB / s |
RSX čtení | 15,5 GB / s | 22,4 GB / s (20,8 GB / s při 650 MHz) |
RSX zápis | 10,6 GB / s | 22,4 GB / s (20,8 GB / s při 650 MHz) |
Vzhledem k velmi nízké rychlosti čtení buněk z paměti 256 MB GDDR3 je pro buňku efektivnější pracovat v XDR a poté nechat RSX stahovat data z XDR a zapisovat do GDDR3 pro výstup na displej HDMI . To je důvod, proč byly do RSX zahrnuty další pokyny pro vyhledávání textur, které umožňují načítání dat z paměti XDR (na rozdíl od místní paměti GDDR3).
Knihovny RSX
RSX se věnuje 3D grafice a vývojáři mohou pro přístup k jeho funkcím používat různé knihovny API. Nejjednodušší způsob je použít PSGL na vysoké úrovni, což je v podstatě OpenGL | ES s přidaným programovatelným kanálem, ale toto je nepopulární kvůli režii výkonu na relativně slabém CPU konzoly. Na nižší úrovni mohou vývojáři použít LibGCM , což je API, které vytváří vyrovnávací paměti příkazů RSX na nižší úrovni. (PSGL je ve skutečnosti implementován nad LibGCM). To se provádí nastavením příkazů (prostřednictvím kontextu FIFO) a DMA objektů a jejich vydáním do RSX prostřednictvím volání DMA.
Rozdíly s architekturou G70
RSX 'Reality Synthesizer' je založen na architektuře G70, ale obsahuje několik změn jádra. Největším rozdílem mezi těmito dvěma čipy je způsob, jakým pracuje šířka pásma paměti. G70 podporuje pouze vykreslování do místní paměti , zatímco RSX je schopen vykreslování do systémové i místní paměti. Vzhledem k tomu, že vykreslování ze systémové paměti má mnohem vyšší latenci ve srovnání s vykreslováním z lokální paměti, musela být architektura čipu upravena, aby se zabránilo výkonu. Toho bylo dosaženo zvětšením velikosti čipu, aby se do něj vešly větší vyrovnávací paměti a mezipaměti , aby grafický kanál zůstal plný. Výsledkem bylo, že RSX má pouze 60% šířky pásma lokální paměti G70, takže vývojáři potřebují k dosažení výkonnostních cílů využívat systémovou paměť.
Rozdíl | RSX | nVidia 7800GTX |
---|---|---|
Paměťová sběrnice GDDR3 | 128 bitů | 256 bitů |
ROP | 8 | 16 |
Mezipaměť po transformaci a osvětlení | 63 max. Vrcholů | 45 max. Vrcholů |
Celková mezipaměť textury na čtvrtinu pixelových kanálů (L1 a L2) | 96 kB | 48 kB |
Rozhraní CPU | FlexIO | PCI-Express 16x |
Technologie | 28 nm / 40 nm / 65 nm / 90 nm | 110 nm |
Mezi další funkce / rozdíly RSX patří:
- Další pokyny shaderu
- Logika vyhledávání textur navíc (pomáhá RSX přenášet data z XDR)
- Rychlý vektor se normalizuje
tiskové zprávy
Zaměstnanci společnosti Sony byli citováni v magazínu PlayStation Magazine a uvedli, že „RSX sdílí mnoho vnitřních funkcí s NVIDIA 7800, která je založena na architektuře G70.“ Vzhledem k tomu, že G70 je schopen provádět 136 shaderových operací za hodinový cyklus, očekávalo se, že RSX bude mít stejný počet paralelních pipeline pixelů a vrcholů shaderu jako G70, který obsahuje 24 pixelů a 8 vrcholů pipeline.
Generální ředitel společnosti Nvidia Jen-Hsun Huang uvedl na tiskové konferenci Sony před výstavou na E3 2005, že RSX je dvakrát tak silný jako GeForce 6800 Ultra.
Viz také
- Xenos - GPU používané v konzole Xbox 360
- Cell Broadband Engine - CPU používaný v systému PlayStation 3