Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция 6 Интерфейсы и адаптеры .doc
Скачиваний:
29
Добавлен:
01.05.2015
Размер:
334.85 Кб
Скачать
  1. Адаптеры дисплеев.

Дисплейным адаптером называется блок компьютера, к которому подключается дисплей.

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

Расширенный круг задач может включать и воспроизведение на экране того же монитора «живого» видео из потока данных, полученного от компьютера или от какого-либо источника телевизионного сигнала.

2.1. Функциональная схема графического адаптера.

Рассмотрим функциональную схему графического адаптера (рис. 6.2), которая с некоторыми добавлениями или исключениями применима практически ко всем адаптерам, применяемым в PC.

Рис. 6.2. Функциональная схема графического адаптера

Контроллер ЭЛТ (CRT Controller) обеспечивает согласованное формирование сигналов сканирования видеопамяти (адрес и стробы чтения) и сигналов вертикальной и горизонтальной синхронизации монитора.

Видеопамять — это специальная область памяти, из которой контроллер ЭЛТ организует циклическое чтение содержимого для регенерации изображения.

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

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

Синхронизатор, появившийся с адаптером EGA, позволяет синхронизировать циклы обращения процессора к видеопамяти с процессом регенерации изображения.

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

Блок внешнего интерфейса связывает адаптер с одной из шин компьютера.

Блок интерфейса монитора формирует выходные сигналы соответствующего типа (RGB-TTL, RGB-Analog, композитный видео или S-Video).

Расширение BIOS функции выполняются через вызов программного прерывания Int 10 hвидеосервис BIOS.

Контроллер ЭЛТ должен обеспечивать требуемые частоты развертки и режимы сканирования видеопамяти, которые зависят от режима отображения (графический или текстовый) и организации видеопамяти. Опорной частотой для работы контроллера является DotCLK — частота вывода пикселов в графических режимах или точек разложения символов в текстовом режиме.

Видеопамять

Необходимый объем видеопамяти определяется желаемым графическим режимом (в текстовом режиме потребуется всего несколько килобайт). Требуемые объемы для одной страницы различных видеорежимов приведены в табл. 6.1. Если взять удвоенное значение этого объема, то многие адаптеры позволят организовать двухстраничный режим с переключением буферов, что полезно для вывода динамичных изображений. У адаптеров с ЗD-акселераторами потребности в памяти выше, они имеют 8-128 Мбайт.

Таблица 6.1. Разрешение и требуемый объем видеопамяти

Бит/ пиксел

Количество цветов

640x480

800x600

1024x768

1280x1024

4

16

150 Кбайт

234 Кбайт

384 Кбайт

640 Кбайт

8

256

300 Кбайт

469 Кбайт

768 Кбайт

1,25 Мбайт

15

32 768

600 Кбайт

938 Кбайт

1,5 Мбайт

2,5 Мбайт

16

65 536

600 Кбайт

938 Кбайт

1,5 Мбайт

2,5 Мбайт

24

16 777 216

900 Кбайт

1,37 Мбайт

2,25 Мбайт

3,75 Мбайт

32

16 777 216

1,172 Мбайт

1,83 Мбайт

3,0 Мбайт

5,0 Мбайт

В режиме 32 бит/пиксел для цветопередачи используются только 24 младших бита.

Кроме аппаратно выделенной видеопамяти, устанавливаемой на графических адаптерах, существует и архитектура унифицированной памяти UMA (Unified Memory Architecture). При таком подходе под видеобуфер выделяется область системного ОЗУ, что позволяет несколько удешевить компьютер. Эта экономия приводит к снижению производительности, как графической подсистемы, так и компьютера в целом. Диаметрально противоположным подходом, нацеленным на повышение производительности, является не просто выделение видеопамяти, а еще и применение в ней микросхем со специальной архитектурой — VRAM, WRAM, MDRAM, RDRAM, SGRAM.

В графическом режиме возможны разнообразные варианты организации видеопамяти.

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

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

В адаптере EGA применены уже настоящие программируемые регистры палитр, позволяющие каждому из 16 возможных кодов, задаваемых четырьмя битами цветовых слоев, поставить в соответствие один из 64 возможных цветов, отображаемых монитором EGA. На рис. 6.2 левая часть иллюстрирует преобразование битов с условными названиями R, G, В, I в сигналы интерфейса монитора EGA. Название битов условно потому, что в регистры палитр могут быть загружены произвольные значения реальных выходных цветов, кодируемых интерфейсными сигналами Rr, Gg и Bb. С появлением адаптеров VGA, способных задавать большое (256 и более) количество цветов, схему цве-тообразования усложнили. Теперь на плату графического адаптера из монитора переведены цифроаналоговые преобразователи (ЦАП) сигналов базисных цветов, и появилась возможность отображения чуть ли не бесконечного количества оттенков, кодируемых аналоговыми сигналами. Однако реальное число цветов ограничивается разрядностью ЦАП базисных цветов, которая поначалу составляла 6 битов на каждый канал, что позволяет задавать 218

Для того чтобы отобразить 256 кодов цвета (8 битов на пиксел), в эти 218 цветов ввели программируемые регистры ЦАП, с помощью которых каждому из 256 кодов ставится в соответствие свой набор битов, посылаемый на схемы цветов.

ЦАП базисных цветов. Функционально оказалось целесообразным объединить эти регистры, представляющие собой небольшое быстродействующее ОЗУ (RAM), вместе с преобразователями (DAC — Digital-to-Analog Converter, цифро-аналоговый пре­образователь). Эта функциональная сборка в настоящее время исполняется в виде микросхем RAMDAC. Схему преобразования с использованием RAMDAC иллюстрирует правая часть рис. 6.2. Номер регистра RAMDAC, из которого берется цвет текущего отображаемого пиксела, в режиме 256 цветов задают 8-битным кодом цвета пиксела (в видеопамяти).

При работе в 16-цветном режиме EGA и 2-4-цветном режиме адаптер VGA использует регистры палитр, на выходе которых получается 6-битный код цвета. Старшие два бита добавляются из регистра цвета, с помощью которого можно переключать палитру сразу для всех цветов. В этих режимах регистры RAMDAC функционально дублируют регистры палитр. Лишнюю ступень косвенности можно сгладить, беря на вход RAMDAC только 4 бита с выхода регистра палитр, а из регистра цвета брать уже 4 бита. Тогда в сами регистры палитр целесообразно загрузить их номера, что обеспечит линейное преобразование (4 бита из слоев пройдут через регистры палитр без изменений).

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

Цифровой

ИЛИ

Рис. 6.2. Схема преобразования цветов через регистры палитр и RAMDAC

Казалось бы, что для режимов High Color (15-16 бит/пиксел), а тем более True Color (24 бита), табличное преобразование цветов уже не требуется, и биты каждого цвета можно подавать прямо на входы своего ЦАП. Однако если перед каждым ЦАП поставить отдельный блок регистров — ОЗУ объемом 256 х 8, ад­ресуемое битами данного цвета, то можно выполнять гамма-коррекцию цвета аппаратными средствами адаптера. Гамма-коррекция требуется для увязки способностей цветопередачи дисплея с линейной математической моделью цветообразования, используемой графическими приложениями. У аналогового монитора на ЭЛТ передаточные характеристики цветовых каналов нелинейные и имеют вид, аппроксимируемый функцией Y = Xγ, где X — входной сигнал, а γ = 2,2 (это и есть «гамма»). В RAMDAC загружают таблицу, с помощью которой в выходной сигнал вводятся предискажения, компенсирующие нелинейность дисп­лея. Однако разные типы дисплея могут иметь разные передаточные характеристики, что для особо высоких требованиях к верности цветопередачи должно учитываться при программировании RAMDAC. Возможность загрузки RAMDAC для всех режимов была потребована уже в спецификации РС99.

Микросхемы RAMDAC характеризуются разрядностью преобразователей, которая может доходит до 8 бит на цвет, и предельной частотой выборки точек (DotCLK), с которой они способны работать. Естественно, что чем точнее должно быть преобразование, тем труднее его выполнить быстро. Трудности и высокая стоимость достижения высокого разрешения при высокой частоте строчной (прогресивной) развертки (эти факторы требуют высокого быстродействия RAMDAC) с большой глубиной цвета (требующей высокой точности преобразования) связаны и с этой причиной. Современные графические адаптеры, ориентированные на высокое разрешение и высокую частоту развертки, имеют RAMDAC с частотой порядка 350 МГц и даже выше.

Знакогенераторы адаптеров EGA и VGA размещаются во втором слое видео­памяти и поэтому программно доступны. При инициализации адаптера они за­гружаются из образов, хранящихся в ПЗУ расширения BIOS, установленных на платах графических адаптеров. Адаптер EGA позволяет одновременно хранить до четырех таблиц по 256 символов, a VGA — до восьми. Активной (используемой для отображения) может быть либо одна из них, либо сразу две. В последнем случае набор одновременно отображаемых символов расширяется до 512, а одна из двух таблиц, используемых для конкретного символа, определяется битом 3 его байта атрибутов.

Таблицы имеют 32-байтную развертку каждого символа в формате 16 х 16, из которой в EGA используется матрица 8 х 14, а в VGA — 9x16. Если таблицу знакогенератора (шрифты) для EGA загрузить в VGA, символы будут выглядеть мелковато, а в линиях, нарисованных символами псевдографики, появятся разрывы. Если же шрифты для VGA загрузить в EGA, то символы будут выглядеть усеченными (особенно снизу). Программная доступность знакогенератора снимает необходимость аппаратной русификации адаптера, но при желании можно переписать русифицированные шрифты в BIOS графического адаптера (не забыв исправить контрольную сумму в последнем байте ПЗУ). Такая процедура избавит от необходимости загрузки резидентного русификатора, занимающего место в памяти. Поскольку знакогенератор расположен в одном из слоев видео­памяти, после использования большинства графических режимов его содержи­мое приходится перезагружать, а встроенный драйвер BIOS по умолчанию возьмет образ, хранившийся в ПЗУ адаптера. Если туда подставить нужный шрифт, то дополнительный драйвер экрана не потребуется.

Графический процессор работает с четырехслойной моделью организации видеопамяти Адаптеры EGA и VGA имеют четыре 8-битных регистра-защелки, в которых фиксируются данные из соответствующих им цветовых слоев при выполнении любой операции чтения видеопамяти. В последующих операциях записи в формировании данных для каждого слоя могут принимать участие данные от процессора (1 байт) и данные из регистров-защелок соответствующих слоев. Данные от процессора могут быть предварительно циклически сдвинуты. Над данными от процессора (возможно, сдвинутыми) и из регистров-защелок могут выполняться логические операции И, ИЛИ и ИСКЛЮЧАЮЩЕЕ ИЛИ. Кроме того, вместо результатов этих операций в некоторые слои могут быть записаны байты нулей или единиц. Регистр битовой маски позволяет побитно управлять источником записываемых данных: если бит регистра маски имеет нулевое значение, то в видеопамять этот бит во всех слоях будет записан из регистра-защелки. Данные от процессора (логически обработанные) будут поступать только для бит с единичным значением маски. И наконец, запись будет производиться только в разрешенные слои, правда, функция разрешения слоев относится уже к синхронизатору.

Управление

ПК

Рис. 8.10. Тракт записи графического контроллера EGA/VGA

При чтении графический контроллер может задать номер читаемого слоя.

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

Рис. 8.11. Считывание со сравнением цвета

Всеми функциями графического контроллера управляют через его регистры. Конечно, возможно и прямое обращение к отдельному цветовому слою как по чтению, так и по записи. Но знание возможностей графического контроллера позволяет многие часто используемые функции возложить на его аппаратные средства. Однако если такой аппаратный графический контроллер еще прием­лем для четырехслойной организации (4 бита на пиксел), то для более глубоких цветов (8 бит на пиксел и более) он будет уже слишком громоздким. В современных адаптерах функции графического контроллера, существенно расширенные по сравнению с EGA и VGA, выполняются встроенным микропроцессором — графическим акселератором.

Синхронизатор. Адаптеры имеют собственные кварцованные генераторы синхронизации (иногда и по несколько). От внутреннего генератора вырабатывается частота вывода пикселов DotClock (DotCLK), относительно которой строятся все времен­ные последовательности сканирования видеопамяти, формирования видеосигна­лов и синхронизации монитора. В то же время процессор обращается к видеопа­мяти асинхронно относительно процесса регенерации. В задачу синхронизатора входит согласование этих асинхронных процессов. В адаптерах SVGA для шины PCI в качестве опорной для некоторых видеорежимов может использоваться ча­стота 33 МГц прямо с шины, а циклы обращения процессора и так уже привяза­ны к этому синхросигналу. Таким образом, задача синхронизатора упрощается. Шина PCI допускает частоты и 30 и 25 МГц, а при частоте системной шины 83 МГц частота PCI может стать уже 41,5 МГц.

Внутренняя шина Типовая разрядность канала данных у этой шины сейчас состав­ляет 32 и 64 бит. Однако реально используемая разрядность может оказаться меньше, если установлены не все предусмотренные микросхемы видеопамяти.

Блок внешнего интерфейса. Если раньше для графических адаптеров предназначалась шина ISA (8 или 16 бит), то современные графические адаптеры используют в основном высокопроизводительные шины.

Блок интерфейса монитора отвечает и за диалог с монитором: в простейшем случае — чтение бит идентифи­ации (для VGA-мониторов), а в более сложном — обмен данными по каналу DDC. Идентификация типа подключенного монитора VGA может производиться и по уровню видеосигнала на выходах красного или синего цвета: монитор имеет терминаторы (75 Ом) на каждом из аналоговых входов. Такая нагрузка при подключении снижает напряжение выходного сигнала.

Видеокомпоненты пока еще не стали обязательными принадлежностями дисплейного адаптера. Они могут включать аппаратную поддержку различных ко­деков (чаще всего — MPEG-плейер), средства поддержки видеооверлеев, фрейм-граббер, TV-тюнер.

Первые графические адаптеры строились на базе контроллера ЭЛТ (6845), обрамленного массой микросхем средней степени интеграции. В современных дисплейных адаптерах применяются наборы специализированных интегральных схем высокой степени интеграции — графические и видеочипсеты. Эти микро­схемы вместе с применяемыми микросхемами видеопамяти определяют основ­ные характеристики адаптеров.

Видеосервис позволяет устанавливать и переключать видеорежим, выполнять вывод символов и пикселов, очищать и прокручивать экран универсальными способами, без особой оглядки на установленный видеорежим, и выполнять некоторые другие функции. Видеосервис BIOS необходим по крайней мере до загрузки операционной системы, которая в дальнейшем может работать с графическим адаптером и напрямую, через собственные загружаемые драйверы, специфические для конкретного адаптера. Драйверы для адаптеров MDA и CGA по традиции встроены в системную BIOS (по крайней мере у всех компьютеров, имеющих шину ISA). Программная поддерж­ка графических адаптеров, интегрированных в системную плату, также встроена в системную BIOS. Все остальные адаптеры имеют собственный модуль расширения BIOS (Video BIOS), в котором хранятся коды драйверов видеосервиса (INT 10h) и таблицы знакогенераторов. Этот модуль появился с адаптерами EGA и VGA и обеспечивает возможность установки любой карты, не задумываясь о проблемах программной совместимости. Модуль расширения получает управление для инициализации графического адаптера почти в самом начале теста POST (до тестирования основной памяти), и его заставка появляется на экране до заставки системной BIOS. Модуль имеет начальный адрес C0000h, его размер зависит от модели адаптера.