Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Дисплейная подсистема IBM PC



Компоненты растровых дисплейных систем

 

Анализируя тенденции развития архитектур растровых графических рабочих станций (ГРС), ориентированных на интерактивную графику можно отметить, что за последние годы сформировалась и стала традиционной архитектура, включающая центральный процессор и растровую графическую дисплейную подсистему. Центральный процессор выполняет функции обмена информацией между ГРС и внешним миром (базовой ЭВМ или вычислительной сетью), диспетчеризации потоков данных между компонентами рабочей станции и предварительной обработки данных. Растровая графическая дисплейная система осуществляет функции формирования и модификации наборов данных в памяти изображения (видеопамяти) и управляет режимами вывода графической информации на растровый монитор.

Растровая графическая система современной архитектуры состоит из следующих функциональных компонент:

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

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

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

 

Видеопамять

 

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

Так как каждый элемент видеопамяти определяет один элемент отображения размером в точку на экране монитора, то каждая точка экрана (и соответствующий ей элемент видеопамяти) обозначаются термином пиксел (pixel - picture element).

 

Регенерация видеопамяти

 

Задача системы вывода изображений (видеоконтроллера) состоит в циклическом построчном просмотре экранного буфера от 25 до 100 раз в секунду. Адреса видеопамяти генерируются синхронно с координатами растра и содержимое выбранных пикселов используется для управления цветом и интенсивностью луча. Общая организация системы вывода изображений приведена на рис.1.

Генератор растровой развертки формирует сигналы отклонения и управляет адресными X и Y регистрами, определяющими следующий элемент буфера регенерации.

 
 

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

Частота регенерации для графических дисплейных систем среднего разрешения лежит в пределах 50 Мгц, а для систем высокого разрешения достигает 100-125 Мгц, с явной тенденцией к частотам более 125 Мгц в последнее время. При таких частотах таймирование регенерации экранного буфера становится важной задачей при проектировании подсистемы графического вывода. Так как обычная DRAM память не обеспечивает времени доступа, подходящего для существующих мониторов высокого разрешения, то регенерация видеопамяти на таких частотах требует ее специальной организации. Пример организации видеопамяти, построенной на обычной динамической памяти с произвольным доступом (DRAM) приведен на рис.2.

 
 

 

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

Если частота регенерации экранного буфера составляет порядка 100 Мгц, то такое параллельно-последовательное преобразование уменьшает требования к частоте тактирования параллельно считываемого слова из экранного буфера видеопамяти до 6,25 Мгц, что требует времени доступа порядка 160 нс. При такой организации видеопамяти манипуляции с данными и обновление экрана должны происходить во времена межстрочного и межкадрового интервалов, когда регенерации не происходит. Таким образом, узкое место для обычной DRAM памяти в качестве видеопамяти в графических дисплейных системах вытекает из двух противоречивых требований:

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

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

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

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

Однако лучшее решение этой проблемы достигается за счет применения нового типа DRAM памяти, получившей название VRAM (Video Random Accses Memory), разработанной специально для использования в качестве памяти изображения в растровых дисплейных системах. Структурная схема подобной памяти приведена на рис.3.

 
 

 

Эта видеопамять содержит 2 порта, обеспечивая независимый доступ со стороны видеоконтроллера для регенерации и аппаратуры формирования изображений - графических процессоров. VRAM фактически представляет собой обычную DRAM память, которая была "внутренне" модифицирована посредством добавления сдвигового регистра. D и Q – это обычные входы и выходы порта с произвольной выборкой. Сигнал TR активируется на время передачи данных между сдвиговым регистром и видеопамятью. Сигналы SIN и SOUT – последовательные вход и выход сдвигового регистра, а сигнал SCLK - последовательный вход, управляющий сдвиговым регистром. Сдвиговый регистр загружается параллельным потоком в 256 бит из массива памяти за один цикл регенерации экрана. Длительность этого цикла не длиннее, чем стандартный цикл памяти. Обычно сдвиговый регистр загружается 1 раз во время обратного хода луча. Когда обратный ход заканчивается, на вход SCLK подается сигнал, вызывая сдвиг данных на последовательном выходе SOUT.

На рис.3 показан модуль видеопамяти объемом 64 Кбайт. Видеопамять объемом 256 Кбайт может быть построена из 4 модулей по 64 Кбайт.

В этом случае выходы SOUT от нескольких VRAM модулей подаются на параллельные входы внешнего сдвигового регистра, последовательный выход (CLK) которого тактируется со скоростью вывода точек (видеопотока битов), требуемой для регенерации экрана монитора.

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

Таким образом, применение VRAM обеспечивает практически полное время доступа для модификации данных видеопамяти, так как на одну строку сканирования растра требуется одна загрузка сдвигового регистра. Следовательно, в то время как предварительно загруженные видеоданные "выталкиваются" из сдвигового регистра в канал графического вывода, одновременно может осуществляться произвольный доступ к видеопамяти со стороны графических процессоров для модификации изображения.

 

Модификация данных в видеопамяти

 

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

 
 

 

Каждый пиксел, выводимый на экран монитора, состоит из отдельных битов видеопамяти, находящихся внутри куба.

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

 

Архитектура "в глубину"

 

При такой организации видеопамяти обрабатываемые в каждый момент данные есть пикселы. В этом случае для многих слоев видеопамяти, генерируемый адрес вызывает слово данных, представляющих композицию битов "сквозь" слои, составляющие видеопамять (отсюда появился термин "глубина пиксела" - "pixel depth"). Такая архитектура применяется в системах высокого разрешения, предназначенных для обработки цветной трехмерной графической информации, например, в обработке изображений и моделировании структур твердых тел, т.е. там где значения каждого пиксела подвергаются интенсивным вычислениям. Эти применения, как правило, требуют "глубины пиксела" от 8 до 22-24 бит. В архитектуре "в глубину" данные в видеопамяти обрабатываются поэлементно. В случае использования для воспроизведения изображений, состоящих из нескольких цветовых плоскостей, адрес, направляемый в экранный буфер, генерирует слово данных, составленное из битов, представляющих собой одноименные разряды требуемых разрядных матриц.

 

"Слойная" архитектура

 

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

Чтобы изменить один разряд слова видеопамяти, вместе с ним необходимо передать и оставшиеся 15 разрядов. Кроме того, для того чтобы обеспечить позиционирование и перемещение изображения с точностью до бита и с удовлетворительной скоростью, требуется специализированная аппаратура, осуществляющая быстрые сдвиги и "слияния" цепочек битов видеопамяти ("barrell shifter"). Однако, несмотря на это условие, "слойные" архитектуры видеопамяти являются наиболее популярными в интерактивных 2D системах, так как требуют менее интенсивных вычислений значений пикселов (по сравнению с архитектурой "в глубину"), но более интенсивных вычислений при создании и перемещении изображения. Такие архитектуры видеопамяти часто находят применение в системах обработки инженерной и экономической информации, поскольку для них характерен значительный объем операций, связанных с манипуляциями данными и перемещением изображения.

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

 

"Смешанная" архитектура

 

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

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


Дисплейная подсистема IBM PC

 

Дисплейная подсистема IBM PC состоит из двух основных компонент: видеоадаптера и монитора.

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

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

Первоначально IBM PC выпускались с черно-белым (монохромным) адаптером MDA (Monochrome Display Adapter) (1981 г.). Он использовался только в текстовом режиме (80х25). Матрица символа – 9×14. Максимальное разрешение составляло 640×350 точек. Еще один монохромный (чаще всего желтый цвет монитора) видеоадаптер "Hercules", выпущенный фирмой Hercules Computer Technology Inc (1982 г.). Этот адаптер обеспечивал в графическом режиме разрешение 720×348.

Первым цветным видеоадаптером фирмы IBM стал CGA (Color Graphics Adapter) (1981 г.). В текстовом режиме (40×25 и 80×25) использовалось 16 цветов. Матрица символа - 8×8. Графический режим (320×200 – 4 цвета из палитры в 16, 640×200 – 2 цвета).

Видеоадаптер EGA – (Enhanced Graphics Adapter) (1984 г.). В текстовом режиме (40×25, 80×25, 80×43) использовалось 16 цветов из 64. Матрица символа составляет 8×14 пикселов. Графический режим (640×350 – 16 цветов из палитры в 64).

Первым видеоадаптером со сравнительно приемлемыми характеристиками стал VGA (Video Graphics Array) (1987 г.) с максимальным разрешением до 800×600 при 256 цветах.

Затем фирма IBM разработала видеоадаптер 8514/A, обеспечивающий разрешение 1024×768 при 256 цветах.

Последняя разработка фирмы IBM – видеоадаптер XGA (eXtended Graphics Array) (1991 г.) с разрешением 1024×768 при 256 цветах. Он на уровне регистров совместим с VGA.

Многие фирмы выпускают улучшенные версии VGA под названиями Super VGA и Ultra VGA, обеспечивающие отображение большего количества цветов и большую разрешающую способность. Чтобы исключить неточности, решено было классифицировать SVGA не по разрешению (больше 640×480 VGA), а по количеству памяти (более 256К), т.к. 256К хватает для 800×600×16. Объем ОЗУ, необходимый для обеспечения того или иного графического режима определяется разрешением и количеством одновременно отображаемых цветов. Для 16 цветов – 4 бита на точку, 256 – 8 бит, 65536 (HighColor) – 16 бит, 16777216 (TrueColor) – 24 бита на пиксел (табл. 1).

Количество цветов – не такой бесполезный параметр, как кажется на первый взгляд. Для математических и инженерных задач, САПР, диаграмм в электронных таблицах 16 цветов вполне достаточно, главную роль играет разрешение: чем больше – тем лучше. Но для демонстрационной графики, анимации, фоторетуширования, игр количество цветов играет огромную роль. Уже при 256 цветах плавное изменение цвета сглаживает шероховатости (anti-aliasing) и дает иллюзию реальности.

Таблица 1.

Необходимый объем памяти видеоадаптера,

обеспечивающий требуемое разрешение монитора

Режим точек Число цветов 24 28 216 224
16 цветов 256 цветов цветов 16.7 млн. цветов
320×200 32000* 128000* 192000*
640×350 224000* 448000* 672000*
640×480
800×600
1024×768
1280×1024
1600×1200

* – не стандартные режимы

 

Фирма Texas Instruments предложила стандарт на программный интерфейс с интеллектуальными видеоадаптерами, использующими графические процессоры TMS 340xx (TIGA-стандарт, Texas Instruments Graphics Architec- ture). В настоящее время это самые мощные видеоадаптеры для IBM PC.

 

Таблица 2.

Характеристики видеоадаптеров IBM PC

Адаптер Подключение Разрешение Развертка Цветов
кадровая, Гц строчная, Гц
MDA TTL 720×350 18.43 -
HGC TTL 720×348 18.43 -
CGA RGB/TTL 640×200 15.75
EGA RGB/TTL 640×350 21.85
EGA+ RGB/TTL 640×480 30.50
VGA RGB/аналог 640×480 60/70 31.47
8514/A RGB/аналог 1024×768 35.50
XGA RGB/аналог 1024×768 37.50
SVGA-1 RGB/аналог 800×600 35.20
SVGA-2 RGB/аналог 800×600 37.80
Продолжение таблицы 2.
SVGA-3 RGB/аналог 800×600 48.30
UVGA-1 RGB/аналог 1024×768 48.40
UVGA-2 RGB/аналог 1024×768 56.50
UVGA-3 RGB/аналог 1280×960 64.00
TIGA RGB/аналог 1280×1024 64.00 64 млн.

 

Рассмотрим структуру видеоадаптеров EGA и VGA, которая легла в основу построения современных аппаратных средств видеосистем персональных компьютеров. На рис.5 показана схема, общая для этих двух адаптеров, на рис.6 – схема, демонстрирующая отличия для VGA, связанные с использованием аналогового дисплея.

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

 
 

 

Видеопамять имеет объем, как правило 256 Кбайт, но для EGA может быть и 64 Кбайт. Видеопамять разбита на 4 банка (цветовых слоя). Банки занимают одно адресное пространство таким образом, что по каждому адресу расположено сразу 4 байта по одному байту в каждом слое. Можно запрещать или разрешать запись в отдельные слои памяти при помощи регистра разрешения записи цветового слоя. Для операции чтения в каждый данный момент времени может быть доступен только один слой, задаваемый с помощью регистра выбора читаемого слоя. В большинстве режимов работы видеопамять разделена на несколько страниц. При этом одна из них активна и отображается на экране. Запись информации возможна как на активную, так и на неактивные страницы.

 
 

 

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

Контроллер атрибутов, используя таблицу цветности, преобразует информацию о цветах, полученную из видеопамяти, в информацию для ЭЛТ.

Контроллер ЭЛТ генерирует синхроимпульсы управления ЭЛТ.

Тактовый генератор управляет временными параметрами видеоадаптера и доступом от процессора к слоям видеопамяти.

В адаптере VGA ЦАП преобразует цифровые сигналы яркостей в аналоговые значения, необходимые монитору.

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

Текстовый режим

В текстовом режиме можно вывести на экран 25 строк по 40 или 80 символов. Перепрограммировав некоторые регистры адаптера можно получить для EGA до 43 строк, а для VGA – до 50.

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

Таблицы знакогенератора, задающие внешний вид символов, размещаются во втором слое видеопамяти. Всего может быть загружено 4 таблицы для EGA и 8 – для VGA. Одновременно могут быть активными две таблицы, что дает возможность отобразить на экране до 512 различных конфигураций знакомест одновременно.

Байт атрибута задает цвета символа и фона, мерцание и одну из двух активных таблиц знакогенератора.

Графические режимы

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

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

В одном из режимов, применимом только для VGA, память интерпретируется как линейная последовательность всех четырех слоев. Это режим с разрешением 320×200 с байтом на пиксел, т.е. с 256 градациями.

Мониторы

Для отображения текста и графики в IBM PC используется несколько типов мониторов:

композитный монитор, на вход которого подается композитный сигнал системы NTSC (National Television System Committee), применяемой в телевидении. Используется с видеоадаптером CGA;

цифровой монитор, на вход которого по N проводам подается сигнал в цифровой форме. Цифроаналоговое преобразование выполняется монитором. На таком дисплее можно получить до 2N оттенков. Используется с видеоадаптерами CGA, EGA. Первоначально выпускался CD (Color Display) – простой 16 цветный (4 провода), затем ECD (улучшенный цветной дисплей) с 16 оттенками из 64, затем многочастотный цифровой, позволяющий работать с различными частотами кадров и отображающий 16 оттенков из 64. Используется с видеоадаптерами EGA, VGA;

аналоговый дисплей, на вход которого подаются готовые RGB сигналы, сформированные видеоадаптером. Используется с видеоадаптерами VGA, SVGA, XGA.

Графические акселераторы

Для повышения быстродействия графических подсистем IBM PC выпускаются специальные типы адаптеров – графические акселераторы. Поскольку центральный процессор не всегда способен достаточно быстро выполнить громадный объем вычислений, связанных с преобразованием графических объектов, наложением на них текстур и применением различных спецэффектов, то эта задача перекладывается непосредственно на акселератор, который имеет собственный графический процессор и дополнительную память для буферизации данных.

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

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

Акселераторы, кроме типа и возможностей графического процессора, различаются по следующим основным параметрам:

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

используемой шиной;

шириной регистров (чем шире регистр, тем большее число пикселов можно обработать за одну команду).

 




©2015 studenchik.ru Все права принадлежат авторам размещенных материалов.

Президентские телки VIP эскорт