Matrice grafică video - Video Graphics Array

Matrice grafică video
Placă grafică IBM VGA.jpg
Data de lansare 1987 ; Acum 34 de ani ( 1987 )
Carduri
Nivel de intrare
Gama medie
High-end
Istorie
Predecesor Adaptor grafic îmbunătățit
Succesor

Video Graphics Array ( VGA ) este un controler de afișare video și un standard grafic de facto însoțitor, introdus pentru prima dată cu linia de computere IBM PS / 2 în 1987, care a devenit omniprezent în industria computerelor în termen de trei ani. Termenul se poate referi acum la standardul de afișare al computerului , la conectorul VGA subminiatural D cu 15 pini sau la rezoluția 640 × 480 caracteristică hardware-ului VGA.

VGA a fost ultimul standard grafic IBM la care s-au conformat majoritatea producătorilor de clone de PC-uri , făcându-l cel mai mic numitor comun pe care se poate aștepta să-l implementeze practic toate componentele grafice PC post-1990.

IBM intenționa să înlocuiască VGA cu standardul Extended Graphics Array (XGA), dar nu a reușit. În schimb, VGA a fost adaptat în multe forme extinse de către terți, cunoscute sub numele de Super VGA , apoi a dat loc unităților de procesare grafică personalizate care, pe lângă interfețele și capacitățile lor proprietare, continuă să implementeze moduri grafice VGA comune și interfețe în prezent zi.

Standardul de interfață analogică VGA a fost extins pentru a suporta rezoluții de până la 2048 × 1536 și chiar mai mari în aplicații speciale.

Proiectare hardware

Secțiunea VGA pe placa de bază în IBM PS / 55

Spre deosebire de adaptoarele grafice care l-au precedat ( MDA , CGA , EGA și multe opțiuni terțe), inițial nu exista o placă VGA discretă lansată de IBM. Prima implementare comercială a VGA a fost o componentă încorporată a IBM PS / 2, în care a fost însoțită de 256KB de RAM video și un nou conector DE-15 care înlocuia DE-9 folosit de adaptoarele grafice anterioare.

Ulterior, IBM a lansat adaptorul de afișare autonom IBM PS / 2 , care a folosit VGA, dar a putut fi adăugat la mașinile care nu l-au încorporat.

VGA a fost un singur cip care implementează întregul controler de afișare video, mai degrabă decât numeroasele componente discrete și circuite integrate ale adaptoarelor grafice care l-au precedat. Termenul „matrice”, mai degrabă decât „adaptor”, denumea faptul că nu era un dispozitiv complet de expansiune independent, ci o singură componentă care putea fi integrată într-un sistem.

VGA a necesitat doar memorie video, cristale de sincronizare și un RAMDAC extern , iar numărul mic de părți a permis IBM să o includă direct pe placa de bază PS / 2, spre deosebire de modelele anterioare de PC-uri IBM - PC , PC / XT și PC AT  - care a necesitat un adaptor de afișaj separat instalat într-un slot pentru a conecta un monitor.

Capacități

Compararea rezoluțiilor standard, inclusiv 640x480 ale VGA

VGA acceptă toate modurile grafice acceptate de cardurile MDA, CGA și EGA, precum și mai multe moduri noi.

Moduri grafice standard

  • 640 × 480 în 16 culori sau monocrom
  • 640 × 350 sau 640 × 200 în 16 culori sau monocrom (compatibilitate EGA)
  • 320 × 200 în 256 de culori ( Mod 13h )
  • 320 × 200 în 4 sau 16 culori (compatibilitate CGA)

Modurile de 640 × 480 cu 16 culori și 320 × 200 cu 256 de culori aveau palete complet redefinibile, fiecare intrare fiind selectată dintr-o gamă de 18 biți (262.144 culori) .

Celelalte moduri au fost implicite în paletele și instrucțiunile standard compatibile EGA sau CGA, dar au permis totodată remaparea paletei cu comenzi specifice VGA.

Mod grafic 640 × 480

Pe măsură ce VGA a început să fie clonată în cantități mari de către producătorii care au adăugat capacități tot mai mari, modul său de 640 × 480, cu 16 culori, a devenit cel mai mic numitor comun de facto al plăcilor grafice. Până la mijlocul anilor 1990, un sistem grafic de 640 × 480 × 16 folosind memoria VGA și specificațiile registrului era așteptat de sistemele de operare precum Windows 95 și OS / 2 Warp 3.0 , care nu furnizau suport pentru rezoluții mai mici sau adâncimi de biți sau suport pentru alte modele de memorie sau de înregistrare fără drivere suplimentare. Până în anii 2000, chiar și după ce standardul VESA pentru plăci grafice a devenit ceva obișnuit, modul grafic „VGA” a rămas o opțiune de compatibilitate pentru sistemele de operare PC.

Alte moduri grafice

Modurile de afișare non-standard pot fi implementate, cu rezoluții orizontale de:

  • Lățime de 512 până la 800 de pixeli, în 16 culori
  • Lățime de 256 până la 400 de pixeli, în 256 de culori

Și înălțimile:

  • 200 sau 350 până la 410 linii (inclusiv 400 de linii) la o rată de reîmprospătare de 70 Hz sau
  • 224 până la 256 sau 448 până la 512 linii (inclusiv 240 sau 480 de linii) la o rată de reîmprospătare de 60 Hz
  • 512 până la 600 de linii la rate de reîmprospătare verticale reduse (până la 50 Hz și inclusiv de exemplu 528, 544, 552, 560, 576-linie), în funcție de compatibilitatea monitorului individual.

De exemplu, modurile de înaltă rezoluție cu pixeli pătrate sunt disponibile la 768 × 576 sau 704 × 528 în 16 culori sau rezoluție medie-mică la 320 × 240 cu 256 de culori. Alternativ, rezoluția extinsă este disponibilă cu pixeli „grași” și 256 de culori folosind, de exemplu, 400 × 600 (50 Hz) sau 360 × 480 (60 Hz) și pixeli „subțiri”, 16 culori și rata de reîmprospătare de 70 Hz cu de exemplu 736 Modul × 410.

Modurile „înguste”, cum ar fi 256 × 224, tind să păstreze același raport de pixeli ca în modul 320 × 240, cu excepția cazului în care monitorul este reglat pentru a întinde imaginea pentru a umple ecranul, deoarece acestea sunt derivate pur și simplu prin mascarea modului mai larg modificarea temporizărilor pixelilor sau a liniilor, dar poate fi utilă pentru reducerea cerințelor de memorie și a calculelor de adresare a pixelilor pentru conversiile de jocuri arcade sau emulatoarele de consolă.

Moduri text standard

VGA implementează, de asemenea, mai multe moduri de text:

  • 80 × 25, redat cu un font de 9 × 16 pixeli, cu o rezoluție efectivă de 720 × 400
  • 40 × 25, cu un font 9 × 16, cu o rezoluție efectivă de 360 ​​× 400
  • 80 × 43 sau 80 × 50, cu o grilă de fonturi 8 × 8, cu o rezoluție efectivă de 640 × 344 sau 640 × 400 pixeli.

Ca și în cazul modurilor grafice bazate pe pixeli, sunt posibile moduri suplimentare de text prin programarea corectă a VGA, cu un maxim global de aproximativ 100 × 80 celule și o zonă activă care se întinde pe aproximativ 88 × 64 celule.

O variantă care este uneori văzută este 80 × 30 sau 80 × 60, folosind un font 8 × 16 sau 8 × 8 și un afișaj eficient de 640 × 480 pixeli, care utilizează modul de 60 Hz mai sclipitor pentru încă 5 sau 10 linii de text și blocuri de caractere pătrate (sau, la 80 × 30, semiblocuri pătrate).

Detalii tehnice

Spre deosebire de cardurile care l-au precedat, care foloseau semnale TTL binare pentru interfața cu un monitor (sau compozit , în cazul CGA), VGA a introdus o interfață video folosind semnale RGB analogice pure, 0,7 volți vârf-la-vârf max. Împreună cu un RAMDAC pe 18 biți, acesta a produs o gamă de culori de 262.144 culori. Această gamă a devenit bine cunoscută sub numele de spațiul de culori SRGB (dar este cel mai frecvent împărțit în 16.777.216 culori folosind un RAMDAC pe 24 de biți sau 8 biți pe culoare primară).

Urmează specificațiile originale VGA:

Timpurile semnalului

Valoarea standard intenționată pentru frecvența orizontală a modului 640 × 480 al VGA este exact dublă față de valoarea utilizată în sistemul video NTSC-M , deoarece acest lucru a făcut mult mai ușor să oferiți soluții opționale de ieșire TV sau cutii de conversie externe VGA-la-TV în momentul dezvoltării VGA. De asemenea, este cel puțin nominal de două ori mai mare decât CGA, care a acceptat și monitoare compozite .

Toate temporizările VGA derivate (adică cele care utilizează cristale master 25.175 și 28.322 MHz și, într-o măsură mai mică, rata nominală de linie de 31.469 kHz) pot fi variate prin software care ocolește interfața firmware-ului VGA și comunică direct cu hardware-ul VGA, ca multe jocuri bazate pe MS-DOS au făcut-o. Cu toate acestea, numai modurile standard sau modurile care utilizează cel puțin exact aceleași sincronizări H și sincronizare V ca unul dintre modurile standard, pot fi de așteptat să funcționeze cu monitoarele VGA originale de la sfârșitul anilor 1980 și începutul anilor 1990. Utilizarea altor temporizări poate de fapt deteriora astfel de monitoare și astfel a fost de obicei evitată de editorii de software.

Monitoarele CRT „multisincronizate” ale unor terțe părți erau mai flexibile și, în combinație cu plăcile grafice „super EGA”, VGA și ulterior SVGA, folosind moduri extinse, puteau afișa o gamă mult mai largă de rezoluții și rate de reîmprospătare la frecvențe de sincronizare arbitrare și ceas de pixeli tarife.

Pentru cel mai obișnuit mod VGA (640 × 480, 60 Hz, neîntrerupt ), temporizările orizontale pot fi găsite în Ghidul de instalare a afișajului HP Super VGA și în alte locuri.

Utilizări tipice ale modurilor selectate

640 × 400 @ 70 Hz este în mod tradițional modul video utilizat pentru pornirea computerelor personale x86 compatibile VGA care arată un ecran grafic de pornire, în timp ce pornirea în modul text utilizează 720 × 400 @ 70 Hz.

Această convenție a fost erodată în ultimii ani, cu toate acestea, ecranele POST și BIOS trecând la rezoluții mai mari, profitând de datele EDID pentru a potrivi rezoluția cu un monitor conectat.

640 × 480 @ 60 Hz este modul grafic Windows implicit (de obicei cu 16 culori), până la Windows 2000. Rămâne o opțiune în XP și versiunile ulterioare prin meniul de încărcare opțiunea „video cu rezoluție redusă” și setările modului de compatibilitate pe aplicație , deși Windows implicit acum la 1024 × 768 și, în general, nu permite setarea unei rezoluții sub 800 × 600.

Nevoia unei astfel de rezerve de calitate scăzută, universal compatibile, a scăzut de la începutul mileniului, întrucât ecranele standard sau semnalele VGA sau adaptoarele incapabile să arate ceva dincolo de rezoluțiile inițiale au devenit din ce în ce mai rare.

320 × 200 la 70 Hz a fost cel mai comun mod pentru jocurile pentru PC din epoca VGA.

Conector

Un conector D-SUB (mai bine cunoscut sub numele de conector VGA )
Conectori VGA BNC

Interfața standard a monitorului VGA este un conector subminiatural D cu 15 pini în carcasa „E”, denumită în mod diferit „HD-15”, „DE-15” și „DB-15”.

Deoarece VGA utilizează semnale analogice de joasă tensiune, degradarea semnalului devine un factor cu cabluri de calitate scăzută sau prea lungi. Soluțiile includ cabluri ecranate, cabluri care includ un cablu coaxial intern separat pentru fiecare semnal de culoare și cabluri „rupte” care utilizează un cablu coaxial separat cu un conector BNC pentru fiecare semnal de culoare.

Cablurile BNC Breakout utilizează de obicei cinci conectori, unul pentru roșu, verde, albastru, sincronizare orizontală și sincronizare verticală și nu includ celelalte linii de semnal ale interfeței VGA. Cu BNC, firele coaxiale sunt ecranate complet de la un capăt la altul și prin interconectare, astfel încât să nu existe nicio diafragmă sau interferențe externe.

Paleta de culori

Paletă de culori implicită VGA 256
Exemple de imagini VGA în 640 × 480 cu 16 culori și 320 × 200 cu 256 de culori (jos). Ditheringul este folosit pentru a masca limitările culorilor.

Sistemul de culori VGA folosește palete bazate pe registre pentru a mapa culorile în diferite adâncimi de biți la gama sa de ieșire pe 18 biți. Este compatibil înapoi cu adaptoarele EGA și CGA, dar acceptă o adâncime de bit suplimentară pentru paletă atunci când se află în aceste moduri.

De exemplu, când în modurile EGA cu 16 culori, VGA oferă 16 registre de palete, iar în modurile cu 256 de culori, oferă 256 de registre. Fiecare registru de paletă conține o valoare RGB de 3 × 6 biți , selectând o culoare din gama de 18 biți a DAC .

Aceste registre de culori sunt inițializate la valorile implicite pe care IBM le aștepta să fie cele mai utile pentru fiecare mod. De exemplu, modurile EGA 16 culori se inițializează la paleta implicită CGA 16 culori, iar modul 256 culori se inițializează la o paletă formată din 16 culori CGA, 16 nuanțe de gri și apoi 216 culori alese de IBM pentru a se potrivi cu cazurile de utilizare așteptate . După inițializare, acestea pot fi redefinite în orice moment, fără a modifica conținutul RAM-ului video, permițând ciclul paletei .

În modurile cu 256 de culori, DAC este setat să combine patru valori de culoare pe 2 biți, una din fiecare plan, într-o valoare de 8 biți reprezentând un index în paleta de 256 de culori. Interfața CPU combină cele 4 planuri în același mod, o caracteristică numită "chain-4", astfel încât fiecare pixel să apară CPU ca o valoare de 8 biți împachetată care reprezintă indicele paletei.

Utilizare

Memoria video a VGA este mapată la memoria computerului printr-o fereastră cuprinsă între segmentele 0xA0000 și 0xBFFFF în spațiul de adresă al modului real al computerului (A000: 0000 și B000: FFFF în segment: notație offset). De obicei, aceste segmente de pornire sunt:

  • 0xA0000 pentru modurile grafice EGA / VGA (64  KB )
  • 0xB0000 pentru modul text monocrom (32 KB)
  • 0xB8000 pentru modul text color și modurile grafice compatibile CGA (32 KB)

Datorită utilizării diferitelor mapări de adrese pentru diferite moduri, este posibil să aveți un adaptor monocrom (adică MDA sau Hercules ) și un adaptor de culoare precum VGA, EGA sau CGA instalat în aceeași mașină.

La începutul anilor 1980, acest lucru a fost folosit de obicei pentru a afișa foi de calcul Lotus 1-2-3 în text de înaltă rezoluție pe un ecran monocrom și grafică asociată pe un afișaj CGA cu rezoluție mică. Mulți programatori au folosit, de asemenea, o astfel de configurație cu cardul monocrom care afișează informații de depanare în timp ce un program rulează în modul grafic pe cealaltă placă. Mai multe depanatoare, cum ar fi Borland's Turbo Debugger , D86 și CodeView ale Microsoft ar putea funcționa într-o configurare cu monitor dual. Fie Turbo Debugger, fie CodeView ar putea fi utilizate pentru a depana Windows.

Au existat, de asemenea, drivere de dispozitiv DOS, cum ar fi ox.sys, care au implementat o simulare a interfeței seriale pe afișajul monocrom și, de exemplu, au permis utilizatorului să primească mesaje de blocare de la versiunile de depanare ale Windows fără a utiliza un terminal serial real.

De asemenea, este posibil să utilizați comanda „MODE MONO” la promptul DOS pentru a redirecționa ieșirea către afișajul monocrom. Când un adaptor monocrom nu a fost prezent, a fost posibil să se utilizeze spațiul de adrese 0xB000–0xB7FF ca memorie suplimentară pentru alte programe.

Programare

„Deconectarea” memoriei VGA de 256 KB în patru „planuri” separate face ca cei 256 KB de RAM ai VGA să fie disponibili în moduri cu 256 de culori. Există un compromis pentru o complexitate suplimentară și pierderi de performanță în unele tipuri de operații grafice, dar acest lucru este atenuat de alte operații care devin mai rapide în anumite situații:

  • Umplerea poligonului cu o singură culoare ar putea fi accelerată datorită capacității de a seta patru pixeli cu o singură scriere pe hardware.
  • Adaptorul video ar putea ajuta la copierea regiunilor RAM video, ceea ce uneori a fost mai rapid decât a face acest lucru cu interfața relativ lentă CPU-la-VGA.
  • Utilizarea mai multor pagini video în hardware a permis tamponare dublă , triplă tamponare sau ecrane împărțite, care, deși disponibile în modul VGA 320 × 200 cu 16 culori, nu a fost posibilă folosind modul stoc 13h .
  • Mai ales, au fost posibile mai multe moduri de afișare cu rezoluție arbitrară mai mare, până la limita programabilă de 800 × 600 cu 16 culori (sau 400 × 600 cu 256 de culori), precum și alte moduri personalizate folosind combinații neobișnuite de orizontală și numărul de pixeli vertical în fiecare mod de culoare.

Software-uri precum Fractint , Xlib și ColoRIX au acceptat, de asemenea, moduri de 256 culori modificate pe adaptoare standard, folosind lățimi de 256, 320 și 360 pixeli și înălțimi de 200, 240 și 256 (sau 400, 480 și 512), care pot fi combinate în mod liber. mai departe de 384 sau 400 de coloane de pixeli și 576 sau 600 (sau 288, 300). Cu toate acestea, 320 × 240 a fost cel mai cunoscut și cel mai frecvent utilizat, deoarece oferea o rezoluție standard de 40 coloane și un raport de aspect 4: 3 cu pixeli pătrati. Rezoluția „320 × 240 × 8” a fost denumită în mod obișnuit Mode X , numele folosit de Michael Abrash atunci când a prezentat rezoluția în Jurnalul Dr. Dobb .

Cele mai mari moduri de rezoluție au fost folosite doar în cazuri speciale, opt-in, mai degrabă decât ca standard, în special acolo unde au fost implicate numărări mari de linii. Monitoarele VGA standard aveau o rată fixă ​​de scanare pe linie (scanare H) - monitoarele „multisincronizate” fiind, la vremea respectivă, rarități scumpe - și astfel rata de reîmprospătare verticală / cadru (scanare V) trebuia redusă pentru a le putea adapta , care a crescut pâlpâirea vizibilă și astfel încordarea ochilor . De exemplu, cel mai înalt mod 800 × 600, bazându-se pe rezoluția SVGA potrivită (cu 628 linii totale), a redus rata de reîmprospătare de la 60 Hz la aproximativ 50 Hz (și 832 × 624, rezoluția teoretică maximă realizabilă cu 256 kb la 16 culori, l-ar fi redus la aproximativ 48 Hz, abia mai mare decât rata la care monitoarele XGA foloseau o tehnică de întrepătrundere cu dublă frecvență pentru a atenua pâlpâirea full-frame).

Aceste moduri au fost, de asemenea, direct incompatibile cu unele monitoare, producând probleme de afișare, cum ar fi detaliile imaginii care dispar în suprascanare (în special în dimensiunea orizontală), rola verticală, sincronizarea orizontală slabă sau chiar o lipsă completă de imagine în funcție de modul exact încercat. Datorită acestor potențiale probleme, majoritatea modificărilor VGA utilizate în produsele comerciale au fost limitate la mai multe combinații care respectă standardele, „monitorizare sigură”, cum ar fi 320 × 240 (pixeli pătrati, trei pagini video, 60 Hz), 320 × 400 (dublu rezoluție, două pagini video, 70 Hz) și 360 × 480 (cea mai mare rezoluție compatibilă atât cu monitoarele VGA standard, cât și cu cardurile, o pagină video, 60 Hz) în 256 de culori sau dublează rezoluția orizontală în modul cu 16 culori.

Producătorii de hardware

Mai multe companii au produs modele de plăci grafice compatibile VGA.

Succesori

Super VGA (SVGA)

Super VGA (SVGA) este un standard de afișaj dezvoltat în 1988, când NEC Home Electronics a anunțat crearea Asociației Standardelor Video Electronics (VESA). Dezvoltarea SVGA a fost condusă de NEC , împreună cu alți membri VESA, inclusiv ATI Technologies și Western Digital . Grafica activată SVGA afișează rezoluții de până la 800 × 600 pixeli , cu 36% mai mult decât rezoluția maximă VGA de 640 × 480 pixeli.

Extindere grafică extinsă (XGA)

Extended Graphics Array (XGA) este un standard de afișare IBM introdus în 1990. Mai târziu a devenit cea mai comună denumire a rezoluției de afișare de 1024  ×  768 pixeli .

Vezi si

Referințe

Lecturi suplimentare

linkuri externe