reklama
Aktuality  |  Články  |  Recenze
Doporučení  |  Diskuze
Grafické karty a hry  |  Procesory
Storage a RAM
Monitory  |  Ostatní
Akumulátory, EV
Robotika, AI
Průzkum vesmíru
Digimanie  |  TV Freak  |  Svět mobilně

ATi Radeon X1000 - pohled na architekturu

5.10.2005, Zdeněk Kabát, článek
ATi Radeon X1000 - pohled na architekturu
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.

Přehled 3D pipeline (R520)



Předem bych rád upozornil, že informace jsou čerpány zásadně z materiálů ATi, které nemusí být úplné, a tak přiznávám, že v některých částech prostě nevím. Jakmile se objeví zdroje, které dané problémy objasní, článek bude doplněn.

Nový 90nm proces TSMC dovolil inženýrům z ATi implementovat do čipu mnohem více technologií než u 130nm (+68% plochy navíc) a podstatnějším způsobem upravit pipeline. Vývoj byl zaměřen hlavně na zvýšení efektivity a snížení latencí, plnou implementaci Shader Modelu 3.0 a zvýšení kvality obrazu. Jak se jim to podařilo můžete posoudit v následujících kapitolách.

Zde je schéma architektury jádra R520:


>> Klikněte pro zvětšení <<

Již na první pohled se architektura liší od R420 poměrně dost, tedy alespoň co se týče druhé a třetí části. Zatímco přechod z R300 na R420 se vyznačoval velkou paralelizací, tedy zdvojnásobením počtu výpočetních jednotek, zde naopak dochází k rozdělení Pixel shader enginu do několika funkčních bloků.

Zajímavou otázkou je, jakým způsobem bude ATi realizovat vypínání defektních bloků, chce-li tedy prodávat nepodařené čipy na levnějších grafických kartách. Vzhledem k tomu, že do quadů, tedy čtveřic jsou rozděleny nejen pixel shadery, ale také adresovací a texturovací jednotky, pravděpodobně existuje způsob, jak vypnout vždy 4 od každého. Technici ATi potvrdili, že možnost vypnutí jistých částí čipů existuje, což bude využito u Radeonu X1800.

Vertex shader engine



První část pipeline je asi tou, která doznala oproti R420 nejméně změn. U R520 obsahuje engine celkem 8 vertex shaderů, tedy o dva více než u R420. Tento krok je podle mě hlavně odezvou na nVidii, protože není příliš her, které by byly limitovány právě výkonem vertex enginu. Druhou věcí je, že geometrické jednotky zvyšují skóre v 3DMarku05 (jako vždy marketing).



Detail prozrazuje, že jednotka je prakticky identická s R420. Každý vertex shader se skládá z vektorové ALU, která dokáže zpracovat 4-složkové instrukce (vec4) a ze skalární ALU, která pracuje s jedinou složkou. V shaderech je možné zpracovat 2 instrukce za takt, tedy 10 miliard instrukcí každou sekundu.

Dále je vertex shader engine vylepšen o podporu Shader Modelu 3.0, podporuje dynamické řízení toku (větvení kódu, podmínky apod.) a zvládá zpracovat až 1024 instrukcí. K dispozici má i více dočasných registrů. Jak si můžete také všimnout, na diagramu není pro vertex shadery znázorněna žádná texturovací jednotka. To znamená, že není možné provádět displacement mapping přímo, ale textura musí být nahrána do vertex enginu přes část s pixel shadery (render-to-vertex-buffer). Ačkoliv toto není příliš elegantní řešení, je možné textury plně filtrovat (bilineárně i trilineárně) a podle testů ATi je tento přístup velmi rychlý.

Konec enginu obsahuje jednotky Backface Cull (ořezává vrcholy, které se nacházejí na odvrácené straně objektů), Clip (ořezává vrcholy mimo obraz), Perspective Divide (upravuje perspektivu scény) a Viewport Transform (převádí obraz do souřadnic pozorovatele).

Setup Engine



Setup Engine má starosti hlavně převedení vrcholů na konkrétní trojúhelníky (Geometry Assembly), které mohou být nadále zpracovávány v HyperZ enginu a samozřejmě v pixel shaderech a texturovacích jednotkách. Rasterizace pak přiřazuje jednotlivým polygonům různé údaje, např. souřadnice textur.



Dříve byl Setup Engine zodpovědný za rozdělování trojúhelníku do dlaždice, které byly posílány do jednotlivých quadů, ovšem nyní je tato úloha převedena na "Ultra Threading Dispatch Processor", který se nachází o stupeň dále.
reklama