GPU

Z Multimediaexpo.cz

GeForce 6600GT (NV43) GPU

GPU (grafický procesor, anglicky Graphic Processing Unit) je v informačních technologiích specializovaný řídící procesor umístěný na grafické kartě uvnitř počítače, který zajišťuje vykreslování dat uložených v operační paměti na zobrazovacím zařízení (monitor, projektor, braillský řádek a podobně). Výkonné grafické procesory se v současné době využívají i k jiným výpočtům, než jsou výpočty nutné pro zobrazování dat.

Obsah

Charakteristika

Grafický čip je používán v mnoha zařízeních. Jeho konstrukce je závislá na konkrétních potřebách a požadovaném výkonu. Starší počítače (např. Didaktik) obsahovaly místo GPU jen specifický zákaznický integrovaný obvod. Současné nejvýkonnější grafické karty mají GPU ve specifických výpočtech výkonnější, než je hlavní procesor počítače. Takový GPU obsahuje stovky milionů tranzistorů, vyžaduje intenzivní chlazení a výkonný elektrický zdroj. V osobním počítači je GPU buď jako rozšiřující grafická karta nebo je integrována na základní desce počítače v podobě IGP (integrovaný grafický čip). V současné době může být IGP integrován do severního můstku čipsetu a připravuje se integrace přímo do hlavního procesoru počítače.[1]

Stavba čipu

Čip obsahuje TMU, ROP, řadič pamětí a další. Některé dražší čipy jsou vybaveny ochranným kovovým rámem proti poničení. Už od dob GeForce 2 (a u některých výrobců i dřív) se grafický čip chová plně jako paralelní čip při výpočtech. Díky tomu má mnohdy podstatně vyšší výkon než CPU v některých výpočtech. Grafický čip se integruje buďto do severního můstku (na základní desce) nebo na vlastní PCB (grafickou kartu). Grafický je na grafické karty určený na výpočty operací s pohyblivou desetinnou čárkou a podobně. Ve výpočtech grafických scén, operací a atd je specializovaným čipem. Obsahuje řadu obvodů pro co nejrychlejší počítání výpočtů:

  • unifikované shadery – moderní náhrada za Pixel a Vertex jednotky, každá firma má svoji vlastní architekturu shaderů. Jsou programovatelné a díky tomu nemusí počítat pouze zobrazitelná data, ale i výpočty pro vědu a další.
    • AMD používá superskalární (VLIW) jednotky unifikovaných shaderu. To je 5 (VLIW 5) jednodušších jednotek jako celek, respektíve 4 (VLIW 4) jednodušší jednotky jako celek u novejch grafických karet AMD Radeon 69**. Frekvence shaderů je stejná jako zbytku GPU.
    • NVidia používá skalární jednotky unifikovaných shaderu. Každá jednotka je plnohodnotná. Frekvence shaderů je stejná vyšší než zbytku GPU, většinou v násobiči 2× až 3×.
    • VIA taky má vlastní unifikovaný shadery na svých grafikách Chrome 400/500.
    • 1 jednotka superskalární se nerovná 1 jednotce skalární.
  • řadič pamětí - stará se o komunikaci mezi grafickou pamětí a GPU. NVIDIA má podporu GDDR5, stejně jako AMD.
  • TMU jednotky (Texture mapping unit) - dává na objekty textury.
  • ROP jednotky (Render Output unit) - stará se o konečný výstup dat z grafické karty.

Grafické akcelerátory

Výkon GPU je závislý na rychlosti, s jakou dokáže zpracovávat matematické operace v plovoucí řádové čárce, a proto je na tuto činnost vysoce specializován. Kromě klasických matematických strojových instrukcí v něm mohou být implementovány i operace, které umožňují přímo pracovat se základními grafickými prvky a tvary, což umožňuje vykreslovat grafické objekty rychleji, než by bylo možné za použití hlavního procesoru počítače (CPU). Pro další urychlení práce s grafikou byly vyvinuty různé techniky urychlení (akcelerace) manipulace s grafickými daty, které by při zpracování běžným způsobem byly výrazně pomalejší. Mezi nejběžnější operace z počátku 2D (dvourozměrné) počítačové grafiky patří BitBLT operace (kombinuje několik bitmap vzorců pomocí RasterOp), obvykle realizované speciálním zařízením nazývaným „blitter“ a operace pro kreslení obdélníků, trojúhelníků, kruhů a oblouků. Moderní GPU kromě toho mají podporu pro 3D (trojrozměrnou) počítačovou grafiku obsahují funkce pro renderování, podporu digitálního videa a další.

1970

V 8bitových Atari počítačích byly pro hardwarové mixování grafických a textových režimů, pozicování a zobrazování spritů (forma hardwarového blittingu) a ostatní efekty používány ANTIC a CTIA čipy. Antic čip byl speciálně určen pro mapování textu a grafických dat do video výstupu. Konstruktér čipu Antic, Jay Miner, následně navrhl grafický čip pro Commodore Amiga.

1980

Commodore Amiga byl první masově vyráběný počítač obsahující blitter ve svém video hardwaru a grafický systém 8514 od IBM byl jeden z prvních systémů PC video karet provádějící jednoduchou 2D grafiku. Počítač Amiga byl ve své době unikátní v tom, že obsahoval plnohodnotný grafický akcelerátor, převádějící prakticky veškeré funkce pro generování grafiky (včetně kreslení čar, výplň oblastí, blokový přenos obrázků) a grafický koprocesor se svou vlastní (i když primitivní) sadou strojových instrukcí.

1990

Na počátku devadesátých let způsobil vzestup Microsoft Windows nárůst zájmu o vysoký výkon a vysoké rozlišení 2D bitmapové grafiky (které byly dříve doménou unixových pracovních stanic a Apple Macintosh). Velikost trhu znamenala, že se prodejci PC grafik mohli soustředit na vývoj hardware, který by podporoval programové rozhraní Windows Graphics Device Interface (GDI). V roce 1991 představila S3 Graphics první jednočip s 2D akcelerací 86C911 (jeho projektanti ho pojmenovali po automobilu Porsche 911 aby zdůraznili jeho slibovanou výkonnost). Čip 86C911 vyvolal řadu napodobenin: v roce 1995 všichni hlavní výrobci grafických čipů zařadili podporu 2D akcelerace na své čipy. Časem byly drahé víceúčelové grafické koprocesory nahrazeny specializovanými akcelerátory určenými pro prostředí Windows, kde dosahovaly větších výkonů, takže tyto víceúčelové koprocesory postupně vymizely pryč z počítačového trhu. V průběhu 90. let se 2D akcelerace GUI nadále vyvíjela. Jak se zlepšovaly výrobní podmínky, tak se i zvyšovala úroveň integrace grafických čipů. Byly vyvinuty přídavné API pro různé úkoly, jako je grafická knihovna Microsoft WinG pro Windows 3.x a jejich pozdější DirectDraw rozhraní pro hardwarovou akceleraci 2D her ve Windows 95 a v novějších.

Od začátku 90. let se stávalo renderování 3D grafiky v reálném čase běžnější v počítačových hrách a herních konzolích, což vedlo ke zvýšení zájmu o hardwarovou 3D akceleraci. Jedny z prvních masově vyráběných 3D akcelerátorů lze nalézt v páté generaci herních konzolí jako je PlayStation a Nintendo 64. První nepodařené pokusy o levné 3D čipy v počítačovém světě byly S3 ViRGE, ATI Rage a Matrox Mystigue. V podstatě byly tyto čipy zástupci předchozí generace 2D akcelerátorů s přidanými 3D vlastnostmi. Mnohé z nich byly dokonce pinově kompatibilní s předchozí generací čipů pro jednoduchost implementace a nízké náklady. Z počátku byly výkonné 3D grafické čipy na samostatných kartách určené pouze pro 3D akcelerační funkce (a zcela postrádala 2D akceleraci) jako 3dfx Voodoo. Nicméně, jak se vyvíjely výrobní technologie tak 2D akcelerace, 3D akcelerace a video akcelerace byly integrovány do jednoho čipu. Jako jedny z prvních zástupců lze jmenovat čipsety Verite od firmy Rendition.

Na počátku 90. let se objevilo OpenGL jako profesionální grafické API, které se stalo dominantou na PC a bylo jednou z hlavních hnacích sil vývoje hardwaru. V té době byly celkem běžné softwarové implementace OpenGL ačkoliv vliv OpenGL vedl k rozšíření hardwarové podpory. Na konci 90. let se mezi herními vývojáři stalo populární rozhraní DirectX. Na rozdíl od OpenGL, Microsoft trval na striktní jednotné podpoře hardwaru. Tento přístup učinil DirectX méně populárním jelikož mnoho GPU poskytovalo svoje specifické vlastnosti, které dokázaly využít existující OpenGL aplikace, zatímco DirectX bylo často o krok pozadu. Postupně začal Microsoft více spolupracovat s vývojáři hardwaru a zaměřoval DirectX na podporu konkrétního hardwaru. Direct3D 5.0 byla první verze rozvíjejícího se API která získala širokou podporu na herním trhu a dokázala konkurovat mnoha hardwarově specifickým a často proprietárním grafickým knihovnám. V té době je OpenGL stále nejrozšířenější. Direct3D 7.0 představila podporu hardwarového T&L (transformace a osvětlení), které představovalo významný krok v 3D renderování. Hardwarové T&L se objevilo v 90. letech a jednalo se o předchůdce pozdějších vertex a pixel shader jednotek, které byly mnohem přizpůsobitelnější a měly širší možnost programování. První kartou na trhu s podporou této technologie byla NVIDIA GeForce 256 (známá jako NV10).

2000 až přítomnost

S příchodem OpenGL API a obdobných funkcí v DirectX se k možnostem GPU přidaly i programovatelné shader jednotky. Každý pixel či vertex může být zpracován krátkým programem předtím než je zobrazen. První čip který toto umožňoval byl GeForce 3 (NV20) od nVidia. V říjnu 2002 byl představen ATI Radeon 9700 (znám jako R300), první akcelerátor který podporoval Direct3D 9.0. Pixel a vertex shadery implementovaly smyčky a matematické operace s plovoucí řádovou čárkou, které se svou flexibilitou přiblížily CPU. Pixel shading se často používá například pro bump mapping.

Výrobci GPU

  • ATI Technologies (nyní sloučena s AMD)
  • NVIDIA Corporation
  • Fujitsu
  • 3Dlabs
  • Matrox
  • XGI Technology - sloučeny SiS a Trident Microsystems
  • Intel - dlouhodobě vyrábí více než polovinu všech celosvětově vyrobených GPU (jedná se o integrované grafické karty v čipsetech od firmy Intel.
  • 3dfx (nyní sloučena s NVidia)
  • S3 Graphics (nyní sloučena s VIA Technologies)
  • Falanx Microsystems - Mali - nyní ARM Norway

Reference

  1. http://www.cdr.cz/a/25357 – Procesor Fusion

Externí odkazy


Commons nabízí fotografie, obrázky a videa k tématu
Graphics card