Развитие видеоподсистем
Введение Сейчас развитие видеоподсистемы идет су-масшедшими темпами, и зачастую видеоа-даптеры диктуют моду мониторам, однако на рассвете компьютерной эпохи все было совсем наоборот. Так откуда же «выросла» эта же-лезка, которая в настоящее время по стоимости мо-жет поспорить с процом? Первые мониторы, являвшиеся наследни-ками осциллографов, были векторными и не предполагали наличие видеоадаптера, ведь в них изображение строилось не посредством последовательного облуче-ния электронным пучком экрана строка за строкой, а, так сказать, «от точки до точки». Компьютер управлял отклоняю-щей системой дисплея напрямую. Однако когда вывод на монитор пришел на смену выводу на телетайп, и сложность изобра-жения увеличилась, целесообразнее ста-ло подключить компьютер к телевизору. По этому пути развития и пошли дальше мониторы. Телевизионное изображение - растровое, поэтому возникла необходи-мость в промежуточных блоках для под-готовки графической информации к отоб-ражению. Для построения картинки те-перь требовались специализированные довольно ресурсоемкие вычисления, поэтому понадобились специальные устрой-ства, ориентированные на работу с раст-ровыми мониторами, которые могли бы хранить в себе видеоинформацию, обра-батывать ее и переводить в аналоговую форму для отображения на дисплее. Основной технологией здесь можно счи-тать frame-buffer technology (технология с сохранением кадра изображения). Изна-чально в задачу видеокарты входило только сохранение и регенерация кадра, и построение целиком ложилось на центральный процессор и программу. Процес-сор рассчитывал кадр и помещал его в память видеоадаптера, который преобра-зовывал данные из видеопамяти в анало-говый вид. Основные узлы Чтобы не запутаться в дальнейшем, кратко рассмотрим основные узлы ви-деоадаптера. Видеоадаптеры состояли из следующих основных частей: графического преобразователя, контроллера атри-бутов, контроллера CRT, ПЗУ (постоянное запоминающее устройство), видеопа-мяти и синхронизатора. В первых символьных версиях видеоа-даптеров ПЗУ отсутствовало. Оно было добавлено несколько позже, и предназ-началось для хранения экранных шриф-тов, служебных таблиц и т.п. ПЗУ не ис-пользуется видеоконтроллером напря-мую - к нему обращается только цент-ральный процессор, и в результате выполнения им программ из ПЗУ происходят обращения к видеоконтроллеру и видеопамяти. ПЗУ необходимо только для первоначального запуска адаптера и работы в режиме DOS (устаревший вид операционной системы) - операцион-ные системы с графическим интерфейсом его практически не используют. В целом в ходе истории ПЗУ глобально не изменялось. Обновлялись и добавля-лись лишь данные, хранящиеся в нем. Графический контроллер - устройство, которое отвечает за обмен данными между CPU и видеопамятью, регенера-цию ее содержимого, и обработку зап-росов центрального процессора. Для исключения конфликтов при обращении к памяти со стороны видеоконтроллера и центрального процессора первый име-ет отдельный буфер, который в свобод-ное от обращений ЦП время заполняется данными из видеопамяти. Если конфликта избежать не удается - видеоконт-роллеру приходится задерживать обра-щение ЦП к видеопамяти, что снижает производительность системы. Для иск-лючения подобных конфликтов в ряде карт применялась так называемая двух-портовая память, допускающая однов-ременные обращения со стороны двух устройств. Последовательный преобразователь - выбирает данные из памяти и преобра-зует их в поток битов. Контроллер атрибутов - преобразует информацию о цвете в вид для отобра-жения монитором. Контроллер CRT - генерирует синхро-сигналы, управляющие монитором. Видеопамять - используется как буфер видеоконтроллера для промежуточного хранения и модификации изображения. Синхронизатор - обеспечивает синхрон-ную работу всех узлов адаптера, задает временные параметры и управляет дос-тупом CPU к видеопамяти. MDA Видеокарты стандарта MDA (Monochrome Display Adapter) использо-вались в IBM PC (х86 архитектура компьютера) самыми первыми, они были представлены IBM в 1981 году. MDA-адаптеры были монохромными и работали в текстовом режиме. По сути, задача сводилась к тому, чтобы «распе-чатать» на мониторе текст, как на прин-тере. Экран монитора условно был «разбит» на определенное количество строк и столбцов. В каждой позиции мог выводиться только один символ. В ПЗУ видеоадаптера хранились символы в ви-де двоичных матриц соответственно яр-ких и неярких точек. Символ представ-лялся в виде матрицы 9x14 точек. Мони-тор, однако, облучает строчку экрана за строчкой, поэтому адаптер сохранял в память всю символьную строку, транс-лировал отдельные символы в матрицы и преобразовывал их в матрицу строки. Для преобразования кодов символов в двоичные матрицы служил так называе-мый знакогенератор. При получении ко-да символа знакогенератор формиро-вал на своем выходе соответствующий двоичный код. Дальше каждая строчка матрицы символьной строки передава-лась в монитор, который засвечивал со-ответствующие точки люминофора. Что-бы построение изображения было воз-можным, видеоадаптер также генериро-вал синхросигнал, который задавал час-тоту строчной развертки. Однако, в от-личие от принтера, на мониторе изобра-жение необходимо регенерировать, поэ-тому программе постоянно приходилось посылать страницу «на печать» в порт монитора. Текстовый режим в современных опера-ционных системах используется только на этапе начальной загрузки. Но именно MDA мы обязаны текстовому режиму 80 столбцов на 25 строк, который исполь-зуется и до сих пор. Это соответствова-ло разрешению 720x350 точек, частота регенерации кадра составляла 50 Гц. Стандартный набор состоял из 256 сим-волов, очертания которых хранились в ПЗУ, с помощью платы расширения па-мяти фирмы IBM можно было расши-рить набор до 512 символов. IBM graph-ics memory module kit позволял увели-чить его до 1024 символов. Hercules В то же время выпускается монохром-ный адаптер высокого разрешения - Hercules. Это первый графический адаптер, то есть кадр строится в видеопамяти, а адресация осуществляется к каждой точке. HOC (Hercules Graphics Card), так же, как и MDA, поддерживал текстовый режим. Этот адаптер получил большое распространение при работе с электрон-ными таблицами для построения графи-ков и диаграмм, но в силу своей монохромности дальше не поддерживался. Од-нако очень долгое время данный адаптер к одному компьютеру. Так, поставив CGA/EGA/VGA и Hercules, можно было работать с двумя мониторами. Актуально это было до 1996 года, пока не появились видеокарты, поддерживающие два мони-тора. CGA На смену MDA в 1982 году пришел стан-дарт CGA (Color Graphics Adapter) и при-вел за собой жесткую стандартизацию. Это была первая революция в видеоадап-терах. Видеоадаптеры CGA были цветны-ми и графическими (если быть точнее, они поддерживали как символьный, так и графический вывод). Графический кадр сохранялся в видеопамяти, а затем транс-лировался в монитор. Цвет пикселя зада-вался цифровыми сигналами, определяв-шими уровень яркости для соответствую-щих RGB-пушек, а уже логика монитора преобразовывала их в аналоговую фор-му. Палитра CGA состояла из 1 6 цветов. При разработке CGA главной задачей была универсальность, а потому исполь-зовалась стандартная частота развертки - 60 Гц. Камнем преткновения на этом этапе была видеопамять, точнее, ее объем. Дело в том, что модули памяти в то время были дико дорогими, поэтому CGA-адаптеры стандартно комплектова-лись 16 Кб видеопамяти. И ес-ли в текстовом режиме 80x25 символов (то есть 640x200 пикселей) видеокарта могла вы-водить все 16 цветов, то в графическом хватало лишь на то, чтобы одновремен-но выводить только 4 цвета, причем не любые, а только стандартные палитры. С этого момента все узлы адаптера ста-ли работать на частоте кадровой разве-ртки, так как возникали конфликты с ви-деопамятью, проявляющиеся в виде «снега» на экране. В текстовом режиме размер матрицы символа был 9x14 точек, однако можно было установить размер матрицы 8x8, что хотя и ухудшало восприятие текста, но зато позволяло разместить на экра-не больше информации. EGA Однако первой видеокартой, способной воспроизводить нормальное цветное изображение, был EGA-адаптер (Enhanced Graphics Adpter), представлен-ный IBM в 1984 году. EGA поддерживал 16 цветов и разрешение до 640x350 точек. Также поддержива-лись CGA режимы: 640x200 и 320x200. Первые карты могли работать с монито-рами обоих типов. Переключение между режимами осуществлялось при помощи dip-переключателей на задней планке видеоадаптера. Также поддержи-вались и текстовые режимы. Стандарт-ный объем видеопамяти составлял 64 Кб. В более поздних EGA-клонах фирм ATI Technologies и Paradise с объемом памяти 256 Кб были доступны режи-мы: 640x400, 640x480 и 720x540. Видеопамять была разделена на четыре банка (четыре цветовых слоя). Таким образом, по од-ному адресу располагалось четыре бай-та. Процессор мог заполнять их однов-ременно. В результате скорость запол-нения кадра значительно увеличилась. Отличительной чертой от предыдущих видеоадаптеров было добавление в ПЗУ видеокарты не графических прими-тивов, а наборов инструкций для их построения, что ознаменовало зарожде-ние ускорителей. Частота регенерации кадра осталась 60 Гц. Интерфейс с мо-нитором по-прежнему цифровой. MCGA Сейчас мало кто знает про Multi Colour Graphics Array. Этот тип видеоадаптеров не был особо распространен. Причиной тому явилась политика IBM, которая изобрела и ввела этот стандарт в рам-ках стандарта PS/2. Лицензии на произ-водство данного типа карт компания не давала, поэтому MCGA не стал общим стандартом. Список поддерживаемых 640x400 (текст). Количество воспроизводимых оттенков в текстовом режиме составило 262144. Графи-ческий режим характеризовался разрешением 320x200 пикселей при 64 Кб видеопамяти. VCA Поистине революционным стандартом можно считать стандарт VGA (Video Graphics Array), представленный все той же IBM в 1987 году. Революцией явля-лось появление цифро-аналогового пре-образователя в VGA-адаптерах. Это бы-ло связано с переходом от цифрового управления монитором к аналоговому. Все дело в том, что VGA-видеокарта могла отображать значительно больше оттенков, чем видеоадаптеры всех пре-дыдущих стандартов: теперь для кодиро-вания каждого цвета требовалось не 2 бита, а целых 6, то есть 18 проводов на цвета, плюс один провод на сигнал синх-ронизации, что, согласись, нецелесооб-разно. Поэтому в монитор стали передавать аналоговый сигнал, от уровня которого зависел уровень яркости соответ-ствующей RGB-пушки. В связи с этим возникла необходимость установить на видеоадаптер цифро-аналоговый преоб-разователь. Вместе с VGA появилось несколько более знакомое всем сокра-щение RAMDAC (Random Access Memory Digital to Analog Converter). VGA-адаптеры комплектовались 256 Кб видеопамяти и поддерживали следую-щие режимы: 640x480 - 16 цветов, 640x400 - 16 цветов, 320x200 - 16 цве-тов и 320x200 - 256 цветов. Палитра VGA составляла 262144 оттенков (2Л18, по 64 уровня яркости на каж-дый RGB-цвет). Начиная с этого адаптера, применяются разрешения с соотношением сторон 4:3. VGA был одним из самых клонируе-мых стандартов и последней коммер-чески успешной разработкой IBM в области видеокарт. XGА В конце октября 1990 года фирма IBM объявила о выпуске видеоадап-тера XGA Display Adapter для системы PS/2, а в сентябре 1992 года - представи-ла XGA-2. Оба устройства - 32-разряд-ные адаптеры с возможностью передачи им управления шиной (bus master - фак-тически, это адаптер со своим собствен-ным процессором, который может работать независемо от системной платы), предназначались для компьютеров с ши-ной MCA (Microchanel Architecture -собственный стандарт IBM). Один из не-достатков реализаций XGA - использо-вание развертки с чередованием в ре-жимах высокого разрешения. Это позво-ляло снизить стоимость системы за счет более дешевого монитора, но на экране появлялось мерцание из-за снижения частоты регенерации. В стандарте XGA-2 чересстрочная развертка уже не при-менялась. В адаптерах XGA и XGA-2 ис-пользовалась видеопамять типа VRAM, что позволило увеличить производитель-ность. XGA поддерживал следующие разрешения: 1024x768 - 256 цветов, 640x480 - high color (16-битный цвет, или 65536 оттенков). XGA-2 дополнительно поддерживал 1024x768, high color и вы-сокую частоту регенера-ции, а также 1360x1024, 16 цветов. SVGA С появлением видеоадаптеров XGA конкуренты IBM решили не копировать эти расширения VGA, а начать выпуск более дешевых видеоадаптеров с раз-решением, которое выше разрешения IBM. Эти видеоадаптеры образовали категорию Super VGA (SVGA). Посколь-ку SVGA-карты не были так же хорошо стандартизированы, как VGA, они отли-чаются, мягко говоря, большим разно-образием. Чтобы использовать все воз-можности большинства плат, был необ-ходим драйвер для конкретной видеоп-латы. В октябре 1989 года ассоциация VESA (Video Electronic Standards Association), учитывая все сложности, предложила стандарт для единого программного интерфейса с этими пла-тами. В эту ассоциацию вошли представители большинства компаний, выпускающих аппаратуру для ПК, в том числе и аппаратуру отображения. Но-вый стандарт был назван VESA BIOS Extension. Если видеоадаптер удовлет-воряет этому стандарту, программно можно легко определить его специфи-ческие соответствия и использовать их в дальнейшем. Существующий стан-дарт VESA на платы Super VGA предус-матривает использование практически всех распространенных вариантов фор-товых оттенков, вплоть до разрешения 1280x1024 при 16777216 оттенках (high color). Отличительной чертой SVGA является встроенный графический акселератор, который присутствовал практи-чески на всех SVGA-видеоадаптерах. Его появление связано с развитием графических ОС и, в частности, MS Windows.
Страницы: 1, 2
|