R600 pod drobnohľadom

Setup engine


 

Thread setup som oddelil, nakoľko sa nachádza pred setup enginom, ale mohol som ho napísať aj sem. Je zodpovedný za to, aby sa vlákna (thready) a dáta dostali do správnej podoby a formátov, ešte pred poslaním do dispatcherov (túto časť čipu si rozoberieme ďalej v článku), kde sú spracované. Odosielané sú v podobe skupiny threadov. Následne na nich pracuje shader core. Pokiaľ dochádza k vertex processingu, je setup hardware zodpovedný za usporiadanie dát v pamäti pre optimálny prístup - teda vertex fetch nie je obmedzovaný pamäťou. Okrem toho je zodpovedný za konfiguráciu a prísun dát do tesselátora.

Tesselátor ako súčasť setup enginu predstavuje pred-shading úroveň. Jeho výstup sú koordináty geometrie a textúr, ktoré posiela ďalej assembleru, aby na nich pracoval. Môže pracovať v podstate voľne, nakoľko generovaná geometria skoro nikdy nezaplní pamäť Vram. Takéto situácie však môžu sporadicky nastať. Limitovaný môže byť rasterizérom a evaluation funkiou, ktorá sa využíva pri tesselácii. Nakoľko by sa dalo o tesselátorovi napísať samostatný článok, tak sa mu už na tomto mieste nebudeme viac venovať.

Rasterizáciou sa generujú časti „tiles“ (dlaždíc) z geometrie, ktoré putujú do shader core na výpočet. R600 využíva podľa všetkého rovnaké 16x16 rozdelenie obrazu na štvorce ako predchádzajúce Radeon grafické karty.

Medzi ďalšie vylepšenia R600, ktoré spadajú do setup enginu, patria vylepšenia Hierarchical-Z a Hierarchical Stencil. Sú teraz optimalizované pre veľmi vysoké množstvo pixelov (4Mpixelov a viac). Hier-Z/S buffery predstavujú rôzne pohľady na depth a/alebo stencil hodnotu v tile, aby vedeli rozhodnúť či odhodiť geometriu pred rasterizáciou, a tým znížiť počet pixelov poslaný hardwarom alebo nie.

Samozrejme, využíva sa aj early-Z v tradičnom chápaní (otestovať a odhodiť každý pixel individuálne), avšak hier-Z pomáha znižovať počet testov, ktoré musia byť uskutočnené, nakoľko môže odhodiť naraz viac pixelov čo šetrí priepustnosť pamäte. Každý stupeň v buffer pyramíde obsahuje rôzne čísla z rozdielnych hodnôt pre Z/S, ktoré kontroluje hardware, aby vedela rozhodnúť, či odhodiť alebo ponechať a poslať ďalej tile.

R600 zavádza okrem toho aj novinku s názvom „Re-Z“. Umožňuje GPU skontrolovať Z-buffer dvakrát. Prvýkrát pred pixelshaderom a druhýkrát po shader core výpočtoch.

Setup engine vykonáva aj príznakovú interpoláciu pre shading, napriek tomu, že máme tento obvod zobrazený v shader core. Pokiaľ sa dokončil setup riadí engine hotové thready, ktoré môžu byť rôznej veľkosti v počte objektov do shade core pre ďalšie výpočty. Hardware dokáže fetch 16 vertices za takt z pamäte Vram, vyhotoviť 1 hotový trojuholník za takt (max. hodnota: 742Mtriangles/s u HD 2900XT).

Nakoľko je threading model najnovších čipov AMD/ATi jeden z podstatných aspektov novej architektúry, venovali sme mu viac času.


Komentáre (18)
subz3ro
Good work, cruxo. Opäť sa ukazuje, kto je u nás odborníkom v oblasti technológií grafických kariet :)
gabriel
Tak musim pochvalit -> clanok je po stranke obsahovej fantasticky na svoje si pridu urcite vsetci ako bezni tak aj velmi narocni citatelia. Co je vsak este lepsie je forma akou je clanok pisany -> tentokrat je to resp. to precita aj bezny clovek.
epto
fiha. riadne dlhy clanok. aj ked musim sa priznat, mne obycajnemu cloveku vela pojmov nic nehovorilo. nemozem povedat, ze som v oblasti PC "lama". PC pouzivam uz roky, zhruba 15-20 som ich uz aj poskladal. ale moj zaujem o vykonnu graficku kartu uz nie je na prvom mieste nakolko PC vyuzivam hlavne na pracu. tymto nechcem clanok kritizovat, len ze som niektore casti rovno preskocil a precital az vyhodnotenie.
Pavol Bobik
Ano, dobra recenzia, klobu dole :)
MichiGen
Naozaj skvely rozbor, myslim ze vsetko dolezite sa podarilo v tejto recenzii obsiahnut :)
koro
good job
Ryko
Tak musim zatlieskat cruxovi... uz davno som necital tak kvalitne spracovyn clanok v oblasti graf.kariet... absoutne vycerpavajuce informacie o zlozeni a fungovani chipu... imho by to mozno chcelo vysvetlit niektore odborne pojmy, aby bol clanok pristupnejsi pre sirsie spektrum ludi... lae zas takych clankov je na nete dost... este raz vdaka za squele citanie...
glide
proste perfektne
thimy
Nebolo by odveci opravit: 12 - Custom Filter AntiAlaising Premysliet zakladnu myslienku, spracovat podklady a vôbec napisat takyto clanok muselo zabrat kopu casu. fakt respect
A2C
Klaniam sa
noben
....asi nepoviem nič, lebo mám stále otvorené ústa a oči vyplešťené na monitore....
cpy
Musim uznat tak dobre a vystizne zrobenu recenziu som este necital (alebo si nepamatam zeby som taku cital) Tie videa na porovnanie su fakt vybornym doplnkom recenzie.
teho
vrela vdaka za super clanok na slovenskom nete nevidaneee.
Dwarden
clanek pekny, ale skoda tech starych ovladacu, bylo by fajn otestovat znovu s nadchazejicim ovladaci 7.8 (uz RC3 ukazuje znacne zlepseni ve vykonu 2xxx serie pri pouziti AA, take je tu novy AA mod k dispozici od ovladacu 7.7)
crux2005
Žiaľ, potom by sa dalo čakať v podstate donekonečna. Samozrejme na prepad výkon s AA a novými ovládačmi sa v blízkej budúcnosti pozrieme ;-) "take je tu novy AA mod k dispozici od ovladacu 7.7" Aký nový AA mod máte na mysli ?
mirke
Tak konecne som si nasiel cas to precitat a musim uznat, ze z mojho pohladu sa jedna o kvalitnu a rozsiahlu recenziu, ktora pokial viem nema na nete obdoby. Patri ti velka poklona odo mna. Inac velmi rad som pomohol, mozno aj nabuduce zase s novym highendo od ATI :D
Dwarden
nejde mi o nekonecne cekani spis o o to, ze test byl proveden na 7.5 coz znaci 3 mesice zpet tj. otazka zni proc ne 7.6 nebo 7.7 jinak ten novy AA je popsan v seznamu zmen u 7.7 " 12x and 24x Anti-Aliasing support for the ATI Radeon™ HD 2900 XT and ATI Radeon™ HD 2600 Series This release of Catalyst™ introduces support for 12X and 24X Anti-Aliasing for the ATI Radeon™ HD 2900 XT, and ATI Radeon™ HD 2600 Series. These new Anti-Aliasing settings are available through the new Anti-Aliasing Edge Detect Filter. Selecting 4X Anti-Aliasing plus selecting the Edge Detect filter deliver the equivalent of 12X Anti-Aliasing. Selecting 8X Anti-Aliasing plus selecting the Edge Detect filter deliver the equivalent of 24X Anti-Aliasing. " dalsi co jsem mel na mysli je moznost aktualizace vysledku testu napr. tedy az vyjdou 7.8 s komentarem typu "AMD.ATI evidentne zlepsuje/zhorsuje ovladace" :) a napriklad pridat test kvality prehravani videa :)
crux2005
Ovládač Catalyst 7.5 sme boli nútený použiť, nakoľko predstavoval v dobe testovania najaktuálnejšie WHQL ovládač. Catalysty 7.7 sme nemohli použiť nakoľko sa objavili až testne pred uverejnením článku. Okrem toho sme sa pozreli aj na výkon Catalystov 7.6, avšak v daných testoch sme nezaznamenali voči Catalystom 7.5 žiadne výkonnostné zmeny. Pokiaľ si pozorne čítal, tak si si určite všimol, že som túto zmenu spomenul v článku ;-) "Okrem toho je od Catalystu 7.7 dostupný štandardne aj edge detect mód. (Poznámka: my sme museli pre testovanie kvality EDCFAA použiť ešte beta ovládače a špeciálnu utilitku, ktorá nám túto možnosť sprístupnila)" Ďakujem za návrhy, budem určite rozmýšlať na ich možnom spracovaní. btw: každá pozitívna odoza ma samozrejme teší :)
Pridať nový komentár
TOPlist