Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Эволюция адаптеров фирмы IBM
Первый персональный компьютер фирмы IBM, появившийся в 1981 г., был рассчитан на обработку исключительно текстовой информации. Поэтому основное требование к адаптеру MDA ( Monochrom Dispay and Parallel Printer Adapter ) заключалось в получении высококачественных текстовых изображений. MDA формирует на экране 25 строк растра текста по 80 символов в каждой. Символьная позиция состоит из матрицы размером 9 x 14 пикселей. Большинство пикселей фактически занимают матрицу 7х9, а «лишние» пиксели повышают удобочитаемость текста. Разрешающая способность 720 на 350 пикселей. Адаптер CGA ( Color Graphic Adapter ) по сравнению с MDA обладает 2 новыми возможностями: формирует графические изображения в виде диаграмм, графиков и рисунков, а также выводит на экран цветные текстовые и графические изображения. Цветовая палитра для текстовой информации – 16 цветов, графический режим позволяет наблюдать одновременно на экране только 4 цвета. Разрешающая способность 640х320 пикселей. Адаптер EGA ( Enhanced Graphic Adapter ). Разработан в 1984 г. фирмой IBM. Разрешающая способность в графическом режиме доведена до 640х350 пикселей, а число одновременно наблюдаемых на экране цветов составляет 16 из общей палитры в 64 цвета. Адаптер MCGA ( Multi-Color Graphic Array – многоцветная графическая матрица). Появился в 1987 г. Имеет символьную матрицу 8х16 пикселей. Разрешающая способность 640х480 пикселей. Отличие от рассмотренных выше адаптеров заключается в том, что генерируются аналоговые видеосигналы красного, зеленого и синего цветов. Предыдущие адаптеры формируют для управления монитором только цифровые двоичные сигналы. В MCGA имеется быстродействующий цифро-аналоговый преобразователь, благодаря чему на экране можно одновременно наблюдать 256 цветов. Адаптер VGA ( Video Graphic Array ). Появился в 1987 г. С адаптером VGA появился новый стандарт, который включает в себя все режимы предыдущих адаптеров и расширяет их на большее число цветов и более высокую разрешающую способность. Максимальная разрешающая способность составляет 720х480 пикселей в текстовом режиме и 640х480 пикселей в графическом режиме. Символьная матрица состоит из 9х16 символов. Позволяет наблюдать 256 цветов. Рассчитан на подключение аналогового цветного или монохроматического монитора.
Существуют большое количество видеокарт, хотя и совместимых с VGA, но предоставляющих достаточно большой набор дополнительных режимов. Обычно такие карты называют SuperVGA. Существует большое количество SVGA -карт различных производителей, сильно различающихся по основным возможностям и, как правило, несовместимых друг с другом. Сам термин SVGA обозначает скорее не стандарт (как VGA ), а некоторое расширение. Ассоциацией стандартов в области видео-электроники VESA была сделана попытка стандартизации работы с различными SVGA -платами путем добавления в BIOS некоторого стандартного набора функций, обеспечивающего получение необходимой информации о карте, и отвечающих за установку заданного режима. При этом вводится стандартный набор расширенных режимов. Номер режима является 16-битовым числом, где биты 9-15 зарезервированы и должны быть равны 0, бит 8 для VESA -режимов равен 1, а для родных режимов карты равен 0. 28. Структура видеоадаптера и назначение его составных частей.(км) Структура видеоадаптера условно делится на четыре логических блока: 1. Графический контроллер. Видеоконтроллер отвечает за вывод изображения из видеопамяти, регенерацию ее содержимого и обработку запросов центрального процессора. Для исключения конфликтов при обращении к памяти со стороны видеоконтроллера и центрального процессора первый имеет отдельный буфер, который в свободное от обращений ЦП время заполняется данными из видеопамяти. Аппаратура графического контроллера позволяет производить над данными, поступающими в видеопамять и расположенными в регистрах-защелках простейшие логические операции. 2. Видеопамять. В видеопамяти размещаются данные, отображаемые адаптером на экране дисплея. Для EGA и VGA видеопамять обычно имеет объем 256 Кбайт, на некоторых моделях SVGA объем видеопамяти может быть увеличен до 2Мбайт. Видеопамять находится в адресном пространстве процессора, и программы могут непосредственно производить с ней обмен данными. Видеопамять адаптеров VGA разделена на четыре банка, или на четыре цветовых слоя. Эти банки размещаются в одном адресном пространстве таким образом, что по каждому адресу расположено четыре байта (по одному байту в каждом банке). Какой из банков памяти используется для записи или чтения данных процессором, определяется при помощи установки нескольких регистров адаптера. Так как все четыре банка находятся в одном адресном пространстве, то процессор может производить запись во все четыре банка за один цикл записи. Благодаря этому некоторые операции, например - заполнение экрана, происходят с большей скоростью. В том случае, когда запись во все четыре банка не требуется, можно разрешать или запрещать запись во все четыре банка при помощи регистра разрешения записи цветового слоя. Для операции чтения в каждый момент времени может быть разрешен с помощью регистра выбора читаемого цветового слоя только один цветовой слой. В большинстве режимов видеоадаптера видеопамять разделена на несколько страниц. При этом одна из них является активной и отображается на экране. При помощи функций BIOS или программирования регистров видеоадаптера можно переключать активные страницы видеопамяти. Вывод информации может производиться как в активную, так и в неактивные страницы видеопамяти. 3. RAMDAC. Имеет два режима работы: · в первом режиме чипсет оперирует данными цветовой гаммы, или палитры (palletized data). В этом режиме 8-битные данные конвертируются в RGB цвета. Каждый раз, когда новый пиксель передается в DAC для отображения на экране, значение передаваемых данных используется в качестве указателя положения в палитре, информация из палитры используется в качестве значения цвета для DAC. Палитра, хранится в RAM и имеет 256 позиций, каждая из которых хранит 24 бита данных о цвете, по 8 бит для каждого из трех основных составляющих цветов Red, Green и Blue. Емкость RAM соответствует значению 256 х 24 = 6144 бит или 768 байт. Для RAM используется стандартная память, и она интегрирована вместе с DAC в одну микросхему. · во втором режиме RAMDAC оперирует цветовыми данными. В этом режиме (при 16, 24 или 32 бит представлении цвета) данными является RGB цвет. Например, при 16-битном представлении цвета 5 бит определяют красный (Red), 6 бит -- зеленый (Green) и 5 бит -- синий (Blue) цвета. Для зеленого цвета используется больше бит, так как человеческий глаз более чувствителен к зеленому. При 24 или 32 бит представлении цвета для каждого из цветов используется по 8 бит данных. В этом режиме данные, определяющие цвет, передаются непосредственно в DAC без использования RAM, т.е. не используются загружаемые палитры и данные передаются напрямую из видеопамяти. 4. Видео-ПЗУ - постоянное запоминающее устройство, в которое записаны видео – BIOS, экранные шрифты, служебные таблицы и т.п. ПЗУ не используется видеоконтроллером напрямую - к нему обращается только центральный процессор, и в результате выполнения им программ из ПЗУ происходят обращения к видеоконтроллеру и видеопамяти. ПЗУ необходимо только для первоначального запуска адаптера и работы в режиме MSDOS; операционные системы с графическим интерфейсом - Windows или OS/2 - не используют ПЗУ для управления адаптером. Прежде чем стать изображением на мониторе, двоичные цифровые данные обрабатываются центральным процессором, затем через шину данных направляются в видеоадаптер. Сначала они попадают в видеопроцессор, где они начинают обрабатываться. После этого обработанные цифровые данные направляются в видеопамять, где создается образ изображения, которое должно быть выведено на дисплее. Затем, все еще в цифровом формате, данные, образующие образ, передаются в RAMDAC, где они конвертируются в аналоговый вид, после чего передаются в монитор, на котором выводится требуемое изображение. 29. Кодирование и формирование цвета пикселя. Непалитровые режимы VGA. Цвет является композицией трех основных цветов – красного, зеленого и синего. В цифровых компьютерах вес каждого цвета должен быть представлен дискретной величиной. В простейшем случае для кодирования каждого из основных цветов достаточно по одному биту (1=цвет включен, 0=цвет выключен), называемых битами R, G, B. Из трех основных цветов с двоичным кодированием получается 8 цветовых комбинаций (см. рис.). Когда все цвета выключены, получается черный цвет. Если ввести еще один бит, который управляет яркостью или интенсивностью ( Intensity ), то получится 4-х битная композиция, называемая IRGB -цветом. Поэтому на экране можно получить 16 цветов. В адаптере EGA имеются режимы, в которых для кодирования каждого из основных цветов отведено по два бита, т. е. полный цвет кодируется шестью битами RrGgBb (00-цвет выключен, 01-слабый цвет, 10-обычный цвет, 11-яркий цвет). Такое кодирование расширяет число цветов до 64. Тем не менее, одновременно на экране можно наблюдать только 16 цветов, так как в видеопамяти пиксели кодируются 4-битными значениями. В адаптере VGA введены режимы, в которых для кодирования каждого из основных цветов отведено по 6 бит. Однако одновременно на экране можно наблюдать только 256 цветов, т. к. в режиме с максимальной «цветностью» каждый пиксель кодируется 8 битами.
Пример формирования цвета Вся видеопамять делится на 4 равные части, называемые цветовыми плоскостями. Каждому пикселю ставится в соответствие по одному биту в каждой плоскости, причем эти биты одинаково расположены относительно ее начала. Обычно эти плоскости представляются расположенными параллельно одна над другой, так что каждому пикселю соответствует 4 расположенные друг под другом бита. Все эти плоскости проектируются на один и тот же участок адресного пространства процессора. Для работы с пикселем необходимо определить адрес байта в видеопамяти, содержащего данный пиксель, и позицию пикселя внутри байта (поскольку один пиксель отображается на один бит в каждой плоскости, то байт соответствует сразу 8 пикселям). Байты видеопамяти линейно отображаются на экран. 7-й бит 1-го байта – точка в верхнем левом углу экрана. Если у нас разрешение 640х350 VGA, то каждые 80 байт описывают 1 строку экрана. Каждое 4-х битное значение маскируется младшими битами регистра разрешения цветовой плоскости в атрибутном контроллере и полученное после этого 4-битное значение выбирает один из 16 регистров палитры. Считываемое из выбранного регистра палитры 6-битное значение RrGgBb определяет окончательный цвет пикселя. Непалитровые режимы SVGA Ряд SVGA -карт поддерживает использование так называемых непалитровых режимов – для каждого пикселя вместо индекса в палитре непосредственно задается его RGB значение. Обычно такими режимами являются режимы: · HiColor (15 или 16 бит на пиксель) · Truecolor (24 бита на пиксель). Видеопамять устроена аналогично 256-цветным режимам SVGA – под каждый пиксель отводится целое количество байт памяти (2 байта для HiColor и 3 байта для TrueColor ), и все они расположены подряд и сгруппированы в банки. Наиболее простой является организация режима TrueColor – под каждую из трех компонент цвета отводится по одному байту. Несколько сложнее организация режимов HiColor, где под каждый пиксель отводится 2 байта и возможны варианты: · под каждую компоненту отводится по 5 бит, последний бит не используется (32 тысячи цветов) · под красную и синюю компоненты отводится по 5 бит, под зеленую – 6 бит (65 тысяч цветов).
30. Аппаратные ускорители графики. 3D-конвейер. Видеоконтроллер с потоковой обработкой, а также с аппаратной поддержкой некоторых типовых функций, называется акселератором или ускорителем и служит для разгрузки ЦП от рутинных операций по формированию изображения.
D-конвейер Большинство приложений следуют довольно стандартной схеме построения трехмерных изображений (далее мы будем называть этот процесс конвейером). Причем некоторые программы реализуют все стадии этого конвейера, некоторые же перекладывают часть работы на плечи аппаратных устройств, специальных библиотек программ ( API ), другие программы или даже на пользователя. Итак, конвейер состоит из следующих стадий:
Теперь попробуем разобраться, как все обстоит на самом деле. Во-первых, некоторые стадии этого конвейера могут быть переставлены местами, разбиты на части или совмещены. Во-вторых, они могут отсутствовать вообще (редко) или могут появиться новые (часто). И, в-третьих, результат работы каждой из них может быть послан (в обход других стадий) обратно. Например, картинку, полученную на последней стадии, можно использовать как новую текстуру для 8-ой, реализуя таким образом эффект отражающих поверхностей (зеркал).
Итак, самый общий ускоритель состоит из: o геометрического процессора (Geometry Processor, пока практически всегда отсутствует); o механизма установки (Setup engine, стадия 7 конвейера) o механизма отрисовки примитивов – закраски (Fill engine, стадии 8 и 9)который при детальном рассмотрении оказывается комбинацией двух блоков: o обработки текстур (Texel engine) o обработки буфера кадра (Pixel engine). Производительность ускорителя зависит от процессора, производительности памяти, шины и самих обрабатывающих блоков. Как правило, приводятся два числа – максимальная пропускная способность (треугольников в секунду, triangle throughput) и максимальная производительность закраски (точек в секунду, fill rate). 31. Аппаратная структура ускорителя. Ускорители будущего. Во-первых, обращает на себя внимание многоканальный контроллер памяти. Вместо одной очень широкой 128- или 256-бит шины памяти используются 2 или 4 полностью независимые (разведены отдельные управляющие сигналы) шины памяти шириной 32 или 64 бита соответственно. Зачем это сделано? Давайте посмотрим внимательно на потоки данных, которые идут во время работы ускорителя. Текстуры, как правило, только считываются. Геометрия, тоже, как правило, только считывается. Буфер кадра (цвет), как правило, только записывается. Буфер глубины (Z) - считывается и записывается. На лицо как раз 4 непрерывных потока данных. Если мы сумеем разнести их (хотя бы частично) по разным контроллерам, то мы получим многократный выигрыш с точки зрения времени задержки при обращении к данным. Нам не придется регулярно переключать память из режима чтения в режим записи и скакать по ней от буфера к буферу. А это значит, что мы можем сделать очень небольшие и эффективные КЭШи! Типичные размеры (получены экспериментально или предположены):
· Кэш вершин: ~50..100..200 вершин; · Пост Кэш вершин: ~16..32 вершины; · Кэш текстур: ~32..64 килобайт (~512 блоков 4х4); · Кэш буфера кадра и глубины: 16..32 килобайт (~256 блоков 4х4); · Минибуфер глубины: ~256 килобайт максимум, скорее всего меньше;
В этом кроется важное отличие графических ускорителей от процессоров. Потоковый и предсказуемый характер данных позволяет обходиться небольшими КЭШами высокой эффективности. Данные (буфер кадра, буфер глубины, текстуры) зачастую хранятся и выбираются прямоугольными блоками, что повышает эффективность работы с памятью. Основная масса транзисторов уходит на многочисленные ALU и длинные конвейеры, что существенно ограничивает тактовые частоты - синхронная работа сложного специализированного конвейера длиною более чем в 100 стадий требует существенных допусков на неравномерное распространение сигналов. Именно поэтому характерные для CPU частоты в несколько гигагерц пока недостижимы для графических ускорителей, даже при более тонкой технологической норме. Популярное:
|
Последнее изменение этой страницы: 2017-03-03; Просмотров: 600; Нарушение авторского права страницы