Программное обеспечение (ПО), чтобы быть полезным, должно взаимодействовать с периферийным оборудованием и в первую очередь с дисплеем. Такое взаимодействие может осуществляться на трех уровнях:
Первый метод - программа может взаимодействовать с ВС с помощью BIOS, в которую встроены аппаратно-программные средства такого взаимодействия. Управление дисплеем осуществляется через прерывание INT 10h, функции которого образуют драйвер дисплея. Такой вариант обеспечивает переносимость программ на ПК с однотипными видеоадаптерами и хорошую производительность.
Второй метод - на уровне операционной системы с помощью программного системного прерывания. Такой способ обеспечивает наилучшую переносимость ПО, но имеет невысокую производительность.
Третий метод - прямое управление ВС[1]. через программно доступные регистры. Производительность при этом максимальная, а мобильность низкая. Например, для реализации некоторой функции обслуживание дисплея DOS требуется 100 команд CPU, BIOS - 10, а при прямом доступе к регистрам - единицы. Видеосистема персонального компьютера предназначена для формирования изображений, наблюдаемых на экране монитора. Ее основу составляют специализированные схемы для генерирования электрических сигналов, управляющих мониторами и сам дисплей. В большинстве клонов IBM PC нет встроенных видеосхем и видеоадаптер является отдельным модулем, который устанавливается в слот расширения системной шины. Наиболее распространенным сейчас является видеоадаптеры VGA (и SVGA).
Важной характеристикой монитора и его адаптера скорость работы. В текстовом режиме все мониторы работают достаточно быстро, но при выводе графических изображений с высокой разрешающей способностью скорость работы может быть довольно существенна. В приложениях с интенсивным использованием графики (обработке изображений, анимации, конструировании и т.д.) может оказаться необходимым использование "быстрого" адаптера и соответствующего монитора. Многие фирмы выпускают ВА[2] с графическим сопроцессорами или ускорителями. Они работают параллельно с CPU и освобождают CPU от специализированных задач формирования изображений и делают это быстрее CPU. CPU выдает ВА команды высокого уровня для формирования графических примитивов. Примеры таких команд: пересылка блока изображения, формирование отрезка прямой, изменение масштаба, заполнение графического окна заданным цветом и т.д. Часто такие ВА устанавливаются на локальную шину (VL - bus, PCI), что существенно увеличивает скорость передачи данных между CPU и видеопамятью.
|
Режимы работы видеосистемы
Все видеосистемы персональных компьютеров (за исключением адаптера MDA) могут работать в двух основных режимах - текстовом и графическом. Различия этих режимов работы связаны со способом интерпретации содержимого видеобуфера.
Текстовый режим
В этом режиме, называемом также символьным, экран разделяется на отдельные символьные позиции, в каждой из которых выводится один символ. Символьные позиции определяются двумя координатами: номер текстовой строки и номер текстового столбца. Начало координат находится в верхнем левом углу рабочей области экрана.
После загрузки, компьютер всегда начинает работать в текстовом режиме. На принимаемой по умолчанию текстовый режим ориентирован на ОС DOS. Процедуры вывода на экран ОС основаны на элементарных функциях BIOS, которые вызываются командой программного прерывания INT 10h.
|
Изображение символа формируется на точечной матрице, размер которой зависит от используемого адаптера и номера режима. Точки, образующие изображение символа называются передним планом, а остальные фоном. Чем больше размер точечной матрицы, тем выше качество изображения.
Во всех видеосистемах персональных компьютеров совместимых с IBM применяется один и тот же формат хранения текстовых данных в видеобуфере. Каждый символ представлен двумя байтами.
Байт с четным адресом содержит код символа и определяет, что выводится на экран. Соседний байт с большим нечетным адресом содержит атрибуты и определяет, как они выводятся на экран. Байты, содержащие коды символов и атрибуты, размещаются в видеобуфере последовательно. Адаптер считывает их и с помощью аппаратного знакогенератора преобразует код каждого символа в точечное изображение на экране. Одновременно контроллер атрибутов формирует заданные атрибуты символа - цвет, яркость, мерцание. Благодаря принятому способу представления текстовых данных обеспечивается независимое управление атрибутами каждого символа. Изображение символа формируется на прямоугольной матрице пикселей.
Графический режим
В этом режиме цветовое значение каждого пикселя хранится, как один или несколько бит в видеобуфере и считывается на экран с дополнительным преобразованием. Графический режим называется еще режимом с двоичным или точечным отображением (bit - mapped display), т.к. в нем имеется взаимно однозначное соответствие между битами в видеобуфере и пикселями на экране. Говорят, что в видеобуфере хранится образ экрана.
|
Если в видеобуфере пиксель кодируется n битами, то одновременно на экране можно наблюдать 2n цветов. Число бит, отведенных для кодирования цвета, иногда называют числом цветовых плоскостей. Адаптеры EGA и VGA осуществляют дополнительные преобразования битовых полей пикселей с целью расширения отображаемой палитры. С помощью специальных схем n-битный код расширяется до m-битного, причем m>n. При этом получается палитра из 2m цветов, однако одновременно на экране можно наблюдать по-прежнему лишь 2n цветов.
Видеоданные графических режимов хранятся в виде двоичных полей представляющих значения пикселей. Они прямо (CGA)или косвенно(EGA,VGA) определяют цвет каждого пикселя на экране.
Видеорежимы, превосходящие VGA по разрешению и числу цветов, стали называть Super VGA или SVGA. Так же стали именовать поддерживающие эти режимы видеоадаптеры и мониторы. В настоящее время к стандартам VESA SVGA и стандартам SVGA, действующим де-факто, относятся:
Разрешения: 640 x 480, 800 x 600, 1024 x 768, 1152 x 864, 1280 x 1024, 1600 x 1280 (или 1200), 1800 x 1350
Количество бит/цветов: 4 бита / 16 цветов, 8 бит / 256 цветов, 16 бит / 32768 или 65536 цветов, 24 бит / 16,7 млн. цветов, 32 бит / 16,7 млн. цветов.
Для использования SVGA-видеорежимов под MS-DOS (в основном в компьютерных играх) ассоциация VESA предложила стандартное расширение системы команд обычного VGA, который хранится в VGA BIOS. Этот набор, называемый VESA BIOS Extension, реализуется производителем видеоадаптера либо в системе команд BIOS, либо в виде загружаемого драйвера. Существуют драйверы сторонних производителей, например программа UniVBE компании Scitech Software.