|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Архитектура стандартной графической карты SVGA
Назначением аппаратных средств графической карты является организация канала передачи/преобразования графических данных. Этот канал простирается от центрального процессора до монитора и должен обеспечивать необходимое качество изображения. На рисунке представлены основные блоки стандартной графической карты SVGA и показаны основные связи между ними. Контроллер электронно-лучевой трубки (Cathode Ray Tube Controller). Контроллер ЭЛТ можно представить как один сложный управляемый генератор, содержащий в себе регистры для хранения параметров генерируемых сигналов. В видеосигнале описываются пикселы, которые необходимо либо засветить, либо погасить. В цветном дисплее для каждого луча формируется свой видеосигнал. Информация, закодированная в видеосигнале, должна быть строго синхронизирована с движением луча по растру. Для синхронизации вырабатывается в контроллере ЭЛТ специальные сигналы HSYNC (строчная развертка), VSYNC (кадровая развертка). В некоторых типах мониторов эти синхросигналы объединяются в видеосигналы, образуя композитный сигнал. Кроме того, этот контроллер управляет разрешением экрана монитора, конфигурацией экранного буфера и расположением его в видеопамяти, а также некоторыми другими параметрами. Для всех перечисленных функций в контроллер ЭЛТ выделены блоки регистров, в которых хранятся значения соответствующих параметров управления этими функциями. Интерфейс с системной шиной (BUS Interface). Доступ к большинству регистров видеоадаптеров осуществляется в два этапа: через один порт ввода-вывода выбирается номер интересующего нас регистра, а затем через другой порт ввода-вывода осуществляется обмен данными. Блок интерфейс с системной шиной занимается декодированием адресов портов ввода-вывода и адресов памяти графической карты. Воспринимая сигналы адресной и управляющей частей системной шины компьютера, этот блок вырабатывает внутренний адрес порта и сигналы для управления теми блоками, которые должны быть задействованы для обработки данных. Если декодированный адрес принадлежит какому-либо из блоков, происходит захват системной шины и, пока графическая карта не закончит все необходимые действия, все остальные устройства компьютера не имеют доступа к шине. Видеопамять произвольного доступа (Display Random Access Memory). Данный блок содержит в себя микросхемы памяти, в которых хранится вся графическая информация. Отсюда считываются значения пикселов другими блоками и сюда эти значения должны попасть для того, чтобы быть отображенными на экране. Все видеорежимы графических карт SVGA можно разделить по организации видеопамяти на три группы: послойные видеорежимы (например, режим 10h), бесслойные 256-цветные видеорежимы (например, режим 13п) и бесслойные VESA-режимы. В бесслойных графических видеорежимах с 32*210, 64*210 или 16*220 цветами, одновременно присутствующими на экране, видеопамять монолитна, а значение байтов видеопамяти напрямую определяют значение RGB-компонентов цвета. В режимах с 32*210 цветами на R, G и В отводится по 5 бит (5-5-5). В режимах с 64*21.0 цветами - по 5 или 6 бит (5-6-5). В режимах с 16*220 цветами на R, G и В отводится по 8 бит (8-8-8) Видеопамять, находящаяся на видеоадаптере, отображается в определенную область адресного пространства центрального процессора, определяющуюся типом видеорежима и некоторыми регистрами контроллера ЭЛТ. Однако настоящее содержимое видеопамяти недоступно для прямого чтения или записи процессором через интерфейс с системной шиной. Любые операции с содержимым видеопамяти производятся только с помощью блока графического контроллера. На практике это происходит прозрачно для программного обеспечения, которое производит доступ к содержимому видеопамяти с помощью обычных инструкций для работы с оперативной памятью, ссылаясь операндами на область адресного пространства центрального процессора, в которую отображена видеопамять. При этом включаются механизмы интерфейса с системной шиной (описанный выше) и графического контроллера (описанный далее). Графический контроллер (Graphics Controller). Этот контроллер, также называемый контроллером доступа к графической информации, управляет обновлением содержимого видеопамяти. Любой обмен данными между системной шиной и видеопамятью производится только через графический контроллер. При выполнении центральным процессором (ЦП) операции чтения из области адресного пространства, в которую отображена видеопамять, активизируется блок интерфейс с системной шиной, который с помощью блоков последовательного и графического контроллера производит считывание данных из видеопамяти в специальные регистры блока графического контроллера, называемые защелками. И уже из них, опять через интерфейс с системной шиной, эти данные попадают на системную шину и в ЦП. При выполнении процессором операции записи в область адресного пространства, отведенную под видеопамять, графический контроллер может выполнять следующие логические операции над данными из процессора и данными регистров-защелок: логические «И», «Или», «Исключающее или». После результата выполнения логической операции с содержимым регистров-защелок с байтом процессора происходят дальнейшие преобразования. Характер взаимодействия данных, поступающих от центрального процессора, с содержимым регистров-защелок определяется состоянием специальных регистров графического контроллера. Таким образом, видеоадаптер может выполнять частичную обработку видеоданных. Последовательный контроллер (Sequencer). Последовательный контроллер управляет потоком данных из видеопамяти и блока графического контроллера в блоки атрибутного контроллера и ЦАП, а также генерирует последовательности сигналов управления, осуществляющие чтение/запись видеопамяти, синхронизацию блоков графического контроллера и атрибутного контроллера. Последовательный контроллер содержит несколько регистров, влияющих на работу других блоков графической карты. С его помощью, например, можно запретить изменение некоторых или всех слоев видеопамяти. Для этого используется регистр разрешения записи цветового слоя, который содержит 4 бита, управляющие записью в цветовые слои видеопамяти. Если бит регистра, управляющий цветовым слоем, равен нулю, то данный цветовой слой не изменяется. Если бит регистра, управляющий цветовым слоем, равен единице, то в данный слой видеопамяти записываются значения, поступившие от графического контроллера. Контроллер атрибутов (Attribute Controller). В данном блоке производится трансляция номера цвета из 4- или 16-цветной палитры в номер регистра ЦАП, где находятся истинные значения RGB-составляющих конечного цвета пиксела. Кроме того, атрибутный контроллер управляет горизонтальным смещением первого отображаемого пиксела в последовательности из восьми пикселов, описываемой каждым байтом в послойных видеорежимах. Во всех остальных высокоцветных видеорежимах, где на один пиксел приходится один и более байт, данный блок не участвует. Номер цвета пиксела, находящийся в видеопамяти, в этих видеорежимах направляется последовательным контроллером прямо в ЦАП, где преобразуется в RGB-составляющие. Цифро-аналоговый преобразователь, ЦАП (DAC). Этот блок стоит последним на пути прохождения информации от ЦП до монитора. Именно здесь генерируются аналоговые сигналы, поступающие на монитор. В 4-, 16-, 256-цветных видеорежимах, а также в монохромных видеорежимах ЦАП преобразует поток из 8-битных номеров цветов пикселов (номеров регистров ЦАП) в аналоговые сигналы, поступающие на монитор. Во всех перечисленных режимах, исключая 256-цветный, эти данные поступают в него из атрибутного контроллера. В 256-цветных режимах данные поступают в ЦАП напрямую из последовательного контроллера. В высокоцветных видеорежимах поток данных поступает в этот блок также напрямую из последовательного контроллера. Но в этом случае он представляет собой не номера регистров ЦАП, а сразу RGB-составляющие истинных цветов. Для разных высокоцветных видеорежимов количество бит, приходящихся на один пиксел, различно, но схема преобразования в аналоговые сигналы одинакова.
Рис. 9. Аппаратные методы увеличения скорости вывода графических карт SVGA
Архитектура стандартной карты SVGA оказалась не в состоянии обеспечить необходимую для систем мультимедиа производительность графической подсистемы. Для решения этой проблемы рядом фирм были разработаны различные дополнительные аппаратные средства акселерации карт SVGA, позволяющие разгрузить ЦП и увеличить скорость передачи данных. Ускоритель графического интерфейса пользователя (Graphics User Interface Accelerator). Это устройство представляет собой совокупность рассредоточенных по всей графической карте блоков, служащих одной цели - перераспределить операции доступа к видеопамяти между всеми блоками графической карты и ЦП таким образом, чтобы минимизировать количество конфликтов. Буфер записи центрального процессора (CPU Write Buffer). Этот блок буферизует операции записи данных ЦП в видеопамять графической карты. Если в момент доступа ЦП видеопамять занята каким-либо другим блоком, этот запрос помещается в буфер и выполняется позже. Таким образом минимизируется время ожидания ресурсов ЦП. При наиболее удачных стечениях обстоятельств выигрыш в скорости может составлять 2-3 раза. Буфер FIFO (первый - вошел - первый - вышел). Этот буфер подобен буферу записи ЦП. Он занимается буферизацией операций передачи данных между последовательным контроллером и контроллером атрибутов. Это позволяет последнему считывать с помощью последовательного контроллера из видеопамяти не байт, а строку или часть строки пикселей за один цикл обращения, используя режим быстрой страничной пересылки данных.
Рис. 10. Блок-схема SVGA с ускорителем графического интерфейса пользователя
Это значительно снижает количество обращений к видеопамяти, которые в обычном случае определяются частотой циклов обновления экрана. Графический курсор (Cursor). Три блока, обозначенные на рисунке этим именем, отвечают за аппаратную функцию графического курсора. Первый из них (верхний) хранит изображение и маску курсора. Второй и третий являются частью атрибутного контроллера и ЦАП и отвечают за наложение изображения курсора на основную отображаемую на экран информацию. Эта функция - неотъемлемая часть любого графического интерфейса, в котором применяется курсор, управляемый такими манипуляторами, как «мышь», джойстик или трекбол. Будучи реализована программно, она всегда была сопряжена с большим объемом вычислений и пересылок данных при обработке прерываний, приходящих от управляющего курсором манипулятора. Аппаратная же реализация во много раз сократила объемы пересылок и время обработки этих прерываний. Копирование битовых блоков (Bit Block Transfer - Bit BLT). Данный блок аппаратно реализует функцию копирования участков изображения прямоугольной формы. Как правило, поддерживаются расширенные варианты данной функции, способные совершать логические функции над содержимым копируемой области. Это одна из самых распространенных и самых емких по времени экранных функций в системах с графическим интерфейсом пользователя. Таким образом, был сделан серьезный шаг по разгрузке ЦП от большей части взаимодействия с видеопамятью. В сочетании с остальными блоками ускоритель графического интерфейса пользователя позволяет осуществлять операции копирования типа видеопамять-видеопамять примерно в 20 раз быстрее, чем программно, а память-видеопамять - примерно в 10 раз. Графический сопроцессор (Graphics Co-Processor). Это устройство состоит из двух блоков: исполняющего устройства и блока регистров. Исполняющее устройство выступает в качестве специализированного сопроцессора, с которым можно общаться через особые порты ввода-вывода, принадлежащие регистрам блока регистров. Этот сопроцессор является вторым устройством после графического контроллера, с помощью которого можно записывать информацию в видеопамять, но он обеспечивает более высокоуровневый интерфейс. Если с помощью графического контроллера операциями записи ЦП можно было записывать в видеопамяти байты, предварительно установив в соответствующих регистрах специальных портов ввода-вывода режим записи, логическую функцию, битовую маску и т.д., то с помощью графического сопроцессора можно сразу «рисовать» в видеопамяти простейшие графические примитивы: линии, дуги, закрашенные прямоугольники и т.п.
Рис. 11. Блок-схема SVGA с графическим сопроцессором Таким образом, практически все векторные примитивы, являющиеся обычно основой любой графической библиотеки, не только исполняются отдельным процессором, освобождая ЦП компьютера, но и содержатся не в главной оперативной памяти, а в микрокоде графического сопроцессора, освобождая пространство оперативной памяти. Выигрыш во времени от использования данного устройства составляет от 3-5 (вывод горизонтальной линии) до 100 раз (масштабирование прямоугольной области с нецелым коэффициентом). Блок регистров служит для общения центрального процессора с исполнительным блоком. По назначению регистры делятся на командные, параметров и управляющие. Командный регистр, как правило, один. В него заносится число (команда), соответствующее графическому примитиву, который необходимо «нарисовать» в видеопамяти. Регистры параметров содержат параметры примитивов в соответствии с их спецификой, например координаты концов линии или координаты верхнего левого и нижнего правого углов прямоугольника. Управляющие регистры содержат некоторую специальную информацию, которая может влиять на характер отображения в видеопамяти исполняемых графических примитивов. Масштабируемое окно (Zoom Window). Это устройство аппаратно реализует функцию матричного масштабирования с нецелым коэффициентом прямоугольной области видеопамяти или потока пикселей, поступающего от какого-либо внешнего источника данных. Конструктивно оно состоит из трех частей. 1. Часть блока последовательного контроллера, отвечающая за организацию активного окна в видеопамяти, записи и считывания из него информации, а также за взаимодействия блока Zoom Window с другими блоками графической карты, имеющими доступ к видеопамяти. 2. Отдельный блок Zoom Window, собственно реализующий саму функцию масштабирования. 3. Часть блока ЦАП, отвечающая за организацию окна, наложенного на основное изображение, и отображение в нем результатов работы блока Zoom Window. Во многих графических картах поддерживается одновременное присутствие нескольких подобных окон. Этот блок в зависимости от цветовой глубины, размеров изображения и коэффициента масштабирования способен выполнять масштабирование с произвольным нецелым коэффициентом в 10-100 раз быстрее, чем программные системы. До появления аппаратной реализации Zoom Window из-за огромного объема вычислений не было возможности масштабирования при выводе на экран движущихся изображений. Теперь, благодаря описанной функции, стали возможны такие области мультимедиа, как мультипликация, «живое видео в окне» и др. Упаковщик/распаковщик (Compressor/Decompressor -CODEC). Данное устройство состоит из двух блоков - исполняющего устройства (CODEC) и памяти (CODEC RAM), необходимой для процесса упаковки/распаковки. Это устройство не может самостоятельно обращаться к видеопамяти. Для этого оно подключается к блоку Zoom Window, и вся информация, поступающая из CODEC, попадает сразу в одно из окон Zoom Window в видеопамяти. Назначение этого устройства заключается в том, чтобы упаковывать или распаковывать в соответствии с определенными форматами потоки графических данных (пикселей), поступающих от ЦП (или к ЦП). Применение упакованных данных, с распаковкой их перед отображением внутри графической карты, значительно уменьшает объемы информации, пересылаемые по системной шине между ЦП и графической картой. Средняя скорость сжатия информации зависит от алгоритма, принятого в рамках конкретного стандарта сжатия графической информации, реализованного в том или ином CODEC, а также от самой информации и колеблется примерно в диапазоне от 2 до 200 раз. Во многих стандартах от степени сжатия напрямую зависит качество результирующего изображения, так как применяются методы упаковки с потерей информации. В настоящий момент существует множество стандартов на форматы упаковки графической информации, которые широко применяются в области цифрового видео - Cinepak, Indeo, Video 1, MJPEG, MPEG.
Список литературы 1. М. Гук «Интерфейсы устройств хранения ATA SCSI и т. д.» Питер, 2007 2. Леонтьев В.П. «Новейшая энциклопедия ПК 2010» ОМА медиа групп, 2009 3. Александр Ватаманюк «Обслуживание и настройка компьютера» Питер, 2009 4. Гонцов Г. «Железо ПК 2006. Легкий старт» Питер, 2006 5. Питон Нортон «Программно аппаратная организация IBM PC» Москва-Радио и связь, 1992 6. Жмакин А.П. «Архитектура ЭВМ» БХВ Гефест Петербург, 2006 Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.007 сек.) |