Машинная графика - Учебное пособие (П.В.Вельтмандер)

0.11.6  видеоадаптеры ega/vga

Видеоадаптеры EGA и VGA - более совершенные устройства, более напоминаюшие уже рассмотренные нами растровые дисплеи. На рис. 0.11.2 показана блок-схема, общая для этих двух адаптеров, на рис. 0.11.3 - блок схема, демонстрирующая отличия для VGA, связанные с использованием не цифрового, а аналогового дисплея.

Графический контроллер обеспечивает обмен между центральным процессором и видеопамятью, которая так же как и в CGA находится в адресном пространстве для экранного буфера.

Видеопамять имеет объем, как правило 256 Кбайт, но для EGA может быть и 64 Кбайт. Видеопамять разбита на 4 банка (цветовых слоя). Банки занимают одно адресное пространство таким образом, что по каждому адресу расположено сразу 4 байта по одному байту в каждом слое. Можно запрещать или разрешать запись в отдельные слои памяти при помощи регистра разрешения записи цветового слоя. Для операции чтения в каждый данный момент времени может быть доступен только один слой, задаваемый с помощью регистра выбора читаемого слоя. В большинстве режимов работы видеопамять разделена несколько страниц. При этом одна из них активна и отображается на экране. Запись информации возможна как на активную, так и на неактивные страницы.

Преобразователь последовательности выбирает данные из памяти, требуемым для того или иного режима образом, и формирует последовательный поток бит, передаваемый контроллеру атрибутов.

Контроллер атрибутов, используя таблицу цветности, преобразует информацию о цветах, полученную из видеопамяти, в информацию для ЭЛТ.

Контроллер ЭЛТ генерирует синхроимпульсы управления ЭЛТ.

Тактовый генератор управляет временными параметрами видеоадаптера и доступом от процессора в слоям видеопамяти.

Показанный на рис. 0.11.3 ЦАП преобразует цифровые сигналы яркостей в аналоговые значения, необходимые аналоговому монитору.

Большое количество различных регистров у адаптеров позволяет гибко регулировать режимы работы, управлять сигналами синхронизации, определять формат экрана и т.д.

Рисунок 80

Рис. 0.4.2: Блок-схема видеоадаптеров EGA/VGA

Рисунок 81

Рис. 0.4.3: Блок-схема видеоадаптера VGA

Текстовый режим

В текстовом режиме можно вывести на экран 25 строк по 40 или 80 символов. Перепрограммировав некоторые регистры адаптера можно получить для EGA до 43 строк, а для VGA - до 50.

Также как для CGA для кодирования символа используется два байта. Первый из них содержит код символа и заносится в нулевой цветовой слой, второй байт содержит атрибут символа и заносится во второй цветовой слой.

Таблицы знакогенератора, задающие внешний вид символов, размещаются во втором слое видеопамяти. Всего может быть загружено 4 таблицы для EGA и 8 - для VGA. Одновременно могут быть активными две таблицы, что дает возможность отобразить на экране до 512 различных конфигураций знакомест одновременно. Возможные размеры символов приведены в таблице 0.11.1.

Байт атрибута задает цвета символа и фона, мерцание и одну из двух активных таблиц знакогенератора.

Графические режимы

Имеется большой набор графических режимов. В режимах, совместимых с CGA используется только 0-й слой памяти, распределение которого по адресному пространству и интерпретация значений бит такая же как и для CGA (см. рис. 0.11.1).

В части графических режимов память интерпретируется как послойная с использованием одного, двух или всех четырех слоев. Если используется, например, 4 слоя, то изображение будет с 4-мя битами на пиксел - по биту из каждого слоя. В этом случае имеется 16 оттенков одновременно. При использовании одного слоя, естественно, получаем черно-белое изображение. В режиме с двумя слоями поддерживается три уровня черно-белого (черный, белый, ярко-белый) и мерцание.

В одном из режимов, применимом только для VGA, память интерпретируется как линейная последовательность всех четырех слоев (см. рис. 0.11.4). Это режим с разрешением 320×200 с байтом на пиксел, т.е. с 256 градациями.

Рисунок 82

Рис. 0.4.4: Структура видеопамяти для VGA-режима 320×200×256

Графические акселераторы

Для повышения быстродействия графических подсистем IBM PC выпускаются специальные типы адаптеров - графические акселераторы. Графические акселераторы содержат собственные процессоры, которые специализированы для выполнения графических преобразований, поэтому изображения обрабатываются быстрее, чем с использованием универсального ЦП ПЭВМ.

Акселераторы, кроме типа и возможностей графического процессора, различаются по следующим основным параметрам:

 памятью для сохранения изображений. В некоторых случаях используется обычная динамическая память DRAM, но обычно используется специализированная видеопамять VRAM;

 используемой шиной. В настоящее время обычно используется PCI;

 шириной регистров. Чем шире регистр, тем большее число пикселов можно обработать за олну команду. В настоящее время обычная ширина - 64 бита. В ближайшее время на рынке появятся акселераторы с шириной регистров в 128 бит.