geforce-gtx280-novy-kral-3d-prichazi
Hardware Článek GeForce GTX280 - nový král 3D přichází

GeForce GTX280 - nový král 3D přichází | Kapitola 3

Z. Obermaier

Z. Obermaier

16. 6. 2008 01:00 193

Seznam kapitol

1. Úvod - G80, G200 a ti druzí ... 2. GeForce GTX 200 3. Architektura G200 4. Využití výkonu GPU pro náročné výpočty 5. Asus GeForce GTX 280 1GB 6. Testovací sestava 7. Spotřeba a přetaktování 8. Enkódování videa pomocí GPU 9. 3Dmarky 10. World In Conflict DX9 11. Company Of Heroes: Opposing Fronts DX9
12. Supreme Commander: Forged Alliance 13. Crysis DX9 14. Bioshock DX9 15. Unreal Tournament 3 16. Call Of Duty 4 17. Half Life 2: Episode Two 18. Lost Planet DX9 19. Elder Scrolls IV : Oblivion 20. DirectX 10 hry 21. Shrnutí výkonu 22. Závěr

Nová generace grafických karet NVIDIA je zde. Měsíce už se spekuluje o jejich výkonu a možnostech. Zapomeňte dnes na všechny domněnky, fámy a "zaručené" zprávy. Skutečný test nejvýkonnější grafické karty bude možná pro mnohé překvapením, v žádném případě ale ne zklamáním. Výkon karty je skutečně velmi vysoký. S touto generací karet nepřichází pouze herní výkon, ale mnohem širší možnosti využití...aktualizováno o architekturu čipu!

Reklama
GeForce GTX280 - nový král 3D přichází
i Zdroj: PCTuning.cz

Jádro GTX 280 - rozměr 24mm x 24mm

Grafické karty založené na čipu G200 se nazývají GeForce GTX 280 a 260, model GTX 280 je postaven na plném – deseti clusterovém čipu G200 se všemi výpočetními jednotkami. GTX 260 je osazena variantou G200 s osmi aktivními clustery. Dále v textu, budu označovat zkráceně G200, variantu GTX 280. Pojďme se na nový čip podívat blíže.

GTX 280 - 1,4 miliardy tranzistorů

Z fyzikálního hlediska, láme high-end čip G200, vyráběný na 65nm procesu u TSMC (který měla NVIDIA už vyzkoušený s G92), znovu rekordy. Obsahuje ~1,4 miliardy tranzistorů v 576mm^2 jádru, které je chráněné IHS. Podobný počet tranzistorů mají serverové procesory Intelu. Je tu ale jeden velký rozdíl. V případě G200 zabírají 80% čipu logické tranzistory na rozdíl od procesorů, kde většinu prostoru zabírá paměť cache. Náročnost výroby je proto vyšší. Na PCB grafické karty se znovu nachází externí čip NV/IO, do něho byly přesunuty některé IO obvody. Inženýři NVIDIE tímto krokem uspořili místo v samotném jádře G200.

Pro porovnání: G80 má ~ 681 milionů tranzistorů v 482mm^ 2 jádru a G92 okolo 754 milionů v 325mm^2 velkém jádru. Proti G92, je to téměř dvakrát tolik. Tento obrovský počet tranzistorů NVIDIA všechen vložila do výpočetních jednotek. Čistě teoreticky, by měla mít G200 všechny jednotky proti G92 zdvojnásobené. Osmi clusterový G92 obsahuje: 64 TMUs, 128 SPs, 16 ROPs a 256bit sběrnici. V reálu se ale zdvojnásobení nekoná.

GeForce GTX280 - nový král 3D přichází
i Zdroj: PCTuning.cz

G200 představuje, z technického hlediska evoluci čipu G80 s mnohými vylepšeními efektivity,  novými funkcemi a zvýšením počtu výpočetních jednotek. V této technické části, se proto zaměříme na novinky proti předcházejícímu čipu G80/G92.

Pokračovatel G80

GeForce GTX280 - nový král 3D přichází
i Zdroj: PCTuning.cz

Od roku 2005, kdy začal vývoj nového čipu, byl hlavní cíl inženýrů NVIDIE vyrobit čip, který dosahuje aspoň dvojnásobného výkonu G80 s orientací na budoucnost, s odstraněnými nedostatky G80. Přidané byly i nové funkce, které již konkurence v podobě ATi nějaký čas nabízela, NVIDIA ale zatím nikoli. Mezi nejzajímavější schopnosti patří možnost vypnout některé jednotky v 2D prostředí, a snížení pracovních taktů. Výsledkem je 30W spotřeba GeForce GTX 280 ve 2D. Na rozdíl, od předcházejících čipů, které měly pouze 8bitový barevný výstup, má G200 stejně jako nové Radeony, 10bitový výstup.

GeForce GTX280 - nový král 3D přichází
i Zdroj: PCTuning.cz

Obrázek představuje velmi zjednodušené schéma čipu G200. Zobrazený je hlavně tok dat ze začátku čipu – thread scheduler (fialový obdélník nahoře) až po jeho konec – ROPs rasterizačním jednotkám (červeno-černé čtverce dole), kde se finální pixely dostávají do frame bufferu a jsou poté zobrazované na vaší obrazovce. G200 představuje unifikovaný čip druhé generace se vším, co k tomu patří, včetně paralelních threadů úloh. Splňuje, a dokonce i převyšuje specifikace Direct3D Shader Modelu 4 – je podporovaný multisample readback. Naproti tomu ale čip nesplňuje specifikaci Direct3D 10.1. NVIDIA to odůvodňuje tím, že pro vývojáře her to není potřebné a oni raději investovali výkon do výpočetních jednotek.

Front-end jednotky na začátku "render pipeline" komunikují s ovladači a přijímají příkazy a data. Díky vylepšenému komunikačnímu protokolu, byla v G200 docílená lepší efektivita přenosu dat a informací v jádru. Thread scheduler řídí plánování úloh, které jsou poté zpracovány v clusterech jádra. Tato jednotka zaručuje neustálé 100 procentní vytížení jádra. Vylepšené je také plánování mezi TMUs a SM řadičem. Celkově se architektura snaží všemi způsoby omezit latence, pokud čeká nějaká úloha na přístup k paměti. Jádro G200 dokáže tuto úlohu zaměnit za jinou v pořadí, bez ztráty výkonu.

TP cluster

GeForce GTX280 - nový král 3D přichází
i Zdroj: PCTuning.cz

Celkový počet thread processing clusterů (na obrázku) v jádru je 10. Každý jeden cluster je sestaven ze 3 streaming multiprocessors (SMs), 8 texturovacích jednotek (TMUs) složených z 8 filtrovacích (TFUs), 8 adresovacích jednotek (TAUs) a lokální paměti L1 cache. Při pohledu na jeden SM je vidět uspořádání jednotlivých ALUs (aritmetických jednotek) které mají marketingový název stream procesory. Mezi jednotlivými čtveřicemi skalárních ALUs se nachází sdílená paměť cache, aby si jednotlivé ALUs mohli vyměnit údaje mezi sebou, bez nutnosti přistupovat na externí paměťový systém. Díky tomu se zvyšuje výkon a efektivita práce ALUs.

Double precision

V jádru se využívají dva modely zpracování údajů. MIMD (multiple instruction, multiple data) v případe jednotlivých clusterů, a SIMT (single instruction, multiple thread) v jednotlivých SMs. SIMT má v porovnaní se SIMD mnohé výhody, co se týká výkonu a programovatelnosti.

G200, který je do značné míry optimalizovaný pro GPGPU, jde ve srovnání s RV670/770 jinou cestou podpory double precission (DP). Na rozdíl od RV670/770, kde 4/5 SPs (ty menší) dokáží počítat DP se čtvrtinovým výkonem, má G200 v jednotlivých SM speciálně na to určené "IU" jednotky. Celkem 3 IU jednotky v clusteru. Je to jednoduché marketingové označení pro MAD aritmetickou jednotku, která splňuje IEEE 754 standard, teda 64bit přesnost zpracování údajů.

Pro "obyčejné lidi" je to vlastnost čipu, kterou pravděpodobně nikdy nevyužijí. Takovouto vysokou přesnost zpracování dat potřebují výhradně vědci, pro které single precission (32bit přesnost) nestačí. Celkový DP aritmetický výkon G200 je díky 30-ti IU jednotkám * běžícím na frekvenci 1,296 GHz * 2 FLOPs = 77,76 GFLOPs/s.

To činí téměř stejný výkon jako osmijádrový Xeon procesor. V porovnaní s prvním consumer čipem s 64bitovou přesností - RV670 s 99 GLFOPs/s DP, je to celkem málo. Jeden podstatný fakt ale hraje ve prospěch G200. IU jednotky dokáží počítat podle vícero zdrojů i speciální matematické funkce (cos, sin atd.) v jednom taktu, na rozdíl od ALUs v RV670, které jsou DP schopné. Jestli se na tom něco změnilo v RV770 zatím není jasné. Určitě je ale možno říci, že RV770 bude mýt díky většímu počtu ALUs, které jsou schopné DP, vyšší double precision aritmetický výkon.

Vyšší výkon při zpracování textur

GeForce GTX280 - nový král 3D přichází
i Zdroj: PCTuning.cz

G200 obsahuje v každém clusteru dva quad-TMUs (texturovací jednotky), skládající se z 2x4 TFUs (filtrovacích) a 2x4 TAUs (adresovacích jednotek, které dokáží za takt filtrovat a adresovat osm bilineárně filtrovaných pixelů a nebo čtyři: 2x anizotropní filtrované pixely a nebo FP-16 bilineárně filtrované pixely. 80 TMUs dohromady mají 48GTexels/s čistý bilineární texelfillrate. Na první pohled by se mohlo zdát, že se TMUs vůbec nevylepšili. Není to ale pravda, oproti předcházejícím čipům G80/G92 pracují díky vylepšeným schedulerům v průměru o 22% efektivněji. Je logické, že teoretická texelfillrate G200 se proto blíží víc realitě, než tomu bylo u předešlých čipů.

Více úloh najednou

GeForce GTX280 - nový král 3D přichází
i Zdroj: PCTuning.cz

V hrách narůstá potřeba aritmetického výkonu mnohem rychleji, než nároky na texelfillrate, proto nemusela NVIDIA zvýšit počet TMUs tak výrazně jako ALUs. G200 obsahuje 240 zjednodušeně  nazvaných "stream procesorů", jsou to ale v podstatě "skalární" ALUs.

Skalární v uvozovkách proto, že se jedná stále o Vec jednotky. Pouze díky řídícím jednotkám se jeví jako skalární. Shader-core je složeno z deseti Vec 24 jednotek (G80 obsahovalo 8 * Vec 16 ALUs v SIMT designu. Díky vyššímu počtu ALUs dokáže čip naraz zpracovat až 2.5x větší počet úkolů než G80. Vyjádřené v číslech – 30 720 úloh najednou. Naráz, dokáže čip zpracovat úlohy ve skupině skládající se ze 32 samostatných úloh.

Delší registr

GeForce GTX280 - nový král 3D přichází
i Zdroj: PCTuning.cz

G8x/G9x se mohly dostat s dlouhými shadery do situace, že je limitovala délka registru. Výsledek byla ztráta výkonu. Díky dvakrát delšímu registru v G200 na jeden SM by neměl čip mít problém ani s velmi dlouhými a komplexními shadery. Prodloužení registrů nezabere v jádru mnoho místa, výkon je ale mnohem vyšší.

2,5x výkonnější než G80

Aritmetický výkon G200 by se proti G80, aspoň podle počtu jednotek ani nezdvojnásobil. Skutečnost je ale jiná. Proč je to je tak, nám ukáže až další vylepšení G200 oproti G80/G92. Každá ALU, dokázala od G8x až k G9x - 3 floating point operace za takt (MAD + MUL). 3 FLOPs/s * počet ALUs * jejich frekvence = aritmetický výkon. Reálně, ve hrách, se ale daly na general shading využít ALUs G8x/G9x pouze na 2 floating point operace za takt - MAD. Důvod je ten, že druhá MUL sub-jednotka SP (MAD je sestaven z ADD + MUL) byla využívaná na korekce perspektivy a interpolaci. Pouze ve velmi MUL intenzivních testech jí bylo možné od ovladačů ForceWare 158.19 využít z 15% také na general shading. V hrách je toto vytížení samozřejmě nižší. Proto mají reálně všechny  GeForce 8/9 grafické karty založené na G8x/G9x aritmetický výkon o 1/3 menší než je udáváno na "papíře".

V případě G200 to ale neplatí, protože NVIDIA vylepšila SFUs – ALU počítající speciální funkce, aby uměla počítat MUL za takt. G200 dokáže naproti tomu, že má MAD ALUs vykonat MAD a MUL za takt. Reálné vytížení v optimalizovaných aplikacích je ~ 94%. Když si porovnáme aritmetický výkon, vyjde nám, že G200 ho má zhruba trojnásobný oproti 8800 GTX (933 GFLOPs/s vs. 345 GFLOPs/s). O pár GFLOPs/s pod magickou a psychicky dost podstatnou hranicí 1 TFLOPs/s. O důvodu, proč se tak NVIDIA rozhodla můžeme jen spekulovat.

Téměř 1TFLOP

Pracovní frekvence čipu se určují až relativně na konci vývojového stádia a jsou závislé na mnoho faktorech. G200 si zachovala schopnost, že její shader-core pracuje na vyšším taktu, než zbytek čipu. Toto je možné pouze díky ručně optimalizovaným "custom" tranzistorům. Vraťme se ale k frekvenci. ALUs G200 bodu tikat na frekvenci okolo 1297MHz, na dosáhnutí na 1 TFLOPs/s by byla nutná minimální frekvence 1389 MHz. S vyšší frekvencí se ale zvyšuje ztrátové teplo produkované čipem a snižuje výtěžnost při výrobním procesu. Kromě tohoto jednoho pozitiva - mírně vyššího aritmetického výkonu to má více negativ. NVIDIA se proto rozhodla ponechat takty karty nízké.

Výkonnější Geometry shader

GeForce GTX280 - nový král 3D přichází
i Zdroj: PCTuning.cz

Nedostatkem G80/G92 oproti konkurenci byl také "geometry shader" a "stream out" výkon. Obě jsou čistě Direct3D 10 vlastnosti, které se ve hrách často nevyužívají. V budoucnosti se to ale pravděpodobně změní. Dnes se využívají hlavně v 3DMark Vantage a Medusa tech-demu. G200 má proto 6x zvětšené interní "buffer output" struktury. Z tohoto důvodu dosahuje čip až 4x vyšší "geometry shader" a "stream out" výkon než G80.

Jak vidíme, nejvíce změn se dočkalo shader-core, které je mnohem výkonnější než cokoliv na dnešním trhu. Dnešní hry ale bohužel takový výkon nepotřebují. Dokazuje to i stará GeForce 8800 GTX, i když má nižší výkon, za dalšími kartami s mnohem vyšším (Radeon HD3870X2) nijak výrazně nezaostává. V extrémně shader limitovaných scénách by měla být GTX 280 až třikrát výkonnější. Kolik ale takových her skutečně bude, je dnes ještě otázka. Proti dnešním kartám jí ale výrazně pomohou větší paměť a jednotky ROP, na ty se nyní podíváme.

Optimalizace ROP

GTX 280 obsahuje osm ROP quadů (dohromady 32 ROPs), nacházejí se na konci render-pipeline. Osekaná verze GTX 260 jich má pouze 28. Podporované jsou stejné antialiasing (AA) módy jako s G80/G92multisampling, supersampling (pomocí aplikace nHancer), transparency adaptive a coverage. Také jejich možnosti se nezměnily. Podporovaný je frame buffer (FB) blending z floating point (FP16 a 32) render target povrchy, 8 FP povrchů je možné použít ve spojení s MSAA a HDR-renderingem. Proti G80 se ale dočkaly mnoha vylepšení, z nich některé byly použité už v ROPs G92 a mají vliv na výkon. Byla vylepšena komprese Z/stencil, je inteligentnější z-culling a výkonnější "Early-Z" kvůli většímu počtu ZROPs.

ZROP výkon je nyní 32 pixelů/takt a nebo 256 samplů/takt. Dvounásobně byl proti G80 zvýšený také výkon "blender" jednotek v ROPs, pokud jsou pixely v U8 (8bit unsigned integer) formátu. Každý quad dokáže za takt odeslat 4 hotové pixely, z toho vyplývá 32 pixelů/takt. Čistě teoreticky mají ROPs pokud není ve hře barva, 256 Z-samplů/takt výkon. Tuto optimalizaci známe už od NV30 (GeForce FX). Při použití 8xMSAA klesne výkon na 1/8 = 32 color a Z samplů/takt. Výkon ROP jednotek tedy stoupl úměrně k výkonu zbytku čipu, aby ho zbytečně neomezovaly.

Frame buffer

G200 potřebuje kvůli vyššímu počtu jednotek a výkonu, okolo 140 GB/s propustnost. Potřebné propustnosti lze dosáhnout dvěma způsoby. Buď šířkou sběrnice pamětí, nebo samotnými paměťmi. G200 měl být vydaný celkem dávno, NVIDIA se musela proto rozhodnout pro 0,83ns GDDR3 paměti od Hynixu, protože tehdy ještě žádné GDDR5 neexistovaly. Protože má G200 stále "crossbar" i přes určitá vylepšení, je šířka sběrnice daná počtem ROPs. Vyplývá nám, že GTX 280512bit sběrnici. Ve spojení s 1107MHz (reálně) taktovanými paměťmi GDDR3 nám to dává propustnost okolo 141 GB/s. Osekaná verze GTX 260 má 448bit sběrnici a 999 MHz (1ns) GDDR3 paměti. Znovu bylo použité rozdělení na 64bitové kanály, protože 32bit jsou příliš drahé. 16 paměťových čipů muselo byť umístěno na PCB (512/32 = 16) na obě strany. Finální karta má 8 na přední straně a 8 na zadní. Celková kapacita VRAM GeForce GTX 280 je 1GiB, tak jak si high-end zaslouží. GTX 260 se bude muset spokojit s 896MiB VRAM. Toto je další krok do budoucnosti, protože Crysis je pouze začátek a přijdou určitě další hry, s mnohem většími texturami a nároky na "frame buffer".

Po přečtení všech vylepšení počtu výpočetních jednotek se asi ptáte, kam se poděly všechny ty tranzistory? 1,4 miliardy tranzistorů je opravdu hodně ale "zdvojení" G92 se nekoná. Velké množství tranzistorů stála větší měřitelná efektivita, která je na bezkonkurenční úrovni. Poměr výkon/W a nebo výkon na mm^2 jádra jsou také perfektní. Kromě toho, bylo mnoho tranzistorů využito, aby se G200 dala využít jako malý "superpočítač". Konkrétně na GPGPU (General Purpose Computation on Graphics Processing Unit). O tom ale až v další kapitole.

Rozdíly mezi G80 a G200

GeForce GTX280 - nový král 3D přichází
i Zdroj: PCTuning.cz

Opět si pojďme v přehledných bodech říci, v čem nejzásadnějším se jádro GTX 200 liší od svého předchůdce G80. GeForce GTX 280 přináší:

  • Téměř 2x více SP procesorů
  • Možnost třikrát vyššího počtu spuštěných paralelních úloh
  • Dvakrát delší velikost registrů - vyšší efektivita a výkon
  • Vyšší přesnost operací v plovoucí desetinné čárce - nutné pro výpočty
  • Několikrát rychlejší geometry shadery
  • Plná rychlost ROP jednotek
  • 1GB pamětí + 512-bit paměťová sběrnice
  • Efektivnější plánovač instrukcí, vyšší výkon při zpracování textur
  • Vyšší frekvence jádra i pamětí
  • Komunikace mezi různými částmi jádra se zdokonalila
  • Vylepšený "z-cull" a komprese, vyšší výkon při vysokých rozlišeních
  • Podpora 10-bitových barev (skrze Display Port)
Předchozí
Další
Reklama
Reklama

Komentáře naleznete na konci poslední kapitoly.

Reklama
Reklama