Архитектура видеоадаптеров

Принцип действия видеосистемы

Все видеосистемы содержат электронные компоненты, формирующие сигналы синхронизации, цветности и управляющие генерированием текстовых символов. Кроме того, во всех видеосистемах имеется видеобуфер. Он представляет собой область ОЗУ, которая предназначена только для хранения текста или графической информации, выводимой на экран.

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

Программисту в большинстве случаев не требуется детального знания схем адаптера и монитора. Но для разработки эффективного ПО необходимо знать, где и как программа взаимодействует с аппаратными средствами, чтобы сформировать требуемое изображение. Хотя переход к визуальному программированию ставит под сомнение необходимость и таких знаний.

В персональных компьютерах видеобуфер (видеопамять) является частью адресного пространства ЦП и в них реализуется видеоподсистема с отображением на память. Каждая группа бит в видеобуфере определяет цвет и яркость определенного участка на экране.

Такая организация подсистемы позволяет существенно повысить скорость отображения информации на экране, поскольку запись процессором данных в Video RAM превращается в запись на экран, а считывание данных из Video RAM эквивалентно считыванию с экрана. В видеоподсистеме с отображением на память, выводимую на экран информацию можно изменять с такой скоростью, с какой процессор может записывать данные в память плюс задержка на передачу сигналов.

В видеоадаптере VGA можно условно выделить шесть логических блоков.

Видеопамять: в видеопамяти размещаются данные, отображаемые на экране дисплея. Логически она содержится в едином адресном пространстве ОС. Минимальный объем видеопамяти для VGA = 256 КБ. Физически видеопамять разделена на четыре банка, или цветовых слоя, использующих единое адресное пространство. Понятно, что чем больше емкость видеопамяти, тем большее разрешение или цветов можно получить, а, следовательно, вывести более сложное изображение.

В видеоадаптерах применяются специальные микросхемы VRAM они имеют два начала обращения: один для считывания данных и формирование видеосигнала, а второй для чтения и записи данных при обращении CPU. Оба канала действуют параллельно и независимо, поэтому скорость передачи информации возрастает.

1. Графический контроллер: управляет обменом данных между CPU и видеопамятью. Он позволяет производить над данными VRAM и данными в регистрах простейшие логические операции.

2. Последовательный преобразователь(RAMDAC): выбирает из видеопамяти один или несколько байт, преобразует их в последовательный поток битов, которые передаются в контроллер атрибутов.

3. Контроллер ЭЛТ: генерирует временные синхросигналы, управляющие ЭЛТ.

4. Контроллер атрибутов: преобразует информацию о цветах из формата, в котором она хранится в видеопамяти, в формат, необходимый для ЭЛТ. Преобразование цветов осуществляется в соответствии с таблицей цветовой палитры. Например, модифицируя таблицу цветовой палитры можно выбрать 16 цветов из 64, которые может отображать EGA или 256 цветов из палитры 256 К для VGA. В адаптере VGA контроллер атрибутов преобразует информацию о цветах текстового режима и пиксельные данные графического режима в 8-битные индексы, выбирающие регистры цвета ЦАП.

5.Синхронизатор: управляет всеми временными параметрами видеоадаптера и доступом CPU к цветовым слоям видеопамяти.

6. Видео-ПЗУ (Video ROM): постоянное запоминающее устройство, в которое записаны видео-BIOS, экранные шрифты, служебные таблицы и т.п. ПЗУ не используется видеоконтpоллеpом напрямую - к нему обращается только центральный пpоцессоp, и в результате выполнения им пpогpамм из ПЗУ происходят обращения к видеоконтpоллеpу и видеопамяти. На многих видеокартах устанавливаются электрически пеpепpогpаммиpуемые ПЗУ (EEPROM, Flash ROM), допускающие перезапись пользователем под управлением специальной программы из комплекта каpты. ПЗУ необходимо только для первоначального запуска адаптера и работы в режиме MS DOS, Novell Netware и других ОС.

Цифро-аналоговый преобразователь (ЦАП) — устройство для преобразования цифрового (обычно двоичного) кода в аналоговый сигнал (ток, напряжение или заряд). Цифро-аналоговые преобразователи являются интерфейсом между дискретным цифровым миром и аналоговыми сигналами.

Аналого-цифровой преобразователь (АЦП) производит обратную операцию.

Звуковой ЦАП обычно получает на вход цифровой сигнал в импульсно-кодовой модуляции (англ. PCM, pulse-code modulation). Задача преобразования различных сжатых форматов в PCM выполняется соответствующими кодеками.