VGA: erinevus redaktsioonide vahel

Allikas: Vikipeedia
Eemaldatud sisu Lisatud sisu
Pummy (arutelu | kaastöö)
Resümee puudub
Pummy (arutelu | kaastöö)
Resümee puudub
2. rida: 2. rida:




'''VGA''' ehk inglise keeles '''Video Graphics Array''' viitab eelkõige kuvari riistvarale, mida tutvustati esmakordselt 1987-l aastal IBM PS/2 tüüpi arvutitel, kuid tänu selle laialdasele kasutusvõtule on samuti hakatud seda väljendit kasutama ka analoog arvutikuvaristandardi, 15-kontaktilise D-subminiature VGA konnektori või ka 640x480 resolutsiooni puhul. Kuigi see resolutsioon suri personaalarvutite turul 1990-ndatel aastatel välja, on see saamas populaarseks resolutsiooniks mobiilseadete hulgas.
'''VGA''' ehk inglise keeles '''Video Graphics Array''' viitab eelkõige kuvari [[riistvara]]le, mida tutvustati esmakordselt 1987-l aastal [[IBM PS/2]] tüüpi arvutitel, kuid tänu selle laialdasele kasutusvõtule on samuti hakatud seda väljendit kasutama ka analoog arvutikuvaristandardi, 15-kontaktilise D-subminiature VGA konnektori või ka 640x480 [[resolutsioon]]i puhul. Kuigi see resolutsioon suri personaalarvutite turul 1990-ndatel aastatel välja, on see saamas populaarseks resolutsiooniks mobiilseadete hulgas.


VGA oli viimane [[IBM]]-i loodud graafikastandard, millele suurem osa "[[PC klooni]]" tootjatest vastasid, tehes sellest tänase päeva (aasta 2010) üheks vähestest standarditest, mille puhul kõikide PC graafika riistvaralistel lahendustel võib eeldada sellele vastavust ilma seadmele vastava tarkvarata.
VGA oli viimane [[IBM]]-i loodud graafikastandard, millele suurem osa "[[PC klooni]]" tootjatest vastasid, tehes sellest tänase päeva (aasta 2010) üheks vähestest standarditest, mille puhul kõikide PC graafika riistvaralistel lahendustel võib eeldada sellele vastavust ilma seadmele vastava tarkvarata.
12. rida: 12. rida:
[[Image:Vector Video Standards2.svg|256px|thumb|VGA võrdluses teiste standarditega.]]
[[Image:Vector Video Standards2.svg|256px|thumb|VGA võrdluses teiste standarditega.]]


VGA-d nimetatakse array-ks, mitte aga adapteriks, sest see oli algselt rakendatud üheainsa kiibina ([[ASIC]]), asendades Motorola 6845 ja tosinaid teisi loogilisi kiibistikke, mis hõlmasid endas [[MDA]], [[CGA]] ja [[EGA]] täispikkuses [[ISA]] [[graafikakaart]]e. Kuna VGA oli ühekiibiline, siis sai teda vähese pingutusega ka paigutada otse arvuti [[emaplaat|emaplaadile]] (vajalikud olid ainult videomälu, ([[taktsagedus]]e) ajastuskristall ja väline [[RAMDAC]]) ja esimesed IBM PS/2 mudelid olid varustatud emaplaadile integreeritud VGA-ga. (Võrdluseks võib tuua "esimese põlvkonna" IBM PC desktop mudelid - PC [machine-type 5150], PC/XT [5160], and PC AT [5170] - mis vajasid ekraani ühendamiseks siinile installeeritud kuvaadapterit.
VGA-d nimetatakse array-ks, mitte aga adapteriks, sest see oli algselt rakendatud üheainsa kiibina ([[ASIC]]), asendades Motorola 6845 ja tosinaid teisi loogilisi kiibistikke, mis hõlmasid endas [[IBM monokroomne kuvaadapter|MDA]], [[CGA]] ja [[EGA]] täispikkuses [[ISA]] [[graafikakaart]]e. Kuna VGA oli ühekiibiline, siis sai teda vähese pingutusega ka paigutada otse arvuti [[emaplaat|emaplaadile]] (vajalikud olid ainult videomälu, ([[taktsagedus]]e) ajastuskristall ja väline [[RAMDAC]]) ja esimesed IBM PS/2 mudelid olid varustatud emaplaadile integreeritud VGA-ga. (Võrdluseks võib tuua "esimese põlvkonna" IBM PC desktop mudelid - PC [machine-type 5150], PC/XT [5160], and PC AT [5170] - mis vajasid ekraani ühendamiseks siinile installeeritud kuvaadapterit.


VGA spetsifikatsioonid (tehnilised andmed) on järgmised:
VGA spetsifikatsioonid (tehnilised andmed) on järgmised:


*256 KB Video [[RAM]]-i (Esimesi kaarte oli võimalik tellida ka 64 KB või 128 KB RAM-iga, kaotades sellega aga mõned videorežiimid)
*256 KB Video [[muutmälu|RAM]]-i (Esimesi kaarte oli võimalik tellida ka 64 KB või 128 KB RAM-iga, kaotades sellega aga mõned videorežiimid)
*16 värviga ja 256 värviga režiim
*16 värviga ja 256 värviga režiim
*262 144 väärtusega [[värvipalett]] (6 bitti kanali kohta, ehk punasele 6 bitti, sinisele 6 bitti ning rohelisele 6 bitti)
*262 144 väärtusega [[värvipalett]] (6 bitti kanali kohta, ehk punasele 6 bitti, sinisele 6 bitti ning rohelisele 6 bitti)
107. rida: 107. rida:
[[Image:Torak.gif|thumb|256px|Vga piltide näited 640×480×16 režiim (üleval) ja 320×200×256 režiim (üleval).]]
[[Image:Torak.gif|thumb|256px|Vga piltide näited 640×480×16 režiim (üleval) ja 320×200×256 režiim (üleval).]]


VGA videomälu on kaardistatud [[PC]] mällu läbi akna, mis asub segmentide 0xA0000 ja 0xBFFFF vahel PC reaalrežiimi (real mode)aadressiruumis (A000:0000 ja B000:FFFF segmendid nihutatud notatsioonis). Tavaliselt on need algussegmendid:
VGA videomälu on kaardistatud [[personaalarvuti|PC]] mällu läbi akna, mis asub segmentide 0xA0000 ja 0xBFFFF vahel PC reaalrežiimi (real mode)aadressiruumis (A000:0000 ja B000:FFFF segmendid nihutatud notatsioonis). Tavaliselt on need algussegmendid:
*0xA0000 EGA/VGA graafilistel režiimidel (64 KB)
*0xA0000 EGA/VGA graafilistel režiimidel (64 KB)
*0xB0000 monokroomse tekstirežiimi jaoks (32 KB)
*0xB0000 monokroomse tekstirežiimi jaoks (32 KB)

Redaktsioon: 13. detsember 2010, kell 10:56


VGA ehk inglise keeles Video Graphics Array viitab eelkõige kuvari riistvarale, mida tutvustati esmakordselt 1987-l aastal IBM PS/2 tüüpi arvutitel, kuid tänu selle laialdasele kasutusvõtule on samuti hakatud seda väljendit kasutama ka analoog arvutikuvaristandardi, 15-kontaktilise D-subminiature VGA konnektori või ka 640x480 resolutsiooni puhul. Kuigi see resolutsioon suri personaalarvutite turul 1990-ndatel aastatel välja, on see saamas populaarseks resolutsiooniks mobiilseadete hulgas.

VGA oli viimane IBM-i loodud graafikastandard, millele suurem osa "PC klooni" tootjatest vastasid, tehes sellest tänase päeva (aasta 2010) üheks vähestest standarditest, mille puhul kõikide PC graafika riistvaralistel lahendustel võib eeldada sellele vastavust ilma seadmele vastava tarkvarata.

Ametlikult vahetati VGA välja IBM-i Extended Graphics Array (XGA) vastu, kuid tegelikult sai see välja vahetatud mitmete natuke erinevate VGA laienduste poolt, mis olid toodetud "kloon"-tootjate poolt ning mille ühisnimetuseks sai Super-VGA.

Tehnilised andmed

Riistvara

VGA võrdluses teiste standarditega.

VGA-d nimetatakse array-ks, mitte aga adapteriks, sest see oli algselt rakendatud üheainsa kiibina (ASIC), asendades Motorola 6845 ja tosinaid teisi loogilisi kiibistikke, mis hõlmasid endas MDA, CGA ja EGA täispikkuses ISA graafikakaarte. Kuna VGA oli ühekiibiline, siis sai teda vähese pingutusega ka paigutada otse arvuti emaplaadile (vajalikud olid ainult videomälu, (taktsageduse) ajastuskristall ja väline RAMDAC) ja esimesed IBM PS/2 mudelid olid varustatud emaplaadile integreeritud VGA-ga. (Võrdluseks võib tuua "esimese põlvkonna" IBM PC desktop mudelid - PC [machine-type 5150], PC/XT [5160], and PC AT [5170] - mis vajasid ekraani ühendamiseks siinile installeeritud kuvaadapterit.

VGA spetsifikatsioonid (tehnilised andmed) on järgmised:

  • 256 KB Video RAM-i (Esimesi kaarte oli võimalik tellida ka 64 KB või 128 KB RAM-iga, kaotades sellega aga mõned videorežiimid)
  • 16 värviga ja 256 värviga režiim
  • 262 144 väärtusega värvipalett (6 bitti kanali kohta, ehk punasele 6 bitti, sinisele 6 bitti ning rohelisele 6 bitti)
  • Valitav 25.175MHz või 28.332 MHz master clock
  • Horisontaalselt maksimaalselt 800 pikslit
  • Maksimaalselt 600 rida
  • Värskendussagedus kuni 70 Hz
  • Vertical blank interrupt ( Kõik "kloon"-kaardid ei toeta seda.)
  • Planar mode: kuni 16 värvi (4 bitised pinnad)
  • Packed-pixel mode: 256 värvi (Mode 13h)
  • Smooth scrolling riivaraline tugi
  • Mõne "Raster Ops"-i tugi
  • Barrel shifter
  • Split screen tugi
  • 0.7 V peak-to-peak
  • 75 ohm double-terminated takistus (18.7 mA – 13 mW)

VGA toetab nii All Points Addressable graafilist režiimi, kui ka tähtnumbrilist tekstirežiimi. Graafika standardrežiimid on:

  • 640x480 16 värviga režiimis
  • 640x350 16 värviga režiimis
  • 320x200 16 värviga režiimis
  • 320x200 256 värviga režiimis (Mode 13h)

Peale standardrežiimide sab VGA-d seadistada ka jäljendamaks paljude tema eelkäijate (EGA, CGA, and MDA) mitmeid režiime. BIOS-i tasemel on ühilduvus peaaegu täielik, aga ka registrite tasemel on saavutatud kõrge ühilduvuse määr. VGA ei ole ühilduv spetsiaalsete IBM PCjr või HGC videorežiimidega.

Signaal

VGA horisontaalse sageduse plaanitud väärtus on täpselt kahekordne NTSC-M videosüsteemi väärtusega. Valem VGA horisontaalse väärtuse arvutamiseks on seega (60 ÷ 1001) × 525 kHz = 4500 ÷ 143 kHz ≈ 31.4686 kHz. Kõik teised väärtused, mida VGA kaart kasutab, on tuletatud sellest väärtuse korrutamisest või jagamisest täisarvuga. Kuna kvartsostsillatori täpsus on piiratud, on reaalsetel kaartidel natuke kõrgem või madalam sagedus. Kõige tavalisema VGA režiimi 640x480 "60 Hz" non-interlaced horisontaalsed ajastused on:

Parameter Value Unit
Piksli taktsagedus 25.175 MHz
Horisontaalsete pikslite arv 640
Horisontaalne sünkronisatsiooni polaarsus Negatiivne
Kogu aeg iga rea peale 31.77 µs
Front porch (A) 0.94 µs
Sünkronisatsiooni impulsi pikkus (B) 3.77 µs
Back porch (C) 1.89 µs
Active video (D) 25.17 µs

(Kogu horisontaalne sünkronisatsiooni aeg 6.60 µs)

VGA horizontal timings for 640×480
VGA horizontal timings for 640×480

Vertikaalsed ajastused on:

Parameter Value Unit
Vertikaalseid ridu 480
Vertikaalne sünkronisatsiooni polaarsus Negative
Vertikaalne sagedus 59.94 Hz
Front porch (E) 0.35 ms
Sünkronisatsiooni impulsi pikkus (F) 0.06 ms
Back porch (G) 1.02 ms
Active video (H) 15.25 ms

(Kogu vertikaalne sünkronisatsiooni aeg 1.43 ms)

640 × 400 @ 70 Hz videorežiim on kasutusel enamikel x86 arhitektuuriga PC-de alglaadimisel. 640 × 480 @ 60 Hz on vaikimisi MS-Windowsi 16 värviga graafikarežiim. Tegelik ajastus võib natuke varieeruda. Näiteks 640×480 @ 60 FPS jaoks 25.17 µs aktiivvideo aega pikslisagedusega 25.174 MHz annab tulemuseks 633 pikslit loodetud 640 piksli asemel.

Standard tekstirežiimid

BIOS pakub mõningaid tekstirežiime VGA adapteritele, millel on 80x25, 40x25, 80x43 või 80x50 tekstiruudustik. Iga element võib valida ühe 16-st saadaval olevast värvist esiplaani värviks ning 8-st värvist tagaplaani jaoks. Need 8 tagaplaani värvi, mis on lubatud on need, millel on madala intensiivsusega bitikombinatsioon iga element võib olla tehtud ka vilkuvaks ning kõik, elemendi, mis on tehtud vilkuvaks, teevad seda unisonis (korraga).

Mustvalged režiimid

VGA adapterid toetavad tavaliselt nii monokroomset, kui ka värvirežiimi, kuigi monokroone režiim leiab väga vähe kasutust ning tugi kõikidele MDA tekstirežiimi atribuutidele (heleduse intensiivsus, allajoonimine) on tihti puudu. Must ja valge tekst on peaaegu kõigil uuematel VGA adapteritel kuvatud kasutades halli teksti mustal taustal värvirežiimis. Enamus VGA monokroomsetest monitoridest, mis algul müüdi kasutamiseks eelkõige teksti kuvamisel, töötavad vähemalt adekvaatselt VGA adapteriga ka värvirežiimis. Mõnikord põhjustas vigane ühendus uuema kuvari ja graafikakaarti VGA osa vahel selle, et monitor identifitseeriti kui mustvalged; see aga põhjustas BIOS-i ja alglaadimise mustvalge kuvamise. Kui aga videokaardi draiverid on laetud (nt. jätkates operatsioonisüsteemi alglaadimist), siis saadakse aru, et kuvar peaks töötama värvirežiimis ning see lülitatakse värvirežiimi.


Adresseerimisdetailid

Vga piltide näited 640×480×16 režiim (üleval) ja 320×200×256 režiim (üleval).

VGA videomälu on kaardistatud PC mällu läbi akna, mis asub segmentide 0xA0000 ja 0xBFFFF vahel PC reaalrežiimi (real mode)aadressiruumis (A000:0000 ja B000:FFFF segmendid nihutatud notatsioonis). Tavaliselt on need algussegmendid:

  • 0xA0000 EGA/VGA graafilistel režiimidel (64 KB)
  • 0xB0000 monokroomse tekstirežiimi jaoks (32 KB)
  • 0xB8000 värviteksti režiimi jaoks ja CGA-ühilduv graafiline režiim (32 KB)


Tänu erinevate režiimide erinevatele mäluaadressidele, on võimalik installeerida samale masinale nii monokroomne kuvaadapter kui ka värviadapter nagu näiteks VGA, EGA või CGA. 1980-ndate algul oli see tavaliselt kasutusel Lotus 1-2-3 arvutustabelite (spreadsheets) kuvamisel kõrglahutusega tekstidena MDA kuvaril ja sellega seotud graafika kuvamisel madala lahutusega CGA kuvaril samaaegselt. Paljud programmeerijad kasutasid sama lahendust, et kuvada monokroomse kaardi abil veaparandus (debug) informatsioon samas kui programm ise jooksis graafilises režiimis teise kaardi peal. Mitmed veaparandusprogrammid nagu näiteks Borlandi Turbo Debugger, D86 (by Alan J. Cox) ja Microsofti CodeView olid võimelised töötama kahe monitoriga seadistuses. Nii Turbo Debugger kui ka CodeView abiga sai teostada Windowsi veaparandust. Olid ka olemas DOS-i draiverid nagu näiteks ox.sys, mis jooksutasid jadaliidese simulatsiooni MDA kuvaril, mis näiteks andsid kasutajale võimaluse saada veateateid Windowsi versioonide veaparanduse ajal tegelikku jadaterminali kasutamata. Võimalik oli kasutada ka "MODE MONO" käsklust DOS redaktoris, et suunata väljund ümber monokroomsele kuvarile. Kui monokroomse kuvari adapter ei olnud ühendatud, oli võimalik kasutada 0xB000 – 0xB7FF aadressiruumi lisamäluna teistele programmidele (näiteks lisades rea "DEVICE=EMM386.EXE I=B000-B7FF" faili config.sys, see mälu tehti saadavaks nendele programmidele mida oli võimalik "laadida kõrgele" – laadida kõrgmälusse).


VGA värvipalett

VGA 256 režiimi värvipalett

VGA värvisüsteem on tagasiühilduv CGA ja EGA adapteritega, ja lisab ühe konfiguratsioonitaseme neile juurde. CGA oli võimeline kuvama kuni 16 värvi ja EGA laiendas seda, lastes iga värvi 16-st valida 64-värvilisest paletist (need 64 värvi on moodustatud kahest bitist iga värvi - punane, roheline, sinine - jaoks. Kaks bitti korda kolm värvi võrdub kuus bitti, seega 64 värvi.). VGA laiendab seda süsteemi veelgi, suurendades EGA paletti 64-lt sisendilt 256-le sisendile. Veel kaks plokki järjest tumedamates toonides värve lisati ning veel ka 8 "tühja" sisendit mis seadistati mustaks.

Lisaks laiendatud paletile võis igaühele 256-st sisendist määrata suvalise värvi väärtuse läbi VGA DAC-i. EGA BIOS lasi ainult kahel bitil kanali kohta väljendada igat sisendit, samas kui VGA lasi kuuel bitil väljendada iga põhivärvi (punane, roheline, sinine) intensiivsust. See andis kokku 64 erinevat intensiivsusetaset punasele, rohelisele ja sisnisele, andes kokku 262,144 võimalikku värvi, igaüks 256-st oli võimalik määrata paletile (ning samas nendest 256-st 16 oli võimalik kuvada CGA videorežiimides).

See meetod lasi uusi VGA värve kasutada ka EGA ja CGA graafilistes režiimides, eeldades, et need mäletasid, kuidas erinevad paletisüsteemid on kokku pandud. Näiteks et seada tekstirežiimis teksti värvus tumepunaseks, peab see olema seadistatud ühte CGA värvi (näiteks vaikevärvi #7: helehall.) See värv määratakse siis ühe EGA paletti kuulavasse sisendisse - CGA värvi 7 puhul määratakse see EGA sisendisse 42. VGA DAC peab olema siis seadistatud nii, et ta muudaks värvi 42 tumepunaseks ning koheselt muutub kõik, mida kuvatakse ekraanil helehallina (CGA värv 7) muutub tumepunaseks. Seda funktsiooni kasutati tihti 256-värvilistes VGA DOS mängudes, kui nad algul laadisid ning tekstiaken hääbus mustaks (Mäng Descent, aastast 1995 näiteks).

Kui CGA ja EGA-ühilduvad režiimid lasid kuvada ainult 16 värvi korraga, siis teistes VGA režiimides nagu näiteks laialt kasutatud mode 13h lasi kuvada kõik 256 paleti sisendit korraga, see juures nendes režiimides olid 256 värvi valitud saadaval olevast 262,144-st värvist.

Programmeerimise trikid

Dokumenteerimata, kuid populaarne tehnika hüüdnimega Mode X (algselt välja mõeldud Michael Abrashi poolt) või "tuunitud VGA", et tha saadavaks programmeerimistehnikad ja graafilised reolutsioonid, mis ei olnud võimalikud satandardis Mode 13h. See saavutati 256 KB VGA mälu "lahtiühendamisel" neljaks erinevaks "tasandiks," mis muutis kogu VGA 256 KB RAM-i saadavaks 256-värvilistes režiimides. See oli kompromiss lisakeerukuse ja jõudluse kahanemise näol mõnda tüüpi graafilistes operatsioonides, mille positiivne pool oli see, et teised operatsioonid muutusid teatud situatsioonides kiiremaks:

  • Ühevärvilise hulknurga täitmiine kiirenes tänu võimalusele seada neli pikslit ühe kirjutamiskorraga riistvarale.
  • Videoadapter sai abistada video RAM-i regioonide kopeerimisel, mis oli mõnikord kiirem, kui selle tegemine suhteliselt aeglase CPU-to-VGA liidesega.
  • Mitemed kõrgema resolutsiooniga kuvarežiimid olid võimalikud: 16 värviga, 704×528, 736×552, 768×576, ja isegi 800×600. Tarkvara nagu näiteks Xlib (VGAgraafika kogu C keele jaoks varajastel 1990-ndatel) ja ColoRIX (256-värviga graafika programm), toetasid samuti tuunitud 256-värvi režiimi, kasutades laiusi 256, 320, ja 360 pikslit ja kõrgusi 200, 240, 256, 400 ja 480 rida (ülemine limiit oli 640×400, mis kasutas 250 KB VGA 256 KB video ram-ist). Sellegi poolest oli 320x240 kõige tuntum ja tihedamini kasutatud, sest see oli tavaline 4:3 ekraanisuhtega ja ruud kujuliste pikslitega (square pixels) resolutsioon.
  • Mitme video tasandi kasutamine riistvaras, lubas programmeerijal teostada kahekordset buferdamist, kolmekordset buferdamist vvõi ekraani poolitamist, mis olid võimalikud küll VGA 320x200 16-värvi režiimis, kuid ei olnud võimalikud kasutades vaikerežiimi Mode 13h.


Vahel tuli kuvari värskendussagedust vähendada, et neid režiime kasutada, mis aga suurendas koormust silmadele. Need režiimid olid ka ühildumatud mõnede vanemate kuvaritega, tekitades probleeme nagu näiteks pildi detailsuse kadumine, vilkumine ja horisontaalse sünkronisatsiooni puudumine, olenevalt režiimist, mida kasutati. Seepärast olid enamus VGA parandused, mida kasutati reklaamproduktidel piratud "kuvari-turvalistes" kombinatsioonides, nagu näiteks 320x240 (ruut-pikslid, kolm videotasandit), 320x400 (topeltresolutsioon, kaks videotasandit) ja 360x480 (kõrgeim resolutsioon mis oli VGA kuvaritega ühilduv, üks videotasand). Praegu on kõrgeim rendatud VGA resolutsioon 400x600x256 (400x600 pikslit x256 värvi). See oli kasutusel Fractint-is kuulus fraktaali generaator.


Viited