Архитектура современных видеосистем

      Комментарии к записи Архитектура современных видеосистем отключены

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

Видеопамять. Видеопамять персонального компьютера (VRAM — Video RAM) хранит растровое изображение, которое показывается на экране монитора. Изображение на мониторе полностью соответствует текущему содержанию видеопамяти. Видеопамять постоянно сканируется с частотой кадров монитора. Запись новых данных в видеопамять немедленно изменяет изображение на мониторе.

Необходимый объем видеопамяти вычисляется как площадь экрана в пикселах, умноженная на количество бит (или байтов) на пиксел (установленный видеорежим). Наблюдается тенденция увеличения объемов видеопамяти соответственно увеличению разрешающей способности и глубины цвета видеосистем. В видеопамяти могут храниться несколько кадров изображения, что часто используется при анимации. Кроме того, в некоторых видеоадаптерах предусмотрена возможность использования видеопамяти для хранения другой информации, например Z-буфера, растров текстур.

Физически видеопамять организована в виде одномерного вектора байтов в общем адресном пространстве. Как правило, адрес первого байта видеопамяти равен A000:0000 (сегмент: смещение) или A0000 (абсолютный адрес).

Кроме физической организации видеопамяти следует учитывать ее логическую организацию, которая зависит от видеорежима. Например, в видеорежиме VGA (256 цветов, 320х200) используются четыре массива байтов памяти. Каждый массив назван битовой плоскостью, для каждого пиксела используются одинаковые биты данных различных плоскостей. Каждая битовая плоскость содержит 80 байтов в одной строке. Плоскости имеют одинаковый адрес в памяти, для доступа к отдельной плоскости необходимо устанавливать индекс плоскости в соответствующем регистре видеоадаптера. Подобный способ организации видеопамяти используется во многих других видеорежимах, он позволяет, например, быстро копировать массивы пикселов.

Для сохранения нескольких кадров изображения в некоторых видеорежимах предусматриваются отдельные страницы видеопамяти с одинаковой логической организацией. Тогда можно изменять стартовый адрес видеопамяти – это приводит к сдвигу изображения на экране. Во всех графических видеорежимах стартовый адрес видеопамяти соответствует левому верхнему пикселу на экране. Поэтому координатная система с центром координат (0,0) в левом верхнем углу растра часто используется в качестве основной (или устанавливается по умолчанию) во многих графических интерфейсах программирования, наприме, в API Windows.

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

Локальная шина. Вывод графики и особенно анимации требует очень высокой скорости передачи данных. Это требование учтено в архитектуре современных персональных компьютеров: контроллер видеосистемы (или видеоадаптер) располагается рядом с процессором и оперативной памятью и подключен к системной шине через скоростную локальную шину, что позволяет ускорить обмен данными между оперативной памятью и видеопамятью.

Обмен данными по системной шине для видеосистемы обеспечивают процессор, видеоадаптер и контроллер локальной шины. До недавнего времени для подключения видеоадаптеров использовалась локальная шина PCI (Peripherical Component Interconnect local bus), которая является стандартом для подключения различных периферийных устройств. В настоящее время видеоадаптеры подключаются через локальную шину AGP (Accelerated Graphics Port), разработанную для повышения скорости обмена данными между видеоадаптером и оперативной памятью по сравнению с возможностями шины PCI. Шина AGP позволяет достичь большей частоты кадров при работе графических 3D-акселераторов. Высокая скорость обмена данных с оперативной памятью позволяет хранить растровые текстуры в оперативной памяти, а не в видеопамяти. Кроме того, использование AGP-порта снижает нагрузку на шину PCI, что повышает быстродействие компьютера.

Графические видеорежимы. Эволюция видеоадаптеров.Видеоадаптеры позволяют выводить информацию на экран в текстовом и графическом режимах. В текстовом режиме возможности адаптера характеризуются числом строк на экране и числом символов в строке. Графический режим определяется размером растра и глубиной цвета (количеством одновременно выводимых на экран цветов).

Перечислим наиболее распространенные виды видеоадаптеров:

MDA(Monochrom display Adapter) предназначен для работы в текстовом режиме 25 строк по 80 символов в строке.

Hercules Grapphic Card поддерживал, помимо текстового, графический черно-белый режим 720х348 пикселов.

CGA(Color Graphic Adapter) позволял работать в цветном текстовом или графическом режимах. Два графических режима: черно-белый 640х200 пикселов и цветной 320х200 пикселов. В цветном режиме можно было отображать только четыре цвета одновременно (глубина цвета 2 бита на пиксел).

EGA(Enchanced Graphic Adapter) поддерживал 16-цветный графический видеорежим 640х350 пикселов, цвета выбирались из палитры 64 цветов. Главным недостатком этого режима была различная разрешающая способность по горизонтали и вертикали, т.е. пикселы имели прямоугольную форму (круг выглядел овалом).

MCGA (Multi-Color Graphic Array) и VGA(Video Graphic Array) обеспечивали 256-цветные видеорежимы. Адаптер VGA имеет два видеорежима: 1) 256-цветный графический видеорежим с размерами растра 320х200, цвета можно выбирать из палитры в 256 тысяч цветов, пикселы прямоугольной формы;
2) 16-цветный видеорежим 640х480, пикселы квадратные.

SuperVGA поддерживают графические видеорежимы:
16-цветные 800х600 и 1024х768; 640х480, 800х600 и более для 256 цветов.

Targa24 — первый видеоадаптер с глубиной цвета в 24 бита, что позволило получить цветовой видеорежим True Color.

На современных компьютерах с процессорами класса Pentium используются различные видеоадаптеры растрового типа, позволяющие устанавливать глубину цвета до 32 бит на пиксел при размерах растра 1600х1200 и более. Существуют стандарты на видеорежимы, установленные VESA (Video Electronic Standards Association).

Видеоадаптеры могут различаться не только по быстродействию и возможностям для работы с цветом, но и по уровню реализации тех или иных графических операций. Например, видеоадаптеры Matrox позволяют создавать качественную двумерную графику, Nvidia GeForce считаются удачными игровыми 3D-акселераторами, а видеоадаптеры 3Dlabs Wildcat могут использоваться для профессионального 3D-моделирования.

Использование программистами графических возможностей видеосистемы может осуществляться на различных уровнях.

1.Использование возможностей BIOS для выполнения простейших операций, таких как определение графического видеорежима, вывода пикселов на экран и др.

2.Использование функций операционной системы. Раз-личные операционные системы предоставляют в этом плане различные возможности: в MS-DOS практически нет графических функций, но программист имеет свободный доступ ко всем аппаратным ресурсам компьютера, в том числе и непосредственный доступ к видеопамяти; операционная система Windows запрещает прикладным программам непосредственный доступ к аппаратным ресурсам, но содержит несколько сотен графических функций – интерфейс API (Application Program Interface).

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

Статьи к прочтению:

Jeep Wrangler от ВИДЕОСИСТЕМ


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