Типы видеоадаптеров и доступ к периферии

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

Первый метод — программа может взаимодействовать с ВС с помощью 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-битного, причем mn. При этом получается палитра из 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.

5 фактов о USB Type-C, которых вы могли не знать.


Похожие статьи.

Понравилась статья? Поделиться с друзьями: