VGA
VGA (англ.: Video Graphics Array) — стандарт манітораў і відэаадаптараў. Выпушчаны IBM у 1987 годзе для камп'ютараў PS/2 Model 50 і больш старых[1]. VGA з'яўляўся апошнім стандартам, якому падпарадкоўвалася большасць вытворцаў відэаадаптараў.
Відэаадаптар VGA, у адрозненні ад папярэдніх відэаадаптараў IBM (MDA, CGA, EGA), ужывае аналагавы сігнал для перадачы колернай інфармацыі. Пераход на аналагавы сігнал быў выкліканы неабходнасцю скарачэння колькасці дратоў у кабелі. Таксама аналагавы сігнал даваў магчымасці выкарыстоўваць VGA-маніторы з наступнымі відэаадаптарамі, якія могуць выводзіць большую колькасць колераў[2].
Афіцыйным паслядоўнікам 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) — пераўтварае даныя з відэапамяці ў паток бітаў, якія перадаюцца кантролеру атрыбутаў[3].
- Кантролер атрыбутаў (Attribute Controller) — з дапамогай палітры пераўтварае ўваходныя даныя ў колерныя значэнні.
- Сінхранізатар (Sequencer) — кіруе часовымі параметрамі відэаадаптара і пераключэннем колерных пластоў.
- Кантролер ЭПТ (CRT Controller) — генеруе сігналы сінхранізацыі для ЭПТ[4][5].
У адрозненні ад CGA і EGA, асноўныя падсістэмы змяшчаюцца ў адной мікрасхеме, што дазваляе паменшыць памер відэаадаптара (EGA таксама быў рэалізаваны на адным чыпе, прынамсі яго тайванскія неарыгінальныя клоны). У камп'ютарах PS/2 відэаадаптар VGA інтэграваны ў мацярынскую плату[2].
Адрозненні ад 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 аддзелена ад функцыі выбару відэарэжыму, што дазваляе скарыстаць розныя камбінацыі рэжымаў і шрыфтоў. Маецца магчымасць загрузкі васьмі і адначасовага вываду на экран двух розных шрыфтоў[2][6].
У VGA BIOS захоўваюцца наступныя віды шрыфтоў і функцыі для іх загрузкі і актывацыі:
- 8×16 пікселяў (стандартны шрыфт VGA),
- 8×14 (для сумяшчальнасці з EGA),
- 8×8 (для сумяшчальнасці з CGA).
Як правіла, гэтыя шрыфты адпавядаюць кодавай старонцы CP437. Таксама падтрымліваецца праграмная загрузка шрыфтоў.[7].
Даступны наступныя стандартныя рэжымы:
- 40×25 сімвалаў, 16 колераў, разрозненне 360×400 пікселяў.
- 80×25 сімвалаў, 16 колераў, разрозненне 720×400 пікселяў.
- 80×25 сімвалаў, манахромны, разрозненне 720×400 пікселяў[4].
Хоць у тэкставых рэжымах VGA адно знакамесца мае шырыню 9 пікселяў, у даных знакагенератара вызначаюцца толькі 8 з іх (8 біт аднаго байта на радок); пікселі правай калонкі сімвальнай матрыцы вызначаюцца аўтаматычна: пустымі (для сімвалаў у дыяпазоне 0x00–0xAF і 0xE0–0xFF) ці такімі ж, як пікселі 8-й калонкі (для сімвалаў псеўдаграфікі ў дыяпазоне 0xB0-0xDF).
Ужываючы шрыфты меншых памераў, чым стандартны 8×16, можна павялічыць колькасць радкоў у тэкставым рэжыме. напрыклад, калі ўключыць шрыфт 8×14, то будзе даступна 28 радкоў. Уключэнне шрыфту 8×8 павялічвае колькасць радкоў да 50 (аналагічна рэжыму EGA 80×43)[8][9].
У тэкставых рэжымах для кожнай ячэйкі з сімвалам можна ўказаць атрыбут, які задае спосаб адлюстравання сімвала. Існуюць два асобныя наборы атрыбутаў — для каляровых рэжымаў і для монахромных. Атрыбуты каляровых тэкставых рэжымаў дазваляюць абраць адзін з 16 колераў сімвала, адзін з 8 колераў фона і ўключыць ці выключыць мігаценне (магчымасць выбару мігацення можна замяніць на магчымасць выбару аднаго з 16 колераў фона), што супадае з магчымасцямі CGA. Атрыбуты монахромных рэжымаў супадаюць з атрыбутамі, даступнымі ў MDA, і дазваляюць уключаць узмоцненую яркасць сімвала, падкрэсленне, мігаценне, інверсію і некаторыя іх камбінацыі[2].
Графічныя рэжымы
[правіць | правіць зыходнік]У адрозненні ад сваіх папярэднікаў (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)[4].
Нестандартныя графічныя рэжымы (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»[10].
Гл. таксама
[правіць | правіць зыходнік]Зноскі
- ↑ 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.
- ↑ а б в г Thompson, Stephen. VGA-sign choices for a new video subsystem (англ.). IBM Systems Journal (20 лістапада 1988). Архівавана з першакрыніцы 25 жніўня 2011. Праверана 15 снежня 2006.
- ↑ Neal, J. D.. VGA Sequencer Operation (англ.). FreeVGA Project (20 лістапада 1998). Архівавана з першакрыніцы 25 жніўня 2011. Праверана 23 лютага 2007.
- ↑ а б в Scott, Michael. comp.sys.ibm.pc.hardware.video FAQ (англ.) (20 лістапада 1997). Праверана 23 лютага 2007.
- ↑ Фролов, Александр; Фролов, Григорий. Архитектура видеоадаптеров EGA и VGA . Программирование видеоадаптеров CGA, EGA и VGA (20 лістапада 1992). Архівавана з першакрыніцы 25 жніўня 2011. Праверана 23 лютага 2007.
- ↑ Neal, J. D.. VGA Text Mode Operation (англ.). FreeVGA Project (20 лістапада 1998). Архівавана з першакрыніцы 25 жніўня 2011. Праверана 15 снежня 2006.
- ↑ Фролов, Александр; Фролов, Григорий. Приложения . Программирование видеоадаптеров CGA, EGA и VGA (20 лістапада 1992). Архівавана з першакрыніцы 25 жніўня 2011. Праверана 23 февраля 2007.
- ↑ Dnes, Walter. Nicer console textmodes (англ.). Архівавана з першакрыніцы 7 снежня 2003. Праверана 11 студзеня 2007.
- ↑ Rollins, Dan. INT 10H 11H: EGA/VGA Character Generator Functions (англ.)(недаступная спасылка). Tech Help! (20 лістапада 1997). Архівавана з першакрыніцы 25 жніўня 2011. Праверана 11 студзеня 2007.
- ↑ Abrash, Michael. Mode X: 256-Color VGA Magic (англ.)(недаступная спасылка). Graphics Programming Black Book (20 лістапада 2001). Архівавана з першакрыніцы 30 верасня 2007. Праверана 30 сакавіка 2007.