ATi Radeon X1000 - pohled na architekturu
5.10.2005, Zdeněk Kabát, článek
ATi dnes vstoupilo do další etapy své historie a představilo řadu grafických čipů nové generace Radeon X1000, které jsou postaveny na moderní architektuře a pokryjí celé cenové spektrum. Podíváme se detailně na uspořádání 3D pipeline a všechny novinky.
Kapitoly článku:
- ATi Radeon X1000 - pohled na architekturu
- Radeon X1800 - specifikace a vlastnosti
- Architektura pipeline, vertex shader
- Pixel shader engine
- Texturování, HyperZ, Render Back-Ends
- Paměťový řadič - 512-bit ring bus
- Kvalita obrazu - HDR, Adaptive AA, 3Dc+
- Avivo a CrossFire
- Mainstream: Radeon X1600 a X1300
- Výkon, srovnání s nVidií a závěr
Texturovací jednotky
Na texturovacích jednotkách (TMU) je nejdůležitější to, že leží mimo pixel shader engine. R520 v plné polní obsahuje 16 TMU organizovaných do 4 čtveřic a ke každé náleží jedna čtveřice adresovacích jednotek. Ostatní grafické čipy mají počet podstatně omezený, ale o tom až dále.
V části, která texturovacím jednotkám náleží, se nachází i cache pro dočasné ukládání textur. Data v ní jsou samozřejmě komprimovaná a používány jsou komprese DXTC1-5, S3TC nebo 3Dc. TMU mají samozřejmě přímý přístup do registrů, které následně odesílají data do Render Back-Ends.
HyperZ engine
Ačkoliv není tato část ve schématu přímo takto nazvaná, zjevně obsahuje podobné části jako HyperZ jednotky u R420. Jedná se o hierarchické Z a Z/stencil Buffer Cache, naopak chybí jednotka pro kompresi Z a Fast Z Clear. Půjde ale pravděpodobně jen o změny ve schématu.
Zatímco na diagramu je HyperZ engine zobrazen jen jeden, jedná se podobně jako u Render Back-Ends o schematický náčrtek. Funkční části této jednotky jsou totži umístěny po celém čipu, takže např. Hierarchical Z probíhá někde mezi Setup enginem a pixel shadery. Pro srovnání, u R420 byly HyperZ jednotky zobrazeny pro každou quad-pipeline zvlášť.
Zde je ještě schéma hierarchického Z, kterému se dostalo oproti předchozí verzi pár vylepšení. Úkolem tohoto enginu je vyřadit překrývající se polygony, a to na základě postupného zpracovávání menších a menších bloků (tedy nikoliv pixel po pixelu). Hlavní je to, že Radeon X1800 používá novou techniku s desetinnými čísly, která by podle ATi měla vyřadit až o 60% více skrytých bodů.
Vylepšená by měla být i komprese Z. Současný stupeň dovoluje maximální kompresi 8:1 a nové algoritmy by měly tyto vysoké poměry používat častěji.
Render Back-Ends
Schéma je v tomto bodě trochu matoucí, protože na rozdíl od dřívějších obrázků nezobrazuje jednotky po jedné, ale sloučené do jednoho schématu. Znamená to, že Alpha/Fog, Z/Stencil Compare, Blend a Multisample AA jsou v R520 celkem 16x, v RV515 a RV530 jich je pak méně (viz předposlední strana).
U většiny GPU do této doby byla tato část nazývána ROP, nebo-li Raster Output. Jedná se o jednotku, která zpracovává pixely z fragment shaderu a provádí na nich blending a anti-aliasing a výsledek zapíše do frame bufferu. Odtud následně pixely putují na výstup, což již v digramu není znázorněno, protože paměťový řadič je poněkud komplikovanější záležitostí.
RBE zvládají 6x sparce sample MultiSampling, což je jeden z nejlepších typů FSAA na sólové kartě. Každý pixel rozdělí na mřížku 12x12, do kterých náhodným způsobem umístí subpixely. Ty jsou v konečné fázi prolnuty a vzniká tak ve všech úhlech velmi kvalitní vyhlazování. Tato metoda může být rozšířena pomocí Temporal AA, což je pravidelná změna umístění vzorků v sudých a lichých snímcích.