Prvé pohľady na architektúru G80

Zhruba 681 miliónov tranzistorov v 90nm čipe: G80 (NV50) je tretia veľká architektonická novinka od uvedenia GeForce série. NV 10 (GeForce 256) priniesol register combiner, NV30 (GeForce FX) priniesol "CineFX". Sú to nové prístupy k danej problematike ako je aj G80...


Úvod, nezávislé takt domény v G80, shader core:

Možno povedať, že sa špecializované 3D čipy vyvinuli preto, lebo sa chceli použiť textúry. Rendering bez textúr by bol pri prijateľnej rýchlosti možný aj na procesoroch. Keď však chceme vidieť textúry a podľa možnosti aj filtrované, preťažíme podmienečne každé CPU. Tak boli vyvinuté grafické čipy s 3D funkciami a filtráciou textúr.

Pri NV10 sa však myslelo už ďalej. Čítať textúry z pamäte, filtrovať a nanášať na trojuholníky je pekné, ale prečo nedať vývojárom väčšiu kontrolu nad tým ako sú tieto údaje spoločne s interpolovanými vertex údajmi prepočítavané ? Register combiner ponúkol v tom čase ohromujúcu flexibilitu a výpočtový výkon práve pre tieto úlohy. S loopback a jedným prednastaveným texture shaderom sa to od GeForce 3 nazývalo dokonca "pixelshader". NV30 priniesol omnoho viac presnosti a flexibility pre pixelshading. Kvôli tomu bola vyvinutá CineFX architektúra. Pre GeForce 6 bolo CineFX od základov prerobené a vylepšené. Teraz s NV50 (G80) prichádza k nám znovu, naozaj nová architektúra. Spolu s G80 založila nVidia základový kameň pre svoje budúce čipy.
Nezávislé takt domény v G80:

Odborný výraz:Funkcia:
Interpolátorvypočítava určité input hodnoty pre pixelshader
Shader-ALUvykonáva shader výpočet
TMU (Texture Mapping Unit)poskytuje filtrované hodnoty textúr Shader-ALU
ROP (Raster Operation)vykonáva konečné práce na pixeloch

 
 

Unified Shader hore alebo dole, potrebné jednotky ostali a môžu byť do veľkej miery využívané pixel, vertex alebo geometry shaderom. ALUs, TMUs a ROPs sú pri G80 do určitej miery odpojené. G80 má dve takt domény. Shader-ALUs (ku ktorým patria aj interpolátory) bežia u GeForce 8800GTX na frekvencii 1350MHz, zvyšok čipu (TMUs a ROPs) na 575MHz. Tieto frekvencie sú nezávisle od seba nastaviteľné. Zatiaľ čo je pomer jednotiek ALUs/TMUs u G80 pevný, dá sa ALU/TMU výkon meniť cez takt.

 

V priepustnosti pamäte ide nVidia tiež novými cestami. GeForce 8800GTX má 384-bit DDR zbernicu a 768 MiB RAM. GeForce 8800GTS má 320-bit DDR zbernicu a 640 MiB RAM. Skalárnosť architektúry rozšíriť aj pre zbernicu, priepustnosť je niečo nové. Pokiaľ sa v článku píše o G80 myslí sa na GeForce 8800GTX a pri G71 na GeForce 7900GTX.

Shader core:

G80 poskytuje v prípade GeForce 8800GTX osem aktívnych Vec-16 ALUs, pričom môže ALU vykonať za takt MUL, ADD a ešte jednu MUL (try floating point operation - 3 Flops na jeden skalárny kanál). MUL znamená multiplication, ADD addition. Väčšina shader kódu je naďalej vypočítavaný pomocou MUL a ADD. ALUs majú frekvenciu 1350MHz, čo dá teoretický aritmetický výkon 518 GFLOPs/s. (8 x 16 x 3 FLOPs/s x 1, 350 GHz = 512 GFLOPs/s) nVidia však ešte stále má čo robiť so schelduler-om, nakoľko je druhá MUL jednotka doteraz nevyužívaná – aspoň tak to vyzerá.

 

Krátke pripomenutie ako to vyzerá u NV4 a G70:

 

Tu to napríklad vyzerá tak, že pri prístupu k textúre je prvá Shader-ALU (pri NV40 MUL, pri G70 MAD) blokovaná. Pri CineFX máme "priebehovú pipe". Všetko čo ide do TMU jednotky, ktorá je medzi Shader-ALU 1 a 2, musí ísť najprv cez Shader-ALU 1. Táto prevezme so svojou MUL jednotkou k tomu ešte časť korektúry perspektív. Aj pri G80 by korektúra perspektívy nemala byť úloha interpolátora, ale čiastočne Shader-ALU. To však nevysvetluje, prečo je dosiaľ len jedna MUL jednotka za takt využitá. Pomôže nám to snáď objasniť čas.

 
 
 

Predchádzajúce architektúry (u ATi aj nVidie) využívali RGBA quadpipelines. Jeden quad sa skladá z 2x2 pixelov. Jeden pixel má štyri komponenty (RGBA). Preto musí byť ALU jednej quadpipe 16x (krát) poddelená (4 pixely á 4 komponenty = 16 operácii). V každej quadpipe sa tak za takt obvykle vypočítajú 4 komponenty zo štyroch pixelov. G80 má bloky so štyrmi skalárnymi quadpipes. Za takt sa tak vypočíta 16 komponentov zo 16 pixelov (4 quads). V konečnom dôsledku sa tak výkon rovná: pre jeden quad, čiže 4 pixely, vykonať Vec3 + Vec1 operáciu trvá väčšinou jeden takt.U G80 trvá vykonať Vec3 + Vec1 operáciu štyri takty, za ten čas sa však dokončia aj štyri quady – 16 pixelov. Okrem toho existuje veľa prípadov, kde pracuje G80 efektívnejšie. K ním sa vrátime neskôr.

SLI zapojenie dvoch G80 ponúka aritmetický výkon jeden Teraflop za sekundu; pri takom výkone vyzerá aj Cell procesor ako slabý. Grafické čipy sa ešte stále vyvíjajú rýchlejšie ako procesory.

Teoretický aritmetický výkon:
G71 Pixelshader125 GFlop/s ADD125 GFlop/s MULspolu 250 GFlop/s
G71 Vertex Shader28 GFlop/s ADD28 GFlop/s MULspolu 56 GFlop/s
G80 Unified Shader173 GFlop/s ADD346 GFlop/s MULspolu 518 GFlop/s

Ako ukazuje tabuľka, ponúka Unified Shader G80 väčší teoretický aritmetický výkon ako Pixel a Vertexshader G71 dokopy. Vďaka efektivite G80 je využiteľný výkon ešte o kus vyšší ako u G71. Tieto čísla sú len teoretické maximá. Vyvodiť z rozdielu medzi nimi, výkonnostný rozdiel medzi G80 a G71 by bol nezmysel. Okrem toho vychádzam z predpokladu, že Shader-ALU využíva dve MUL operácie za takt. Vyzerá to tak, že v praxi tomu tak nie je.Ešte raz: Nepoužívať prosím tieto čísla pre porovnanie výkon medzi G80 a G71, nakoľko majú v praxi aj iné veci vplyv na celkový výkon, ktoré ostali teraz nezapočítané.

 

 

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