Видео адаптеры, видео режимы

Автор работы: Пользователь скрыл имя, 10 Декабря 2012 в 17:48, курсовая работа

Краткое описание

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

Содержание

ВВЕДЕНИЕ 3
1. ВИДЕОАДАПТЕРЫ 4
1.1. Принципы построения изображения 7
1.2. Архитектура видеоадаптеров EGA и VGA 16
1.3. Характеристики видеоадаптеров 18
1.4. Цифровой интерфейс 23
2. РЕЖИМЫ РАБОТЫ ВИДЕОАДАПТЕРА 25
2.1. Глубина цвета и разрешения 30
2.2. Стандартные видеорежимы EGA и VGA 32
2.3. Видеорежимы VESA 33
3. ГРАФИЧЕСКИЕ УСКОРИТЕЛИ 39
3.1. Графические процессоры и их функции 45
3.2. Графический конвейер 48
ЗАКЛЮЧЕНИЕ 50
Список литературы 53
Приложение 54

Вложенные файлы: 1 файл

Курс Кг.doc

— 870.50 Кб (Скачать файл)
         
 

Разрешение

Количество цветов

Объем видеопамяти

 
 

640x480

256

512 Кбайт

 
 

800x600

800x600

800x600

256

65536

16777216

1 Мбайт 

1 Мбайт

2 Мбайт

 
 

1024x768

256

1 Мбайт

 
 

1024x768

1024x768

1280x1024

65536

16777216

256

2 Мбайт 

4 Мбайт 

2 Мбайт

 
 

1280x1024

65536

4 Мбайт

 
 

1280x1024

16777216

8 Мбайт

 

2.2 Стандартные видеорежимы EGA и VGA

VGA (англ. Video Graphics Array) - стандарт мониторов и видеоадаптеров. Выпущен IBM в 1987 году для компьютеров PS/2 Model 50 и более старших. VGA являлся последним стандартом, которому следовало большинство производителей  видеоадаптеров. 

Видеоадаптер VGA подключается как к цветному, так и к монохромному монитору, при этом доступны все стандартные видеорежимы. Частота обновления экрана во всех стандартных режимах, кроме 640×480, — 70 Гц, в режиме 640×480 — 60 Гц. Видеоадаптер имеет возможность одновременно выводить на экран 256 различных цветов, каждый из которых может принимать одно из 262 144 различных значений (по 6 битов на красный, зелёный и синий компоненты). Объём видеопамяти VGA — 256 кБ.Видеоадаптер VGA, в отличие от предыдущих видеоадаптеров IBM (MDA, CGA, EGA), использует аналоговый сигнал для передачи цветовой информации. Переход на аналоговый сигнал был обусловлен необходимостью сокращения числа проводов в кабеле. Также аналоговый сигнал давал возможность использовать VGA-мониторы с последующими видеоадаптерами, которые могут выводить большее количество цветов. Официальным последователем VGA стал стандарт IBM XGA, фактически же он был замещен различными расширениями к VGA, известными как SVGA.Термин VGA также часто используется для обозначения разрешения 640×480 независимо от аппаратного обеспечения для вывода изображения, хотя это не совсем верно. Также этот термин используется для обозначения 15-контактного D-Subminiature разъёма VGA для передачи аналоговых видеосигналов при различных разрешениях.

 

2.3. Видеорежимы VESA

 

Почти все работающие компьютеры поддерживают VESA 1.2 на уровне видео BIOS и имеют не меньше 1 Мбайта видеопамяти, а практически  все продаваемые - VESA 2.0 (иногда применяется  аббревиатура VBE - VESA BIOS Extension) имеют  видеопамять 2-4 Мбайт. Если же программа использует графический режим с числом цветов менее 256 и пространственным разрешением до 640x480, то она будет восприниматься, мягко говоря, как несколько устаревшая. Да и обидно использовать всего 60-150 Кбайт видеопамяти из как минимум 1 Мбайта.

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

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

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

Первые 13h номеров видеорежимов были заданы де-факто стандартом VGA, и  диапазон 14h-7Fh использовался фирмами-производителями видеоадаптеров по-разному, поэтому выделить в нем подобласть для введения нового стандарта, не "обижая" никого из разработчиков, оказалось невозможно. В связи с этим VESA решила вынести все вводимые новым стандартом функции, в том числе и установку видеорежима, в новую функцию прерывания 10h. В версии 2.0 на номер видеорежима отводилось уже не восемь, а шестнадцать бит, причем старший бит (теперь уже 15-й), как и раньше, управлял очисткой видеопамяти. Содержимое 8-го бита показывало, принадлежит данный режим стандарту VESA (единица) или нет (ноль). Такой подход позволил работать через интерфейс VESA как с вводимыми стандартом новыми режимами, так и со старыми, в том числе и режимами VGA.

Биты с 9-го по 14-й резервировались  стандартом VESA 1.2 для дальнейших расширений, которые не заставили себя долго ждать. Уже в версии 2.0 для управления LFB (Linear/Flat Frame Buffer - кадровый буфер с линейной/прямой адресацией) был отведен 14-й бит. Список рекомендованных видеорежимов приведен в таблице, однако следует заметить, что производители видео плат не обязаны полностью следовать ему. Номера поддерживаемых видеорежимов можно определить с помощью информационных функций VESA. Кроме того, по версии 2.0 уже не требуется обязательно соблюдать указанные номера видеорежимов.

 

Таблица  Стандартные видеорежимы VESA 1.2

Номер режима

Тип

Разрешение

Число цветов

Число бит на цвет

100h

Графический

640x400

256

-

101h

Графический

640x480

256

-

102h

Графический

800x600

16

-

103h

Графический

800x600

256

-

104h

Графический

1024x768

16

-

105h

Графический

1024x768

256

-

106h

Графический

1280x1024

16

-

107h

Графический

1280x1024

256

-

108h

Текстовый

80x60

16

-

109h

Текстовый

132x25

16

-

10Ah

Текстовый

132x43

16

-

10Bh

Текстовый

132x50

16

-

10Ch

Текстовый

132x60

16

-

10Dh

Графический

320x200

32K

(1:5:5:5)

10Eh

Графический

320x200

64K

(5:6:5)

10Fh

Графический

320x200

16.8M

(8:8:8)

110h

Графический

640x480

32K

(1:5:5:5)

111h

Графический

640x480

64K

(5:6:5)

112h

Графический

640x480

16.8M

(8:8:8)

113h

Графический

800x600

32K

(1:5:5:5)

114h

Графический

800x600

64K

(5:6:5)

115h

Графический

800x600

16.8M

(8:8:8)

116h

Графический

1024x768

32K

(1:5:5:5)

117h

Графический

1024x768

64K

(5:6:5)

118h

Графический

1024x768

16.8M

(8:8:8)

119h

Графический

1280x1024

32K

(1:5:5:5)

11Ah

Графический

1280x1024

64K

(5:6:5)

11Bh

Графический

1280x1024

16.8M

(8:8:8)


 

Перед описанием функций VESA необходимо разъяснить некоторые термины. Поскольку  объем видеопамяти существенно  превосходит размер окна, выделяемого  в адресном пространстве видеоадаптеру, его необходимо переключать на различные участки видеопамяти (обычно говорят: "переключать банки видеопамяти"). При этом минимальное расстояние между двумя адресами в видеопамяти, которые могут отображаться на один и тот же адрес в окне, называется granularity (от английского granulate - дробить). Размер окна (или банка) должен быть большим или равным granularity. Если мы разделим абсолютный адрес в видеопамяти на granularity, то частным будет номер банка, а остатком - смещение относительно начала окна.

Похожий механизм адресации реализован в процессорах семейства х86, в  которых размер одного сегмента (банка) равен 64 Кбайт, но можно изменять его  положение в памяти, варьируя содержимое сегментного регистра, т. е. номер  банка. Таким образом, granularity для сегментированного адреса процессора равно 16 байт.

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

Все функции VESA доступны через 4Fh функцию 10h прерывания (в регистр AH помещается число 4Fh, а в регистр AL - номер функции). В регистр AX при этом возвращается статус завершения функции, а в AL - 4Fh (обратите внимание, при вызове 4Fh помещается в AH, а вернуться оно должно в AL, если это не так, то стандарт не поддерживается). При успешном завершении функции в AH возвращается ноль, а при неудачном - код ошибки.

В версии 1.2 предусмотрено девять функций (с номерами от 0 до 8), а в версии 2.0 добавлено еще две. Мы рассмотрим только первые девять, поскольку они  поддерживаются обеими версиями стандарта.

Функция 0 возвращает информацию о  версии VESA и производителе видеоплаты. Перед ее вызовом необходимо выделить в нижней памяти буфер длиной 256 байт. В версии 2.0 функция позволяет  получить некоторую дополнительную информацию, если в первые четыре байта выделенного буфера предварительно записать 4-байтную сигнатуру "VBE2". При этом размер буфера должен составлять 512 байт.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3. ГРАФИЧЕСКИЕ АКСЕЛЕРАТОРЫ

 

Графические акселераторы (ускорители) - специализированные графические сопроцессоры, увеличивающие эффективность видеосистемы. Их применение освобождает центральный процессор от большого объёма операций с видеоданными, так как акселераторы самостоятельно вычисляют, какие пиксели отображать на экране и каковы их цвета. Изображение, которое мы видим на экране монитора, представляет собой выводимое специальным цифроаналоговым преобразователем RAMDAC (Random Access Memory Digital to Analog Converter) и устройством развертки содержимое видеопамяти.

 Это содержимое может изменяться как центральным процессором, так и графическим процессором видеокарты— ускорителем двухмерной графики (синонимы:2D-ускоритель,2D-акселератор,Windows-акселератор или GDI-акселератор).Современные оконные интерфейсы требуют быстрой(за десятые доли секунды)перерисовки содержимого экрана при открытии/закрытии окон, их перемещении и т. п., иначе пользователь будет чувствовать недостаточно быструю реакцию системы на его действия. Для этого процессор должен был бы обрабатывать данные и передавать их по шине со скоростью ,всего в 2-3 раза меньшей, чем скорость работы RAMDAC, а это десятки и даже сотни мегабайт в секунду, что практически нереально даже по современным меркам.

В свое время для повышения быстродействия системы были разработаны локальные  шины, а позднее —2D-ускорители,которые представляют собой специализированные графические процессоры, способные самостоятельно рисовать на экране курсор мыши, элементы окон и стандартные геометрические фигуры, предусмотренные GDI — графической библиотекой Windows. 2D-ускорители обмениваются данными с видеопамятью по своей собственной шине, не загружая системную шину процессора. По системной шине 2D-ускоритель получает только GDI-инструкции от центрального процессора, при этом объем передаваемых данных и загрузка процессора в сотни раз меньше.

Современные2D-ускорители имеют 64- или128-разрядную  шину данных, причем для эффективного использования возможностей этой шины на видеокарте должно быть установлено2 или 4 Мбайт видеопамяти соответственно, иначе данные будут передаваться по вдвое более узкой шине с соответствующей потерей в быстродействии.

Можно сказать, что к настоящему моменту 2D-ускорители достигли совершенства. Все они работают столь быстро, что несмотря на то, что их производительность на специальных тестах может отличаться от модели к модели на 10-15%,пользователь,скорее всего, не заметит этого различия. Поэтому при выборе 2D-ускорителя следует обратить внимание на другие факторы: качество изображения, наличие дополнительных функций, качество и функциональность драйверов, поддерживаемые частоты кадровой развертки, совместимость с VESA (для любителей DOS-игр) и т. п. Микросхемы2D-ускорителей в настоящее время производят ATI, Cirrus Logic, Chips&Technologies, Matrox, Number Nine, S3, Trident, Tseng Labs и другие компании.

Информация о работе Видео адаптеры, видео режимы