Sapphire Radeon X800XL Ultimate s chladičem Zalman
Seznam kapitol
Již dávno není tajemstvím, že ATi Radeon X800XL je v dnešní době karta, která představuje asi nejlepší volbu do nového počítače s ohledem na poměr ceny a výkonu. Karta nabízí úplně stejné možnosti jako high-end v podobě Radeonu X850XT, ale narozdíl od něj běží na nižších taktovacích frekvencích. Na našem serveru jsme se setkali již s několika kartami ATi Radeon X800XL, ale dnešní kousek je výjimečný svým nestandardních chlazením, které pochází z dílen společnosti Zalman.
Tento čip je svým designem naprosto shodný se starším bratříčkem R420, ale narozdíl od něj je vyráběn 110nm technologií bez Low-K dielektrika, takže došlo ke značné úspoře při výrobě tohoto čipu, což má bohužel negativní dopad na jeho potenciál pro přetaktování. Obyčejně R430 nepřetaktujete o více než 50MHz.
R430 disponuje 16 pixel pipelines a to je naprosto shodná vlastnost pro dnešní high-end produkty v této oblasti. Stejně jako u nVidie jsou pixel pipelines rozděleny do čtveřic, což poskytuje prostor pro další varianty karet za pomocí vypnutí jednoho bloku pipelines. Příkladem budiž Radeon X800, který má aktivních jen 12 pixel pipelines, avšak ještě nikdo nepřišel na možnost, jak otevřít zbývající 4 neaktivní.
- pro zvětšení klikněte -
Počet vertex shaderů je pro všechny karty řad X700, X800 a X850 stejný a činí rovných 6 jednotek (vertex pipelines se starají o zpracování geometrie scény). Počet je tedy stabilní a nemění se ani deaktivací pixel pipelines. GeForce 6600GT s čipem NV43 má pouze 3 vertex shadery, což ji ovšem nijak neznevýhodňuje oproti ATi kartám X700 s 6 VS jednotkami. Dnešní enginy nemají příliš náročné geometrické modely, takže dvojnásobek geometrických jednotek se v praxi neprojeví.
Vertex Pipelines R430
- pro zvětšení klikněte -
Každý ze 6 Vertex Shaderů obsahuje skalární ALU a vektorovou ALU, které jsou napojeny na Flow Control jednotku, která má na starosti řízení těchto dvou ALU a umožňuje větvení, smyčky a vytváření sub-výpočtů. Série X800 má o 50% procent vyšší výkon ve VS operacích než předešlá high-end série Radeonů 9800. Vertex Shadery R430 pracují plně s 32-bit Floating Point přesností.
Vertex Shadery zpracovávají údaje o geometrii scény a pracují typicky se čtyřmi 32-bitovými hodnotami pro každý vertex, který zahrnují 3 údaje o poloze v prostoru (x,y,z) a 1 hodnotu o perspektivě (w). Když jsou tyto výpočty hotovy, tak se přistoupí k odstranění neviditelných částí (v tomto případě trojúhelníků z dalších výpočtů) scény, což má na svědomí Backface Culling engine.
Po té následuje Clipping, který odstraní částečně viditelné části scény (trojúhelníky) pomocí ořezávání a testovaní v pomocném obdélníku, kde počítá s jednotlivými vektory a jejich poloze vůči tomuto teoretickému čtyřúhelníku.
Následuje počítaní perspektivy přes Perspective Divide jednotku, kde se ze získaných hodnot w (Vertex Shadery), které tak dají základ celkovému dojmu prostorovosti scény. Konečně přijde ke slovu Viewport Transport jednotka, která získané data transformuje do právě používaného rozlišení aplikace. Jakmile se vertex data dostanou do Setup Engine, tak jsou jednotlivým polygonům přiřazeny parametry jako jsou souřadnice textur, barev a Z.
Pixel Pipelines R430
- pro zvětšení klikněte -
Na obrázku vidíme jednu čtveřici pipelines (z 16) a každá z nich má svou vlastní Hyper Z HD jednotku, což narozdíl od Radeonu 9800XT/Pro umožňuje použití Hierarchical Z-Buffer i v rozlišeních nad 1600x1200, což zatím nebylo možné díky omezené kapacitě bufferu. Hierarchical Z-Buffer dokáže zpracovat dvě hodnoty Z a Stencil v jednom cyklu na jediný pixel.
Například Radeon 9600XT se čtyřmi pipelines měl při zapnutí FSAA maximum na 1280x1024 (pak následoval velký propad ve výkonu), což bylo pravděpodobně způsobeno omezeno kapacitou Z-Bufferu kolem 1.3 mega pixelů. Čipy R4xx mají kapacitu Hierarchical Z-Bufferu kolem 4 miliónů pixelů, což už umožňuje i rozlišeni 2048x1536.
Pokud je kapacita Hierarchical Z-Bufferu překročena, tak se automaticky nevypne, ale data přes tento limit automaticky vyřazena (až 256 pixelů) ze zpracování a vrací se zpět k prvotnímu Z-testu (Hierarchical Early Z Test) , ale většina scény je tak zachycena Hierarchical Z-Bufferem, což je opět rozdíl oproti sérii Radeonů 9800 a 9600, kde se buffer deaktivoval.
Na obrázku lze vidět detail jediné Pixel Shader jednotky, která se skládá z pěti samostatných ALU. Tyto jednotky mají k dispozici 64 registrů (32 konstantních a 32 dočasných) a určitý počet registrů pro práci s nasvětlováním polygonů. ATi zvolila přesně podle specifikací DirectX 9 přesnost Pixel Shaderových jednotek na 24-bitů, což je občas výhoda oproti nVidii, která dokáže pracovat jen s 16-bitovou nebo 32-bitovou přesností (Half-Life 2).
Samotný limit v počtu instrukcí pro všechna ALU je stanoven na 512, což je přesně na hranici specifikace Pixel Shader 2.0b a Pixel Shader 3.0. Dále následuje F-buffer, který známe už od čipu R350 (R9800Pro), který byl jinak shodný se starším R300 (R9700Pro) a umožňuje teoreticky zpracovávat nekonečný počet instrukcí, který je jinak pro Pixel Shader 2.0 omezen na 96 instrukcí. Bohužel se zdá, že F-buffer korektně nefunguje ani pod OpenGL a počet je stále omezen na 96 instrukcí.
Dále následuje Pixel Output, což není nic jiného než staré známé ROP jednotky pro vykreslení pixelů. Každá ROP R430 je schopna zpracovat 1 barevnou hodnotu a 1 Z/Stencil hodnotu. Bohužel u R4xx nejsou zapojeny jednotky barvy a Z/Stencil zapojeny paralelně, a tak nemohou být obě jednotky případně použity k Z/Stencil operacím jako u NV4x.
Některé skutečnosti a ilustrační obrázky čerpány ze serverů Beyond3D a 3DCenter.