Cum se configurează smartphone-uri și PC-uri. Portal informativ
  • Acasă
  • Sfat
  • Linux pentru începători: subsistemul grafic. Hardware grafic al viitorului

Linux pentru începători: subsistemul grafic. Hardware grafic al viitorului

Nu ne vom aminti încă o dată proverbul că „totul este nou”, ci pur și simplu încercăm să înțelegem într-un mod logic la ce vor ajunge acceleratoarele grafice 3D în timpul apropiat și (chiar) mai mult sau mai puțin îndepărtat. Nu vom argumenta simplu, ci pe părți. Asa de.

Interfețe externe și ieșire de imagine

Nu există nicio îndoială că după un timp toate sistemele de afișare (monitoare, proiectoare etc.) vor fi conectate la accelerator printr-o interfață digitală. La început va fi roadele evoluției unei interfețe specializate (DVI), dar mai târziu, este destul de logic să ne așteptăm la o înlocuire treptată a unei magistrale seriale digitale specializate cu analogul său de uz general, de exemplu, unul dintre descendenții USB sau FireWire. De ce sunt atât de sigur?

În primul rând, rezoluția și, mai mult, rata de cadre a dispozitivelor de afișare nu va crește la fel de rapid ca puterea de calcul a unui accelerator. Există mai multe motive pentru aceasta, primul dintre ele este rezoluția limitată a ochiului, pentru care o imagine cu 3..4 mii de puncte orizontale este deja percepută (dacă este privită ca un întreg) ca monolitică și infinit detaliată. În al doilea rând, o rată a cadrelor mai mare de 150..200 de modificări de imagine pe secundă nu are sens chiar dacă nu există netezirea obiectelor în mișcare: o superioritate de aproape zece ori față de frecvența cinematografică va asigura netezirea mișcării datorită inerției percepției în ochi, care se va acumula involuntar și se va media pe mai multe cadre la rând. Desigur, sunt posibile opțiuni - precum afișajele panoramice și sferice, sau afișajele stereo care necesită două imagini pentru ochi diferiți, dar toate, într-un fel sau altul, se pot mulțumi cu o rezoluție de aproximativ zece mii de pixeli orizontali. O creștere suplimentară a rezoluției este posibilă, dar nu pare să fie o sarcină prioritară - se depune mult mai mult efort (deja acum) pentru îmbunătățirea realismului imaginii decât pentru netezirea acesteia.

Deci, o creștere lentă (relativă) a rezoluției și a ratei de cadre va permite în curând magistralelor convenționale de uz general să servească drept canal pentru transmiterea informațiilor către un monitor și alte dispozitive de afișare. De ce este important? Pentru că este foarte convenabil. Imaginați-vă că vă puteți conecta la fiecare dintre cele 6 porturi USB (dacă doriți, la afișaj). Imaginați-vă că cea mai elementară cameră sau PDA poate, dacă se dorește, să fie conectată la un proiector sau monitor prin aceeași interfață prin care sincronizați și transferați datele pe un PC. etc. etc.

Într-un timp mai îndepărtat, capacitatea de a conecta „totul-cu-totul” folosind aceleași interfețe (+ protocoale deschise pentru transferul de date de diferite formate) va deschide perspective excelente, și nu numai în domeniul afișării informațiilor vizuale .. .

Deci, viitorul nostru accelerator are primul element mai mult sau mai puțin clar - unul sau mai multe porturi externe universale bazate pe magistrale seriale de mare viteză. Apropo, acestea nu trebuie să fie amplasate pe placa de accelerație (modul, card) în sine; poate folosi și porturile plăcii de bază pentru transmiterea imaginilor - cu atât mai mult cu cât magistrala de sistem va depăși în mod evident interfețele periferice universale externe în lățimea de bandă.

În același sens, este logic să ne așteptăm la apariția display-urilor și proiectoarelor cu interfețe radio încorporate (există deja primele modele de proiectoare cu soiuri 802.11). Evident, toate viitoarele PC-uri, PDA-uri, laptop-uri și alte dispozitive vor include un fel de interfețe wireless și transferul imaginilor pe cel mai apropiat ecran, fără nicio conexiune prin cablu este foarte convenabil, atât în ​​afaceri, cât și în aplicații casnice sau personale. Apropo de afișaje:

Display-uri și alte sisteme de afișare

Să discutăm problema demonstrării imaginilor transmise de la accelerator. În primul rând, este clar că, în viitorul apropiat, practic toate afișajele vor deveni plate și vor folosi o anumită formă de tehnologie cu ecran plat. Până acum nu vorbim de proiectoare, dar cele mai multe dintre ele în ziua de azi folosesc nu tuburi vid de scanare, ci matrici LCD miniaturale de înaltă temperatură sau matrice cu rețele de oglinzi micromecanice care funcționează în transmisie. Rezoluția și dimensiunea afișajelor vor crește, dar aici nu se poate aștepta nimic deosebit de nou - panourile prea mari nu sunt convenabile și chiar dăunătoare - ocupă mult spațiu și nu sunt ușor de transportat (greutate, fragilitate). Prin urmare, dimensiunile de peste 20 de inci în diagonală vor fi în continuare asociate doar cu nișe specifice. Soluția ideală pentru dimensiuni mari sunt anumite tipuri de proiectoare - asociate cu ecrane foarte compacte, acestea pot oferi imagini de diferite dimensiuni într-o gamă destul de largă și în același timp sunt dispozitive destul de compacte în sine.

Așadar, afișajul personal al viitorului este un ecran plat care variază de la 17 la 20..24 inchi cu o rezoluție de aproximativ 3..4 mii de puncte orizontale și o rată maximă de reîmprospătare fizică de aproximativ 100 de cadre pe secundă. În continuare, intră în joc diverse proiectoare și panouri compozite. Primul va primi o rezoluție și o luminozitate mai mare, din nou până la 3 ... 4 mii de puncte - ceea ce nu numai că va permite afișarea completă a filmelor de foarte înaltă calitate pe ele, dar va necesita și noi standarde pentru filmare, comprimare și transmitere în mișcare. imagine - chiar și standardele avansate HDTV sunt departe de astfel de numere. În acest domeniu vor avea loc cele mai semnificative progrese în ceea ce privește calitatea captării, stocării și transferului imaginilor. Dar nu trebuie să uităm că subiectul principal al acestui articol este grafica 3D în viitor.

În al doilea rând, panourile capabile să creeze o imagine tridimensională fără utilizarea unor mijloace suplimentare, cum ar fi ochelari stereo speciali, vor fi foarte răspândite, dacă nu omniprezente. Diferite tehnologii pot produce rezultate aici. În viitorul îndepărtat, sunt probabil matrici LCD holografice (cunosc personal foști colegi de studenți implicați în astfel de cercetări pentru LG) capabile să reproducă mai multe caracteristici ale fluxului de lumină captat decât sistemele tradiționale și să ofere o culoare tridimensională (!) holografică. imagine. Astfel de soluții vor necesita o rezoluție a matricei semnificativ mai mare și o formă specială de prezentare a datelor și, prin urmare, nu ar trebui să se aștepte să apară în cantități comerciale în următorii cinci ani. Sunt de asemenea posibile orice soluții hibride, în care structurile difractive reglabile dinamic separă lumina din matrice pentru ochiul drept și cel stâng, monitorizând în același timp poziția capului și oferind adâncimea optimă a zonei de percepție stabilă a imaginii stereo. Și, în sfârșit, cele mai probabile sisteme în viitorul apropiat cu o simplă separare a imaginii pentru ochiul drept și cel stâng, bazate pe un singur panou LCD. Astfel de sisteme sunt deja disponibile comercial. Evident, vor apărea în viitorul apropiat matrici reconfigurabile, capabile să funcționeze atât în ​​modul de împărțire a imaginii în doi ochi, cât și în modul unei matrice convenționale plane cu unghiuri largi de vizualizare - din punct de vedere tehnic, aceasta nu prezintă orice dificultate.

Așadar, afișajele viitorului vor fi mai subțiri și mai ușoare și, probabil, vor avea stereo ca opțiune obligatorie. Însă, în zona dimensiunilor și rezoluțiilor mari, în dispozitivele de proiecție se vor produce salturi calitative și cantitative mult mai impresionante.

Bus de sistem, magistrală de memorie și transfer de date

Faptul că magistralele de sistem vor deveni în curând toate seriale nu este un secret pentru majoritatea cititorilor. Conexiunile proprietare între componentele chipset-ului, HT, PCI-Express și chiar LPC au demonstrat în mod clar implementarea tendinței nu noi de a transfera totul pe canalele de semnal seriale. Cu toate acestea, să vedem cum exact acest proces va afecta acceleratoarele. În viitorul apropiat vor apărea acceleratoare cu interfață PCI-Express cu lățime de bandă de 16x - acesta este exact slotul pentru grafică și alte plăci PCI-Express de înaltă performanță pe care îl vor avea primele PC-uri. Cu toate acestea, scalabilitatea flexibilă a acestui autobuz vă permite să mergeți mai departe.

Imaginați-vă că 32 de benzi PCI-Express sunt pre-încorporate în cip cu posibilitatea unei configurații dinamice. În primul rând, de îndată ce apar stații de lucru productive (și chipset-uri) cu sloturi de 32x, va fi posibil să se realizeze un card profesional bazat pe același cip. În al doilea rând, puteți face o versiune de server a cardului cu 8x (un slot tipic de server) și mai multe astfel de carduri pot fi instalate pe server în același timp. Și, în sfârșit, dacă este necesar, puteți face o soluție multi-cip prin simpla conectare a două sau mai multe cipuri într-un fel sau altul, cu participarea celorlalte 16 canale.

Dar acesta este doar începutul. În viitor, magistralele de memorie vor deveni, de asemenea, mai inteligente și mai consistente. Acest lucru nu numai că va ușura scalarea lățimii de bandă a memoriei, ci și simplificarea aspectului pe placă, deoarece este posibil ca datele de la diferite canale să nu fie transmise sincron și, în consecință, lungimea conductorilor nu trebuie să fie aceeași. Acest lucru va crește viteza ceasului și va reduce costurile de cablare. În plus, canalele bidirecționale unice, deja familiare nouă de la PCI-Express, pot funcționa independent unele de altele și în modul full duplex, de exemplu. principala problemă a întârzierilor în timpul accesărilor intensive ale acceleratorului la memorie este problema trecerii de la modul de citire la modul de scriere și problema fluxurilor de date paralele va fi rezolvată frumos și natural. Ca urmare, nevoia de memorare în cache intensivă a anumitor tipuri de date va scădea și resursele eliberate de pe cip pot fi aruncate pe cel mai important lucru - tamponul de cadru, plasându-l complet pe cip și conectându-l la blocurile de umplere cu un autobuz foarte lat. Cu toate acestea, trecem înaintea noastră.

Și acum partea cea mai interesantă - și, de fapt, de ce ar trebui să fie diferite magistrala de memorie serială și magistrala de sistem serial? Mai devreme sau mai târziu, ne putem aștepta la o tehnologie de semnal similară, dacă se dorește, compatibilă și, posibil doar clar compatibilă, care ne va permite pur și simplu să furnizăm cipul cu 256 (sau mai degrabă 256 + 32 + 8 - ghiciți de ce ;-)) mare -accelerează canalele seriale și, în funcție de voința dezvoltatorilor unui anumit produs, le distribuie pentru comunicarea cu sistemul (procesor și chipset), pentru comunicarea cu memoria locală, pentru comunicarea cu alte cipuri într-o soluție multicip, precum și pentru diverse interfețe de intrare și de ieșire, de exemplu, un canal poate fi atribuit cipului de captură video. Inițial, canalele sunt egale și fiecare dintre ele, de exemplu, poate ocupa 4 pini adiacenți ai cipului. Acest lucru va face posibilă aranjarea altor elemente pe placa de accelerație așa cum dorește inima dezvoltatorului și apoi, fără prea multă ezitare, extinderea canalelor către ele de la cei mai apropiați pini ai cipului.

Este evident că o astfel de abordare - o gamă largă de canale de transmisie a datelor identice și distribuite flexibil - are perspective mai globale. Mai devreme sau mai târziu (mai devreme - vezi materialele HT) și logica sistemului (chipset-uri) și procesoarele vor ajunge, de asemenea, la o schemă similară, permițând în cele din urmă să se creeze topologii absolut fantastice ale sistemelor de calcul, ca seturi de componente active conectate prin magistrale de număr diferit de canale – parcă jucării asamblate din setul de construcție Lego pentru copii.

Arhitectura și programabilitatea acceleratorului

Unificarea care are loc este clar vizibilă. De exemplu, unitățile de vârf și pixeli (denumite în continuare procesoare) din interiorul acceleratorului au deja un sistem de instrucțiuni unificat și o arhitectură software similară (numărul de registre este diferit, dar nu și metodele de lucru cu acestea). Dar, chiar înainte de unificarea generală, așteptăm apariția unui al treilea tip de procesoare - un procesor pentru generarea de vârfuri sau, cu alte cuvinte, „teselare”. Și, în consecință, un nou tip de shader - shaders tesselation. Locul său în conducta grafică este înaintea procesorului vertex:


Și, de asemenea, este foarte probabil să apară un procesor separat pentru eșantionare, despachetare, filtrare și generare de texturi.

Sarcina principală a unității de tesselare este să creeze noi triunghiuri și vârfuri pe baza unui program flexibil (tessellation shader, TS), apoi să le transfere în vertex shader (VS) pentru transformarea și iluminarea cu care suntem deja obișnuiți. Această abordare va permite cel mai general mod de a transfera la accelerator construcția de primitive de ordin superior triunghiurilor, de exemplu, suprafețe spline netede. În primul rând, prezența unui astfel de procesor va crește complexitatea scenelor și va implementa detalierea adaptivă a modelelor și a mediilor fără încărcare suplimentară pe procesorul central și pe canalul de transmisie a datelor de sistem. De exemplu, problema construirii unui peisaj cu detalii adaptive, binecunoscută dezvoltatorilor de simulatoare, nu poate fi rezolvată în mod eficient folosind un accelerator. Orice soluție arată ca un compromis, iar odată cu apariția unui procesor de teselație, vă va permite să generați o vedere adaptivă a peisajului din mers, fără a încărca procesorul de sistem sau magistrala.

Acordați atenție blocului verde - acesta este procesorul de filtrare, eșantionare și procesare a texturii. În momentul de față, toate operațiunile non-standard cu texturi, cum ar fi metodele speciale de filtrare sau generarea de texturi procedurale, sunt efectuate la nivel de pixel shaders, iar unele sarcini, precum despachetarea formatelor de texturi comprimate, sunt doar hard-coded de hardware. . Cu toate acestea, este mult mai eficient să aloci un procesor separat pentru aceasta, iar acest lucru se va face în viitor. Texture shaders (TxS), deja cunoscute din pachetele software de grafică realiste, vor fi responsabile cu generarea texturilor procedurale la cerere, eșantionarea, transformarea și modificarea valorilor texturilor obișnuite, implementarea metodelor optime de compresie și, cel mai important, metode speciale de filtrare, precum anizotrope avansate, stocastice sau, foarte important pentru aplicațiile viitoare, filtrarea ținând cont de mișcarea unui obiect pentru a implementa netezirea eficientă și de înaltă calitate a obiectelor în mișcare.

Cozile de date sunt situate între procesoare, indicate prin săgeți în figură. Acestea permit acumularea (și, dacă este posibil, stocarea în cache pentru reutilizare) a datelor calculate de un procesor pentru altul și, astfel, evită întârzierile, permițând procesoarelor să lucreze în paralel și asincron în măsura adecvată. Prezența unor astfel de fluxuri de date unidirecționale clare face posibilă paralelizarea eficientă a sarcinilor de construcție a imaginii și, în același timp, acest fapt impune restricții semnificative asupra shaderelor - de exemplu, aceștia nu pot avea acces aleatoriu la date. de primitive vecine sau pixeli, deoarece ele pot fi calculate în paralel sau necalculate încă. Cu toate acestea, având capacitatea, într-un fel sau altul, de a înregistra fluxul de date de la ieșirea procesorului shader și de a-l trimite înapoi la intrare, putem (ca să spunem așa, „în mai multe treceri”) să implementăm algoritmi mai complexi, inclusiv acces aleatoriu, deși într-un mod nu cel mai digerabil.

În diagrama noastră, atât procesorul de teselație, cât și procesorul de geometrie și procesorul de pixeli pot primi date de la procesorul de preluare a texturii, iar săgețile negre subțiri simbolizează coada de solicitări pentru astfel de date. De exemplu, atunci când generează un teren, procesorul de teselație poate accesa astfel harta de înălțime stocată ca textură 2D, iar procesorul de transformare poate folosi textura ca harta de deplasare a vârfurilor.


În fața noastră se află acceleratorul grafic al viitorului. Conceptul de bază este un set de un număr de procesoare shader identice (desigur, cu un program lung nelimitat, un set extins de instrucțiuni, inclusiv controlul dinamic al execuției instrucțiunilor - condiții, bucle și subrutine). În timpul imaginii, procesoarele sunt conectate dinamic între ele într-o anumită topologie, de exemplu, astfel:


iar între procesoare (cercuri) se organizează cozi de date asincrone uni şi bidirecţionale, care sunt de fapt gestionate de controlori de flux (vezi diagrama anterioară). Fiecare controler este configurat pentru o anumită metodă de stocare a datelor (stivă, coadă, doar acces aleatoriu) și preia proprietatea exclusivă a unei părți din memoria internă de mare viteză (cache-ul) a acceleratorului sau implementează accesul la fluxul de date din local. sau memorie de sistem externă cipului accelerator. Un mod cu acces aleatoriu, non-streaming este, de asemenea, posibil, dar în aplicațiile reale astfel de setări ar trebui evitate în orice mod posibil, deoarece pot submina semnificativ performanța ca urmare a încercărilor prost optimizate de a accesa memoria externă. Cu toate acestea, într-un fel sau altul, datorită stocării intensive în cache și a utilizării tiparelor de acces de predicție, această problemă poate fi rezolvată la un „4” solid, deși nu în prima generație de astfel de acceleratoare, deschizând calea către abordări mai familiare programatorilor, de exemplu, la indexarea arbitrară a elementelor matricei...

Deci sunt multe posibilități. Nu numai metode alternative de filtrare, selecție și generare de vârfuri și pixeli, ci și opțiuni precum un shader care programează o nouă metodă de anti-aliasing pe tot ecranul și chiar un shader responsabil pentru realocarea dinamică a resurselor (computaționale și de memorie) a acceleratorului, adică un fel de „sistem de operare”. Este clar că este extrem de dificil pentru programator însuși să gestioneze întreaga comunicare a blocurilor unui astfel de cip, dar acest lucru nu este necesar - aceasta va fi responsabilitatea API-ului. Programatorul va formula o sarcină sub forma unui set de shadere pentru diverse scopuri (de fapt, funcții într-un anumit limbaj de programare de nivel înalt) și o descriere a structurilor transmise și recepționate sau a parametrilor și, în consecință, ordinea în care datele vor trece prin aceste shadere. Restul este preluat de API-ul - DirectX sau OpenGL al viitorului. API-ul compilează codul shader în instrucțiunile mașinii, le optimizează, configurează interacțiunea cozilor și blocurilor și alocă memoria cache și alte resurse. De exemplu, apare o întrebare logică - câte procesoare să dea pentru shaderul A și câte pentru shaderul B, astfel încât întregul sistem să fie cât mai echilibrat și nici un milimetru de silicon să nu fie inactiv. Răspunsul la această întrebare nu este simplu. Puteți indica aproximativ importanța unui shader în anumite unități, chiar și atunci când îl scrieți într-un limbaj de nivel înalt, sau puteți crea un API care analizează valorile contoarelor de performanță interne din cip în timpul construcției cadrelor și dinamic realocă procesoarele pe măsură ce aplicația este executată la fiecare secundă sau cam asa ceva.

Imaginați-vă - jucând FPS, ieșiți în apă și mai multe procesoare merg la pixel shaders, apare un monstru detaliat și puțin mai multe resurse merg la procesoarele vertex. Lucrarea delicată și minuțioasă de echilibrare a sarcinii pe diferite unități de accelerare, care este în prezent implementată în timpul programării aplicației prin iterații destul de plictisitoare, încercări și erori, va fi automatizată la nivel de API și hardware!

Abordări noi și îmbunătățite ale imagisticii

Desigur, după ce am primit un sistem atât de flexibil la dispoziție, nu putem decât să ne întoarcem ochii către metode alternative de construcție a imaginii. Primitive noi, de exemplu poligoane volumetrice (3D) cu o hartă de relief dată (cu precizie la un pixel!), Bile sau suprafețe netede (de data aceasta cu adevărat netede, neaproximate prin triunghiuri). Și, desigur, umbre moi: trasarea razelor va deveni posibilă pentru calcularea așa-numitelor. Iluminat „global”, în timp ce pictura se face în mod tradițional. Vreau să? -Vă rog. Metode combinate folosind radiozitate? - Nate. Ah, și în cel mai rău caz, trasarea razelor din spate de modă veche poate fi implementată cu ușurință. Cu condiția ca scena, chiar dacă este descrisă de primitive de nivel înalt, va fi complet localizată în memoria locală a acceleratorului. Apoi poate fi interpretat de el practic fără participarea procesorului.

Netezirea obiectelor în mișcare este, fără îndoială, importantă. Acesta este ceea ce distinge grafica cinematografică realistă de hardware-ul de jocuri și, datorită acestuia, desenele care folosesc personaje de computer arată mult mai bine la 25 de cadre pe secundă decât toți cei mai buni shootere la 120. Abordarea anti-aliasing ar trebui să fie echilibrată - forță brută, exprimat în calcul N cadre în loc de unul și media lor ulterioară nu este permisă. Utilizarea competentă a pixelilor, a texturii și a shaderelor speciale anti-aliasing, împreună cu informații despre viteza fiecărui punct specific, vă va permite să creați obiecte în mișcare cu anti-aliasing foarte precis și de înaltă calitate, desenând în același timp o singură imagine (!) la o vreme. Cheia acestui lucru este arhitectura flexibilă a acceleratorului pe care am descris-o.

Încă vor mai fi pâslă pentru acoperiș, oh-oh-oh

Interesant este că problemele de alimentare, consumul de energie și disiparea căldurii îi îngrijorează pe proiectanții computerelor moderne mult mai mult decât problemele de fiabilitate. Ar trebui să ne așteptăm la noi factori de formă pentru acceleratoare, sub forma a ceva asemănător cu un modul de procesor (cartuș), cum ar fi procesorul Pentium II la vremea lui sau, de exemplu, cum este acum proiectat Itanium. Cutie metalica, conector de contact inferior, montaj vertical al acestuia pe placa. Înăuntru, un cip accelerator și memorie. Interfețele au fost transferate pe placa de bază - toate datele, inclusiv captura video și imaginea rezultată, merg în formă digitală printr-o magistrală comună de sistem.

Rezultate

  • Alocarea dinamică a resurselor
  • O gamă largă de procesoare cu aceleași capacități
  • Comutator comun
  • Set mare de controlere de acces la coadă și memorie
  • Doar interfețe digitale, toate bazate pe o matrice de magistrală serială de uz general
  • Memorie care funcționează direct cu astfel de autobuze
  • Dispozitive de ieșire cu interfețe periferice comune, precum și interfețe fără fir
  • Concentrarea pe calitate, nu pe rezoluție sau, mai mult, pe rata de cadre a imaginii
  • Afișaje stereo.

Asadar, pariul este facut, va veni timpul, si voi putea raspunde in cat procent am avut dreptate, si cat gresit ;-)

Nu este atât de mult să aștepți.

Aplicație

Întrebarea este, cum diferă acest lucru de CPU?

Răspunsul 1 - concentrați-vă pe procesarea paralelă eficientă a fluxurilor de date destul de simple, prezența specializării.

Răspunsul 2 - dacă argumentăm strict, cu atât mai departe, practic nimic.

Este foarte greu de spus cine va fi primul care va ajunge la punctul de fuziune logic - sau următorul CPU de la Intel va învăța să calculeze programatic imagini ale nivelului desenelor animate de computere moderne (ceea ce nu durează atât de mult - ~ 20 de ani) sau următorul accelerator de la NVIDIA sau ATI va învăța cum să ruleze Microsoft Windows sau (în cel mai rău caz) una dintre clonele Linux. Poate asta.

Se crede că străbunicul plăcii video moderne este adaptorul MDA (Monochrome DisplayAdapter), introdus în 1981 pentru PC-ul IBM. Placa video de atunci avea 4K octeți de memorie video, funcționa doar cu informații text și cu o rezoluție de 720x350 pixeli și putea afișa pe display 25 de linii a câte 80 de caractere pe linie. Culoarea literelor depindea de tipul de monitor: alb, smarald sau chihlimbar, iar literele în sine puteau fi afișate în modurile normal, subliniat, invers (întunecat pe fundal deschis) și intermitent. O dezvoltare ulterioară a MDA a fost lansată în 1982 de către compania de atunci bine-cunoscută Hercules și a fost numită HerculesGraphicsController (HGC). Hercules diferă de MDA prin capacitatea sa de a afișa text în 132 de coloane și 44 de linii. Dar nici măcar această placă video nu permitea lucrul cu grafica. Trebuie remarcat faptul că lungimea cardului HGC a fost de peste 30 cm.

Figura 7. Adaptorul video HGC

Și numai odată cu lansarea adaptorului video CGA (ColorGraphicsAdapter), care a devenit baza pentru standardele ulterioare, a devenit posibil să se lucreze cu informații grafice color la o rezoluție de 320x200 (4 culori) și 640x200 (mod monocrom), în timp ce memoria capacitatea plăcii video era deja de 16 KB. Toate cardurile de mai sus au folosit Multibus pentru a comunica cu PC-ul.

Următorul standard pentru plăcile video - EnhancedGraphicsAdapter (EGA), dezvoltat în 1984, a permis lucrul cu 16 culori dintr-o paletă de 64 de culori simultan la o rezoluție de 640x350. Capacitatea memoriei video era acum de la 64 la 256 KB, fiind declarată și compatibilitatea cu CGA și MDA. Începând cu EGA, adaptoarele video au început să folosească magistrala ISA „largă”.

Toate plăcile video descrise mai sus au fost conectate la monitor printr-un conector cu 9 pini și au transmis informații în formă digitală. Doar odată cu lansarea adaptorului standard MCGA (MultiColorGraphicsAdapter - adaptor grafic multicolor) a existat o tranziție la un semnal analogic, deoarece paleta a fost mărită la 262144 de culori (64 de nuanțe pentru fiecare dintre culorile de bază Roșu / Verde / Albastru). Rezoluția ecranului emisă de MCGA la lucrul cu text a fost de 640x400 cu 256 de culori afișate simultan, pentru aplicații grafice - 320x200 pixeli. Conectorul pentru conectarea la monitor capătă forma obișnuită pentru noi - „D-Sub” cu 15 pini. O altă caracteristică a MCGA - punctul de pe ecran a devenit acum pătrat(odinioară era dreptunghiulară). Aceasta înseamnă că cercul afișat va fi cu adevărat un cerc și nu o elipsă.

Următorul pas în evoluția subsistemului video computerizat este VGA (VideoGraphics Array), care a apărut în 1987. Adaptoarele VGA suportau deja o rezoluție de 640x480 și 256 de culori (dintr-o paletă de 262144 culori), capacitatea memoriei era de 256-512 KB, iar raportul de aspect al ecranului era egal cu cel de acum obișnuit 4: 3.

Și, în sfârșit, în 1991, au apărut primele adaptoare SVGA (SuperVGA), permițând lucrul la o rezoluție de 800x600 și 1024x768 pixeli, numărul de culori afișate a crescut la 65536 (HighColor) și 16,7 milioane (TrueColor). De asemenea, devine posibil ca utilizatorul să seteze rata de reîmprospătare a ecranului monitorului - până în acest moment, aceasta a fost legată rigid de o anumită valoare. Memoria adaptoarelor video SVGA era deja de peste 1 MB.

Odată cu dezvoltarea shell-urilor grafice ale sistemelor de operare (de exemplu, Windows), plăcile video au preluat o parte din calculele pentru afișarea finală a imaginii pe ecran, care au fost de obicei efectuate de procesorul central: ferestre în mișcare, trasare de linii, fonturi și altele. Odată cu apariția jocurilor tridimensionale, plăcile video au dobândit un accelerator 3D, care arăta la început ca un card separat introdus într-un slot liber de pe placa de bază - până în acest moment, adaptorul video permitea doar lucrul cu grafică bidimensională ( 2D). Acceleratorul, de regulă, a fost inclus în întreruperea cablului dintre placa video și monitor și a preluat ieșirea video atunci când programul care rulează pe computer o solicita. În plus, odată cu dezvoltarea tehnologiilor de producție a semiconductoarelor, cipul grafic a început să conțină toate blocurile necesare responsabile atât pentru grafica 2D, cât și pentru grafica 3D.

Atunci, compania dominantă la acea vreme 3dfx (toate activele 3dfx au fost transferate către NVIDIA după faliment) a introdus tehnologia SLI (ScanLineInterleave - line interleaving), datorită căreia a devenit posibilă combinarea a două plăci video similare cu o magistrală PCI pentru formează o imagine folosind metoda de intercalare a liniilor, care a crescut performanța grafică.subsisteme și rezoluția ecranului.

Figura 8. Accelerator video asociat (SLI)

Figura 7 arată placa video Quantum3D ObsidianX-24 bazată pe două Voodoo2 în modul SLI

Într-adevăr, totul nou este bun (în acest caz, foarte bine) vechi uitat: aproape 15 ani mai târziu, NVIDIA a reînviat SLI în plăcile video pentru magistrala PCIe.

Figura 9. Placă video cu magistrală AGP

Spre sfârșitul anilor 90 ai secolului trecut, adaptoarele video și-au primit propria magistrală - AGP (Accelerated Graphics Port) și au dobândit caracteristicile plăcilor video moderne: volumul memoriei video locale a atins zeci de megabiți, a devenit posibilă scoaterea video. la un alt receptor, de exemplu, un televizor. Figura 8 prezintă o placă video bazată pe SiS315 cu o magistrală AGP.

Aproape toate plăcile video moderne constau din următoarele componente principale:

    Memorie video.

    Chipset, (chipset video).

    BIOS video.

    Generatoare de ceas.

Principiul de funcționare a plăcilor video (în formarea unei imagini bidimensionale) nu diferă mult de principiile pe care s-a bazat funcționarea adaptorului CGA. Procesorul central al computerului generează o imagine (cadru) sub forma unei matrice de date și o scrie în memoria video și în special în memoria tampon de cadre. După aceea, chipset-ul video secvențial, bit cu bit, linie cu linie, citește conținutul cadru tampon și îl transmite către RAMDAC (convertor digital-analogic al datelor stocate în memorie). Acesta, la rândul său, generează un semnal RGB analog, care, împreună cu semnalele de sincronizare, este transmis către monitor. Memoria video este scanată sincron cu mișcarea fasciculului pe ecranul monitorului, semnalele de sincronizare sunt generate de generatoarele de ceas încorporate în placa video.

Unul dintre cele mai importante dispozitive computerizate utilizate pentru afișarea informațiilor este un afișaj sau un monitor (de la monitor - un dispozitiv de urmărire, control). Ecranul de afișare afișează datele introduse de la tastatură, rezultatele prelucrării acestora, precum și tot felul de informații de service.

Ecranele sunt monocrome (adică monocrome - alb-negru, cu o nuanță galbenă sau verzuie) și color. În plus, se face o distincție între afișajele alfanumerice și cele grafice. În afișajele alfanumerice, un grup de pixeli care ocupă o mică zonă dreptunghiulară a ecranului și utilizat pentru a găzdui imaginea unui personaj formează o familiaritate. De exemplu, pentru un raster de 600 x 480, zona ocupată de familiaritate este formată dintr-un grup de 8x8 pixeli. Imaginea simbolului este formată aproape în același mod în care imaginea oricărei cifre a codului poștal al destinatarului este obținută dintr-un grup de puncte de pe un plic poștal. Subliniem că afișajele alfanumerice nu au capacitatea de a funcționa cu un singur pixel. Informațiile sunt afișate pe ecran deodată ca o întreagă familiaritate, simbol. Prin urmare, astfel de afișaje pot fi folosite doar pentru a afișa diferite tipuri de texte. Imaginile, graficele, desenele, imaginile nu pot fi afișate pe afișaje alfanumerice. În prezent, afișajele alfanumerice sunt folosite pentru a controla diferite tipuri de servere, adică acolo unde nu este necesară afișarea graficelor.

Afișajele grafice se disting prin faptul că starea unui pixel individual poate fi controlată din program și, prin urmare, toate posibilitățile de imagistică le sunt disponibile.

Principalele caracteristici tehnice ale display-urilor sunt:

Principiul de funcționare;

Dimensiunea diagonală a ecranului;

Rezoluţie;

Dimensiunea granulelor ecranului;

Frecvența de regenerare;

Forma ecranului;

Clasa de protectie.

Conform principiului de funcționare, afișează pe un tub catodic (CRT sau CRT - de la Terminalul cu raze catodice, adică un terminal pe un tub cu raze catodice), cu cristale lichide (LCD sau LCD - de la Display cu cristale lichide, adică afișaj cu cristale lichide) și ecrane cu plasmă.

Principiul de funcționare al monitoarelor cu tub catodic este exact același cu cel al televizoarelor de uz casnic. Un pistol cu ​​electroni, un analog al catodului din lămpile electronice cu incandescență, generează un fascicul - un flux de electroni îngust direcționat, care, folosind un sistem de plăci de deviare, scanează suprafața ecranului de afișare. Punctul de intersecție al razei cu ecranul este un pixel - o unitate elementară a imaginii. Cu ajutorul unui circuit de decodare, la intrarea căruia intră o imagine codificată, pixelul este convertit într-una dintre cele două stări - alb sau negru: aceasta permite formarea de imagini monocrome. Pentru a crea o imagine color, trei tunuri cu electroni sunt instalate pe monitor - roșu, verde și albastru. Monitoarele CRT au dimensiuni destul de mari, o reproducere excelentă a culorilor și un cost redus.

Principiul de funcționare al afișajelor cu cristale lichide se bazează pe proprietățile cristalelor lichide, descoperite încă din 1888. Sunt molecule organice vâscoase, care, pe de o parte, au o structură similară cu cea a unui cristal, iar pe de altă parte, se comportă ca molecule lichide. S-a dovedit că proprietățile optice ale cristalelor lichide depind de orientarea moleculelor, iar orientarea moleculelor de cristale lichide poate fi influențată de un câmp electric, ceea ce creează posibilitatea imagisticii controlate de software.

Ecranul LCD este format din două plăci paralele de sticlă, spațiul dintre care este umplut cu o substanță de cristal lichid. În afișajele cu cristale lichide cu matrice pasivă, pe plăcile de sticlă este aplicată o grilă de electrozi transparenți. De exemplu, pentru a oferi o rezoluție a ecranului de 800 x 600, plasa de pe placa din spate conține 800 de fire verticale, iar plasa de pe placa frontală conține 600 de fire orizontale. O sursă de lumină din spatele plăcii din spate luminează ecranul din interiorul monitorului. Se aplică tensiune pe firele grilei, care orientează moleculele în diferite moduri în diferite puncte de pe ecran, definind în modul dorit culoarea, luminozitatea sau contrastul în fiecare punct, în fiecare pixel. În afișajele cu cristale lichide cu matrice activă, în loc de două seturi de grile, există un element mic de comutare a tensiunii de câmp electric lângă fiecare pixel al ecranului. Prin modificarea corespunzătoare a tensiunii elementului în fiecare punct, este posibil să se controleze imaginea de pe ecran.

Ecranele cu cristale lichide sunt subțiri și plate. Costul lor este încă mai mare decât costul monitoarelor cu tub catodic. Mai mult, monitoarele cu matrice activă sunt de calitate superioară și mai scumpe, în timp ce monitoarele cu matrice pasivă au o imagine mai palidă, urmele modificărilor cadrului sunt mai vizibile pe ele, dar sunt și mai ieftine.

Cele mai scumpe în prezent sunt monitoarele cu plasmă, care au o calitate ridicată a imaginii și pot avea dimensiuni semnificative - până la 1 m sau mai mult în diagonală cu o grosime de doar 10 cm.

Afișajele construite folosind tehnologia OLED (de la Organic Light Emitting Diodes - organic light-emitting diodes) reprezintă o direcție promițătoare în dezvoltarea dispozitivelor de afișare a datelor.

În primul rând, aceste afișaje nu necesită iluminare suplimentară, deoarece substanța în sine emite lumină și, în al doilea rând, este posibil să plasați ecrane foarte subțiri pe o bază flexibilă.

Dimensiunea diagonală a ecranului este măsurată în centimetri sau inci. În prezent, monitoarele sunt produse cu ecrane de la 9 la 42 inchi sau de la 23 la 107 cm. Cele mai comune ecrane sunt de 15, 17, 19 și 21 de inchi. Pentru scopuri standard, un ecran de 17 inchi este suficient. Dacă ai mult de lucru cu grafica, este indicat să alegi monitoare de 19 sau 21 de inchi.

O caracteristică importantă a afișajelor este rezoluția ecranului, care determină gradul de claritate al imaginii. Rezoluția depinde de numărul de linii de pe întregul ecran și de numărul de pixeli pe linie. În prezent există mai multe rezoluții standard, în special: 800 x 600, 1024 x 768, 1152 x 864, 1280 x 1024, 1600 x 1200, 1600 x 1280, 1920 x 1200, 1920 x 1200, 1920 x 1200, 1920 x 1020, primul număr 1020. definește numărul de pixeli dintr-o linie, iar al doilea - numărul de linii de pe ecran. Rezoluția pe care o puteți obține depinde în mare măsură de dimensiunea reală a ecranului. De exemplu, pentru un monitor de 17 inchi, rezoluția standard este 1024 x 768, iar rezoluția maximă poate fi 1600 x 1200.

Rețineți că monitoarele CRT au o rezoluție mai bună, poate ajunge la 2048 x 1536, în timp ce cele mai bune monitoare LCD au o rezoluție mult mai mică - până la 1280 x 1024. astăzi rezoluția este considerată a fi 1024 x 768.

Calitatea imaginii este determinată nu numai de rezoluție, ci și de așa-numita granulație a ecranului. Granulația este definită de diferiți producători ca fiind dimensiunea reală a pixelului liniar sau distanța dintre doi pixeli adiacenți. În prezent, acest parametru pentru majoritatea monitoarelor este de 0,18-0,28 mm. Cu cât granulația este mai mică, cu atât este mai bine, dar și monitorul este mai scump.

Rata de reîmprospătare (frecvența de reîmprospătare) este un parametru care arată de câte ori pe secundă este reîmprospătată imaginea de pe ecranul de afișare. Fără o astfel de actualizare, formarea percepției vizuale normale a imaginii de televiziune este imposibilă, iar transmiterea mișcărilor este, de asemenea, imposibilă. Dacă rata de reîmprospătare este mai mică de 60 Hz, adică dacă reîmprospătarea are loc de mai puțin de 60 de ori pe secundă, atunci apare o pâlpâire în imagine, ceea ce afectează negativ vederea. În prezent, rata de reîmprospătare a majorității monitoarelor este de 60-100 Hz, iar standardul este considerat a fi de 85 Hz.

Ecranele monitorului sunt fie convexe, fie plate. În prezent, majoritatea ecranelor, inclusiv cele ale televizoarelor de uz casnic, sunt convexe. În același timp, modelele mai promițătoare sunt considerate a fi monitoare cu ecran plat, de exemplu, modelul Trinitron, în care ecranul este absolut plat pe verticală și doar ușor curbat pe orizontală.

Din punct de vedere al siguranței muncii cu monitoare, este necesar să se țină cont de clasa de protecție a monitorului, care este definită de standardele internaționale. În prezent, există un standard numit ТСО-2ОО4, care propune cele mai stricte cerințe pentru nivelul de radiație electromagnetică sigură pentru oameni, parametrii ergonomici și de mediu, precum și parametrii care determină calitatea imaginii - luminozitate, contrast, pâlpâire, anti-orbire. și proprietățile antistatice ale ecranului monitorului de acoperire.

Pentru a crea imaginea pe ecranul de afișare, este necesară o altă componentă a computerului, care se numește placă video, placă video sau adaptor video. Pentru a fi precis, acest dispozitiv ar trebui să fie numit controler grafic. Este adaptorul video care determină rezoluția monitorului și numărul de nuanțe de culoare transmise. Adaptorul video împreună cu afișajul formează subsistemul video al computerului. În prezent, se folosesc în principal adaptoare de tip SVGA (de la Super Video Graphics Array - super video graphics array), capabile să transmită 16,7 milioane de nuanțe de culoare.

Pentru a oferi un astfel de număr de culori, precum și o rezoluție bună, adaptoarele video conțin propria memorie video cu un volum destul de mare - 64 MB și mai mult. Construcția imaginilor de înaltă calitate și, în plus, oricare dintre transformările lor, de regulă, necesită un număr mare de operații matematice. Pentru a elibera procesorul computerului de acțiunile cu imagini și, prin urmare, pentru a accelera semnificativ construcția acestora, precum și pentru a crește eficiența generală a computerului, adaptoarele video moderne preiau o parte semnificativă a acestor operațiuni. În acest caz, o parte din munca de formare a imaginii este atribuită hardware-ului adaptorului - microcircuite acceleratoare video, care pot fi incluse în adaptorul video sau amplasate pe o placă separată conectată la adaptor. Există două tipuri de acceleratoare video: plate sau 2D (din 2 dimensiuni - bidimensionale) și tridimensionale sau 3D (din 3 dimensiuni - tridimensionale). Cerințele adaptoarelor video moderne, în special cele cu accelerare hardware, nu mai sunt îndeplinite de magistralele standard de computer. Prin urmare, pentru ei au fost dezvoltate autobuzele AGP specializate deja menționate.

Plan
Introducere



Introducere

Sistemul grafic al computerului personal include instrumente pentru lucrul cu imagini video.

Componentele necesare ale sistemului grafic sunt placa video și monitorul, precum și interfețele care le servesc.

Componentele suplimentare sunt adesea un tuner TV, card de captură video, proiector și alte dispozitive.

Placa video Este un dispozitiv care convertește o imagine din memoria computerului într-un semnal video pentru un monitor. De obicei o placa video este o placa de expansiune si se introduce intr-un conector special pentru placile video de pe placa de baza, dar poate fi si integrata. Plăcile video au un procesor grafic (GP) încorporat, care procesează informații fără a încărca procesorul central al computerului.

Figura 1. Plăci video

1. Istoria dezvoltării plăcilor video

Unul dintre primele adaptoare grafice pentru PC-ul IBM a fost MDA (Monochrome Display Adapter) în 1981. A funcționat doar în modul text cu o rezoluție de 80x25 de caractere (fizic 720x350 pixeli) și a acceptat cinci atribute de text: normal, luminos, invers, subliniat și clipește. Nu putea transmite nicio culoare sau informație grafică, iar culoarea literelor era determinată de modelul monitorului folosit. De obicei erau alb-negru, chihlimbar sau smarald.

Figura 2. Adaptor MDA (Adaptor pentru afișaj monocrom)

Figura 3. Sistem cu MDA (Adaptor de afișare monocrom)

Hercules a lansat în 1982 o dezvoltare ulterioară a adaptorului MDA, adaptorul video HGC (Hercules Graphics Controller), care avea o rezoluție grafică de 720 × 348 pixeli și suporta două pagini grafice. Cu toate acestea, încă nu a permis manipularea culorilor.

Figura 3. Adaptorul video HGC

Figura 4. Adaptorul video Hercules Thriller 3D TH2318SGA

Prima placă video color a fost CGA (Color Graphics Adapter), lansată de IBM și a devenit baza pentru standardele ulterioare ale plăcilor video. Ar putea funcționa fie în modul text cu rezoluții de 40 × 25 și 80 × 25 (matrice de simboluri - 8 × 8), fie în modul grafic cu rezoluții de 320 × 200 sau 640 × 200. În modurile text, sunt disponibile 256 de atribute de simbol - 16 culori de simbol și 16 culori de fundal (sau 8 culori de fundal și un atribut intermitent), în modul grafic 320 × 200, erau disponibile patru palete de câte patru culori fiecare, cele 640 × 200 înalte modul de rezoluție era monocrom.

Figura 5. CGA (Adaptor grafic color)

Figura 6. Cablu pentru conectarea adaptorului CGA și a dispozitivului de ieșire (monitor etc.)

Figura 7. Mufa adaptorului CGA

Figura 8. Afișarea informațiilor text și grafice ale adaptorului CGA

Figura 9. Jocul Warcraft I pe adaptorul CGA

Ca o dezvoltare a acestui card, a apărut EGA (Enhanced Graphics Adapter) - un adaptor grafic îmbunătățit, cu o paletă extinsă la 64 de culori și un buffer intermediar. Rezoluția a fost îmbunătățită la 640 × 350, rezultând un mod text de 80 × 43 cu o matrice de 8 × 8 caractere. Pentru modul 80x25, a fost folosită o matrice mare de 8x14, 16 culori puteau fi utilizate simultan, gama de culori a fost extinsă la 64 de culori. Modul grafic permitea și utilizarea la o rezoluție de 640 × 350 a 16 culori dintr-o paletă de 64 de culori. A fost conform CGA și MDA.

Figura 10. Culorile adaptorului EGA

Este de remarcat faptul că interfețele cu monitorul tuturor acestor tipuri de adaptoare video erau digitale, MDA și HGC transmiteau doar un punct și un semnal suplimentar de luminozitate pentru atributul text „luminos”, similar CGA, prin trei canale (roșu, verde, albastru) transmitea semnalul video principal și putea transmite suplimentar un semnal de luminanță (s-au obținut un total de 16 culori), EGA avea două linii de transmisie pentru fiecare dintre culorile primare, adică fiecare culoare primară putea fi afișată la maximum luminozitate, 2/3 sau 1/3 din luminozitatea completă, care și a dat un maxim de 64 de culori în total.

Figura 11. Cablu pentru conectarea adaptorului EGA și a dispozitivului de ieșire (monitor etc.)

Figura 12. Adaptor grafic îmbunătățit (EGA)

La primele computere IBM PS / 2, apare un nou adaptor grafic MCGA (Multicolor Graphics Adapter). Rezoluția textului a fost ridicată la 640x400, ceea ce a făcut posibilă utilizarea modului 80x50 cu o matrice 8x8, iar pentru modul 80x25, utilizarea unei matrice 8x16. Numărul de culori a fost crescut la 262144 (64 de niveluri de luminozitate pentru fiecare culoare), pentru compatibilitatea cu EGA în modurile text, a fost introdus un tabel de culori, prin care spațiul EGA de 64 de culori a fost convertit în spațiu de culoare MCGA. A apărut modul 320x200x256, unde fiecare pixel de pe ecran era codificat de octetul corespunzător din memoria video, nu existau planuri de biți, așa că EGA era compatibil doar cu modurile text, iar CGA era pe deplin compatibil. Datorită numărului mare de luminozitate a culorilor primare, a devenit necesară utilizarea unui semnal analogic de culoare, frecvența orizontală era deja de 31,5 KHz.

Figura 13. MCGA (Adaptor grafic multicolor)

Figura 14. Adaptor VGA la MCGA

Apoi IBM a mers și mai departe și a făcut VGA (Video Graphics Array), o extensie MCGA compatibilă cu EGA și introdusă în modelele PS/2 mid-range. Acesta este standardul adaptorului video de facto de la sfârșitul anilor 80. S-a adăugat rezoluție text de 720x400 pentru emularea MDA și modul grafic 640x480, accesat prin planuri de biți. Modul 640x480 este remarcabil prin faptul că folosește un pixel pătrat, adică raportul dintre numărul de pixeli pe orizontală și pe verticală coincide cu raportul de aspect standard al ecranului - 4: 3. Apoi au venit IBM 8514, a cu rezoluții 640x480x256 și 1024x768x256, și IBM XGA cu un mod text 132x25 (1056x400) și o adâncime de culoare crescută (640x480x65K).

Figura 15. Culorile adaptorului VGA

Figura 16. Cablu adaptor VGA și conector pentru cablu VGA

Din 1991, a apărut conceptul SVGA (Super VGA - „peste” VGA) - o extensie a VGA cu adăugarea de moduri superioare și servicii suplimentare, de exemplu, capacitatea de a seta o rată de cadre arbitrară. Numărul de culori afișate simultan crește la 65536 (High Color, 16 biți) și 16777216 (True Color, 24 biți), apar moduri de text suplimentare. Din funcțiile de service, apare suportul pentru VBE (VESA BIOS Extention - extensia BIOS a standardului VESA). SVGA a fost perceput ca standardul adaptorului video de facto la jumătatea anului 1992, după ce Video Electronics Standart Association (VESA) a adoptat versiunea VBE 1.0. Până în acel moment, aproape toate adaptoarele video SVGA erau incompatibile între ele.

Interfața grafică cu utilizatorul, care a apărut în multe sisteme de operare, a stimulat o nouă etapă în dezvoltarea adaptoarelor video. Apare conceptul de „accelerator grafic”. Acestea sunt adaptoare video care îndeplinesc unele dintre funcțiile grafice la nivel hardware. Aceste funcții includ mutarea blocurilor mari de imagini dintr-o zonă a ecranului în alta (de exemplu, atunci când mutați o fereastră), umplerea zonelor de imagine, trasarea de linii, arce, fonturi, suport pentru un cursor hardware etc. Un impuls direct la dezvoltarea unui astfel de dispozitiv specializat a fost faptul că interfața grafică cu utilizatorul este, fără îndoială, convenabilă, dar utilizarea sa necesită resurse de calcul considerabile de la procesorul central, iar un accelerator grafic modern este tocmai conceput pentru a elimina din el partea leului din calculele pentru afișarea finală a imaginii pe ecran.

2. Dispozitivul plăcilor video (blocuri principale)

O placă video modernă constă din următoarele părți:

unitate de procesare grafică- se ocupa de calculele imaginii afisate, scutind procesorul central de aceasta responsabilitate, face calcule pentru prelucrarea comenzilor de grafica 3D. Este baza unei plăci grafice, de ea depind viteza și capacitățile întregului dispozitiv. Procesoarele grafice moderne nu sunt cu mult inferioare ca complexitate procesorului central al unui computer și îl depășesc adesea atât ca număr de tranzistori, cât și ca putere de calcul, datorită numărului mare de unități de calcul universale. Cu toate acestea, arhitectura GPU-ului din generația anterioară presupune de obicei prezența mai multor unități de procesare a informațiilor și anume: o unitate de procesare grafică 2D, o unitate de procesare grafică 3D, la rândul său, împărțită de obicei într-un nucleu geometric (plus un cache de vârf) și un unitate de rasterizare (plus un cache de textură) și etc.

controler video- este responsabil de formarea imaginii în memoria video, dă comenzi RAMDAC pentru a genera semnale de scanare pentru monitor și procesează cererile de la procesorul central. În plus, un controler de magistrală de date extern (de exemplu, PCI sau AGP), un controler de magistrală de date intern și un controler de memorie video sunt de obicei prezente. Lățimea magistralei interne și a magistralei de memorie video este de obicei mai mare decât cea externă (64, 128 sau 256 de biți față de 16 sau 32), iar RAMDAC este, de asemenea, încorporat în multe controlere video. Adaptoarele grafice moderne (ATI, nVidia) au de obicei cel puțin două controlere video care funcționează independent unul de celălalt și controlează unul sau mai multe afișaje în același timp.

memorie video- actioneaza ca un frame buffer, care stocheaza o imagine generata si schimbata constant de GPU si afisata pe ecranul monitorului (sau pe mai multe monitoare). Memoria video stochează, de asemenea, elemente de imagine intermediare și alte date care nu sunt vizibile pe ecran. Există mai multe tipuri de memorie video, care diferă în ceea ce privește viteza de acces și frecvența de operare. Plăcile video moderne sunt echipate cu memorie DDR, DDR2, GDDR3, GDDR4 și GDDR5. De asemenea, trebuie avut în vedere faptul că, pe lângă memoria video de pe placa video, procesoarele grafice moderne folosesc de obicei în munca lor o parte din memoria totală de sistem a computerului, acces direct la care este organizat de driverul adaptorului video prin magistrala AGP sau PCIE.

convertor digital-analogic (DAC, RAMDAC - Random Access Memory Converter digital-analogic)- servește la convertirea imaginii formate de controlerul video în niveluri de intensitate a culorii furnizate unui monitor analogic. Gama posibilă de culori a imaginii este determinată doar de parametrii RAMDAC. Cel mai adesea, RAMDAC are patru blocuri principale - trei convertoare digital-analogic, câte unul pentru fiecare canal de culoare (roșu, verde, albastru, RGB) și SRAM pentru stocarea datelor de corecție gamma. Majoritatea DAC-urilor au 8 biți pe canal - se obțin 256 de niveluri de luminozitate pentru fiecare culoare primară, ceea ce oferă un total de 16,7 milioane de culori (și datorită corecției gama, este posibil să afișați cele 16,7 milioane de culori originale într-un spațiu de culoare mult mai mare) . Unele RAMDAC-uri sunt de 10 biți pe canal (1024 de niveluri de luminozitate), ceea ce vă permite să afișați mai mult de 1 miliard de culori simultan, dar această caracteristică practic nu este utilizată. Un al doilea DAC este adesea instalat pentru a suporta un al doilea monitor. Trebuie remarcat faptul că monitoarele și videoproiectoarele conectate la ieșirea digitală DVI a plăcii video folosesc propriile convertoare digital-analogice pentru a converti fluxul de date digitale și nu depind de caracteristicile DAC-ului plăcii video.

ROM video- memorie read-only, care conține BIOS-ul video, fonturile ecranului, tabelele de service, etc. ROM-ul nu este utilizat direct de controlerul video - doar procesorul central o accesează. BIOS-ul video stocat în ROM asigură inițializarea și funcționarea plăcii video înainte ca sistemul de operare principal să fie încărcat și, de asemenea, conține date de sistem care pot fi citite și interpretate de driverul video în timpul funcționării (în funcție de metoda folosită pentru a împărți responsabilitatea între driverul și BIOS-ul). Pe multe carduri moderne, sunt instalate ROM programabile electric (EEPROM, Flash ROM), permițând utilizatorului să suprascrie BIOS-ul video cu un program special.

sistem de răcire- conceput pentru a menține condițiile de temperatură ale procesorului video și ale memoriei video în limite acceptabile.

Funcționarea corectă și completă a unui adaptor grafic modern este asigurată cu ajutorul unui driver video - software special furnizat de producătorul plăcii video și încărcat în timpul procesului de pornire a sistemului de operare. Driverul video acționează ca o interfață între aplicațiile care rulează sistemul și adaptorul video. La fel ca BIOS-ul video, driverul video organizează și controlează programatic funcționarea tuturor părților adaptorului video prin registre de control speciale, care sunt accesate prin magistrala corespunzătoare.

3. Clasificarea și principalele caracteristici ale plăcilor video

Clasificarea plăcilor video

  • Cardurile low-end sunt ieftine, dar nici foarte puternice. Proiectat în principal pentru aplicații de birou.
  • Plăci video de clasă business (intermediu) - pot gestiona toate jocurile moderne. Au unele limitări legate de rezoluție, rata de cadre etc.
  • Modele de top (hi-end) - au cele mai înalte specificații.


Principalele caracteristici ale plăcilor video:

  • Interfață
  • GPU
  • Frecvența de funcționare a nucleului grafic:
  • Suport software
  • Tipul și dimensiunea memoriei
  • Frecvența de lucru a memoriei
  • Adâncimea de biți a interfeței de memorie
  • Procesoare de flux
  • Tehnologii
  • Răcire
  • Ieșiri

Memoria cardului video:

Tipuri de memorie

  • GDDR este o memorie construită pe tehnologia Double Data-Rate. Folosit în modelele bugetare.
  • GDDR2 rulează la o frecvență mai mare decât tipul anterior de memorie. Lipsa supraîncălzirii puternice.
  • GDDR3 este similar cu GDDR2, funcționează la o frecvență puțin mai mare și se încălzește mai puțin.
  • GDDR4 este mai eficient decât GDDR3. Funcționează cu timpi de acces de până la 0,6 ns, ceea ce corespunde unei frecvențe de 3330 MHz. Mai economic decât generațiile anterioare
  • GDDR5 este mai rapid decât generațiile anterioare.

Autobuz de memorie
Numărul de biți de date (biți) care pot fi transmisi într-un ciclu. Performanța memoriei este cantitatea de date transferată pe unitatea de timp. Depinde de frecvența memoriei și de

latimea autobuzului

  • modele ieftine - magistrală pe 64 de biți;
  • plăci video bugetare - magistrală de 128 de biți;
  • placă video clasa business - magistrală pe 256 de biți;
  • modele de top de plăci video - magistrală de 256 de biți și mai mare.

Frecvența memoriei:

  • modele bugetare - până la 800 MHz;
  • clasa business - până la 1500 MHz;
  • modele de top - de la 1500 MHz și mai sus.

Memorie
Memoria plăcii video stochează imaginea imaginii (cadru ecran), precum și elementele necesare pentru a construi o imagine tridimensională. În modelele moderne de plăci video, memoria este instalată în volume de la 128 MB la 1 GB.

  • modele ieftine - 32-64 MB;
  • plăci video bugetare - 128 MB;
  • placă video clasa business - 256-512 MB;
  • modele de top de plăci video - 512 MB și mai mult.

Frecvența de lucruGPU

4. Interfețe software și hardware ale plăcilor video

Software

DirectX
DirectX este un set de funcții API concepute pentru rezolvarea problemelor legate de programarea jocurilor și video sub Microsoft Windows. Cel mai utilizat atunci când scrieți jocuri pe computer. Kitul de dezvoltare DirectX pentru Microsoft Windows este disponibil gratuit pe site-ul web Microsoft. În acest moment, cea mai nouă versiune este DirectX 11. Adesea, cele mai recente versiuni DirectX sunt furnizate cu aplicații de joc, deoarece DirectX API este actualizat destul de des, iar versiunea inclusă în Windows este adesea departe de cea mai nouă. Aproape toate părțile DirectX API sunt colecții de obiecte compatibile COM.

Până când API-ul DirectX a existat în natură, majoritatea programelor de grafică pentru computerele personale funcționau sub sistemul de operare MS-DOS sau direct cu o placă video. Dezvoltatorii de software au fost nevoiți să creeze drivere diferite pentru fiecare tip de adaptoare video, joystick-uri, plăci de sunet.

În 1995, Microsoft a introdus prima versiune a bibliotecii DirectX (numită atunci Game SDK). În 2004, a fost lansată a noua versiune de DirectX (de fapt au fost lansate opt versiuni, din anumite motive Microsoft a ratat a patra versiune). DirectX este un standard corporativ și este deținut de Microsoft. Și numai Microsoft stabilește ce să includă în următoarea versiune a API-ului și ce sugestii să ignore. Această abordare dictatorială a făcut posibilă aducerea rapidă a jocurilor și a procesoarelor grafice la un numitor comun și a salvat utilizatorii de majoritatea problemelor legate de compatibilitatea hardware. Recent, atât programele, cât și adaptoarele video au fost chiar împărțite în generații în funcție de versiunile acceptate de DirectX.
DirectX API este destinat pentru:

  • Programare grafică 2D (modul DirectDraw);
  • Creare grafică 3D (modul Direct3D);
  • lucrul cu sunete și muzică (module DirectSound și DirectMusic);
  • suport pentru dispozitive de intrare (modul Directlnput);
  • dezvoltarea de jocuri de rețea (modul DirectPlay).

Astfel, DirectX este o colecție de mai multe API-uri relativ independente care permit dezvoltatorilor de jocuri și alte aplicații interactive să acceseze funcționalități specifice ale hardware-ului fără a fi nevoie să scrie cod software dependent de hardware. DirectX se bazează pe un set de interfețe Component Object Model, iar obiectele COM pot fi descrise în aproape orice limbaj de programare, cum ar fi C/C++, Delphi și chiar Basic.

Popularitatea DirectX se datorează capacității sale de a satisface toate nevoile dezvoltatorilor de jocuri și hardware: de la crearea de grafică 3D și intrare a interfeței cu utilizatorul, până la suport pentru lumi virtuale în rețea.
În general, DirectX este clasificat în:

  • DirectX Graphics, un set de interfețe anterior (până la versiunea 8.0) împărțit în:
  • DirectDraw: interfață de ieșire grafică raster.
  • Direct3D (D3D): interfață de randare primitivă 3D.
  • DirectInput: o interfață folosită pentru a procesa date de la tastatură, mouse, joystick și alte controlere de joc.
  • DirectPlay: o interfață de comunicare în rețea pentru jocuri.
  • DirectSound: interfață audio de nivel scăzut (format Wave)
  • DirectMusic: O interfață pentru redarea muzicii în formatele Microsoft.
  • DirectShow: O interfață folosită pentru a introduce/ieși date audio și/sau video.
  • DirectSetup: partea responsabilă cu instalarea DirectX.
  • Obiecte media DirectX: implementează suport funcțional pentru obiecte în flux (de exemplu, codificatoare/decodore)

Opengl
În 1982, Silicon Graphics a implementat o conductă de randare pe stația de lucru Silicon IRIS, bazată pe setul de instrucțiuni ale bibliotecii grafice IRIS GL. Pe baza bibliotecii IRIS GL, standardul de grafică OpenGL (Open Graphics Library) a fost dezvoltat și aprobat în 1992. Programele scrise cu OpenGL pot fi portate pe aproape orice platformă, fie ea un computer personal sau o stație grafică, cu același rezultat.

Setul de bază al OpenGL include aproximativ 150 de comenzi diferite cu ajutorul cărora implementează principalele funcții: definirea obiectelor, specificarea locației acestora în spațiul tridimensional, setarea altor parametri (rotație, scară), modificarea proprietăților obiectelor (culoare, textură, material), poziția observatorului... Bibliotecile (extensiile) suplimentare OpenGL implementează funcții care nu se găsesc în biblioteca standard. De exemplu, biblioteca GLAUX a fost dezvoltată de Microsoft pentru a utiliza OpenGL în mediul de operare Windows. Dezvoltatorii de adaptoare video își creează propriile extensii OpenGL pe baza capacităților unui anumit GPU.

Tehnologia SLI

SLI înseamnă Scalable Link Interface. Tehnologia NVidia SLI necesită două plăci video identice cu suport SLI, o placă de bază care acceptă și SLI, un adaptor MIO care conectează plăcile video și un driver ForceWare al versiunii corespunzătoare. La momentul scrierii acestui articol, tehnologia SLI era susținută de plăcile video din familiile nVidia GeForce 6800 și 6600GT și plăcile de bază cu chipset-uri nVidia nForce4 SLI (pentru procesoarele AMD Athlon 64), Intel 7525 (pentru procesoarele Xon) și nForce4 SLI Intel Edition ( pentru procesoare Pentium 4).

Tehnologia SLI acceptă două moduri de funcționare pentru o pereche de plăci video: Split Frame Rendering (SFR) și Alternate Frame Rendering (AFR). Pentru a rula jocuri învechite, este oferit un mod de compatibilitate atunci când este utilizată o singură placă grafică. În modul Split Frame Rendering (SFR), cadrul este împărțit în două părți, pentru redarea fiecăreia

la care se răspunde printr-un adaptor video separat. În acest caz, cadrul este împărțit dinamic în funcție de complexitatea scenei. Acest mod vă permite să obțineți performanță maximă, deoarece sarcina de pe fiecare card este distribuită uniform. Metoda de partiționare se numește simetric Multi-Rendering cu Dynamic Load Balancing (SMR), adică multi-randare simetrică cu echilibrare dinamică a sarcinii. În modul Alternate Frame Rendering (AFR), cadrele sunt redate alternativ de fiecare adaptor video.

Având în vedere lățimea de bandă mare a interfeței PCI Express, a fost posibil să ne limităm la transferul de date prin această magistrală, totuși, pentru a minimiza eventualele întârzieri, plăcile video SLI sunt echipate cu o interfață MIO. Când plăcile sunt instalate pe o placă de bază echipată cu două sloturi PCI Express xl6, acestea trebuie să fie conectate cu un adaptor special - un mic card textolit echipat cu doi conectori de tipul corespunzător. Pentru a activa modul SLI și funcționarea corectă a acestuia, sunt necesare două condiții: ambele sloturi PCI Express xl6 trebuie să suporte configurația „16 linii + 8 linii” sau configurația cu 8 linii + 8 linii; chipsetul trebuie să fie suportat de driverele ForceWare. Dacă este lansată cu succes, configurația SLI demonstrează o îmbunătățire a performanței cu până la 80% în unele jocuri.

Fire încrucișată
Ca răspuns la dezvoltarea și promovarea vechii-noui tehnologii SLI (MK # 30 (357) 2005) de către NVIDIA, principalul concurent de pe piața acceleratoarelor video, ATI, a dezvoltat și implementat propria soluție similară - tehnologia CrossFire. La fel ca SLI de la NVIDIA, vă permite să combinați resursele a două plăci video dintr-un computer între ele, crescând performanța subsistemului video. Tehnologia CrossFire este fundamental diferită de SLI, așa că are puține în comun cu concurentul. Acordând preferință anumitor avantaje ale unei anumite tehnologii, în viitorul apropiat, utilizatorii vor alege între NVIDIA și ATI, nu numai pe baza anilor de opinii formate despre mărci, ci și pe baza faptelor despre tehnologiile SLI sau

Baza tehnica

Prin analogie cu NVIDIA, pentru a găzdui două plăci video ATI într-o „echipă” veți avea nevoie de o placă de bază cu un chipset de la același producător (se preconizează ca chipset-ul Intel i975X să suporte și CrossFire), cu două sloturi PCI Express. La fel ca SLI, CrossFire solicită resurse de sistem, ceea ce va necesita o alimentare de înaltă calitate. Să luăm în considerare cerințele de sistem mai detaliat.

Placa de baza
- Trebuie să se bazeze pe chipset ATI Radeon Xpress 200 CrossFire sau mai mare. Aceste plăci sunt produse atât pentru procesoarele AMD Sempron / Athlon 64, cât și pentru procesoarele Intel Pentium 4 / Celeron. Deci ATI va câștiga acum și bani pe chipset-uri, a căror producție nu a atins până acum o scară largă.

Plăci video.
Pentru ca tehnologia să funcționeze, este necesară o placă master CrossFire (mai multe despre asta mai jos) și orice altă placă video bazată pe un cip din aceeași familie cu cardul master. Cardul principal diferă de celelalte prin prezența unui conector DMS-59 (conectat la DVI pe cardul slave), a unui cip CrossFire și, desigur, a costului acestuia.

Alimentare electrică... Pentru a menține un set atât de serios, veți avea nevoie de o sursă de alimentare cu o putere minimă de 400-450 W, de preferință una mai puternică.

Ei bine, asta este de fapt tot ce ai nevoie pentru a construi un sistem video CrossFire. După cum ați observat, ATI își tratează clienții mai flexibil, fără a-i lega, ca un teren de o fermă colectivă, de achiziționarea obligatorie a două carduri cu același cip de la același producător. Legarea se realizează numai la familia de cipuri video pe care se bazează acceleratorul. Adică, puteți achiziționa acceleratorul video principal Radeon X800 și slave Radeon X800 XL. Master Radeon X800 va fi compatibil cu orice card de la producător pe baza oricărei modificări a cipului X800. Acesta este un avantaj necondiționat față de un concurent - dacă luați un accelerator cu perspectiva modernizării ulterioare adăugând încă o placă video, nu va trebui să căutați o placă de la un anumit producător bazată pe un anumit cip. În prezent, tehnologia CrossFire este suportată de plăci video bazate pe X800 și X850, precum și de produse noi bazate pe X1xxx.

Principii de baza

Placa video master (master CrossFire) conține un cip special care permite combinarea eforturilor acceleratoarelor. Procesează imaginile generate de fiecare card pixel cu pixel (în timp real) și le combină într-o singură imagine. Toate informațiile de pe placa video slave a masterului sunt transmise prin conexiunea prin conectorii DMS-59 și DVI. În acest caz, lungimea cablului dintre cele două plăci este destul de scurtă, ceea ce evită pierderile de transmisie a datelor (teoretic).

Caracteristici și moduri de operare ale CrossFire
Există 3 moduri de randare disponibile pentru CrossFire: SuperTiling, AFR, Scissor. Spre deosebire de sistemele SLI, alegerea liberă a modurilor nu este disponibilă, iar modul necesar este selectat automat de către șofer.

foarfeca
O metodă destul de cunoscută de procesare a imaginii. Esența sa constă în împărțirea cadrului în două părți, fiecare dintre acestea fiind procesată de o placă video separată. În teorie, un cadru poate fi împărțit proporțional cu puterea cipurilor video instalate în plăcile video ale PC-ului. Pentru carduri identice, cadrul este împărțit într-un raport de 50:50; dacă unul dintre ele este mai puternic, atunci se alege un raport de 30:70 sau 40:60. Cu toate acestea, așa cum ar părea la prima vedere, acest mod nu va fi de preferat pentru toate aplicațiile de jocuri. De exemplu, în shooterele 3D, partea inferioară a cadrului se schimbă puțin în timpul jocului, ceea ce nu se poate spune despre cea superioară. Pentru aceasta, este prevăzută o creștere a zonei procesate în cadru pentru un card care este inactiv la un moment dat. Cu toate acestea, pentru a calcula geometria scenei, sunt necesare și resurse suplimentare.

SuperTiling
Modul standard CrossFire. Împarte imaginea în mai multe pătrate care seamănă vizual cu o tablă de șah. Unele dintre aceste pătrate sunt procesate de o placă video, altele de alta. Acest lucru vă permite să distribuiți în mod inteligent încărcarea între plăcile video în aplicațiile cu pixeli. Totuși, ambele cărți trebuie să calculeze întreaga geometrie a scenei. Se știe că acest mod nu este acceptat de jocurile bazate pe API-ul OpenGL.

Redare alternativă a cadrului (AFR)
Unul dintre cele mai rapide moduri CrossFire. Esența sa constă în faptul că o carte numără cadrele pare, a doua - cele impare. Astfel, sarcina pe GPU-uri este distribuită uniform între ambele acceleratoare. Practic, această metodă nu este o noutate, AFR a fost folosit și pe vechile plăci ATI dual-GPU. Singurul dezavantaj al acestui mod este că nu va funcționa în jocurile pe computer care folosesc funcții de randare la textură. De asemenea, merită să ne amintim că performanța AFR a CrossFire va depinde de specificul scenei care este procesată. În cele din urmă, rețineți că în prezent sunt procesate și afișate cadre diferite. Deci, AFR va fi eficient pentru afișarea unei imagini de înaltă calitate în aplicații care nu necesită modificări fluide ale cadrului pentru a lucra confortabil cu acestea. În termeni umani simpli, AFR va fi mai puțin eficient în shootere și simulatoare decât, să zicem, în strategii.

Super AA
Un mod care vă permite să îmbunătățiți semnificativ calitatea imaginii în detrimentul unui FPS suplimentar. Esența SuperAA este că ambele cărți generează o scenă cu diferite șabloane FSAA. Cipul CrossFire le integrează apoi într-un întreg coerent. Acest lucru permite o mai bună netezire a „granulelor” cunoscute sub numele de aliasing.

În ceea ce privește numărul de moduri de operare, ATI a ocolit NVIDA, dar nu este un fapt că calitatea implementării lor este la înălțime. Modul AFR este deținut de tehnologiile ambelor companii, iar Scissor este doar un mod de randare Split Frame ușor reproiectat de la NVIDIA. SuperAA îmbunătățește calitatea în detrimentul performanței, iar caracterul practic al SuperTiling este îndoielnic. Deci nu se știe încă cine va câștiga lupta pentru FPS suplimentar.

După cum am menționat mai sus, există versiuni de chipset atât pentru procesoarele AMD, cât și pentru procesoare Intel. Plăcile de bază bazate pe chipset-ul ATI nu necesită setarea modurilor de funcționare cu una sau două plăci video - placa de bază detectează automat legătura CrossFire, care din nou diferă favorabil de NVIDIA nForce4 SLI. Procesul de fabricare a cipului de 130 de nanometri va oferi capabilități bune de overclocking fără a fi nevoie de sisteme scumpe de răcire de înaltă calitate. Și, în general, tehnologia în sine se adresează maxim entuziaștilor și overclockerilor.

Să facem paralele
Cred că ar fi rezonabil să cântărim argumentele pro și contra, comparând dezavantajele și avantajele tehnologiilor ATI CrossFire cu NVIDIA SLI.

Beneficii CrossFire:

  • pentru ATI CrossFire nu este necesară adaptarea jocului la această tehnologie, funcționează cu toate jocurile bazate pe API-ul DirectX și API-ul OpenGL;
  • nu este nevoie să cumpărați carduri de la același producător cu aceleași cipuri și versiune de BIOS - cardurile ATI CrossFire pot fi produse de diferite companii;
  • ATI CrossFire funcționează cu modelele Radeon X800 / X850 deja vândute;
  • ATI CrossFire are mai multe moduri de operare decât NVIDIA SLI, dar unul dintre ele se concentrează mai degrabă pe calitate decât pe performanță.

Dezavantajele CrossFire:

  • costul cardului master CrossFire este vizibil mai mare decât cel al slave, în timp ce costul ambelor plăci NVIDIA este același;
  • disponibilitate redusă a tehnologiei pe piață.

În general, putem spune cu încredere că ambele tehnologii au viitor.

O referire rapidă a termenilor menționați în articol

Shader este un program pentru una dintre etapele conductei grafice utilizate în grafica 3D pentru a determina parametrii finali ai unui obiect sau a unei imagini. Poate include descrieri ale complexității arbitrare ale absorbției și împrăștierii luminii, cartografierea texturii, reflexia și refracția, umbrirea, deplasarea suprafeței și efectele de post-procesare.

Pixel shader funcționează cu fragmente de imagine, care în acest caz înseamnă pixeli care au un anumit set de atribute, cum ar fi culoarea, adâncimea, coordonatele texturii. Pixel shader este utilizat în ultima etapă a conductei grafice pentru a forma un fragment de imagine.

Vertex shader operează pe date asociate cu vârfurile poliedrelor. Astfel de date, în special, includ coordonatele vârfului în spațiu, coordonatele texturii, vectorul tangent, vectorul binormal, vectorul normal. Vertex Shader poate fi folosit pentru a transforma nodurile în vedere și perspectivă, pentru a genera coordonate de textură, pentru a calcula iluminarea și multe altele.

Shader geometrie, spre deosebire de vârf, este capabil să prelucreze nu numai un vârf, ci și un întreg primitiv. Poate fi un segment de linie (două vârfuri) și un triunghi (trei vârfuri), iar cu informații despre vârfuri adiacente (adiacență), pot fi procesate până la șase vârfuri pentru o primitivă triunghiulară. În plus, geometry shader este capabil să genereze primitive din mers fără a utiliza CPU.

Conductă Shader (procesor) este un dispozitiv pentru procesarea unui articol de date cu o singură comandă (articolele de date tipice pot fi numere întregi sau numere în virgulă mobilă).

Unitate de rasterizare (ROP, Raster Operator)- un dispozitiv care realizează Z-buffering, anti-aliasing și scrierea imaginii procesate în frame-buffer-ul plăcii video.

Unitate de cartografiere a texturii (TMU)- un dispozitiv responsabil cu impunerea imaginilor (texturilor) pe suprafața obiectelor geometrice.

Figura 5. Adaptor CGA

Cablu de conectare pentru adaptorul CGA și dispozitivul de ieșire (monitor etc.)

UNIX nu este pretențios în privința interfeței când vine vorba de managementul sistemului. O modalitate obișnuită de a administra un server UNIX este să lucrezi de la distanță prin rețea și (mulțumită internetului) te poți îndepărta de computer atâta timp cât vrei, atâta timp cât există o conexiune destul fiabil pentru lucrul terminal. Aceasta înseamnă că toate celelalte posibilități de interacțiune între o mașină și o persoană sunt înțelese de către sistem ca resursă, care ar trebui să fie alocate între sarcinile utilizatorului în același mod ca RAM, spațiu pe disc sau, să zicem, resurse subsisteme de imprimare.

Să ne amintim trei sarcini care sunt rezolvate de Mediul de operare referitor la resurse: unificare, separareși contabilitate acces. Cu unificare, totul este mai mult sau mai puțin clar: există multe dispozitive grafice în lume, al căror control la un nivel scăzut nu este deloc o sarcină pentru utilizator, mai ales că fiecare tip de dispozitiv este controlat în felul său. Comenzi de nivel scăzut sistemul ar trebui să preia, iar utilizatorul ar trebui să furnizeze primitive grafice(ca o funcție de desenare a liniilor) care va funcționa întotdeauna în același mod.

Se pare că nu este suficient ca utilizatorul acestei resurse să reprezinte adaptorul grafic ca o pagină mare de memorie video, afișată parțial pe dispozitivul de ieșire - monitor: la urma urmei, nu este suficient pentru utilizatorul discului pentru a-l reprezenta ca o serie de sectoare! Diferența este că acest lucru nu ar fi suficient pentru sistemul în sine, așa că UNIX a introdus conceptul Sistemul de fișiere ale căror obiecte sunt mult mai complexe decât „sector” sau „disc”. În ceea ce privește grafica, UNIX nu are preferințe sau vederi speciale cu privire la aceste capacități ale mașinii. Aceasta înseamnă că din partea sistemului este rezonabil să se organizeze precis accesul la dispozitiv, și necesarul model de obiect lăsați sarcina personalizată să se implementeze.

O astfel de sarcină va fi, desigur, diferită de utilitățile personalizate și produsele software. În ceea ce privește drepturile ei, ea ar fi mai degrabă asemănătoare cu demonii. Ea va primi acces exclusiv la dispozitiv, iar în raport cu utilizatorul însăși va fi mediul de operare, organizarea în felul tău unificarea, separarea și contabilizarea accesului la resursele grafice în modelul obiect. Prin urmare, se numește de obicei întregul complex de programe pentru lucrul cu dispozitive grafice subsistem grafic.

Dublarea funcțiilor este inevitabilă: sistemul se ocupă de autentificare și autorizare - și subsistem grafic este forțat să facă același lucru, deoarece este însărcinat cu datoria de a „împărtăși”. Mai mult, spre deosebire de același sistem de fișiere, însăși noțiunea Distribuirea resurselor intrarea sau ieșirea grafică pare, pentru a spune ușor, neevidente. Cum să partajați un mouse între utilizatori? ecranul monitorului? Aparent, va trebui să recunoaștem asta cu acest petreceri subsistem grafic există o singură persoană, dar căror subiecte aparțin programe care o folosesc, subsistem grafic necunoscut. Este, în general, ciudat să vorbim despre contabilizarea resurselor grafice, cu toate acestea, după cum vom vedea mai târziu, există o grămadă rațională în acest lucru, iar abordarea UNIX permite utilizarea acesteia.

Top articole similare