Сделай Сам Свою Работу на 5

Устройство и особенности работы видеоадаптера VGA





Современные видеоадаптеры сохранили принцип действия и основные узлы, присущие видеоадаптеру VGA. Поэтому рассмотрение адаптера VGA помогает лучше понять особенности современных устройств. Видеоадаптер VGA содержит следующие элементы (рис. П3.1):

· видеопамять

· ROM Video BIOS

· контроллер ЭЛТ, или CRTC (Cathode Ray Tube Controller)

· графический контроллер

· контроллер атрибутов

· секвенсер (sequencer)

· RAMDAC (Random Access Memory Digital-to Analog Converter)

· синхронизатор

· тактовые генераторы

· интерфейс с шиной ввода/вывода

· 15-контактный D-образный разъем для подключения монитора

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

Помимо регистров, входящих в состав указанных элементов, видеоадаптер VGA имеет несколько общих регистров, указанных далее.

· Многоцелевой выходной регистр (предназначен для задания адресов портов ввода/вывода элементов видеоадаптера, начального адреса кадрового буфера и выбора тактового генератора).



· Регистр состояния (используется для синхронизации процесса обновления кадрового буфера с обратным ходом кадровой развертки).

Конструктивно основные элементы видеоадаптера VGA, за исключением видеопамяти, ROM Video BIOS, тактовых генераторов и схемы интерфейса с шиной ввода/вывода, реализованы в одной микросхеме.

Рис. П3.1. Структурная схема видеоадаптера VGA

 

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

Часть видеопамяти, используемая для хранения цифрового изображения, называется кадровым буферам (frame buffer). Как правило, размер кадрового буфера меньше, чем объем видеопамяти. Например, в видеорежиме 640x480/16 кадровый буфер занимает 150 из доступных 256 Кбайт. Помимо кадрового буфера, в видеопамяти хранятся другие данные, например загружаемые национальные шрифты.



Важной характеристикой видеопамяти является ее пропускная способность, определяемая как произведение разрядности шины видеопамяти на тактовую частоту шины. Пропускная способность видеопамяти измеряется количеством мегабайт информации, которую можно передать через шину видеопамяти за 1с. В видеоадаптере VGA применялась 8-разрядная внутренняя шина, а в видеоадаптерах SVGA — сначала 16-, а затем и 32-разрядная шина. В современных видеоадаптерах используется 64- или 128-разрядная внутренняя шина и тактовые частоты от 100 до 200 МГц, а наиболее совершенные модели видеоадаптеров имеют 256-разрядную шину данных и более высокие тактовые частоты. По этой причине пропускная способность шины видеопамяти таких видеоадаптеров многократно превышает аналогичный параметр любой шины ввода/вывода, включая AGP.

Video BIOS. Реализация любой графической операции (смена видеорежима, обмен данными с кадровым буфером, управление курсором и т. п.) требует от центрального процессора выполнения весьма длинной последовательности низкоуровневых команд (чтения/записи, перемещения данных в регистрах и др.). Для обеспечения совместимости аппаратного и программного обеспечения все наборы команд (подпрограммы) CPU, реализующие графические функции, помещаются в специальное ПЗУ, расположенное на плате видеоадаптера VGA. Эти подпрограммы образуют так называемое расширение базовой системы ввода/вывода (BIOS extension) для решения задач вывода изображения на экран монитора и называются Video BIOS. Кроме того, Video BIOS содержит данные (константы), необходимые для работы в различных видеорежимах, а также сведения о производителе, модели и возможностях видеоадаптера.



Фактически Video BIOS — это набор подпрограмм, написанных в кодах команд центрального процессора и предназначенных для реализации основных функций видеосистемы. Набор этих функций принято называть видеосервисом.

Video BIOS хранится в специальном ПЗУ (ROM), размещенном на плате видеоадаптера VGA. Его емкость составляет 32 Кбайт. Память ROM Video BIOS видеоадаптера VGA является 8-разрядной.

Использование видеосервиса BIOS — простой и надежный способ вывода информации на экран, однако применение этого способа приводит к низкой скорости работы видеоадаптера. С целью повышения быстродействия используют альтернативный метод — непосредственное изменение состояния регистров видеоадаптера прикладной программой.

Контроллер ЭЛТ.Контроллер ЭЛТ формирует сигналы горизонтальной и вертикальной синхронизации, сигналы инкремента (увеличения) счетчика адреса ячеек видеопамяти, в которых хранится цифровой образ изображения, а также стробирующие сигналы чтения/записи видеопамяти. Эти сигналы формируются таким образом, что движение луча по экрану ЭЛТ осуществляется синхронно с процессом сканирования ячеек видеопамяти, причем цвет пиксела на экране соответствует значению, содержащемуся в соответствующей ячейке кадрового буфера.

Работа контроллера ЭЛТ синхронизируется сигналами одного из двух тактовых генераторов (Dot Clock или Pixel Clock), установленных на плате видеоадаптера. Их частоты равны 28,322 МГц и 25,175 МГц соответственно. Выбор синхросигнала производится программно. Контроллер ЭЛТ имеет 26 регистров, доступных CPU для чтения и записи. Данные, хранящиеся в регистрах контроллера ЭЛТ, полностью определяют параметры растра на экране монитора: разрешение, частоту кадров, размеры знакоместа и др. Смена видеорежима реализуется путем записи в эти регистры новых значений, соответствующих выбранному режиму.

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

· запись пиксела (группы пикселов) по заданному адресу;

· считывание значения пиксела (группы пикселов) по заданному адресу;

· модификация цвета пиксела (группы пикселов) путем выполнения таких элементарных логических операций, как "И", "ИЛИ", "Исключающее ИЛИ", циклический сдвиг битов в пределах байта и т. п.;

· считывание из кадрового буфера кода пиксела (считывание со сравнением цвета; поиск пиксела с заданным цветом).

Кроме того, графический контроллер видеоадаптера VGA содержит четыре 8-разрядных регистра-защелки (lathces), которые используются для доступа к цветовым плоскостям (в 16-цветных графических режимах кадровый буфер видеоадаптера разделен на четыре области, называемые цветовыми или битовыми плоскостями).

Графический контроллер адаптера VGA можно считать прообразом графических акселераторов, используемых в современных видеоадаптерах SVGA.

Секвенсер. Секвенсер, или указатель последовательности, предназначен для генерации сигналов, необходимых при сканировании видеопамяти. Другими словами, секвенсер обеспечивает последовательную адресацию и считывание содержимого ячеек видеопамяти (отсюда и происходит его название) и передачу их содержимого в контроллер атрибутов и далее — в RAMDAC. Работа секвенсера синхронизируется стробирующими сигналами, формируемыми контроллером ЭЛТ.

Контроллер атрибутов. Контроллер атрибутов видеоадаптера VGA предназначен для управления цветом изображения, выводимого на экран монитора. В текстовом режиме работы видеоадаптера он задает цвет пикселов в пределах символьной матрицы на основании содержимого байта атрибутов выводимого символа (отсюда и его название). Кроме того, в этом режиме контроллер атрибутов позволяет создавать такие эффекты, как мигание, инверсия цвета или повышенная яркость символа. В графическом 16-цветном режиме контроллер атрибутов преобразует условный 4-разрядный номер цвета пиксела, хранящийся в видеопамяти, в 8-разрядный номер регистра RAMDAC, содержащего 18-разрядный код отображаемого цвета. С выхода контроллера атрибутов данные поступают на RAMDAC видеоадаптера.

RAMDAC. Основная задача RAMDAC (цифро-аналогового преобразователя данных, хранящихся в его регистрах) — преобразование кода цвета пиксела в аналоговый сигнал. RAMDAC (рис. П3.2) включает:

· трехканальный 6-разрядный ЦАП;

· 256 18-разрядных регистров цвета (именно эти регистры и образуют оперативную память, аббревиатура которой (RAM) входит в название данного устройства);

· выходной 18-разрядный регистр цвета, выходы которого соединены с соответствующими входами ЦАП;

· схему адресации.

 

Рис. П3.2. RAMDAC

 

Работа ЦАП синхронизируется сигналом Dot Clock тактового генератора видеоадаптера. Именно этой частотой определяется верхняя граничная частота спектра видеосигнала. Разрядность ЦАП определяет количество оттенков цвета, которые потенциально может сформировать видеоадаптер VGA, т. е. размер его палитры. Несложно подсчитать, что палитра составляет (26)3 = 218 = 262 144 оттенков. Оттенок цвета текущего пиксела определяется кодом, записанным в выводной регистр цвета. Однако на практике количество оттенков цвета, которые видеосистема VGA в состоянии отобразить одновременно, значительно меньше размера его палитры и равно количеству регистров цвета, т. е. 256. Видеоадаптер VGA не позволяет загрузить в выходной регистр цвета произвольное значение — туда заносятся данные только из регистров цвета, которых в видеоадаптере VGA насчитывается только 256.

Содержимое регистров цвета ЦАП можно изменять программно, т. е. CPU как считывает данные регистров, так и записывает в них. Благодаря этому прикладная программа изменяет текущую палитру, частично компенсируя ее ограниченность.

В видеоадаптерах SVGA, в отличие от VGA, может использоваться прямое кодирование оттенка цвета пиксела, при котором его код в формате RGB хранится в видеопамяти и загружается непосредственно в выходной регистр цвета RAMDAC. Это позволяет кодировать цветовой оттенок пиксела с использованием 15, 16 или 24 бит, т. е. реализовать режимы High Color (216 = 65 536 цветовых оттенков одновременно) и True Color (224 = 16,7 млн цветовых оттенков). Для обеспечения второго режима разрядность ЦАП в каждом из трех каналов должна быть равна 8.

Синхронизатор. Синхронизатор управляет доступом CPU ккадровому буферу и разрешает его обновление только во время действия сигналов гашения. В результате устраняются помехи, которые могут возникать при обращении к кадровому буферу в течение прямого хода луча (такие искажения в виде ряби на экране были характерны для видеоадаптера CGA и назывались снег CGA (CGA snow).

Для синхронизации обращения CPU к кадровому буферу используется также регистр состояния. Бит 3 этого регистра устанавливается в состояние логической 1, если сигнал V-sync активен, а бит 0, — если активен сигнал разрешения отображения (Display Enable). Прикладная программа, считывая биты регистра состояния, обращается к кадровому буферу только тогда, когда вывод информации на экран не производится.

Тактовые генераторы. Работа всех устройств видеоадаптера VGA синхронизируется сигналом Dot Clock или производными от него тактовыми сигналами. Частота сигнала Dot Clock равна верхней граничной частоте выходного видеосигнала. При заданном разрешении этой же частотой определяются значения частот строчной и кадровой синхронизации.

Синхронизация устройств стандартного видеоадаптера VGA в зависимости от выбранного видеорежима осуществляется тактовым сигналом, формируемым одним из двух встроенных генераторов сигналов фиксированных частот: 25,175 и 28,322 МГц. Кроме того, предусмотрена возможность использования внешнего тактового генератора (в первых видеоадаптерах VGA, интегрированных на материнскую плату). Выбор тактового генератора осуществляется программно.

 

D-акселераторы

Первоначально видеоадаптеры с аппаратным ускорением графических функций делились на две группы:

· видеоадаптеры с графическим ускорителем (акселератором);

· видеоадаптеры с графическим сопроцессором.

Критерием разделения был способ реализации аппаратного ускорения и степень "интеллектуальности" видеоадаптера.

Графический акселератор. Графический акселератор является по сути основательно усовершенствованным вариантом графического контроллера видеоадаптера VGA. Освобождая центральный процессор от выполнения многих операций, он не изменяет общего характера взаимодействия между CPU и видеоадаптером. Акселератор обладает определенной самостоятельностью только в пределах видеоадаптера (при работе с видеопамятью), но не в рамках общей архитектуры PC. В частности, акселератор не может самостоятельно через шину ввода/вывода обращаться к системной оперативной памяти так, как это делает центральный процессор.

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

Графический сопроцессор. Графический сопроцессор является более универсальным устройством и работает параллельно с CPU(отсюда и его название). В принципе, графический сопроцессор решает те же задачи, что и акселератор, но делает это иначе. Отличия проявляются как в структуре этих устройств, так и в способе их взаимодействия с центральным процессором (рис. П3.3).

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

Во-вторых, графический сопроцессор, в отличие от графического акселератора, является активным устройством. В процессе выполнения своих функций он может наравне с CPU обращаться к системной оперативной памяти и управлять шиной ввода/вывода.

 

Рис. П3.3. Типовая схема видеоадаптера с графическим сопроцессором

 

В современных видеоадаптерах объем и сложность графических функций, выполняемых графическим сопроцессором, возросли до такой степени (особенно в области 3D), что они стали сопоставимы с объемом задач, решаемых центральным процессором PC. По этой причине приставка "со" утратила свой первоначальный смысл, и Chipset, составляющий основу современного видеоадаптера с аппаратной поддержкой практически всех упомянутых графических функций, стали называть графическим процессором, подчеркивая тем самым его самостоятельность в решении задачи формирования изображения на экране монитора.

 








Не нашли, что искали? Воспользуйтесь поиском по сайту:



©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.