Сдам Сам

ПОЛЕЗНОЕ


КАТЕГОРИИ







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





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


Рис.5.4. Видеоадаптер VGA

Видеоадаптер VGA содержит следующие элементы:

  • видеопамять
  • 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, тактовых генераторов и схемы интерфейса с шиной ввода/вывода, реализованы в одной микросхеме.

Видеопамять

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

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

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

Video BIOS

Реализация любой графической операции (смена видеорежима, обмен данными с кадровым буфером, управление курсором и т. п.) требует от центрального процессора выполнения весьма длинной последовательности низкоуровневых команд (чтения/записи, перемещения данных в регистрах и др.). Для того чтобы избавить программиста от необходимости составлять детальную низкоуровневую программу, а также для обеспечения совместимости аппаратного и программного обеспечения все наборы команд (подпрограммы) CPU, реализующие графические функции, помещаются в специальное ПЗУ, расположенное на плате видеоадаптера VGA. Эти под программы образуют так называемое расширение базовой системы ввода/вывода (ВЮ 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 для чтения и записи/Данные, хранящиеся в регистрах контроллера ЭЛТ, полностью определяют параметры на экране монитора: разрешение, частоту кадров, размеры знакоместа и др. Смена видеорежима реализуется путем записи в эти регистры новых значений, соответствующих выбранному режиму (решение этой задачи обеспечивает функция OOh прерывания 10h).

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

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

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

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

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

Секвенсер

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

Контроллер атрибутов

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

RAMDAC

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

  • трехканальный 6-разрядный ЦАП;
  • 256 18-разрядных регистров цвета (именно эти регистры и образуют оперативную память, аббревиатура которой (RAM) входит в название данного устройства);
  • выходной 18-разрядный регистр цвета, выходы которого соединены с соответствующими входами ЦАП;
  • схему адресации.

Работа ЦАП синхронизируется сигналом Dot Clock тактового генератора видеоадаптера. Именно этой частотой определяется верхняя граничная частота спектра виде сигнала. Разрядность ЦАП определяет количество оттенков цвета, которые потенциально может сформировать видеоадаптер VGA, т. е. размер его палитры. Несложно подсчитать, что палитра составляет (26)3 = 2'8 = 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, интегрированных на материнскую плату). Выбор тактового генератора осуществляется программно.







Живите по правилу: МАЛО ЛИ ЧТО НА СВЕТЕ СУЩЕСТВУЕТ? Я неслучайно подчеркиваю, что место в голове ограничено, а информации вокруг много, и что ваше право...

ЧТО ПРОИСХОДИТ ВО ВЗРОСЛОЙ ЖИЗНИ? Если вы все еще «неправильно» связаны с матерью, вы избегаете отделения и независимого взрослого существования...

Что вызывает тренды на фондовых и товарных рынках Объяснение теории грузового поезда Первые 17 лет моих рыночных исследований сводились к попыткам вычис­лить, когда этот...

Что способствует осуществлению желаний? Стопроцентная, непоколебимая уверенность в своем...





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


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