Radeon HD 2900XT - DirectX 10 v podání AMD / ATi | Kapitola 2
Seznam kapitol
Po letech a s několikaměsíčním zpožděním firma ATi (pardon, vlastně AMD) konečně vydává dlouho očekávaný čip R600 v podobě grafické karty Radeon HD 2900 XT. Pokud váš zajímá historický vývoj, architektura čipu, technologické novinky, souvislost se zmíněným projektem R400 a také samozřejmě testy výkonu, stačí pokračovat ve čtení dnešního článku...
R600 vychází z kombinace dvou architektur - grafického čipu herní konzole Xbox360 "Xenos" a předchozí generace R520/R580 (X1000) a nových prvků specifických pouze a jen pro R600. Více-méně (podrobněji v historii) :-)
Xenos (grafický čip pro Xbox360)
- unifikovaná architektura (jednotné výpočetní jednotky, na kterých je dle potřeby prováděn vertex shading, pixel shading či geometry shading) + load-balancing
- programovatelná jednotka zvaná tesselator (bez zátěže CPU snižuje "hranatost" 3D modelů)
Radeon X1800/1900 (R520/R580)
- rychlý dynamic branching (efektivní zpracování větveného kódu)
- texture cache
- sběrnice Ring-Bus (vylepšená)
A nové prvky
- podpora DX10, geometry shading
- superskalární výpočetní jednotky
- vylepšený paměťový řadič, vylepšený řídící procesor
Shader core - nové výpočetní jednotky
Ve střední části schématu je vyznačeno 64 výpočetních jednotek, z nichž se každá skládá z celkem 5 unifikovaných procesorů, které mohou zastávat pixel, vertex i geometry shading. Tato pětice obsahuje jeden procesor, který navíc zvládá další specifické operace.
Každá výpočetní jednotka je schopna zpracovat pět operací na pěti komponentách (hodnotách), což je výrazný nárůst oproti předchozí generaci, jejíž výpočetní jednotky zvládaly 1-2 operace na 4 komponentách. Unifikace a nové výpočetní jednotky tak znamenají zvýšení efektivity čipu - zaprvé se nemůže stát, že by některé výpočetní jednotky zahálely, když je není potřeba (např. vertex shadery ve hře náročné na pixel shading) a za druhé jsou i více vytíženy části jednotlivých výpočetních jednotek.
Texturovací jednotky a filtrace textur
Podobně jako jsme u řady Radeonů X1000 již nemohli mluvit u pixel pipeline (=sled fixně propojených TMU->pixel shader->ROP), neboť byly tyto jednotky odděleny a mohly fungovat nezávisle na sobě, tak v souvislosti s R600 nemůžeme mluvit ani o klasických texturovacích jednotkách. U předchozích Radeonů se texturovací jednotka skládala z několika menších jednotek (texture filtering/sampling, adressing...), z nichž každá byla "obsažena" 1x.
To ale neplatí pro R600. Ta nese 4 texturovací procesory, přičemž jednotlivé sub-jednotky, ze kterých se skládá, jsou zastoupeny v poměru, který by měl být optimální pro shader model 4.0. V některých situacích se tedy bude R600 chovat, jakoby se skládala z 16 klasických texturovacích jednotek, jindy jako čip s 32 texturovacími jednotkami a v jiných specifických případech až jako kdyby měla plných 80 texturovacích jednotek. To se ale bude týkat až operací a efektů, které jsou specifické právě pro DX10. V souvislosti se současnými hrami se spíš budeme držet u spodní hranice (klasická filtrace textur).
Schopnosti texturovacích jednotek se změnily i kvalitativně - například filtrace textur s přesností plovoucí desetinné čárky, kterou Radeony X1800/X1900 prováděly přes pixel shadery, má R600 již fixně implementovanou na úrovni texturovacích jednotek a v těchto operacích díky tomu může být až 7x rychlejší, než jeho předchůdci.
Za zmínku stojí, že nejkvalitnější režim anizotropní fitlrace, který nabízela a kterým se proslavila řada X1000, je nyní implementován jako standard, takže textury ve všech úhlech jsou již standardně filtrovány v plné kvalitě. V problematických případech, kdy (obvykle vinou aplikace/hry) tento režim nemohl fungovat na 100%, bychom ale měli čekat další zlepšení kvality.
ROPs (render back-end) a vyhlazování
Jednotky ROPs (či render back-ends, jak je ATi/AMD nazývá), které jsou mj. zodpovědné za vyhlazování (anti-aliasing, FSAA), vykreslování některých typů stínů a částečně za HDR rendering, byly taktéž výrazně zlepšeny. Většinu operací nyní zastávají s dvojnásobným výkonem oproti X1000 a díky tomu nabízejí plnohodnotný FSAA 8x a ve spojení s novým režimem nazvaným CFAA (custom-filter anti-aliasing) i vyhlazení kvalitativně odpovídající režimům 16x a 24x.
Nové ROPs podporují samozřejmě i další (nejen) HDR formáty, které vyžaduje DirectX 10, ale všechny jsou podporovány i v kombinacích s vyhlazováním.
Řídící procesor a Ring-Bus
R600 nese mnohem komplexnější řídící procesor, než řada X1000. Mimo to, že musí zásobovat výpočty mnohem větší množství titěrnějších výpočetních jednotek, již neoperuje jen s požadavky pro pixel shading a texturing, ale zároveň se musí starat i o řazení a přípravu požadavků pro vertex a geometry shading.
S 512bit sběrnicí Ring-Bus jsme se mohli setkat už u generace X1000. Nynější vylepšená (symetrická) verze pak dosahuje šířky datového pásma úctyhodných 1024 bitů (tedy kilobitová sběrnice) a rozhraní k pamětem je pak 512-bitové. Výhoda sběrnice Ring-Bus oproti tradičnímu řešení spočívá (mimo její rychlost) hlavně v komplexnosti, která nenarůstá se šířkou sběrnice tak nekontrolovatelně, jako při použití klasického řadiče cross-bar.