**VGA** (англ.: Video Graphics Array) — стандарт манітораў і відэаадаптараў. Выпушчаны IBM у 1987 годзе для камп'ютараў PS/2 Model 50 і больш старых. VGA з'яўляўся апошнім стандартам, якому падпарадкоўвалася большасць вытворцаў відэаадаптараў.

Відэаадаптар VGA, у адрозненні ад папярэдніх відэаадаптараў IBM (MDA, CGA, EGA), ужывае аналагавы сігнал для перадачы колернай інфармацыі. Пераход на аналагавы сігнал быў выкліканы неабходнасцю скарачэння колькасці дратоў у кабелі. Таксама аналагавы сігнал даваў магчымасці выкарыстоўваць VGA-маніторы з наступнымі відэаадаптарамі, якія могуць выводзіць большую колькасць колераў.

Афіцыйным паслядоўнікам VGA стаў стандарт IBM XGA, фактычна ж ён быў замешчаны рознымі пашырэннямі да VGA, вядомымі як «Super VGA» (SVGA).

Тэрмін **VGA** таксама часта ўжываецца для пазначэння разрознення 640×480 незалежна ад апаратнага забеспячэння для вываду выявы, хоць гэта не зусім верна (так, рэжымы 640×480 з 16-, 24- і 32-бітнай глыбінёй колеру не падтрымліваюцца адаптарамі VGA, але могуць быць сфарміраваны на маніторы, прызначаным для работы з адаптарам VGA, з дапамогай SVGA-адаптараў). Таксама гэты тэрмін ужываецца для пазначэння 15-кантактнага раздыму VGA для перадачы аналагавых відэасігналаў у розных разрозненнях.

Архітэктура відэаадаптара VGA
-----------------------------

VGA (таксама, як і EGA) складаецца з наступных асноўных падсістэм:

* **Графічны кантролер** (*Graphics Controller*), праз які адбываецца ўзаемадзеянне паміж цэнтральным працэсарам і відэапамяццю. Мае магчымасць выконваць бітавыя аперацыі з перадавальными данымі.
* **Відэапамаяць** (*Display Memory*), у якой змяшчаюцца даныя, якія адлюстроўваюцца на экране манітора. 256 кБ DRAM падзелены на чатыры *колерныя пласты* па 64 кБ.
* **Паслядоўны пераўтваральнік** (*Serializer* ці *Sequencer*) — пераўтварае даныя з відэапамяці ў паток бітаў, якія перадаюцца кантролеру атрыбутаў.
* **Кантролер атрыбутаў** (*Attribute Controller*) — з дапамогай *палітры* пераўтварае ўваходныя даныя ў колерныя значэнні.
* **Сінхранізатар** (*Sequencer*) — кіруе часовымі параметрамі відэаадаптара і пераключэннем колерных пластоў.
* **Кантролер ЭПТ** (*CRT Controller*) — генеруе сігналы сінхранізацыі для ЭПТ.

У адрозненні ад CGA і EGA, асноўныя падсістэмы змяшчаюцца ў адной мікрасхеме, што дазваляе паменшыць памер відэаадаптара (EGA таксама быў рэалізаваны на адным чыпе, прынамсі яго тайванскія неарыгінальныя клоны). У камп'ютарах PS/2 відэаадаптар VGA інтэграваны ў мацярынскую плату.

Адрозненні ад EGA
-----------------

VGA цалкам аналагічны EGA (уключаючы пластовую відэапамяць у 16 колерных рэжымах і секвенсар для доступу працэсара да яе), за выключэннем наступнага:

* іншы раздым і кабель да манітора (і іншы манітор), аналагавы, а не 2 біты на колер. Гэты раздым і кабель не змяняліся каля 15 гадоў (да з'яўлення лічбавых пакетна-арыентаваных тэхналогій DVI, HDMI і DisplayPort, якія прыйшлі са свету бытавой відэатэхнікі) і ўжываліся ў больш высокіх разрозненнях. Нават стандартныя VGA маніторы былі здольныя паказваць рэжым 800x600 скарыстаныя з болей сучаснай відэакартай (усё залежала ад якасці блокаў разгорткі манітора і іх магчымасці не сарваць генерацыю на такіх высокіх частотах). У цяперашні час (усе сучасныя відэакарты сумяшчальныя з VGA зверху ўніз) слова "VGA" ва ўжытку значыць менавіта гэты тып далучэння манітора, цяпер састарэлы, але яшчэ актуальны.
* 18-бітныя колеры ў палітры замест 6-бітных, такі багаты набор дазваляў, напрыклад, намаляваць ноч, кепскае надвор'е, «зачараваныя» рэжымы і зіхаценне колеру ў гульнях толькі адной палітрай (як у гульне «Ultima VII»)
* наяўнасць 256-колерных рэжымаў, стандартны - 320×200, недакументаванымі (на самой справе дакументаванымі, але не ўключанымі ў BIOS і яго дакументацыю) хітрыкамі можна было атрымаць 320×240 (квадратныя пікселі, г.з. «рэжым VGA-X») і вышэй
* максімальны 16-колерны рэжым - 640×480 (квадратныя пікселі)
* ва ўсіх 200-радковых графічных рэжымах скан-лінія паўтаралася 2 разы, што давала 400 фізічных радкоў разгорткі манітора, што моцна паляпшала якасць выявы нават у малодшых рэжымах (адсутнасць шчылін паміж радкамі разгорткі).
* вышыня ячэйкі знакагенератара - 16 скан-ліній, а не 14, як у EGA, што давала тыя ж 400 радкоў разгорткі ва ўсіх тэкставых рэжымах (акрамя рэжымаў сумяшчальнасці са знакагенератарам EGA). Такім чынам, VGA заўсёды ўжываў 400 радкоў разгорткі, акрамя двух старэйшых 16-колерных рэжымаў, дзе іх было 480 і 350. Рэжым VGA-X таксама ўжываў 480 радкоў.
* усе рэгістры (палітры, секвенсара і г.д.) даступныя на чытанне, EGA меў шэраг рэгістраў «толькі для запісу» (напрыклад, палітра).

Тэкставыя рэжымы
----------------

У стандартных тэкставых рэжымах сімвалы фармуюцца ў ячэйцы 9×16 пікселяў, магчыма ўжыванне шрыфтоў іншых памераў: 8–9 пікселяў у шырыню і 1–32 пікселі ў вышыню. Памеры саміх сімвалаў, як правіла, менш, бо частка прасторы страчваецца на стварэнне зазору паміж сімваламі. Функцыя для выбару памеру шрыфту ў BIOS аддзелена ад функцыі выбару відэарэжыму, што дазваляе скарыстаць розныя камбінацыі рэжымаў і шрыфтоў. Маецца магчымасць загрузкі васьмі і адначасовага вываду на экран двух розных шрыфтоў.

У VGA BIOS захоўваюцца наступныя віды шрыфтоў і функцыі для іх загрузкі і актывацыі:

* **8×16** пікселяў (стандартны шрыфт VGA),
* **8×14** (для сумяшчальнасці з EGA),
* **8×8** (для сумяшчальнасці з CGA).

Як правіла, гэтыя шрыфты адпавядаюць кодавай старонцы CP437. Таксама падтрымліваецца праграмная загрузка шрыфтоў..

Даступны наступныя стандартныя рэжымы:

* **40×25 сімвалаў**, 16 колераў, разрозненне 360×400 пікселяў.
* **80×25 сімвалаў**, 16 колераў, разрозненне 720×400 пікселяў.
* **80×25 сімвалаў**, манахромны, разрозненне 720×400 пікселяў.

Хоць у тэкставых рэжымах VGA адно знакамесца мае шырыню 9 пікселяў, у даных знакагенератара вызначаюцца толькі 8 з іх (8 біт аднаго байта на радок); пікселі правай калонкі сімвальнай матрыцы вызначаюцца аўтаматычна: пустымі (для сімвалаў у дыяпазоне 0x00–0xAF і 0xE0–0xFF) ці такімі ж, як пікселі 8-й калонкі (для сімвалаў псеўдаграфікі ў дыяпазоне 0xB0-0xDF).

Ужываючы шрыфты меншых памераў, чым стандартны **8×16**, можна павялічыць колькасць радкоў у тэкставым рэжыме. напрыклад, калі ўключыць шрыфт **8×14**, то будзе даступна 28 радкоў. Уключэнне шрыфту **8×8** павялічвае колькасць радкоў да 50 (аналагічна рэжыму EGA **80×43**).

У тэкставых рэжымах для кожнай ячэйкі з сімвалам можна ўказаць *атрыбут*, які задае спосаб адлюстравання сімвала. Існуюць два асобныя наборы атрыбутаў — для каляровых рэжымаў і для монахромных.
Атрыбуты каляровых тэкставых рэжымаў дазваляюць абраць адзін з 16 колераў сімвала, адзін з 8 колераў фона і ўключыць ці выключыць мігаценне (магчымасць выбару мігацення можна замяніць на магчымасць выбару аднаго з 16 колераў фона), што супадае з магчымасцямі CGA.
Атрыбуты монахромных рэжымаў супадаюць з атрыбутамі, даступнымі ў MDA, і дазваляюць уключаць узмоцненую яркасць сімвала, падкрэсленне, мігаценне, інверсію і некаторыя іх камбінацыі.

Графічныя рэжымы
----------------

У адрозненні ад сваіх папярэднікаў (CGA і EGA) відэаадаптар VGA меў відэарэжым з квадратнымі пікселямі (гэта значыць, на экране з суадносінамі бакоў 4:3 суадносіны гарызантальнага і вертыкальнага разрозненняў было таксама 4:3). У адаптараў CGA і EGA пікселі былі выцягнуты па вертыкалі.

### Стандартныя графічныя рэжымы

* **320×200 пікселяў**, 4 колеры.
* **320×200 пікселяў**, 16 колераў.
* **320×200 пікселяў**, 256 колераў (новы для VGA).
* **640×200 пікселяў**, 2 колеры.
* **640×200 пікселяў**, 16 колераў.
* **640×350 пікселяў**, манахромны.
* **640×350 пікселяў**, 16 колераў.
* **640×480 пікселяў**, 2 колеры. Пры разрозненні *640×480* піксель мае прапорцыі 1:1 (новы для VGA).
* **640×480 пікселяў**, 16 колераў (новы для VGA).

### Нестандартныя графічныя рэжымы (X-рэжымы)

Праграмаванне VGA дазваляла дасягнуць больш высокіх разрозненняў у параўнанні са стандартнымі рэжымамі VGA. Найбольш распаўсюджаныя рэжымы:

* **320×200**, 256 колераў, 4 старонкі. Нічым знешне не адрозніваецца ад рэжыму 13h (320×200, 256 колераў), гэты рэжым меў чатыры відэастаронкі аб'ёмам трошкі меней 64 кБ кожная. Гэта дазваляла рэалізаваць падвойную і нават трайную буферызацыю.
* **320×240**, 256 колераў, 2 старонкі. У гэтым рэжыме старонак меней, затое пікселі маюць прапорцыі 1:1 (квадратныя).
* **360×480**, 256 колераў, 1 старонка. Найбольшае разрозненне на 256 колерах, якое дазваляе VGA.

Ва ўсіх гэтых рэжымах ужываецца пластовая арганізацыя відэапамяці, канцэптуальна падобная на ўжывальную ў 16-колерных рэжымах, але выкарыстоўвае для фарміравання колеру па 2 біта з кожнага пласта, а не па 1 - г.з. біты 0–1 байта 0 у пласце 0 давалі біты 0–1 колеру пікселя 0, тыя ж біты ў пласце 1 - біты 2–3 колеру, і г.д. Наступныя біты таго ж байта давалі колеры наступных пікселяў, г.з. 4 размешчаныя «адзін паралельна другому» па аднаму адрасу байты ў 4 пластах задавалі колер 4 пікселяў.

Такая арганізацыя відэапамяці дазваляла ўжываць усю відэапамяць карты, а не толькі пласт 0 на 64К, для фарміравання 256-колернай выявы, што давала магчымасць ужывання высокіх разрозненняў ці шматлікіх відэастаронак.

Для работы з такой памяццю ўжываўся той жа секвенсар, што і ў 16-колерных рэжымах.

Затое з-за асаблівасцей кантролера відэапамяці капіраванне даных у відэапамяць адбываецца ўчацвёра хутчэй, чым у рэжыме 13h (гэта моцна залежыць ад пэўнага машыннага кода, які ўжывае капіраванне, і пэўнага сцэнара малявання, а менавіта заліўкі суцэльным колерам, у агульным выпадку пластовая відэапамяць павольней звычайнай, і менавіта таму ў SVGA ад яе цалкам адмовіліся).

Тэрмін «X-рэжым» (англ.: Mode X) быў прыдуманы Майклам Абрашам у 1991 годзе для пазначэння нестандартнага рэжыму 320×240 з 256 колерамі. Гэты рэжым быў вынайдзены (шляхам вывучэння IBM дакументацыі на апаратуру VGA, якая ў тыя часы была абаронена на прававым узроўні і не хадзіла ў выглядзе файлаў у публічным доступе, апублікаваны былі толькі выклікі VGA BIOS, якія не ўмелі ўключаць гэтыя рэжымы) рознымі праграмістамі незалежна адзін ад другога, але стаў вядомым дзякуючы артыкулам Майкла Абраша ў часопісе «Dr. Dobb’s Journal».

Гл. таксама
-----------

* VGA, раздым
* QVGA
* SVGA
* CIF
* Іншыя распаўсюджваныя разрозненні дысплеяў

Зноскі
------

1. ↑  *Wilton, Richard.* IBM Video Hardware and Firmware // Programmer's Guide to PC and Ps/2 Video Systems. — Microsoft Press, 1987. — С. 544. — ISBN 1-55615-103-9.
2. 1 2 3 4  *Thompson, Stephen*. VGA-sign choices for a new video subsystem (англ.). *IBM Systems Journal* (17 верасня 1988). Архівавана з першакрыніцы 25 жніўня 2011. Праверана 15 снежня 2006.
3. ↑  *Neal, J. D.*. VGA Sequencer Operation (англ.). *FreeVGA Project* (17 верасня 1998). Архівавана з першакрыніцы 25 жніўня 2011. Праверана 23 лютага 2007.
4. 1 2 3  
*Scott, Michael*. comp.sys.ibm.pc.hardware.video FAQ (англ.) (17 верасня 1997). Праверана 23 лютага 2007.
5. ↑  *Фролов, Александр; Фролов, Григорий*. Архитектура видеоадаптеров EGA и VGA **(нявызн.)**. *Программирование видеоадаптеров CGA, EGA и VGA* (17 верасня 1992). Архівавана з першакрыніцы 25 жніўня 2011. Праверана 23 лютага 2007.
6. ↑  *Neal, J. D.*. VGA Text Mode Operation (англ.). *FreeVGA Project* (17 верасня 1998). Архівавана з першакрыніцы 25 жніўня 2011. Праверана 15 снежня 2006.
7. ↑  *Фролов, Александр; Фролов, Григорий*. Приложения **(нявызн.)**. *Программирование видеоадаптеров CGA, EGA и VGA* (17 верасня 1992). Архівавана з першакрыніцы 25 жніўня 2011. Праверана 23 февраля 2007.
8. ↑  *Dnes, Walter*. Nicer console textmodes (англ.)(недаступная спасылка). Архівавана з першакрыніцы 7 снежня 2003. Праверана 11 студзеня 2007.
9. ↑  *Rollins, Dan*. INT 10H 11H: EGA/VGA Character Generator Functions (англ.)(недаступная спасылка). *Tech Help!* (17 верасня 1997). Архівавана з першакрыніцы 25 жніўня 2011. Праверана 11 студзеня 2007.
10. ↑  *Abrash, Michael*. Mode X: 256-Color VGA Magic (англ.)(недаступная спасылка). *Graphics Programming Black Book* (17 верасня 2001). Архівавана з першакрыніцы 30 верасня 2007. Праверана 30 сакавіка 2007.

Спасылкі
--------

* Распиновка VGA с описаниями сигналов
* Подключение мониторов VGA по витой паре

| Стандарты відэаадаптараў і манітораў |
| --- |
| Відэаадаптары | 
* MDA
* Tandy
* HGC
* CGA
* EGA
* PGC
* VGA
* MCGA
* 8514
* XGA

 | Параўнальныя памеры |
| Раздзяляльнасць экрана | 
* QVGA
* VGA
* SVGA
* XGA
* XGA+
* SXGA
* SXGA+
* UXGA
* QXGA
* QSXGA
* QUXGA
* HXGA
* HSXGA
* HUXGA

 |
| Шырокаэкранныя варыянты | 
* WVGA
* WXGA
* WSXGA/WXGA+
* WSXGA+
* WUXGA
* WQXGA
* WQSXGA
* WHXGA
* WHSXGA
* WHUXGA
* WQUXGA

 |