- •Графическая подсистема ПК
- •Графическая подсистема ПК
- •Место графической подсистемы в архитектуре ПК
- •Архитектура графической карты
- •Текстовый режим
- •Графический контроллер
- •3D-процессор
- ••При 3D-рендеринге используются дополнительные буферы, помимо фрейм-буфера (Front/Back): Z- буфер, W-буфер, Alpha-буфер, буфер
- •2D-процессор
- •Видеопроцессор
- •Локальная видеопамять
- •Контроллер CRT
- •Видеовход
- •Интерфейсы подключения видеокарт
- •Шина AGP
- •Шина PCI Express
- •Встроенная графика
- •Каналы SDVO
- •Дополнительные цифровые каналы
- •Media Expansion Card
Графическая подсистема ПК
Графические карты. Встроенная и дискретная графика. Конструкция видеокарты. Принципы 3D-рендеринга. Устройства приема ТВ-сигнала и видеозахвата. Подключение видеокарт.
Графическая подсистема ПК
•Графическая подсистема изначально не являлась частью архитектуры ПК, она была реализована как периферийная подсистема
•Впоследствии графической подсистеме уделялось больше внимания, и сегодня она занимает особое место в иерархии подсистем ПК. В частности, обслуживается отдельным высокоскоростным каналом
•Изначально к ПК можно было подключать одно устройство отображения. Возможность нарастить количество дисплеев была нестандартной, но допустимой
•Сегодня графическая подсистема поддерживает до двух независимых дисплеев на один адаптер, до двух адаптеров в режиме совместной работы
Место графической подсистемы в архитектуре ПК
Графическая
карта
Скоростные
интерфейсы
Устаревшие
интерфейсы
ЦП ЦП
Северный
мост
Южный
мост
Мост ввода-вывода
Системная
память
Системная
память
Периферийная
шина
Устаревшие
интерфейсы
Архитектура графической карты |
|
|
3D-процессор |
|
RAMDAC |
|
|
|
|
Контроллер |
|
|
CRT |
TMDS |
|
|
трансмиттер |
Видеопроцессор |
Локальная |
|
|
RAMDAC |
|
|
видеопамять |
|
2D-процессор |
Контроллер |
TMDS |
|
CRT |
трансмиттер |
Графический |
|
ТВ-кодек |
ускоритель |
|
|
|
(декодер) |
|
|
|
Шинный интерфейс
Текстовый режим
•На заре появления ПК подсистема вывода изображения не была графической
•Изображение в видеопамяти строилось с помощью знакогенератора и Video BIOS
•Таблицы кодировок хранились в локальной памяти или в ПЗУ
•Вывод текста выполнялся с помощью вызовов Video BIOS, которые обращались к таблицам знакогенератора и регистрам курсора
•Видеопамять хранила буфер кадра в формате [A:S]
•Сегодня такой механизм вывода текста используется на этапе POST и в старых ОС
•Обращение к Video BIOS производится только на этапе инициализации и при конфигурировании
•Вывод текста в графическом режиме выполняется средствами 2D-процессора
Графический контроллер
•В его функции входит обработка команд и программ от хоста и формирование буфера кадра
•Сегодня различают три независимых компонента графического контроллера:
–3D-процессор – наиболее сложная часть видеокарты, отвечает за 3D-рендеринг
–2D-процессор – наиболее простая и практически не развивающаяся часть, постепенно ее функции берет на себя 3D-процессор
–Видеопроцессор – обработка видеоданных, формирование оверлея
•3D-процессор все чаще используется для реализации функций 2D и Video ввиду большой мощности и наличия большого ассортимента функций обработки графических данных
3D-процессор
•Представляет собой сложный суперскалярный конвейерный векторный процессор с высокой степенью распараллеливания обработки (SIMD/MIMD)
•Имеются функции как DSP, так и векторной/скалярной обработки, целочисленная и плавающая арифметика
•Поддерживается микропрограммное управление с помощью шейдеров
•Основные функции:
–Геометрическая обработка (тесселяция, трансформация, освещение, затенение, преобразование координат, настройка треугольников)
–Текстурирование
–Фильтрация (билинейная, трилинейная, анизотропная)
–Антиальясинг, MIP-mapping, пост-обработка, HSR…
•При 3D-рендеринге используются дополнительные буферы, помимо фрейм-буфера (Front/Back): Z- буфер, W-буфер, Alpha-буфер, буфер шаблонов
•Для ускорения текстурирования необходим более широкий канал с памятью:
–Широкая шина подключения локальной видеопамяти (256 бит)
–Многоканальный перекрестный (Crossbar) контроллер памяти
–Применение памяти нового поколения (GDDR3, GDDR4) с высоким частотным потенциалом
•Технология загрузки текстур из памяти была введена
вAGP (DiME), появилась и в PCIe (TurboCache, HyperMemory)
•Выполнение геометрической и пиксельной обработки контролируется с помощью шейдеров, написанных на специальных языках высокого уровня (Cg, RenderMonkey)
•Общее управление рендерингом – API DirectX, OGL
2D-процессор
•Используется для аппаратного ускорения GUI
•Основные функции:
–Прорисовка примитивов – линий, кривых, полигонов
–Растеризация – вывод шрифтов, заливка, растяжение/сжатие, масштабирование
–Поддержка окон и спрайтов
–Поддержка курсора мыши
•Работа с 2D-процессором выполняется через драйвер видеокарты
Видеопроцессор
•Используется не всегда, требуется специфическая поддержка со стороны ПО
•Основные функции:
–Преобразование цветового пространства
–iDCT
–Де-интерлейсинг
–Компенсация движения
–Фильтрация для удаления блочности
–Спецэффекты с использованием шейдеров
–Масштабирование
•Построенная картинка отображается с помощью механизма оверлеев
•Расширенные возможности CRTC позволяют выводить видео в различных режимах, в том числе разделять видео и 2D/3D между дисплеями