Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OEVM-sem-pract-2007.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
1.97 Mб
Скачать

Понятие о графических ускорителях

Назначение видеоадаптера можно сформулировать несколькими словами: освободить основной процессор от управления выводом изображения на экран, а основную память от необходимости эти изображения хранить. Фактически видеоадаптер можно рассматривать как видеопроцессор, оптимизированный для выполнения операций ввода/вывода, и видеопамять для хранения видео-изображений, оптимизированную по параметру изображений. Вместе с тем, в современных видеоадаптерах широко применяется практика исполнения дополнительных функций, связанных не только с вводом-выводом и хранением изображений, но и с операциями по их автоматической обра­ботке. Такие видеоадаптеры называют графическими ускорителями. Вопрос автоматизации обработки видео-изображений достаточно тонкий. Для того чтобы электроника работала эффективно, должны быть формальные признаки, по которым видеопроцессор может определить, что и как нужно обрабатывать перед выводом на экран. И такие признаки есть.

Ускорители двумерной графики

Большинство компьютеров IBM PC работают в операционных системах Windows 98 Windows 2000. Эти системы отличаются, во-первых, тем, что являются графическими, то есть, требуют большого объема операций с графикой и, во-вторых, тем, что оформление как самой операционной системы, так и всех приложений, выполнено стереотипно. Основными объектами операционной мы Windows 9x являются окна. Это стандартные элементы оформления, содержащие элементы управления и объекты. Значительную долю времени работы с ПК составляют стандартные операции с окнами. Окна открывают и закрывают, их перемещают с места на место, изменяют размер и т.д.

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

Ускорители трехмерной графики

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

Вопрос обработки произвольных изображений аппаратными средствами видео­адаптера решается сложнее, чем вопрос обработки стандартных объектов Windows. Тем не менее, и в данном случае можно выделить ряд достаточно стереотипных операций, выполняемых наиболее часто. Прежде всего, эти опера­ции относятся к обработке трехмерной графики D-графики). Соответствен­но, видеоадаптеры, оптимизированные для таких операций, получили название ЗD-акселераторов или ускорителей 3D.

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

2D-акселерация.

        Рассмотрим аппаратные методы увеличения скорости вывода графических карт SVGA. Архитектура стандартной карты SVGA оказалась не в состоянии обеспечить необходи-мую для мультимедиа систем производительность графической подсистемы. Для решения этой проблемы рядом фирм были разработаны различные дополнительные аппаратные средства акселерации карт SVGA, по-зволившие разгрузить центральный процессор и увеличить скорость передачи данных:

        GUI Accelerator (Graphics User Interface Accelerator) - ускоритель графического интерфейса пользователя. Это устройство представляет собой совокупность блоков, рассредоточенных по всей графической карте, служащих одной цели - перераспределить операции доступа к видеопамяти между всеми блоками графической карты и центральным процессором таким образом, чтобы минимизировать число конфликтов.

        CPU Write Buffer - буфер записи центрального про-цессора. Это блок, буферизующий операции записи данных центральным процессором в видеопамять графической карты. Если в момент доступа центрального процессора видеопамять занята каким-либо другим блоком карты, этот запрос помещается в буфер и выпол-няется позже. Таким образом минимизируется время ожидания ресурсов центральным процессором. Этот блок осуществляет кэширование видеопамяти подобно тому, как это делает кэш центрального процессора по отношению к основной оперативной памяти компьютера. Оттого, насколько удачно выбрана схема кэширова-ния, в большой степени зависит эффективность работы этого блока. При наиболее удачных стечениях обстоя-тельств выигрыш по скорости записи в видеопамять (по экспериментальным данным) может составлять 2-3 раза.

        FIFO (First Input First Output) - буфер "первым-вошел-первым-вышел". Этот буфер подобен CPU Write Buffer. Он занимается буферизацией операций передачи данных между блоками Sequencer и Attribute Controller, что позволяет последнему считывать с помощью Se-quencer из видеопамяти не байт, а строку или часть стро-ки пикселей за один цикл обращения, используя режим быстрой страничной пересылки данных (Fast Page Mo-de). Это значительно снижает количество обращений к видеопамяти, которые в обычном случае определяются частотой циклов обновления экрана.

        Cursor — графический курсор. Отвечает за аппаратную функцию графического курсора. Эта функция — неотъемлемая часть любого графического интерфейса, в котором применяется курсор, управляемыми такими манипуляторами как "мышь", "Track Ball", "Joystick" и т.п. Будучи реализована программно, она всегда была сопряжена с большим объемом вычислений и пересылок данных при обработке прерываний, приходящих от управляющего курсором манипулятора. Аппаратная же реализация во много раз сократила объемы пересылок и время обработки этих прерываний.

        Bit BLT (Bit Block Transfer) — копирование битовых блоков. Данный блок аппаратно реализует функцию копирования участков изображения прямоугольной формы. Как правило, поддерживаются расширенные варианты данной функции, способные совершать логические функции над содержимым копируемой области. Это одна из самых распространенных и самых емких по времени экранных функций в системах с графическим интерфейсом пользователя. Таким образом, был сделан серьезный шаг по разгрузке центрального процессора oi большой части взаимодействий с видеопамятью. В сочетании с остальными блоками "GUI Accelerator" этот блок позволяет осуществлять операции копирования типа видеопамять-видеопамять приблизительно в 20 раз быстрее, чем программно, а память-видеопамять - приблизительно в 10 раз.

        Line Draw — рисование линий. В блоке аппаратно реализуется функция рисования прямых линий. Он достаточно редко встречается в графических картах, обладающих только функциями "GUI Accelerator", а чаще реализуется как одна из функций "Graphics Co-Processor", о котором пойдет речь ниже.

        Graphics Co-Processor - графический сопроцессор. Исполняющее устройство выступает в качестве специализированного сопроцессора, с которым можно общаться через особые порты ввода/вывода, принадле-жащие регистрам блока регистров. Этот сопроцессор является вторым устройством после Graphics Controller, с помощью которого можно записывать информацию в видеопамять, но он обеспечивает более высокоуровневый интерфейс. Если с по-мощью блока Graphics Controller операциями записи центрального процессора можно было записывать в видеопамять байты, предварительно установив в соот-ветствующих регистрах специальных портов ввода/вывода режим записи, логическую функцию, битовую маску и т.п.,то с помощью Graphics Co-Processor можно сразу "рисовать" в видеопамяти простейшие графичес-кие примитивы: линии, дуги, закрашенные прямоуголь-ники и т.п. Таким образом, практически все векторные примитивы, являющиеся обычно основой любой графической библиотеки, не только исполняются отдельным процессором, освобождая центральный процессор компьютера, но и содержатся не в главной оперативной памяти, а в микрокоде Graphics Co-Processor, освобож-дая пространство оперативной памяти. 3D-акселерация.

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

        Какие же действия ускоряет 3D-акселератор? В компьютере трехмерные объекты представляются с помощью геометрических моделей, состоящих из сотен и тысяч элементарных геометрических фигур, обычно треугольников. Задаются также пространственное положение источников света, отражательные свойства материала поверхности объекта, степень его прозрачности и т. п. При этом некоторые объекты могут частично загораживать друг друга, между ними может переотражаться свет; пространство может быть не абсолютно прозрачным, а затянутым туманом или дымкой. Для большего реализма необходимо учесть и эффект перспективы. Чтобы поверхность смоделированного объекта не выглядела искусственной, на нее наносится текстура - двухмерная картинка небольшого размера, передающая цвет и фактуру поверхности. Все перечисленные трехмерные объекты с учетом примененных к ним эффектов должны в конечном итоге быть преобразованы в плоское изображение. Эту операцию, называемую рендерингом, и выполняет 3D-ускоритель.

Видеосистема – комбинация видеокарта-монитор

Итак, какие же аспекты комбинации видеокарта-монитор наиболее интересны?

  • Качество изображения. Чтобы Ваши глаза не болели, когда Вы смотрите на экран, качество изображения должно быть хорошим. На качество изображения влияют следующие факторы:

    • Четкость

    • Яркость

    • Устойчивость

    • Цветовое разрешение

    • Разрешение экрана

  • Быстродействие видеоустройства. Когда мы работаем на компьютере, изображение очень часто меняется, и эти изменения должны происходить как можно скорее. Частота изменений зависит от работы, которую мы выполняем; по этому признаку можно выделить несколько категорий производительности видеорежима: 

    • Быстродействие в 2D-режиме, называемом также GUI, или Windows - ориентированным режимом, поскольку Windows являются наиболее популярной операционной системой, использующей GUI. В настоящее время это быстродействие является наиболее значимым; от него зависит, насколько быстро можно просматривать текст и графику, открывать и закрывать новые окна. Время стандарта быстродействия графических карт в 2D-режиме Matrox Millennium близится к концу, последние версии графических карт не очень различаются по быстродействию в режиме 2D; большинство из них превосходит старый стандарт Matrox Millennium.

    • Быстродействие в 3D-режиме - это основной критерий, позволяющий проводить различие между современными графическими картами. Карты, не имеющие 3D-ускорения, скоро исчезнут с рынка; компании Matrox пришлось осознать это на собственном горьком опыте, когда она выпустила Millennium II без каких-либо функций 3D. Эта компания потеряла свое положение лидера рынка в одно мгновение. Компания S3 играла важную роль на рынке графических микросхем, но посредственные 3D-характеристики их продукции привели к почти полному их уходу с рынка. То же самое, видимо, происходит с Cirrus Logic и другими компаниями.

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

    • Быстродействие в режиме видеодисплея,  для большинства из нас не является особенно важным, однако, если пользователь собирается просматривать и обрабатывать видеоизображения на своем компьютере, то ему следует приобрести карту, обеспечивающую быструю обработку видеоизображений. Значительные изменения в этой области, вероятно, будут связаны с DVD.

    Роль элементов системы видеокарта-монитор для каждого из этих видов деятельности.

  • Монитор играет основную роль во всем, что касается четкости, яркости, устойчивости и максимального разрешения экрана. Если Вам нужно изображение хорошего качества, ищите высококачественный монитор с экраном не менее 17 дюймов. Со стороны видеокарты элементом, ответственным за передачу изображения высокого качества на монитор, является RAM DAC. Здесь имеют значение два момента - качество RAM DAC, например, является ли она автономной или встроенной в видеоплату, и максимальная частота пикселей, измеряемая в МГц. RAM DAC, имеющая частоту 220 МГц, не обязательно, но почти всегда лучше, чем схема с частотой 135 МГц, и, естественно, обеспечивает более высокую частоту обновления экрана - почему, будет сказано ниже. RAM DAC все чаще и чаще включаются в графические микросхемы, поскольку это позволяет существенно уменьшить стоимость графических карт, а качество современных встроенных RAM DAC приближается к качеству внешних RAM DAC. 

  • От размера видеопамяти зависит цветовое разрешение и разрешение экрана в 2D-режиме; для 3D-режима, приобретающего все большее значение, размер локальной памяти карты также определяет максимальное 3D-разрешение. Работа с 3D требует намного большего размера локальной памяти, чем работа с 2D при том же разрешении. Это связано с тем, что 3D-режим требует фронтального, фонового и Z-буфера. Фронтальный буфер хранит видимое изображение, фоновый - следующий кадр в процессе подготовки, а Z-буфер - параметры третьего измерения (z-величины; х и y образуют два измерения, а z - третье измерение). Этим объясняется то, что карта с 4 МВ локальной памяти обеспечивает разрешение 1600x1200 при хорошем цветовом разрешении (16 бит) в режиме 2D, поскольку это требует 1600x1200x2 байт = 3.7 MB. Однако игры, использующие информацию из z-буфера (хорошие игры пользуются этой информацией для обеспечения реальных трехмерных изображений), могут работать только в режиме разрешения 800x600x 16 бит цвета x 16 бит z-буфера, 800x600x 6 байт (2 байта - цветной фронтальный буфер, 2 байта - цветной фоновый буфер, 2 байта - 16-битный z-буфер) = 2.74 MB. 3D-режим при разрешении 1024x768 требует 4.5 MB памяти и не может работать на 3D-карте с 4 МВ памяти. 

Тип видеопамяти в сочетании со схемной базой определяет все характеристики комбинации видеокарта-монитор. Однако не следует забывать, что тип шины (PCI/VL/ISA/EISA/MCA/NuBus) и, следовательно, материнская плата и ее схемная база, определяют, насколько быстро данные достигнут видеокарты. Усовершенствованный графический порт AGP обеспечивает намного более высокую пропускную способность, чем PCI.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]