Grafiniai procesoriai

Grafiniai procesoriai (GF) yra visose kompiuterių grafinėse plokštėse. GP yra pagrindinio procesoriaus valdoma specializuota mikroschema, kuri skirta grafinių objektų atvaizdavimui ekrane.   Joje gali būti įtaisas grafikai apdoroti ir monitoriaus procesorius, vRAM valdiklis, magistralė, įvairios sąsajos ir kt. GP yra tarp pagrindinio procesoriaus ir vRAM:

vRAM

Grafinis procesorius pavaduoja pagrindinį procesorių, pvz., vaizduojant ekrane įvairius objektus, valdant ,,langus”, generuojant tekstūras. Priklausomai nuo paskirties GP gali atlikti vienokias ar kitokias operacijas, valdyti mažesnes ar didesnes vRAM, t.y. skirtingos skiriamosios gebos ir spalvingumo ekranus.

GP bendrauja su pagrindiniu procesoriumi per vidinius registrus. Įrašant juos į tam tikrus kodus, galima keisti ekrano skiriamąją gebą, formuoti teksto ar grafinį ekraną, piešti standartines figūras, jas spalvinti, perkelti atskiras vaizdo dalis ir kt. Gavęs komandą, GP ją vykdo savarankiškai.

Monitoriaus procesorius formuoja monitoriaus valdymo signalus.

Yra plokščių vaizdų (2D), trimačių vaizdų (3D) ir universalieji 2D/3D grafiniai procesoriai. Visos naujos plokštės turi 3D grafinį procesorių. Jų atsiradimą ir spartų paplitimą sąlygojo sudėtingi kompiuteriniai žaidimai, kai reikia realiu laiku generuoti ne tik tam tikrus objektus (pvz., lėktuvus), bet ir kaip galima tikroviškesnę aplinką (pvz., žemės paviršių). Trimačius vaizdus piešia ir 2D procesoriai, bet jie tai daro daug lėčiau.

Trimačio vaizdo piešimas susideda iš dviejų pagrindinių etapų: vaizdo objektų geometrijos ir padėties apskaičiavimo iš formulių ir gautų rezultatų pavertimo vaizdu. Vaizdo geometriją dažniausiai skaičiuoja pagrindinis , o galutinį vaizdą generuoja grafinis procesorius.

Pagrindinis procesorius sukuria objektų ,,griaučius”, sudarytus iš šimtų ar net tūkstančių daugiakampių. Kuo daugiau daugiakampių, tuo tiksliau aprašoma objekto forma, tačiau reikia tiksliau skaičiuoti. Jeigu objektai juda, jų griaučius reikia apskaičiuoti kiekvienam vaizdo kadrui. Trimačio vaizdo geometrijai apskaičiuoti reikia atlikti daug slankiojo kablelio veiksmų. Tam reikia galingo procesoriaus su sparčiu matematiniu procesoriumi.

Siekiant suvienodinti įvairių konstrukcijų grafinių plokščių valdymą ir tuo palengvinti programuotojams rašyti programas, kurias vienodai suprastų skirtingos grafinės plokštės, buvo sukurti specialūs programavimo priemonių rinkiniai ,,DirectX” ir ,,OpenGL”.

zxc

GRAFIKOS AKTUALUMAS

  • AMD http://www.amd.com/us/products/technologies/fusion/Pages/training-course.aspx teigia:
    1. Kiekvieną sekundę į Facebook įkeliama daugiau nei 1000 nuotraukų;
    2. Kiekvieną minutę į YouToube įkeliama apie 20 valandų video medžiagos;
    3. Kiekvieną dieną vartotojai į savo skaitmenines media bibliotekas įkelia apie 50 mln failų;
    4. Šiandien vartotojų asmeninėse bibliotekose 9 mlrd video failų yra didelės raiškos (HD).
  • Tai smarkiai įtakoja vartotojų pasirinkimą perkant kompiuterius.

 

KO NORI VARTOTOJAI?

  • Remiantis šiuolaikinių technologijų naudojimo praktika galima sakyti, kad vartotojai iš kompiuterio laukia:
  1. Ryškaus ir švaraus vaizdo, atkuriamo realiu laiku;
  2. Galimybės vienu metu vykdyti keletą naujausių taikomųjų programų;
  3. Elegantiškos išvaizdos ir prieinamos kainos;
  4. Energetinio efektyvumo, tylos, tačiau ne našumo sąskaita;
  5. Turtingos grafikos ir vaizdo.

 

  GRAFINĖ PLOKŠTĖ

  • Grafinė plokštė – svarbus PC įtaisas, kuris kompiuterio apdorotą informaciją mums pateikia akiai maloniu vaizdu.
  • Anksčiau kompiuterių grafinė plokštė transformuodavo skaitmeninę informaciją į analoginę, kurią išvesdavo į ekraną.
  • Šiuolaikiniuose LCD displėjuose informacijos transformuoti į analoginę nereikia.
  • Vaizdas ekrane sudaromas iš taškų – pikselių. Šie gali būti vienspalviai arba spalvoti.
  • Aukščiausios kokybės vaizdą (full-color arba true color) užtikrina 1 pikseliui koduoti skirti 24 arba 32 bitai – 16,8 mln. spalvų.
GRAFINĖ PLOKŠTĖ
GRAFINĖ PLOKŠTĖ

GRAFINĖ ATMINTIS

Anksčiau buvo sudaroma iš paprastų DRAM mikrochemų. Tačiau regeneravimo metu operacijos negalėjo būti vykdomos.

Vėliau PC video atmintyse buvo naudojamos tokių tipų atmintys:

  • VRAM – Video RAM; tai dviejų portų DRAM, kuriose tuo pačiu metu informacija gali būti įrašoma ir skaitoma;
  • WRAM – Windows RAM; taip pat dviejų portų DRAM, kuri spartesnė nei VRAM.

 

GRAFIKOS PROCESORIUS

Anksčiau viską darydavo CPU, bet grafika jį pernelyg apkraudavo.

Šiuolaikinių PC grafikos plokštėse tam įdėtas specialus grafikos procesorius, kuris atlieka tokias operacijas:

  • taškinio (bitmap) vaizdo perdavimas ir piešimas,
  • langų didumo ir vietos keitimas,
  • linijų braižymas,
  • daugiakampių braižymas,
  • mastelio keitimas.

 

ĮTERPTINĖ GRAFIKA

Nešiojamiems kompiuteriams skirtas AMD VSR M880G turi integruotą grafinį branduolį RV620 (tai diskrečiojo Mobility Radeon HD 4250 modifikacija).

Šis grafinis branduolys turi 40 universalių procesorių (8х5), keturis tekstūrinius blokus ir keturis rastro formavimo blokus.

Grafinis branduolys dirba 500 MHz dažniu. Kadrų buferiui naudojama iki 512 MB RAM (DDR2 arba DDR3).

Grafinis branduolys palaiko API DirectX 10.1 ir OpenGL 2.0.

Intel: CPU ir integruota grafika

Nešiojamiems kompiuteriams skirti Core i3/i5/i7 turi integruotą grafinį branduolį GMA HD (GMA 5700MHD). Jame yra 12 universalių procesorių.

Grafinio branduolio dažnis nuo 500 MHz iki 766 MHz.

Kadrų buferiui naudojama iki 1,5 GB RAM.

Grafinis branduolys palaiko API DirectX 10 ir OpenGL 2.1.

 

PERJUNGIAMA GRAFIKA

Kadangi nešiojamiems kompiuteriams svarbu taupyti energiją, o kartais reikalinga ir galingesnė grafika, gali būti panaudotas toks sprendimas:

  • grafinis procesorius įstatomas į pagrindinę plokštę su integruota grafika;
  • kai kompiuteris maitinamas iš elektros tinklo, dirba grafinis procesorius, kai kompiuteris maitinamas iš baterijos – naudojama integruota grafika (Nvidia Optimus).

1

Perjungiamos grafikos darbo scenarijai
Perjungiamos grafikos darbo scenarijai

SLI (Scaleable Link Interface)

2004 m., siekdama padidinti grafikos pajėgumus, nVidia pristatė sistemą, pavadintą SLI

Pagrindinė SLI idėja – leisti dviems ar daugiau GPU bendrai dalintis darbą kuriant tikroviškus trimačius vaizdus (rendering)

Dvi grafinės plokštės įstatomos į PCI-Express x16 lizdus sisteminėje plokštėje; jos dirba master-slave principu

Dalis vaizdo per specialią jungtį (SLI Bridge) perduodama į kitą plokštę. Apdorojusi informaciją, ši grąžina ją vedančiajai, kuri apjungia vaizdus ir perduoda į ekraną

Darbo pasidalijimas tarp dviejų GPU gali būti atliekamas vienu iš trijų būdų:

  1. Split Frame Rendering (SFR) – darbas tarp GPU padalijamas       50/50 santykiu; tai gali būti dalijama horizontaliu pjūviu, tačiau atsižvelgiant į vaizdo geometriją – jei kurioje dalyje daugiau tuščių vietų (mėlynas dangus), tai ta dalis bus didesnė
  2. Alternate Frame Rendering (AFR) – vienas GPU apdoroja lyginius kadrus, kitas – nelyginius. Tai duoda beveik dvigubą spartą (Nvidia tvirtina, kad sparta išauga iki 1.9x)
  3. SLI Antialiasing. Čia pasidalijamas darbas glotninant laiptuotas linijas. Išauga vaizdo kokybė, bet ne darbo sparta.

SLI technologiją palaiko Windows XP, Windows Vista ir Linux (visos 32 ir 64 bitų).

 

GPU GRAFIKA

Kodėl grafinių procesorių sparta didėja greičiau nei CPU?

  • CPU projektuotojai pagrindinį dėmesį skiria komandų lygmens lygiagretumui didinti – perėjimų prognozei, vykdymuo ne eilės tvarka ir pan.
  • Iš prigimties aukštas grafinių skaičiavimų lygiagretumo laipsnis leidžia visas jėgas skirti tiesioginei skaičiavimo spartai didinti.

GPU GALIMYBĖS

  • Pirmieji grafiniai procesoriai turėjo fiksuotų funkcijų konvejerius, kurių išėjimuose buvo gaunamos 8 bitų spalvų kodus.
  • Palaipsniui grafinių procesorių galimybės augo, ir dabar jau turime šiuolaikinius grafinius procesorius, kurie pasižymi aukštomis programavimo galimybėmis, kartu palaikydami vektorizuotas slankaus kablelio operacijas su įprasto tikslumo skaičiais (32 bitų).

BENDROSIOS PASKIRTIES GPU

Grafinių procesorių demonstruojamas skaičiavimų našumas – stulbinantis.

Pavyzdžiui, GeForce 8800 dar 2006 m. paprastuose testuose parodė 330 GFlops našumą. 2008 m. pasiektas jau Tflops našumas.

Toks vis augantis grafinių procesorių našumas paskatino tyrimus, skirtus GPU panaudojimui įprastiems skaičiavimams.

Tyrinėtojai grafinį procesorių naudoja kaip koprocesorių skaičiavimams paspartinti.

Žinoma, dėl specializuotos architektūros ypatumų GPU gerai tinka ne bet kokiems algoritmams realizuoti.

Daugeliui taikomųjų uždavinių būdingas nuoseklus apdorojimas, neprognozuoti kreipiniai į atmintį. Tačiau nemaža svarbių uždavinių reikalauja gana galingų skaičiavimo resursų ir neblogai derinasi su GPU būdinga daugelio branduolių architektūra.

O kai kurie uždaviniai dirba su labai dideliais duomenų masyvais, ir čia GPU galimybės gali būti puikiausiai panaudotos.

Tinkamai parinktas algoritmas, perkeltas į GPU platformą, dažnai padeda 5-20 kartų padidinti našumą lyginant su šiuolaikiniais įprastais procesoriais, o ypač tinkami GPU architektūrai algoritmai realizuojami net šimtą kartų greičiau.