Nová generace GPU

Svět výkonné grafiky se za posledních deset let změnil k nepoznání. Drahé pracovní stanice SGI či Intergraph byly ...


Svět výkonné grafiky se za posledních deset let
změnil k nepoznání. Drahé pracovní stanice SGI či
Intergraph byly nahrazeny veskrze standardními osobními
počítači s běžnými komponentami. Za překotným vývojem zejména
grafického hardwaru stojí přitom jediný fenomén: digitální zábava,
či přesněji počítačové hry.

Přestože výrobci mikroprocesorů a grafických procesorů dodávají specializované
čipy určené pro segment workstation, ve skutečnosti se jedná o tentýž hardware,
který je osazován i do výkonných herních PC a naopak. Procesory Xeon se tak
proměnily v Pentium Extreme a grafické karty Radeon se s drobnými úpravami
BIOSu a ovladačů prodávají coby řada FireGL.
Zatímco první generace herních 3D akcelerátorů byly spíše jednoduchými (byť
výkonnými) rasterizéry, případně jednotkami pro manipulace s geometrií pomocí
maticových výpočtů, moderní GPU, tedy grafické procesory, reprezentují masivně
paralelní čipy schopné zpracovat desítky či stovky vláken současně s 32bitovou
přesností v plovoucí desetinné čárce (FP režim). Vedlejším produktem vývoje
herního hardwaru se tak stávají grafické karty, které svým výkonem v mnoha
parametrech překonávají speciálně vyvinutou techniku pro pracovní stanice a
profesionální vizualizaci. Je důležité si to při pohledu na nové generace
grafických čipů uvědomit. Nejedná se jen o hardware určený pro hraní akčních
her či realistických simulací, ale o obvody které lze využít pro profesionální
účely při vizualizaci, renderingu, CAD/CAM a v neposlední řadě i pro negrafické
specializované výpočty v oblastech, jako je aplikovaná genetika, či dokonce
relační databáze.
Právě nové generace grafických procesorů uvedené na trh v nedávné době - tedy
GeForce 7 a Radeon X1000 - jsou v tomto směru velmi zajímavé, neboť nabízejí
vysoký výpočetní výkon a flexibilní architekturu s možností psaní komplexních
programů pro stínovací jednotky včetně větvení. Druhé jmenované rodině, tedy
čipům Radeon X1300, X1600 a X1800, které byly představeny na počátku října,
bychom se tentokrát chtěli věnovat podrobněji.

Architektura R5xx
Kanadská společnost ATI učinila v případě architektury R5xx odvážný krok.
Uvedla na trh současně hned sedm modelů grafických karet postavených na jádrech
R520, RV530 a RV515. Pravdou ovšem zůstává, že v několika případech se jednalo
o uvedení čistě teoretické, neboť některé z karet budou dostupné až koncem
listopadu. To znamená, že reálně je bude možno zakoupit spíše v příštím roce.
Důvod tohoto zpoždění spočívá bezpochyby v omezené produkční kapacitě výrobních
partnerů, kteří čipy ATI produkují a mezi něž patří například firma TSMC.
Zpočátku bude výroba zaměřena především na dražší hi-endové modely a velmi
levné čipy, které lze produkovat ve velkých objemech. GPU střední třídy dorazí
na trh jako poslední (důvodem je jistě i snazší vyprodání stávajících zásob a
produkce na předvánočním trhu).

Pixel shader 3.0
Architektura čipů R5xx má několik společných prvků: podpora DirectX 9.0c včetně
shader modelu 3.0, značná modulárnost, oddělení pixelových potrubí od
stínovacích jednotek (shader) a celkový posun směrem k navýšení výkonu
stínovacích obvodů na úkor hrubého rastrovacího výkonu (fillrate).
Na tomto místě je vhodné udělat krátkou odbočku a věnovat se významu podpory
shader modelu 3.0 (SM3) či, chcete-li, pixel shader verze 3.0 (PS 3.0). Jak
jsme zmínili v úvodu, grafické akcelerátory, či přesněji grafické procesory
(GPU), prošly v posledních několika letech rychlým vývojem. Zdaleka se již
nejedná o pouhý soubor několika rychlých rasterizačních a celočíselných
vektorových jednotek, které provádějí jednoduché maticové výpočty s vektorovou
grafikou a následně ji "plní" texturami, jak to činily čipy, které podporovaly
sedmou generaci Direct X. S příchodem DirectX 8 byly do grafických čipů přidány
jednotky pro úpravy a stínování vektorových modelů (vertex shader) a efektové
operace s jednotlivými body obrazu (pixel shader) - jedná se v podstatě o
několik specializovaných plně programovatelných procesorových jednotek, jež
dokáží zpracovat geometrická a obrazová data masivně paralelním způsobem.
Zásadní novinku představuje právě programovatelnost - v minulosti se možnosti
grafických karet, zejména v oblasti speciálních efektů, omezovaly na výbavu,
kterou do grafického procesoru vložil výrobce čipu. Pro shadery je možné
grafické operace vymýšlet a programovat. První a druhá generace shaderů měla
ovšem značná omezení. Jednotky pracovaly zcela či alespoň částečně v
celočíselném režimu a nezvládaly ani základní větvení algoritmů (for, if,
else). Aplikace složitých algoritmů či postupná aplikace několika efektů
vyžadovala celočíselná zaokrouhlení, jež způsobují nepřesnosti ve výpočtech.
Pixel shader jednotky třetí generace (PS 3.0) již pracují plně ve
dvaatřicetibitovém FP režimu. To umožňuje psaní kvalitnějších a komplexnějších
efektových algoritmů a navíc otevírá možnosti využít GPU i k některým
specifickým výpočtům.

Modulární uspořádání
ATI aplikovalo při návrhu nové řady grafických čipů podobný postup, jaký
použila s velkým úspěchem nVidia u řady GeForce6. Všechny modely vycházejí ze
společné architektury, a nabízejí tedy víceméně stejné funkce (leč pochopitelně
velmi rozdílný výkon). ATI ale zároveň vytvořilo značně modulární design GPU.
Jednotlivé jednotky (pixel shadery, vertex shadery, texturovací jednotky) jsou
na sobě nezávislé, a výrobce je tak může v různých typech GPU libovolně
přidávat a ubírat, respektive přesněji kombinovat je v různých poměrech.
Čipy R520, RV530 a RV515 se liší počtem specializovaných obvodů, jako jsou
pixel shadery, vertexové shadery a pixelová potrubí. Odlišují se pochopitelně i
pracovní frekvencí GPU a RAM. Modulární koncepce navíc umožnila, aby od sebe
byla odloučena pixelová potrubí, která jsou zodpovědná za hrubý vykreslovací
výkon grafického čipu a stínovací jednotky, které hrají důležitou roli zejména
u nejnovějších her s pokročilými efekty. ATI se tak u nových čipů soustředilo
právě na shader jednotky - teoreticky by to mělo znamenat výhodu u náročnějších
her, které se objeví v budoucnu (ze současných titulů by bylo možné jmenovat
F.E.A.R. či Quake 4), výsledky testů v současných a zejména starších hrách ale
díky tomu dopadají hůře - zejména u GPU střední a nižší třídy, která pohánějí
modely X1600 a X1300. Nemůžeme se zbavit dojmu, že pouhá čtyři pixelová potrubí
u modelu X1600 jsou přece jen poněkud málo - standard v této kategorii
představuje již minimálně dva roky dvojnásobek.

Jádro GPU
Podpora pixel shaderu 3.0 a modulární uspořádání obvodů v GPU ale nejsou
jedinými novinkami, které řada GPU R5xx přináší. K významným změnám došlo v
samotném jádru - jednotky vertex shader jsou vybaveny samostatnými obvody pro
kontrolu toku instrukcí a dat, které umožňují větvení a cyklování programového
kódu. Samotné programy pro vertex shader jednotky pak mohou mít až 1 024
instrukcí.
Významnou novinkou je ultra threading dispatch processor (UTDP), který má na
starosti zásobování pixel shaderů daty a instrukcemi. Jde o to, že některé
instrukce mohou být zdrženy než jsou jim přiřazena data, což zpomaluje běh
celého GPU. UTDP umožňuje rozdělit práci na mnoho miniaturních vláken
(threads), která jsou zpracována paralelně. Podobné obvody byly i v předchozích
generacích GPU, nová generace v čipech R5xx ale používá vlákna obsahující pouze
16 pixelů, kterých může být současně rozpracováno až 512 (u X1800), respektive
128 (u X1600 a X1300).
Pixel shader programy při použití PS 3.0 bývají často větveny a různé efekty
jsou následně aplikovány jen na některé pixely. Je-li v takovém případě možné
při větvení pracovat s menším počtem pixelů (pouze 16, namísto stovek u
předchozích generací GPU), probíhají výpočty mnohem efektivněji. Samotné pixel
shader jednotky (či, chcete-li, potrubí - pipelines) jsou organizovány do bloků
po čtyřech, podobně jako u předchozích čipů ATI. Každá jednotka přitom může
zpracovat až 6 instrukcí během jediného cyklu, novinkou jsou ale, podobně jako
u vertexových jednotek, samostatné obvody pro větvení - to lze díky tomu
provádět paralelně s pěti dalšími instrukcemi. Pixel shadery tudíž byly,
podobně jako většina ostatních obvodů, upraveny tak, aby pracovaly co
nejefektivněji.

Kruhový řadič
Asi nejzásadnější úpravy byly provedeny na paměťovém řadiči. Hlavním problémem
hi-endových karet s 256bitovým paměťovým rozhraním je totiž velké množství
"drátů" (minimálně 256) mezi GPU a paměťovými čipy. Takovýto počet elektrických
vedení vyžaduje složité PCB (Printed Circuit Board) s pěti či dokonce osmi
vrstvami, což výrobu grafických karet značně prodražuje.
ATI se rozhodlo použít "kruhový" paměťový řadič, jehož fyzická architektura by
se asi nejlépe dala přirovnat k městským dopravním okruhům (ty řeší obdobný
problém - jak dostat co největší množství aut z/do různých částí města). Hlavní
dopravní okruh v tomto případě představuje 512bitová kruhová sběrnice (256 bitů
v každém směru), která má čtyři dopravní "uzly", z nichž každý komunikuje se
dvěma paměťovými moduly pomocí dvou 32bitových rozhraní. Dopravní uzly mohou
komunikovat mezi sebou (pomocí zmíněné 512bit sběrnice, která je přímo v GPU),
přijímat povely či data od paměťového řadiče a odesílat požadovaná data z RAM
do cache pamětí, které jsou k nim přirazeny.
Případný požadavek na data z grafické RAM tak předá paměťový řadič uzlu, v
jehož paměti se data nacházejí. Ten je následně uloží do cache paměti, která je
nejblíže obvodům, které data vyžádaly - buď do některé z "vlastních" cache
pamětí, nebo je po okruhu pošle uzlu, jehož cache paměti jsou blíže "cílové
adrese" uvnitř čipu.
ATI se pomocí nového řadiče snaží minimalizovat paměťovou latenci - tedy dobu,
po kterou musejí obvody v GPU čekat na potřebná data, a to na úkor celkové
propustnosti. To je sice v rozporu s dosavadním přístupem (pro výkon GPU byla v
případě RAM nejdůležitějším faktorem propustnost), složitější pixel shader
programy s větvením a cykly (a tedy i častějšími přístupy do paměti) by ale do
budoucna mohly právě takovouto architekturu využít mnohem efektivněji. ATI se v
případě paměťového řadiče opět soustředilo zejména na optimalizace důležité pro
počítačové hry, které intenzivně využívají stínovacích jednotek.

HDR
Jednou z novinek, které představila nVidia u GeForce 7800, byla technika
vykreslování HDR (High Dynamic Range) - tedy obrazu s vysokým dynamickým
rozsahem. HDR hraje důležitou roli z hlediska kvality obrazu; umožňuje totiž
mnohem výraznější vykreslování barevných odstínů a vyšší barevnou dynamiku. V
praxi to znamená, že světlé i tmavé scény jsou graficky živější či barevnější a
u tmavých scén lze snáze vní-
mat různé detaily.
Nyní tedy s HDR přichází i ATI, a to dokonce v kombinaci s antialiasingem (to
konkurenční GeForce 7800 nenabízí).
Mezi další novinky v oblasti kvality obrazu patří kvalitnější anizotropické
filtrování - přesněji "area aniso", kdy je anizotropické filtrování počítáno
odlišnými metodami pro blízké textury (Euklidovský model výpočtu vzdálenosti: ?
xyz x2 + y2 + z2) a pro vzdálenější textury (zjednodušený výpočet vzdálenosti s
konstantou a:
ax + by + cz). Společnost nVidia sice podporovala metodu přesnějšího výpočtu
již u čipu GeForce FX, používala ji ale pro celou scénu, což nadměrně
zatěžovalo procesor grafické karty.

Avivo
Poslední zásadní novinkou jíž přinášejí grafické karty z rodiny Radeon X1000 je
podpora platformy pro práci s videem Avivo, kterou společnost ATI ohlásila s
předstihem před uvedením nových grafických karet. Avivo sestává jednak z karty
pro digitalizaci videa (ATI Theater 550) a grafické karty s podporou Avivo -
tedy libovolného modelu z řady Radeon X1000.
Zatímco karta pro digitalizaci je vybavena čipem Theater pro kompresi MPEG-2 v
reálném čase, úlohou grafických karet je urychlit transkódování (tedy převod
mezi formáty) a dekódování (přehrávání) i těch nejnáročnějších druhů videa -
počínaje MPEG-2, MPEG-4 či DivX přes VMV9, VC-1 a konče H.264 používaným pro
HDTV formáty, který nedokáží současné CPU dekódovat v reálném čase.
Avivo obvody nabízejí i vylepšené funkce De-Interlacing a Scaling, což by se
mělo projevit na kvalitnějším přehrávání běžných formátů jako je DVD či DivX a
zobrazování TV signálu. Výhodou Avivo je též podpora dvou DVI výstupů
dual-link. K jedné kartě je tak možné připojit současně dva LCD displeje s
vysokým rozlišením či LCD s vysokou barevnou hloubkou 10 bitů či 16 bitů na
kanál (30 bitů, respektive 48 bitů RGB).



Grafické procesory: Tango pro dva

Překotný technologický vývoj v oblasti 3D akcelerátorů a grafických procesorů
vedl nutně ke konsolidaci a de facto i k polarizaci grafického trhu. Co do
počtu dodaných grafických řešení vede díky integrované grafice Intel (byť se
jeho podíl zmenšuje), na trhu samostatných grafických řešení bojují o první a
druhou pozici dlouhodobě společnosti nVidia a ATI. Ostatní konkurenti byli buď
odkoupeni (3Dfx, S3, 3D Labs), nebo se věnují odlišným oblastem
(Thomson/Videologic), případně doprodávají své staré technologie (Matrox).
Konsolidoval se též obchodní model. Zatímco ATI začínalo jako firma vývojová i
výrobní, nVidia aplikovala výhradně technologický model "fabless" (bez
továren). V jeho rámci vyrábí čipy u firem, jako je například TSMC, a následně
je prodává desítkám výrobců grafických karet. Právě druhý jmenovaný model se
ukázal být flexibilnějším a konkurenceschopnějším - ATI jej v současné době
používá také, zatímco u společnosti 3Dfx byl pokus přejít z fabless modelu k
interní výrobě jednou z příčin úpadku firmy.

Jak skončily?
S3 Graphics
Grafickou divizi firmy S3 odkoupila společnost VIA v roce 2000. Technologie
Savage byla posléze použita pro integrované čipsety i samostatné grafické čipy
GameChrome a DeltaChrome. V ostré konkurenci se ovšem příliš neprosadily. Vývoj
pod křídly VIA pokračuje dál, zůstává ale otázkou, zda je možné se prosadit
proti konkurentům, jakými jsou ATI a nVidia v jiných segmentech než je
integrovaná grafika.

3Dfx
Společnost, která v roce 1997 rozpoutala díky přídavné kartě Voodoo Graphics
boom 3D akcelerátorů, změnila v letech 1999-2000 svůj obchodní model a začala
distribuovat své nové generace Voodoo Graphics exkluzivně. To spolu s
nešťastnými technologickými rozhodnutími a opožděním produktů vedlo k potížím,
které vyvrcholily prodejem 3Dfx společnosti nVidia. Rozpracovaná platforma
Rampage se následně stala základem pro GeForce FX.

PowerVR
Původně vyráběné pod značkou Videologic byly čipy PowerVR spolu s 3Dfx, 3D Labs
a Rendition prvními průkopníky 3D akcelerace na PC. Technologie PowerVR posléze
převzala Sega pro konzole Dreamcast, a uvedení nových generací pro PC se tak
značně opozdilo. Pod záštitou STMicro byly následně vyráběny čipy druhé
generace Kyro a Kyro II. Třetí generace nikdy nedorazila na trh, neboť STM
prodalo grafickou divizi. V současné době vyrábí PowerVR mobilní grafické
akcelerátory MBX určené pro kapesní počítače PDA a chytré telefony.

3D Labs
Další z průkopníků 3D grafiky uvedl na trh první čip pro PC již v roce 1995.
Následoval model Game Glint (GiGi), který se objevil na vůbec prvních
akcelerátorech. Vývojáři 3D Labs se bohužel příliš soustředili na OpenGL a do
značné míry ignorovali rozhraní D3D. Pozdější čipy jako VildCat VP tak byly
populární spíše mezi profesionálními uživateli než hráči. V roce 2001
společnost převzala firma Creative Labs, která zachovala značku pro vývoj a
výrobu profesionálních karet WildCat Realizm, určených zejména pro 3D
modelování a CAD.

Matrox
Matrox si na jednu stranu dokázal udržet pozici dodavatele technologií i
vlastních karet, stalo se tak ovšem za cenu poklesů prodeje a postupného mizení
z trhu. Zatímco karty Mystique či Parhelia se ještě pokoušely konkurovat
aktuálním modelům výkonných 3D akcelerátorů, v současné době jsou již uváděny
pouze coby karty pro profesionální 2D aplikace či pro podporu práce s více
displeji. Matrox nedávno uvedl nové verze svých karet pro PCI Express sběrnici.

A ti ostatní...
Není pochopitelně možné popisovat osudy všech výrobců grafických čipů pro PC.
Osud mnoha firem je ostatně často obtížné vystopovat. Samostatně jsme se tak
nemohli věnovat například společnostem Rendition, CirrusLogic či legendám 2D
grafiky TsengLabs, Weitek, Number Nine a Trident.

GeForce 7800 GT/GTX: Hlavní konkurent

Hlavním konkurentem nových grafických karet Radeon, zejména v segmentu hi-end
grafiky, je již dříve uvedená GeForce 7800 GTX. Stejně jako nové Radeony i
GeForce podporuje shader model 3.0 (ten ostatně podporovaly i všechny karty
nVidia předchozí generace) a je navržena taktéž modulárnějším způsobem, který
umožňuje konfigurovat pixelová potrubí v čipu nezávisle na shader jednotkách.
GeForce 7800 si ale zároveň zachovává tradiční prvky architektury - zejména
vysoký hrubý vykreslovací výkon (má 24 paralelních pixelových potrubí) a
tradiční křížový paměťový řadič se šířkou 256 bitů, díky kterým v drtivé
většině existujících her poráží konkurenční modely ATI.









Komentáře
K tomuto článku není připojena žádná diskuze, nebo byla zakázána.