Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Технические средства предприятий информационног...doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
584.7 Кб
Скачать

3.5 Видеоконтроллеры

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

Контроллер (специализированный процессор) формирует управляющие сигналы для монитора и управляет выводом закодированного изображения из видеопамяти, регенерацией ее содержимого, взаимодействием с центральным процессором. Контроллер с аппаратной поддержкой некоторых функций, позволяющей освободить центральный процессор от выполнения части типовых операции, называется акселератором (ускорителем). Акселераторы эффективны при работе со сложной графикой: многооконным интерфейсом, трехмерной (3D) графикой и т. п. Основными компонентами специализированного процессора являются: SVGA-ядро, ядро 20-ускорителя, ядро ЗD-ускорителя, видеоядро, контроллер памяти, интерфейс системной шины, интерфейс внешнего порта ввода-вывода. Аппаратно большая часть этих компонентов реализуется на одном кристалле видеоконтроллера.

Р исунок 1 – Видеокарта

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

Основные аппаратные элементы ЗD-ускорителя: геометрический процессор, механизм установки и закраски примитивов. Характеристиками ускорителей являются максимальная пропускная способность (треугольников в секунду), максимальная производительность закраски (точек в секунду), скорость (кадров в секунду).

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

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

-Затем следует стадия геометрических построений поверхности (geometry settings): заполнение поверхностей, создание перспективы, учет влияния источников света и так далее

-Последний этап - рендеринг (rendering) включает в себя наложение на плоскости, из которых состоит изображение, текстур, которые, определяют внешний вид объектов. Текстура представляет собой маленький рисунок, который накладывается на прорисованный геометрическими линиями объект. Хорошим примером текстуры является изображения песка на ровном пляже (последний выступает в роли геометрического тела, в данном случае плоскости). При этом, как правило, учитываются свойства поверхности и оптическая плотность среды

В настоящее время разметка плоскостей и создание каркасного рельефа и различных объектов осуществляется с помощью геометрической фигуры - треугольник. Треугольник выбран не случайно: из треугольников можно составить с известной точностью любое геометрическое тело или фигуру. Кроме того, не менее чем тремя точками можно однозначно задать плоскость в пространстве. Естественно, чем меньше размеры треугольников и чем их больше, тем точнее получится изображение. Недостаток метода в том, что для того, чтобы получить высококачественную графику, близкую к фотографии, необходимо иметь треугольник размером с пиксел. А это отражается на экономии памяти компьютера. Решением проблемы может стать применение более сложных элементов. Например, предполагается, что будущие технологии 3D-графики будут базироваться на квадратиках, причем с помощью математических функций возможно будет управлять искривлением квадратика так, чтобы сравнительно небольшое число квадратиков могло описывать сложные поверхности. Это существенный шаг вперед, так как для моделирования фотореалистичной объектов, к чему так стремиться производители программного обеспечения, компьютеры уже не обязательно должны иметь огромный объем памяти. Однако экономия памяти компенсируется большой нагрузкой на вычислительную систему компьютера, что создает потребность в мощном процессоре и графическом акселлераторе. Мощности самых производительных на сегодня процессоров и графических чипов не всегда хватает для моделирования приличной графики с помощью треугольников.

Следует заметить, что графические акселераторы выполняют только последний этап построения трехмерной сцены, то есть рендеринг. Геометрическая стадия, которая кроме собственно построения объектов включает в себя еще и перевод трехмерных координат пространства в двухмерные координаты поверхности монитора, возлагается в основном на CPU. Это связано главным образом с тем, что математические вычисления, которые требуются в этот момент, обычно являются операциями над числами с дробной частью, а графический процессор может работать только с целочисленными данными. Поэтому производительность видеокарты сильно зависит от CPU компьютера. Понятно, что если процессор не будет строить объекты с такой скоростью, чтобы при рендеренге акселератор работал на полную мощность, то последний будет простаивать, так как для него попросту не будет работы. Правда, в последнее время подавляющее большинство видеочипов способны в той или иной степени выполнять и более сложные математические расчеты, однако это не означает, что нагрузка с центрального процессора будет полностью снята. Напротив, грамотная распараллеленость задач может дать существенный прирост быстродействия. Если графически представить зависимость производительности графического ускорителя от быстродействия процессора, то получим восходящую линию - то есть чем быстрее процессор, тем лучшие результаты показывает видеокарта. Причем для каждой модели графического чипа свой верхний предел, когда дальнейшее повышение мощности процессора практически не дает прироста производительности системы. Так что стоит согласовывать возможности процессора и видеокарты. Например, мощная видеокарта мало что сможет дать, если система располагает медленным процессором.

Естественно, от графических чипов не было бы толку, если бы они не имели соответствующую программную поддержку. Программная поддержка заключается в наличии соответствующих драйверов, интерфейса 3D-графики, ответственного за технологию, используемую при построении сцен, и непосредственно самих приложений, использующих 3D-графику. Драйверы изготавливает производитель аппаратных средств и это его задача, чтобы устройство хорошо работало и было совместимо с существующими ОС и прочими программными компонентами. В области 3D графики наиболее важен интерфейс прикладного программирования (Application Prograммing Interface, API). Он предназначен для обеспечения независимости приложения от аппаратного обеспечения. API можно рассматривать как драйверы верхнего уровня, которые согласуют работу видеоакселлератора и программ. Опишем наиболее популярные из них.

Silicon Graghics OpenGL

Этот интерфейс создан компанией Slicon Graphics Inc. (SGI) - непосредственно для своей серии графических станций Iris Indigo. Это наиболее ранний API. Он сегодня широко применяется в играх и профессиональных программах. Все видеокарты с функцией трехмерного ускорения обязаны его поддерживать.

Microsoft Direct3D

Созданный фирмой Microsoft, наиболее поздний интерфейс из семейства DirectX (в него входит еще DirectDraw, ответственный за двухмерную графику). DirectX предусматривает возможность использования программных алгоритмов, которые позволяют выполнять функции построения трехмерных объектов чисто программными способами, то есть эмулировать настоящий графический процессор. Например, приложение, построенное на основе DirectX, может запросить у операционной системы сведения о конфигурации видеоадаптера или другом оборудовании. Если нужное устройство не имеет требуемых приложением возможностей, то они заменяются программной эмуляцией. При этом нагрузка на CPU увеличивается, и работа приложений в таком режиме, как правило, сопровождается задержками, да и качество картинки не всегда получается хорошим. Поддержка Direct3D является стандартной, и весь комплекс DirectX входит в состав всех операционных систем от Microsoft. Кроме того, DirectX отвечает не только за графику, а еще и за звуковые эффекты.

3Dfx Glide

Этот API разработала 3Dfx, включая поддержку Glide во все свои графические чипы. И хотя с Glide могут работать только видеокарты, построенные на микросхемах от 3Dfx, интерфейс является распространенным, так как продукция этой фирмы недорога и приемлемого качества (хотя и заметно уступает в этом плане продукции NVIDA). Приложения, оптимизированные под Glide, работают на этом движке хорошо, но таких приложений, к сожалению, не так уж и много, так как большинство тех же игр создаются в основном в расчете на OpenGL как на более универсальный и в то же время обладающий хорошими возможностми интерфейс.

Программное обеспечение способно сильно повлиять на производительность и качество работы видеокарты, причем как в положительную, так и в отрицательную сторону. Применение хороших драйверов способно поднять скорость работу устройства на 50-100% по сравнению с плохими или слишком старыми. Поэтому необходимо использовать как можно более новые версии драйверов видеоплаты и регулярно обновлять компоненты DirectX. Как правило, новые версии лучше оптимизированы и имеют меньше ошибок, а также, позволяют лучше раскрыть функциональные возможности конкретного устройства или приложения. Компоненты DirectX обычно можно взять на сайте Microsoft, а драйвера видеоплаты должны находиться на сайте ее производителя. Нежелательно использовать стандартные драйверы от Microsoft, входящие в комплект поставки Windows, так как они работают не очень хорошо.

Современные видеопроцессоры кроме ускорения прорисовки двухмерных и трехмерных объектов могут также брать на себя часть вычислений, связанных с декодированием MPEG - 2, что улучшает воспроизведение фильмов. Правда, ускорение работает, как правило, только с фирменным плеером, поставляемым обычно вместе с прочим программным обеспечением графической карты, но нагрузка на процессор при этом может снизиться в несколько раз. Конечно, она все равно будет выше, чем при применении специального MPEG-декодера, однако мощности современных CPU для декодирования MPEG-2 - тем более при участии видеокарты - вполне хватает. Так что приличная видеокарта со средствами ускорения воспроизведения MPEG будет хорошим выбором как для игр, так и для просмотра DVD, покупать карту MPEG-декодера вряд ли целесообразно.

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

Количество воспроизводимых цветовых оттенков (глубина цвета) зависит от числа двоичных разрядов, используемых для представления атрибута каждого пиксела на выделение четырех битов информации на пиксел: контроллеры EGA и VGA -28 = 256 цветов, контроллерах SVGA (стандарт High Color – 24 бита и стандарт True Color 25 бит. В стандарте True Color для отображения каждого пиксела обычно используется 32 бита, из них 24 или 25 для характеристики цветового оттенка, а остальные для служебной информации.

Скорость вывода изображения на экран зависит от скорости обмена данными видеопамяти со специализированным процессором, цифроаналоговым преобразователем. Для увеличения скорости обмена данными видеопамяти со специализированным процессором, цифроаналоговым преобразователем используются:

-увеличение разрядности и тактовой частоты внутренней шины видеоконтроллера (вплоть до 256 разрядов и 600 МГц);

-новейшие быстродействующие типы оперативной памяти.

Помимо производительности самого графического процессора (Graphics Processor Unit, GPU) важной характеристикой видеоадаптера является объем памяти. Можно привести вычисления, с помощью которых можно определить требуемый объем памяти, но это справедливо только для двухмерной графики. Если речь идет о 3D, то видеоакселлератору требуется еще достаточно большой объем памяти для произведения необходимых вычислительных операций, а также память для хранения текстур и другой информации. Объем дополнительной памяти зависит от того, насколько сложную графику использует приложение. Необходимое количество памяти все же можно приблизительно определить (хотя, это зависит от конкретных приложений). Для этого надо подсчитать по вышеуказанной методике требуемый объем памяти для 2D-режима, а затем увеличить полученное значение в пять-шесть раз. В настоящее время нецелесообразно покупать видеокарты с количеством памяти меньше, чем 32 Мбайт. При использовании монитора 17" и больше необходимы видеокарты с объемом памяти 64 или 128 Мбайт. Профессиональные графические системы могут иметь 256 или даже 512 Мбайт видеопамяти. Впрочем, в случае необходимости, для построения 3D-сцены возможно использование оперативной памяти компьютера, однако сильно злоупотреблять этим не стоит, так как, во-первых, оперативная память сильно уступает в быстродействии памяти видеоплаты, во-вторых, она стоит дорого.

В качестве видеопамяти в контроллерах могут использоваться различные типы памяти DRAM, как универсальные: SDRAM, DRDRAM, DDR SDRAM, так и специализированные: SGRAM (синхронная графическая), VRAM и WRAM (двухпортовые типы видеопамяти), 3D RAM (трехмерная) и т. д. Скорость обмена данными с центральным процессором определяется пропускной способностью шины, через которую осуществляется обмен. В современных компьютерах вместо шины PCI используется более скоростная шина AGP (в частности, AGP 4х).

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

Важными параметрами видеокарт являются такие характеристики, как поддерживаемое разрешение и частота регенерации изображения. Чем больше первое, тем всегда меньше вторая. Правда, здесь важно учитывать, с каким монитором будет применяться видеоадаптер, так как, например, на 15-дюймовом мониторе не удастся установить разрешение 1600*1200. К тому же практически все видеокарты имеют изрядный запас прочности (разрешения и частоты обновления экрана).

Возможности аппаратного ускорения прорисовки изображения. В настоящее время уже не существует видеокарт, которые не были бы оснащены функциями ускорения, поэтому сегодня термины "видеокарта" и "видеоускоритель" стали синонимами. Аппаратное ускорение заключается в том, что, поимо элементарных операций, предусмотренных самим стандартом VGA, адаптер способен выполнять и действия высокого уровня без участия процессора. Например, построение линии по двум точкам может быть возложено на графический процессор. Ускорение обуславливается не только тем, что ресурсы процессора освобождаются для других целей, но также тем, что микросхемы видеоплаты лучше приспособлены для графических операций и выполняют их быстрее, чем высокопроизводительный CPU. Различают два основных режима ускорения: ускорение двухмерного изображения и 3D-ускорение. Первое отвечает за прорисовку, например, таких элементов, как рабочий стол, окна приложений и так далее. Кроме того, различные видеоролики, анимация, картинки воспроизводятся заметно качественнее. Правда, хорошим двухмерным ускорением обладают только дорогие видеоадаптеры, которые также поддерживают 3D-ускорение. В дешевых оно реализуется не очень хорошо.

Трехмерная графика. Наличие в системе видеокарты, поддерживающей 3D-акселлерацию, сегодня является обязательной, и эта функции видеокарты стала стандартной. Это объясняется обилием приложений, использующих трехмерную графику, причем это не только игры. Micrsoft, например, даже заявляет, что начала работы по созданию трехмерного пользовательского интерфейса, который будут иметь ее будущие операционные системы. Графический акселлератор способен в несколько раз увеличить производительность приложений, активно использующих трехмерные сцены, особенно если для их прорисовки не хватает мощности процессора. Исходя из этого, можно сделать вывод, что видеокарта является не менее важным компонентом, чем, процессор или материнская плата, и зачастую ее быстродействие определяет быстродействие вычислительной системы.

От частоты зависит, какое максимальное разрешение и при какой частоте кадровой развертки монитора сможет поддерживать видеоконтроллер. Разрядность определяет, сколько цветов может поддерживать видеоконтроллер. Наиболее рacпрoстранено 8-битное представление характеристики пиксела на каждый цветовой канал монитора (суммарная разрядность 24).

В видеоконтроллере имеются микросхемы ПЗУ двух типов:

-содержащие видеоBIOS - базовую систему ввода-вывода, используемую центральным процессором для первоначального запуска видеоконтроллера;

-содержащие сменные матрицы знаков, выводимых на экран монитора. Многие видеокарты имеют электрически перепрограммируемые ПЗУ (EEPROM, Flash ROM), допускающие перезапись информации пользователем под управлением специального драйвера. Таким образом, можно обновлять и видеоBIOS, и экранные шрифты.

Основные характеристики видеоконтроллера:

-режимы работы (текстовый и графический);

-воспроизведение цветов (монохромный и цветной);

-число цветов или число полутонов (монохромный);

-разрешающая способность (число адресуемых на экране монитора пикселов по горизонтали и вертикали);

-емкость и число страниц в буферной памяти (число страниц - это число запоминаемых текстовых экранов, любой из которых путем прямой адресации может быть выведен на отображение в мониторе);

-размер матрицы символа (количество пикселов в строке и столбце матрицы, формирующей символ на экране монитора);

-разрядность шины данных, определяющая скорость обмена данными с системной шиной и т. д.

Общепринятый стандарт формируют следующие видеоконтроллеры:

-MDA - монохромный дисплейный адаптер (Monochrome Display Adapter). Видеокарты стандарта MDA использовались в IBM PC. Они обладали двумя серьезными недостатками - монохромность и поддержка только текстового режима (80 столбцов на 25 строк). Такое текстовое разрешение стало стандартным потому, что MDA-карты поддерживали только его. Символ представляется в виде матрицы 9*14 точек.

-HGC (Hercules Graphic Card) является монохромным и также, как и MDA, использует в текстовом режиме размер матрицы 9*14. Однако HGC-адаптер может запоминать атрибуты символов: мигание, подчеркивание, яркость и инверсия, что предоставляет возможность выполнять операции с выделением в тексте. В графическом режиме карта поддерживает разрешение 720*348 (монохромное). У HGC оригинально распределена видеопамять. Из стандартных 128 Кбайт половина объема используется для хранения информации о двух изображениях на экране, каждое из которых занимает 32 Кбайт. В текстовом режиме для хранения кодов символов и их атрибутов достаточно 4 Кбайт.

-CGA - цветной графический адаптер (Color Graphics Adapter) - новое поколение видеокарт позволяющее использовать цветную графику. Поддерживается два режима: 640*200 пикселов при двухцветном изображении и 320*200 пикселов, количество цветов составляет 4 (из 16-цветной палитры). В текстовом режиме качество изображения невысокое, так как размер матрицы (8*8) не обеспечивает хороших для восприятия очертаний символов.

-EGA - улучшенный графический адаптер (Enhanced Graphics Adapter) - первая видеокарта, которая способна генерировать цветное изображение. Типичная EGA-видеокарта поддерживает разрешения 640*480, 640*400, 640*350, 720*350 и 320*200 пикселов. В текстовом режиме размер матрицы равен 9*14 точек, однако поддерживаются и размеры, которые предусматривали предыдущие стандарты. Можно установить размер матрицы 8*8 (как у CGA).

-VGA - видеографический адаптер (Video Graphics Adapter), иногда его называют видеографической матрицей (Video Graphics Array). VGA-карты стали стандартом для всех видеокарт, применяемых в компьютере. Этот стандарт является базовым для используемого сегодня SVGA и все современные видеокарты обязательно с ним совместимы. Стандартный видеорежим VGA-карты обеспечивает разрешение 640*480 пикселов и 16 цветов. Именно такой режим, например, в качестве стандартного использует Windows и Windows-программы; таким образом, для работы с современными приложениями, не ориентированными на графику, может быть достаточно и карты типа VGA. В текстовом режиме размер матрицы равен 9*14 точек. Как правило, VGA-адаптеры оснащаются памятью объемом 512 Кбайт, но если он будет равен 1 Мбайт, то становится возможным использование 256 цветов.

Стандарт Super VGA

-PGA - профессиональный графический адаптер (Professional GA).

-SVGA - улучшенный видеографический адаптер (Super VGA). SVGA по сути является VGA, только предусматривает высокие разрешения и большее количество цветов. Минимальным требованием для SVGA является разрешение 800*600 и 16-битное представление цвета (High Color, 65536 цветов). Современные карты могут поддерживать разрешение более тысячи пикселов по горизонтали и вертикали при 24-битном (True Color, 16.7 млн. цветов) и 32-битном (True Color, 16,7 млн. цветов) представлении цвета. Однако максимальное разрешение и цветовая палитра зависят от количество памяти, которым располагает видеокарта. Необходимый объем памяти в байтах можно подсчитать: нужно умножить желаемое разрешение по горизонтали на разрешение по вертикали, а затем полученное произведение умножить на количество байтов, приходящихся на один пиксел (например, 16 бит равно 2 байта). Так, для разрешения 1024*768*24 bits потребуется 1024*768*3=2359296 байт (около 2,5 Мбайт). Но видеокарты могут иметь объем памяти, который можно представить в виде степени с основанием 2 (1, 2, 4, 8, 16 Мбайт и т. д.), поэтому полученное значение следует округлить до ближайшего большего стандартного. В нашем случае получится 4 Мбайт. Правда, такие расчеты имеют смысл только для двухмерной графики, для 3D-ускорителей памяти потребуется в два-три раза больше.

В настоящее время практически используются видеоконтроллеры только типа SVGA. Современные SVGA-видеоконтроллеры поддерживают разрешение до 2048*1536, число цветовых оттенков более 16,7 млн, имеют емкость видеобуфера до 64 Мбайт.

При выборе видеокарты важно учитывать ее возможности и прочие характеристики. Например, может ли она использовать в 3D-режиме 32-битный цвет; насколько велики искажения, вносимые видеокартой в кадр, нет ли на изображении каких-либо артефактов (это относится к 3D-режиму); одинаково ли хорошо изображение в низком и высоком разрешении. Желательно, чтобы на видеочипе был вентилятор, так как графические процессоры потребляют энергии не меньше, чем центральные процессоры, и поэтому сильно греются. При плохом охлаждении карта начинает работать нестабильно и на экране появляются какие-нибудь артефакты.

Некоторые видеокарты могут иметь видеовход, при этом возможен как просмотр изображения, так и захват отдельных кадров, а также запись видеороликов. Компрессия при этом, конечно же, программная, но мощности современных процессоров вполне достаточно для программного кодирования в MJPEG с хорошим качеством. Хотя отнести такие устройства к настоящим системам видеомонтажа нельзя. Зато гарантированно не возникнет проблем с совместимостью (программные кодеки, используемые такими видеокартами, являются, как правило, стандартными мультимедийными устройствами Windows), а стоимость не сравнится с ценой специальных плат. Соответственно видеовыход позволяет подавать сигнал на бытовую видеоаппаратуру. Иногда видеокарта оснащается TV-тюнером или встроенной звуковой картой.