Video Graphics Array - Video Graphics Array

Videografikmatris
IBM VGA -grafikkort.jpg
Utgivningsdatum 1987 ; 34 år sedan ( 1987 )
Kort
Nybörjarnivå
Mellanklass
High-end
Historia
Företrädare Förbättrad grafikkort
Efterträdare

Video Graphics Array ( VGA ) är en bildskärmskontroller och medföljande de facto -grafikstandard, som först introducerades med IBM PS/2 -serien 1987, som blev allestädes närvarande i PC -industrin inom tre år. Termen kan nu hänvisa till datorns bildskärmsstandard , den 15-poliga D-subminiatyr- VGA-kontakten eller upplösningen på 640 × 480 som är karakteristisk för VGA-hårdvaran.

VGA var den sista IBM-grafikstandarden som majoriteten av PC-klontillverkare överensstämde med, vilket gör den till den lägsta gemensamma nämnaren som nästan all PC-grafikmaskinvara efter 1990 kan förväntas implementera.

IBM avsåg att ersätta VGA med XGA -standarden ( Extended Graphics Array ), men misslyckades. I stället anpassades VGA till många utökade former av tredje parter, gemensamt kända som Super VGA , och gav efter för anpassade grafikbehandlingsenheter som, förutom sina egna gränssnitt och funktioner, fortsätter att implementera vanliga VGA -grafiklägen och gränssnitt till nuet dag.

Standarden för analogt VGA -gränssnitt har utökats för att stödja upplösningar på upp till 2048 × 1536 och ännu högre i speciella applikationer.

Hårdvarudesign

VGA -sektion på moderkortet i IBM PS/55

Till skillnad från de grafikkort som föregick det ( MDA , CGA , EGA och många alternativ från tredje part) fanns det ursprungligen inget diskret VGA-kort som släpptes av IBM. Den första kommersiella implementeringen av VGA var en inbyggd komponent i IBM PS/2, där den åtföljdes av 256 KB video-RAM och en ny DE-15-kontakt som ersatte DE-9 som använts av tidigare grafikkort.

IBM släppte senare den fristående IBM PS/2 Display Adapter , som använde VGA men kunde läggas till på maskiner som inte hade den inbyggd.

VGA var ett enda chip som implementerade hela en bildskärmskontroller, snarare än de många diskreta komponenterna och IC: erna för de grafikkort som hade föregått den. Termen "array" snarare än "adapter" i namnet betecknade att det inte var en komplett oberoende expansionsanordning, utan en enda komponent som kunde integreras i ett system.

VGA krävde bara videominne, timingkristaller och en extern RAMDAC , och dess lilla delantal gjorde det möjligt för IBM att inkludera det direkt på PS/2 -moderkortet, i motsats till tidigare IBM PC -modeller - PC , PC/XT och PC AT  - som krävde en separat bildskärmsadapter installerad i en kortplats för att ansluta en bildskärm.

Förmågor

Jämförelse av standardupplösningar inklusive VGA: s 640x480

VGA stöder alla grafiklägen som stöds av MDA-, CGA- och EGA -kort samt flera nya lägen.

Standard grafiklägen

  • 640 × 480 i 16 färger eller svartvitt
  • 640 × 350 eller 640 × 200 i 16 färger eller svartvitt (EGA -kompatibilitet)
  • 320 × 200 i 256 färger ( läge 13h )
  • 320 × 200 i 4 eller 16 färger (CGA -kompatibilitet)

Lägena 640 × 480 16-färger och 320 × 200 256-färger hade helt omdefinierbara paletter, där varje post valdes från ett 18-bitars (262,144-färg) område .

De andra lägena standardiserade till standard EGA- eller CGA-kompatibla paletter och instruktioner, men tillät fortfarande ommappning av paletten med VGA-specifika kommandon.

640 × 480 grafikläge

När VGA började klonas i stora mängder av tillverkare som lade till ständigt ökande kapacitet, blev dess 640 × 480, 16-färgsläge den de facto lägsta gemensamma nämnaren för grafikkort. I mitten av 1990 -talet förväntades ett 640 × 480 × 16 grafikläge med VGA -minne och registerspecifikationer av operativsystem som Windows 95 och OS/2 Warp 3.0 , vilket inte gav stöd för lägre upplösningar eller bitdjup eller stöd för andra minnes- eller registerlayouter utan ytterligare drivrutiner. Väl in på 2000 -talet, även efter att VESA -standarden för grafikkort blev vanlig, förblev "VGA" -grafikläget ett kompatibilitetsalternativ för PC -operativsystem.

Andra grafiklägen

Icke -standardiserade visningslägen kan implementeras med horisontella upplösningar av:

  • 512 till 800 pixlar bred, i 16 färger
  • 256 till 400 pixlar breda, i 256 färger

Och höjder på:

  • 200 eller 350 till 410 rader (inklusive 400 rader) vid 70 Hz uppdateringsfrekvens, eller
  • 224 till 256 eller 448 till 512 rader (inklusive 240 eller 480 rader) vid 60 Hz uppdateringsfrekvens
  • 512 till 600 rader med reducerade vertikala uppdateringsfrekvenser (ner till 50 Hz och inklusive t.ex. 528, 544, 552, 560, 576-rader), beroende på individuell skärmkompatibilitet.

Till exempel är högupplösta lägen med kvadratiska pixlar tillgängliga vid 768 × 576 eller 704 × 528 i 16 färger, eller medellåg upplösning på 320 × 240 med 256 färger. Alternativt finns utökad upplösning tillgänglig med "feta" pixlar och 256 färger med t.ex. 400 × 600 (50 Hz) eller 360 × 480 (60 Hz) och "tunna" pixlar, 16 färger och 70 Hz uppdateringsfrekvens med t.ex. 736 × 410 -läge.

"Smala" lägen som 256 × 224 tenderar att behålla samma pixelförhållande som i t.ex. 320 × 240 -läget om inte skärmen justeras för att sträcka ut bilden för att fylla skärmen, eftersom de härleds genom att maskera ner det bredare läget istället att ändra pixel- eller linjetider, men kan vara användbart för att minska minneskraven och pixeladressberäkningar för arkadspelkonverteringar eller konsolemulatorer.

Standard textlägen

VGA implementerar också flera textlägen:

  • 80 × 25, återges med ett 9 × 16 pixelteckensnitt, med en effektiv upplösning på 720 × 400
  • 40 × 25, med ett 9 × 16 -teckensnitt, med en effektiv upplösning på 360 × 400
  • 80 × 43 eller 80 × 50, med ett 8 × 8 teckensnittsrutnät, med en effektiv upplösning på 640 × 344 eller 640 × 400 pixlar.

Precis som med de pixelbaserade grafiklägena är ytterligare textlägen möjliga genom att programmera VGA korrekt, med ett totalt antal på cirka 100 × 80 celler och ett aktivt område som spänner över cirka 88 × 64 celler.

En variant som ibland ses är 80 × 30 eller 80 × 60, med ett 8 × 16 eller 8 × 8 teckensnitt och en effektiv 640 × 480 pixel display, som byter användning av det mer flimmeriga 60 Hz -läget för ytterligare 5 eller 10 textrader och fyrkantiga teckenblock (eller, vid 80 × 30, fyrkantiga halvblock).

Tekniska detaljer

Till skillnad från korten som föregick den, som använde binära TTL- signaler för att ansluta till en bildskärm (eller komposit , i fallet med CGA), introducerade VGA ett videogränssnitt med rena analoga RGB-signaler, 0,7 volt topp-till-topp max. I kombination med en 18-bitars RAMDAC gav detta ett färgomfång på 262 144 färger. Detta spektrum har blivit välkänt som SRGB- färgutrymmet (men det är oftast uppdelat i 16 777 216 färger med en 24-bitars RAMDAC eller 8-bitar per primärfärg).

De ursprungliga VGA -specifikationerna följer:

Signaltider

Det avsedda standardvärdet för den horisontella frekvensen i VGA: s 640 × 480-läge är exakt det dubbla av värdet som används i NTSC-M- videosystemet, eftersom det gjorde det mycket lättare att erbjuda valfria TV-out- lösningar eller externa VGA-till-TV-omvandlingsboxar vid VGA: s utveckling. Det är också minst nominellt dubbelt så mycket som CGA, som också stöder sammansatta bildskärmar .

Alla härledda VGA -tidpunkter (dvs. de som använder master 25.175 och 28.322 MHz kristaller och, i mindre utsträckning, den nominella 31.469 kHz linjefrekvensen) kan varieras med programvara som kringgår VGA -firmware -gränssnittet och kommunicerar direkt med VGA -hårdvaran, som många MS-DOS-baserade spel gjorde. Men bara standardlägena, eller lägen som åtminstone använder nästan exakt samma H-synk- och V-synkroniseringstider som ett av standardlägena, kan förväntas fungera med de ursprungliga VGA-skärmarna från slutet av 1980-talet och början av 1990-talet. Användningen av andra tidpunkter kan faktiskt skada sådana bildskärmar och undviks därför vanligtvis av programvaruutgivare.

Tredjeparts "multisynkroniserade" CRT-bildskärmar var mer flexibla och i kombination med "super EGA", VGA och senare SVGA-grafikkort med utökade lägen kunde de visa ett mycket bredare antal upplösningar och uppdateringsfrekvenser vid godtyckliga synkroniseringsfrekvenser och pixelklocka priser.

För det vanligaste VGA-läget (640 × 480, 60 Hz, icke-interlaced ) finns de horisontella tidpunkterna i HP Super VGA-skärmens installationsguide och på andra ställen.

Typiska användningsområden för utvalda lägen

640 × 400 @ 70 Hz är traditionellt videoläget som används för att starta VGA-kompatibla x86- persondatorer som visar en grafisk startskärm, medan textlägesstart använder 720 × 400 @ 70 Hz.

Den här konventionen har dock urholkats under de senaste åren, med POST- och BIOS -skärmar som flyttar till högre upplösningar och utnyttjar EDID -data för att matcha upplösningen till en ansluten bildskärm.

640 × 480 @ 60 Hz är standard Windows-grafikläge (vanligtvis med 16 färger), upp till Windows 2000. Det förblir ett alternativ i XP och senare versioner via startmenyn "lågupplöst video" och inställningar för kompatibilitetsläge per applikation , trots att Windows nu är standard på 1024 × 768 och i allmänhet inte tillåter någon upplösning under 800 × 600.

Behovet av en så lågkvalitativ, universellt kompatibel fallback har minskat sedan millennieskiftet, eftersom skärmar eller adaptrar med VGA-signalstandard som inte kan visa något utöver de ursprungliga upplösningarna har blivit allt mer sällsynta.

320 × 200 vid 70 Hz var det vanligaste läget för VGA-era PC-spel.

Anslutning

En D-SUB-kontakt (mer känd som VGA-kontakt )
VGA BNC -kontakter

Standardgränssnittet för VGA-bildskärm är en 15-polig D-subminiatyrkontakt i "E" -skalet, olika kallat "HD-15", "DE-15" och "DB-15".

Eftersom VGA använder lågspänningsanalogsignaler blir signalnedbrytning en faktor med lågkvalitativa eller alltför långa kablar. Lösningarna inkluderar skärmade kablar, kablar som innehåller en separat intern koaxialkabel för varje färgsignal och "utbrutna" kablar som använder en separat koaxialkabel med en BNC -kontakt för varje färgsignal.

BNC -brytkablar använder vanligtvis fem kontakter, var och en för röd, grön, blå, horisontell synkronisering och vertikal synkronisering, och inkluderar inte de andra signallinjerna i VGA -gränssnittet. Med BNC är koaxialtrådarna helt skärmade från ände till ände och genom sammankopplingen så att ingen överhörning eller yttre störningar är möjliga.

Färgpalett

VGA 256 standardfärgspalett
Exempel på VGA -bilder i 640 × 480 med 16 färger och 320 × 200 med 256 färger (nedtill). Dithering används för att maskera färgbegränsningar.

VGA-färgsystemet använder registerbaserade paletter för att kartlägga färger i olika bitdjup till sitt 18-bitars utmatningsområde. Det är bakåtkompatibelt med EGA- och CGA -adaptrar, men stöder extra bitdjup för paletten i dessa lägen.

Till exempel, i EGA 16-färglägen, erbjuder VGA 16 palettregister, och i 256-färglägen erbjuder den 256 register. Varje palettregister innehåller ett 3 × 6-bitars RGB-värde och väljer en färg från DAC: s 18-bitars spektrum .

Dessa färgregister initieras till standardvärden som IBM förväntas vara mest användbara för varje läge. Exempelvis initieras EGA 16-färglägen till standard CGA 16-färgspalett, och 256-färgläget initieras till en palett bestående av 16 CGA-färger, 16 grå nyanser och sedan 216 färger som väljs av IBM för att passa förväntade användningsfall . Efter initialisering kan de när som helst omdefinieras utan att innehållet i video -RAM -minnet ändras, vilket möjliggör palettcykling .

I 256-färglägen är DAC inställd på att kombinera fyra 2-bitars färgvärden, ett från varje plan, till ett 8-bitars värde som representerar ett index i paletten med 256 färger. CPU-gränssnittet kombinerar de fyra planen på samma sätt, en funktion som kallas "chain-4", så att varje pixel visas för CPU: n som ett packat 8-bitars värde som representerar palettindexet.

Använda sig av

Videominnet för VGA mappas till datorns minne via ett fönster i intervallet mellan segmenten 0xA0000 och 0xBFFFF i datorns adressutrymme i verkligt läge (A000: 0000 och B000: FFFF i segment: offsetnotation). Normalt är dessa startsegment:

  • 0xA0000 för EGA/VGA grafiklägen (64  KB )
  • 0xB0000 för svartvit textläge (32 KB)
  • 0xB8000 för färgtextläge och CGA-kompatibla grafiklägen (32 KB)

På grund av användningen av olika adressmappningar för olika lägen är det möjligt att ha en svartvit adapter (dvs MDA eller Hercules ) och en färgadapter som VGA, EGA eller CGA installerad i samma maskin.

I början av 1980-talet användes detta vanligtvis för att visa Lotus 1-2-3- kalkylblad i högupplöst text på en svartvit skärm och tillhörande grafik på en lågupplöst CGA-skärm samtidigt. Många programmerare använde också en sådan inställning med det svartvita kortet som visar felsökningsinformation medan ett program kördes i grafikläge på det andra kortet. Flera felsökare, som Borlands Turbo Debugger , D86 och Microsofts CodeView kan fungera i en dubbelmonitor. Antingen Turbo Debugger eller CodeView kan användas för att felsöka Windows.

Det fanns också DOS -enhetsdrivrutiner som t.ex. som ox.sysimplementerade en seriell gränssnittssimulering på den svartvita skärmen och till exempel tillät användaren att ta emot kraschmeddelanden från felsökningsversioner av Windows utan att använda en verklig seriell terminal.

Det är också möjligt att använda kommandot "MODE MONO" vid DOS -prompten för att omdirigera utmatningen till monokrom display. När en monokrom adapter inte fanns, var det möjligt att använda adressutrymmet 0xB000–0xB7FF som extra minne för andra program.

Programmering

"Koppla ur" 256 KB VGA-minnet i fyra separata "plan" gör VGA: s 256 KB RAM tillgängligt i 256-färglägen. Det finns en avvägning för extra komplexitet och prestandaförlust i vissa typer av grafikoperationer, men detta mildras genom att andra operationer blir snabbare i vissa situationer:

  • Enfärgad polygonfyllning kan påskyndas på grund av möjligheten att ställa in fyra pixlar med en enda skrivning till hårdvaran.
  • Videoadaptern kan hjälpa till att kopiera video-RAM-regioner, vilket ibland var snabbare än att göra detta med det relativt långsamma CPU-till-VGA-gränssnittet.
  • Användningen av flera videosidor i hårdvara tillät dubbelbuffert , trippelbuffert eller delade skärmar, vilket, trots att det var tillgängligt i VGA: s 320 × 200 16-färgsläge, inte var möjligt med lagerläge 13h .
  • I synnerhet var flera högre visningslägen med godtycklig upplösning möjliga, ända upp till den programmerbara gränsen på 800 × 600 med 16 färger (eller 400 × 600 med 256 färger), liksom andra anpassade lägen som använder ovanliga kombinationer av horisontella och vertikala pixlar i båda färglägena.

Programvara som Fractint , Xlib och ColoRIX stödde också tweaked 256-färglägen på standardadaptrar med fritt kombinerbara bredder på 256, 320 och 360 pixlar och höjder på 200, 240 och 256 (eller 400, 480 och 512) linjer, som sträcker sig ännu längre till 384 eller 400 pixelkolumner och 576 eller 600 (eller 288, 300). 320 × 240 var dock den mest kända och mest använda, eftersom den erbjöd en standardupplösning på 40 kolumner och bildförhållandet 4: 3 med kvadratiska pixlar. "320 × 240 × 8" upplösning kallades vanligtvis Mode X , namnet som Michael Abrash använde när han presenterade upplösningen i Dr. Dobb's Journal .

De högsta upplösningslägen användes bara i speciella fall för val av opt-in snarare än som standard, särskilt när höga räkningar var inblandade. Standard VGA-bildskärmar hade en fast linjeskanningshastighet (H-scan)-"multisynkroniserade" bildskärmar var vid den tiden dyra rariteter-och därför måste den vertikala/ram (V-scan) uppdateringsfrekvensen reduceras för att rymma dem , vilket ökade synligt flimmer och därmed ögonbelastning . Till exempel reducerade det högsta 800 × 600 -läget, som annars är baserat på matchande SVGA -upplösning (med totalt 628 rader), uppdateringsfrekvensen från 60 Hz till cirka 50 Hz (och 832 × 624, den teoretiska maximala upplösningen som kan uppnås med 256 kb vid 16 färger, skulle ha reducerat den till cirka 48 Hz, knappt högre än den hastighet med vilken XGA-bildskärmar använde en dubbelfrekvent sammanflätningsteknik för att mildra fullformatflimmer).

Dessa lägen var också direkt oförenliga med vissa bildskärmar, vilket gav bildskärmsproblem som bilddetaljer som försvann i överscan (särskilt i den horisontella dimensionen), vertikal rulle, dålig horisontell synkronisering eller till och med en fullständig bildbrist beroende på det exakta läget som försökts. På grund av dessa potentiella problem begränsades de flesta VGA-tweaks som används i kommersiella produkter till mer standardkompatibla, "bildskyddssäkra" kombinationer, till exempel 320 × 240 (kvadratpixlar, tre videosidor, 60 Hz), 320 × 400 (dubbla upplösning, två videosidor, 70 Hz) och 360 × 480 (högsta upplösningen är kompatibel med både vanliga VGA-bildskärmar och kort, en videosida, 60 Hz) i 256 färger eller dubbla den horisontella upplösningen i 16-färgsläge.

Hårdvarutillverkare

Flera företag producerade VGA -kompatibla grafikkortsmodeller.

Efterträdare

Super VGA (SVGA)

Super VGA (SVGA) är en bildskärmsstandard som utvecklades 1988, när NEC Home Electronics tillkännagav skapandet av Video Electronics Standards Association (VESA). Utvecklingen av SVGA leddes av NEC , tillsammans med andra VESA -medlemmar, inklusive ATI Technologies och Western Digital . SVGA -aktiverade grafikskärmsupplösningar upp till 800 × 600 pixlar , 36% mer än VGA: s maximala upplösning på 640 × 480 pixlar.

Extended Graphics Array (XGA)

Extended Graphics Array (XGA) är en IBM -skärmstandard som introducerades 1990. Senare blev den den vanligaste benämningen på 1024  ×  768 pixlar skärmupplösning .

Se även

Referenser

Vidare läsning

externa länkar