Адаптер VGA. Организация и работа

Содержание
1. Вводные замечания
2. Базовые системы отображения
2.1. Псевдографика
2.2. Растровая графика
2.3. Графические сопроцессоры
3. Видеоадаптеры
3.1. MDA
3.2. CGA
3.3. EGA
3.4. VGA
4. Архитектура видеоадаптера VGA
4.1. Электронно-лучевая трубка
4.2. Видеопамять
5. Регистры видеоадаптера VGA
5.1. Внешние регистры
5.2 Регистры синхронизатора
5.3. Регистры графического контроллера
5.4. Регистры контроллера ЭЛТ
5.5. Регистры контроллера атрибутов
5.6. Регистры ЦАП
6. Литература

Базовые системы отображения.
Без возможности видеть результаты своей работы, персональный компьютер стал бы бесполезным инструментом. Необходимо каким-либо образом наблюдать за сигналами компьютерной системы, чтобы знать, чем она занимается в данный момент. Сегодня реализацией подобного рода функций занимается видеосистема.
Видеосистема не всегда была неотъемлемой частью компьютеров. Последние существовали уже тогда, когда еще не было телевидения в его сегодняшнем понимании. Первые процессоры в качестве выходных устройств использовали принтеры, которые позволяли получить твердую копию выходного результата, что тоже очень важно в нашем переменчивом мире.
Стандартными средствами для отображения текста являются дисплеи, работающие с картами символов. Специальная область памяти зарезервирована для хранения символа, который предстоит изобразить на экране. И программы пишут текст на экран, заполняя символами эту область памяти. Экран чаще всего
представляется матрицей 80 на25 символов. Образ каждого символа, который появляется на экране, хранится в специальной микросхеме ПЗУ. Эта память относится к видео цепям компьютера.
Каждый символ на экране формируется множеством точек. Несколько видеостандартов, используемых IBM и другими фирмами, отличаются количеством точек, используемых при формировании символов.
IBM четыре раза меняла назначение ОЗУ под видеосистему. Во-первых, это касается PC и XT. Еще один вариант используется в PC и последний предназначается для всех последних улучшенных видеосистем.
Первые две видеосистемы PC использовали различные области памяти и поэтому могли работать одновременно. Обычно одна область памяти предназначается для монохромного дисплея, а другая для цветного. Используются одни и те же области памяти для любого режима в независимости от используемого адаптера дисплея. Память монохромного экрана располагается по адресу В0000 , цветного - В8000. Для обеспечения совместимости все новые видеосистемы могут работать через эти же адреса, даже если они хранят дополнительную информацию еще где-либо.
Программы, заносящие информацию на экран, должны знать, какую память они должны использовать для этого. Нужную информацию можно получить, прочтя информацию из специального байта памяти - флага видео режима. Он предназначается для указания: какого вида адаптер дисплея установлен внутри компьютера и используется в настоящее время. Он позволяет компьютеру знать, с каким дисплеем - монохромным или цветным он имеет дело.
Этот байт позволяет так же указать - с цветным или монохромным дисплеем работает компьютер даже в том случае, если установлен адаптер, способный работать с двумя видами дисплеев. Байт флага видеорежима размещается в начале оперативной памяти, по адресу 0463h. Для кодировки текущего дисплея используется байт 0В4h для указания монохромного режима и 0D4h - для цветного.
По стандарту IBM символы, видимые на экране, не хранятся в непрерывной последовательности. Символы, которые мы видим на экране, располагаются в байтах памяти с промежутком в один байт. Эти промежуточные байты отведены для хранения параметров изображаемых символов. Четный байт памяти содержит символ, а нечетный - хранит его атрибуты.
Излишки выделенной памяти могут использоваться для хранения нескольких изображений экранов. Каждый такой образ называется видеостраницей. Все базовые видеосистемы разработаны таким образом, чтобы реализовать быстрое переключение с одной страницы на другую. Это позволяет изменять изображения экрана почти без всяких задержек. С помощью переключателей можно управлять скоростью замены экранных страниц.
Базовая цветная система IBM имеет возможность работать в режиме с изображением текста в 40 столбцах экрана. Этот режим позволяет работать пользователю с компьютером через телевизионный приемник вместо дисплея. Телевизор не обладает такой точностью, как монитор компьютера. 80 столбцов текста на экране телевизора сливаются. При уменьшении числа столбцов текста в два раза, требуется в два раз аменьше памяти для хранения. Это в свою очередь позволяет в два раза увеличить число видеостраниц.
По прошествии времени IBM улучшила качество своих видеосистем и соответственно увеличила объем памяти, используемой для нее. Для символьных дисплеев эта память используется для реализации новых видеорежимов, которые позволяют разместить на экране больше строк (до 43) и увеличить число видеостраниц. Некоторые видеосистемы могут реализовывать свои собственные режимы при работе с текстом. Они могут размещать текст в 60 строках и 132 столбцах.

Псевдографика
Графическое изображение легко получить в любом текстовом режиме. Так как с помощью одного байта можно закодировать 256 символов - это число с избытком перекрывает весь алфавит и все цифры, IBM использует свободные значения для кодировки некоторых специальных символов. Большинство этих дополнительных символов создано для формирования графических изображений.
При помощи этих символов, используемых в качестве кирпичиков, можноформировать на экране структуры всевозможной конфигурации. Некоторые дополнительные символы формируют изображение ввиде двойных линий, уголков и пробелов, позволяя легко формировать обрамление текста. Эти символы называются псевдографикой.
С другой стороны, качество псевдографики – самое низкое по сравнению с любойдругой графической системой, реализуемой РС. Изображение, формируемое графическимиблоками, имеет острые углы и грубое наполнение. Округлую деталировку и плавные переходы невозможно получить, используя большие графические блоки. Поэтому такой инструмент представляется слишком грубым во многих применениях.
Однако псевдографика является единственно доступной во всех системах IBM как с цветным, так и черно-белым монитором. Она реализует наипростейшие графические построения.

Растровая графика
Одним из вариантов улучшения качества графического изображения является уменьшение размеров самих графических блоков. При помощи меньших блоков можно сформировать менее угловатое изображение с большей детализацией. Чем меньше размер блоков, тем лучше качество получаемого изображения.
Однако характеристики дисплейной системы накладывают ограничения на эту пропорцию. Размер блока не может быть меньше точки экрана. Поэтому самое лучшее изображение можно получить при работе с индивидуальными точками экрана.
Эти точки представляют из себя элементарные частицы, из которых формируются любые блочные конструкции и называются пикселами. Однако не все системы способны работать с элементарными точками видеосистемы. В некоторых из них пиксели образуются при помощи некоторого множества экранных точек. И системы способны оперировать только с целыми пикселами, а не отдельными точками экрана.
Наилучших результатов можно достичь, выделив некоторую область памяти для хранения информации по отбражениюна экране каждого пиксела изображения, как это сделано для текстового режима, когда каждому символу выделяется два байта. В системах IBM информация по каждому пикселю хранится в одном или более битах памяти. Такие системы часто называются системами с растровой графикой. Альтернативой данной технологии является описание пиксела с использованием адресации памяти. Последний метод называют графикой с адресацией всех точек.
Растровая графика потенциально имеет больше возможностей для формирования более точного изображения. Большее количество обрабатываемых пикселей означает реализацию большего числа деталей. Число точек и, соответственно, потенциально возможное число пикселей во много раз превышает число символов, изображаемых на экране: от 64 до128 раз.
Однако недостатком такой разрешающей способности растровой графики являетсяиспользование большого объема памяти. Закрепление за каждой точкойэкрана одного или двухбайтов памяти пропорционально увеличит общий ее объем, закрепляемой за видеосистемой. Графические системы IBM с наименьшим
качеством требуют 128 К памяти при закрепленнии закаждой точкой только одногобайта. Хотя посегодняшним стандартам 128 К - небольшой объем, ноне следует забывать, что при разработке графики для РС времена были другие. Поэтому для первых персональных компьютеров было выделено только 16 К оперативной памяти под графическую информацию.
Графический сопроцессор
Точно так же, как арифметический сопроцессор способен существенно повысить быстродействие РС при расчете сложных математических функций, графический сопроцессор может ускорить работу компьютера при формировании изображения на экране монитора.Причем ускорение работыочень существенно, потомучто графический сопроцессор способен обрабатывать огромные объемы графической информации- сотнитысяч пикселей за несравнимо более короткийпромежуток времени, по сравнению с центральным микропроцессором. Современные графические сопроцессоры Intel 82796 и Texas Instruments TMS34010широко используютсяв высокопроизводительных системах. IBM также создала своюграфическую систему, разместив ее на отдельной плате- 8415А.
Графические сопроцессоры являются основой для создания скоростных видеосистем. Точнотак же,как дляматематических сопроцессоров, графическим сопроцессорам требуется свое программное обеспечение. Кроме того, во многих случаях им требуются специфические, более дорогие мониторы.
Графические операционные системы
Проблема с программным обеспечением может быть решена при помощи специальных графических операционных систем, таких, как MicrosoftWindowsили Digital Research GEM – при работе в среде DOS, или Presentation Manager- для OS/2. Эти системы служат мостом, связывающим программы пользователя и усовершенствованные видеосистемы, включая и реализованные на графических сопроцессорах.
Алгоритм их работы напоминает алгоритм работы BIOS. Он основывается на использовании вызова специальных подпрограмм по формированию соответствующего изображения на видеодисплее. Графические системы переводят поступающие команды на язык понятный для графических сопроцессоров или других видеоустройств. Таким образом, пользователю нужно только оперировать образами, формируемыми графическими системами. Насыщение системновыми функциями является делом разработчика графического пакета.
Например, программе нужно очистить экран. Для этого она должна передать графическому пакету соответствующую команду, и только. Все взаимодействие с техническим обеспечением реализует сама графическая система. Однако ей необходимо знать точно, на какой видеосистеме нужно очистить экран, чтобы сформировать команды надлежащим образом. Графические пакеты распознают устройства технического обеспечения по средствам программного драйвера, устанавливаемого в файле CONFIG.SYS. При замене видеосистемы потребуется только заменить один драйвер, используемый графической операционной системой, и все пользовательские программы будут работать с новой системой отображения.
Видеоадаптеры.
Сначала существовал толькоодин тип персональных компьютеровIBM, который комплектовался тоже только однотипными видеодисплеями. Его экран былоднотонно-зеленым. Текст изображался грубым шрифтом, а изграфических средств реализовывалась толькопсевдографика. Все достоинства этого времени - у пользователя не болела голова, какую видеосистему использовать для своего РС.
Много воды утекло с тех пор, и все технологии компьютерных подсистемшагнулидалеко вперед. Видеосистемы совершенствовались, как ни чтодругое,буквально с каждым днем. И пользователю приходится решать сложную задачу: какой видеоадаптер выбрать из нескольких десятков имеющихся сейчас на рынкев условиях существования полдюжины "официальных" видеостандартов, и нескольких десятков видеосистем, реализующих идеи, позволяющие превзойти эти стандарты.
Почти полностью все развитие видеостандартов происходило на основании видеоадаптеров, предлагаемых IBMв своихкомпьютерах. Прогресс шелпостоянно, начиная от жуткого зеленого экрана, до сегодняшних полноцветных дисплеевс высокой разрешающей способностью. Параллельноувеличивалось вредное.
влияние видеосистем на глаза человека.
Адаптер монохромного дисплея.
Этот адаптер часто называют просто MDAот Monochrome Display Adapter, хотяего официальноеимя - Monochrome Display, или Parallel Printer Adapter.
Слово "монохромный" отражает самую важнуюхарактеристику MDA. Он был создан для работыс одноцветным дисплеем.Первоначально онработалс экранами зеленого цвета, которыми обеспечивались преимущественно все системы IBM того времени.
Слова "адаптер дисплея" несут функциональное описание. Это устройство преобразует сигналы,распространяющиеся по шине РС, к форме, воспринимаемой видеосистемой. Возможность подключения принтера к этому адаптеруявляется его достоинством, потомучто позволяет подключить принтер без использованияеще одного разъема расширения.
MDA является символьной системой, не обеспечивающей никакой другой графики, за исключением расширенного множества символов IBM.Это былпервый адаптер IBM и донедавнего времени он был лучшим адаптеромдля обработки текстов, обеспечивающим самое четкоеизображение символов,по сравнению с любыми дисплейными системами,выпущенными до PS/2.
Текстовый режимбыл целью разработки адаптера. Тогда сотрудники фирмы IBMне могли вообразить, что кому-либо понадобится рисовать схемы на дисплее.

Символы MDA.
Для обеспечения подключения терминалов, используемых в больших компьютерных системах, IBM для изображения символа в MDA использовала площадь экрана в 9 х 14 пикселей,а сам символ был 7 х 9 пикселей. Дополнительное пространство использовалось для разделения каждого символа, что увеличивало читаемость.
Для реализации тогдашних стандартов видеотерминалов, обрабатывающих символыпо 80 столбцам и 25 строкам, требовалось740 горизонтальных пикселейи 350вертикальных - 252000 точек на экран.

Частота MDA.
При работе с таким количеством точек фирма IBM пошла на компромисс. При отображенииинформации с большой частотой потребовалосьбы более широкополосный монитор, чем тот, которыйбыл доступен (во всякомслучае за небольшие деньги) во времяразработки РС. IBM слегка уменьшила используемую частоту, доведяее до 50 Гц и компенсировала возможность появлениямерцания экрана использованием люминофора с большим остаточным свечением.Таким образом появился стандартIBM на монохромный дисплей.
Используемая более низкая частота давала дополнительно время электронной пушке обрабатыватькаждую строку изображения. Однако даже с такой форой плотность точек по монохромным стандартам IBM требовала увеличения горизонтальной частоты по отношению к используемой в популярномвидеомониторе - телевизионномприемнике - 18,1 КГц против 15,525 КГц.
Цветной графический адаптер.
Первым растровым дисплейным адаптером, разработанным IBM для РС, был цветной графический адаптер - CGA (Color Graphic Adapter). Представленнаяальтернатива MDA ослепила привыкший к зеленому компьютерный мир. Новый адаптер обеспечивал 16 ярких чистых цветов. Помимо этого, он обладал способностью работать в нескольких графических режимах с различной разрешающей способностью.
Как об этом говорит наименование адаптера, он предназначалсядля формирования графического изображения на цветном экране. Однако он обеспечивалработу и с монохромными дисплеями, созданными не IBM для платыMDA. Онмог работать в паре как с монохромными, таки с композитными мониторами, и дажес модулятором телевизионных приемников (тем не менее
вы неможете подключить CGA ктелевизору если, у последнего нет композитного видеовхода).Обеспечивает также работу светового пера.
CGA - этомногорежимный дисплейный адаптер. Он может использоваться и для символьных и для побитных технологий. Для каждой изних он реализует несколько режимов. Онсодержит 16 Кбайтпамяти,прямо доступныхцентральному микропроцессору.
Символьныережимы CGA.
Символьный режим функционированияCGA устанавливается по умолчанию. В этом режиме функционирование CGA напоминает MDA.Главнымотличием этих двух адаптеров является то, что второй был создан для работыс нестандартными вертикальными и горизонтальными частотами,обеспечивая более четкое изображение. CGA же использует стандартные частоты - те, что используются композиционными дисплеями. Это дает возможность быть совместимым с большим семейством мониторов, но в то же времяуменьшает качество изображения.
Для того, чтобы обеспечить функционирование с 15,525 КГц горизонтальной частоты и 60Гц вертикальной, CGA разделил дисплей на матрицу в 640 горизонтальных пикселей и 200 вертикальных. Для того чтобы расположить 2000 символов на экране размером 80 х 25 символов - в формате MDA- используются
ячейки 8 х 8 пикселей.
16Кб памяти CGA позволяют работать с 4 страницами текста. Обычно в текстовом режиме используется единственная страница - первая. Остальные доступныпрограммам и пользователю через BIOS и через регистр режима CGA.

Качество символов CGA.
В системахCGA каждый символ располагаетсяв матрице 7 х
7. Одна точка зарезервирована для подстрочного элемента и еще одна - для разделения. Очевидно, что подстрочный элемент имеет протяженность на все изображение,что позволяет избежать использования дополнительных линийдля разделения строктекста.Использование меньшего количества точек при изображении символаозначает, чтоего изображение будет иметь более грубую и менее приятную формупо сравнению с MDA.
Цвета символов.
В любом текстовом режиме IBM, используя атрибуты, можно работать с 16-цветовой палитрой. Любой символ текста может быть изображен любым из 16 цветов.
Фон символа - точки, входящие в матрицу символа 8 х 8 и не участвующие в формировании формы символа - может также иметьодин из16 цветов, но с одним ограничением. В режиме, устанавливаемом по умолчанию,для фона можноиспользовать 8 цветов, потому что бит в байте параметров, устанавливающий яркость илиинтенсивность фоновогоцвета, предназначается для другой цели. Он используется длязадания режимамерцания символа.
Специальный регистр CGA изменяет назначение этого бита. Загружая определенныезначения в этот регистр, пользователь или программамогут выбиратьмежду использованием мерцания или изображением цвета фона сповышенной интенсивностью. Однако этот регистр управляет всем текстом экрана, поэтому невозможно одновременноиспользовать и мерцающие символы и повышенную интенсивность цветового фона.
CGA требует от программистов прямого обращения к этому регистру. Более усовершенствованные адаптерыIBM используют дополнительную программу BIOSдля реализации этой функции.
Улучшенный графическийадаптер.
К 1984 году недостатки CGA сталиочевидными. Этовыявилось благодаря широкому его распространению. Тяжело читаемый тексти грубая графика портили зрение лучше всякого другого приспособления.
Как ответ на заслуженную критику, появился улучшенный графический адаптер- EGA. Улучшение было многосторонним: возросшая разрешающаяспособность, возможность обеспечивать графический режим монохромных экранов, в том числе любимых IBM зеленых дисплеев.
Разрешающая способность EGA.
Самое существенное изменение хорошо заметно по рисуемому изображению. Разрешающая способность была увеличена до 640 х 350 пикселей.Ячейкисимволов имеютразмер 8 х 14.И хотя такаяячейка на одну точку уже, чем поддерживаемая MDA, символ формируется той же матрицей 7 х 9. Но более важным являлось то, что было выделено достаточноместа для подстрочного и надстрочного пространства. Благодаря этому смежные ряды несливались и цветное изображениетекставоспринималось
такжехорошо,как и монохромное.
Разрешающая способность 640 х 350 обеспечивалось вграфическом режиме. Этот адаптер мог также поддерживать все графические режимы предыдущих адаптеровIBM. Это означает, что EGA способен обеспечить все режимы устаревшего CGA.
Частоты EGA.
Для того, чтобы обеспечить передачу зрительной информации, согласностандарту EGA, необходимо использоватьсигнал с более широкой полосой частот, увеличив его диапазондо более высокой частоты. Вместо 15,525 КГц CGA, EGA увеличил горизонтальную частоту сканирования до 22,2 КГц. Вертикальная частота сканирования ( частота кадров) приблизительно равна 60 Гц. Из-за использования более высокой частоты стандарт EGA несовместим с устройствами, созданными по стандарту NTSC.В эту группу устройств входят и телевизоры. Требуется специальные дисплеи EGA.
Цвета EGA.
Возможности стандарта EGAпо формированию цветной гаммы существенно возросли.Посредством изменения интерфейса адаптер -дисплей, реализуемая палитра EGA была расширена до 64 оттенков (считая черный и различные оттенки серого, как отдельные цвета). Кроме того,благодаря наличию большого ресурса памятистандарт EGA способен поддерживать более широкую палитру цветов сболее высоким уровнем разрешающей способности. В режиме с максимальной разрешаемойспособностью и полным использованиемресурсапамяти,EGA в состоянииодновременно формировать изображение в 16цветовых оттенках выбранных из 64 цветной палитры на экране в 640 х 350 пикселей.
VideoGraphics Array - VGA
Весь процесс разработки IBM дисплеев для своих персональных компьютеров поддается и не поддается логическомуобъяснению. С одной стороны, некоторые видеосистемы IBM для отдельныхприменений подходили лучше других. Но с другой отказ от узкой специализации на отдельное видеоустройство дает возможность настроитьадаптер на разные типы дисплеев, что открывает огромный рынок длядополнительной видеопродукции, поступающей от независимых поставщиков, чтообеспечивает в свою очередь расширение снабжения рынка. При переходек новому видеостандарту адаптерная платаможет быть легко заменена другой. С другойстороны, объединение дисплея и адаптера поддается логическому обоснованию также.
КомпьютерыPortable, такие, как PC Portable (которые не содержат на своей системной плате дисплейнуюсистему) и переносные компьютеры Convertible (содержащие ее там) требуют полной интеграции дисплея и центрального блока для увеличения транспортабельности переносных компьютеров. Такойподход имеетпреимущество простоты сборки системы. Система поступает в виде одного большого блока и не нужно задумываться, как собрать систему из составляющих. Болеетого, такой способ реализации видеосистемы чаще всего обходится дешевле,потому что не требует устанавливать платы расширения, интерфейсные цепи и взымать деньгиза дополнительные разработки. Для снижениястоимости PCjr в этой модели IBM сначала использовала видеосистему,реализуемую на системной плате.
Промежуточным вариантом является реализация видеосистемы на базе платырасширения, чьястоимость входит в стоимость системы. Большинство персональных компьютеров продается по такойметодике.
Разрешающая способностьVGA в графическом режиме
Точно так же, как и в предыдущие системы, VGA обеспечивают различные уровни разрешающей способности в различных режимахфункционирования. Но VGA обеспечивает гораздо большее количество режимов. Их общее число равно 17. Однако вграфическом и текстовом режимах достигаются отличающиесяуровни разрешающей способности.
В графических режимах при формировании растрового цветного изображения достигаетсяразрешающая способность 640 х 480 пикселей. При этом формируется 16 цветов выбранных из палитры в 256. Такой же уровень разрешающей способности обеспечивается и для монохромного изображения.
Переход кстандарту 640 х480 пикселей от стандарта EGA ( 640x 350 )позволил улучшить точность изображения. Стандарт VGA позволяет создать изображение болееточное с использованием большей гаммы цветов.
Для программистов, разрабатывающих графику, отношение числа горизонтальных пикселей к вертикальному равное 4:3, является благоприятствующим фактором, потому что оно равно отношению сторон экрана большинства мониторов.
Цвета VGA
Новый стандарт способен поддерживать 256 различных цветов одновременно. Цвета выбираются из палитры 262144оттенка. Вэтом режиме, разрешающая способность ограничена уровнем 320 х 200пикселей. Эта разрешающая способность CGA, работающего в режиме со средней разрешающей способностью, но последний может работать одновременно с четырьмя цветами, выбранными из палитры в шестнадцать цветов.
Электронно - лучевая трубка.
Электронно- лучевая трубка ( ЭЛТ) состоит из электронной пушки длямонохромного дисплея или 3 пушек для цветного, отклоняющей системы и экрана, покрытого слоем люминофора. Все эти устройства помещеныв вакуумный балон. Электронная пушка служитисточником электронов, направляемых припомощи
отклоняющей системы в нужную частьэкрана, где электроны взаимодействуют с покрытием экрана, врезультате чегоиспускается свет.След отлуча наэкране называется растр. Изображение на ЭЛТ формируется за счет пробега луча электронов слева на право по горизонтальным линиям экрана. Луч электронов начинает пробегать по экрану с левого верхнего угла до правого верхнего угла. Когда луч доходит до правой стороны, он гасится и перемещается на следующую горизонтальную линию,находящуюся подпредыдущей. После того, как луч пробежит по всему экрану, он гасится и перемещается в левый верхний угол.

Видеопамять.

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


Литература:
1.А.В. Фролов, Г.В. Фролов Программирование видеоадаптеровCGA,EGAи VGA Москва,Диалог - МИФИ, 1992

2.В.Л. Григорьев Видеосистемы ПКфирмы IBM Москва,Радио исвязь, 1993

3.Н.Г. Краснокутский Управление цветом в адаптере VGA "Журнал д-ра Добба", 1'1993, стр. 46 - 49

4.Б. Телеснин АдаптерVGA. Режим 256 цветов "Монитор", 1'1993, стр. 67 - 74

5 В.Г. Чертков Как поставить точку "Мир ПК", 1'1993, стр. 115 - 125