SITNA CREVCA<>
052009<><>

Grafički procesori (1)

Od adaptera
do akceleratora

Video adapter, grafička kartica ili, najmodernije, GPU predstavlja jednu od osnovnih komponenti računara već skoro trideset godina. Započinjemo seriju tekstova o nastanku, razvoju i osobinama modernih grafičkih procesora

Prisustvo grafičke karte već duže vreme se podrazumeva u toj meri da svaki PC jednostavno odbija da radi ukoliko nema bar neku varijantu hardvera ove namene. Međutim, kako se od najjednostavnijih video adaptera sposobnih da prikažu jedino tekst i jednostavnu grafiku stiglo do moćnih grafičkih procesora koji su u stanju da virtuelnom prostoru daju visok stepen vizuelne i mehaničke realističnosti i koji po svojoj snazi često zasenjuju centralne procesore računara u koji su smešteni?

Pojam video kartice, tačnije video adaptera, javio se zajedno s pojavom prvih personalnih računara krajem sedamdesetih godina prošlog veka. Kako su računari polako počeli da ulaze u domove tadašnjih entuzijasta, prirodno se javila potreba da se za komunikacuju sa tada modernom šklopocijom ne koriste posebni terminali, već da se tastatura i monitor povezuju direktno na nju. Dok je povezivanje tastature bio manje-više jednostavan zadatak, pretvaranje nula i jedinica u sliku razumljivu ljudskom biću prikazanu na ekranu, bilo je kudikamo komplikovanije i zahtevalo je posebnu opremu.

Jedan od prvih sklopova koji se može smatrati pretečom modernih grafičkih kartica nalazio se u računaru Atari 8 i sastojao se od čipova oznaka ANTIC i CTIA. Ova dva čipa omogućila su vlasnicima ovog računara da programskim putem koriste čak dvanaest režima rada sa mogućnošću prikazivanja slike na najobičnijem televizoru. Direktni potomci ova dva čipa su grafički adapteri na svim generacijama najpopularnijih računara sa Motorolinim procesorima – Amigama, koje su, pored ostalog, ostale zapamćene i po daleko superiornijim grafičkim mogućnostima u odnosu na svoje PC vršnjake.

Grafika na PC računarima

Prvobitni video adapteri na familiji PC računara nosili su oznake MDA (Monochrome Display Adapter) i CGA (Color Graphic Adapter). Oba su na tržište plasirana 1981. godine i bili su namenjeni različitim grupama korisnika.

Namenjen pre svega poslovnim korisnicima, MDA je kao grafički adapter imao izuzetno skromne mogućnosti. Jedini režim rada u kom je ovaj adapter mogao da radi bio je tekstualni, i u njemu je prikazivao matricu od 80 x 25 ANSI znakova koji su bili definisani u ROM-u adaptera i korisnik ih nije mogao menjati. Režim rada ovog adaptera i dan-danas predstavlja osnovni režim rada svih grafičkih kartica. Takođe, samostalno generisanje piksela na osnovu ASCII kôdova mapiranih na skup znakova smešten u ROM-u kartice predstavlja prvi vid rane akceleracije.

Kada je CGA u pitanju, osnovna razlika u odnosu na MDA navedena je u samom imenu. Ovaj adapter može da predstavi sliku u boji. U pogledu mogućnosti, CGA je mogao da radi u dva tekstualna režima (40 x 25 znakova i 80 x 25 znakova), dok je u grafičkim režimima nudio sliku rezolucije 320 x 200, pa čak i 640 x 200 piksela. Paleta boja ovog adaptera je skromna – sa četiri bita koji su namenjeni definisanju boje bilo je moguće predstaviti tek 16 boja, tačnije osam boja u tamnijoj i svetlijoj nijansi. Svih 16 boja bile su dostupne samo u tekstualnim režimima, i to kao boje samih znakova. Pozadina znakova bila je ograničena na osam tamnijih nijansi, dok je preostali bit palete služio za uključivanje treptanja znaka, efekta koji je CGA obavljao samostalno, uz osobinu da je treptanje svih takvih znakova sinhronizovano.

U grafičkim režimima postojala su velika ograničenja. U 320 x 200 bio je moguć istovremeni prikaz svega četiri boje, od kojih je korisnik mogao slobodno da izabere samo jednu. Režim sa rezolucijom 640 x 200 bio je ograničen na monohromatski prikaz, uz olakšicu što je korisnik mogao da bira boju kojom će se slika prikazati, kao i da je menja u hodu.

Osnovni način prikazivanja slike kod CGA monitora podrazumevao je upotrebu RGBI monitora, koji nisu bili preterano prisutni na tržištu. Alternativa ovome bilo je korišćenje NTSC kompatibilnog signala, koji je kartica mogla sama da generiše i koji je mogao da se prikazuje kako na monitorima sa kompozitnim ulazom tako i na televizorima pomoću RF modulatora. Međutim, pošto je generisanje NTSC signala vršeno na nestandardan i nepogodan način, u slici je često dolazilo do velikih izobličenja boje i gubitka oštrine. Ovo je ujedno i prvi vid RAMDAC-a smeštenog na karticu.

Iako prilično nesavršena, CGA je svojim korisnicima početkom osamdesetih godina omogućavala rad na računaru „u boji”. Modifikacija standarda, kao i nekoliko programerskih trikova omogućili su donekle proširivanje mogućnosti ove kartice. Neke od modifikacija standarda inkorporirane u kartice kao što je Tandy 1000 omogućavale su prikaz četiri boje u rezoluciji 640 x 200 zahvaljujući prisustvu čak 32 kB memorije. Druga popularna modifikacija zasnivala se na dupliranju vertikalne rezolucije, što je davalo kvalitetniji prikaz u tekstualnom režimu, kao i rezoluciju 640 x 400 piksela u grafičkom režimu.

Od konkurencije koju je CGA kartica imala, najvrednija pomena je kartica po imenu Hercules. Ova monohromatska kartica nudila je MDA kompatibilni tekstualni režim, ali s mnogo boljim prikazom znakova u odnosu na CGA karticu. Najviša rezolucija u grafičkom režimu bila je 720 x 348 piksela. Kao kartica, Hercules je postala prilično popularna, između ostalog i zahvaljujući mogućnosti skoro potpuno hardverske emulacije CGA kartice. Kasniji modeli ove kartice omogućavali su softversko menjanje skupa znakova koje kartica prikazuje kao i rad sa 16 boja, ali su se pokazali inferiornim u odnosu na kartice koje su se pojavile polovinom osamdesetih godina.

EGA, VGA i SVGA

Evolucija standarda CGA je 1984. godine dovela do pojave EGA kartica. Iza ove skraćenice krije se naziv Enhanced Graphics Adapter. Kao što i samo ime sugeriše, ova kartica u suštini predstavlja nadogradnju CGA kartice. Maksimalna rezolucija u grafičkom režimu iznosi 640 x 350 piksela i obezbeđena je podrška za CGA režime, mada sve mogućnosti CGA kartica nisu u potpunosti podržane. Paleta boja je proširena korišćenjem po dva bita za svaki primar, što je broj raspoloživih boja povećalo na 64, od kojih je u isto vreme bilo moguće koristiti 16.

Kao i u slučaju CGA kartice, različiti proizvođači su modifikovali IBM-ov standard, što se uglavnom odnosilo na dodavanje memorije, grafičkih režima veće rezolucije ili podrške za različite tipove monitora koji su u to vreme već postojali na tržištu. Kao standard, EGA u razvoju grafičkih kartica nije doneo ništa revolucionarno i uglavnom se smatra prelaznim korakom između CGA i VGA standarda, koji se u vidu kartica pojavio 1987. godine (dve godine nakon pojavljivanja prve Amige na tržištu).

Inicijalno predstavljen u sklopu računara IBM PS/2, VGA standard za kartice brzo je stekao veliku popularnost. Kao poslednji standard za grafiku koji je postavio IBM, VGA se brzo raširio na sve klonove IBM PC računara. Sama skraćenica postala je oznaka kako za standard analognog video signala tako i za maksimalnu rezoluciju u grafičkom režimu rada koja je iznosila čak 640 x 480 piksela, ali i oznaka za minimalni skup grafičkih mogućnosti PC-ja.

Iza skraćenice VGA krije se mala promena u nomenklaturi grafičkih kartica. Puno ime ovog standarda glasi Video Graphics Array. Razlog za ovu promenu leži u tome što su VGA kartice bile prve kartice čije su komponente integrisane u jednom čipu, broj komponenti koje su sadržane na kartici znatno je smanjen, i to je po prvi put omogućilo pravljenje manjih štampanih ploča na kojima su kartice smeštene, a takođe je omogućilo i jednostavnu integraciju grafičke kartice na samu matičnu ploču računara.

Što se tehničkih mogućnosti tiče, VGA je doneo maksimalnu moguću rezoluciju 800 x 600 piksela, 18-bitnu paletu od 262.144 mogućih boja, 256 kB memorije, osvežavanje slike frekvencijom do 70 Hz, glatko skrolovanje, podelu ekrana, kao i nekoliko funkcija koje spadaju pod grafičku akceleraciju kao što su barrel shifter i pojedine rasterske operacije (RasterOps).

Tekstualni režimi u potpunosti su nasleđeni od CGA i EGA kartica. Grafički režimi, s druge strane, doneli su nekoliko inovacija.

Prema standardu VGA, maksimalna rezolucija slike iznosila je 640 x 480 piksela, a pored toga podržane su i rezolucije 640 x 350, kao i 320 x 200. Uprkos velikoj paleti, u ovim grafičkim režimima bilo je moguće istovremeno korišćenje najviše 16 boja. Izuzetak od ovog pravila bio je režim 13h, koji je omogućavao da se u rezoluciji 320 x 200 piksela koristi čak 256 boja (8-bita po pikselu, true color paleta).

Najveće inovacije koje je na polju PC grafike doneo VGA nalazile su u čipovima, ali van standarda. Naime, ograničenja u pogledu raspoloživih boja pre svega potiču iz kompatibilnosti sa ranijim standardima. Uz malo programerskih trikova i žrtvovanja performansi kartice bilo je moguće korišćenje 256 boja pri rezoluciji 640 x 400 ili korišćenje proporcionalne rezolucije 320 x 240 piksela, kao i korišćenje dvostrukih i trostrukih bafera za glatku animaciju. Najveće ograničenje pri igranju sa ovako „budženim” režimima bile su mogućnosti samih monitora.

Sam VGA standard naknadno je pretrpeo gomilu proširenja početkom devedesetih. Osnovno unapređenje došlo je u vidu standarda XGA, koji je doneo rezolucije 800 x 600 sa 65.536 boja (16-bitna, hi-color paleta) i 1024 x 768 sa 256 boja i 2D akceleraciju. Kasnije je u okviru XGA-2 standarda omogućena i upotreba hi-color palete u rezolucijama do 1024 x 768, veće frekvencije osvežavanja i standardizacija rezolucija u skladu sa proporcijama 4:3 uz zaokruženje na 8 piksela. Otprilike u isto vreme pojavio se i standard EVGA koji je napravila VESA, a koji je nudio slične mogućnosti. Sva proširenja VGA standarda grupno se nazivaju SVGA.

Ubrzanje

Paralelno sa objavom VGA standarda, IBM je na tržište plasirao i čip oznake 8514. Iako ne predstavlja prvu karticu sa hardverskom akceleracijom i iako su njegove mogućnosti ubrzo pripojene VGA standardu u vidu standarda XGA, mogućnosti koje je ovaj čip doneo postavile su koncept koji je desetak godina kasnije iznedrio moderne grafičke akceleratore i namenske grafičke procesore.

Pre svega, programiranje kartice bilo je olakšano zahvaljujući standardizovanom programskom interfejsu poznatom kao AI (Adapter Interface). Od akceleratorskih mogućnosti, 8514 je nudila samostalno izvršavanje osnovnih 2D operacija kao što su iscrtavanje linija, ispunjavanje poligona, kao i izvršavanje rasterskih operacija (BitBLT) u vidu kopiranja memorije, maskiranja, iscrtavanja sprajtova i detekcija njihove kolizije (sudara). Upotreba namenskog hardvera za obavljanje rudimentarnih 2D operacija donelo je dve bitne prednosti – njihovo izvršavanje postalo je brže pošto ih je izvršavao hardver namenjen upravo takvim poslovima, dok je pri tom procesor računara postao slobodan za druge zadatke.

Daljim razvojem 2D akceleracije kroz XGA standard povećana je brzina hardvera koji je obavlja, ali je i proširen broj operacija koje same kartice izvršavaju. Nekada izuzetno poznat i popularan proizvođač grafičkih kartica S3 Graphics na tržište je 1991. godine plasirao karticu oznake 86C911 (da, da, 911 se odnosi na „porše”), prvu karticu koja je uz potpunu 2D akceleraciju omogućavala rad sa programskim interfejsom MS Windows GDI. Do 1995. godine naprednu 2D akceleraciju nudile su gotovo sve kartice na tržištu i za njihovu upotrebu bilo je moguće koristiti više programskih interfejsa, među kojima se izdvajao Microsoftov WinG, a kasnije i DirectDraw.

• • •

Otprilike u isto vreme sa omasovljenjem 2D akceleracije, u žižu interesovanja dolazi i adekvatan hardver namenjen 3D akceleraciji. Razvoj 3D kartica i njihova evolucija u savremene grafičke procesore, kao i njihov način rada predstavljaju temu narednih brojeva.

Bojan ŽIVKOVIĆ

 
 AKCIJE
SK Case Chase: Kućište „Marshall”

 TRŽIŠTE
Vrhunski MP3 plejeri

 NA LICU MESTA
Forum novih tehnologija 2009
Otvaranje Big Bang prodavnice
HP konferencija
Eipix – Konelek konferencija
E-Trgovina 2009, Palić

 KOMPJUTERI I FILM
Škola za Holivud
„Star Trek”

 SITNA CREVCA
Grafički procesori (1)
Šta mislite o ovom tekstu?

 SERVIS
Vaš desktop na bilo kom PC-u (2)

Grafičke komponente
Kao i sam računar čiji je deo, grafička kartica je sastavljena od komponenti koje obavljaju posebne operacije kako bi od gomile bitova napravile signal koji na monitoru daje sliku.
Osnovna komponenta svake kartice otkad one postoje jeste interfejs, odnosno magistrala putem koje se povezuju sa računarom. Prve kartice za PC koristile su ISA magistralu, koja se ubrzo pokazala presporom za prenos podataka o slici, pa je zamenjena unapređenom verzijom poznatom kao VLB (VESA Local Bus). Dalji razvoj, motivisan većom kompatibilnošću i većim kapacitetom, kako u pogledu prenosa podataka tako i u pogledu broja i raznovrsnosti uređaja koji mogu povezati, kao standard za PC računare nametnuo je PCI magistralu. Sredinom devedesetih standard za povezivanje grafičkih kartica postao je AGP, koji je zbog svoje velike brzine i naprednih mogućnosti ostao primaran izbor proizvođača sve do 2004. godine, od kada ga polako zamenjuje PCI-Express.
Nakon magistrale, putem koje se podaci transportuju do kartice, sledi memorija. Memorija grafičke kartice je kroz njihov razvoj imala najveći uticaj na opšte mogućnosti. Formula je jednostavna: pomnožiti horizontalnu i vertikalnu rezoluciju, a proizvod potom pomnožiti dubinom palete. Konačni rezultat jeste količina memorije potrebna da se slika predstavi u datoj rezoluciji sa datom paletom boja. Od pojave VGA standarda, količina memorije na kartici treba da obezbedi čuvanje bar dve slike u izabranoj rezoluciji, kao i sve potrebne sprajtove i maske za rasterske operacije. Količina memorije na karticama dramatično je povećana sredinom devedesetih, kada su zabeleženi prvi padovi cena memorije. Što se tehnologija tiče, grafičke kartice uglavnom koriste najbrže standarde koji se koriste u aktuelnoj PC arhitekturi. Korišćenje sistemske memorije je izvodljivo, ali po pravilu obara performanse.
Nakon memorije, prosečna 2D akceleratorska kartica sadrži komponente namenjene obradi slike. Pre svega, tu je namenski procesor koji obavlja funkcije iscrtavanja linija i drugih 2D primitiva, ispunjava poligone i obavlja antialiasing 2D slike. Potom imamo bliter, procesor namenjen rasterskim operacijama nad čitavim blokovima video memorije. Ovaj stepen zadužen je za izuzetno brzo kopiranje delova memorije i izvršavanje logičkih operacija nad njima. Pomoću blitera moguće je sliku formirati iz više slojeva, a takođe i upravljati sprajtovima, pokretnim delovima slike. Pored ovih delova, prosečna grafička kartica s početka devedesetih sadrži i tzv. barrel shifter, koji omogućava izuzetno brzo množenje bajtova. Programi koje ovi procesori izvršavaju, izgled znakova koji se prikazuju u tekstualnom režimu, kao i podaci o samoj kartici smešteni su u VideoBIOS, koji se nalazi u ROM čipu kartice.
Nakon obrade slike u digitalnom obliku, nju je potrebno poslati na monitor. Kod VGA i ranijih kartica to je bio posao čipa po imenu RAMDAC (Random Access Memory Digital-Analog Converter).
Home / Novi brojArhiva • Opšte temeInternetTest driveTest runPD kutakCeDetekaWWW vodič • Svet igara
Svet kompjutera Copyright © 1984-2018. Politika a.d. • RedakcijaKontaktSaradnjaOglasiPretplata • Help • English
SKWeb 3.22
Opšte teme
Internet
Test Drive
Test Run
PD kutak
CeDeteka
WWW vodič
Svet igara



Naslovna stranaPrethodni brojeviOpšte informacijeKontaktOglašavanjePomoćInfo in English

Svet kompjutera