![]() | ![]() |
![]() |
| ![]() |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Grafički procesori (2)
Korišćenje trodimenzionalne grafike u igrama i aplikacijama prilično je stara ideja. Međutim, osnovni problem jeste kako dovoljno brzo obrađivati izuzetno veliku količinu podataka. Kako je izgledao put do današnjih kartica i kako moderne kartice obavljaju ovaj komplikovani zadatak?
Prirodan izbor, naravno, bila je grafička kartica. Sredinom devedesetih godina gotovo svi popularni proizvođači grafičkih kartica tržištu su nudili nekakvu varijantu kartica sa 3D mogućnostima. Međutim, prvi veći pomak po pitanju performansi napravila je firma 3dfx Interactive 1996. godine legendarnom karticom Voodoo. Ova kartica predstavlja preteču modernih grafičkih 3D akceleratora. Iako nije imala nikakve 2D mogućnosti i oslanjala se na prisustvo postojeće kartice za ove poslove, Voodoo je nudio znatno veće performanse u odnosu na konkurenciju, tako da je brzo stekao veliku popularnost i postao predmet želja mnogih gejmera. Kasnije verzije ove kartice donele su uspešno sjedinjavanje 2D i 3D kartica, kao i upotrebu tehnologije po imenu Scan-Line Interleave, iz koje su se kasnije razvili nVidijin Scalable Link Interface i ATI-jev Crossfire koji omogućavaju upotrebu dve kartice za renderovanje jedne slike. Pored namenskog hardvera koji je, naravno, glavni razlog uspeha ove familije kartica, 3dfx je uveo i namenski API nazvan Glide koji je zasnovan na OpenGL-u, ali koji koristi redukovani skup funkcija koje su u potpunosti hardverski implementirane, što ga je činilo i krajnje nefleksibilnim. Popularnost Voodoo kartica počela je da opada krajem devedesetih godina pojavom nVidijine kartice TNT i ustoličenjem Microsoftovog DirectX-a, koji je, nakon prvih verzija koje su završile u ćorsokaku, konačno razvijan zajedno sa proizvođačima hardvera i dizajnerima igara. Konačni kraj Voodooa bila je pojava nVidijine kartice GeForce 256, na koju 3dfx uopšte nije računao. Nekoliko poslovnih promašaja koji su se dogodili u tom periodu izazvali su bankrot firme 3dfx kao i njenu akviziciju od strane nVidije, koja se nije zadovoljila idejom jednostavnog kopiranja tehnoloških dostignuća koja čine ove kartice. Prvi GPU
Dalji razvoj serije GeForce u osnovi je predstavljao usavršavanje arhititekture izvorne GeForce 256. Kroz razne generacije ove familije kartica performanse su poboljšavane, pre svega kroz korišćenje metoda za povećanje efikasnosti i brže memorije, što je dovelo do pojave kartice poznate po imenu GeForce4 MX 460 koja je po niskoj ceni nudila odlične performanse, kombinujući najbolje osobine serija GeForce2, GeForce3, kao i Geforce4 Ti. U ovoj verziji, nVidijine kartice su već raspolagale naprednim tehnikama za renderovanje slike kao što su verteks i piksel šejderi, kao i hardverski antialiasing, međutim najbitnija stvar koju su prve generacije GeForce kartica donele jeste dobar grafički pajplajn. U vreme pojave kartice GeForce4 pojavile su se i prve konkurentne ATI-jeve kartice iz serije Radeon. Ostali proizvođači grafičkih kartica do kraja 2002. godine u potpunosti su se povukli iz konkurencije za gejmersko tržište, ostavljajući nVidiju i ATI da se bore za prevlast. Grafički pajplajn Grafički pajplajn (graphics pipeline) je, najkraće rečeno, postupak obrade ulaznih podataka u vidu verteksa, tekstura i mapa kako bi se dobio niz piksela (tačaka) poznatijih kao slika. Pajplajn se sastoji od faza koje se mogu izvršavati nezavisno i paralelno, tako da, nakon što jedna faza rezultat svog rada prosledi sledećoj, može odmah započeti obradu novih podataka.
Prva faza jeste asembler ulaza. U ovoj fazi 3D prostor se popunjava objektima i među njima se definišu prostorne relacije. Ova faza obuhvata i konverziju površina višeg reda kako bi se dobila njihova aproksimacija trouglovima i verteksima (temenima). Na izlazu prve faze dobijaju se trouglovi, prave i tačke koji su osnovni elementi 3D scene (grafičke primitive). Sledeća faza pajplajna jeste verteks šejder. U ovoj fazi vrše se transformacije pojedinih verteksa kako bi se postigli efekti morfovanja, pravljenja skinova, kao i osvetljenja pojedinačnih verteksa. Nakon obrade verteks šejderima, podaci se prosleđuju geometrijskom šejderu. U ovoj fazi transformišu se čitave primitive kako bi se postigli efekti dinamičkih sistema čestica, generisanje krzna i peraja, volumetrijskih senki, dodela materijala objektima i sl. Nakon obrade geometrijskim šejderom, scena je „postavljena” onako kako treba da se vidi iz ugla posmatrača. Nakon geometrijskog šejdera, rezultate obrade moguće je proslediti dalje niz pajplajn i upisati u memoriju kartice. Ova mogućnost naziva se izlaz strima (Stream output) i predstavlja veliku inovaciju u odnosu na ranije verzije DirectX-a. Naime, upis podataka u memoriju, nakon što se obrade verteks i geometrijskim šejderima, omogućava njihovo ponovno učitavanje kroz asembler ulaza. Na ovaj način moguće je potpuno hardverski realizovati mnoge efekte kao što su sistemi čestica, krzno, odeća i drugi efekti koji se računaju iterativno (u više prolaza).
Piksel šejder predstavlja pretposlednju fazu u pajplajnu. U ovoj fazi određuje se boja svakog piksela slike. Neki od zadataka koje piksel šejder obavlja jesu: Phong senčenje, efekti anizotropnog osvetljenja, volumetrijski efekti, lepljenje reljefnih tekstura, kao i generisanje proceduralnih tekstura i mnogi drugi. Piksel šejderi obavljaju najveći deo posla u renderovanju 3D scene. Formiranje izlaza jeste poslednja faza pajplajna. U ovoj fazi dovršava se isecanje objekata koji pripadaju slici (clipping) na osnovu „dubine” objekta u sceni, kao i na osnovu predefinisanih šablona (stencils). U ovoj fazi primenjuju se tzv. efekti frejmbafera kao što su magla, sjaj i sl. Nakon faze formiranja izlaza, slika je spremna za slanje na monitor. Kako to izgleda u hardveru Najbitniji deo savremene grafičke kartice je njen procesor. S obzirom na to da je trodimenzinalna grafika izuzetno pogodna za paralelnu obradu, grafički procesori odavno su počeli da primenjuju višejezgarnu arhitekturu i istovremeno izvršavanje više tredova. Međutim, od čega se zapravo sastoji savremeni procesor? Da bismo pojasnili ovu oblast, uzećemo kao primer pojednostavljeni dijagram nVidijinog procesora G92 koji se nalazi u najnovijim karticama ovog proizvođača. Osnovna jedinica koja obrađuje podatke naziva se striming multiprocesor (SM). Svaki od ovih procesora sastoji se od osam procesorskih jezgara, upravljačkog dela i nešto lokalne memorije za keširanje podataka. Striming multiprocesori organizovani su u teksturne procesorske klastere (texture processing cluster, TPC). Svaki TPC sadrži tri SM-a, osam procesora za filtriranje tekstura i L1 keš memoriju. TPC predstavlja osnovnu organizacionu jedinicu u procesoru. S jedne strane, TPC-ovi razmenjuju podatke sa memorijom kartice i u tu svrhu koriste L2 keš. S druge strane, TPC-ovi komuniciraju sa ostatkom grafičkog procesora od kojeg dobijaju instrukcije. Pored raspoređivanja TPC-ova radi što efikasnijeg izvršavanja kako šejdera tako i ostalih operacija grafičkog pajplajna, grafički procesor obavlja i inicijalnu pripremu scene kroz asembler ulaza, rasterizaciju, kao i komunikaciju sa samim računarom. Ovakva organizacija grafičkog procesora G92 stavlja mu na raspolaganje čak 240 procesorskih jezgara. Kada se tome dodaju napredni algoritmi za upravljanje radom ovih jezgara, dobija se sistem koji može efikasno paralelno da izvršava nekoliko hiljada tredova, što je neophodno za generisanje dovoljnog broja frejmova u sekundi čak i u vizuelno najkompleksnijim igrama. • • • Veliki broj namenskih procesorskih jezgara sposobnih da velikom brzinom obavljaju izuzetno komplikovane matematičke operacije čine prosečnu grafičku karticu neuporedivo jačim procesorom i od najmodernijih Intelovih i AMD-ovih procesora. Primena grafičkih kartica van oblasti grafike još je u povoju, ali u skorijoj budućnosti možemo očekivati veliki napredak u ovom pogledu. Hardver postoji, kao i prve verzije softverskih rešenja koja ga iskorišćavaju. Nadamo se da smo u ovom i prethodnom tekstu uspeli da opišemo kako sam razvoj grafičkih kartica tako i da razjasnimo neke od najbitnijih koncepata koji stoje iza ovih izuzetno moćnih uređaja, koje samo zbog nekoliko semantičkih začkoljica i definicija ne možemo nazvati punopravnim računarima. Bojan ŽIVKOVIĆ |
![]()
![]()
![]()
![]()
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]()
|
![]() | |
![]() | ![]() |
Home / Novi broj | Arhiva • Opšte teme | Internet | Test drive | Test run | PD kutak | CeDeteka | WWW vodič • Svet igara Svet kompjutera Copyright © 1984-2018. Politika a.d. • Redakcija | Kontakt | Saradnja | Oglasi | Pretplata • Help • English | |
SKWeb 3.22 |