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

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



Базовые системы отображения.

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

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

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

Образ каждого символа, который появляется на экране, хранится в специальной микросхеме ПЗУ. Эта память относится к видеоцепям компьютера. 

Каждый символ на экране формируется множеством точек. Несколько видеостандартов, используемых IBM и другими фирмами, отличаются количеством точек, используемых при формировании символов. 

IBM четыре раза меняла назначение ОЗУ под видеосистему. Во-первых, это касается PC и XT. Еще один вариант используется в PCjr и последний предназначается для всех последних улучшеных видеосистем. 

Первые две видеосистемы 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А. 

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

Проблема с программным обеспечением может быть решена при помощи специальных графических операционных систем, таких, как Microsoft Windows или 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 пикселей. Video Graphics Array - VGA 

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

Компьютеры Portable, такие, как PC Portable (которые не содержат на своей системной плате дисплейную систему) и переносные компьютеры Convertible (содержащие ее там) требуют полной интеграции дисплея и центрального блока для увеличения транспортабельности переносных компьютеров. Такой подход имеет преимущество простоты сборки системы. Система поступает в виде одного большого блока и не нужно задумываться, как собрать систему из составляющих.Более того, такой способ реализации видеосистемы чаще всего обходится дешевле, потому что не требует устанавливать платы расширения, интерфейсные цепи и взымать деньги за дополнительные разработки. Для снижения стоимости PCjr в этой модели IBM сначала использовала видеосистему, реализуемую на системной плате. 

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



Разрешающая способность VGA в графическом режиме 

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

В графических режимах при формировании растрового цветного изображения достигается разрешающая способность 640 х 480 пикселей. При этом формируется 16 цветов выбранных из палитры в 256. Такой же уровень разрешающей способности обеспечивается и для монохромного изображения. 

Переход к стандарту 640 х 480 пикселей от стандарта EGA ( 640 x 350 ) позволил улучшить точность изображения. Стандарт VGA позволяет создать изображение более точное с использованием большей гаммы цветов. 

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



Цвета VGA 

Новый стандарт способен поддерживать 256 различных цветов одновременно. Цвета выбираются из палитры 262144 оттенка. В этом режиме, разрешающая способность ограничена уровнем 320 х 200 пикселей. Эта разрешающая способность CGA, работающего в режиме со средней разрешающей способностью, но последний может работать одновременно с четырьмя цветами, выбранными из палитры в шестнадцать цветов. Электронно - лучевая трубка. 

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



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

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