Режимы работы видеоадаптера, или видеорежимы, представляют собой совокупность параметров, обеспечиваемых видеоадаптером: разрешение, цветовая палитра, частоты строчной и кадровой развертки, способ адресации участков экрана и др.
Все видеорежимы делятся на графические и текстовые. Причем в различных режимах видеоадаптера используются разные механизмы формирования видеосигнала, а монитор в обоих режимах работает одинаково.
Графический режим является основным режимом работы видеосистемы современного ПК, например под управлением Windows. В графическом режиме на экран монитора можно вывести текст, рисунок, фотографию, анимацию или видеосюжет. В графическом режиме в каждой ячейке кадрового буфера (матрицы NxM n-разрядных чисел) содержится код цвета соответствующего пиксела экрана. Разрешение экрана при этом также равно NxМ. Адресуемым элементом экрана является минимальный элемент изображения — пиксел. По этой причине графический режим называют также режимом АРА (All Point Addressable — все точки адресуемы). Иногда число п называют глубиной цвета. При этом количество одновременно отображаемых цветов равно 2n, а размер кадрового буфера, необходимый для хранения цветного изображения с разрешением NxM и глубиной цвета п, составляет NxM бит.
В текстовом (символьном) режиме, как и в графическом, изображение на экране монитора представляет собой множество пикселов и характеризуется разрешением NxM. Однако все пикселы разбиты на группы, называемые знакоместами, или символьными позициями (Character boxes — символьные ячейки), размером р х q. В каждом из знакомест может быть отображен один из 256 символов. Таким образом, на экране умещается M/q= M, символьных строк по N/p = N, символов в каждой. Типичным текстовым режимом является режим 80x25 символов.
Изображение символа в пределах каждого знакоместа задается точечной матрицей (Dot Matrix). Размер матрицы зависит от типа видеоадаптера и текущего видеорежима. Чем больше точек используется для отображения символа, тем выше качество изображения и лучше читается текст. Точки матрицы, формирующие изображение символа, называются передним планом, остальные — задним планом, или фоном. На рис. 4.16 показана символьная матрица 8x8 пикселов. Допустив, что темной клетке соответствует логическая единица, а светлой — логический ноль, каждую строку символьной матрицы представим в виде двоичного числа. Следовательно, графическое изображение символа можно хранить в виде набора двоичных чисел. Для этой цели используется специальное ПЗУ, размещенное на плате видеоадаптера. Такое ПЗУ называют аппаратным знакогенератором.
Рис. 4.16. Схема представления символа «А» в текстовом режиме в матрице 8x8 и ячейке знакогенератора
Совокупность изображений 256 символов называется шрифтом. Аппаратный знакогенератор хранит шрифт, который автоматически используется видеоадаптером сразу же после включения компьютера (обычно это буквы английского алфавита и набор специальных символов). Адресом ячейки знакогенератора является порядковый номер символа.
Для кодирования изображения символа на экране используются два байта: один — для задания номера символа, второй — для указания атрибутов символа (цвета символа и фона, подчеркивания, мигания, отображения курсора). Если на экране имеется NxM знакомест, то объем видеопамяти, необходимый для хранения изображения, составит Nt х Мt х 2 байт. Эту область видеопамяти называют видеостраницей. Видеостраница является аналогом кадрового буфера в графическом режиме, но имеет значительно меньший объем. В наиболее распространенном текстовом режиме (80х25 символов) размер видеостраницы составляет 4000 байт, в режиме 40х25 — 2000 байт. На практике для удобства адресации под видеостраницу отводят 4 Кбайт = 4096 байт и 2 Кбайт = 2048 байт соответственно, при этом «лишние» байты (96 и 48) не используются.
Главная особенность текстового режима в том, что адресуемым элементом экрана является не пиксел, а знакоместо. Иными словами, в текстовом режиме нельзя сформировать произвольное изображение в любом месте экрана — можно лишь отобразить символы из заданного набора, причем только в отведенных символьных позициях.
Другим существенным ограничением текстового режима является узкая цветовая палитра — в данном режиме может быть отображено не более 16 цветов.
Таким образом, в текстовом режиме предоставляется значительно меньше возможностей для отображения информации, чем в графическом. Однако важное преимущество текстового режима — значительно меньшие затраты ресурсов ПК на его реализацию.
Переход к более высокому разрешению и большей глубине цвета привел к увеличению загрузки центрального процессора и шины ввода/вывода. В целях разгрузки центрального процессора решение отдельных задач построения изображения было возложено на специализированный набор микросхем (Chipset) видеоадаптера, называемый графическим ускорителем, или акселератором. Акселератор аппаратным путем выполняет ряд действий, направленных на построение изображения.
2. Основные типы видеоадаптеров.
С момента появления и до наших дней сменилось несколько типов видеосистем. К базовым классам видеосистем можно отнести следующие.
2.1. Адаптер MDA.
Первые модели IBM PC были оснащены монохромным дисплеем с люминофором зеленого свечения. Для связи этого дисплея с компьютером использовался видеоадаптер типа MDA (Monochrome Display Adapter — Адаптер монохромного дисплея). Он работал только в текстовом режиме 80x25 символов. Символьная матрица (знакоместо) была размером 9x14 пикселов, поэтому разрешение, поддерживаемое монитором MDA, составляло 720x350 пикселов, а размер самого символа -- 7x9 пикселов. Емкость видеопамяти видеоадаптера MDA была минимальной, достаточной для размещения только одной видеостраницы размером 4 Кбайт. Основу видеоадаптера MDA составляла микросхема МС6845 фирмы Motorola.
2.2. Адаптер CGA.
Видеосистема CGA включала в себя цветной TTL-монитор и видеоадаптер CGA (Color Graphics Adapter— Цветной графический адаптер). Главные отличия этой видеосистемы от MDA отражены в ее названии, т. е. она обеспечивала: цветное изображение (от 4 до 16 цветов); несколько графических режимов работы видеоадаптера.
Максимальное разрешение монитора CGA составляло 640x200. Такое разрешение использовалось либо в текстовом 80x25 (при размере знакоместа 8x8), либо в монохромном графическом режиме. В последнем случае для хранения цифрового образа экрана требовался кадровый буфер размером 640x480x1 = 128 000 бит = 15,625 Кбайт. Поэтому объем видеопамяти видеоадаптера CGA составлял 16 Кбайт. При работе в графическом режиме с более низким разрешением (например 320x200) для кодирования цвета каждого пиксела использовалось 2 бита, благодаря чему обеспечивалось одновременное отображение 4-х цветов, а при разрешении 200x160 — 16-и цветов. В текстовом режиме были доступны все 16 цветов. Видеоадаптер CGA также выполнен на основе микросхемы МС6845.
Меньшая детальность прорисовки символа и малое межсимвольное расстояние, использованные в CGA, настолько ухудшили различимость текста по сравнению с MDA, что длительная работа в текстовом режиме стала крайне утомительна для глаз. Для совмещения главных достоинств CGA (графического режима и цветного изображения) с возможностью продуктивно работать в текстовых режимах, в PC могли быть установлены обе видеосистемы одновременно. Чтобы исключить конфликты, были разнесены адреса видеопамяти и управляющих регистров на видеоадаптерах CGA и MDA.
Интересная особенность видеоадаптера CGA — он может использовать обычный телевизор в качестве устройства отображения. Для этого видеоадаптер CGA был оснащен специальным кодирующим устройством, которое из четырех двоичных сигналов I, R, G, В и сигналов синхронизации формирует композитный (совмещенный) полный цветной телевизионный сигнал (ПЦТС).
2.3. Адаптер HGC.
Стандарт HGC (Hercules Graphics Card), разработанный фирмой Hercules в 1982 г., явился логичным решением, позволившим объединить в одном изделии возможности MDA, обеспечивающие высококачественное отображение текста, с поддержкой графического режима CGA. Часто видеоадаптеры этого стандарта называют картами Hercules). Поскольку в качестве устройства отображения для данного видеоадаптера использовался стандартный монохромный монитор видеосистемы MDA, видеоадаптеры HGC быстро завоевали популярность и де-факто стали единственным стандартом в, области видеосистем для PC, разработанных за пределами фирмы IBM.
По своему разрешению (720x348) видеоадаптер HGC подобен карте MDA. Соответственно, одинаковы у них и размеры символьной матрицы для текстового режима — 9x14 пикселов. В качестве видеоконтроллера в HGC используется уже известная микросхема МС6845.
Длина первых карт Hercules равнялась примерно 30 см; на их платах размещалось около 100 отдельных корпусов микросхем. Карты, производимые позднее, объединяли все элементы в одном чипе, таком как, например, микросхема контроллера TD3088. Обычно на такой карте находится еще и параллельный порт для подключения принтера.
Однако, несмотря на все перечисленные выше достоинства, видеоадаптеры данного типа имели существенный недостаток — монохромность изображения. По этой причине их широкое использование практически прекратилось с появлением новых видеоадаптеров фирмы IBM — EGA и VGA.
2.4. Адаптер EGA.
Новый видеоадаптер EGA (Enhanced Graphics Adapter — Улучшенный графический адаптер) обеспечивал более высокое разрешение по вертикали, большее количество отображаемых цветов и обладал более высоким быстродействием. Максимальное разрешение, обеспечиваемое видеосистемой EGA, составило 640x350, что позволило значительно повысить качество изображения в текстовом и графическом режимах работы по сравнению с CGA. Благодаря увеличению размера знакоместа до 8x14 (размер символа составил 7x9) значительно повысилась четкость отображения текста.