Меню
  Список тем
  Поиск
Полезная информация
  Краткие содержания
  Словари и энциклопедии
  Классическая литература
Заказ книг и дисков по обучению
  Учебники, словари (labirint.ru)
  Учебная литература (Читай-город.ru)
  Учебная литература (book24.ru)
  Учебная литература (Буквоед.ru)
  Технические и естественные науки (labirint.ru)
  Технические и естественные науки (Читай-город.ru)
  Общественные и гуманитарные науки (labirint.ru)
  Общественные и гуманитарные науки (Читай-город.ru)
  Медицина (labirint.ru)
  Медицина (Читай-город.ru)
  Иностранные языки (labirint.ru)
  Иностранные языки (Читай-город.ru)
  Иностранные языки (Буквоед.ru)
  Искусство. Культура (labirint.ru)
  Искусство. Культура (Читай-город.ru)
  Экономика. Бизнес. Право (labirint.ru)
  Экономика. Бизнес. Право (Читай-город.ru)
  Экономика. Бизнес. Право (book24.ru)
  Экономика. Бизнес. Право (Буквоед.ru)
  Эзотерика и религия (labirint.ru)
  Эзотерика и религия (Читай-город.ru)
  Наука, увлечения, домоводство (book24.ru)
  Наука, увлечения, домоводство (Буквоед.ru)
  Для дома, увлечения (labirint.ru)
  Для дома, увлечения (Читай-город.ru)
  Для детей (labirint.ru)
  Для детей (Читай-город.ru)
  Для детей (book24.ru)
  Компакт-диски (labirint.ru)
  Художественная литература (labirint.ru)
  Художественная литература (Читай-город.ru)
  Художественная литература (Book24.ru)
  Художественная литература (Буквоед)
Реклама
Разное
  Отправить сообщение администрации сайта
  Соглашение на обработку персональных данных
Другие наши сайты
Приглашаем посетить
  Никитин (nikitin.lit-info.ru)

   

Архитектура и принцип работы видеоадаптера

Реферат по теме:


Введение

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

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

Рассмотрим подробнее этапы следования данных от центрального процессора системы до монитора.

1. Скорость обмен данными между CPU и графическим процессором напрямую зависит от частоты, на которой работает шина, через которую передаются данные. Рабочая частота шины зависит от чипсета материнской платы. Для видеоадаптеров оптимальными по скорости являются шина PCI и AGP. При существующих версиях чипсетов шина PCI может иметь рабочие частоты от 25Mhz до 66MHz, иногда до 83Mhz (обычно 33MHz) , а шина AGP работает на частотах 66MHz и 133MHz.

Чем выше рабочая частота шины, тем быстрее данные от центрального процессора системы дойдут до графического процессора видеоадаптера.

2. Ключевой момент, влияющий на производительность видеоподсистемы, вне зависимости от специфических функций различных графических процессоров, это передача цифровых данных, обработанных графическим процессором, в видеопамять, а оттуда в RAMDAC. Самое узкое место любой видеокарты - это видеопамять, которая непрерывно обслуживает два главных устройства видеоадаптера, графический процессор и RAMDAC, которые вечно перегружены работой. В любой момент, когда на экране монитора происходят изменения (иногда они происходят в непрерывном режиме, например движение указателя мыши, мигание курсора в редакторе и т. д.) , графический процессор обращается к видеопамяти. В то же время, RAMDAC должен непрерывно считывать данные из видеопамяти, чтобы изображение не пропадало с экрана монитора. Поэтому, чтобы увеличить производительность видеопамяти, производители применяют различные технические решения. Например, используют различные типы памяти, с улучшенными свойствами и продвинутыми возможностями, например VRAM, WRAM, MDRAM, SGRAM, или увеличивают ширину шины данных, по которой графический процессор или RAMDAC обмениваются информацией с видеопамять, используя 32 разрядную, 64 разрядную или 128 разрядную видеошину.

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

дожидаться, когда наступит его очередь обратиться с запросом к видеопамяти для чтения и наоборот.


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

Видеоадаптер построен на основе микросхемы Motorola 6845 или ее аналога. Микросхема содержит контроллер ЭЛТ, управляющий форматом экрана, курсором, световым пером и цветовыми характеристиками изображения. Адаптер CGA имеет 16Кбайт видеопамяти, память доступна процессору c адреса B800:0000h. В некоторых режимах память разделена на несколько страниц.

· бит 7 - мигание символа или интенсивность фона,

· 6.. 4 - цвет фона,

· 3 - интенсивность символа,

Каждому слову соответствует определенная позиция на экране. При формировании изображения содержимое видеопамяти считывается и преобразуется знакогенератором в двумерный графический эквивалент символа. Таблицы знакогенератора недоступны процессору.

В ГРАФИЧЕСКОМ режиме в видеопамяти хранится информация о каждом пикселе изображения. Информация и содержимом строк с четными и нечетными номерами хранится в разных областях памяти (четные строки с адреса B800:0000h, нечетные - B800:2000h).

В режимах 4 и 5 (320*200) на одну точку отводится два бита. В режиме 6 (640*200) - один; левому верхнему углу соответствуют старшие биты младшего байта области видеопамяти.

В адаптере "HERCULES" видеопамять, в графическом режиме 720*348, поделена на четыре части. Строки изображения последовательно чередуясь выбираются из областей памяти: B800:0000h, B800:2000h, B800:4000h, B800:6000h.

АРХИТЕКТУРА ВИДЕОАДАПТЕРОВ EGA И VGA.

Условно в структуре видеоадпреров можно выделить шесть блоков:

1 Видеопамять. Размер видеопамяти может достигать 256Кбайт и больше. Физически память состоит из четырех блоков, называемых СЛОЯМИ. Слои памяти с точки зрения процессора располагаются в одном и том же адресном пространстве.

и регистрами-защелками, хранящими результат последнего обращения к буферу.

3 Последовательный преобразователь. Формирует поток битов для отображения на экране ЭЛТ.

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

5 Контроллер атрибутов. Управляет цветом. Значениям цветовых атрибутов ставится в соответствие определенный цвет при помощи таблицы цветовой палитры (Color Lock-up Table). В адаптере VGA по значению цвета далее выбирается один из регистров цифроаналогового преобразователя, который и формирует аналоговый RGB сигнал.

6 Синхронизатор. Осуществляет синхронизацию работы устройств видеоадаптера и управляет непосредственной записью информации в цветовые слои.


Структура видеопамяти

В ТЕКСТОВОМ режиме для кодирования символа используются два байта. ASCII код символа располагается в нулевом цветовом слое, его атрибуты - в первом. Таблица знакогенератора хранится во втором цветовом слое. При непосредственном доступе к памяти байты нулевого и первого цветовых слоев чередуются в адресном пространстве, что обеспечивает совместимости с CGA.

Размер второго цветового слоя позволяет загрузить сразу несколько таблиц знакогенератора. Активными могут быть одновременно две таблицы, что позволяет отображать 512 различных символа. Текущая таблица определяется одним из битов атрибутов символа. Для описания одного символа отводится 32 байта таблицы знакогенератора.

Формат байта атрибутов символа, в целом, совпадает с форматом, принятым для CGA, но бит 3 может использоваться для указания одной из двух активных таблиц знакогенератора.

В ГРАФИЧЕСКОМ режиме использование слоев зависит от установленной разрешающей способности.

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

Доступ к большинству регистров осуществляется в два этапа: вначале через один порт указывается номер выбираемого регистра; затем через другой порт выполняется обмен. Такое решение позволяет сократить число портов. Многие регистры доступны только по записи, что приводит к неудобствам в мультизадачных системах. При работе с конкретным видеоадаптером необходимо ознакомиться с соответствующей документацией.

ПРИМЕЧАНИЕ: Далее приведено назначение некоторых регистров адаптеров EGA и VGA.

Внешние регистры

MOR (Miscellaneous Output Register) - Регистр определения режима работы.

7 - полярность сигнала вертикальной синхронизации (0+, 1-);

6 - полярность сигнала горизонтальной синхронизации (0+, 1-);

5 - используется для перекомпоновки слоев в различные адреса памяти (для текстового режима =1);

4 - =1 дисплей управляется дополнительным устройством;

3.. 2 - управление тактовой частотой:

00 - 640 или 320 столбцов, 10 - внешний генератор,

01 - 720 столбцов, 11 - резерв.

1 - =0 доступ к видеопамяти запрещен;

FCR (Feature Control Register) - Регистр управления дополнительным устройством. Биты D1, D0 регистра передаются на разъем дополнительного устройства FC1, FC0. Бит D3 =0.

7 - обратный ход кадровой развертки (генерируется прерывание IRQ2);

6.. 5 - значение выходных линий FEAT1, FEAT0 дополнительного устройства;

4 - значение бита переключателя на плате EGA, номер бита соответствует значениям битов 3.. 2 регистра MOR. Для VGA бит определяет какой дисплей используется (монохромный или цветной);

3.. 0 - не используются.

ISR1 (Input Status Register 1) - Регистр состояния 1.

7.. 6 - не используются;

5.. 4 - диагностические (соответствуют двум выходным сигналам);

2 - состояние переключателя светового пера;

1 - значение триггера светового пера;

Регистры контроллера ЭЛТ

Эти регистры управляют сигналами синхронизации, необходимыми для формирования растра, определяют формат данных на экране и форму курсора. Изменение настройки большинства регистров приводит к потере работоспособности адаптера. Доступ к регистрам осуществляется через индексный порт и порт данных.

HTR (Horizontal Total Register) - Общая длина горизонтальной развертки. Длина указывается в знакоместах с учетом времени, необходимого на обратный ход луча.

HDER (Horizontal Display Enable Register) - Число отображаемых в строке знакомест, уменьшенное на единицу.

SHBR (Start Horizontal Blank Register) - Начало импульса гашения лучагоризонтальной развертки.

EHBR (End Horizontal Blank Register) - Конец импульса гашения луча горизонтальной развертки.

7 - =0 для EGA и =1 для VGA;

00 - нет, 01 - 1, 10 - 2, 11 - 3 символа; 4.. 0 - собственно конец импульса.

SHRR (Start Horizontal Retrace Regicter) - рачало импульса горизонтального обраного хода луча.

EHRR (End Horizontal Retrace Register) - Конец импульса горизонтального обратного хода луча.

6.. 5 - смещение импульса относительно отображаемого участка развертки: 00 - нет, 01 - 1, 10 - 2, 11 - 3 символа; 4.. 5 - младшие пять битов конца импульса горизонтальной развертки.

(1) - Общая длительность цикла горизонтальной развертки;

(2) - Отображаемая строка символов;

(3) - формирование "рамки";

(5) - начало выбора символов из видеобуфера;

Регистры синхронизатора

Доступ осуществляется через индексный порт и порт данных. Регистры доступны по записи.

CPWE (Color Plane Write Enable) - Регистр разрешения записи цветового слоя.

CGSR (Character Generator Select Register) - Регистрвыборазнакогенератора.

5.. 4 - старшие биты номера таблиц;

3.. 2 - номер таблицы при D3 атрибута = 1;

1.. 0 - номер таблицы при D3 атрибута = 0;

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

1. Байт, записываемый в видеопамять поступает в графический контроллер;

2. В соответствии со значением регистра сдвига и выбора функции происходит циклический сдвиг полученного байта;

3. Затем результат сдвига обрабатывается по функции ИЛИ, И или ИСКЛ. ИЛИ с содержимым регистров-защелок;

4. На основе значений регистров разрешения установки/сброса и регистра установки/сброса данные дополнительно модифицируются;

SRR (Set/Reset Register) - Регистр установки/сброса.

7.. 4 - резерв;

3.. 0 - записываемое значение в слой при установленном бите регистра разрешения установки/сброса.

SRER (Set/Reset Enable Register) - Регистр разрешения установки/сброса.

7.. 4 - резерв;

3.. 0 - =0 - данные для соответствующего слоя берутся от процессора, =1 - данные формируются размножением соответствующего бита регистра установки/сброса.

& Function Select) - Регистр циклического сдвига и выбора функции.

7.. 5 - не используются;

4.. 3 - функция:

00 - нет операции,

01 - И,

10 - ИЛИ,

11 - ИСКЛ. ИЛИ;

2.. 0 - величина сдвига (вправо).

Регистры контроллера атрибутов

прочитав содержимое ISR1.

CPR (Color Palette Register's) - Регистры цветовой палитры (0.. 15). Формат регистров различен для различных дисплеев.

SBCR (Screen Border Color Register) - Регистрцветарамкиэкрана. Формат эквивалентен формату регистров цветовой палитры.

Регистры цифро-аналогового преобразователя VGA

LTRIR (Look-up Table Read Index Register) - Указывается индекс читаемого регистра палитры.

LTWIR (Look-up Table Write Index Register) - Указывается индекс записываемого регистра палитры.

LTDR (Look-up Table Data Register) - Регистрданныхтаблицыцветов. После установки адреса необходимо выполнить три операции чтения (записи) с интервалом не менее 240нс.

7.. 6 - не используется;

5.. 0 - код уровня сигнала