Смекни!
smekni.com

Усовершенствование видеокарты (стр. 2 из 12)

Пример домашнего компьютера не-IBM - ZX Spectrum, имеет свою историю развития видеорежимов.

1.2 Устройство видеокарты

Современная видеокарта состоит из следующих частей (Рис. 1.1):

- графический процессор (Graphics processing unit — графическое процессорное устройство) — занимается расчётами выводимого изображения, освобождая от этой обязанности центральный процессор, производит расчёты для обработки команд трёхмерной графики. Является основой графической платы, именно от него зависят быстродействие и возможности всего устройства. Современные графические процессоры по сложности мало чем уступают центральному процессору компьютера, и зачастую превосходят его как по числу транзисторов, так и по вычислительной мощности, благодаря большому числу универсальных вычислительных блоков. Однако, архитектура GPU прошлого поколения обычно предполагает наличие нескольких блоков обработки информации, а именно: блок обработки 2D-графики, блок обработки 3D-графики, в свою очередь, обычно разделяющийся на геометрическое ядро (плюс кэш вершин) и блок растеризации (плюс кэш текстур) и др.

- видеоконтроллер — отвечает за формирование изображения в видеопамяти, даёт команды RAMDAC на формирование сигналов развёртки для монитора и осуществляет обработку запросов центрального процессора. Кроме этого, обычно присутствуют контроллер внешней шины данных (например, PCI или AGP), контроллер внутренней шины данных и контроллер видеопамяти. Ширина внутренней шины и шины видеопамяти обычно больше, чем внешней (64, 128 или 256 разрядов против 16 или 32), во многие видеоконтроллеры встраивается ещё и RAMDAC. Современные графические адаптеры (ATI, nVidia) обычно имеют не менее двух видеоконтроллеров, работающих независимо друг от друга и управляющих одновременно одним или несколькими дисплеями каждый.

- видеопамять — выполняет роль кадрового буфера, в котором хранится изображение, генерируемое и постоянно изменяемое графическим процессором и выводимое на экран монитора (или нескольких мониторов). В видеопамяти хранятся также промежуточные невидимые на экране элементы изображения и другие данные. Видеопамять бывает нескольких типов, различающихся по скорости доступа и рабочей частоте. Современные видеокарты комплектуются памятью типа DDR, DDR2, GDDR3, GDDR4 и GDDR5. Следует также иметь в виду, что помимо видеопамяти, находящейся на видеокарте, современные графические процессоры обычно используют в своей работе часть общей системной памяти компьютера, прямой доступ к которой организуется драйвером видеоадаптера через шину AGP или PCIE. В случае использования архитектуры UMA в качестве видеопамяти используется часть системной памяти компьютера.

- цифро-аналоговый преобразователь (ЦАП, RAMDAC — Random Access Memory Digital-to-Analog Converter) — служит для преобразования изображения, формируемого видеоконтроллером, в уровни интенсивности цвета, подаваемые на аналоговый монитор. Возможный диапазон цветности изображения определяется только параметрами RAMDAC. Чаще всего RAMDAC имеет четыре основных блока — три цифроаналоговых преобразователя, по одному на каждый цветовой канал (красный, зелёный, синий, RGB), и SRAM для хранения данных о гамма-коррекции. Большинство ЦАП имеют разрядность 8 бит на канал — получается по 256 уровней яркости на каждый основной цвет, что в сумме дает 16,7 млн цветов (а за счёт гамма-коррекции есть возможность отображать исходные 16,7 млн цветов в гораздо большее цветовое пространство). Некоторые RAMDAC имеют разрядность по каждому каналу 10 бит (1024 уровня яркости), что позволяет сразу отображать более 1 млрд цветов, но эта возможность практически не используется. Для поддержки второго монитора часто устанавливают второй ЦАП. Стоит отметить, что мониторы и видеопроекторы, подключаемые к цифровому DVI выходу видеокарты, для преобразования потока цифровых данных используют собственные цифроаналоговые преобразователи и от характеристик ЦАП видеокарты не зависят.

- видео-ПЗУ (Video ROM) — постоянное запоминающее устройство, в которое записаны видео-BIOS, экранные шрифты, служебные таблицы и т. п. ПЗУ не используется видеоконтроллером напрямую — к нему обращается только центральный процессор. Хранящийся в ПЗУ видео-BIOS обеспечивает инициализацию и работу видеокарты до загрузки основной операционной системы, а также содержит системные данные, которые могут читаться и интерпретироваться видеодрайвером в процессе работы (в зависимости от применяемого метода разделения ответственности между драйвером и BIOS). На многих современных картах устанавливаются электрически перепрограммируемые ПЗУ (EEPROM, Flash ROM), допускающие перезапись видео-BIOS самим пользователем при помощи специальной программы.

- система охлаждения — предназначена для сохранения температурного режима видеопроцессора и видеопамяти в допустимых пределах.

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

1.3 Функциональная схема видеокарты

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

Видеопамять является специальной областью памяти, из которой контроллер монитора организует циклическое чтение содержимого для регенерации изображения. Первоначально для видеопамяти в карте распределения памяти РС была выделена область адресов A0000h-BFFFFh, доступные любому процессору х86. Для увеличения объема памяти (для VGA и SVGA) пришлось

Риснок 1.1 – Функциональная схема видеокарты

применять технику переключения банков памяти. Современные графические адаптеры имеют возможность переадресации видеопамяти в область старших адресов (свыше 16 Мбайт), что позволяет в защищенном режиме процессора работать с цельными образами экранов. На графических адаптерах существует и архитектура унифицированной памяти UMA. При таком подходе под видеобуфер выделяется область системного ОЗУ. Но это приводит к снижению производительности как графической подсистемы, так и компьютера в целом. Для повышения производительности служит не просто выделение видеопамяти, но и применение в ней микросхем со специальной архитектурой - VRAM, WRAM, MDRAM, RDRAM, SGRAM.

Контроллер атрибутов управляет трактовкой цветовой информации, хранящейся в видеопамяти. В текстовом режиме он обрабатывает информацию из байт атрибутов знакомест, а в графическом - бит текущего выводимого пиксела. Контроллер атрибутов позволяет увязать объем хранимой цветовой информации с возможностями монитора. В состав контроллера атрибутов входят регистры палитр, которые служат для преобразования цветов, закодированных битами видеопамяти, в реальные цвета на экране. С появлением адаптеров, способных более 256 цветов, на видеокарту их монитора перенесли цифроаналоговые преобразователи (ЦАП) сигналов базисных цветов. Объединение ЦАП с регистрами палитр в настоящее время исполняется в виде микросхем RAMDAC (цифро-аналоговый преобразователь). Микросхемы RAMDAC характеризуются разрядностью преобразователей, которая может доходить до 8 бит на цвет, и предельной частотой выборки точек (DotCLK), с которой они способны работать.

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

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