Функциональная схема видеокарты
Обязательным элементом видеокарты является контроллер монитора, в задачу которого входит согласованное формирование сигналов сканирования видеопамяти (адрес и стробы чтения) и сигналов вертикальной и горизонтальной синхронизации монитора. Контроллер монитора должен обеспечивать требуемые частоты развертки и режимы сканирования видеопамяти, которые зависят от режима отображения (графический или текстовый) и организации видеопамяти. Опорной частотой для работы контроллера является частота вывода пикселов в графических режимах или точек разложения символов в текстовом режиме.
Видеопамять является специальной областью памяти, из которой контроллер монитора организует циклическое чтение содержимого для регенерации изображения. Первоначально для видеопамяти в карте распределения памяти РС была выделена область адресов A0000h-BFFFFh, доступные любому процессору х86. Для увеличения объема памяти (для VGA и SVGA) пришлось
Рис. Функциональная схема видеокарты
применять технику переключения банков памяти. Современные графические адаптеры имеют возможность переадресации видеопамяти в область старших адресов (свыше 16 Мбайт), что позволяет в защищенном режиме процессора работать с цельными образами экранов. На графических адаптерах существует и архитектура унифицированной памяти UMA. При таком подходе под видеобуфер выделяется область системного ОЗУ. Но это приводит к снижению производительности как графической подсистемы, так и компьютера в целом. Для повышения производительности служит не просто выделение видеопамяти, но и применение в ней микросхем со специальной архитектурой - VRAM, WRAM, MDRAM, RDRAM, SGRAM.
Контроллер атрибутов управляет трактовкой цветовой информации, хранящейся в видеопамяти. В текстовом режиме он обрабатывает информацию из байт атрибутов знакомест, а в графическом - бит текущего выводимого пиксела. Контроллер атрибутов позволяет увязать объем хранимой цветовой информации с возможностями монитора. В состав контроллера атрибутов входят регистры палитр, которые служат для преобразования цветов, закодированных битами видеопамяти, в реальные цвета на экране. С появлением адаптеров, способных более 256 цветов, на видеокарту их монитора перенесли цифроаналоговые преобразователи (ЦАП) сигналов базисных цветов. Объединение ЦАП с регистрами палитр в настоящее время исполняется в виде микросхем RAMDAC (цифро-аналоговый преобразователь). Микросхемы RAMDAC характеризуются разрядностью преобразователей, которая может доходить до 8 бит на цвет, и предельной частотой выборки точек (DotCLK), с которой они способны работать.
Графический контроллер является средством повышения производительности программного построения образов изображений в видеопамяти. В адаптерах EGA и VGA функции графического контроллера реализованы аппаратными средствами специализированных микросхем. Адаптеры EGA и VGA имеют четыре 8-ми битных регистра-защелки, в которых фиксируются данные из соответствующих им цветовых слоев при выполнении любой операции чтения видеопамяти. В последующих операциях записи в формировании данных для каждого слоя могут принимать участие данные от процессора и данные из регистров-защелок соответствующих слоев. Регистр битовой маски позволяет побитно управлять источником записываемых данных: если бит регистра маски имеет нулевое значение, то в видеопамять этот бит во всех слоях будет записан из регистра-защелки. Данные от процессора будут поступать только для бит с единичным значением маски. При чтении графический контроллер может задавать номер читаемого слоя. В современных адаптерах функции графического контроллера, существенно расширенные по сравнению с EGA и VGA, выполняются встроенным микропроцессором - графическим акселератором.
Синхронизатор позволяет синхронизировать циклы обращения процессора к видеопамяти с процессом регенерации изображения. От внутреннего генератора вырабатывается частота вывода пикселей DotClock, относительно которой строятся все временные последовательности сканирования видеопамяти, формирования видеосигналов и синхронизации монитора. В то же время процессор обращается к видеопамяти асинхронно относительно процесса регенерации. В задачу синхронизатора входит согласование этих асинхронных процессов.
Внутренняя шина адаптера предназначена для высокопроизводительного обмена данными между видеопамятью, графическим акселератором и внешним интерфейсом. Типовая разрядность канала данных у этой шины 64/128 бит. Однако реально используемая разрядность может оказаться меньшей, если установлены не все предусмотренные микросхемы видеопамяти.
Блок внешнего интерфейса связывает адаптер с одной из шин компьютера. Раньше для графических адаптеров использовали шину ISA (8/16 бит). Современные графические адаптеры используют в основном высокопроизводительные шины, такие как PCI и еще более производительный канал AGP.
Блок интерфейса монитора формирует выходные сигналы соответствующего типа (RGB-TTL, RGB-Analog и т.д.). Этот же блок отвечает за диалог с монитором: в простейшем случае - чтение бит идентификации, а в более сложном - обмен данными по каналу DDC. Идентификация типа подключенного монитора VGA может производиться и по уровню видеосигнала на выходах красного или синего цвета: монитор имеет терминаторы (75 Ом) на каждом из аналоговых входов. Такая нагрузка при подключении снижает напряжение выходного сигнала. У монохромного монитора используется только канал зеленого цвета - линии красного и синего остаются без нагрузки.
Модуль расширения BIOS хранит код драйверов видеосервиса (INT 10h) и таблицы знакогенераторов. Этот модуль обеспечивает возможность установки любой карты, не задумываясь о проблемах программной совместимости. Модуль расширения получает управление для инициализации графического адаптера почти в самом начале POST. Модуль имеет начальный адрес C0000h и его размер зависит от типа адаптера. Для повышения производительности видеопостроений применяют теневую память (Video BIOS Shadowing) или кэширование (Video BIOS Caching). Для графических адаптеров, интегрированных в системную плату, программная поддержка также встроена в системную BIOS.