Адаптер 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. Он основывается на использовании вызова специальных подпрограмм по формированию соответствующего изображения на видеодисплее. Графические системы переводят поступающие команды на язык понятный для графических сопроцессоров или других видеоустройств. Таким образом, пользователю нужно только оперировать образами, формируемыми графическими системами. Насыщение систем новыми функциями является делом разработчика графического пакета.