Bakalářská práce
Téma: Rešerše moderních grafických karet Literature retrieval of modern graphic cards
Zadání 1) Přehled a vysvětlení technologií a principů moderních grafických karet. Výsledky práce by měly být použitelné i jako podklady pro výuku v některých kursech ČVUT FEL. 2) Student by měl vysvětlit hlavní inovační principy, popsat rozdíly mezi jednotlivými řadami grafických karet, jak z hlediska architektury, tak z hlediska jejich technologie, i s ohledem na dobu jejich vzniku. 3) Rozdíly mezi jednotlivými typy grafických karet, technologií atp. budou též přehledně a výstižně znázorněny různými tabulkami, diagramy, schématy, atp. 4) Rozsah práce pravidelně konzultujte s vedoucím práce. Práce bude zahrnovat kapitolu naznačující poslední trendy a směr vývoje v dané oblasti. 5) Součástí práce bude také seznam referencí na použité tištěné i elektronické zdroje.
2
České vysoké učení technické v Praze Fakulta elektrotechnická Katedra počítačů
Bakalářská práce
Rešerše moderních grafických karet Lukáš Molík
Vedoucí práce: Ing. Martin Molhanec, CSc. Studijní program: Elektrotechnika a informatika, strukturovaný, Bakalářský Obor: Výpočetní technika
28.5.2010
3
4
Poděkování Děkuji touto cestou vedoucímu mé bakalářské práce Ing. Martinu Molhancovi CSc., z katedry elektrotechnologie ČVUT v Praze za velmi cenné rady a připomínky a za čas, který se mnou strávil při konzultacích.
5
6
Prohlášení Prohlašuji, že jsem práci vypracoval samostatně a použil jsem pouze podklady uvedené v přiloženém seznamu. Nemám závažný důvod proti užití tohoto školního díla ve smyslu §60 Zákona č. 121/2000 Sb., o právu autorském, o právech souvisejících s právem autorským a o změně některých zákonů (autorský zákon).
V Praze dne 28.5.2010
…….……………….…………………………………………
7
8
Abstract The goal of this bachelor thesis is compact review about the world of graphic cards since begin until present. At the start I considered graphic cards problems generally. At first I focused in birth of graphic systems used in personal computers and their gradual development until 2004. After that I described function and architecture of graphic cards. At the end of this part I mention cooling. In the main part I attend to primary goal of my thesis, which consist of chronological development modern graphic cards of primary producers after 2004. At first I focused with each one producer on roundup series and at individual types in these series. Then I compared them how the new ones are different against previous cards in light of new technologie, architecture and their parameters. At the end of the primary section I compared paraller series represented by individual producers of characteristics cards with one another in the light of the most important parameters, used technologies and difference in architecture.
Abstrakt Cílem této bakalářské práce je poskytnout čtenáři ucelený přehled o světě grafických karet od počátku jejich vývoje až po současnost. V bakalářské práci se budu v prvé části zabývat problematikou grafických karet obecně. Nejprve se zaměřím na samotný zrod grafických systémů používaných pro osobní počítače a jejich postupný vývoj až do roku 2004, dále pak na funkci grafické karty a její architekturu a také na problematiku umístění karty na základní desce. V závěru obecného pohledu na grafické karty se zmíním i o jejich chlazení. V druhé části bakalářské práce se budu věnovat stěžejní náplni mé práce, která spočívá v chronologickém sledování vývoje moderních grafických karet hlavních výrobců po roce 2004. Nejprve se u každého výrobce zaměřím na přehled řad a na jednotlivé typy karet v těchto řadách a porovnám, jak se liší novější karty od svých předchůdců z hlediska nových technologií, architektury, parametrů apod. Na konci této části srovnám odpovídající řady reprezentované charakteristickými kartami jednotlivých výrobců vzájemně mezi sebou z hlediska jejich nejdůležitějších parametrů, použitých technologií i případných architektonických odlišností. Práci uzavírá slovník technických pojmů použitých v mé bakalářské práci, které se vztahují k problematice grafických karet a také seznam zdrojů, ze kterých jsem čerpal informace.
9
Obsah 1.0 Úvod
15
2.0 Problematika grafických karet
16
2.1 Vývoj grafických systémů do roku 2004 2.1.1 Grafické systémy na PC IBM 2.1.2 První 3D akcelerátory 2.1.3 Vybrané čipy do roku 2004 2.2 Funkce grafické karty 2.3 Architektura grafické karty 2.4 Popis jednotlivých součástí grafické karty 2.4.1 GPU (Graphic Processing Unit) 2.4.2 Paměť grafické karty 2.4.3 Systémové rozhraní (interface) 2.4.4 Frame buffer 2.4.5 RAMDAC 2.4.6 Výstupy grafických karet 2.5 Problematika chlazení
3.0 Moderní grafické karty 3.1 Výrobci grafických karet 3.2 AMD(ATI) 3.2.1 Chronologický vývoj GK firmy AMD(ATI) 3.2.1.1 ATI Radeon X000 3.2.1.2 ATI Radeon X1000 3.2.1.3 ATI Radeon HD 2000 3.2.1.4 ATI Radeon HD 3000 3.2.1.5 ATI Radeon HD 4000 3.2.1.6 ATI Radeon HD 5000 3.3 FVIDIA 3.3.1 Chronologický vývoj GK firmy FVIDIA 3.3.1.1 GeForce 6 3.3.1.2 GeForce 7 3.3.1.3 GeForce 8 3.3.1.4 GeForce 9 3.3.1.5 GeForce 200 3.3.1.6 GeForce 400 3.4 Srovnání řad jednotlivých výrobců 3.4.1 Srovnání řad grafických karet výrobce AMD(ATI) 3.4.2 Srovnání řad grafických karet výrobce FVIDIA 3.4.3 Vzájemné srovnání řad grafických karet AMD(ATI) a FVIDIA 3.5 Budoucí trendy vývoje grafických karet
16 16 19 21 22 22 24 24 25 27 29 29 30 31
33 34 34 35 36 41 48 54 59 64 69 69 71 76 80 85 88 93 97 97 101 105 106 10
4.0 Závěr
108
5.0 Slovíček technických pojmů
109
6.0 Seznam použitých zdrojů
114
A Obsah přiloženého CD
115
11
Seznam obrázků O.1 Vnitřní stavba čipu grafické karty standardně obsahující vlastní pipeline jak pro 2D, tak i pro 3D grafické operace O.2 Zpracování trojrozměrných scén O.3 Umístění komponent na kartě O.4 GPU O.5 Sloty PCI O.6 AGP slot (černý) O.7 PCI Express O.8 VGA O.9 DVI O.10 S-Video O.11 HDMI O.12 DisplayPort O.13 Schéma rozdělení O.14 Chronologický přehled jednotlivých řad grafických karet AMD(ATI) O.15 Dělení řady Radeon X000 na třídy a jednotlivé karty O.16 Schéma čipu R420 O.17 Schéma Vertex pipeline čipu R420 O.18 Jeden blok Pixel pipeline čipu R420 O.19 Schéma Pixel shader čipu R420 O.20 Schéma paměťového řadiče čipu R420 O.21 Schéma Hyper HD čipu R420 O.22 Dělení řady Radeon X1000 na třídy a jednotlivé karty O.23 Schéma čipu R520 O.24 Schéma Vertex shader čipu R520 O.25 Schéma setup engine O.26 Schéma Pixel shader čipu R520 O.27 Schéma interní sběrnice (ring bus) čipu R520 O.28 Detail ring bus O.29 AVIVO O.30 Dělení řady Radeon HD 2000 na třídy a jednotlivé karty O.31 Schéma čipu R600 O.32 Vývoj shaderů od původních Radeonů až po řadu Radeon HD 2000 O.33 Schéma paměťové sběrnice Radeonu HD 2900 O.34 Schéma jednotky Render Back-End čipu R600 O.35 AVIVO HD O.36 Dělení řady Radeon HD 3000 na třídy a jednotlivé karty O.37 Nové značení O.38 Architektura řady HD 3000 O.39 ATI PowerPlay O.40 Výhody PCI Express 2.0 O.41 Dělení řady Radeon HD 4000 na třídy a jednotlivé karty O.42 Schéma čipu RV740 O.43 Schéma texturovacího bloku R600 O.44 Schéma texturovacího bloku RV770 O.45 Schéma výpočetní jednotky RV770
19 20 23 24 27 27 28 30 30 30 31 31 33 35 36 37 38 38 39 39 40 41 43 44 44 45 46 47 47 48 50 51 51 52 53 54 55 56 57 58 59 60 61 61 62 12
O.46 O.47 O.48 O.49 O.50 O.51 O.52 O.53 O.54 O.55 O.56 O.57 O.58 O.59 O.60 O.61 O.62 O.63 O.64 O.65 O.66 O.67 O.68 O.69 O.70 O.71 O.72 O.73 O.74 O.75 O.76 O.77 O.78 O.79 O.80 O.81 O.82 O.83
Schéma Render Back-Ends jednotky v čipu RV770 Schéma propojení paměťové sběrnice v čipu RV770 Dělení řady Radeon HD 5000 na třídy a jednotlivé karty Schéma čipu RV870 Řídící jednotka čipu RV870 Schéma výpočetního jádra čipu RV870 Schéma paměťového subsystému čipu RV870 Eyefinity Chronologický přehled jednotlivých řad grafických karet NVIDIA Dělení řady GeForce 6 na třídy a jednotlivé karty Schéma pipeline NV40 Schéma Vertex shaderu čipu NV40 Schéma Pixel pipeline čipu NV40 Schéma Pixel shader čipu NV40 Schéma ROP jednotky čipu NV40 Dělení řady GeForce 7 na třídy a jednotlivé karty Schéma pipeline G70 Schéma Vertex pipeline čipu G70 Schéma ROP jednotky čipu G70 Dělení řady GeForce 8 na třídy a jednotlivé karty Schéma čipu G80 Schéma shader core čipu G80 Schéma video procesoru GeForce 7 a GeForce 8600 PureVideo Dělení řady GeForce 9 na třídy a jednotlivé karty Schéma čipu G94 Hybrid Power Dělení řady GeForce 200 na třídy a jednotlivé karty Schéma čipu G200 Zjednodušené schéma čipu G200 Schéma jednoho Thread Processing clusteru čipu G200 Power Management Dělení řady GeForce 400 na třídy a jednotlivé karty Schéma čipu Fermi Schéma WARPu čipu Fermi Schéma PolyMorph Enginu Princip Ray tracingu Rasterizace versus Ray tracingu
62 63 64 65 66 66 67 68 70 71 72 73 74 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 106 107
13
Seznam tabulek T.1 Přehled parametrů některých čipů do roku 2004 T.2 Přehled frekvencí DDR pamětí T.3 Přehled frekvencí GDDR pamětí T.4 Přehled některých verzí systémových rozhranních T.5 Přehled grafických 3D čipů vyrobených v letech 1995 až 2002 T.6 Parametry vybraných čipů, které reprezentují řadu Radeon X000 T.7 Parametry vybraných čipů, které reprezentují řadu Radeon X1000 T.8 Parametry vybraných čipů, které reprezentují řadu Radeon HD 2000 T.9 Parametry vybraných čipů, které reprezentují řadu Radeon HD 3000 T.10 Parametry vybraných čipů, které reprezentují řadu Radeon HD 4000 T.11 Parametry vybraných čipů, které reprezentují řadu Radeon HD 5000 T.12 Parametry vybraných čipů, které reprezentují řadu GeForce 6 T.13 Parametry vybraných čipů, které reprezentují řadu GeForce 7 T.14 Přehled karet obsahující Video Procesor T.15 Parametry vybraných čipů, které reprezentují řadu GeForce 8 T.16 Parametry vybraných čipů, které reprezentují řadu GeForce 9 T.17 Parametry vybraných čipů, které reprezentují řadu GeForce 200 T.18 Parametry vybraných čipů, které reprezentují řadu GeForce 400 T.19 Srovnání řad grafických karet výrobce AMD(ATI) T.20 Srovnání řad grafických karet výrobce NVIDIA T.21 Vzájemné srovnání řad grafických karet AMD(ATI) a NVIDIA T.22 Vzájemné srovnání řad grafických karet AMD(ATI) a NVIDIA
21 26 26 29 34 41 48 53 58 64 68 76 80 84 85 88 92 96 97 101 105 105
14
1.0 Úvod Téma bakalářské práce s problematikou grafických karet jsem přivítal, protože se o tuto tématiku zajímám již od studia na střední škole. Každý uživatel počítače, který hraje hry, sleduje video nebo pracuje s grafikou dříve nebo později zjistí, jak důležitý je výkon a podporované technologie grafické karty. Nevhodně zvolená karta může uživatele limitovat svými nedostatečnými parametry nebo chybějícími technologiemi. Při výběru vhodné karty je nutné se určitým způsobem orientovat v této problematice, na což jsem se zaměřil v kapitolách popisujících funkci a architekturu grafické karty. V práci se také věnuji historickému vývoji grafických systémů od monochromatických adaptérů až po 3D zobrazování a zejména jsem zmapoval současné moderní grafické karty, které svými parametry a použitými technologiemi určují současnou podobu grafického zobrazování.
15
2.0 Problematika grafických karet
2.1 Vývoj grafických systémů do roku 2004 V počátcích výroby osobních počítačů, se používaly grafické systémy od společnosti IBM. Nejdříve se jednalo o monochromatické adaptéry, které pracovaly v textovém režimu. Postupným vývojem v této oblasti se u dalších grafických režimů postupně zvětšovalo zobrazovací rozlišení a počet zobrazovaných barev. Technologický milník nastal v 90. letech zrodem prvního 3D akcelerátoru s nově přidanými 3D technologiemi. V následujících bodech se zaměřím podrobněji na výše zmíněné grafické systémy a v závěru pak na vybrané čipy charakterizující vývoj až do roku 2004. Většina grafických systémů, dovoluje práci ve dvou základních zobrazovacích režimech.
Zobrazovací režimy: •
•
Textový režim – režim umožňuje zobrazovat pouze předem definované znaky, jako jsou písmena (a, A, b, B, …), číslice (1, 2, 3, …), speciální znaky (@, #, $, ...) a pseudografické symboly (symboly pro vykreslování tabulek). Grafický režim – režim, ve kterém jsou informace zobrazovány po jednotlivých obrazových bodech tzv. pixelech. Tento režim nepoužívá předem nadefinované znaky, ale může z jednotlivých pixelů vykreslit prakticky libovolnou informaci v závislosti na možnostech dané grafické karty.
Základní parametry grafických systémů: • • • • •
Rozlišení v textovém režimu – počet znaků, které je možné v textovém režimu zobrazit na jednom řádku a počet řádků, které je možné zobrazit na monitoru. Matice znaku – počet bodů (vodorovný i svislý směr), ze kterých se může skládat jeden znak v textovém režimu. Rozlišení v grafickém režimu – počet pixelů, které je možné v horizontálním a vertikálním směru zobrazit na monitoru. Počet barev (barevná hloubka) – počet barev, které je možné najednou zobrazit. Rychlost – počet pixelů, které grafická karta dokáže vykreslit za jednotku času.
2.1.1 Grafické systémy na PC IBM Následující grafické systémy (zvané též - videokarty, grafické karty, grafické adaptéry, grafické akcelerátory) jsou v následujícím textu seřazeny podle období uvedení na trh:
16
MDA (Monochrome Display Adapter) – jedná se o první zobrazovací adaptér pro počítače IBM/PC. Tento adaptér byl monochromatický a neměl podporu grafických režimů. Adaptér uměl pracovat pouze v textovém režimu 80x25 (sloupce, řádky). Jednalo se o ISA sběrnici [5] resp. PC-BUS s video pamětí 4kB, zobrazovací frekvence [5] byla 50Hz.
CGA (Color Graphics Adapter) – jde o první adaptér, který má podporu grafických režimů pro počítače IBM/PC. Adaptér podporoval dva textové a dva grafické režimy, objevil se i třetí grafický režim pro televizní výstup, ten ale nebyl podporován. Paměť adaptéru měla kapacitu 16kB a zobrazovací frekvence byla 60Hz Textové režimy CGA • Režim 40 sloupců a 25 řádků • Režim 80 sloupců a 25 řádků Oba tyto režimy nabízely 16 barev pro znak a 16 barev pro pozadí jednotlivého znaku. Grafické režimy CGA • Režim s rozlišením 320x200 pixelů, při použití čtyř barev • Režim s rozlišením 640x200 pixelů, s použitím dvou barev. HGC (Hercules Graphics Card) – byla navržena firmou Herkules Computer Technology. Jde o konkurenta adaptérům MDA a CGA. Oproti svým konkurentům nabízela nižší pořizovací cenu. Byla určena do sběrnice ISA (PC-BUS). Hercules byl používaný hlavně u počítačů řady PC/XT. Paměť měla velikost 32kB Textové režimy HGC • Režim 80 sloupců a 25 řádků, bylo možné používat dvě znakové sady Grafické režimy HGC • Režim s rozlišením 720x348 ve dvou barvách EGA (Enchanced Graphics Adapter) – objevil se s příchodem počítačů IBM AT. Paměť tohoto adaptéru se pohybovala v rozmezí od 64kB až do 256 kB. Zobrazovací frekvence byla 60Hz. Textové režimy EGA • Režim 40 sloupců a 25 řádků • Režim 80 sloupců a 25 řádků • Režim 80 sloupců a 43 řádků Ve všech režimech mohly znaky používat 16 barev. Grafické režimy EGA • Režim s rozlišením 320x200 pixelů, 4 barvy • Režim s rozlišením 640x200 pixelů, 2 barvy • Režim s rozlišením 320x200 pixelů, 16 barev • Režim s rozlišením 640x200 pixelů, 16 barev
17
• •
Režim s rozlišením 640x350 pixelů, 4 barvy Režim s rozlišením 640x350 pixelů, 16 barev
VGA (Video Graphics Array) – je to standard vydaný roku 1987 společností IBM. Jedná se o nástupce starších zmíněných adaptérů. Nelze však použít původní monitory kvůli změně frekvence synchronizačních signálů. Paměť adaptéru se pohybuje v rozmezí 64kB do 256kB. Textové režimy VGA • Režim 40 sloupců a 25 řádků, 16 barev • Režim 80 sloupců a 25 řádků, 16 barev • Režim 80 sloupců a 25 řádků, zobrazení znaků bílou či šedou barvou, pozadí znaku může být černé nebo šedé Grafické režimy VGA • Režim s rozlišení 320x200, 4 barvy • Režim s rozlišením 640x200, 2 barvy • Režim s rozlišením 320x200, 16 barev • Režim s rozlišením 640x200, 16 barev • Režim s rozlišením 640x350, 4 barvy • Režim s rozlišením 640x350, 16 barev • Režim s rozlišením 640x480, 2 barvy • Režim s rozlišením 640x480, 16 barev • Režim s rozlišením 320x200, 256 barev VESA (Video Electronics Standards Association) – karta VGA byla posledním standardem vydaným firmou IBM. Její nástupce označujeme jako SVGA (super VGA). Tyto karty podporují režim s rozlišením vyšším než 640x480 s až 24 bitovou hloubkou.
SVGA (Super Video Graphics Array) – jedná se dnes o nepoužívanější typ grafické karty. Nejdůležitějším prvkem je procesor, který je schopen realizovat některé často používané grafické operace. Taková to karta bývá také nazývána akcelerátor. Není nutné aby každý pixel, který se má zobrazit musel počítat CPU [5]. 3D akcelerátory se nazývají karty, které jsou schopné provádět složitější operace (stínování, vyhlazování, atd…).
Velkou změnou, která ovlivnila vývoj na poli grafických karet, byl nástup operačních systémů, které byly postavené na grafickém uživatelském prostředí.
Mezi typické funkce čipů pro 2D akceleraci patří: • • • •
BitBlt – přesouvání obsahu oken (bloky pixelů). Funkce BitBlt nasnímá obdelník a poté jej přesune a opět vyplní původní pixely. Hardware Cursor - pohyby kurzoru a zobrazení ukazatele myši Line Drawing – kreslení čar (souřadnice počátečního a koncového bodu) Polygon Fill – kreslení kružnice (souřadnice středu a velikost poloměru)
18
Zoom – kopírování výstřižku obrázku
•
2.1.2 První 3D akcelerátory Jde vlastně o grafické karty, které se od svých předchůdců liší tím, že podporují vykreslování 3D scén. Základní operací, kterou musí 3D akcelerátor provést, je zobrazení vyplněných trojúhelníků s faktickým řešením jejich vzájemného překryvu podle vzdálenosti od pozorovatele (kamery). Tato základní operace může být rozšířena v několika směrech, např. pokrytí texturou, nebo osvětlením jedním či více světenými zdroji, použitím bump mappingu, [5], anti-aliasingu [5], atd. Všechny novější grafické karty obsahují kromě čipu pro urychlení vykreslování 2D grafiky i stejný čip pro 3D grafiku, popřípadě jsou oba čipy integrovány do jednoho.
AGP/PCI Express
Interface
TV Encoder
I2C Video Port
Video Engines
3D/2D Pipeline Preprocessor
TV out
Display Host Port
3D Pipeline
2D Pipeline
RAMDAC
Local Memory Interface
Local Memory
Obrázek O.1: Vnitřní stavba čipu grafické karty standardně obsahující vlastní pipeline jak pro 2D, tak i pro 3D grafické operace
V 90-tých letech se renderování (vykreslování) 3D grafiky začalo objevovat v grafických adaptérech herních konzolí, určených pro hraní počítačových her. To vedlo k pozdějšímu vývoji grafických karet pro klasické PC. Mezi prvními čipy byly S3 Virge, NVIDIA NV1, ATI 3D Rage, NVIDIA Riva, ATI Rage Pro/128, NVIDIA TNT. Později byly vyrobeny výkonnější karty např. GeForce 256, Radeon 256.
19
Obrázek O.2: Zpracování trojrozměrných scén zdroj: http://www.root.cz
Obrázek popisující postup při zpracování trojrozměrných scén. Do vykreslování vstupují dva typy dat. První je informace o vrcholech polygonů [5] (trojúhelníků, plošných čtyrúhelníků, atd.) a jako druhý typ jsou rastrová data, zpravidla bitmapy (znaky v rastrové podobě, kurzory myši, atd.) a především textury, které se nanášejí na vykreslované polygony.
Příklady karet z počátku 3D grafiky •
FVIDIA FV1 – první 3D akcelerátor firmy NVIDIA, který mimo 2D a 3D grafiky obsahoval i 16-ti bitovou 32 kanálovou zvukovou kartu. Tato karta používala tzv. Quadratic Texture Map System (obraz je tvořený z čtvercových textur). Díky tomu nebyl kompatibilní s API Direct 3D [5] vydaný firmou Microsoft a karta se tak stala velice neúspěšnou. Velikost paměti byla 4 MB.
•
ATI 3D Rage – jde o první 3D akcelerátor firmy ATI. Narozdíl od konkurence tento akcelerátor podporoval API Direct 3D.
•
GeForce 256 – její kódové označení je NV10. Byla uvedena na trh srpnu roku 1999 a byla to první karta s označením GeForce. Na rozdíl od svého předchůdce (Riva TNT) je obohacena o Pixel pipeline [5], hardwarové přehrávání videa MPEG-2 [5], ale hlavně o implementaci T&L (transform and lighting) [5]. Čip je vyrobený 220nm výrobním procesem. Obsahuje 22 miliónů tranzistorů a 4 Pixel pipeline každá s jednou texturovací jednotkou. Tento čip měl v sobě integrovaný paměťový řadič, který přinesl podporu DDR pamětí. Maximální rozlišení bylo 2048x1536 při 32 bitové barevné hloubce.
•
Radeon 256 – její kódové označení je R100. Tato karta přišla na trh v roce 2000. Čip je vyrobený 180nm výrobním procesem. Obsahuje 30 miliónů tranzistorů a obsahoval 1 Vertex a 2 Pixel pipeline, každá se třemi texturovacími jednotkami. Taktéž jako její konkurent obsahovala podporu DDR pamětí a T&L jednotku, a technologie Hyper (vykreslování pouze viditelných pixelů).
20
2.1.3 Vybrané čipy do roku 2004 Po roce 2000 zůstali na poli grafických karet pouze tři výrobci a to ATI, nVidia a Matrox, který se zaměřil na specializované čipy a tak převážnou část trhu s grafickými kartami ovládly firmy ATI a nVidia. V roce 2001 s příchodem DirectX 8.0 [5], Vertex shader 1.0 [5] a Pixel shader 1.0 [5], představily obě firmy nové generace čipů s programovatelnými Vertex a Pixel shadery. Následující přehled čipů je důkazem technologického vývoje obou konkurentů. Čipy označené NV patří firmě nVidia a čipy označené R firmě ATI. • •
• •
•
• •
Čip FV20 - vyrobený 150nm výrobním procesem, obsahoval 57 miliónů tranzistorů, 1 Vertex a 4 Pixel pipeline. Na těchto čipech byla založena řada GeForce 3. Čip R200 - byl také vyrobený 150nm výrobním procesem, obsahoval 60 miliónů tranzistorů 2 Vertex a 4 Pixel pipeline. Tento se používal od karet s označením Radeon 8500. Čip FV25 - vyrobený 150nm výrobním procesem, obsahoval 76 miliónů tranzitorů, 2 Vertex a 4 Pixel pipeline. Vylepšení anti-aliasingu a správy paměti. Čip R300 - vyrobený 150nm výrobním procesem, obsahoval 107 miliónů tranzistorů, 4 Vertex a 8 Pixel pipeline. Jako první čip přinesl podporu DirectX 9.0 a Shader model 2.0. Přinesl pokročilejší MultiSampling FSAA [5] a rychlejší anti-aliasing. Čip FV30 - byl vyrobený 130nm výrobním procesem, obsahoval 80 miliónů tranzistorů, 3 Vertex a 4 Pixel pipeline. Podpora DirectX 9.0. Byla přidána technologie CineFX engine (optimalizace pipeline pro vyšší výkon a lepší obrazové efekty), dále IntelliSample pro správu vyhlazování obrazu. Čip R350 - byl vyroben 150nm výrobním procesem, obsahoval 110 miliónů tranzistorů, 4 Vertex a 8 Pixel pipeline. Podpora DDR2. Čip FV35 - byl vyroben 130nm výrobním procesem, obsahoval 130 miliónů tranzistorů, 3 Vertex a 4 Pixel pipeline. Karty s tímto čipem srovnaly náskok grafických karet firmy ATI postavených na čipu R350.
V následující tabulce jsou chronologicky shrnuty výše uvedené čipy a doplněny některé důležité parametry včetně karet, do kterých byly osazovány. Radeon Radeon GeForce 4 Radeon GeForce 3 8500 9500 Ti4200 9800 Čip R200 NV20 R300 NV25 R350 DirectX 8.1 8.0 9.0 8.1 9.0 Takt jádra [MHz] 275 200 275 250 325 Takt pamětí [Mhz] 550 460 540 444 620 Typ pamětí DDR DDR DDR DDR DDR Velikost paměti [MB] 64/128 64 64/128 64/128 128/256 Šířka sběrnice [bit] 128 128 128 128 256 Pixel pipeline 4 4 4 4 8 Vertex pipeline 2 1 4 2 4 TMU jednotky 8 8 4 8 8 ROP jednotky 4 4 8 4 8 Tabulka T.1: Přehled parametrů některých čipů do roku 2004 Frekvence pamětí je v efektivní hodnotě Název karty
GeForce FX 5900 NV35 9.0b 400 850 DDR 128/256 256 4 3 8 4
21
Výčtem grafických karet v předchozí tabulce končí chronologie vývoje grafických systémů a s příchodem řad GeForce 6 firmy nVidia a Radeon X000 firmy ATI začíná podle mého dělení karet éra moderních grafických karet, které bude věnována druhá část mé práce.
2.2 Funkce grafické karty Grafická karta slouží k zobrazení obrazu na monitoru či jiné zobrazovací jednotce, pokud karta obsahuje tzv. VIVO [5], tak poté umožňuje naopak i analogový vstup např. pro ukládání videosouborů. Grafické karty současnosti zvládnou mnohem více než jen hraní počítačových her. GPU [5] mají na starosti plynulé přehrávání videa ve vysokém rozlišení, dokáží rychle počítat složité matematické, fyzikální výpočty a lze s nimi v reálném čase vytvářet realistické 3D scény. 3D grafika není jedinou oblastí, ve které je grafická karta využívána. V některých směrech dokáže, grafické jádro počítat až150krát rychleji než CPU. Hlavní podíl na tomto výkonu mají tzv. unifikované shadery [5] moderních čipů grafických karet. Dokonce se výrobci pokoušeli využít takto vysokého výkonu ke zpracování zvuku.
2.3 Architektura grafické karty Grafická karta obsahuje těchto 6 hlavních komponent: • GPU • Paměť • Systémové rozhraní • Frame buffer • RAMDAC • Výstupy grafických karet. Nejdůležitější část karty je jádro tzv. GPU, obsahuje řadič paměti, unifikované shadery (dříve Pixel shader a Vertex shader), ROP jednotky [5], TMU [5] jednotky a další. Data, která přicházejí ze systémového rozhraní jsou ukládána do grafické paměti, která slouží i jako paměť pro ukládání objektů a textur [5]. Takto uložená data potom přebírá GPU, který vypočítává všechny pozice, pohyby a rozhraní objektů 3D scény a vytvoří z nich obraz. Takto vyhotovený obraz je dále předán do frame bufferu, odkud putuje do RAMDAC převodníku, který zpracovává digitální informace do analogového nebo digitálního signálu, který dále zpracuje VGA monitor. RAMDAC ovládá digitální výstupy grafických karet, přes které putují data do zobrazovací jednotky. Podle typu karet může mít karta více výstupů. např. může obsahovat dva stejné výstupy (např. dva DVI výstupy) pro připojení více monitorů nebo různé výstupy (např. VGA a DVI výstupy) pro připojení monitorů různých generací.
22
Umístění jednotlivých komponent na kartě
Obrázek O.3: Umístění komponent na kartě zdroj: http://www.die-grafikkarte.de (upraveno pro potřeby bakalářské práce)
23
2.4 Popis jednotlivých součástí grafické karty 2.4.1 GPU (Graphic Processing Unit) GPU je srdcem grafické karty a skládá se z těchto částí: • Radič paměti • Shadery • ROP jednotky • TMU jednotky
Obrázek O.4: GPU zdroj: http://www.ati.com
Radič paměti – stará se o komunikaci mezi grafickou pamětí a jádrem. Nvidia má podporu pamětí až po GDDR3 naproti tomu AMD má podporu GDDR5.
Shadery – jsou to plně programovatelné součásti grafického čipu (každé pipeline), které se s ostatními jednotkami starají o zobrazování obrazu. Díky tomu, že jsou plně programovatelné, nemusí počítat pouze zobrazovaná data, ale mohou být využity k jiným výpočtům. Shadery se objevily od příchodu DirectX 8.0 a je jich několik typů. V dřívějších dobách bylo jádro rozděleno na Pixel shadery a Vertex shadery a aktivovala se ta příslušná část čipu, která byla v konkrétní situaci zapotřebí. Naproti tomu unifikované shadery jsou speciálně upravenou částí čipu, která umí zpracovávat Pixel, Vertex i Geometry shader úlohy. Všechny výše zmíněné shadery popíšu podrobněji.
Unifikované shadery – nejsou vlastně nic jiného než univerzální shadery, které se podle potřeby využijí pro jakoukoliv činnost (jak úlohy pro Pixel shadery, tak i pro Vertex shadery). Nevýhodou unifikovaných shaderů je, že při náhradě Pixel shaderů nedosahují jejich výkonů.
Vertex shadery – starají se o samotnou kostru obrazu tvořenou z polygonů (trojúhelníků). Vykreslují nerovnosti ve 3D grafice, hojně používané v moderních počítačových hrách. Dají se naprogramovat různé detaily, např. jak budou nerovnosti v objektu osvětlené, jak se budou měnit barvy a podobně. Použití Vertex shaderů vyžaduje HW podporu [5] ze strany grafické karty (s příchodem DirectX 8.0). Lze také v některých specifikovaných případech použít SW vykreslovaní prováděné přes procesor CPU.
Pixel shadery – shader, který se stará o práci s texturami a jednotlivým pixely na celé textuře, na které také aplikuje efekty jako stín, bumb mapping, odrazy světla v zrcadle, exploze atd. Protože se efekt provádí na jednotlivých pixelech, je velmi náročný na výkon jádra. První Pixel shadery byly podporovány grafickým kartami s DirectX 8.0.
24
Geometry shadery – jsou to velice specifické shadery, které zatím nemají tak velké uplatnění. Tyto shadery pracují s celou kostrou objektu složenou z polygonů a změnou jejich počtu tvarují objekt. Tohoto principu se hlavně využívá v reálném čase např. při růstu trávy. Před zavedením geometry shaderů se tyto grafické efekty řešily několika objekty, které mizely a objevovaly se místo nich jiné, tím se docílíl stejný efekt. Bohužel tato metoda byla značně náročná. Shadery běží pouze na DirectX 10.0 a verzích na něm stavěných. Podporovány jsou Windows Vista a nově Windows 7.
ROP jednotky – Render Output Unit nebo také Raster Operations Pipeline. Jsou to výstupní vykreslovací jednotky. Tyto jednotky stojí na konci vykreslovacího (renderovacího) procesu u moderních 3D grafických karet. Provádí operace mezi příslušnými buffery v paměti grafické karty. V jednotce jsou umístěny filtry pro provádění anti-aliasingu a anizotropního filtrování [5].
TMU jednotky – texturovací jednotky je to komponenta GPU, která byla dříve oddělena v samostatný procesor. Tato jednotka je schopná otáčet a libovolně zmenšovat či zvětšovat bitmapu [5]. V této jednotce probíhá mapování textur. Je to technika při, které se na 3D objekt přidávají detaily jeho povrchu.
2.4.2 Paměť grafické karty Poté, co CPU vyšle signál pro vykreslování dat, přicházejí tyto data přes sběrnici a uloží je jako elektronický obraz do paměti na grafické kartě. Pokud je grafická karta integrována základní desce používá operační paměť počítače, pokud má karta vlastní paměť, označuje se jako VRAM [5]. Nejčastěji se jedná o nějaký typ GDDR (Graphics Double Data Rate) nebo levnější DDR (Double Data Rate). Důležitou součástí paměti je tzv. Z-buffer [5], ve kterém jsou uložené hodnoty koordinátu (souřadnic) při zobrazení ve 3D režimu. Data z paměti přebírá a dále zpracovává GPU.
Přehled pamětí používaných v grafických kartách DDR – je to typ paměti, který se dnes využívá i v počítačích. Dosahuje vyššího výkonu než předchozí SDRAM [5]. Teoreticky se dá rychlost přenosu dat zdvojnásobit, pokud se mohou data přenášet nejen na náběžné hraně, ale také na sestupné hraně pulsu. DDR paměti taktované na 100MHz, jsou tak téměř stejně rychlé jako SDRAM taktované na 200MHz. Od nástupu této technologie se pro grafické karty používají výhradně paměti s touto technologií. Integrované karty využívají jako sdílený prostředek operační paměť počítače. DDR paměti jsou napájeny napětím 2.5V nebo 3.6. DDR2 – je to nástupce paměti DDR, u kterého vzrostl počet kontaktů modulu ze 180 na 240. DDR2 má prakticky stejnou strukturu jako DDR, změnila se architektura Prefetch, která je dvojnásobná oproti DDR. Architektura Prefetch vyjadřuje, ke kolika paměťovým buňkám lze přistoupit současně. U pamětí DDR2 je architektura Prefetch=4. Hodnoty architektury Prefetch u předcházejících typů pamětí: u typu SDRAM byl Prefetch=1 u DDR Prefetch=2.
25
Zvýšení bylo docíleno přidáním pomocného multiplexeru a vstupního registru. U pamětí DDR2 je Prefetch=4 (to samé pro čtyři paměťové buňky). DDR2 moduly jsou při stejné taktovací frekvenci rychlé jako moduly DDR. Výhoda modulů DDR2 se projeví až při vyšších frekvencích (333MHz a více), poté jsou tyto paměti rychlejší než jejich předchůdci. DDR2 pracují uvnitř na polovině své vnější frekvence, snižuje se napětí, které je potřeba k provozu těchto modulů a to zároveň zvyšuje frekvence, které jsou možné dosáhnout. Tyto paměti pracují na napětí od 1.8 až po 2.2.V.
DDR3 – princip je stejný jako u předešlých pamětí, frekvence je vyšší a architektura Prefetch=8. Napětí 1.6V až 1.8V.
GDDR2 – v podstatě jsou to stejné paměti jako DDR. Liší se ve vyšším napájení a ve vyšších frekvencích, kterých mohou dosáhnout. Toho je docíleno tím, že paměti jsou pájené blíže napájecím obvodům.
GDDR3 – je to paměť podobná paměti DDR2, její architektura byla pozměněna pro menší spotřebu energie a tím je umožněno zvýšení frekvencí.
GDDR4 – tento typ paměti se na trhu moc neuchytil a to díky jejím vysokým latencím při nepříliš zvýšeným frekvencím oproti svému předchůdci. Napájení pamětí je 1.5V.
GDDR5 – jedná se o nejnovější typ paměti určenou pro grafické karty. Opět stejným způsobem se docílilo zvýšení rychlosti.
DDR
Efektivní frekvence [MHz] 166-950
DDR2 DDR3
533-1000 700-2200
Typ
Tabulka T.2: Přehled frekvencí DDR pamětí
Typ
Efektivní frekvence [MHz]
GDDR2 GDDR3 GDDR4 GDDR5
700-1000 700-2400 2000-3600 3400-5600
Tabulka T.3: Přehled frekvencí GDDR pamětí
26
2.4.3 Systémové rozhraní (interface) Grafická karta je propojena s procesorem přes základní desku pomocí systémového rozhraní, kterých je několik druhů. Rychlost přenosu dat přes rozhraní ovlivňuje rychlost zobrazovacího systému a zároveň je rozhraní využíváno i k napájení samotné grafické karty. Důvodem k inovacím systémového rozhraní jsou především zvyšující se nároky na množství přenesených dat, rychlost jejich přenosu i zvýšené nároky na napájení. Nevýkonnější grafické karty současnosti mají tak vysokou spotřebu energie, že musí obsahovat přídavné napájecí konektory, protože jim nestačí napájení přes systémové rozhraní. Popíšu zde rozhraní PCI, AGP a PCI-Express
Přehled používaných systémových rozhraní PCI (Peripheral Component Interconnect) – počítačová sběrnice používaná pro připojení komponent počítače k základní desce. Používá paralelní přenos dat s šířkou 32 nebo 64 bitů. Existují tři verze této sběrnice: Verze PCI 1.x je 32 bitová verze sběrnice pracuje na taktu 33,33 MHz se synchronním přenosem. Maximální teoretická přenosová rychlost je 133 MB/s. Naproti tomu 64 bitová sběrnice pracuje s taktem 66 Mhz a její maximální přenosová rychlost je 266 MB/s nebo 532 MB/s. Verze PCI 2.1 má taktéž verzi 32 a 64 bitovou. Obě jsou taktované na 66MHz přičemž 32 bitová verze má přenosovou rychlost 266MB/s a 64 bitová verze 532MB/s. Verze PCI 3.0 je konečná verze PCI i ona obsahuje verzi 32 a 64 bitovou. Obě jsou taktované na 133MHz přičemž 32 bitová verze má přenosovou rychlost 532MB/s a 64 bitová verze 1066MB/s. Sběrnice podporuje Plug and Play [5]. Úroveň logických signálů (tj. napětí logické jedničky) může nabývat hodnoty buď 5V, nebo 3,3V. Obrázek O.5: Sloty PCI zdroj: http://www.pctuning.cz
AGP (Accelerated Graphics Port) – sběrnice (port) vyvinutá pro grafické karty. Důvodem vzniku AGP byla potřeba zobrazování videa ve velkém rozlišení. AGP vznikla úpravou sběrnice PCI. Jedná se s spojení typu point-to-point. Grafické karty na PCI musí načítat textury ze systémové paměti RAM [5] do grafické paměti. AGP karty jsou schopné číst textury přímo z operační paměti. Velkou výhodou je, že se grafická karta nemusí dělit o šířku pásma s dalšími účastníky sběrnice. Na sběrnici, které má vyšší přenosovou rychlost může pracovat karta s nižší rychlostí. Obrázek O.6: AGP slot (černý) zdroj: http://www.certiguide.com
27
Existují tyto 4 verze: AGP 1x – používá 32bitový kanál o taktu 66Mhz, který umožňuje maximální datový tok 266MB/s. Napětí 3.3V. AGP 2x – používá 32bitový kanál běžící a 66MHz, ten umožňuje na efektivní hodnotě 133MHz maximální datový tok 533MB/s. Napětí 3.3V. AGP 4x – používá 32bitový kanál běžící na 66MHz, který umožňuje na efektivní hodnotě 266MHz, maximální datový tok 1066MB/s. Napětí 1.5V. AGP 8x – používá 32bitový kanál běžící na 66Mhz, ten umožňuje na efektivní hodnotě 533MHz, maximální přenosovou rychlost 2133MB/s. Napětí 0.8V.
PCI-Express – standard systémové sběrnice, který byl vytvořen jako náhrada za starší standardy PCI a AGP. Oproti svým předchůdcům komunikuje sériově, pomocí paketů. Pro přenos dat i všech řídících signálů používá dva páry vodičů. Každý pár přitom provádí přenos v jednom směru s rychlostí 2.525 Gbit/s. U následující verze PCI-Express 2.0 je to dvojnásobek. Zmíněné dva páry (lane tzn. dráha) vodičů obsahují 4 vodiče. Podle počtu drah se takové karty označují x1 (jedna dráha) x2 (dvě dráhy), x4, x8, x12, x16, x32. V konektoru x16 lze používat karty, které mají i menší počet drah. Taková karta bude ale pracovat s nižší rychlostí. Zajímavostí je, že PCI-express nepoužívá klasickou topologii, u které jednotlivé karty musí žádat o přístup na sběrnici (sdílení přenosového pásma s ostatními zařízeními). Místo toho jsou všechny konektory svedeny do přepínače, který dokáže libovolně dvě dráhy propojit a vytvořit tak point-to-point.
Propustnost některých verzí: x1 – 250MB/s (obousměrně 500MB/s) x2 – 500MB/s (obousměrně 1GB/s) x4 – 1GB/s (obousměrně 2GB/s) x8 – 2GB/s (obousměrně 4GB/s) x16 – 4GB/s (obousměrně 8GB/s) Obrázek O.7: PCI Express (vrchní slot) zdroj: http://www.ixbtlabs.com
PCI-Express 2.0 – nová specifikace zvyšovala přenosovou rychlost jedné dráhy dvojnásobně. Tato verze je zpětně i dopředně kompatibilní. Lze karty s podporou PCI-Express 2.0 připojit na základní desku, která má podporu předchozí verze. Propustnost některých verzí: x1 – 500MB/s (obousměrně 1GB/s) x2 – 1GB/s (obousměrně 2GB/s) x4 – 2GB/s (obousměrně 4GB/s) x8 – 4GB/s (obousměrně 8GB/s) x16 – 8GB/s (obousměrně 16GB/s)
28
Verze
Bitová šířka
PCI 1.x PCI 1.x PCI 2.1 PCI 2.1 PCI 3.0 PCI 3.0 AGP 1x AGP 4x AGP 8x PCI - Express 1.1 x1 PCI - Express 1.1 x8 PCI - Express 1.1 x16 PCI - Express 2.0 x1 PCI - Express 2.0 x8 PCI - Express 2.0 x16
32 64 32 64 32 64 32 32 32 1 8 16 1 8 16
Frekvence [Mhz] Přenosů za takt 33 33 66 66 133 133 66 66 66 2525 2525 2525 5050 5050 5050
1x 1x 1x 1x 1x 1x 1x 4x 8x 1x 1x 1x 1x 1x 1x
Rychlost [MB/s] 133 266/532 266 532 532 1066 266 1066 2133 250 2000 4000 500 4000 8000
Tabulka T.4: Přehled některých verzí systémových rozhranních
2.4.4 Frame buffer Je to oblast video paměti, kam grafický procesor ukládá jednotlivé vykreslené fragmenty. Část této paměti, který se označuje jako barvový buffer (color buffer), může být vykreslena na obrazovku. Další části jako např. (depth buffer nebo stencil buffer) nejsou pro uživatele přímo viditelné, ale souží k realizaci různých grafických algoritmů.
2.4.5 RAMDAC Je převodník digitálního signálu, se kterým pracuje grafická karta. Signál se převádí na analogový nebo digitální, se kterým pracuje konkrétní zařízení (CRT, LCD…). Převádí data v digitální podobě na hodnoty RGB (červená, zelená, modrá), které pak používá monitor. Dále je zde ještě SRAM paměť, kde se ukládá barevná mapa. U levných modelů může dojít ke zhoršení signálu (ve vyšším rozlišení) díky převodu z digitálního signálu na analogový signál a to kvalitou výstupních filtrů. U LCD monitorů tento problém nehrozí, není zde totiž nutná konverze z digitálního na analogový signál.
29
2.4.6 Výstupy grafických karet Analogový výstup (VGA) – je realizován konektorem D-SUB 15, jedná se tedy o 15ti pinový konektor, který má tři řady po 5ti vodičích. Signál, který je analogový (spojitý). Úroveň signálu je přesně definován hodnotou napětí. Slouží především pro připojení CRT monitorů, ale také projektorů. Pomocí redukce je ho možné převést na digitální výstup DVI.
Obrázek O.8: VGA zdroj: http://www.fuk.co.uk
Digitální výstup (DVI) – rozhraní obsahuje 6 vodičů pro přenos informací o barvě ve formátu RGB (pro každou barvu 2 vodiče). Je možné přidat druhý spoj, který zvýší rychlost přenosu. Rozhraní bylo vytvořeno pro bezproblémovou komunikaci mezi zobrazovacími zařízeními a pro přenos nekomprimovaných digitálních video dat. Digitální přenos je beze ztráty kvality, právě proto je obraz čistý a ostrý i při vyšších rozlišeních. Jeden spoj dosahuje rychlosti až 3.7 Gbit/s a zvládá rozlišení 1920x1200 při 60 Hz, dva spoje až 7.4 Gbit/s a zvládá rozlišení 2560x1066 při 60 Hz. Rozlišujeme 3 druhy DVI konektorů v závislosti na přenášených signálech: DVD-D – přenos pouze digitálního signálu DVI-A – přenos pouze analogového signálu DVI-I – přenos digitálního i analogového signálu
Obrázek O.9: DVI zdroj: http://www.fuk.co.uk
S-Video (Separate Video) – rozhraní pro přenos obrazu v rozlišení SD, nejčastěji jde o režimy s prokládanými řádky (PAL [5] a NTSC [5]).
Obrázek O.10: S-Video zdroj: http://www.stingtalk.com
30
HDMI (High-Definition Multi-Media Interface) – jde o rozhraní pro přenos nekomprimovaného obrazového i zvukového signálu. Podporuje přenos videa ve standardní, rozšířené nebo high-definition [5] kvalitě a až 8-kanálový digitální zvuk. Konektor HDMI má 19 pinů a je částečně zpětně kompatibilní s DVI rozhraním. Existuje více než 7 různých verzí tohoto rozhraní (liší se datovou propustností, maximálním podporovaným rozlišením). Toto rozhraní může propojovat zařízení, jako např. DVD přehrávač, satelitní přijímač. Podporuje rychlost přenosu až 10,2 Gbit/s. Z
Obrázek O.11: HDMI zdroj: http://www.belfan.com
DisplayPort – jde o nejnovější grafické rozhraní (teoretický nástupce DVI a HDMI). Je to konektor sloužící k přenosu nekomprimovaného digitálního signálu s podporou ochrany DPCP (DisplayPort Content Protection), 128bit. šifrování AES a 8-kanálového zvuku. Nabízí vyšší přenosové rychlosti (možnost použití vyššího rozlišení a větší barevné hloubky), menší velikost konektoru, ochranu proti náhodnému vytažení. Podporuje rychlost přenosu 10,8 Gbit/s na vzdálenost do 3 metrů.
Obrázek O.12: DisplayPort zdroj: http://www.stingtalk.com
2.5 Problematika chlazení Dnešní moderní grafické karty při velkém zatížení produkují velké množství tepla, které je nutné odvést. K tomuto účelu se používá několik druhů chlazení, které se odlišují hlavně svým chladícím účinkem. S nárůstem výkonu grafických čipů, pamětí i napájecích obvodů bylo nutné zlepšit jak odvod tepla z čipu (pasivním chladičem), tak i chladící účinek aktivního chlazení. V současné době se používají tyto typy chlazení: • • • • •
Pasivní Aktivní (kombinace obojího) HEATPIPE Vodní chlazení
Pasivní chlazení – jde o nepohyblivou kovovou součástku (tzv. pasivní chladič), která bývá umístěná na grafickém čipu a má na svém povrchu žebrování pro zajištění lepšího odvodu tepla. Pasivní chladič je vyroben z hliníku, mědi nebo kombinací obojího. 31
Jedná se pouze o odvod tepla z čipu, které je následně rozptýleno po chladiči odkud sálá do prostoru počítačové skříně a bývá většinou odvedeno mimo prostor skříně.. Používá se i na chlazení pamětí a napěťových bloků.
Aktivní chlazení – chlazení je zajištěno proudícím vzduchem. O proud vzduchu se stará ventilátor, který vhánění vzduch na čip.
Kombinace obojího – asi nejpoužívanější metoda chlazení. Teplo, které se rozptyluje po pasivním chladiči je následně odváděno ventilátorem aktivního chlazení, který bývá umístěn přímo na pasivním chladiči. Odvod tepla z pasivního chladiče se ventilátorem značně urychluje a chlazení čipu je daleko účinnější.
HEAT-PIPE – poměrně nová technologie, která přenáší teplo z jednoho místa na druhé pomocí par pracovní látky. Jedná se o hermeticky uzavřený systém, který je naplněn tekutinou. Po dosažení určité teploty se začne pracovní látka odpařovat a proudí směrem k ochlazovanému místu, kde kondenzuje. Obrovskou výhodou tohoto typu chlazení je mnohonásobně vyšší přenos tepla než je tomu u pasivního chlazení. Ochlazované místo může být pouze pasivní a nebo může být obohaceno aktivním chlazením pro zvýšení účinnosti.
Vodní chlazení – jde o uzavřený systém kolující vody. Tento systém se skládá z čerpadla, chladičů na jednotlivé čipy, velkého pasivního chladiče (tzv. radiátor). Teplo odebrané z čipu putuje do radiátoru, kde je teplá voda ochlazována. Případně je radiátor opatřen aktivním chlazením pro zvýšení účinnosti. Jedná se o nejúčinnější chlazení čipů.
32
3.0 Moderní grafické karty V bodě 2.1 v pohledu do historie jsem uvedl přehled grafických systémů a karet od různých výrobců až do roku 2004. V následující části bakalářské práce se budu věnovat moderním grafickým kartám od největších výrobců od roku 2004 až po současnost. Grafické karty jsou podle období ve kterém se vyráběly, charakterizovány určitou architekturou, použitými technologiemi a člení se do řad např. (GeForce 6, GeForce 7). Každou řadu charakterizují určité parametry, které budu u jednotlivých řad sledovat a budu je srovnávat s parametry následujících novějších řad. Mezi nejdůležitější parametry, které charakterizující grafické karty obsažené v jednotlivých řadách patří: • • • • •
Verze DirectX Rychlost čipu a pamětí, popř. shaderů Šířka paměťové sběrnice Počet Pixel a Vertex shaderů nebo Shader procesorů Počet TMU a ROP jednotek
Ostatní údaje architektury nejsou z hlediska výkonu karty tak důležité. Jednotlivé řady se dělí do tříd • • •
Vyšší třída – třída obsahuje nejvýkonnější karty z celé řady a jsou určené pro nejnáročnější uživatele, kteří vyžadují maximální grafický výkon Střední třída – jsou to karty, které jsou kompromisem mezi nižší a vyšší třídou Nižší třída – karty určené pro nenáročné uživatele a běžnou kancelářskou práci
V dalším textu jsou podrobně popsány jednotlivé řady pomocí grafů, ve kterých jsou schématicky znázorněny karty rozdělené do jednotlivých tříd. V levém sloupci se nachází karty vyšší třídy, prostřední sloupec je věnován kartám střední třídy a v pravém sloupci najdeme karty nižší třídy viz. následující schéma.
Obrázek O.13: Schéma rozdělení
33
3.1 Výrobci grafických karet Výrobou grafických karet se v minulosti zabývalo více firem, které při soupeření o co nejvýkonnější grafické karty, zejména v období 3D zobrazování, nestačily nastolenému tempu vývoje. Některé zkrachovaly jako např. firmy S3, Diamond Multimedia, Spea, Miro. Některé firmy byly pohlceny konkurencí např. firma Tseng Labs přešla do ATI, dříve velmi známá firma Hercules dnes přežívá jako obchodní značka francouzské firmy Gulliemot. Na trhu se snažila prosadit i firma 3dfx, která se v roce 2000 spojila s firmou STB a přišla s nabídkou čipů označených Voodoo. Zcela jinou strategii zvolila firma Matrox, která se nesnažila držet krok na poli karet pro hráče počítačových her, ale zaměřila se především na stabilní a funkční ovladače a na stabilní obraz při vysokém rozlišení. Po určitém čase se i Matrox pokusil proniknout na trh s kartami určenými pro hraní počítačových her, ovšem svou kartou Parhelia zaostala za konkurencí. Všech etap vývoje 3D grafických čipů se samozřejmě svou produkcí zúčastnily i dnes největší firmy na trhu a to sice ATI a NVIDIA.
Přehled jejich grafických 3D čipů vyrobených v rozmezí let 1995 až 2002: 1. generace 1995/96 NVIDIA NV1 ATI 3D Rage
2. generace 1996/97 NVIDIA Riva 128 ATI Rage Pro
3 generace 1996/99 NVIDIA TNT ATI Rage 128
4. generace 2000 NVIDIA GeForce ATI Radeon
5. generace 2001/02 NVIDIA GeForce 4,5 ATI Radeon 8500
Tabulka T.5: Přehled grafických 3D čipů vyrobených v letech 1995 až 2002
Ve své bakalářské práci se zaměřím na grafické karty, které obsahují čipy dvou největších výrobců, kterými jsou dnes již zmíněné firmy AMD(ATI) a NVIDIA. Tyto firmy svojí produkcí karet pokrývají převážnou většinu trhu. Jedná se o grafické karety, které jsou samostatnými komponentami PC a v době svého uvedení na trh představovaly to nejlepší, co z hlediska technologie a architektury bylo nabízeno. Při výběru sestavy počítače si náročnější uživatel s největší pravděpodobností vybere grafickou kartu od jednoho z výše uvedených výrobců.
3.2 AMD(ATI) Dříve firma ATI Technologies, Inc. Tato kanadská firma, která byla založena 20. srpna 1985 se sídlem v Markhamu, Ontario. 24. června 2006 byla zakoupena firmou AMD (Advanced Micro Device) se sídlem v Sunnyvale v Kalifornii. Avšak v mé práci ji budu označovat AMD(ATI) z důvodu, že karty od této společnosti mají stejný název ATI jako měly před sloučením obou společností. Je jedním z největších výrobců grafických karet na trhu. Mimo grafické čipy si vyráběla firma ATI i čipsety, které však nebyly tak populární. Dnes po sloučení obou firem je její portfolio větší o výrobu čipsetů a procesorů, které před sloučením vyráběla společnost AMD. Mezi špičku výrobců se dostala díky masovému zahlcení trhu levnými a přitom kvalitními kartami, montovanými zejména do nových počítačů. Dříve si ATI vyráběla i vlastní grafické karty, dnes už tomu tak není a vyrábí pouze čipy. Největším výrobcem karet je firma Sapphire.
34
Jejich karty se označují slovem Radeon. Jejím prvním grafickým akcelerátorem byl Graphic Solution.
3.2.1 Chronologický vývoj GK firmy AMD(ATI) Jako moderní grafické karty vyrobené firmou ATI uvažuji ve své práci karty, které se objevily na trhu v rozmezí let 2004-2009. Z časového hlediska jde poměrně o krátké období, ale z pohledu tempa vývoje IT technologií jde o období, ve kterém došlo k výraznému rozvoji technologie a architektury grafických karet. Za toto období vydala firma ATI celkem 6 řad karet, počínaje řadou Radeon X000 vydanou v roce 2004. Kompletní přehled řad je znázorněn v následujícím grafu včetně data uvedení na trh. V dalším textu jsou pak jednotlivé řady podrobně popsány a stěžejní karty těchto řad jsou v příslušných grafech rozděleny do jednotlivých tříd, jejíchž význam byl popsán již dříve. V závěru je provedeno srovnání jednotlivých řad mezi sebou z hlediska technologie, architektury, jednotlivých parametrů i přínosu pro uživatele.
Obrázek O.14: Chronologický přehled jednotlivých řad grafických karet AMD(ATI)
35
3.2.1.1 ATI Radeon X000
Obrázek O.15: Dělení řady Radeon X000 na třídy a jednotlivé karty
Charakteristika řady Radeon X000 • • • • • • • • • • •
DirectX 9.0 Shader model 2.0 Vertex pipeline Pixel pipeline Pixel shader Paměťový řadič ROP Hyper HD SmoothVision HD Temporal AA VideoShader HD
Přípona HD u nových technologií, které přinesla tato řada značí High Definition [5].
36
Architektura, technologie a jejich inovace Změn oproti předchozí generaci není mnoho. Hlavní rozdíl je ve zvýšení počtu výpočetních jednotek (tzv. paralelismus), v úpravách paměťového řadiče, FSAA a použité nové technologie 3Dc. Nové jádro R420 je vyrobeno 0,13 mikronovým procesem. Jádro R420 má několik shodných rysů s konkurenčním čipem NV40 a to konkrétně 6 Vertex shaderů a až 16 Pixel pipeline, které jsou rozděleny do skupin po čtyřech tzn. 2 Pixel shadery v každá pipeline společně s 4-cestným křížovým paměťovým řadičem.
Schéma jednoho z nejvýkonnějších čipů z této řady, který je osazen do karty X800.
Obrázek O.16: Schéma čipu R420 zdroj: http://www.ati.amd.com
Jako je tomu i u NV40, jsou Pixel pipeline rozděleny do 4 čtveřic označováno jako quadpipelines. To umožňuje deaktivování defektní čtveřice. To znamená, že veškeré čipy R420, které se vyrobí s vadnou jednou čtveřicí se budou prodávat jako modely „Pro“ s 12 pipeline a „XT“ s 16 pipeline. K jednotlivým Pixel pipeline jsou přiřazovány renderovací scény. Celá scéna je rozdělena na dlaždice, které jsou najednou zpracovávány v jednotlivých čtveřicích pipeline (každá dlaždice je v jedné čtveřici Pixel pipeline). Díky masivnímu paralelismu je možné scénu rozdělit na menší dlaždice než tomu bylo u předchozí řady.
Vertex pipeline – je to část čipu, kde se po přijetí dat vytváří geometrie. Vertex pipeline je následovaná jednotkami Backface Culling a Clipping, Perspective Divide a Viewport. Starají se o ořezání části scény, které nejsou vidět nebo jsou překryté jinými objekty. Poté data putují do enginu, kde se obraz převede na trojúhelníky a přiřadí se barva a souřadnice textur. Následuje rozdělení do dlaždice, které jsou dále zpracovávány v jednotlivých čtveřicích Pixel pipeline. Vertex shader se skládá z vektorové ALU jednotky [5], která obsahuje 4 komponenty a ze skalární ALU jednoteky. Tyto jednotky pracují v 32-bitové FP hloubce [5].
37
Obrázek O.17: Schéma Vertex pipeline čipu R420 zdroj: http://www.ati.amd.com
Pixel pipeline – jádro R420 se skládá ze 16 Pixel pipeline, které jsou rozděleny do čtveřic.
Obrázek O.18: Jeden blok Pixel pipeline čipu R420 zdroj: http://www.ati.amd.com
Pixel shader – jádro R420 obsahuje dvojici výpočetních jednotek v každé pipeline. Dohromady má 32 ALU jednotek a 16 texturovacích jednotek. Dále obsahuje 2 vektorové a 2 skalární jednotky a jednu texturovací ALU. Změnou je rozšířený počet dočasných registrů (z 12 na 32), navíc byl přidán nový registr tzv. facing registr. Do těchto registrů jsou ukládány informace o tom, zda polygon směřuje k pozorovateli nebo od něj. Toho se využívá pokud bude potřeba osvětlit polygony jinou intenzitou ze přední části a jinou z části zadní. Také byl rozšířen počet maximálně možných instrukcí v jednom Pixel shaderu (původně 160 nyní 512) pro každou ALU (vektorovou, skalární, texturovací). F-buffer - jedná se o vyrovnávací paměť, do které se ukládá pixel, na kterém je potřeba provést jiné operace (není nutné jej posílat zpět do frame bufferu, aby následně putoval celou pipeline znovu). 38
Obrázek O.19: Schéma Pixel shader čipu R420 zdroj: http://www.ati.amd.com
Paměťový řadič – je prakticky totožný s řadičem používaným v předchozí řadě. Skládá se ze 4 samostatných jednotek a řadiče sběrnice, který je pospojovaný křížovým způsobem. Řadič je přizpůsoben pro spolupráci s pamětmi GDDR3.
Obrázek O.20: Schéma paměťového řadiče čipu R420 zdroj: http://www.ati.amd.com
ROP – tato jednotka se od předchozí verze moc neliší. Je to výstup, ze kterého jdou informace o scéně do frame bufferu a z něho již na monitor. ROP se ale liší od konkurence. Obě dvě verze dokáží vyrenderovat až 32 pixelů za takt. U NV40 (konkurence) obsahuje ROP jednotky ZROP a CROP, druhá jednotka dokáže vykreslovat pixel pouze pokud není obarven. U R420 druhá jednotka vykresluje pouze pokud je zapnuté FSAA. Z toho vyplývají rozdílné výkony karet při použití scén se zapnutým FSAA nebo velkého počítaní barvy.
HyperZ HD – nástupce Hyper III. Obsahuje Z-buffer, Z/Stencil cache, Early Z Test, Z Compression and Fast Clear. Early Z Test se stará o vymazání bloků pixelů, které nebudou zahrnuty ve vykreslované scéně. Z-buffer dokáže pojmout až 4 Mpixely dat, díky tomu může bez problémů pracovat ve vysokém rozlišení (až 1920x1080). 39
Z Compression dokáže pracovat v poměru 8:1 (bezztrátově). Fast Clear vyprazdňuje Z-buffer.
Obrázek O.21: Schéma Hyper HD čipu R420 zdroj: http://www.ati.amd.com
SmoothVision HD – součást ROP. Jedná se o engine, který zajišťuje FSAA. Kromě klasických nastavení Anti-aliasingu (2x/4x/6x), Anizotropní filtrování (2x/4x/8x/16x), mulitsamplingu s gama korekcí, bezztrátové barevné komprese 6:1 a adaptivních algoritmů pro bilineární a trilineární filtrování [5] přináší novou technologii Temporal AA.
Temporal AA - pracuje způsobem prokládání a nabízí vyšší kvalitu obrazu se stejným výkonem. Princip Temporal AA (2Xt, 4Xt, 6Xt) spočívá v tom, že v lichých snímcích je uplatněn určitý vzorek pro subpixely, zatímco v sudých se používá jiný, který s ním nesplývá. Výsledkem pro lidské oko je dvojnásobné vyhlazování, 4x/8x/12x, při zachování výkonu. Tuto technologii lze použít u her, jejichž frame rate je dostatečně vysoký. Klesne-li rychlost hry pod 60 fps, je Tempoval AA automaticky vypnuto. Nevýhodou je, že musí být zapnuta vertikální synchronizace obrazu [5]. U anizotropního filtrování se žádné významné změny neuskutečnily.
VideoShader HD - hardwarová akcelerace enkódování a dekódování MPEG1/2/4, podpora DXVA [5], funkce pro odstranění šumu, fullstream pro vyhlazování videa (včetně DivX [5] a WMV9 [5]).
40
Parametry vybraných čipů, které reprezentují řadu Radeon X000 Radeon Čip Takt jádra [Mhz] Takt pamětí [Mhz] Typ pamětí Velikost paměti [MB] Šířka sběrnice [bit] Pixel pipeline Vertex pipeline TMU jednotky ROP jednotky
X850 XT R480 520 1080 GDDR3 256 256 16 6 16 16
X800 GTO R480 400 980 GDDR3 128-512 256 12 6 12 16
X800 XT R423 500 1000 GDDR3 256 256 16 6 16 16
X700 PRO X600 PRO RV410 RV380 425 400 864 600 GDDR3 DDR 128/256 128/256 128 128 8 4 6 2 8 4 8 4
X550 RV370 400 500 DDR 128-512 128 4 2 4 4
X300 RV370 325 400 DDR 64-256 128 4 2 4 4
Tabulka T.6: Parametry vybraných čipů, které reprezentují řadu Radeon X000 Frekvence pamětí je v efektivní hodnotě
3.2.1.2 ATI Radeon X1000
Obrázek O.22: Dělení řady Radeon X1000 na třídy a jednotlivé karty
41
Charakteristika řady Radeon X1000 • •
• • • • • • • •
DirectX 9.0c Shader model 3.0 – je propracovanější než u konkurenční NVIDIE, hlavní rozdíl je v podpoře FSAA při HDR [5], dále rychlostí dynamickým větvením a plnou přesností FP32 v celé pipeline Vertex shader Setup engine Pixel shader Ultra-Threading Dispatch Processor Paměťový řadič AVIVO Adapive Anti-Aliasing CrossFire
Architektura, technologie a jejich inovace V architektuře této řady se objevily změny především v Pixel shaderu a paměťovém řadiči jádra. Již nejde o změnu v paralelismu (zdvojnásobení počtu výpočetních jednotek), ale o změnu v rozdělení Pixel shaderů do několika funkčních bloků. Obdobně jsou rozděleny i adresovací a texturovací jednotky. I v této řadě bude možnost vypínat nefunkční bloky jádra a použít je do levnějších karet s nižším výkonem i přes původní váhání ze strany ATI.
42
Schéma jednoho z čipů z této řady, který je osazen do karty X1800.
Obrázek O.23: Schéma čipu R520 zdroj: http://www.ati.amd.com
Vertex shader je první částí pipeline a bude obsahovat větší počet Vertex shaderu než předchůdce např. jádro R520 obsahuje 8 Vertex shaderů oproti jádru z předchozí řady R420, které má 6. Důvodem je jednoduchý, není potřebný tak velký výkon Vertex shaderů v nových hrách.
43
Obrázek O.24: Schéma Vertex shader čipu R520 zdroj: http://www.ati.amd.com
Obrázek Vertex shaderu je obdobný jako v předchozí řadě. Každý Vertex shader je složen z vektorové ALU jednotky, která zpracovává 4-složkové instrukce (vec4) a ze skalární ALU jednotky, která operuje s jednou složkou. V shaderech se zpracovávají 2 instrukce za jeden takt. Což je 10 miliard instrukcí za jednu sekundu. Vertex shader je vylepšen o podporu Shader modelu 3.0. Podporuje dynamické řízení toku (větvení kódů, podmínky) a dokáže zpracovávat až 1024 instrukcí. Texturovací jednotky se již nenachází v tomto bloku. Tím je „omezeno“ používání tzv. displacement mapping [5]. Nyní je zapotřebí, aby se textura nahrála do Vertex shaderu přes část Pixel shader. Ve schématu je znázorněno několik dalších jednotek: • • • •
Backface Cull - zajišťuje ořezávání vrcholů, které se nachází na odvrácené straně jednotky. Clip – ořezává vrcholy mimo obraz Perspective Divide – upravuje perspektivu scény Viewport Transform – převádí obraz do souřadnic pozorovatele
Setup engine – má na starosti hlavně převedení vrcholů na konkrétní trojúhelníky, dříve byl zodpovědný za rozdělování trojúhelníku do dlaždice, které byly posílány do jednotlivých bloků, ovšem nyní je tato úloha převedena na Ultra Threading Dispatch Processor, který se nachází o stupeň dále.
Obrázek O.25: Schéma setup engine zdroj: http://www.ati.amd.com
•
Rasterization – přiřazuje jednotlivým polygonům různé údaje, např. souřadnice textur
44
Pixel shader – největší změnou prošla Pixel pipeline. Nyní jsou pipeliny rozděleny na jednotlivé části do Pixel shaderu a do texturovací části. Dříve byly pod pojmem Pixel shader označovány jednotky ROP, jednalo se o poslední část jádra, které mělo na starost zapisování pixelů do frame bufferu. Postupem času se tento název přenesl na střední část, která se skládá z textutovacích jednotek (TMU) a fragment shaderů (ALU), které jsou častěji značeny jako Pixel shadery. Dále obsahuje Pixel shader jednotky pro výpočet adresy textur, podporuje také techniku zvanou reder-to-vertex buffer. Tato technika umožňuje jednotkám vyrenderovat scénu do textury tak, že ji poté zpracuje Vertex shader. Přitom není textura ukládána do frame bufferu ale přímo do Vertex bufferu, kde k ní má přístup Vertex shader. Na konci schématu je vidět ještě velké pole registrů, které jsou pro rychlou práci pixel shaderů velmi důležité. Pro každé vlákno je k dispozici místo v registrech pro 32 pixelů s hloubkou zpracování 128 bitů (FP32), celkem tedy 32 pixelů x 16 B x 512 vláken = 256 kB. Pokud zabere daný thread (vlákno) více místa v registrech, Dispatch procesor omezí počet dalších zpracovaných vláken, aby mohla být práce dokončena.
Obrzek O.26: Schéma Pixel shader čipu R520 zdroj: http://www.ati.amd.com
Obrázek popisuje rozdělení jádra R520 do čtveřice Pixel shaderů na blok adresovacích jednotek a texturovacích jednotek. Ultra-Threading Dispatch Processor – jak jsem již zmiňoval jedná se o část jádra, která převzala dřívější funkci Setup enginu. Processor rozděluje zpracované pixely do tzv. threadů, jedná se o blok pixelů, který je vybrán z daného polygonu a poslán do konkrétní Pixel shader jednotky nebo do jednotky texturovací. Dispatch processor rozdělí scénu na vlákna, která mají velikost 4x4 pixely a takto přiřazená vlákna posílá mezi bloky Pixel shaderů. Každý blok Pixel shader může obdržet až 128 vláken ke zpracování. Po zpracování vláken jedním blokem Pixel shadrů obdrží blok další vlákna ke zpracování nezávisle na ostatních blocích Pixel shaderu.
45
Paměťový řadič – jde o velkou změnu v novém jádru, dosud řadič těchto parametrů nebyl k vidění. Dovoluje pamětem používat vyšší frekvence. Základem interní sběrnice je dvojice 256-bitových okruhů, každý směruje opačným směrem. Data probíhají po sběrnici, na které se nacházejí tzv. ring stopy. Ty jsou určené k zápisu do externí paměti a čtení z ní. Na sběrnici se dále nalézají klienti. Klientem se myslí jakákoliv část čipu, která žádá o přístup do paměti. Mezi klienty se data předávají prostřednictvím mezipaměti (texture, color, Z/ztenčil cache a případně díky vláknům). Maximální počet paměťových čipů je 8, z toho vyplývá, že karta bude využívat 512Mbit paměťové čipy. Navíc je cache plně asociativní tzn. že lze zapisovat a číst z libovolného místa v paměti (platí pro cache texture, color a Z/stencil). Paměťový radič by měl přinést výhody hlavně v náročném nastavení (při kterém protéká čipem nejvíce dat tzn. vysoké rozlišení, zapnuté FSAA a anti-aliasing).
Obrázek O.27: Schéma interní sběrnice (ring bus) čipu R520 zdroj: http://www.ati.amd.com
46
Obráek O.28: Detail ring bus zdroj: http://www.ati.amd.com
AVIVO – nová technologie, která vylepšuje kvalitu dekódovaného videa pomocí hardwarových filtrů a navíc ho i urychluje. Podporuje i akceleraci H.264 [5] a VC-1 [5]. Tato technologie je náhradou starší technologie VideoShader HD. Podporuje připojení k HDTV [5]. Skládá se z 5 částí. • • • • •
Capture – odstraňuje šum, 12-bitový převod z analogového na digitální signál Encode – hardwarové enkodování (H.264, VC-1, WMV9, MPEG-2, MPEG-4, DivX) Decode – hardwarové dekódování Post process - změna velikosti obrazu apod. Display - gamma korekce, barevná korekce
Obrázek O.29: AVIVO zdroj: http://www.ati.amd.com
Adapive Anti-Aliasing – jedná se o adaptivní vyhlazování. Pomocí této technologie dokáží grafické karty vyhlazovat textury s průhledností tzv. aplha textury.
47
CrossFire – tato technologie, která se objevila již v minulé řadě, nyní doznala určitých změn. Nejvýznamnější je tzv. Compositing Engine, což je nastavení, při kterém grafická karta zvládá zobrazení v rozlišení 2048x1536 při 70Hz, kromě toho dokáže komunikovat skrze PCI Express.
Parametry vybraných čipů, které reprezentují řadu Radeon X1000 Radeon X1950 XT Čip R580+ Takt jádra [Mhz] 625 Takt pamětí [Mhz] 1800 Typ pamětí GDDR3 Velikost paměti [MB] 256/512 Šířka sběrnice [bit] 256 Pixel pipeline 48 Vertex pipeline 8 TMU jednotky 16 ROP jednotky 16
X1900 GT R580 575 1200 GDDR3 256 256 36 8 12 12
X1800 GTO R520 500 1000 GDDR3 256/512 256 12 8 12 8
X1650 XT X1600 Pro RV570 RV530 575 500 1350 780 GDDR3 DDR2 128-512 128-512 128 128 24 12 8 5 8 4 8 4
X1300 XT RV535 500 800 DDR 128-512 128 12 5 4 4
X1300 RV515 450 500 DDR 128-512 128 4 2 4 4
Tabulka T.7: Parametry vybraných čipů, které reprezentují řadu Radeon X1000 Frekvence pamětí je v efektivní hodnotě
3.2.1.3 ATI Radeon HD 2000
Obrázek O.30: Dělení řady Radeon HD 2000 na třídy a jednotlivé karty
48
Charakteristika řady Radeon HD 2000 • • • • • • • • • •
DirectX 10.0 Shader model 4.0 Unifikovaná architektura Shader Processor Proggression TMU Paměťová sběrnice Render Back-End Crossfire AVIVO HD HDMI – s podporou audio 5.1
Architektura, technologie a jejich inovace Architektura jádra R600 a dalších čipů z této řady je odvozena z designu GPU ATI Xenos, které se nachází v útrobách Xboxu 360. Oproti předchozím čipům je znatelně vylepšen UltraThreaded Dispatch Processor, který má na starosti rozdělení shaderových výpočtů mezi jednotlivé stream processing units (dřívější shader jednotky), kterých má čip R600 rovných 320.
Unifikovaná architektura - jako je tomu i u konkurence i nové Radeony HD 2000 přináší unifikovanou architekturu, podporu Shader modelu 4.0, DirectX 10.0, OpenGL 2.1 a s tím související možnosti dekódování HD videa s H.264/VC1 kompresí (tedy Blu-ray/HD DVD) [5]. Provádění rozličných GPU výpočtů, s podporou fyzikálních výpočtů.
49
Schéma jednoho z čipů z této řady, který je osazen do karty HD 2900.
Obrázek O.31: Schéma čipu R600 zdroj: http://www.ati.amd.com
Shader Processor Progression – na obrázku lze vidět vývoj v oblasti architektury shader jednotek. Původní Radeony měli k dispozici 4 vektorové komponenty s výkonem 1 instrukce za takt. Od Radonů 9600 až po řadu X1000 (včetně) se implementovaly vektorové + skalární výpočetní jednotky, které zvládaly 2 instrukce za takt. Nová řada nabízí architekturu superskalární, která se skládá z 5 výpočetních jednotek zvládající 5 instrukcí za takt.
50
Obrázek O.32: Vývoj shaderů od původních Radeonů až po řadu Radeon HD 2000 zdroj: http://www.ati.amd.com
TMU – bylo vylepšeno 64-bitové HDR bilineárně fitrované texturování, které je nyní prováděno beze ztráty výkonu, což zhruba představuje zrychlení 7x oproti předchozí generaci. Dále bylo vylepšeno stínování pomocí techniky Percentage Closer Filtering a jsou podporovány větší textury s velikostí až 67 MTexel, které odpovídají texturám o rozlišení 8192x8192. Zajímavostí je implementace tzv. bikubického filtrování. Jde o filtrování, které by mohlo přinést lepší výsledky než anizotropní filtrování. Jde o první karty, které nabízejí její hardwarovou akceleraci.
Paměťová sběrnice – doznala velkých změn. Architektura sběrnice je kompletně decentralizovaná tzn. více flexibilní a jednoduše škálovatelná. Změnila svoji topologii na prstencovou (ring-bus), je plnohodnotně 512 bitová a její vnitřní šířka je 1024 bitů (rozděleno na čtení a zápis). Obsahuje systém Ring stop pro výměnu dat mezi zúčastněným komponentami.
Obrázek O.33: Schéma paměťové sběrnice Radeonu HD 2900 zdroj: http://www.ati.amd.com
51
Render Back-End – jednotka dříve zvaná ROP. Stejně jako jednotka ROP se stará o poslední krok v renderingu scény tzn. blending, antialiasing apod. Součástí této jednotky jsou Depth a Stencil buffery, jejíchž úkol spočívá v informaci o viditelnosti daného pixelu ve scéně a s tím související limitace renderingu ve viditelné oblasti od kamery. Oproti předchozí řadě se zdvojnásobil počet Multiple Render Target na rovných 8 s podporou MSAA [5]. Efektivnější je nyní zpracovávání Render-to-texture. Jde o renderovací techniku, která je používána pro environment nebo shadow mapping atd. Zajímavostí z oblasti novinek je tvorba vlastních nastavení Anti-aliasing filtrů (Custom Filter AA), zráceně CFAA.
Obrázek O.34: Schéma jednotky Render Back-End čipu R600 zdroj: http://www.ati.amd.com
Crossfire – ani u nové řady nechybí možnost zapojení více karet. Nově byl vylepšen AFR detekční algoritmus. Jsou podporována rozlišení až do 2560x1024 a byla implementována budoucí podpora pro zapojení více něž dvou karet.
AVIVO HD – přináší hardwarovou akceleraci celého výpočetního procesu u kodeků H.264 a VC1 (akcelerace HD filmů z Blu-ray a HD DVD médií). Novinkou je akcelerace zvaná Entropy decode, která reprezentuje nejnáročnější výpočty při přehrávání H.264.
52
Obrázek O.35: AVIVO HD zdroj: http://www.ati.amd.com
Parametry vybraných čipů, které reprezentují řadu Radeon HD 2000 Radeon Čip Takt jádra [Mhz] Takt shaderů [MHz] Takt pamětí [Mhz] Typ pamětí Velikost paměti [MB] Šířka sběrnice [bit] Shader Processors TMU jednotky ROP jednotky
2900 XT R600 742 742 1650 GDDR3 512/1024 512 320 16 16
2900 Pro R600 600 600 1600 GDDR3 512 512 320 16 16
2900 GT R600 600 600 1600 GDDR3 256 256 240 16 16
2600 XT RV630 800 800 2200 GDDR4 128-1024 128 120 8 4
2600 Pro RV630 600 600 1000 DDR2 256/512 128 120 8 4
2400 XT RV610 700 700 1400 GDDR3 128/256 64 40 4 4
2400 Pro RV610 525 525 800 DDR2 128-512 64 40 4 4
Tabulka T.8: Parametry vybraných čipů, které reprezentují řadu Radeon HD 2000 Frekvence pamětí je v efektivní hodnotě
53
3.2.1.4 ATI Radeon HD 3000
Obrázek O.36: Dělení řady Radeon HD 3000 na třídy a jednotlivé karty
Zajímavostí je nové značení produktů. První číslo značí řadu jako tomu bylo doposud. Další číslo značí „rodinu karet“, podle kterého je daná karta zařazena do vyšší (číslo 8), střední (číslo 6) nebo nižší třídy (číslo 4). U této řady se již nepoužívají přípony XT (výkonnější model), Pro. Tyto přípony jsou v této řadě nahrazeny konkrétním posledním dvojčíslím, kde 50 znamená dřívější Pro a 70 dřívější XT. Ostatní přípony, které se používaly v minulých řadách, se od této řady již nepoužívají.
54
Obrázek O.37: Nové značení zdroj: http://www.ati.amd.com
Charakteristika řady Radeon HD 3000 • DirectX 10.1 • Shader model 4.1 • ATI PowerPlay • CrossFireX • Cube Map Arrays • Podpora WDDM 2.1 • PCI Express 2.0 Architektura, technologie a jejich inovace Tato řada následuje po nepříliš úspěšné řadě. Z hlediska architektury nedošlo k zásadním změnám, nová je např. paměťové sběrnice, která byla snížena na 256-bit a byly provedeny optimalizace na vnitřní Ring-Bus sběrnici zlepšující její efektivitu nebo podpora DirectX 10.1. Spíše než změn v architektuře, doznala řada vylepšení v přidaných technologiích. Na následujícím obrázku je znázorněna architektura charakterizující tuto řadu.
55
Obrázek O.38: Architektura řady HD 3000 zdroj: http://www.ati.amd.com
ATI PowerPlay – tato technologie je známá z integrovaných grafických karet, která nyní přichází i na desktopové karty. Tato technologie přináší nový profil Light Gaming ke dvěma již stávajícím (2D a 3D). Light Gaming v určitých případech dokáže snížit frekvenci jádra, aby tím dosáhl menší spotřeby a tím i menšího množství tepla vydávaného čipem. Tato technologie se využije např. při hraní nenáročných her, kde není zapotřebí tak vysokého výkonu karty. O rozpoznání potřebného výkonu čipu v konkrétní aplikaci se starají ovladače grafické karty, které neustále monitorují vytížení jádra. Následující obrázek popisuje rozdíly ve spotřebě mezi jednotlivými kartami. První tři sloupce jsou při plném zatížení, druhé tři při hraní nenáročných her a nakonec třetí sloupce ukazují výkon při "běžném" použití.
56
Obrázek O.39: ATI PowerPlay zdroj: http://www.ati.amd.com
CrossFireX – jak jsem zmínil v předchozí řadě, dochází u technologie CrossFire ke změně počtu spolupracujících karet na jednom počítači.
Cube Map Arrays – nová vlastnost v oblasti texturování. Tato technika zlepšuje globální osvětlování v moderních hrách nebo v profesionální 3D grafice. Kvalita zobrazení scény se tak blíží k „filmové“ kvalitě označované jako ray traicing [5] při minimálních 25 snímků za vteřinu.
Podpora WDDM 2.1 (Windows Display Driver Model) – WDDM přišla společně s operačním systémem Microsoft Windows Vista. V předchozích operačních systémech komunikoval ovladač grafické karty se samotným hardwarem a byl součástí jádra operačního systému (Kernel). Nyní je část ovladače přesunuta mimo jádro do tzv. user space a nazývá se UMD (User Mode Driver). Zbytek zůstává v jádru OS tzv. KMD (Kernel Mode Driver). Výhodou WDDM je, že pokud „spadne“ ovladač Direct3D (který byl doposud implementován v jádru OS) nespadne celý systém a postihne to pouze aplikace využívající tento ovladač. Důvodem změny je stabilita jádra operačního systému. • •
Context switching – doba přepínání mezi jednotlivými vlákny v GPU, byla zkrácena Page fault – stav, kdy je paměť namapovaná ale neobsahuje žádná data. V tomto případě karta čeká na opětovné poslání dat a začne pracovat od začátku.
57
PCI Express 2.0 – na obrázku je vidět rozdíl ve výkonu mezi PCI Express 1.1 a PCI Express 2.0. Přínos se pohybuje mezi 5% až 20%.
Obrázek O.40: Výhody PCI Express 2.0 zdroj: http://www.ati.amd.com
Parametry vybraných čipů, které reprezentují řadu Radeon HD 3000 Radeon Čip Takt jádra [Mhz] Takt shaderů [MHz] Takt pamětí [Mhz] Typ pamětí Velikost paměti [MB] Šířka sběrnice [bit] Shader Processors TMU jednotky ROP jednotky
3870 X2 RV670 2x 825 825 1800 GDDR3 512/1024 256 640 32 32
3870 RV670 775 775 2250 GDDR4 512/1024 256 320 16 16
3850 RV670 668 668 1656 GDDR3 256-1024 256 320 16 16
3650 RV635 725 725 1600 GDDR3 128-1024 128 120 8 4
3650 RV635 725 725 1000 GDDR3 256/512 128 120 8 4
3470 RV620 800 800 1900 GDDR3 256/512 64 40 4 4
3450 RV620 600 600 1000 DDR2 64-512 64 40 4 4
Tabulka T.9: Parametry vybraných čipů, které reprezentují řadu Radeon HD 3000 Frekvence pamětí je v efektivní hodnotě
58
3.2.1.5 ATI Radeon HD 4000
Obrázek O.41: Dělení řady Radeon HD 4000 na třídy a jednotlivé karty
Charakteristika řady Radeon HD 4000 • • • • • • • • • • •
DirectX 10.1 Shader model 4.1 TMU Výpočetní jednotky Render Back-Ends Paměťový řadič CrossFire Side-port TeraScale Graphic Engine ATI PowerPlay UVD 2 HDMI - s podporou 7.1 audio
59
Architektura, technologie a jejich inovace Čipy v předchozích řadách byly konstruovány s předpokladem, že další vývoj nebude zvyšovat počet čtveřic výpočetních jednotek, ale bude se zvyšovat poměr mezi ALU a texturovacími jednotkami. Architektura předchozích čipu tedy byla rozvržena tak, aby při implementaci dalších ALU jednotek se nezvyšovala komplexnost řídících obvodů a s tím i případné zvyšování rozměru čipu. Záhy se ale ukázalo, že nároky na aritmetiku čipu nejsou tak vysoké jako se předpokládalo. Proto došlo k přeskupení architektury SIMD [5] tak, aby odpovídaly čtveřicím jako u předchozích čipů, což umožnilo implementovat ve vyšším počtu i texturovací jednotky.
Obrázek O.42: Schéma čipu RV740 zdroj: http://www.ati.amd.com
60
Shader – jde o největší část jádra, který s skládá ze SIMD jednotek. Čip RV770 je má uspořádané v deseti řadách a každá nese 80 stream procesorů a to dohromady dává 800 stream procesorů v čipu.
TMU – oproti předchozím čipům byla vypuštěna filtrace full-speed FP16 a výrobce se vrátil k původní filtraci Int8 (osmibitové textury). Důvodem byly velké nároky na plochu pro texturovací jednotky. Při přechodu na původní filtraci se ušetřilo místo a mohlo se tak implementovat více těchto jednotek. Další změnou je vypuštění tzv. Sampling Units, které měly za úkol zpracovávat všechny textury, u kterých nebyla potřeba filtrace (např. displacement mapping). Ukázalo se totiž, že se tento koncept se nedokáže téměř uplatnit. Na obrázcích jde vidět rozdíl oproti předchozí generaci texturovacích jednotek. Sampling units byly vypuštěny (dvě horní čtveřice v prvních schématu).
Obrázek O.43: Schéma texturovacího bloku R600 zdroj: http://www.ati.amd.com
Obrázek O.44: Schéma texturovacího bloku RV770 zdroj: http://www.ati.amd.com
Výpočetní jednotky – celkové uspořádání výpočetních jednotek bylo upraveno tak, aby mohl být čip co nejefektivněji rozšířen a texturovací jednotky byly upraveny tak, aby byly použitelné pro co největší množství aplikací. ALU jednotky zůstaly bez větší změny tzn. superskalární 5D jednotky složené z pěti Stream Procesorů.
61
Obrázek O.45: Schéma výpočetní jednotky RV770 zdroj: http://www.ati.amd.com
Render Back-Ends – je kombinací Render Back-End jáder předchozí řady a ROP jednotek předminulé řady. Byly doplněny o fixní resolve pro základní režimy FSAA s box filtrem (2x, 4x, 8x) jako tomu bylo u jádra R580. Oproti předchozím čipům, byl zdvojnásobený výkon při generování MSAA vzorků. Byl výrazně zvýšen výkon při použití FSAA a to díky nové implementaci paměťové řadiče. Jedná se o snížení propadu ve výkonu až 4x.
Obrázek O.46: Schéma Render Back-Ends jednotky v čipu RV770 zdroj: http://www.ati.amd.com
Paměťový řadič (Crossbar) – jelikož se zvýšil počet SIMD, tím narostl i počet klientů, které je potřeba připojit ke sběrnici, bylo efektivní změnit topologii sběrnice. Už se nejedná o ringbus sběrnici, protože počet klientů, kteří by museli být připojeni, by bylo mnoho, ale o distribuované řešení, které se zakládá na podobných základech jako ring-bus (centrální řízení programovatelností). Všechny části jádra jsou spojeny s novým „memory hubem“, který řídí všechny operace s pamětí.
62
Obráek O.47: Schéma propojení paměťové sběrnice v čipu RV770 zdroj: http://www.ati.amd.com
CrossFire Side-port – jde o novinku v řadiči paměti, která bude sloužit pro lepší spojení čipu na duálním Radeonu HD 4870 X2. Grafická karta, která používá k výpočtům dvě jádra, potřebuje mít zajištěn přístup k PCI Express sběrnici pro obě jádra. Tento problém bývá řešen switchem nebo PCI Express řadičem. Nevýhodou je, že pokud grafická karta načítá do své paměti textury, musí se nahrát do paměti z každého jádra. Tento problém se objevoval u předchozí generace, konkrétně u karty Radeon HD 3870 X2, která měla použitý PCI Express řadič 1.x (nová verze při výrobě čipu pro tuto kartu nebyla k dispozici). U Radeonu HD 4870 X2 by se tato situace neměla opakovat.
TeraScale Graphic Engine – název grafického jádra, které umožňuje pro počítání herní scény počítat zároveň s reálnou fyzikou a podobně.
ATI PowerPlay – nyní je vše řízeno hardwarově kontolerem, který je implementovaný na samotné kartě, ovladače budou mít nyní na funkci minimální vliv.
UVD 2 –nový dekodér videa, který podporuje HD videa. Aplikuje na videa efekty pro vylepšení obrazu a přepočítává klasická DVD do vyššího rozlišení.
63
Parametry vybraných čipů, které reprezentují řadu Radeon HD 4000 Radeon Čip Takt jádra [Mhz] Takt shaderů [MHz] Takt pamětí [Mhz] Typ pamětí Velikost paměti [MB] Šířka sběrnice [bit] Shader Processors TMU jednotky ROP jednotky
4870 X2 RV770 2x 750 750 3600 GDDR5 2048 256 1600 80 32
4870 RV770 750 750 3600 GDDR5 512-2048 256 800 40 16
4850 RV770 625 625 1986 GDDR3 512-2048 256 800 40 16
4770 RV740 750 750 3200 GDDR5 512 128 640 32 16
4670 RV730 750 750 2000 GDDR3 256-1024 128 320 32 8
4650 RV730 600 600 1000 DDR2 256-1024 128 320 32 8
4350 RV710 600 600 1000 DDR2 256-1024 64 80 8 4
Tabulka T.10: Parametry vybraných čipů, které reprezentují řadu Radeon HD 4000 Frekvence pamětí je v efektivní hodnotě
3.2.1.6 ATI Radeon HD 5000
Obrázek O.48: Dělení řady Radeon HD 5000 na třídy a jednotlivé karty
64
Charakteristika řady Radeon HD 5000 • • • • • • • •
DirectX 11.0 Shader model 5.0 Řídící jednotka čipu Render Back-Ends TMU Paměťový subsystém SAD Eyefinity
Architektura, technologie a jejich inovace
Obrázek O.49: Schéma čipu RV870 zdroj: http://www.ati.amd.com
Řídící jednotka čipu – byla nově přepracována a nabízí dvojitý rasterizer a novou teslační jednotku, která je plně kompatibilní s DirectX 11.0. Tato teslační jednotka navyšuje počet polygonů (trojúhelníku v objektu) a tím je celý obraz více detailní.
65
Obrázek O.50: Řídící jednotka čipu RV870 zdroj: http://www.ati.amd.com
V novém nejvýkonnějším jádře této řady se nachází dvojnásobný počet SIMD bloků vůči nejvýkonnějšímu jádru předchozí řady RV770.
Obrázek O.51: Schéma výpočetního jádra čipu RV870 zdroj: http://www.ati.amd.com
Render Back-Ends a TMU – opět byl zvýšen jejich počet, ale bylo nutné je modifikovat, aby byly schopné plnit specifikace nového DirectX 11.0, které spočívají v bitových operacích, jako jsou count, insert, extract, atd. Oproti předešlým RBE jednotkám umí tzv. fast color clear. Tato funkce umožňuje rychlejší běh v určitých typech her.
66
TMU – nyní pracují efektivněji díky nové verzi DirectX. Na rozdíl od RV770 umí nejenom číst komprimované AA barevné buffery, ale již se neprovádějí interpolace, které nyní přebírají Stream procesory (specifikace DirectX), které jsou schopny tyto operace provádět daleko rychleji než TMU jednotky.
Paměťový subsystém – na „osvědčeném“ modelu se nic neměnilo, stále se jedná o 256bitovou sběrnici. Vzhledem k tomu, že nová řada potřebovala vyšší propustnost kvůli vyššímu výkonu celé karty, přešlo se na nové typy pamětí GDDR5. Musel se ovšem vyřešit problém s možným šumem, které tyto rychlé paměti přinášejí. Např. na kartě Radeon 5870 se nachází 8 bloků pamětí, které běží na vysokých frekvencích a mohl by vznikat vzájemný šum mezi jednotlivými bloky. Vývojáři proto implementovali základní detekci chyb při čtení a zápisu (CRC-8). Tato funkce kontroluje data a pokud dojde k problému v určitém bloku dat je řadič pamětí požádán o přeposlání dat.
Obrázek O.52: Schéma paměťového subsystému čipu RV870 zdroj: http://www.ati.amd.com
SAD – funkce, která počítá součet absolutních diferencí, který je důležitý pro enkódování videa nebo při odhadování pohybu ve scéně. Předešlý čip RV770 potřeboval nejméně 12 funkcí, aby dosáhl stejného výkonu jako RV870.
67
Eyefinity – možnost připojení až tří LCD panelů k počítači, u karty Radeon HD 5870 dokonce až 6 LCD panelů. Na obrázku je vidět použití této funkce. Lze na všech panelech vidět jeden obraz nebo mít na každém LCD panelu jiný obraz (internet, film, hru,...).
Obrázek O.53: Eyefinity zdroj: http://www.ati.amd.com
DirectX 11.0 - přináší především nové funkce jako multi-threaded rendering, který umožní lepší využití multi-core procesorů pro renderování ve 3D, unifikovaný standard GPGPU (výpočty za pomocí GPU) a vylepšení možností vyhlazování a jeho efektivity atd.
Parametry vybraných čipů, které reprezentují řadu Radeon HD 5000 Radeon 5970 Čip RV870 2x Takt jádra [Mhz] 725 Takt shaderů [MHz] 725 Takt pamětí [Mhz] 4000 Typ pamětí GDDR5 Velikost paměti [MB] 2048 Šířka sběrnice [bit] 256 Shader Processors 3200 TMU jednotky 160 ROP jednotky 64
5870 RV870 850 850 4800 GDDDR5 1024/2048 256 1600 80 32
5830 Cypress 800 800 4000 GDDR5 1024 256 1120 56 16
5770 RV850 850 850 4800 GDDR5 512/1024 128 800 40 16
5670 Redwood 775 775 4000 GDDR5 512/1024 128 400 20 8
5570 Redwood 650 650 1800 GDDR3 512/1024 128 400 20 8
5450 Cedar 650 650 1600 GDDR3 512/1024 64 80 8 4
Tabulka T.11: Parametry vybraných čipů, které reprezentují řadu Radeon HD 5000 Frekvence pamětí je v efektivní hodnotě
68
3.3 FVIDIA NVIDIA Corporation nebo také nVIDIA je Americká firma se sídlem v Santa Clara v Silicon Halley ve státě Kalifornie. Společnost byla založena v roce 1993. Jedním ze zakládajícím členem byl pan Curtis Priem, který je dosud jejím výkonným ředitelem. V roce 2000 NVIDIA koupila firmu 3dfx, prakticky první firmu, která přišla s komerčně využitelným akcelerátorem. Nvidia je jedním z hlavních dodavatelů integrovaných obvodů do čipsetů, základních desek, grafických jáder a herních konzolí. Jejím prvním grafickým čipem byly NV1 a NV2. Její čipy nesou označení GeForce.
3.3.1 Chronologický vývoj GK firmy FVIDIA Obdobně jako u předchozího výrobce je i zde sledována produkce karet v rozmezí let 2004 až 2010. V tomto období vydala na trh firma NVIDIA rovněž 6 řad grafických karet, počínaje řadou GeForce 6, která se objevila na trhu v dubnu 2004. Chronologie uvedení jednotlivých řad na trh je znázorněna v následujícím schématu. Opět budou popsány změny v architektuře a zdůrazněny nové technologie jednotlivých řad a v závěru bude proveden souhrnné srovnání jednotlivých řad.
69
Obrázek O.54: Chronologický přehled jednotlivých řad grafických karet NVIDIA
70
3.3.1.1 GeForce 6
Obrázek O.55: Dělení řady GeForce 6 na třídy a jednotlivé karty
Charakteristika řady GeForce 6 • • • • • • • • • • •
DirectX 9.0 Shader model 3.0 Pipeline Vertex shader Displacement mapping Pixel shader ROP Paměťové rozhraní IntelliSample 3.0 FVIDIA UltraShadow II PureVideo
Architektura, technologie a jejich inovace Nová architektura SIMD/MIMD [5], nahrazuje VLIW [5] architekturu, která v předchozí řadě nedopadla příliš šťastně. Mezi API [5] a systémovým rozhraním stojí kompilátor. První i druhá verze generace CineFX byly postavené na VLIW architektuře. Tyto VLIW procesory dokáží pomocí kompilátoru upravovat zdrojový kód tak, že se místo několika instrukcí použije jedna, o velké délce slova. Díky nepodařenému VLIW kompilátoru byla předchozí řada, slabší v operacích se shadery.
71
Pipeline - rozdíl oproti předchozí generaci tkví v masivním paralelismu (jako je tomu i u konkurence). Na schématu 3D pipeline NV40 si můžeme všimnout 16-ti pevně určených pipeline. I když jsou jednotky oddělené nepracují nezávisle. Celkový počet 16 pipeline je rozdělen do 4 bloků. Každá dlaždice o rozměrech 2x2 pixely, do kterých je rozdělena pozice polygonů/trojúhelníků, je zpracovávána jedním blokem. Výhoda této metody spočívá v lepším přístupu do paměti. Možnou nevýhodou může být např. když trojúhelník nezaplní celou dlaždici. Stejně jako u konkurence i zde lze špatně vyrobené jádro s defektním blokem prodávat jako kartu s nižším výkonem.
Obrázek O.56: Schéma pipeline NV40 zdroj: http://www.nvidia.com
Vertex shader – nachází se na začátku pipeline a pracuje s vrcholy textury. U jádra NV40 se jedná o 6 Vertex shaderů, které pracují jako MIMD, to znamená, že každý Vertex shader může ve stejný okamžik pracovat na jiném vrcholu při použití jiných instrukcí.
72
Obrázek O.57: Schéma Vertex shaderu čipu NV40 zdroj: http://www.nvidia.com
Každý Vertex shader obsahuje paralelně pracující skalární a vektorovou jednotku, přičemž v jednom cyklu lze provést v každé jednotce 5 operací. •
Branch Unit - objevila se s příchodem DirectX 9.0. Dovoluje hardwarovou podporu větvení kódu. (Vertex shadery verze 3.0 nově podporují neomezeně dlouhý kód).
Displacement mapping - tato technologie se původně objevila u čipů Parhelia od firmy Matrox. Funguje na principu načítání černobílé textury do Vertex shaderu a jednotlivé odstíny šedé značí hloubku nebo výšku pixelu nad původním povrchem. Tohoto efektu se využívá pro vytvoření tzv. vrstevnic pomocí nichž lze vytvořit prostorový efekt. Oproti tomu řada GeForce 6 dokáže načítat texturu hardwarově do Vertex enginu. Nevýhodou je že textura nemůže být filtrována.
Pixel pipeline – jádro NV40 obsahuje 16 pipeline, které umí vykreslovat v jednom taktu 16 pixelů. Novinkou je, že pokud není nutné nanášet texturu a počítá se pouze s Z-hodnotou dokáže NV40 vykreslit 32 pixelů za takt.
73
Obrázek O.58: Schéma Pixel pipeline čipu NV40 zdroj: http://www.nvidia.com
Architektura GeForce 6 je superskalární (zvládá několik instrukcí současně). Každá pixel pipeline NV40 obsahuje jednu TMU jednotku a dvě jednotky pro práci se shadery, které pracují nezávisle na sobě nebo spolupracují. V TMU jednotkách dochází k filtrování textur, které NV40 zpracovává v jednom cyklu (bilineární filtrování) nebo ve dvou cyklech (trilineární filtrování), navíc umí až 16x anizotropní filtrování.
Pixel shader – v každé pipeline se vyskytují po dvojicích a jsou postaveny na architektuře SIMD. Na obrázku je znázorněno, že jedna Pixel shader jednotka je potřeba k operacím s texturami (pokud není potřeba využívat Pixel shader k operacím s texturami lze provádět dvě nezávislé instrukce zároveň).
Obrázek O.59: Schéma Pixel shader čipu NV40 zdroj: http://www.nvidia.com
ROP – na obrázku jsou vidět dvě hlavní jednotky ZROP (zapisování Z-hodnoty do frame bufferu) a CROP (hodnota kombinace Z-hodnoty a barvy daného pixelu). 74
Díky tomuto principu dokáže NV40 vykreslovat díky absenci barevné hloubky dvakrát více pixelů (neboli Z/stencil operace).
Obrázek O.60: Schéma ROP jednotky čipu NV40 zdroj: http://www.nvidia.com
Paměťové rozhraní – NV40 obsahuje čtveřici samostatných řadičů, které pracují na 64bitových kanálech. To dohromady dává 256-bitové rozhraní, které NV40 používá. Tato technologie se nazývá LMA III (Light-Speed Memory Architecture). Zajímavostí je, že i když jsou paměti velice rychlé, nedostačují renderovacímu výkonu jádra NV40. Šírka pásma je 35 GB/s a může být vyrenderováno z 6,4 Gpixel/s pouze 4,8 Gpixel/s. Výkonem to odpovídá zhruba 12 pixel pipeline.
IntelliSample 3.0 – tato jednotka se nachází v ROP a zajišťuje Anti-Aliasing. Tato technologie přináší tzv. Rotated Grid Multisampling FSAA, což je možnost 8x Anti-Aliasing.
FVIDIA UltraShadow II – jedná se už o druhou verzi této technologie, která byla zdokonalena. Cílem této technologie je redukce výpočtů, které zpracovává jádro grafické karty. Výpočty jsou prováděny pouze tam, kde jsou nezbytně nutné. Např. vypočítání stínů ve scéně, kde jsou opravdu vidět.
75
PureVideo - jde o multimediální funkce čipu, které doznaly značných změn. Čip obsahuje integrovaný VideoProcesor (VP), který se do této doby vyskytoval jen u konkurence. VideoProcesor podporuje enkódování a dekódování MPEG videa včetně DivX, akceleraci dekódování WMV9. Dále obsahuje TV enkódér a výstup pro HDTV. Nevýhodou této řady jsou enormní požadavky na napájení, zejména pro AGP slot, který má značně menší možnosti napájení. Další nevýhodou jsou vysoké nároky na chlazení. Pipeline jsou dělené do 4 bloků jako je tomu i u konkurenční ATI, pokud se při výrobě stane, že jeden blok je nefunkční, použije se čip do karty s jiným označením a jinými parametry.
Parametry vybraných čipů, které reprezentují řadu GeForce 6 GeForce Čip Takt jádra [Mhz] Takt pamětí [Mhz] Typ pamětí Velikost paměti [MB] Šířka sběrnice [bit] Pixel pipeline Vertex pipeline TMU jednotky ROP jednotky
6800 Ultra NV45 400 1100 GDDR3 256/512 256 16 6 16 16
6800 GS NV42 425 1000 GDDR3 128-512 256 12 6 12 8
6800 NV41 325 700 DDR 128/256 256 12 6 12 8
6600 GT NV43 500 1000 GDDR3 128-512 128 8 3 8 4
6500 NV44 400 666 DDR 128/256 64 4 3 4 2
6200 NV43 300 550 DDR 128/256 128 4 3 4 4
6200 LE NV44 350 532 DDR 64-512 64 4 3 4 2
Tabulka T.12: Parametry vybraných čipů, které reprezentují řadu GeForce 6 Frekvence pamětí je v efektivní hodnotě
3.3.1.2 GeForce 7
Obrázek O.61: Dělení řady GeForce 7 na třídy a jednotlivé karty
76
Charakteristika řady GeForce 7 • • • • • • • • • •
DirectX 9.0c Shader model 3.0 Pipeline Vertex pipeline Pixel pipeline TMU Shader jednotky ROP HDR UltraShadow II
Architektura, technologie a jejich inovace Architektura nové řady nepřináší žádné podstatné změny. Na obrázku vidíme schéma jádra G71 s 8 Vertex a 24 Pixel pipeline. Jako tomu bylo u předchozí řady i zde jsou pipeline rozděleny do čtveřic (quad-pipelines) a taktéž, umožňuje vypnout některé vadné bloky a prodávat jej jako levnější verzi.
Pipeline
Obrázek O.62: Schéma pipeline G70 zdroj: http://www.nvidia.com
77
•
Cull/Clip/Setup – tato nová část jádra se stará o ořezávání vrcholů, které leží mimo viditelnou scénu (cliping), popř. se nenachází na viditelné straně objektu (backface culling).
•
Fragment Crossbar – křížový řadič, který rozděluje vypočítané pixely do ROP jednotek a slouží také ke komunikace s pamětí. Je složen ze čtyř 64-bitových komponent tzn. dohromady 256 bitový přístup (šířka sběrnice).
Vertex pipeline – pracuje na architektuře MIMD a může tak provádět nezávisle různé instrukce u obou jednotek (vektorová a skalární).
Obrázek O.63: Schéma Vertex pipeline čipu G70 zdroj: http://www.nvidia.com
•
L2 Texture Cache – zde se ukládají textury, které lze přímo ve Vertex shaderu aplikovat na model. Nemusí se tak čekat na další průchod pipeline. Načítat je možné až 4 textury, které ale nelze filtrovat (bilineární, trilineární filtrování).
•
Branch Unit – větvení kódu s cykly a podmínkami
•
Primitive Assembly – ustanovení geometrie
•
Viewport Processing – umístění do souřadnic pozorovatele (kamery)
78
Pixel pipeline – nedoznala ve srovnání s přechozí řadou podstatných změn, došlo pouze k výpočetním optimalizacím. Je postavena na SIMD tzn. provádění na více datech jedinou instrukci. Každá Pixel pipeline obsahuje jednu texturovací jednotku a dvě shader jednotky.
TMU– od svého předchůdce se liší pouze v rychlosti. Pracuje se čtyřmi vzorky a maximální hodnota filtorvaní je 16x (anizotropní filtrování). Shader jednotky – jsou seřazeny za sebou. Oba shadery jsou vektorové a pracují s texturami ve formátu RGBA (Red, Green, Blue, Sloha - průhlednost). Oba shadery mohou pracovat odděleně nebo společně a to v případě, je-li první shader použit pro vzorkování textury tak druhý může pracovat s pixely. Navíc každý shader obsahuje miniaturní ALU jednotku s parametry (Pixel shader 1.4), pomocí níž lze provádět instrukce podle standardu Pixel shader 1.4 bez využití plnohodnotné ALU jednotky.
ROP – liší se pouze v Pixel X-Bar Interconnect jednotce, která nahrazuje jednotku Pixel Crossbar Interconnect.
Obrázek O.64: Schéma ROP jednotky čipu G70 zdroj: http://www.nvidia.com
HDR – jde o velký rozsah zobrazovaných barev a rozsah jasu. Lidské oko vnímá rozsah od 14dB, ale standardní 32bitové barvy nabízejí poměr jasu 2.4dB. Formát OpenEXR má dynamický rozsah 12dB v FP16. Dále se používají efekty jako bloom, motion blur nebo depth of field (rozmazávání oblasti, na které není zaostřeno).
79
UltraShadow II - technologie urychlující počítání stínů, přináší nárůst výkonnosti v komplexních scénách, kde je hodně světelných zdrojů a hodně objektů.
Parametry vybraných čipů, které reprezentují řadu GeForce 7 GeForce 7900 GX2 Čip G71 2x Takt jádra [Mhz] 500 Takt pamětí [Mhz] 1200 Typ pamětí GDDR3 Velikost paměti [MB] 1024 Šířka sběrnice [bit] 256 Pixel pipeline 48 Vertex pipeline 16 TMU jednotky 48 ROP jednotky 32
7900 GTO G71 650 1320 GDDR3 512 256 24 8 24 16
7800 GT G70 400 1000 GDDR3 256/512 256 20 7 20 16
7600 GT G73 560 1400 GDDR3 256 128 12 5 12 8
7600 GS G73 400 800 DDR2 128-512 128 12 5 12 8
7300 GT G73 350 650 DDR2 128-512 128 8 5 8 4
7300 LE G72 450 700 DDR2 64-512 64 4 3 4 2
Tabulka T.13: Parametry vybraných čipů, které reprezentují řadu GeForce 7 Frekvence pamětí je v efektivní hodnotě
3.3.1.3 GeForce 8
Obrázek O.65: Dělení řady GeForce 8 na třídy a jednotlivé karty
80
Charakteristika řady GeForce 8 • • • • • • • • •
DirectX 10.0 Shader model 4.0 Unifikovaná architektura Stream Processors TMU ROP Early Z Multimediální schopnosti HDCP
Architektura, technologie a jejich inovace Zajímavostí této řady je, že se její vývoj datuje již od roku 2002 a byla vyvíjena paralelně s GeForce 7. Zatímco GeForce 7 byla z hlediska architektury mírnou inovací vůči řadě GeForce 6, tak je nová řada postavena na zcela nové architektuře, která by měla poskytovat vysoký výkon jak v DirectX 10.0 aplikaci, tak i v aplikacích postavených na starších verzí DirectX.
Obrázek O.66: Schéma čipu G80 zdroj: http://www.nvidia.com
81
Stream Processors (SP) – (zelené obdélníky) - čip G80 jich obsahuje celkem 128 a jsou uspořádány v osmi skupinách po šestnácti. Tyto šestnáctice jsou rozděleny do dvou skupin po osmi - což je patrné i z obrázku níže. Každý SP je jednoduchý unifikovaný skalární 1D procesor (pracuje pouze s jednou složkou Vertex, Pixel, Geometry), na rozdíl od předchozích čipů. Pokud bychom potřebovali 4D operace musí jádro G80 pověřit 4 ALU jednotky (pro každou složku zvlášť), dřívější jádra používala pouze jednu ALU jednotku. Toto rozdělení na 1D má přinést zvýšení efektivity. Pokud by totiž na starších čipech (3D+1D) bylo nutné provést dvě operace tak jednu operaci by provedla 1D ALU jednotka a druhou operaci by provedla 3D ALU jednotka, která by ale byla ze 2/3 nevyužita. Nyní se už nemůže stát, že by nějaká ALU jednotka pracovala jen z části. Každý blok sdílí jednotky pro filtrování a adresování textur. Procesory zpracovávají jak skalární, tak i vektorové operace. Sklární operace jsou zpracovávány v jednom taktu, zatím co vektorové operace jsou zpracovávány ve více taktech. Adresovací a filtrovací jednotky jsou oddělené, toho se využívá při filtrování textur, které pak nezatěžují shaderové jednotky. Nevýhoda je ve velkém počtu tranzistorů, které obsahují Stream procesory v porovnání se čtyrsložkovou ALU jednotkou.
Obrázek O.67: Schéma shader core čipu G80 zdroj: http://www.nvidia.com
TMU – (modré obdelníky) na předešlém obrázku je vidět, že ke každým čtyřem SP připadají dvě TF jednotky. Tyto jednotky však nejsou identické. První z nich obsahuje vlastní jednotku TA. Tzn., že čip je schopen pracovat s 64 pixely ale vykreslit jich dokáže pouze 32. To přináší např. bezeztrátovou bilineární filtraci nebo anizotropní filtraci 2x, taktéž bez ztráty výkonu.
ROP – (modré obdélníky dole) čip G80 obsahuje 6 bloků ROP jednotek. Každý z šesti bloků pracuje se 4 pixely, které pokud nepracují s barevnou hloubkou, tak je každý blok schopný zpracovávat až 32 Z-vzorků. Podporují F16 a F32 blending zároveň s FSAA. Vylepšena byla barevná i Z-komprese při použití FSAA, což znamená nižší propad výkonu při zapnutém FSAA. Přibyl režim CSAA [5]. Režim nabízí vyšší počet AA vzorků – 8x a 16x.
82
Cache – (oranžové obdelníky)
Early Z – vylepšená technologie, starající se o detekování pixelů, které ve výsledné scéně nebudou vidět.
Multimediální schopnosti – karty GeForce 8600, 8500 a 8400 obsahují nové jednotky zajišťující přehrávání videa v rozlišení HD s plnou akceleraci videokodeku H.264 pomocí technologie PureVideo. Oproti předchozí řadě obsahují tyto karty VP2, BSP engine a AES128 engine.
Obrázek O.68: Schéma video procesoru GeForce 7 a GeForce 8600 zdroj: http://www.nvidia.com
• •
•
VP2 (Video Processor 2) – zajišťuje akceleraci MPEG-2, VC-1 a H.264 v datovém toku až 40 Mb/s. BSP engine (Bitstream processor) – urychluje dvě procesorově náročné operace při dekódování kodeku H.264, přičemž druhá funkce je hlavně ke snížení nároků na procesor při dekódování kodeku H.264. o CAVLC (Context Adaptive Variable Length Coding) o CABAC (Context Adaptive Bojary Arithmetic Coding) AES128 engine – kódování dat pro AACS (Advance Access Content System). AACS je bezpečnostní sytém pro HD DVD i Blue-ray.
Obrázek ilustruje zatížení procesoru při vypnutém PureVideo HD (první řádek). Druhý řádek ukazuje zatížení procesoru při přehrávání videa na kartách z řady GeForce 7 při zapnutém PureVideo. Konečně třetí řádek patří novým kartám GeForce 8600 a GeForce 8500 při zapnutém PureVideo.
83
Obrázek O.69: PureVideo zdroj: http://www.nvidia.com
HDCP – GeForce 8600 GTS je první karta, která má plnou podporu této funkce. Zajišťuje uživatelům funkci dual-link (funkce pro spojení dvou výstupů DVI-I pro jeden monitor). Přehled karet obsahující Video Procesor GeForce 8800 GTX 8800 GTS 8600 GTS 8600 GTS 8500 GT 8400 GS 8300 GS
PureVideo HD VP ANO VP1 ANO VP1 ANO VP2 ANO VP2 ANO VP2 ANO VP2 ANO neobsahuje
Tabulka T.14: Přehled karet obsahující Video Procesor
84
Parametry vybraných čipů, které reprezentují řadu GeForce 8 GeForce 8800 Ultra Čip G80 Takt jádra [Mhz] 612 Takt shaderů [MHz] 1500 Takt pamětí [Mhz] 2160 Typ pamětí GDDR3 Velikost paměti [MB] 768 Šířka sběrnice [bit] 384 Shader Processors 128 TMU jednotky 32 ROP jednotky 24
8800 GT G92 600 1500 1800 GDDR3 256-2048 256 112 56 16
8800 GTS G80 500 1200 1600 GDDR3 320/640 320 112 24 20
8600 GTS G84 675 1450 2000 GDDR3 256/512 128 32 16 8
8600 GT G84 540 1180 1400 GDDR3 128-1024 128 32 16 8
8500 GT G86 450 900 800 DDR2 128-1024 128 16 8 8
8400 GS G86 450 900 800 DDR2 128-512 64 16 8 8
Tabulka T.15: Parametry vybraných čipů, které reprezentují řadu GeForce 8 Frekvence pamětí je v efektivní hodnotě
3.3.1.4 GeForce 9
Obrázek O.70: Dělení řady GeForce 9 na třídy a jednotlivé karty
Charakteristika řady GeForce 9 • • • • • • • •
DirectX 10.0 Shader model 4.0 TMU ROP PureVideo Hybrid Power GeForce Boost Display Port
85
Architektura, technologie a jejich inovace Řada GeForce 9 je jen evolucí řady předchozí, stejně jako tomu bylo i u řad GeForce 6 a 7. Nová řada podporuje DirectX 9.0 obdobně jako řada předchozí, naproti tomu konkurenční řada HD 3000 firmy ATI již podporuje DirectX 10.1.
Jádro čipu G94 - proti čipu G80 byl vylepšený load balancing (rozložení zátěže mezi více jednotek). Počet TMU a ALU jednotek závisí na počtu výpočetních bloků. Jeden blok G9x obsahuje stejný počet SP jako G8x. TMU jednotky jsou složené z 8 adresovacích (TAU) a 8 filtrovacích (TFU) jednotek. Stream procesory nedoznaly žádných změn oproti předchozí řadě.
Obrázek O.71: Schéma čipu G94 zdroj: http://www.pc.sk
TMU – stejné jako Stream procesory nedoznaly TMU jednotky žádných změn, pouze se zvýšil jejich počet.
ROP – změna nastala u Color/Z komprese. Při vyšším rozlišení dokáží lépe spolupracovat s video pamětí. Mírných změn doznala i jednotka Z-culling.
86
PureVideo – tato technologie doznala několik vylepšení. Jedná se o úpravu v dynamickém kontrastu a dynamické úpravě červené složky signálu v RGB formátu. První změna vylepšuje automatickou úpravu kontrastu vykresleného snímku na obrazovce (max. 30 upravených snímků za sekundu). Tento filtr je náročný a nebude se nacházet ve slabších kartách, které nemají potřebný výkon na tyto úpravy ve scéně. Druhá změna upravuje jednotlivé barevné složky tak, aby se docílilo ideální saturace. Další novinkou je urychlování dekódování dvou datových toků vzhledem k používanému jednomu toku. Tuto technologii lze využít např. při přehrávání videa na pozadí a současně při přehrávání jiného videa v popředí na obrazovce v menším okně. Poslední novinkou je urychlování HD videa při spuštěném 3D prostředí Aero v operačním systému Windows Vista.
Hybrid Power – umožňuje vypnout grafickou kartu či více karet zapojených v režimu SLI ve 2D a přenechá vykreslování obrazu integrované kartě. To hlavně umožní snížení spotřeby a tím i méně produkovaného tepla. HybridPower podporují následující čipsety (GeForce 8200 mGPU, nForce 780a, nForce 750a a nForce 730a).
Obrázek O.72: Hybrid Power zdroj: http://www.nvidia.com
GeForce Boost – technologie umožňující zapojit integrovanou kartu do vykreslování scén a pomoci tak především slabším kartám. Tuto technologie podporují jen některé karty (8500 GT a 8400 GS).
87
Parametry vybraných čipů, které reprezentují řadu GeForce 9 GeForce 9800 GX2 Čip G92 2x Takt jádra [Mhz] 600 Takt shaderů [MHz] 1500 Takt pamětí [Mhz] 2000 Typ pamětí GDDR3 Velikost paměti [MB] 1024 Šířka sběrnice [bit] 256 Shader Processors 256 TMU jednotky 128 ROP jednotky 32
9800 GT G92 600 1500 1800 GDDR3 256-1024 256 112 56 16
9600 GT G94 650 1625 1800 GDDR3 256-2048 256 64 32 16
9600 GSO G92 550 1375 1600 GDDR3 192-1536 192 96 48 12
9500 GT G96 550 1400 1600 GDDR3 128-1024 128 32 16 8
9400 GT G96 550 1400 800 DDR2 128-1024 128 16 8 8
9300 GS G86 450 900 800 DDR2 256 64 16 8 8
Tabulka T.16: Parametry vybraných čipů, které reprezentují řadu GeForce 9 Frekvence pamětí je v efektivní hodnotě
3.3.1.5 GeForce 200
Obrázek O.73: Dělení řady GeForce 200 na třídy a jednotlivé karty
88
Charakteristika řady GeForce 200 • DirectX 10.0 • Shader model 4.0 • Graphics Processing Architecture • Thread scheduler • TP cluster • ROP • PhysX • Power management • CUDA • Lumenex engine Architektura, technologie a jejich inovace G200 představuje unifikovaný čip druhé generace, který dokonce převyšuje specifikace Direct3D Shader Modelu 4, kde je navíc podporovaný multisample readback. Oproti tomuto bonusu, ale tento čip nesplňuje úplnou specifikaci Direct3D 10.1. Vývojáři firmy NVIDIE se zaměřili především na výkon výpočetních jednotek. Byly přidány některé nové funkce, které se již u konkurence objevily dříve. Mezi nejzajímavější schopnosti nového čipu patří možnost vypnout některé jednotky v 2D prostředí a docílit tím snížení spotřeby karty i produkci tepla. Např. GeForce GTX280 v 2D režimu spotřebuje pouze 30W. Novinkou je 10bitový barevný výstup, stejně jako nabízí konkurence. Předcházející řady měly 8bitový barevný výstup.
Obrázek O.74: Schéma čipu G200 zdroj: http://www.nvidia.com
89
Obrázek O.75: Zjednodušené schéma čipu G200 zdroj: http://www.nvidia.com
Graphics Processing Architecture - na zjednodušeném obrázku jádra G200 je zobrazený tok dat z počátku čipu Thread schelduler (fialový obdelník) až ke konci k ROP jednotkám (červeno-černé čtverce) a poté se data dostávají do frame bufferu a nakonec jsou zobrazována na monitoru. Front-end jednotky (obdélníky uprostřed) komunikují s ovladači a přijímají data a příkazy. Tento komunikační protokol byl vylepšen a tím byla docílena lepší efektivita přenosu dat a informaci v jádře.
Thread scheduler - strará o plánování úloh, které jsou následně zpracovávány. Díky této jednotce je zaručeno neustálé 100% vytížení jádra. NVIDIA chtěla u nového jádra snížit a omezit latence, pokud čeká nějaká úloha na přístup do paměti. Jádro G200 tuto úlohu dokáže zaměnit za jinou v pořadí, která má vyšší prioritu, bez ztráty výkonu.
TP cluster – v jádře se nachází 10 Thread Processing clusterů. Každý z těchto clusterů je sestaven z 3 streaming multiprocessors (SM), 8 texturovacích jednotek (TMU) složených z 8 filtrovacích jednotek (TFU), 8 adresovacích jednotek (TAU) a paměti L1 cache. V jednom SM bloku jsou uspořádány jednotlivé ALU jednotky, které se označují jako Stream procesory. Mezi jednotlivými čtveřicemi ALU je sdílená paměť cache, z důvodu, aby si jednotlivé ALU jednotky mohly vyměňovat údaje mezi sebou, bez nutnosti přistupovat na externí paměťový systém.
90
Obrázek O.76: Schéma jednoho Thread Processing clusteru čipu G200 zdroj: http://www.nvidia.com
ROP – podporované jsou stejné antialiasingy jako u přechozích jáder G80 a G92. Vylepšení doznaly jednotky Early-Z, který jsou nyní výkonnější díky většímu počtu ZROP jednotek a byla vylepšena komprese Z/stencil. Výkon ZROP jednotek je nyní 32 pixelů za takt nebo 256 samplů za takt. Dvojnásobně byl také zvýšen výkon blender jednotek v ROP.
PhysX – NVIDIA implementuje do svých ovladačů sadu instrukcí, které jsou naprogramovány v jazyku CUDA, který je odvozen z jazyka C#. Pomocí těchto ovladačů umožňují karty z řady GTX 200 vypočítávat efekty, které se řídí zákony fyziky. V minulosti se používal k tomuto účelu fyzikální akcelerátor Ageia PhysX, což byla vlastně přídavná karta, která doplňovala stávající grafickou kartu. Pokud se v počítači tento akcelerátor nenachází, musí počítat veškeré fyzikální efekty procesor počítače.
Power Management – jedná se o implementaci čtyř profilů spotřeby do ovladačů grafických karet. Tato technika neustále sleduje grafickou kartu a zatížení ve všech jejich obvodech a v případě jejich nevyužití je vypne. Každý profil má specificky nastaveno počet zapnutých bloků jádra, napětí a frekvenci čipu a pamětí. Režimy snižující spotřebu karty: • • •
Idle/2D (25W) – v tomto módu se vypne 90 procent celého GPU. Rozhraní Vista Aero bude stále fungovat. Blu-Ray DVD playback (35W) – mód pro přehrávání HD filmů, oproti předchozímu módu se zapnou další bloky SP jednotek a zvýší se takt jádra a pamětí. Full 3D Performance (236W) – maximální možné zatížení GPU, aktivují se všechny bloky SP jednotek a takt čipu a pamětí se nastaví na jeho maximální frekvenci.
91
•
Hybrid Power (0W) – mód při, kterém se grafická karta zcela vypne a vykreslování se převede na integrovanou kartu.
Obrázek O.77: Power Management zdroj: http://www.nvidia.com
Lumenex engine – vylepšení obrazu, které umožňuje přesné zobrazení objektů. Vyhlazování až 16x. 128-bitové HDR osvětlení, které slibuje dvojnásobně kvalitnější světelné efekty.
Parametry vybraných čipů, které reprezentují řadu GeForce 200 GeForce GTX 295 GTX 285 GTX 275 GTX 260 GTS 250 GT 240 Čip GT200b 2x GT200b GT200b GT200b G92+ GT215 Takt jádra [Mhz] 576 648 633 576 738 550 Takt shaderů [MHz] 1242 1476 1404 1350 1836 1360 Takt pamětí [Mhz] 1998 2484 2268 1998 2200 3400 Typ pamětí GDDR3 GDDR3 GDDR3 GDDR3 GDDR3 GDDR5 Velikost paměti [MB] 1792 1024/2048 896/1792 896/1792 512-2048 512/1024 Šířka sběrnice [bit] 448 512 448 448 256 128 Shader Processors 480 240 240 216 128 96 TMU jednotky 160 80 80 72 64 32 ROP jednotky 56 32 28 28 16 8
210 GT218 589 1402 1000 DDR2 512 64 16 8 4
Tabulka T.17: Parametry vybraných čipů, které reprezentují řadu GeForce 200 Frekvence pamětí je v efektivní hodnotě
92
3.3.1.6 GeForce 400
Obrázek O.78: Dělení řady GeForce 400 na třídy a jednotlivé karty
Charakteristika řady GeForce 400 • • • • • • • • •
DirectX 11.0 Shader model 5.0 CUDA Cores Cache Vlákna a dispatch jednotky Unifikované 64bitové adresování paměti Raster Engine PolyMorph Engine CSAA
Architektura, technologie a jejich inovace Tato řada vyšla poměrně nedávno a prozatím jsou vydány pouze dvě karty. Fermi, jak se označuje nová architektura je opět skalární architektura. NVIDIA využívá většího počtu samostatných jader (Stream procesory a nyní CUDA Cores), která jsou výhodnější pro zpracovávání jednovláknových aplikací.
93
Obrázek O.79: Schéma čipu Fermi zdroj: http://www.nvidia.com
CUDA Cores – (výpočetní jádra) byly upraveny tak, aby splňovaly standard IEEE pro aritmetiku s plovoucí desetinnou čárkou (IEEE-754 2008) a 32 bitové celočíselné operace. Dříve musely být tyto výpočty emulovány, neboť hardware podporoval jen 24bitové celočíselné operace. Další novinkou je Fused Multiply Add, jedná se o lepší přesnost výpočtů, protože již nedochází k zaokrouhlování a snižuje se tak počet přístupů do paměti.
Cache – jádro Fermi obsahuje pro každý blok 64kB sdílené paměti. Navíc lze tuto kapacitu rozdělit v poměru 16kB pro L1 cache a 48 kB jako sdílenou paměť nebo naopak 48kB pro L1 cache a 16kB pro sdílenou paměť. Důvod tohoto rozdělování tkví v tom, že pokud Fermi zpracovává grafiku ve hrách je zbytečné mít velkou L1 cache. Naopak pro akceleraci klasických aplikací je výhodnější mít větší L1 cache.
Vlákna a dispatch jednotky - v čipech Nvidia jsou vlákna rozdělována do tzv. WARPů, které reprezentují 32 vláken. Ve starších čipech trvalo zpracování WARPu dva cykly. Nyní již Fermi zpracuje celý WARP během jediného cyklu. V minulých architekturách bylo zpracovávání vláken neefektivní, protože pokud bylo vlákno odesláno do jednotky Speciál Function Unit (SFU), tak ostatní procesory musely čekat, dokud nebudou zpracované veškeré vlákna jednoho WARPu. Architektura Fermi má v rámci jednoho SM bloku (32 procesorů) dvě dispatch jednotky (řízení zpracování vláken), kde každá z nich zpracovává polovinu WARPu (16 vláken). Samotný blok SM procesorů může zpracovávat rozdílný počet operací, který závisí na tom, jakého jsou samotné výpočty typu (FP64, FP32, INT 32 atd.).
94
Obrázek O.80: Schéma WARPu čipu Fermi zdroj: http://www.nvidia.com
Unifikované 64bitové adresování paměti – architektura Fermi podporuje 64bitové adresování. Samotné jádro je schopné adresovat pouze 40 bitů což odpovídá 1 TB paměti. Takto velkou paměť dnes není možné využít, ale NVIDIA se toto adresování chystá použít pro své servery tesla, kde hodlá využívat kapacitu vetší jak 16 GB paměti.
Raster Engine – náhrada za dřívější jednotky ROP. Každý Raster Engine zvládá zpracovávat 8 pixelů za takt, což odpovídá 32 zpracovaným pixelům v rámci celého jádra. Předchozí jednotky ROP obsahovaly pouze jeden pasterizační oddíl, nové jádro obsahuje 4.
PolyMorph Engine – je obsažen v každém ze 16 SM a stará se o geometrii scény. Hardwarový teslátor, není obsažen v jádře, ale jeho funkčnost je součástí této jednotky, která mimo jiné obsahuje i Vertex Fetch, Viewport Transform, Stream Output, Atribute Setup. Teslátor je novinkou DirectX 11.0 a vytváří komplexnější geometrii na základě původního modelu s jednodušší geometrii). Nové jádro může použít spolu s teslací i displacement mapping k vytvoření komplexního modelu. Ke koordinaci PolyMorph Enginu slouží samostatný kanál, kde spolu mohou jednotlivé jednotky komunikovat.
95
Obrázek O.81: Schéma PolyMorph Enginu zdroj: http://www.nvidia.com
CSAA – je známá už od vydání jádra G80. Metoda je založena na určování, jak velkou část polygonu pokrývají pixely. Kvalita CSAA není o mnoho lepší než MSAA, ale vyžaduje mnohem méně výkonu a paměti, testováním polygonu se získají i uloží data a pro ROP a už není nutné uchovávat data o barvě a hloubce. Oproti minulé generaci, kde bylo možné testovat pouze hrany polygonu, nebylo možné vyhlazovat textury transparentní (tráva, listy stromu, pletivo plotu). U MSAA je problém, že tato metoda nedokáže vyhladit vnitřní část těchto ploch. U GF100 s CSAA to již nebude hrozit a listy a větvě budou na první pohled lépe vyhlazené. Dříve se o vyhlazování transparentních textur staral TMAA (Transparency MultiSample Anti Aliasing), který je využíván u her programovaných pod DirectX 9.0. S metodou CSAA není možné vyhlazovat hry programované na tomto DirectX.
Parametry vybraných čipů, které reprezentují řadu GeForce 400 GeForce Čip Takt jádra [Mhz] Takt shaderů [MHz] Takt pamětí [Mhz] Typ pamětí Velikost paměti [MB] Šířka sběrnice [bit] Shader Processors TMU jednotky ROP jednotky
GTX 480 GF 100 700 1401 3696 GDDR5 1536 384 480 60 48
GTX 470 GF 100 607 1215 3348 GDDR5 1280 320 448 56 40
Tabulka T.18: Parametry vybraných čipů, které reprezentují řadu GeForce 400 Frekvence pamětí je v efektivní hodnotě
96
3.4 Srovnání řad jednotlivých výrobců V následujícím textu jsou chronologicky seřazeny jednotlivé řady moderních grafických karet obou výrobců, kterými jsem se podrobněji zabýval v předchozích kapitolách Zde zdůrazňuji především změny vůči předchozím řadám a uvedeny jsou i novinky z oblasti architektury a technologie, které konkrétní řada přinesla.Tabulka demonstruje parametry jednotlivých řad u příslušného výrobce, které jsou reprezentovány nejvýkonnější grafickou kartou z řady a jejích porovnáním můžeme sledovat, jak se s každou novou řadou mění uvedené parametry.
3.4.1 Srovnání řad grafických karet výrobce AMD(ATI) Řada Reprezentant Čip DirectX Takt jádra [MHz] Takt shaderů [MHz] Takt pamětí [MHz] Typ pamětí Velikost paměti [MB] Šířka sběrnice [bit] Pixel pipeline Vertex pipeline Shader Processors TMU jednotky ROP jednotky
X000 X850 XT R480 9.0 520 1080 GDDR3 256 256 16 6 16 16
X1000 X1950 XT R580 9.0c 625 1800 GDDR3 256/512 256 48 8 16 16
HD 2000 2900 XT R600 10.0 742 742 1650 GDDR3 512/1024 512 320 16 16
HD 3000 3870 X2 RV670 2x 10.1 825 825 1800 GDDR3 512/1024 256 640 32 32
HD 4000 4870 X2 RV770 2x 10.1 750 750 3600 GDDR5 2048 256 1600 80 32
HD 5000 5970 RV870 2x 11.0 725 725 4000 GDDR5 2048 256 3200 160 64
Tabulka T.19: Srovnání řad grafických karet výrobce AMD(ATI) Frekvence pamětí je v efektivní hodnotě
Řada Radeon X000 Hlavní rozdíl oproti předešlým čipům, je ve zvýšení počtu výpočetních jednotek (tzv. paralelismus), v úpravách paměťového řadiče, FSAA a použité nové technologie 3Dc.
• • • •
DirectX 9.0 Shader model 2.0 Pixel pipeline – jádro R420 se skládá ze 16 Pixel pipeline, které jsou rozděleny do čtveřic. Pixel shader – jádro R420 obsahuje dvojici výpočetních jednotek v každé pipeline. Dohromady má 32 ALU jednotek a 16 texturovacích jednotek. Dále obsahuje 2 vektorové a 2 skalární jednotky a jednu texturovací ALU. Také byl rozšířen počet maximálně možných instrukcí v jednom Pixel shaderu (původně 160 nyní 512) pro každou ALU (vektorovou, skalární, texturovací).
97
• •
• • •
Paměťový řadič – je prakticky totožný s řadičem používaným v předchozí řadě. Řadič je přizpůsoben pro spolupráci s pamětmi GDDR3. HyperZ HD – nástupce Hyper III. Obsahuje Z-buffer, Z/Stencil cache, Early Z Test, Z Compression and Fast Clear. Early Z Test se stará o vymazání bloků pixelů, které nebudou zahrnuty ve vykreslované scéně. Z-buffer dokáže pojmout až 4 Mpixely dat, díky tomu může bez problémů pracovat ve vysokém rozlišení (až 1920x1080). SmoothVision HD – jedná se o engine, který zajišťuje FSAA. Kromě klasických nastavení přináší novou technologii Temporal AA. Temporal AA - pracuje způsobem prokládání a nabízí vyšší kvalitu obrazu se stejným výkonem. VideoShader HD - hardwarová akcelerace enkódování a dekódování MPEG1/2/4, podpora DXVA, funkce pro odstranění šumu, fullstream pro vyhlazování videa (včetně DivX a WMV9)
Řada Radeon X1000
• • •
•
•
• •
•
• •
DirectX 9.0c Shader model 3.0 Vertex shader - zvýšil se počet Vertex shaderů oproti jádru z předchozí řady z 6-ti na 8. Podporuje dynamické řízení toku (větvení kódů, podmínky) a dokáže zpracovávat až 1024 instrukcí. Setup engine - má na starosti hlavně převedení vrcholů na konkrétní trojúhelníky, dříve byl zodpovědný za rozdělování trojúhelníku do dlaždice, které byly posílány do jednotlivých bloků, nyní je tato úloha převedena na Ultra Threading Dispatch Processor. Pixel shader – nyní jsou pipeliny rozděleny na jednotlivé části do Pixel shaderu a do texturovací části. Podporuje také techniku zvanou reder-to-vertex buffer. Tato technika umožňuje jednotkám vyrenderovat scénu do textury tak, že ji poté zpracuje Vertex shader. Ultra-Threading Dispatch Processor – processor rozděluje zpracované pixely do tzv. threadů. Paměťový řadič – jde o velkou změnu v novém jádru. Dovoluje pamětem používat vyšší frekvence. Základem interní sběrnice je dvojice 256-bitových okruhů, každý směruje opačným směrem. Výhody jsou hlavně v náročném nastavení (při kterém protéká čipem nejvíce dat tzn. vysoké rozlišení, zapnuté FSAA a anti-aliasing). AVIVO – nová technologie, která vylepšuje kvalitu dekódovaného videa pomocí hardwarových filtrů a navíc ho i urychluje. Podporuje i akceleraci H.264 a VC-1. Tato technologie je náhradou starší technologie VideoShader HD. Podporuje připojení k HDTV. Adapive Anti-Aliasing – pomocí této technologie dokáží grafické karty vyhlazovat textury s průhledností tzv. aplha textury. CrossFire – doznala určitých změn. Nejvýznamnější je tzv. Compositing Engine, což je nastavení, při kterém grafická karta zvládá zobrazení v rozlišení 2048x1536 při 70Hz, kromě toho dokáže komunikovat skrze PCI Express.
98
Řada Radeon HD 2000 Oproti předchozím čipům je znatelně vylepšen Ultra-Threaded Dispatch Processor, který má na starosti rozdělení shaderových výpočtů mezi jednotlivé stream processing units (dřívější shader jednotky), kterých má čip R600 320.
• • • •
•
•
•
•
•
•
DirectX 10.0 Shader model 4.0 HDMI – s podporou audio 5.1 Unifikovaná architektura – tak jako u konkurence i nové Radeony HD 2000 přináší unifikovanou architekturu, umožňuje dekódování HD videa s H.264/VC1 kompresí (tedy Blu-ray/HD DVD). Provádění rozličných GPU výpočtů, s podporou fyzikálních výpočtů. Shader Processor Progression – původní Radeony měli k dispozici 4 vektorové komponenty s výkonem 1 instrukce za takt. Později Radeony zvládaly 2 instrukce za takt. Tato řada nabízí architekturu superskalární, která se skládá z 5 výpočetních jednotek zvládající 5 instrukcí za takt. TMU – bylo vylepšeno 64-bitové HDR bilineárně fitrované texturování, které je nyní prováděno beze ztráty výkonu. Dále bylo vylepšeno stínování pomocí techniky Percentage Closer Filtering. Bikubického filtrování - jde o filtrování, které by mohlo přinést lepší výsledky než anizotropní filtrování. Paměťová sběrnice – doznala velkých změn. Architektura sběrnice je kompletně decentralizovaná tzn. více flexibilní a jednoduše škálovatelná. Změnila svoji topologii na prstencovou (ring-bus), je plnohodnotně 512 bitová a její vnitřní šířka je 1024 bitů. Render Back-End – oproti předchozí řadě se zdvojnásobil počet Multiple Render Target na rovných 8 s podporou MSAA. Efektivnější je nyní zpracovávání Render-totexture. Zajímavostí z oblasti novinek je tvorba vlastních nastavení Anti-aliasing filtrů (Custom Filter AA), zráceně CFAA. Crossfire - nově byl vylepšen AFR detekční algoritmus. Jsou podporována rozlišení až do 2560x1024 a byla implementována budoucí podpora pro zapojení více něž dvou karet. AVIVO HD – přináší hardwarovou akceleraci celého výpočetního procesu u kodeků H.264 a VC1 (akcelerace HD filmů z Blu-ray a HD DVD médií).
Řada Radeon HD 3000 Z hlediska architektury nedošlo k zásadním změnám, nová je např. paměťové sběrnice, která byla snížena na 256-bit a byly provedeny optimalizace na vnitřní Ring-Bus sběrnici zlepšující její efektivitu.
• • •
Fové značení produktů DirectX 10.1 Shader model 4.1
99
•
• • • •
ATI PowerPlay – tato technologie přináší nový profil Light Gaming, který v určitých případech dokáže snížit frekvenci jádra, aby tím dosáhl menší spotřeby a tím i menšího množství tepla vydávaného čipem. CrossFireX – dochází u technologie CrossFire ke změně počtu spolupracujících karet na jednom počítači (více než dvě karty). Cube Map Arrays – nová technika, která zlepšuje globální osvětlování v moderních hrách nebo v profesionální 3D grafice. Podpora WDDM 2.1 PCI Express 2.0
Řada Radeon HD 4000
• • • •
•
•
• • • • •
DirectX 10.1 Shader model 4.1 Shader – skládá se z SIMD jednotek. Čip RV770 je má uspořádané v deseti řadách a každá nese 80 stream procesorů a to dohromady dává 800 stream procesorů v čipu. TMU – oproti předchozím čipům byla vypuštěna filtrace full-speed FP16 a výrobce se vrátil k původní filtraci Int8 (osmibitové textury). Další změnou je vypuštění tzv. Sampling Units, které měly za úkol zpracovávat všechny textury, u kterých nebyla potřeba filtrace (např. displacement mapping). Render Back-Ends – je kombinací Render Back-End jáder předchozí řady a ROP jednotek předminulé řady. Oproti předchozím čipům, byl zdvojnásobený výkon při generování MSAA vzorků. Byl výrazně zvýšen výkon při použití FSAA a to díky nové implementaci paměťové řadiče. Paměťový řadič (Crossbar) – už se nejedná o ring-bus sběrnici, ale o distribuované řešení, které se zakládá na podobných základech jako ring-bus (centrální řízení programovatelností). Všechny části jádra jsou spojeny s novým „memory hubem“, který řídí všechny operace s pamětí. CrossFire Side-port – jde o novinku v řadiči paměti, která bude sloužit pro lepší spojení čipu na duálním Radeonu HD 4870 X2. TeraScale Graphic Engine – název grafického jádra, které umožňuje pro počítání herní scény počítat zároveň s reálnou fyzikou a podobně. ATI PowerPlay – nyní je vše řízeno hardwarově kontrolerem, který je implementovaný na samotné kartě, ovladače budou mít nyní na funkci minimální vliv. UVD 2 – nový dekodér videa, který podporuje HD videa. Aplikuje na videa efekty pro vylepšení obrazu a přepočítává klasická DVD do vyššího rozlišení. HDMI - s podporou 7.1 audio
Řada Radeon HD 5000 V novém nejvýkonnějším jádře této řady se nachází dvojnásobný počet SIMD bloků vůči nejvýkonnějšímu jádru předchozí řady RV770.
100
• • • •
•
• •
•
DirectX 11.0 Shader model 5.0 Řídící jednotka čipu – byla nově přepracována a nabízí dvojitý rasterizer a novou teslační jednotku, která je plně kompatibilní s DirectX 11.0. Render Back-Ends a TMU – opět byl zvýšen jejich počet. Oproti předešlým RBE jednotkám umí tzv. fast color clear. Tato funkce umožňuje rychlejší běh v určitých typech her. TMU – na rozdíl od RV770 umí nejenom číst komprimované AA barevné buffery, ale již se neprovádějí interpolace, které se nyní přebírají Stream procesory (specifikace DirectX), které jsou schopny tyto operace provádět daleko rychleji než TMU jednotky. Paměťový subsystém – na „osvědčeném“ modelu se nic neměnilo, stále se jedná o 256-bitovou sběrnici. Některé karty nově využívají paměti GDDR5. SAD – funkce, která počítá součet absolutních diferencí, který je důležitý pro enkódování videa nebo při odhadování pohybu ve scéně. Předešlý čip RV770 potřeboval nejméně 12 funkcí, aby dosáhl stejného výkonu jako RV870. Eyefinity – možnost připojení až tří LCD panelů k počítači, u karty Radeon HD 5870 dokonce až 6 LCD.
3.4.2 Srovnání řad grafických karet výrobce FVIDIA Řada GeForce 6 GeForce 7 GeForce 8 GeForce 9 GeForce 200 GeForce 400 Reprezentant 6800 Ultra 7900 GX2 8800 Ultra 9800 GX2 GTX 295 GTX 480 Čip NV45 G71 2x G80 G92 2x GT200b 2x GF 100 DirectX 9.0c 9.0c 10.0 10.0 10.0 11.0 Takt jádra [MHz] 400 500 612 600 576 700 Takt shaderů [MHz] 1500 1500 1242 1401 Takt pamětí [MHz] 1100 1200 2160 2000 1998 3696 Typ pamětí GDDR3 GDDR3 GDDR3 GDDR3 GDDR3 GDDR5 Velikost paměti [MB] 256/512 1024 768 1024 1792 1536 Šířka sběrnice [bit] 256 256 384 256 448 384 Pixel pipeline 16 48 Vertex pipeline 6 16 Shader Processors 128 256 480 480 TMU jednotky 16 48 32 128 160 60 ROP jednotky 16 32 24 32 56 48 Tabulka T.20: Srovnání řad grafických karet výrobce NVIDIA Frekvence pamětí je v efektivní hodnotě
Řada GeForce 6
• • •
DirectX 9.0c Shader model 3.0 Cull/Clip/Setup – tato nová část jádra se stará o ořezávání vrcholů, které leží mimo viditelnou scénu (cliping), popř. se nenachází na viditelné straně objektu (backface culling).
101
•
• • • •
• •
•
Fragment Crossbar – křížový řadič, který rozděluje vypočítané pixely do ROP jednotek a slouží také ke komunikace s pamětí. Je složen ze čtyř 64-bitových komponent tzn. dohromady 256 bitový přístup (šířka sběrnice). Vertex pipeline – pracuje na architektuře MIMD a může tak provádět nezávisle různé instrukce u obou jednotek (vektorová a skalární). Pixel pipeline – nedoznala ve srovnání s předchozí řadou podstatných změn, došlo pouze k výpočetním optimalizacím. TMU – od svého předchůdce se liší pouze v rychlosti. Pracuje se čtyřmi vzorky a maximální hodnota filtrování je 16x (anizotropní filtrování). Shader jednotky – oba shadery jsou vektorové a pracují s texturami ve formátu RGBA (Red, Green, Blue, Sloha - průhlednost). Oba shadery mohou pracovat odděleně nebo společně a to v případě, je-li první shader použit pro vzorkování textury tak druhý může pracovat s pixely. ROP – liší se pouze v Pixel X-Bar Interconnect jednotce, která nahrazuje jednotku Pixel Crossbar Interconnect. HDR – jde o velký rozsah zobrazovaných barev a rozsah jasu. Dále se používají efekty jako bloom, motion blur nebo depth of field (rozmazávání oblasti, na které není zaostřeno). UltraShadow II - technologie urychlující počítání stínů, přináší nárůst výkonnosti v komplexních scénách, kde je hodně světelných zdrojů a hodně objektů.
Řada GeForce 8
• • •
• •
• •
•
DirectX 10.0 Shader model 4.0 Stream Processors (SP) – čip G80 jich obsahuje celkem 128 a jsou uspořádány v osmi skupinách po šestnácti. Každý SP je jednoduchý unifikovaný skalární 1D procesor (pracuje pouze s jednou složkou Vertex, Pixel, Geometry), na rozdíl od předchozích čipů. Procesory zpracovávají jak skalární, tak i vektorové operace. Sklární operace jsou zpracovávány v jednom taktu zatím co vektorové operace jsou zpracovávány ve více taktech. TMU – přináší bezeztrátovou bilineární filtraci nebo anizotropní filtraci 2x taktéž bez ztráty výkonu. ROP – čip G80 obsahuje 6 bloků ROP jednotek. Podporují F16 a F32 blending zároveň s FSAA. Vylepšena byla barevná i Z-komprese při použití FSAA. Přibyl režim CSAA. Režim nabízí vyšší počet AA vzorků – 8x a 16x. Early Z – vylepšená technologie, starající se o detekování pixelů, které ve výsledné scéně nebudou vidět. Multimediální schopnosti – karty GeForce 8600, 8500 a 8400 obsahují nové jednotky zajišťující přehrávání videa v rozlišení HD s plnou akceleraci videokodeku H.264 pomocí technologie PureVideo. HDCP – GeForce 8600 GTS je první karta, která má plnou podporu této funkce. Zajišťuje uživatelům funkci dual-link (funkce pro spojení dvou výstupů DVI-I pro jeden monitor).
102
Řada GeForce 9 Byl vylepšený load balancing (rozložení zátěže mezi více jednotek).
• • • • •
•
•
•
DirectX 10.0 Shader model 4.0 TMU – zvýšil se jejich počet. ROP – změna nastala u Color/Z komprese. Při vyšším rozlišení dokáží lépe spolupracovat s video pamětí. PureVideo – došlo k úpravám v dynamickém kontrastu a dynamické úpravě červené složky signálu v RGB formátu. Další novinkou je urychlování HD videa při spuštěném 3D prostředí Aero v operačním systému Windows Vista. Hybrid Power – umožňuje vypnout grafickou kartu či více karet zapojených v režimu SLI ve 2D a přenechá vykreslování obrazu integrované kartě. HybridPower podporují následující čipsety (GeForce 8200 mGPU, nForce 780a, nForce 750a a nForce 730a). GeForce Boost – technologie umožňující zapojit integrovanou kartu do vykreslování scén a pomoci tak především slabším kartám. Tuto technologie podporují jen některé karty (8500 GT a 8400 GS). Display Port
Řada GeForce 200 Mezi nejzajímavější schopnosti nového čipu patří možnost vypnout některé jednotky v 2D prostředí a docílit tím snížení spotřeby karty i produkci tepla. Novinkou je 10bitový barevný výstup.
• • • •
•
•
DirectX 10.0 Shader model 4.0 Thread scheduler - se strará o plánování úloh, které jsou následně zpracovávány. Díky této jednotce je zaručeno neustálé 100% vytížení jádra. TP cluster – v jádře se nachází 10 Thread Processing clusterů. Každý z těchto clusterů je sestaven z 3 streaming multiprocessors (SM), 8 texturovacích jednotek (TMU) složených z 8 filtrovacích jednotek (TFU), 8 adresovacích jednotek (TAU) a paměti L1 cache. V jednom SM bloku jsou uspořádány jednotlivé ALU jednotky, které se označují jako Stream procesory. ROP – vylepšení doznaly jednotky Early-Z, který jsou nyní výkonnější díky většímu počtu ZROP jednotek a byla vylepšena komprese Z/stencil. Výkon ZROP jednotek je nyní 32 pixelů za takt nebo 256 samplů za takt. Dvojnásobně byl také zvýšen výkon blender jednotek v ROP. PhysX – NVIDIA implementuje do svých ovladačů sadu instrukcí, které jsou naprogramovány v jazyku CUDA, který je odvozen z jazyka C#. Pomocí těchto
103
•
•
ovladačů umožňují karty z řady GTX 200 vypočítávat efekty, které se řídí zákony fyziky. Power Management – jedná se o implementaci čtyř profilů spotřeby do ovladačů grafických karet. Každý profil má specificky nastaveno počet zapnutých bloků jádra, napětí a frekvenci čipu a pamětí. Lumenex engine – vylepšení obrazu, které umožňuje přesné zobrazení objektů. Vyhlazování až 16x. 128-bitové HDR osvětlení, které slibuje dvojnásobně kvalitnější světelné efekty.
Řada GeForce 400
• • •
•
•
•
•
•
•
DirectX 11.0 Shader model 5.0 CUDA Cores – (výpočetní jádra) byly upraveny tak, aby splňovaly standard IEEE pro aritmetiku s plovoucí desetinnou čárkou (IEEE-754 2008) a 32 bitové celočíselné operace. Dříve jen 24bitové celočíselné operace. Další novinkou je Fused Multiply Add jedná se o lepší přesnost výpočtů. Cache – jádro Fermi obsahuje pro každý blok 64kB sdílené paměti. Navíc lze tuto kapacitu rozdělit v poměru 16kB pro L1 cache a 48 kB jako sdílenou paměť nebo naopak 48kB pro L1 cache a 16kB pro sdílenou paměť. Vlákna a dispatch jednotky - v čipech Nvidia jsou vlákna rozdělována do tzv. WARPů, které reprezentují 32 vláken. Ve starších čipech trvalo zpracování WARPu dva cykly. Nyní již Fermi zpracuje celý WARP během jediného cyklu. Unifikované 64bitové adresování paměti – architektura Fermi podporuje 64bitové adresování. Samotné jádro je schopné adresovat pouze 40 bitů což odpovídá 1 TB paměti. Raster Engine – náhrada za dřívější jednotky ROP. Každý Raster Engine zvládá zpracovávat 8 pixelů za takt, což odpovídá 32 zpracovaným pixelům v rámci celého jádra. Předchozí jednotky ROP obsahovaly pouze jeden pasterizační oddíl, nové jádro obsahuje 4. PolyMorph Engine – je obsažen v každém ze 16 SM a stará se o geometrii scény. Hardwarový teslátor, není obsažen v jádře, ale jeho funkčnost je součástí této jednotky. Nové jádro může použít spolu s teslací i displacement mapping k vytvoření komplexního modelu. CSAA – metoda je založena na určování, jak velkou část polygonu pokrývají pixely. Kvalita CSAA není o mnoho lepší než MSAA, ale vyžaduje mnohem méně výkonu a paměti.
104
3.4.3 Vzájemné srovnání řad grafických karet AMD(ATI) a FVIDIA V následujících dvou tabulkách jsou vůči sobě vždy postaveny dvě řady, kde každá reprezentuje jednoho výrobce a je zde zobrazena konfrontace parametrů jednotlivých řad, které byly vydány na trh přibližně ve stejné době.
Řada Reprezentant Čip DirectX Takt jádra [MHz] Takt shaderů [MHz] Takt pamětí [MHz] Typ pamětí Velikost paměti [MB] Šířka sběrnice [bit] Pixel pipeline Vertex pipeline Shader Processors TMU jednotky ROP jednotky
X000 X850 XT R480 9.0 520 1080 GDDR3 256 256 16 6 16 16
GeForce 6 6800 Ultra NV45 9.0c 400 1100 GDDR3 256/512 256 16 6 16 16
X1000 X1950 XT R580 9.0c 625 1800 GDDR3 256/512 256 48 8 16 16
GeForce 7 7900 GX2 G71 2x 9.0c 500 1200 GDDR3 1024 256 48 16 48 32
HD 2000 2900 XT R600 10.0 742 742 1650 GDDR3 512/1024 512 320 16 16
GeForce 8 8800 Ultra G80 10.0 612 1500 2160 GDDR3 768 384 128 32 24
Tabulka T.21: Vzájemné srovnání řad grafických karet AMD(ATI) a NVIDIA Frekvence pamětí je v efektivní hodnotě
HD 3000 Řada Reprezentant 3870 X2 Čip RV670 2x DirectX 10.1 Takt jádra [MHz] 825 Takt shaderů [MHz] 825 Takt pamětí [MHz] 1800 Typ pamětí GDDR3 Velikost paměti [MB] 512/1024 Šířka sběrnice [bit] 256 Pixel pipeline Vertex pipeline Shader Processors 640 TMU jednotky 32 ROP jednotky 32
GeForce 9 9800 GX2 G92 2x 10.0 600 1500 2000 GDDR3 1024 256 256 128 32
HD 4000 4870 X2 RV770 2x 10.1 750 750 3600 GDDR5 2048 256 1600 80 32
GeForce 200 GTX 295 GT200b 2x 10.0 576 1242 1998 GDDR3 1792 448 480 160 56
HD 5000 5970 RV870 2x 11.0 725 725 4000 GDDR5 2048 256 3200 160 64
GeForce 400 GTX 480 GF 100 11.0 700 1401 3696 GDDR5 1536 384 480 60 48
Tabulka T.22: Vzájemné srovnání řad grafických karet AMD(ATI) a NVIDIA Frekvence pamětí je v efektivní hodnotě
105
3.5 Budoucí trendy vývoje grafických karet Vzhledem k dosavadnímu vývoji grafických karet se dá i nadále očekávat, že i další generace přinesou některé změny architektury, nové technologie, snížení energetické náročnosti, apod. Hlavní změnou bude s největší pravděpodobností nárůst počtu GPU implementovaných na kartě, což povede k masivnímu nárůstu výkonu. S tímto vysokým výkonem bude možné použít metodu renderování Ray tracing, kterou dosud nebylo možné používat v reálných scénách. Vylepšení se dočká i počítání fyziky, enkódování videa a filtrace, které jsou vysoce náročné na výpočet. Dočkáme se tak realistického obrazu s vysokým rozlišením a opravdovými fyzikálními efekty.
Ray tracing – jde o metodu renderování obdobnou jako je ray casting nebo rasterizace. Metoda je založena na principu,který se blíží způsobu vnímání obrazu lidským okem. Je známa již z dřívější doby, ale její požadavky na výkon jí znemožnili použití v reálném čase. Bylo totiž nutné čekat než se výsledný obraz zpracoval. Výsledné scény vypadají velmi realisticky. Ray tracing je založen na principu fyzikálně korektního obrazu založeného na paprscích vycházejících ze zdroje (kamera), kde je sledována dráha paprsku a jeho interakce s objekty, které mají v této virtuální scéně figurovat. Každý paprsek je vždy otestován na vznik průniku s předmětem v dané scéně a v bodě tohoto průniku je určena úroveň osvětlení a vlastnosti objektu respektive bodu (fyzikální vlastnosti, které ovlivňují do značné míry reflexe, refrakce a další efekty) a poté konečně jeho výsledná barva. Pokud je daný objekt (potažmo pixel) odrazivý nebo průsvitný, je k dosažení požadované efektu často třeba kombinovat data několika takovýchto paprsků. (ŠTEFEK, Petr. Svět hardware [online]. c2008, [cit. 18.5.2010].
.)
Obrázek O.82: Princip Ray tracingu zdroj: http://www.svethardware.cz
106
Na následujícím obrázku vidíme rozdíl při použití klasické rasterizace a metody Ray tracing.
Obrázek O.83: Rasterizace versus Ray tracingu zdroj: http://www.cs.utah.edu
Jakých dalších konkrétních změn se v budoucnu dočkáme, se můžeme nyní jen dohadovat, protože oba stěžejní výrobci svůj vývoj úzkostlivě tají a navenek unikají pouze útržkovité nepodložené informace.
107
4.0 Závěr Výpočetní technika zaznamenala v posledních letech nebývalý rozvoj. Proniká téměř do všech odvětví lidské činnosti. To samozřejmě přináší nutnost reagovat na požadavky uživatelů v různých oborech využívajících IT technologie. Výrobci hardwaru nezůstávají se svými inovacemi pozadu. Dokladem toho jsou i moderní grafické karty, jejichž architektura a technologie se neustále zdokonalují. O těchto komponentách počítače není jednoduché sehnat podrobné informace. Samostatnou publikaci na toto téma jsem na našem trhu neobjevil, kusé informace se objevují v různých odborných časopisech nebo v technické literatuře zabývající se obecně hardwarem. Zdrojem informací je samozřejmě také internet, zejména webové stránky výrobců čipů a servery zabývající se hardwarovou problematikou. Snažil jsem se posbírat jednotlivé částečné informace z výše uvedených zdrojů,ke kterým jsem přidal vlastní zkušenosti a zpracoval je do uceleného textu, který by zároveň splňoval zadání bakalářké práce. Jsem si vědom, že v kapitole o budoucích trendech chybí konkrétní údaje o budoucí podobě grafických karet. Tyto informace se velice těžce shánějí, četl jsem rozhvor s panem Billem Dallym, vedoucím vývoje firmy NVIDIA a vědeckým pracovníkem ze Stanfordské univerzity, také jsem shlédl prezentaci firmy NVIDIA, ale konkrétní informace jsem nikde nezaznamenal. Pouze náznaky možného řešení, které nejsou potvrzené z důvěryhodných zdrojů. V práci také nejsou popsány speciální grafické karty NVIDIA Quadro FX, ATI FirePro a ATI FireGL, které nejsou používány k hraní počítačových her, ale k profesionální práci s grafikou. Při psaní mé bakalářké práce jsem se seznámil s mnoha odbornými články, publikacemi a musím přiznat, že jsem si rozšířil podvědomí o této problematice. Snažil jsem se uspořádat text i obrázky tak, aby i případný laik, kterému by se práce dostala do ruky, si odnesl srozumitelné informace. Doufám, že se mi to i přes velké množství odborných termínů alespoň částečně podařilo.
108
5.0 Slovíček technických pojmů Aliasing – objevuje se při digitalizaci analogových signálů a nastává, je-li frekvence snímání digitálního signálu příliš malá, což se projevuje špatným vykreslováním trojrozměrných obrázků. Anizotropické filtrování – zajišťuje, aby se i vzdálenější textury zdály ostré a to snížením jejich rozlišením. Díky tomu vzdálené textury nevyžadují tolik výpočetního výkonu jádra. Anti-aliasing – vyhlazuje ostré a schodovité hrany, které vznikají převodem souřadnic a vektorů na pixely. ALU jednotka (Arithmetical-Logic Unit) – aritmeticko-logická jednotka. Je to jedna ze základních částí mikroprocesoru. Provádějí se zde veškeré aritmetické a logické výpočty. API (Application programming inerface) - rozhraní pro programování aplikací. Jsou to procedury, funkce, knihovny, … které programátoři využívají při tvorbě program. Pojmy OpenGL a DirectX jsou vlastně standardizovaná grafická API, které se využívají při tvorbě grafických programů a her. Bilineární a trilineární filrování – jedná se o funkce pro filtrování (Anti-aliasing) sloužící pro vytvoření jemných přechodů uvnitř textur (odstranění kostičkování). Rozdíl mezi bilineárním a trilineárním filtrování spočívá v tom, že u bilineárního filtování jsou po přiblížená objektu vidět pixely, z nichž se objekt skládá, naproti tomu u trilineárního filtrování jsou použity méně odstupňované textury získané interpolací. Bitmapa – jde o graficky bitově mapovaný soubor. Jedná se o zaznamenání obrazu v elektronické podobě. V tomto souboru jsou uloženy informace o jednotlivých bodech (pixelech) včetně její barvy a polohy. Blu-ray – záznamové médium, které společně s HD DVD nahrazují běžné DVD média. Zapisuje pomocí modrého laseru s vlnovou délkou 405 nm. Kapacita jednovrstvého disku je 25 GB, dvouvrstvého 50 GB, čtyřvrstvého 100 GB a na oboustranný dvouvrstvý disk lze zapsat až 200 GB. Buffer – vyrovnávací paměť ( zásobník), který slouží k dočasnému uchování dat před jejich přesunem na jiné místo. Bump mapping – je technika texturování, která vytváří iluzi nerovnosti povrchu beze změny jeho geometrie. Tato technika se může dále kombinovat s jinými technikami a tím např. docílí odrazovost. CSAA (Coverage Sample Anti-Aliasing) - metoda vyhlazování transparentních hran. Oproti metodě MSAA má vyšší požadavky na výkon, ale dokáže vyhlazovat vnitřek transparentních textur. CPU (Central Processing Unit) – jedná se o hlavní výpočetní jednotku počítače. Probíhají zde veškeré matematickologické operace. Procesor čte z operační paměti strojové instrukce a na jejich základě vykonává program.
109
Dekodér – opak enkodéru. Displacement Mapping – jde o rozšířenou funkci bump mapping, při niž se objekt pokrývá texturou tak, aby např. koule ve výsledku působila plastickým dojmem. Direct3D – rozhraní (API), které je součástí DirectX. Nabízí aplikacím rozsáhlou škálu funkcí pro práci s 3D grafikou. Některé verze Direct3D jsou závislé na hardwarové podpoře grafické karty. DirectX – jedná se o balíček pravidelně vydávaný společností Microsoft, obsahující podporu pro 2D/3D grafiku a multimedia. DirectX se skládá z několika částí. Nejdůležitější pro grafiku jsou grafická API DirectDraw a Direct3D. Pro plné využití efektů DirectX je nutná přímá podpora grafické karty. DivX – rozšířený kodek standardu MPEG-4 pro kompresi videozáznamu. DXVA (DirectX Video Acceleration) – akcelerované přehrávání videa. Environment Mapping – zobrazení okolí objektu odrážejícího světlo. FP (Floating Point) – množina reálných čísel, která je v počítači reprezentována konečnou podmnožinou racionálních čísel (soustava čísel s pohyblivou řadovou čárkou). GPU (Graphic Processing Unit) – nebo-li grafický procesor je to specializovaný procesor umístěný na grafické kartě, který provádí výpočty. Enkodér – zařízení, které převádí informace nebo kód z jednoho formátu do druhého. Fragment Anti Aliasing – představuje vylepšenou funkci FSSA, která znovu přepočítává 3D scény, zatímco Fragment Anti Aliasing slouží pouze pro vyhlazování přechodů mnohoúhelníků. Frame – označuje jednotlivý obrázek. Výkon 3D čipu se často udává v počtu právě těchto obrázků, který dokáže grafická karta v daném rozlišení zobrazit za jednu sekundu (fps) FSAA (Full Scream Anti Aliasing) – Anti-aliasing je proveden na celé obrazovce monitoru. Fullstream – technologie vylepšující kvalitu streamovaného videa z internetu. H.264 – náročný video kodek, pracující s formátem MPEG-4 Part 10, který je používán na HD DVD a Blu-ray. Má lepší kvalitu obrazu než VC-1, ale je má vyšší požadavky na výkon. HD (High Definition) - označení pro vysoké rozlišení a vysokou kvalitu, ostrost obrazu. HD DVD – jedná se o nové záznamové médium, které společně s Blue-ray nahrazují běžné DVD média. Pro čtení a zápis se používá modrý laser o vlnové délce 405 nm. Na jednu vrstvu lze zaznamenat až 15 GB, na dvouvrstvá 30 GB, třívrstvé 45 a na oboustranné dvouvrstvé disky až 60 GB dat.
110
HDTV – televize „ve vysokém rozlišení“. HDTV má 3 standardy 720p (720 řádků s progresivním skenováním), 1080i (1080 řádků v prokládaném režimu - interlaced) a 1080p (1080 řádků s progresivním skenováním). HDR (High Dynamic Range) – nasvícení scény, kde se místo klasických světel, simulují reálné světelné zdroje speciální bitmapou HDR. Tato bitmapa obsahuje informace o všech světlech umístěných na scéně. Metoda se používá u scén, kde se nachází lesklé objekty. HW podpora – jedná se o implementaci DirectX do grafické karty, která je poté schopná používat tyto technologie. ISA – starší sběrnice pro PC. Jednalo se o 8 bitovou sběrnici, která byla nahrazena její 16 bitovou verzí. Následně byla překonána sběrnicí PCI. MPEG – označení pro skupinu standardů používaných ke kódování a dekódování obrazového nebo zvukového materiálu za pomoci kompresních algoritmů. MIMD (Multiple Instruction Multiple Data) – počítačová architektura. Počítač, kde každý procesor je řízen samostatným programem a pracující na samostatných datech. MSAA – metoda vyhlazování transparentních hran. Oproti metodě CSAA je rychlejší ale nedokáže vyhlazovat vnitřek transparentních textur. FTSC (National System Committe) – soustava barevné televize. Výhodou tohoto systému je úplná slučitelnost s černobílou televizí. Systém NTSC disponuje zobrazovací frekvencí 29,97 FPS a 525 řádky (reálně využito 486 řádků). Kvalita NTSC, systému je horší než u systému PAL ale nevyžaduje složité dekódovací zařízení. PAL (Phase Alternating Line) – soustava barevné televize. Jedná se o vylepšenou soustavu NTSC, která nabízí 625 řádků (reálně využito 576 řádků) s frekvencí 50 Hz. Video zpracované PAL systémem má vyšší kvalitu než systém NTSC ale vyžaduje složitější dekódovací zařízení. Pixel – jedná se o nejmenší jednotku v digitální grafice. Pixel představuje obrazový bod, který má určenou pozici (souřadnice) a určitou barvu. Celkový počet pixelů nám určuje rozlišení např. 1280x1024 (údaj informující o počtu pixelů - řádek x sloupec). Pixel Pipeline – je cesta, po které putují data na grafické kartě (načtení dat z grafické paměti přes zpracování až po výstup z frame bufferu). Pixel shadery – shader, který se stará o práci s texturami a jednotlivým pixely na celé textuře, na které také aplikuje efekty jako stín, bump mapping, odrazy světla v zrcadle, exploze atd. Plug and Play – dynamické detekce a konfigurace zařízení po startu PC. Polygon – nejjednodušší prostorové těleso ve 3D zobrazení. Je tvořen nejméně 3 vertex (body) a 3 hranami (úsečkami). Rasterizace – proces převádění základních grafických objektů do posloupnosti obrazových bodů.
111
RAM (Random access memory) – jedná se o běžně používaný typ pamětí, v souvislosti s PC. Označují se jako operační paměť. Tyto paměti neuchovávají informace po odpojení napájení. Ray tracing - jde o metodu renderování, jako je ray casting nebo rasterizace. Metoda je založena na principu blízkému vnímání lidského oka. Výsledné scény vypadají velmi realisticky. Renderování (Rendering) – tvorba reálného obrazu na základě počítačového modelu. V závislosti na softwaru rendering obsahuje mnoho parametrů a nastavení, které ovlivňují konečný vzhled scény např. vyplnění a stínování povrchových struktur 3D objektů. ROP jednotky – Render Output Unit nebo také Raster Operations Pipeline. Jsou to výstupní vykreslovací jednotky. Tyto jednotky stojí na konci vykreslovacího (renderovacího) procesu u moderních 3D grafických karet. Provádí operace mezi příslušnými buffery v paměti grafické karty. V jednotce jsou umístěny filtry pro provádění anti-aliasingu a anizotropního filtrování. SDRAM (Synchronized Dynamic Random Access Memory) – pracuje synchronním způsobem přenosu dat. Používaly se dříve jako operační paměť počítače, tak i paměť pro grafické karty. Jsou napájeny napětím 3.3V. Existují i varianty s napětím 5V. Novější verze pamětí se označují DDR. Shader – je plně programovatelná součást grafického čipu, která se společně s ostatními jednotkami stará o zobrazování obrazu. Díky tomu, že jsou plně programovatelná nemusí počítat pouze zobrazovaná data, ale mohou být využity k jiným výpočtům. SIMD (Single Instruction Multiple Data) – počítačová architektura. Počítač používající větší množství stejných procesorů, které jsou řízeny stejným programem. Data zpracovávána jednotlivými procesory jsou různá, ale všechny procesory provádějí současně stejnou instrukci. Jedná se o vektorové počítače. Skalár – označuje veličinu, která je plně určena jediným číselným údajem. T&L (transform and lighting) – technologie, která je využívána moderními grafickými kartami. Tato jednotka přepočítává dvourozměrné souřadnice na trojrozměrné a počítá zdroje světla, čímž odlehčuje procesoru. Teslátor – součást některých grafických karet. Z modelu s nízkým počtem polygonů vytváří model s vyšším počtem polygonů. Pomocí této jednotky se ušetří kapacita sběrnice k čipu, protože, po ní nemusí „putovat“, tak složitý model. Textura – pokrývání 3D objektů obrázky (texturami). TMU jednotky – texturovací jednotky je to komponenta GPU. Tato jednotka je schopná otáčet a libovolně zmenšovat či zvětšovat bitmapu. V této jednotce probíhá mapování textur což je technika při, které se na 3D objekt přidávají detaily jeho povrch. Unifikované shadery – nejsou vlastně nic jiného než univerzální shadery, které se podle potřeby využijí pro jakoukoliv činnost (jak úlohy pro Pixel shadery, tak i pro Vertex shadery).
112
VC-1 – standard firmy Microsoft, který se používá pro kompresi videa na Blu-ray a HD DVD discích. Má menší náročnost než H.264 ale H.264 má lepší kvalitu obrazu. Vektory – označuje veličinu, která je určena více číselnými hodnotami. Vertex shadery – starají se o samotnou kostru obrazu tvořenou z polygonů (trojúhelníků). Vykreslují nerovnosti ve 3D grafice, hojně používané v moderních počítačových hrách. Dají se naprogramovat různé detaily, např. jak budou nerovnosti v objektu osvětlené, jak se budou měnit barvy a podobně. VIVO (video–in a video-out) – označení pro konektor, který obsahuje video vstup a výstup. VLIW (Very-Long Instruction Word) – umožňuje paralelní zpracování na úrovni jedné instrukce. VRAM (Video RAM) – jedná se o paměť nacházející se na grafické kartě. WMV (Windows Media Video) – komprimovaný souborový videoformát. Videa s touto příponou mohou využívat kodeky jako DivX, Xvid, H.264 atd. Původně byl navržen pro internetové streamingové aplikace. Zobrazovací frekvence, Snímkovací frekvence (Refresh Rate) – jedná se o počet rozsvícení všech bodů monitoru za 1 sekundu. Uvádí se v Hz (1 Hz znamená rozsvícení všech bodů na monitoru za 1 sekundu). Horizontální frekvence určuje počet sloupců a vertikální počet řádků za 1 sekundu. Z-buffer – ukládá informace o hloubce objektu a k němu náležícího pixelu a poté se rozhodne, zda je, či není daný pixel skrytý a zda bude nebo nebude zobrazen.
113
6.0 Seznam použitých zdrojů 1. AMD [online]. c2004-2010 [cit. 2010]. Dostupné z: . 2. Belfan [online]. c2004-2010 [cit. 2010]. Dostupné z: . 3. BROŽA, Petr. Přetaktování, jak zvýšit výkon počítače. 2. aktualizované a doplněné, vyd. Brno: Computer Press, 2003. ISBN 80-251-0068-5. 4. CertiGuide [online]. c2004-2010 [cit. 2010]. Dostupné z: . 5. DD world [online]. c2004-2010 [cit. 2010]. Dostupné z: < http://www.ddworld.cz>. 6. Deep in IT [online]. c2004-2010 [cit. 2010]. Dostupné z: < http://www.diit.cz>. 7. DEMBOWSKI, Klaus. Mistrovství v Hardware. vyd. Brno: Computer Press, ISBN 978-80-251-2310-2. 8. Die-Grafikkarte [online]. c2010 [cit.2010]. Dostupné z: . 9. Fuk [online]. c2004-2010 [cit. 2010]. Dostupné z: . 10. GPUReview [online]. c2004-2010 [cit. 2010]. Dostupné z: . 11. CHIP: magazín informačních technologií. Praha: Burda Praha, 2007-2010. Vychází měsíčně. ISSN 1210-0684. 12. .eeyik [online]. c2004-2010 [cit. 2010]. Dostupné z: . 13. .VIDIA [online]. c2004-2010 [cit. 2010]. Dostupné z: . 14. Pc.sk [online]. c2004-2010 [cit. 2010]. Dostupné z: . 15. PELÍKÁN, Jaroslav. Architektura počítačů PC. vyd. Brno: 1998 16. Pctuning [online]. c2004-2010 [cit. 2010]. Dostupné z: . 17. Rage3D [online]. c2004-2010 [cit. 2010]. Dostupné z: . 18. Stingtalk [online]. c2004-2010 [cit. 2010]. Dostupné z: . 19. Svět hardware [online]. c2004-2010 [cit. 2010]. Dostupné z: . 20. The Inquirer [online]. c2004-2010 [cit. 2010]. Dostupné z: . 21. The University of Utah [online]. c2008 [cit. 2010]. Dostupné z: . 22. Wikipedie [online]. c2004-2010 [cit. 2010]. Dostupné z: . 23. Xbit laboratories [online]. c2004-2010 [cit. 2010]. Dostupné z: . 24. Zive computer [online]. c2004-2010 [cit. 2010]. Dostupné z : .
114
A Obsah přiloženého CD Na přiloženém CD se nachází bakalářská práce ve formátu pdf.
115