Prvé pohľady na architektúru G80

Nové TMUs, nové ROPs:

Vysoký výkon shader-core by bol málo platný, keby nemal čip aj dostatočný textúrovací výkon. G80 by mal podľa obvyklého spôsobu počítania 32 TMUs (24 pri GTS). Pričom každá TMU dokáže za takt počítať dva trilineárne sample. Tieto dva sample však musia pochádzať z tej istej textúre. Takto sa dá trilineárne a anizotropné filtrovanie urýchliť. Trilineárne anizotropné filtrovanie by sa dalo ešte dodatočne urýchliť. Či nVidia túto (a úplne legálnu) optimalizáciu použije, aby ušetrila pri trilineárnom anizotropnom filtrovaní 25% samplov sa musí ešte zmerať.


Vychádzať z predpokladu, že G80 má vlastne "64 TMUs" nie je správne, nakoľko je za takt možné vytvoriť maximálne 32 filtrovaných texel-ov. Tieto 32 TMUs sú však lepšie ako 32 trilineárnych TMUs, pretože je urýchľované aj AF. NV10 (GeForce 256) mohla pri podobnom systéme urýchľovať len trilineárne filtrovanie. S urýchlením trilineárneho filtrovania sa samozrejme urýchli trilineárne AF. GeForce4 Ti nemohla ako jediná výnimka s dvoma bilineárnimy TMUs na pixelpipe urýchľovať bilineárne AF, čo GeForce 3 a aj GeForce FX umožňovala.

Teraz chcem objasniť, či poskytovaná priepustnosť pamäte vôbec stačí na vyťaženie TMUs. Pri 32 Bit textúrach a predpoklade, že pri každom bilineárnom sample musí byť v priemere čítaný 1 texel (a zbytok prichádza z cache), bolo by len pre textúry potrebných 147.2 GB/s. Pri nekomprimovaných textúrach tak nie je dostatočná priepustnosť. (147.2 GB/s by bolo potrebných, ale len 86.4 GB/s je dostupných) – avšak output výkon je stále neprekonaný. Pri všetkých DXT formátoch (s maximálne 8 Bit na texel) je ponúkaná priepustnosť dostatočná.

TMUs sú do určitej miery odpojené. Každá Vec 16 ALU disponuje nad "štyrmi" TMUs a môže len tieto pre svoje výpočty použiť. Tieto štyri TMUs sú v skutočnosti jedna TMU so štvornásobným poddelenými jednotkami. Pričom je každá zo štyroch poddelených filter jednotiek ešte dvojite vyložená. Pri porovnaní texel výkonu s aritmetickým výkonom musíme samozrejme zohľadniť aj rozdiel frekvencií.

Threading mechanizmus sa stará o to, aby pri filtrovaní textúr bola ALU zásobovaná a vyťažená inými pixelami. Pokiaľ je potrebné, dokážu ALUs aj Vertex výpočty vykonávať a TMUs filtrovať textúry pre Pixelshader. Výpočtovým jednotkám je úplne jedno, odkiaľ k ním prídu dáta, nakoľko Unified Shader konzept vedie shadre cez tie isté ALUs. Dostať potrebné dáta v správnom poradí z ALU vyžaduje určité prepínače, ktorých komplexita je v porovnaní s počtom tranzistorom pre výpočtové jednotky často podceňovaná. S G80 threadingom sa ale nedá dosiahnuť maximálna efektivita. Preto neplatí: počet potrebných taktov = maximum z TMU a ALU taktov. Toto by mohlo byť v ojedinelých prípadoch dosiahnuté, ale nie vždy. V porovnaní s G70 je ALU oveľa zriedkavejšie blokovaná textúrovaním. Pomocou threadingu sú TMUs ale aj ALUs oveľa viac vyťažené, výkon za takt je preto oveľa väčší ako pri G70.

TMUs v G80 teraz vedia aj FP-32 filtrovanie textúr. To nie je žiadne prekvapenie, nakoľko môže byť Unified Shader použitý aj ako Vertexshader a vo Vertex úrovni sa vždy pracuje s FP32 – čiže používať aj FP-32 textúry. (NV40 a G70 môžu vo Vertexshadery pristupovať na textúry len nefiltrovane) FP32 filtrovanie textúr beží len štvrtinovou rýchlosťou a FP16 filtrovanie textúr len polovičnou rýchlosťou voči normálnemu RGBA8888 filtrovaniu textúr. FP32 filtrovanie textúr možno samozrejme využiť aj na prácu s pixelami.

Nie je mi dosiaľ jasné ako je filtrovanie FP16 a FP32 hodnôt interne realizované. Avšak to nie je pre prax podstatné. Podstatné je ale, že aj pri FP16 textúrach je možné za takt filtrovať 32 texel-ov – v praxi limituje priepustnosť. Napriek tomu môžu byť určité veci pri HDR Renderingu na G80 realizované veľmi efektívne. G71 a R580 majú pri zmysluplnom HDR Renderingu len čiastočnú podporu features. G80 dokáže pracovať s pohyblivou rádovou čiarkou, bez toho aby stratil multisampling schopnosť (G71) alebo filtrovanie textúr (R580)

 


Teoretický texel výkon pri 32 Bit textúrach (RGBA8888)
 G71:G80:
bilineárne Samples15,6 GT/s18,4 GT/s
trilineárne Samples7,8 GT/s18,4 GT/s
2x AF bilineárne* 7,8 GT/s18,4 GT/s
* pri zmenšených a rozmazaných textúrach

Nielenže je základný textúrovací výkon vyšší, ale je trilineárne alebo 2x AF (čisto z hľadiska texelfillrate) zadarmo.Odpojenie pomáha aj tomu, aby sa TMUs a ALUs zriedkavejšie medzi sebou blokovali. Podľa môjho názoru je nastavenie ovládačov pri default neakceptovateľné, nakoľko neponúka od 2x AF trilineárne filtrovanie. Túto "optimalizáciu", ktorá zakáže plnú trilineárnu filtráciu musí používateľ manuále v ovládačoch vypnúť. Pri pohľade na extrémne dobrú TMU achitektúru G80 je tento krok nVidie úplne nepochopiteľný.

Nové ROPs:

V GeForce 8800GTX je šesť ROP blokov, päť v GeForce 8800GTS. (odpovedajúc počtu jednotlivých 64 Bit pamäťových pripojení) Na jeden blok pripadajú len štyri Alphablending jednotky, ale až 32 Z-test jednotiek. Pokiaľ je v hre aj farba dá sa využiť ešte 16 Z-test jednotiek. (táto "optimalizácia" so zdvojnásobením Z/Stencil testrate pre bezfarebný Stencil a Z-rendering existuje už od NV30)

G80 ROP sú podľa toho optimalizované pre 4x Multisampling. Na prvý pohľad nerozumne vysoký počet 192 Z-testov za takt – pokiaľ nie je v hre žiadna farba – prinesie svoje využite pri prednostnom Z-pass. Doteraz trval prednostný Z-pass v porovnaní s renderingom ešte tak dlho, že v konečnom farebnom renderingu ho ušetrená fillrate nemohla kompenzovať – predovšetkým preto, že Vertexshader musel byť dvakrát použitý .

Pri G80 je veľký predpoklad, že s touto technikou sa celová rýchlosť zvýši, aj preto, že sa druhý Vertexshader pass nemusí konať. (pomocou zapamätania výsledko prvého passu) 3D engine so stencil tieňmi potrebuje beztak jeden prednostný Z/stencil pass. Jednoducho povedané: Z vysokého Z/stencil výkonu profituje kažá aplikácia, optimalizovaný sofware ešte viac vďaka efektívnejšiemu využitiu Vetex a Z/stencil výkonu.

 

Teoretický output výkon:
 G71:G80:
RGBA-8888-Alphablending10,4 GP/s13,8 GP/s
Počet pixlov pri 2x MSAA10,4 GP/s13,8 GP/s
Počet pixlov pri 4x MSAA5,2 GP/s13,8 GP/s
Počet zixelov pri 2x MSAA10,4 GZ/s55,2 GZ/s
Počet zixelov pri 4x MSAA5,2 GZ/s
27,6 GZ/s

Žiaden menovaný čip nevie využiť svoj output výkon, nakoľko limituje priepustnosť. Prečo implementovala nVidia také množstvo ROP jednotiek ? ROP jednotky sú v porovnaní s TMUs a ALUs pomerne malé, preto sa ich oplatí zabudovať viacej, aby neboli drahé ALUs vybrzdené.


 
Komentáre (18)
glide
Dost obsiahly clanok a osobne sa mi velmi pacil. Pre bezneho cloveka bude asi dost tazko zrozumitelny, ale na druhej strane je otazne akej skupine citatelov je urceny. Chcelo by to ale urcite ete trosku zeditovat, je tam zatial vela chyb. V kazdom pripade dobra praca.
Ledy
Lidi, neviem kto to písal. Ale je to nečitateľné. Nebolo to aspoň sčasti prebraté z nejakej English stránky? Akože vety v štýle "Sú to nové prístupy k danej problematike ako aj G80 je." "Tu to napríklad vyzerá tak, že pri prístupu k textúre je pravá Shader-ALU (pri NV40 MUL, pri G70 MAD) blokovaná. Pri CineFX máme "priebehovú pipe". Všetko čo ide do Tex jednotky, ktorá je medzi Shader-ALU 1 a 2, musí ísť najprv cez Shader-ALU 1." "Takto sa dá trilineárne a anizotropné filtrovanie urýchliť. Trilineárne anizotropné filtrovanie by sa dalo ešte dodatkovo urýchliť. Či nVidia túto (a úplne legálnu) optimalizáciu použije, aby ušetrila pri trilineárnom anizotropnom filtrovaní 25% samplov sa musí ešte zmerať." "Nie je mi dosiaľ jasné ako je filtrovanie FP16 a FP32 hodnôt interne realizované. Avšak to nie je pre prax podstatné. Podstatné je ale, že aj pri FP16 textúrach je možné za takt filtrovať 32 texel-ov – v praxi limituje priepustnosť." "V antialaisingu bola nVidia dlho druhá, teraz s G80 môžete s 8x sparse Multisampling ("8xQ") spolu s temporary anitalaising získať najlepšiu kvalitu vyhladzovania hrán v oblasti consumer grafických kariet." Netrúfam si posúdiť nakoľko autor pozná problematiku grafických kariet, ja sa nevyznám na toľko aby som vedel povedať ako funguje grafická karta, ale pokiaľ ide o čitateľnosť a zrozumiteľnosť tak musím povedať, že textu proste NEROZUMIEM. Hemží sa to tam cudzími výrazmi, ktoré nikde nie sú vysvetlené, často sú použité anglické alebo poslovenčené anglické slová ako napríklad "códu" a pod. Ja viem, že v našej komunite sa používa určitý slang, ale tu je to evidentne prehnané.
barco
No tak vyborny clanok crux! Ale tak ako pisal Ledy mohol by si ta dat aspon slovnicek vyrazov, nie kazdemu sa pacia taketo odborne texty... (a nie kazdy tomu rozumie) Ale mne sa to paci ;) btw budes robit aj test 8800GTX? viem ze jednu mas doma.
killswitch
no tak ja neviem, toto sa mi nechce verit, ze by crux vypustil von takto nedoladeny clanok (alebo preklad z nejakeho ineho serveru?). a uz vobec sa mi nechce verit, ze to dakto z vedenia neprebehol aspon zbezne. uz v prvom odstavci je vidiet kopa stylistickych chyb a vyzera to naozaj ako preklad z nejakeho translatora. ako vedomosti cruxa su v tejto oblasti urcite velmi dobre, ale clanok je pre mna necitatelny a tak cakam na verziu 2.0, kde si tieto vedomosti budem moct osvojit..zatial naozaj velmi slabe..
crux2005
ja som to písal - som aj podpísaný :-). Nepreberal som to zo žiadnej stránky. Problém je proste naša reč. Slovenčina. Áno. Nevadí mi aj keď mi nikdo nebude veriť. nVidia ako vieš sídli v Californii - USA - konkrétne v Santa Clare. Väčšina sveta hovorí po anglicky. Väčšina odborných výrazov z oblasti grafiky sú z angličtiny. Tak nebudem prekladať všetko. Vyznelo by to 1. čudne, 2. amatérsky, 3. by sa aj niekdo mohol pýtať "čo tým autor myslel ?" "čo to je?" "hmmm". MUL, ADD sú preložené, tiež určité odborné výrazy. @Ledy čítal si už na slovenskom/ českom webe hocijaký technologický článok ? Určite si si všimol slovíčka ako filtrovanie, Multisampling, antialaising, textúra, anizotropné filtrovanie atď. Tieto slovíčka nemá zmysel prekladať - nakoľko ich každý kdo sa o danú problematiku aspoň trochu zaujíma pozná. BTW: anizotropné látky ? hmm fyzika ? Vyznelo by to smiešne ich prekladať. Vysveliť ich ? Hmmm. Samozrejme dalo by sa. Avšak, o čom je ten článok ? O HDR renderingu ? o vysvetlení princípu vyhladzovania hrán ? alebo vysvetlenie ako funguje ? alebo o ukážke rôznych gridov ? Kde si napríklad na českej/slovenskej stránke videl preložené ALU ? ROP ? TMU ? Jednoducho to tak je. Hej, malo tam byť kódu. @barco: ja som už zásadne proti slovníku výrazov. Také nájdeš v časopisoch ala ... nebudem menovať. Každý ich aspoň raz v živote videl. K čomu je to dobré ? Aby sme ešte viac zmýlili ľudí ? Tie výrazi sa proste nedajú jednoducho vysvetliť, ktoré by ste asi radi mali vysvetlené. Treba ich vysvetliť v súvislostiach a na také vysvetlenie už treba článok. Rozsiahly k tomu ešte. Samozrejme. Nepredpokladal som, že každý bude všetkému rozumieť. Avšak kdo aspoň trochu čita problematiku, aspoň trochu číta články - aj iné ako len s "peknými slovami" ktorým rozumie - ten by nemal mať problém. Možno je však problém, že som chcel spraviť článok príliš technologický - čo na ČR, SR web stránkach som až do takej miery nevidel. Možno je toto ten nesprávny web. Možno ešte nedozreli používatelia. Neviem. Nechcem súdiť ani hodnotiť.
killswitch
nikto ti nema za zle, ze si chcel vydat clanok na urovni. za to som ti aspon ja osobne velmi vdacny. lenze je bohuzial z velkej casti necitatelny. nehnevaj sa, ale slovesa na konci viet mi silne pripominaju nemcinu a tak sa neviem zbavit dojmu, ze si minimalne niektore veci cerpal z tvojich oblubenych nemeckych stranok ci for. btw na tom by nebolo nic zle, pokial by si to ale uviedol v clanku. co sa tyka vyrazov, tak tam s tebou uplne suhlasim. kto aspon zbezne navstevuje weby, ktore sa tomu venuju alebo fora, kde sa o tom diskutuje, tak ten nema problem sa zorientovat. bohuzial aj po tejto stranke je v clanku viacej chyb. ja osobne to beriem ako naozaj vyborny napad. ved rozsah tohto clanku a odbornost tu snad ani este nebola. musim sa ale opakovat, pre mna necitatelne. a naozaj nechcem citat kazdu vetu pat krat, aby som pochopil co si chcel povedat a potom dalsich pat minut, aby som pochopil o com sa tam pise. viem ,ze to nie je lahka robota, ja by som na to asi nemal, ale na clanku je este kopa roboty. killswitch
crux2005
ešte sa na to pozriem. Je to z mojej hlavy. OK - ja viem, slovesá na konci viet. To je moja chyba. Žil som v Rakúsku skoro 5 rokov. Je to na mne poznať. Chyby v anglických výrazoch ? Ktoré ? kde ?
Ledy
Počuj crux, fakt skús si to po sebe občas prečítať. Tie odborné výrazy sú síce troška časté, ale nie to je hlavný problém. Hlavným problém je štylistický. Vety sú ťažko zrozumiteľné, často jedna na druhú nenaväzuje, niektoré slová sú vytrhnuté z kontextu atď. ... BTW, podľa mňa na taktovanie chodia na 60-80% násťročný a nie dsaťročný, malý chalpci sa do takéhoto technického žargónu moc nerozumejú a pochybujem, že sa do toho rozumie väčšina veľkých chlapcov. Čo som čítal podobné články o G80 na cz stránkach tak tam sa skôr zamerali na všeobecný prehľad ako na technologické vychytávky a mikroelektronické špecifikácie. Konieckoncov nie každý chodí na FEIku a študuje mikroelektroniku.
killswitch
tou "Vec"-ou myslis zlozku hodnoty? teda povedzme 3+1? RGB + priehladnost?
killswitch
uz som to nasiel, ako si to myslel... inak G80 dokaze pocitat nie len 3+1 alebo 2+2, ako vacsina GPU doteraz, ale aj 1+1+1+1 alebo vlastne hociake rozlozenie hodnot..
crux2005
nič sa nedeje. Kde som tvrdil opak ?
gogi
vobec to nie je o prilisnom pocte odbornych vyrazov, tento clanok je urceny (aj svojou zlozitostou) tak pre vyvojarov 3d enginov, tento clanok je opis procesora a to je urcene pre usku skupinku ludi, procaky(akekolvek) su kua zlozite a popisat ich/ho nejde jednoducho ale aj tak tam je vela preklepov, a niektore slovne kombinacie su na slovencinu dost divne, holt vidiet ze si zil v cudzine, mal si to dat niekomu skontrolovat/prefiltrovat ale inak klobuk dole - takto sa rozumiet hw
strelooriginal
karta nema konkurenciu. Porovnat ju technicky z R600 to by bolo......
dexman
presne ako hovoris. porovnat ju s R600 by bolo sialenstvo lebo este nie je este co porovnat.a suche cisla samy o sebe este nic neznamenaju
eotslubo
je to fakt vyborny clanok ale strasne tazko citatelny....nato kolko mas rokov vies toho dost vela ale co sa tyka stylistyky tak si uplne mimo....cital som ho len preto lebo ma to zaujimalo a keby som nemal velky zaujem si to precitat tak po paru minutach by som to zavrel .... chcem tym povedat ze uz ked pises take clanky tak nech su aj pre menej znalych v tychto veciach a aby aj nieco si z toho zobrali .... ale inac klobuk dolu... tot fsio
optimista
Aj ked niektorym vyrazom naozaj nerozumiem konecne som sa dozvedel odkial pochadza spolocnost nVidia lebo casto sa v clankoch uvadza "kanadska ATI a konkurencna nVidia"Aj tak si myslim ze je to dobry clanok a po nejakej dobe ho pochopia vsetci co ho budu citat
badbat
fakt super clanok ....niektore veci som nepochopil ... ale to bude asi prijimacom :D idem na to este raz
MEPHISTO
Genialny článok , určité vedomosti mám a veľa nového som sa dozvedel . Inteligentný človek sa učí rád a preto články takéhoto formátu kvitujem , dúfam , že autor bude v tomto duchu pokračovať...
Pridať nový komentár
TOPlist