270 likes | 524 Views
Grafička kartica. Istorija 1. U po četku obrada je rađena u CPU Dodatni CPU koji radi obradu u pokretnom zarezu – FPU Blitter prebacuje sliku iz jednog dela memorije u drugi uz moguću dodatnu obradu
E N D
Istorija1 • U početku obrada je rađena u CPU • Dodatni CPU koji radi obradu u pokretnom zarezu – FPU • Blitter prebacuje sliku iz jednog dela memorije u drugi uz moguću dodatnu obradu • prvi grafički akcelerator – IBM Proffesional Graphic Controller – imao je 8088 procesor, ugrađene 2D/3D primitive • cena $4500 • nekompatibilan sa tadašnjim softverom
Istorija2 • 1991. – S3 – prvi pravi grafički akcelerator “S3 86C911” • tokom 90-ih pojavljuje se mnoštvo akceleratora koji donose ubrzanje u 2D, 3D, Windows • krajem 90-ih pojavljuje se DirectX • početkom 2000-ih pojavljuje se OpenGL • danas: • povećanje brzine i potrošnje (grejanje) • programabilni tokovi obrade – eng. shader • visok paralelizam • GPGPU, OpenCL
Delovi kartice • video (grafički) procesor • memorija • RAMDAC • izlazni interfejs • veza prema matičnoj ploči • hlađenje • napajanje
Oblici • posebne kartice – putem magistrale (PCI, AGP, PCIe) se priključuju na matičnu ploču • “posebne” znači da imaju svoju memoriju • integrisane – GPU se nalazi na matičnoj ploči • koriste radnu memoriju, ali je ta komunikacija sporija nego kod posebnih kartica • hibridno rešenje – kartica sa GPU, koristi se radna memorija • troši (ograničenu) radnu memoriju • hibridno je po ceni i performansama u sredini
Arhitektura kartice izlaz
Video procesor • prilagođen za operacije u pokretnom zarezu • u početku radio primitivna iscrtavanja • Windows akcelerator • 3D akceleracija (Voodoo na dodatnoj kartici, sada je sve ugrađeno u GPU) • DirectX/OpenGL – primitive za 3D iscrtavanja, senčenje i sl. • parametri: frekvencija rada i broj shader-a
Procesor opšte namene • GPGPU • GPU koji može da pomaže u radu CPU • pojačana aritmetika u okviru velikog broja programabilnih jedinica • ranije su se pravili da rade samo konkretan posao • mogu da obavljaju obradu niza podataka (vektora) u paraleli, zahvaljujući velikom broju aritmetičkih jedinica u sebi • brojne primene – statistička fizika, obrada slike, obrada zvuka, renderovanje, neuronske mreže, medical imaging, computer vision, DSP, FFT, naučna izračunavanja
Pipeline • 3D obrada slike • tipičan tok informacija: • CPU šalje podatke o geometriji u GPU • vertex shader vrši proračune teksture, položaja i sl. kontura objekta (ćoškovi, ivice,...) • geometrijski shader kombinuje konture u geometriju scene (definiše zapreminu objekata) • rezultat se razbija na trouglove • pixel shader ubacuje efekte pojedinačnim pikselima i proverava skrivenost • paralelno izvršavanje • shader predstavlja tok kroz koji prolaze podaci i mogu da se kombinuju
Dodatniefekti • Anti-aliasing (AA): tehnika da se napravi privid glatkih linija • High dynamic range rendering (HDR): tehnika za dobijanje realnijeg osvetljenja • Texture mapping: dodavanje detalja na površine • Motion blur: zamućenje objekata da se dobije iluzija kretanja • Depth of field: zamućenje udaljenih objekata za dubinu slike • Lens flare: imitacija izvora svetla • Fresnel effect: odblesci svetla na površini • Anisotropic filtering: poboljšanje prikaza teksture kako se menja ugao gledanja
Video overlay • uobičajeno je da se pri generisanju slike proverava da li je slobodna memorija koja se koristi za prikaz slike • u situacijama kada je potrebna brzina, aplikaciji se dodeli deo memorije i ona direktno izbacuje sliku u taj deo memorije i sve ide na ekran: video, video visoke rezolucije, igre • današnji procesori imaju ugrađenu podršku za hardverski overlay
RAMDAC • prebacuje podatke iz RAM memorije na kartici na ekran • određuje brzinu osvežavanja • preporučene vrednosti su preko 75Hz, a nikad ispod 60Hz • brzina kojom radi RAMDAC horizontalna rez x vertikalna x osvežavanje x 1.4 • moderne kartice: • većina radi na 400MHz (rekord 550MHz) • sve manje DAC zbog digitalnih izlaza prema monitorima • ugrađene palete za prikaz boja
Magistrala • ISA, MCA, VESA Local Bus, EISA • PCI • AGP • PCI-Express • pogodan za proširenja grafičkog sistema na laptopima (obično PCIe x8 ili x16)
Memorija1 • parametri kartice: rezolucija, broj boja i frekvencija osvežavanja • 24 bit -> 16777216 boja (2^24) • 32 bit ->2^32 boja – maksimum koliko ljudsko oko razlikuje • potrebna memorija na kartici: • Potrebna memorija u MB = (broj piksela po horizontali*broj piksela po vertikali*dubina boje u bitima) / (8*1024*1024)
Memorija2 • ranije: VRAM – dvokanalna memorija: pristup i iz GPU i iz RAMDAC • danas – GDDR, GDDR2, GDDR3 • manje se greje od odgovarajuće DDR memorije
Izlazni interfejsi • VGA – razvijen za CRT monitore • analogan; osetljiv na šum i izobličenje signala • 15pin D priključak • DVI – razvijen za LCD, plazma i HDTV, kao i projektore • VIVO (S-Video, Composite video, Component video) – razvijen za vezu sa TV, DVD plejerima, video rekorderima i igračkim konzolama • 7 ili 9pin DIN priključak (4 pina se koriste) • HDMI – razvijen za konzole i DVD plejere • kompatibilan sa DVI • DisplayPort – namenjen da zameni VGA i da komplementira HDMI
Savremene video karte • napajanje kroz PCI-express je ograničeno na 150W, pa se novije kartice povezuju direktno na napajanje • velika količina toplote, pa mora dodatno da se hladi i spušta radni napon
VESA • međunarodno standardizaciono telo za računarsku grafiku • vrši standardizaciju svih elemenata bitnih za računarsku grafiku • naplaćuju upotrebu nekih standarda
OpenGL1 • sakriva pojedinačne osobine različitih akceleratora i kompleksnosti pojedinačnih API-ja • konvertuje primitive (linije, tačke, poligone) u piksele • pipeline: proračunavanje, transformacija segmenata, pretvaranje segmenata u piksele, dodatne operacije na pikselima i smeštanje u memoriju za prikaz • značajno doprineo razvoju softvera i hardvera za 3D grafiku • programi: Adobe (Photoshop, Premiere), 3D Studio Max, Google Earth, Sketch Up • igre: Wolfenstein, World of Warcraft, Max Payne, Doom 3, Call of Duty, Deus Ex, Medal of Honour
OpenGL2 • Kako radi graphics pipeline:
Direct3D • samo za Windows • Deo DirectX-a, koji je skup nekoliko API-ja: • grafika: DirectDraw/Direct2D, Direct3D, DirectWrite • zvuk: DirectPlay, DirectSound, DirectMusic • tastatura, joystick, miš: DirectInput • animacija: DirectX Media • Direct2D i Direct3D – koriste se da povežu grafičku aplikaciju sa GDI (interfejs kojim se pristupa drajverima)
Podrška za Direct3D • Samo na Windows platformi i uglavnom za igre: • D3D 10: Battlefield, Lord of the Rings Online, Avatar, Crysis, S.T.A.L.K.E.R, Civilization • D3D 11: Alien vs Predator, Batman: Arkham City, F.E.A.R 3, F1 2011, Deus Ex