Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции Инженерка.docx
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
5.69 Mб
Скачать

Глава 9. Технические средства кг (оборудование кг)

Чаще всего, после того, как изображение возникло на мониторе, пользователь каким-либо образом должен взаимодействовать с ним: модифицировать, передвигать, управлять. Для этого существует ряд устройств, о которых будет рассказано в этой главе.

9.1 Видеоадаптеры

Видеоадаптер (графическая карта, видеокарта) реализует вывод информации на монитор. От ее качества зависят:

  • скорость обработки информации;

  • четкость изображения и размеры;

  • цветность (количество воспроизводимых цветов) рабочего поля экрана.

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

Первый компьютер IBM PC был оснащен видеоадаптером MDA (Monochrome Display Adapter). Видеосистема была предназначена для работы в текстовом режиме - отобража­лись 25 строк по 80 символов в каждой строке.

Через год небольшая фирма Hercules выпустила видеоадаптер Hercules Graphic Card. Он поддерживал также и графический черно-белый режим 720x350.

Следующим шагом был видеоадаптер CGA (Color Graphic Adapter). Это первая цветная модель для IBM PC. Адаптер CGA позволял работать в цветных текстовом или в графиче­ском режимах. Далее мы будем рассматривать только графические режимы видеоадаптеров. Графических режимов для CGA было два: черно-белый 640x200 и цветной 320x200. В цвет­ном режиме можно было отображать одновременно только четыре цвета (2 бита на пиксел).

В 1984 году появился адаптер EGA (Enhanced Graphic Adapter). Это было значительное достижение для персональных компьютеров рассматриваемого типа. Появился графический 16-цветный видеорежим 640x350 пикселов. Цвета можно было выбирать из палитры 64 цветов. В это время начали распространяться компьютерные игры с более или менее каче­ственной графикой и графические программы для работы. Однако шестнадцати цветов явно мало для отображения фотографий, а разрешающая способность недостаточна для графиче­ских пакетов типа САПР. Кроме того, видеорежим 640x350 имеет еще один недостаток - разная разрешающая способность по горизонтали и вертикали - "неквадратные пикселы".

В 1987 году появились видеоадаптеры MCGA {Multi-Color Graphic Array) и VGA (Video Graphic Array). Они обеспечивали уже 256-цветные видеорежимы.

Более популярным стал видеоадаптер VGA. Адаптер VGA имел 256-цветный графиче­ский видеорежим с размерами растра 320x200. Цвета можно было выбирать из палитры в 256 тысяч цветов. Это дало возможность полностью удовлетворить потребности отображе­ния черно-белых (в 256 градациях серого) фотографий. Цветные фотографии отображались достаточно качественно, однако 256 цветов мало, поэтому в компьютерных играх и графи­ческих пакетах активно использовался дизеринг. Кроме того, режим 320x200 тоже имеет разную разрешающую способность по горизонтали и вертикали. Для мониторов, которые использовались в персональных компьютерах типа IBM PC, необходимо, чтобы количество пикселов по горизонтали и вертикали было в пропорции 4:3. То есть, не 320x200, а 320x240. Такого документированного видеорежима для VGA нет, однако в литературе приведен пример, как создать 256-цветный видеорежим 320x240 на видеосистеме VGA. Можно за­программировать видеоадаптер, записав в его регистры соответствующие значения, и полу­чить видеорежим "X" (не путать с XGA).

Видеоадаптер VGA также имел 16-цветовой видеорежим 640x480. Это соответствует "квадратным пикселам". Увеличение разрешающей способности в сравнении с EGA не очень большое, но ощутимое, что дало новый толчок для развития графических программ на персональных компьютерах.

Дальнейшее развитие видеоадаптеров для компьютеров типа IBM PC связано с увели­чением разрешающей способности и количества цветов. Можно отметить видеосистему IBM 8514, которая была предназначена для работы с пакетами САПР. Начали появляться видеоадаптеры разных фирм, которые обеспечивали сначала видеорежимы 800x600, а по­том и 1024x768 при 16-ти цветах, а также видеорежимы 640x480, 800x600 и более - для 256 цветов. Эти видеоадаптеры стали называть SuperVGA, Чуть позже появился видеоадап­тер IBM XGA.

Первой достигла глубины цвета в 24-6ит фирма Truevision с видеоадаптером Targa 24, что позволило получить на персональных компьютерах IBM PC видеорежим True Color. Такое достижение можно считать началом профессиональной графики на персональных компьюте­рах этого типа. Там, где раньше использовали графические рабочие станции или персональ­ные компьютеры Apple Macintosh, отныне постепенно переходили на более дешевые компью­теры IBM PC. Одной из таких областей было компьютерное "настольное" издательство.

Сейчас на персональных компьютерах используется много типов видеоадаптеров. Все видеосистемы - растрового типа. Они позволяют устанавливать глубину цвета до 32 битов на пиксел при размерах растра 1600x1200 и больше. Существуют стандарты на видеорежи­мы, регламентированные VESA (Video Electronic Standards Association).

Современный видеоадаптер состоит из двух частей:

Видеопамяти - предназначена для хранения двоичного кода изображения, выводимого на экран;

Дисплейного процессора – читает содержимое видеопамяти и в соответствии с ней управляет работой дисплея.

Рис. 9.1.Видеоадаптер

В зависимости от количества поддерживаемых цветовых оттенков различают сле­дующие режимы работы видеоадаптеров:

  • 16 цветов;

  • 256 цветов;

  • High Color (16 бит);

  • True Color (24 бит);

  • True Color (32 бит).

Основными параметрами видеоадаптеров являются величина разрешения экрана и тип развертки монитора, которые они способны поддерживать.

При комплектовании компьютера в первую очередь следует обратить внимание на следующие важные характеристики видеокарты:

  • чипсет;

  • RAMDAC;

  • частота регенерации;

  • разрешение экрана;

  • память видеокарты.

Чипсет (chipset) - набор микросхем, фактически главный компонент видеокарты и от того, насколько хорошо он реализован, зависят и ценность, и возможности вашей карты. Одной из главных характеристик чипсета является его пропускная способность (bandwidth). Сегодня на рынке комплектующих можно встретить 64-битные и 128-битные видеокарты. Естественно, что последние более быстрые и более дорогие.

RAMDAC (Random Access Memory Digital to Analog Converter) - частота преоб­разования цифровых данных в аналоговые. Нормальной частотой сегодня следует считать 250 МГц, то есть произведение системой 250 миллионов операций в се­кунду. Что это означает на практике? Каждый раз, когда генерируется картинка, она обрабатывается RAMDAC и выводится на монитор. Даже если картинка не меняется, все равно изображение на мониторе нужно постоянно и с очень боль­шой скоростью обновлять. Поэтому чем выше частота RAMDAC, тем изображе­ние качественнее, то есть более четкое и устойчивое, а производительность систе­мы в целом - более высокая. От значения частоты RAMDAC зависит также частота регенерации. Нужную частоту RAMDAC можно вычислить по следующей фор­муле:

Частота = вертикальное разрешение х горизонтальное разрешение х частоту ре­генерации х 1,32 (коэффициент, связанный с той временной задержкой, с кото­рой лучи доходят от катода до поверхности люминофора).

Например, чтобы получить разрешение 1600 х 1200 с частотой регенерации экра­на 85 МГц, нам потребуется RAMDAC с частотой 215424 000 Гц, или 215,4 МГц.

Частота регенерации (refresh rate) показывает, сколько раз в секунду будет обнов­ляться картинка на экране дисплея. Чем выше его значение - тем лучше. От него зависит, как сильно будет мерцать монитор и, соответственно, насколько будут уста­вать ваши глаза при длительном сидении за компьютером. Минимальная приемле­мая частота для 14"-15" монитора при максимально возможном разрешении 75 Гц. Лучше, если монитор способен работать при частоте 80-85 Гц. Видеокарта долж­на давать солидный запас прочности, то есть при разрешении 1024 х 768 она долж­на обеспечивать 120 Гц (если вы не собираетесь использовать при этом монитор размером больше 21 дюйма по диагонали). Но лучше еще больше - 150-170 Гц.

Разрешение экрана (resolution) выше 1024 х 768 используют сегодня только про­фессионалы, занимающиеся графикой, и владельцы больших мониторов. Тем не менее хорошо, если видеокарта в силах выдерживать разрешение 1600 х 1200 при нормальной (75 Гц) частоте регенерации. Правило: больше - лучше.

Для обычной, двухмерной графики достаточно памяти видеокарты 8-16 Мбайт. Это позволит обеспечить максимально возможное разрешение 1600 х 1200 при 24-бито­вой глубине (16,7 млн. цветов). Однако в последних моделях видеокарт со встро­енными 3D-ускорителями используется дополнительная память - как минимум еще 8 Мбайт. На картах следующего поколения установлены уже 32 Мбайт памяти, и это, видимо, не предел целесообразности. Память на современных видеокартах встречается в основном двух видов - SDRAM и SGRAM, из которых последняя выполнена по более сложной технологии и поэтому стоит дороже, хотя характери­стики и быстродействие у них очень схожие.

Все видеоданные должны быть доставлены к месту назначения по широкой (64-128-разрядной) и быстрой магистрали. За пропускную способность шин, на кото­рых работают видеокарты, отвечают спецификации ISA, PCI, AGP.

Адреса, по которым процессор обращается к видеопамяти, находятся в общем адресном пространстве. Например, для многих видеорежимов VGA адрес первого байта видеопамяти равняется А0000. Для некоторых видеорежимов старых образцов используется другой ад­рес, например, В8000 для CGA 320x200.

Кроме физической организации памяти компьютера - в виде одномерного вектора бай­тов в общем адресном пространстве, необходимо учитывать логическую организацию

Рис.9.2. Один байт на пиксел для VGA 320x200

ви­деопамяти. Следует отметить, что названия "физическая" и "логическая" организация могут означать совсем разные вещи для разных уровней рассмотрения. Например, если говорить о физической организации памяти, то она в микросхемах выглядит совсем не как одномерный вектор байтов, а как матрица битов. Логическая организация видеопамяти зависит от видеорежима. В качестве примера на рис. 9.2 приведена логическая организация для видео­режима VGA 256 цветов 320x200 (его код 13h).

Н амного сложнее логическая организация видеопамяти для видеорежима

Рис. 9.3. Четыре битовых плоскости для видеорежима 16 цветов 40x480

VGA 16 цве­тов 640x480 (код 12h), которая показана на рис. 9.3.

Каждая битовая плоскость имеет 80 байтов в одном строке. Плоскости имеют одинаковый адрес в памяти, для доступа к отдельной плоскости необходимо уста­навливать индекс плоскости в соответствующем регистре видеоадаптера. Подобный способ организации видеопамяти используется во многих других видеорежимах, он позволяет, на­пример, быстро копировать массивы пикселов.

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

Обмен данными по системной шине для видеосистемы обеспечивают процессор, видео­адаптер и контроллер локальной шины. До недавнего времени для подключения видеоадапте­ров использовалась локальная шина PCI (Peripheral Component Interconnect local bus). Шина PCI предназначена не только для графики, она является стандартом присоединения разнооб­разнейших устройств, например, модемов, сетевых контроллеров, контроллеров интерфейсов. Эта шина - 32-битная, работает на частоте 33 Мгц, скорость обмена до 132 Мбайт/с.

Современные видеоадаптеры представляют собой сложные графические устройства. На плате видеоадаптера Processor Unit), который по сложности приближается к центральному процессору. Кроме визуализации кадрового бу­фера графический процессор видеоадаптера выполняет как относительно простые растро­вые операции (копирование массивов пикселов, манипуляции с цветами пикселов), так и более сложные. Там, где раньше использовался исключительно центральный процессор, те­перь все чаще применяется графический процессор видеоадаптера, например, для выполне­ния операций графического вывода линий, полигонов. Первые графические процессоры ви­деоадаптеров выполняли преимущественно операции рисования плоских элементов. Со­временные графические процессоры выполняют уже много базовых операций ЗD-графики, например, поддержку Z-буфера, наложение текстур и т. п. Видеоадаптер выполняет эти операции аппаратно, что позволяет намного ускорить их в сравнении с программной реали­зацией данных операций центральным процессором. Так появился термин графические ак­селераторы. Быстродействие таких видеоадаптеров часто измеряется количеством графи­ческих элементов, которые рисуются за одну секунду. Современные графические акселера­торы способны рисовать миллионы треугольников за секунду. Этим "интеллектуальность" видеоадаптеров не ограничивается. Недавно появились модели, которые, кроме относи­тельно простых неизменных базовых операций, способны сами выполнять небольшие про­граммы, которые могут составлять пользователи. Эти программы называются "шейдерами" (shaders). Такие возможности графических акселераторов сейчас активно используются ра­зработчиками компьютерных игр.

На рис.9.4 представим общую структуру видеоадаптера.

Рис. 9.4. Общая структура видеоадаптера

Номенклатура видеоадаптеров для персональных компьютеров широка. Несколько при­меров: видеоадаптеры Matrox (качественная двумерная графика), ATI Radeon, NVidia (про­фессиональные и игровые ЗD-акселераторы).

Использование программистами графических возможностей видеосистемы может осу­ществляться по-разному. Во-первых, простейшие операции, такие, как определение графи­ческого видеорежима, вывод пиксела на экран и некоторые другие, поддерживаются BIOS. Во-вторых, можно использовать функции операционной системы. Разные операционные системы могут предоставлять разные возможности. Например, в MS-DOS графических функций почти не было, однако программисту был разрешен свободный доступ ко всем ап­паратным ресурсам компьютера. В быстродействующих графических программах часто ис­пользовался непосредственный доступ к видеопамяти. В отличие от этого, операционная система Windows запрещает прикладным программам непосредственный доступ к аппарат­ным ресурсам, однако можно применять несколько сотен графических функций операцион­ной системы - интерфейс GDI API. В-третьих, можно использовать специализированные графические интерфейсы, которые поддерживают аппаратные возможности современных графических процессоров.

Один из известнейших графических интерфейсов - OpenGL. Этот интерфейс в виде библиотеки графических функций был разработан Silicon Graphics и поддерживается мно­гими операционными системами (в том числе Windows) и производителями графических акселераторов. Интерфейс OpenGL для графического отображения использует взаимодей­ствие типа клиент-сервер.

Другим известным графическим интерфейсом является DirectX. Этот интерфейс разра­ботан Microsoft и предназначен только для ОС Windows.