VGA
Материал из Википедии — свободной энциклопедии
VGA (англ. Video Graphics Array) — стандарт мониторов и видеоадаптеров. Выпущен IBM в 1987 году для компьютеров PS/2 Model 50 и более старших[1]. VGA являлся последним стандартом, которому следовало большинство производителей видеоадаптеров.
Видеоадаптер VGA подключается как к цветному, так и к монохромному монитору, при этом доступны все стандартные видеорежимы. Частота обновления экрана во всех стандартных режимах, кроме 640×480, — 70 Гц, в режиме 640×480 — 60 Гц. Видеоадаптер имеет возможность одновременно выводить на экран 256 различных цветов, каждый из которых может принимать одно из 262 144 различных значений (по 6 битов на красный, зелёный и синий компоненты). Объём видеопамяти VGA — 256 кБ.
Видеоадаптер VGA, в отличие от предыдущих видеоадаптеров IBM (MDA, CGA, EGA), использует аналоговый сигнал для передачи цветовой информации. Переход на аналоговый сигнал был обусловлен необходимостью сокращения числа проводов в кабеле. Также аналоговый сигнал давал возможность использовать VGA-мониторы с последующими видеоадаптерами, которые могут выводить большее количество цветов[2].
Официальным последователем VGA стал стандарт IBM XGA, фактически же он был замещен различными расширениями к VGA, известными как SVGA.
Термин VGA также часто используется для обозначения разрешения 640×480 независимо от аппаратного обеспечения для вывода изображения. Также этот термин используется для обозначения 15-контактного D-subminiature разъёма VGA для передачи аналоговых видеосигналов при различных разрешениях.
Содержание |
[править] Архитектура видеоадаптера VGA
VGA состоит из следующих основных подсистем:
- Графический контроллер (Graphics Controller), посредством которого происходит обмен данными между центральным процессором и видеопамятью. Имеет возможность выполнять логические операции над передаваемыми данными.
- Видеопамять (Display Memory), в которой размещаются данные, отображаемые на экране монитора. 256 кБ DRAM разделены на четыре цветовых слоя по 64 кБ.
- Последовательный преобразователь (Serializer или Sequencer) — преобразует данные из видеопамяти в поток битов, передаваемый контроллеру атрибутов[3].
- Контроллер атрибутов (Attribute Controller) — с помощью палитры преобразует входные данные в цветовые значения.
- Синхронизатор (Sequencer) — управляет временны́ми параметрами видеоадаптера и переключением цветовых слоёв.
- Контроллер ЭЛТ (CRT Controller) — генерирует сигналы синхронизации для ЭЛТ[4][5].
В отличие от CGA и EGA, основные подсистемы располагаются в одной микросхеме, что позволяет уменьшить размер видеоадаптера. В компьютерах PS/2 видеоадаптер VGA интегрирован в материнскую плату [2].
[править] Текстовые режимы
В стандартных текстовых режимах символы формируются в ячейке 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].
Используя шрифты меньших размеров, чем стандартный 8×16, можно увеличить количество строк в текстовом режиме. Например, если включить шрифт 8×14, то будет доступно 28 строк. Включение шрифта 8×8 увеличивает количество строк до 50 (аналогично режиму EGA 80x43)[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 цветов.
- 640×200 пикселов, 2 цвета.
- 640×200 пикселов, 16 цветов.
- 640×350 пикселов, монохромный.
- 640×350 пикселов, 16 цветов.
- 640×480 пикселов, 2 цвета. При разрешении 640×480 пиксел имеет пропорции 1:1.
- 640×480 пикселов, 16 цветов[4].
[править] Нестандартные графические режимы (X-режимы)
Перепрограммирование VGA позволяло достичь более высоких разрешений по сравнению со стандартными режимами VGA. Наиболее распространённые режимы таковы:
- 320×200, 256 цветов, 4 страницы. Ничем внешне не отличающийся от режима 13h (320×200, 256 цветов), этот режим имел четыре видеостраницы. Это позволяло реализовать двойную и даже тройную буферизацию.
- 320×240, 256 цветов, 2 страницы. В этом режиме страниц меньше, зато квадратные пиксели.
- 360×480, 256 цветов, 1 страница. Наибольшее разрешение на 256 цветах, которое позволяет VGA.
Во всех этих режимах структура графической памяти не линейна, и адрес памяти, который соответствует пикселю с координатами (x, y), вычисляется по сложным формулам. Зато из-за особенностей контроллера видеопамяти копирование данных в видеопамять происходит вчетверо быстрее, чем в режиме 13h.
Термин «X-режим» (англ. Mode X) был придуман Майклом Абрашем в 1991 году для обозначения нестандартного режима 320×240, 256 цветов. Этот режим был открыт различными программистами независимо друг от друга, но стал известным благодаря статьям Майкла Абраша в журнале «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 (1988) VGA-sign choices for a new video subsystem(англ.) IBM Systems Journal. Проверено 15 декабря 2006 г.
- ↑ Neal, J. D. (1998) VGA Sequencer Operation(англ.) FreeVGA Project. Проверено 23 февраля 2007 г.
- ↑ а б в Scott, Michael (1997) comp.sys.ibm.pc.hardware.video FAQ(англ.) Проверено 23 февраля 2007 г.
- ↑ Фролов, Александр; Фролов, Григорий (1992) Архитектура видеоадаптеров EGA и VGA Программирование видеоадаптеров CGA, EGA и VGA. Проверено 23 февраля 2007 г.
- ↑ Neal, J. D. (1998) VGA Text Mode Operation(англ.) FreeVGA Project. Проверено 15 декабря 2006 г.
- ↑ Фролов, Александр; Фролов, Григорий (1992) Приложения Программирование видеоадаптеров CGA, EGA и VGA. Проверено 23 февраля 2007 г.
- ↑ Dnes, Walter Nicer console textmodes(англ.) Проверено 11 января 2007 г.
- ↑ Rollins, Dan (1997) INT 10H 11H: EGA/VGA Character Generator Functions(англ.) Tech Help!. Проверено 11 января 2007 г.
- ↑ Abrash, Michael (2001) Mode X: 256-Color VGA Magic(англ.) Graphics Programming Black Book. Проверено 30 марта 2007 г.
Стандарты видеоадаптеров и мониторов | Сравнительные размеры |
---|---|
Видеоадаптеры | |
MDA | HGC | CGA | EGA | VGA | MCGA | 8514 | XGA | |
Разрешение экрана | |
QVGA | VGA | SVGA | XGA | XGA+ | SXGA | SXGA+ | UXGA | QXGA | QSXGA | QUXGA | HXGA | HSXGA | HUXGA | |
Широкоэкранные варианты | |
WXGA | WSXGA/WXGA+ | WSXGA+ | WUXGA | WQXGA | WQSXGA | WHXGA | WHSXGA | WHUXGA | WQUXGA |