В этой главе мы расскажем об архитектуре видеоадаптеров EGA и VGA. Видеоадаптеры EGA и VGA можно условно разделить на шесть логических блоков:
Видеопамять
В видеопамяти размещаются данные, отображаемые адаптером на экране монитора. Для видеоадаптеров EGA и VGA видеопамять, как правило, имеет объем 256 Кбайт. Видеоадаптеры SVGA оснащаются значительно большим объемом видеопамяти. В них может быть установлено больше 4 Мбайт памяти. Видеопамять находится в адресном пространстве процессора. Программы могут непосредственно производить с ней обмен данными.
Графический контроллер
Используется при обмене данными между центральным процессором компьютера и видеопамятью. Аппаратура графического контроллера позволяет выполнять над данными, поступающими в видеопамять, простейшие логические операции (И, ИЛИ, ИСКЛЮЧАЮЩЕЕ ИЛИ, циклический сдвиг).
Последовательный преобразователь
Выбирает из видеопамяти один или несколько байт, преобразует их в последовательный поток битов и передает контроллеру атрибутов.
Контроллер ЭЛТ
Генерирует временные синхросигналы, управляющие ЭЛТ.
Контроллер атрибутов
Преобразует информацию о цвете из формата, в котором она хранится в видеопамяти, в формат, необходимый для ЭЛТ. Преобразование цветов осуществляется в соответствии с таблицей цветовой палитры (Color Look-up Table). Модифицируя таблицу цветовой палитры, можно выбрать 16 цветов, поддерживаемых видеоадаптером EGA из 64 цветов, которые может отображать цветной улучшенный монитор.
Синхронизатор
Определяет все временные параметры видеоадаптера. Синхронизатор также управляет доступом процессора к цветовым слоям видеопамяти
На рисунке 3.1 представлена блок схема видеоадаптеров EGA и VGA, в которой отображены связи между их основными логическими блоками.
PICTURE._FIG_19.PCX;6";4.308";PCX
Рисунок 3.1 Блок схема видеоадаптеров EGA/VGA
Все сказанное нами остается верно и для видеоадаптеров SVGA. Однако устройство видеоадаптеров SVGA значительно сложнее. Большинство видеоадаптеров SVGA содержат специальный графический сопроцессор, который может выполнять различные функции, например, он может использоваться для рисования различных геометрических фигур, масштабирования участков изображения и т. д.