Video Graphics Array

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

VGA (англ. Video Graphics Array) — відеоадаптер та відповідний стандарт дисплеїв вперше введений на комп'ютерах IBM PS/2 у 1987 році[1], але через його розповсюдженість також став означати і 15-контактний D-subminiature VGA connector та роздільність 640×480. Наразі ця роздільність витіснена з ринку персональних комп'ютерів, але набуває популярності на ринку мобільних пристроїв.[2] VGA був останнім стандартом, якому слідувала більшість виробників відеоадаптерів.

Відеоадаптер VGA підключається як до кольорового, так і до монохромного монітору, при цьому доступні всі стандартні відеорежими. Частота оновлення екрану у всіх стандартних режимах, крім 640×480, — 70 Гц, у режимі 640×480 — 60 Гц. Відеоадаптер має можливість одночасно виводити на екран 256 різних кольорів, з палітри в 262 144 кольорів (по 6 біт на червоний, зелений і синій компоненти). Обсяг відеопам'яті VGA — 256 КБ.

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

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

Технічні характеристики[ред. | ред. код]

Палітра VGA[ред. | ред. код]

See also the List of monochrome and RGB palettes article — 18-bit RGB section, and the List of 16-bit computer hardware palettes article — MCGA and VGA section.
VGA 256 color palette

Архітектура відеоадаптера VGA[ред. | ред. код]

VGA складається з таких основних підсистем:

  • Графічний контролер (англ. Graphics Controller), за допомогою якого відбувається обмін даними між центральним процесором і відеопам'яттю. Має можливість виконувати бітові операції над даними, що передаються.
  • Відеопам'ять (Display Memory), в якій розміщуються дані, що відображаються на екрані монітора. 256 кБ DRAM розділені на чотири кольорових пласти по 64 кБ.
  • Послідовний перетворювач (Serializer або Sequencer) — перетворює дані з відеопам'яті в потік бітів, що передається контролеру атрибутів[4].
  • Контролер атрибутів (Attribute Controller) — за допомогою палітри перетворює вхідні дані в кольорові значення.
  • Синхронізатор (Sequencer) — керує часовими параметрами відеоадаптера і перемиканням кольорових пластів.
  • Контролер ЕПТ (CRT Controller) — генерує сигнали синхронізації для ЕПТ[5][6].

На відміну від CGA і EGA, основні підсистеми розташовуються на одній мікросхемі, що дозволяє зменшити розмір відеоадаптера. В комп'ютерах PS/2 відеоадаптер VGA інтегрований в материнську плату [3].

Текстові режими[ред. | ред. код]

В стандартних текстових режимах символи формуються в комірці 9×16 пікселів, можливе використання шрифтів інших розмірів: 8—9 пікселів в ширину і 1—32 пікселі в висоту. Розміри самих символів, як правило, менше, тому що частина простору йде на створення простору між символами. Функція для вибору розміру шрифту в BIOS відділена від функції вибору відеорежиму, що дозволяє використовувати різноманітні комбінації режимів і шрифтів. Є можливість завантаження восьми і одночасного виводу на екран двох різноманітних шрифтів[3][7].

У VGA BIOS зберігаються такі види шрифтів і функції для їхнього завантаження й активації:

  • 8×16 пікселів (стандартний шрифт VGA),
  • 8×14 (для сумісності з EGA),
  • 8×8 (для сумісності з CGA).

Як правило, ці шрифти відповідають кодовій сторінці CP437. Також підтримується програмне завантаження шрифтів.[8].

Доступні такі стандартні режими:

  • 40×25 символів, 16 кольорів, роздільність 360×400 пікселів.
  • 80×25 символів, 16 кольорів, роздільність 720×400 пікселів.
  • 80×25 символів, монохромний, роздільність 720×400 пікселів[5].

Використовуючи шрифти менших розмірів, ніж стандартний 8×16, можна збільшити кількість рядків у текстовому режимі. Наприклад, якщо використовувати шрифт 8×14, то буде доступно 28 рядків, при 8×8 — 50 (аналогічно режиму EGA 80x43)[9][10].

В текстових режимах для кожної комірки з символом можна вказати атрибут, що задає спосіб відображення символу. Існує два окремих набори атрибутів — для кольорових режимів і для монохромних.

Атрибути кольорових текстових режимів дозволяють обрати один з 16-ти кольорів символу, один з 8-ми кольорів фону і ввімкнути чи вимкнути моргання (можливість вибору моргання можна замінити на можливість вибору одного з 16-ти кольорів фону), що збігається з можливостями CGA.

Атрибути монохромних режимів збігаються з атрибутами, доступними у MDA, і дозволяють вмикати підвищену яскравість символу, підкреслення, моргання, інверсію та деякі їх комбінації[3].

Графічні режими[ред. | ред. код]

На відміну від своїх попередників (CGA і EGA) відеоадаптер VGA мав відеорежим з квадратними пікселями (тобто, на екрані зі співвідношенням сторін 4:3 співвідношення горизонтальної і вертикальної роздільностей було також 4:3). У адаптерів CGA і EGA пікселі були витягнуті по вертикалі.

Стандартні графічні режими[ред. | ред. код]

  • 320X200 пікселів, 4 кольорів.
  • 320X200 пікселів, 16 кольорів.
  • 320X200 пікселів, 256 кольорів.
  • 640X200 пікселів, 2 кольори.
  • 640X200 пікселів, 16 кольорів.
  • 640X350 пікселів, монохромний.
  • 640X350 пікселів, 16 кольорів.
  • 640X480 пікселів, 2 кольори. При роздільності 640×480 пікселів має пропорції 1:1.
  • 640X480 пікселів, 16 кольорів[5].

Нестандартні графічні режими (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»[11].

Порівняльна таблиця[ред. | ред. код]

Назва x
(ширина)
y
(висота)
Пікселів
(×1 мільйон)
Співвід-
ношення
сторін
Різниця пікселів у процентах Широкоекранна
версія
Типовий розмір
екрану
VGA SVGA XGA XGA+ SXGA SXGA+ UXGA QXGA
VGA 640 480 0,31 1,33 0% −36% −61% −69% −77% −79% −84% −90% WVGA
SVGA 800 600 0,48 1,33 56% 0% −39% −52% −63% −67% −75% −85% WSVGA
XGA 1024 768 0,79 1,33 156% 64% 0% −21% −40% −47% −59% −75% WXGA 15" / 38 см
XGA+ 1152 864 1,00 1,33 224% 107% 27% 0% −24% −32% −48% −68% WXGA+ 17" / 43 см
SXGA 1280 1024 1,31 1,25 327% 173% 67% 32% 0% −11% −32% −58% WSXGA 17–19" / 43–48 см
SXGA+ 1400 1050 1,47 1,33 379% 206% 87% 48% 12% 0% −23% −53% WSXGA+
UXGA 1600 1200 1,92 1,33 525% 300% 144% 93% 46% 31% 0% −39% WUXGA 20" / 51 см
QXGA 2048 1536 3,15 1,33 924% 555% 300% 216% 140% 114% 64% 0% WQXGA 30" / 76 см

Див. також[ред. | ред. код]

Примітки[ред. | ред. код]

  1. Chronology of IBM Personal Computers. Архів оригіналу за 27 червня 2013. Процитовано 28 листопада 2008. 
  2. Windows Mobile 6 phone boasts VGA display. Архів оригіналу за 30 травня 2012. Процитовано 28 листопада 2008. 
  3. а б в г Thompson, Stephen (1988). VGA-sign choices for a new video subsystem. IBM Systems Journal (англійською). Архів оригіналу за 25 серпня 2011. Процитовано 15 грудня 2006. 
  4. Neal, J. D. (1998). VGA Sequencer Operation. FreeVGA Project (англійською). Архів оригіналу за 25 серпня 2011. Процитовано 23 лютого 2007. 
  5. а б в Scott, Michael (1997). comp.sys.ibm.pc.hardware.video FAQ (англійською). Архів оригіналу за 19 жовтня 2008. Процитовано 23 февраля 2007. 
  6. Фролов, Александр; Фролов, Григорий (1992). Архитектура видеоадаптеров EGA и VGA. Программирование видеоадаптеров CGA, EGA и VGA. Архів оригіналу за 25 серпня 2011. Процитовано 23 лютого 2007. 
  7. Neal, J. D. (1998). VGA Text Mode Operation. FreeVGA Project (англійською). Архів оригіналу за 25 серпня 2011. Процитовано 15 грудня 2006. 
  8. Фролов, Александр; Фролов, Григорий (1992). Приложения. Программирование видеоадаптеров CGA, EGA и VGA (рос.). Архів оригіналу за 25 серпня 2011. Процитовано 23 лютого 2007. 
  9. Dnes, Walter. Nicer console textmodes (англійською). Архів оригіналу за 7 грудня 2003. Процитовано 11 січня 2007. 
  10. Rollins, Dan (1997). INT 10H 11H: EGA/VGA Character Generator Functions. Tech Help! (англійською). Архів оригіналу за 25 серпня 2011. Процитовано 11 січня 2007. 
  11. Abrash, Michael (2001). Mode X: 256-Color VGA Magic. Graphics Programming Black Book (англійською). Архів оригіналу за 30 вересня 2007. Процитовано 30 березня 2007. 

Further reading[ред. | ред. код]

Посилання[ред. | ред. код]

Шаблон:AVconn