VGA

VGA

VGA (англ. Video Graphics Array) — стандарт мониторов и видеоадаптеров. Выпущен IBM в 1987 году для компьютеров PS/2 Model 50 и более старших[1]. VGA являлся последним стандартом, которому следовало большинство производителей видеоадаптеров.

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

Официальным последователем VGA стал стандарт IBM XGA, фактически же он был замещен различными расширениями к VGA, известными как SVGA.

Термин VGA также часто используется для обозначения разрешения 640×480 независимо от аппаратного обеспечения для вывода изображения, хотя это не совсем верно (так, режим 640х480 с 16-, 24- и 32-битной глубиной цвета не поддерживаются адаптерами VGA, но могут быть сформированы на мониторе, предназначенном для работы с адаптером VGA, при помощи SVGA-адаптеров). Также этот термин используется для обозначения 15-контактного D-subminiature разъёма 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" в обиходе oзначает именно этот тип подключения монитора, ныне устаревший, но все еще актуальный.
  • 18битные цвета в палитре вместо 6битных, такой богатый набор позволял, например, реализовать ночь, плохую погоду, "заколдованные" режимы и мерцающие цвета в играх одной лишь палитрой (как в Ultima VII)
  • наличие 256-цветных режимов, стандартный - 320x200, недокументированными (на деле документированными в документациях на аппаратуру VGA, но не включенными в BIOS и его документацию) ухищрениями можно было получить 320x240 (квадратные пиксели, т.н. "режим Х") и выше
  • максимальный 16цветный режим - 640x480 (квадратные пиксели)
  • во всех 200строчных графических режимах сканлиния повторялась 2 раза, что давало 400 физических строк развертки монитора, что сильно улучшало качество картинки даже в младших режимах (отсутствие щелей между строк развертки).
  • высота ячейки знакогенератора - 16 сканлиний, а не 14, как у EGA, что давало те же 400 строк развертки во всех текстовых режимах (кроме режимов совместимости со знакогенератором EGA). Таким образом, VGA всегда использовал 400 строк развертки, кроме двух старших 16цветных режимов, где их было 480 и 350. Режим Х также использовал 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].

Используя шрифты меньших размеров, чем стандартный 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 цветов), этот режим имел четыре видеостраницы. Это позволяло реализовать двойную и даже тройную буферизацию.
  • 320×240, 256 цветов, 2 страницы. В этом режиме страниц меньше, зато квадратные пиксели.
  • 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].

См. также

Примечания

  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 (1988). Архивировано из первоисточника 25 августа 2011. Проверено 15 декабря 2006.
  3. Neal, J. D. VGA Sequencer Operation  (англ.). FreeVGA Project (1998). Архивировано из первоисточника 25 августа 2011. Проверено 23 февраля 2007.
  4. 1 2 3 Scott, Michael comp.sys.ibm.pc.hardware.video FAQ  (англ.) (1997). Проверено 23 февраля 2007.
  5. Фролов, Александр; Фролов, Григорий Архитектура видеоадаптеров EGA и VGA. Программирование видеоадаптеров CGA, EGA и VGA (1992). Архивировано из первоисточника 25 августа 2011. Проверено 23 февраля 2007.
  6. Neal, J. D. VGA Text Mode Operation  (англ.). FreeVGA Project (1998). Архивировано из первоисточника 25 августа 2011. Проверено 15 декабря 2006.
  7. Фролов, Александр; Фролов, Григорий Приложения. Программирование видеоадаптеров CGA, EGA и VGA (1992). Архивировано из первоисточника 25 августа 2011. Проверено 23 февраля 2007.
  8. Dnes, Walter Nicer console textmodes  (англ.).(недоступная ссылка — история) Проверено 11 января 2007.
  9. Rollins, Dan INT 10H 11H: EGA/VGA Character Generator Functions  (англ.). Tech Help! (1997). Архивировано из первоисточника 25 августа 2011. Проверено 11 января 2007.
  10. Abrash, Michael Mode X: 256-Color VGA Magic  (англ.). Graphics Programming Black Book (2001).(недоступная ссылка — история) Проверено 30 марта 2007.

DVI (разъем)

Ссылки


Wikimedia Foundation. 2010.

Игры ⚽ Поможем сделать НИР

Полезное


Смотреть что такое "VGA" в других словарях:

  • VGA — 〈Abk. für engl.〉 Video Graphics Array, ein inzwischen überholter Videoadapter mit hoher Auflösung * * * VGA   [Abk. für Video Graphics Array, dt. »Bildgrafikanordnung«], veralteter Grafikstandard für Bildschirmkarten, der 1987 von IBM eingeführt… …   Universal-Lexikon

  • Vga — Cette page d’homonymie répertorie les différents sujets et articles partageant un même nom. VGA, sigle composé des trois lettres V, G et A, peut faire référence à : Vijayawada en Inde, selon la liste des codes AITA des aéroports ; Video …   Wikipédia en Français

  • .vga — vga,   Erweiterung für eine Datei, die VGA Bildschirmtreiber oder schriften enthält …   Universal-Lexikon

  • VGA — DEFINICIJA krat. inform. standard za vizualni prikaz grafičkih podataka (razlučljivost 640 x 480 u 256 boja) [VGA monitor] ETIMOLOGIJA engl. Video Graphics Array …   Hrvatski jezični portal

  • VGA — sigla ES ingl. Video Graphics Adapter, adattatore grafico per video, interfaccia per video a colori …   Dizionario italiano

  • VGA — 〈Abk. für engl.〉 Video Graphics Array, ein Videoadapter mit hoher Auflösung …   Lexikalische Deutsches Wörterbuch

  • VGA — [ˌvi: dʒi: ˈeı] n [U] technical video graphics array a standard of ↑graphics (=pictures and letters) on a computer screen that has many different colours and is of a high quality …   Dictionary of contemporary English

  • VGA — (video graphics array) n. old standard for display cards (Computers) …   English contemporary dictionary

  • VGA — <englisch; Kurzwort aus Video Graphic s Array> (Abkürzung für einen Chip zur Steuerung eines Farbbildschirms mit hoher Bildwiederholungsfolge und hoher Auflösung) …   Die deutsche Rechtschreibung

  • VgA — Die Abkürzung VGA steht für Video Graphics Array, ein Grafikkartenstandard VGA (Anschluss), mit VGA Karten eingeführter, jedoch nicht an diese gebundener Anschluss Variable Gain Adjustment, ein elektronisches Bauelement Verkehrsgemeinschaft Aalen …   Deutsch Wikipedia


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»