Ramdac видеокарты что это
В последнее время многих интересовал вопрос, почему производители видеоадаптеров на базе чипсета i740 в спецификациях к своим платам указывают разные частоты RAMDAC. Например, для платы Asus V2740 заявлено значение 205 MHz, а у платы Real3D StarFighter заявлено значение 220 MHz. В данной статье мы попытались дать ответ на это вопрос, а также пояснить принципы работы RAMDAC и дать некоторые рекомендации.
Палитра, хранящаяся в RAM, имеет 256 позиций, каждая из которых хранит 24 бита данных о цвете, по 8 бит для каждого из трех основных составляющих цветов Red, Green и Blue. Емкость RAM соответствует значению 256 х 24 = 6144 бит или 768 байт. Для RAM используется стандартная память, изготовленная по технологии DRAM и интегрированная вместе с графическим контроллером и DAC в одну микросхему, иначе говоря - в один силикон (кремний).
Кстати, технология включения RAM для DAC в графический чипсет не имеет никакого отношения к так называемой Embedded RAM (Встраиваемая память). Последняя используется в качестве локальной памяти (Local Memory), также называемой буфером кадра. Некоторые графические чипсеты от C&T и NeoMagic имеют 1 или 2 МБ памяти, интегрированные в одну микросхему вместе с графическим контроллером и DAC. Однако современные 3D графические контроллеры должны иметь не менее 8 МБ памяти для буфера кадра, а интегрировать такие объемы памяти пока не позволяет существующая технология. Так что в высокопроизводительных графических чипсетах пока не будет применятся технология встраиваемой памяти. Технология Embedded RAM рассчитана на недорогие или портативные решения (когда энергопотребление и габариты важнейшие параметры).
Скорость работы RAM (в случае с чипсетом i740) при взаимодействии с DAC ограничена 205 MHz, в результате чего данные палитры не могут отображаться с частотой большей, чем 205 MHz.
Во втором режиме RAMDAC оперирует цветовыми данными. В этом режиме (при 16, 24 или 32 бит представлении цвета) данными является RGB цвет. Например, при 16-битном представлении цвета 5 бит определяют красный (Red), 6 бит — зеленый (Green) и 5 бит — синий (Blue) цвета. Для зеленого цвета используется больше бит, так как человеческий глаз более чувствителен к зеленому. При 24 или 32 бит представлении цвета для каждого из цветов используется по 8 бит данных. В этом режиме данные, определяющие цвет, передаются непосредственно в DAC без использования RAM, т.е. не используются загружаемые палитры и данные передаются напрямую из видеопамяти. Так как RAM не задействована, то нет и ограничения в 205 MHz для частоты, на которой работает DAC. Единственным ограничением является максимально возможная скорость работы DAC, в случае с чипсетом i740 это значение равно 220 MHz.
Выбор режима работы RAMDAC происходит так: операционная система Windows95/98/NT или приложение сообщает о требуемом режиме драйверу видеоадаптера, который и переводит RAMDAC в один или другой режим работы. Утилита управления режимами монитора (Display Control Panel) в Windows предоставляет возможность выбора между 8, 16 или 24/32 бит представлением цвета. Это и есть способ, с помощью которого Windows выбирает режим работы RAMDAC. Приложение, которое запускается на полный экран, может устанавливать любой, требуемый ему, режим, главное, чтобы этот режим поддерживался видеоадаптером.
Выбор режима работы RAMDAC никак не связан с типом используемой видеопамяти.
Удостовериться, что заявленные значения скорости работы RAMDAC правда, достаточно просто. Если известно, в каком разрешении вы работаете, например, 1024х768, и с какой частотой происходит обновление изображения (refresh rate), например, 75 Hz, значит можно узнать, какова скорость работы DAC. Скорости в 220 MHz вполне достаточно для отображения в режимах 1280х1024 при 85 Hz и 1600х1200 при 75 Hz. Для режима 1600х1200 при 85 Hz требуется скорость в 250 MHz. Известно, что по Европейским стандартам во всех разрешениях должна поддерживаться частота обновления экрана в 85 Hz, однако лишь немногие модели современных мониторов могут работать в режиме 1600х1200 при 85 Hz.
Напомним известные факты: если частота обновления экрана слишком низкая, то пользователю будет заметно мерцание изображения, вследствие чего можно испортить зрение. Частота обновления экрана в 75 Hz уже достаточно быстрая, чтобы глаз человека не замечал мерцания. Поэтому гораздо более разумно сосредоточить внимание на значениях частоты обновления изображения, а не на скорости работы DAC, тем более, что эти значения взаимосвязаны.
Итак, вернемся к вопросу о том, почему разные производители видеоплат на чипсете i740 указывают разные значения скорости RAMDAC. Теперь мы все точно знаем, что любой RAMDAC имеет два режима работы и, соответственно, две разные скорости. Производители видеоплат всегда, исходя из маркетинговых соображений и, чтобы не забивать головы покупателей разными цифрами, указывали в спецификациях максимальную частоту работы RAMDAC. Почему же некоторые из производителей плат на i740 стали использовать более низкие значения скорости RAMDAC? Может быть, у них в распоряжении урезанные драйверы или биосы, разрешающие работу RAMDAC только в режиме с использованием палитры? Ответ прост и банален. Обычная ошибка маркетологов, плохо понимающих, что производит и продает их компания. Кстати, к этому приложила руку и корпорация Intel, снабдив производителей неполными данными, а те, в свою очередь, не стали вдаваться в технические подробности. И действительно, чего тут думать, чипсет есть, значит можно и плату сделать. Вот все кому не лень и стали этим заниматься. Правда, не случись такой ошибки, так бы все пользователи и думали, что RAMDAC работает всегда с одной скоростью. А потребитель может сделать вывод о компетентности производителя. Если указанное значение RAMDAC у платы на базе i740 равно 205 Mhz (или еще более меньшей цифре), значит производитель этого акселератора плохо понимает, о чем вообще идет речь.
Кстати, лично нам пока известны только два производителя, которые точно знают, что такое RAMDAC — это компании Real3D и Gigabyte.
Итак, еще раз подчеркнем: все чипсеты i740 абсолютно одинаковы и имеют интегрированный RAMDAC, работающий в двух режимах. Максимальная скорость RAMDAC чипсета i740 равна 220 MHz, а минимальная (в режиме работы с данными палитры) соответствует 205 MHz .
Вообще же, обычно RAMDAC в обоих режимах работает с одинаковой скоростью. В новой ревизии i740 RAMDAC будет иметь частоту 230 МГц во всех режимах. Кстати, а Вам известно, какую вторую, возможно, более медленную, скорость работы имеет RAMDAC на вашей видеоплате?
Редакция выражает благодарность Моргану Дж. Демпси (Morgan J. Dempsey) за оказанную помощь в подготовке этой статьи
RAMDAC это часть графического контроллера ответственного за преобразование пиксельных значений из цифровой в аналоговую форму. Аппаратная структура RAMDAC содержит два компонента: RAM и DAC. RAM расшифровывается как Random Access Memory (Память Произвольного Доступа). DAC - Digital to Analog Converter - Цифрово-Аналоговый Преобразователь. RAM-часть RAMDAC это небольшая, быстрая статическая память, хранящая значения Красного, Зеленого и Синего в цифровой форме. DAC это структура (на самом деле три независимых DACа), которая конвертирует бинарные слова представляющие интенсивность Красного, Зеленого и Голубого в уровни напряжения на соответствующих сигнальных линиях.
Устройство
Современная видеокарта состоит из следующих частей:
- графический процессор (Graphics processing unit - графическое процессорное устройство) — занимается расчётами выводимого изображения, освобождая от этой обязанности центральный процессор, производит расчёты для обработки команд трёхмерной графики. Является основой графической платы, именно от него зависят быстродействие и возможности всего устройства. Современные графические процессоры по сложности мало чем уступают центральному процессору компьютера, и зачастую превосходят его как по числу транзисторов, так и по вычислительной мощности, благодаря большому числу универсальных вычислительных блоков. Однако, архитектура GPU прошлого поколения обычно предполагает наличие нескольких блоков обработки информации, а именно: блок обработки 2D-графики, блок обработки 3D-графики, в свою очередь, обычно разделяющийся на геометрическое ядро (плюс кэш вершин) и блок растеризации (плюс кэш текстур) и др.
- видеоконтроллер — отвечает за формирование изображения в видеопамяти, даёт команды RAMDAC на формирование сигналов развёртки для монитора и осуществляет обработку запросов центрального процессора. Кроме этого, обычно присутствуют контроллер внешней шины данных (например, PCI или AGP), контроллер внутренней шины данных и контроллер видеопамяти. Ширина внутренней шины и шины видеопамяти обычно больше, чем внешней (64, 128 или 256 разрядов против 16 или 32), во многие видеоконтроллеры встраивается ещё и RAMDAC. Современные графические адаптеры (ATI, nVidia) обычно имеют не менее двух видеоконтроллеров, работающих независимо друг от друга и управляющих одновременно одним или несколькими дисплеями каждый.
- видеопамять — выполняет роль кадрового буфера, в котором хранится изображение, генерируемое и постоянно изменяемое графическим процессором и выводимое на экран монитора (или нескольких мониторов). В видеопамяти хранятся также промежуточные невидимые на экране элементы изображения и другие данные. Видеопамять бывает нескольких типов, различающихся по скорости доступа и рабочей частоте. Современные видеокарты комплектуются памятью типа DDR, DDR2, GDDR4 и
- цифро-аналоговый преобразователь (ЦАП, 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). На многих современных картах устанавливаются электрически перепрограммируемые ПЗУ (
- система охлаждения — предназначена для сохранения температурного режима видеопроцессора и видеопамяти в допустимых пределах.
Правильная и полнофункциональная работа современного графического адаптера обеспечивается с помощью видеодрайвера — специального программного обеспечения, поставляемого производителем видеокарты и загружаемого в процессе запуска операционной системы. Видеодрайвер выполняет функции интерфейса между системой с запущенными в ней приложениями и видеоадаптером. Так же как и видео-BIOS, видеодрайвер организует и программно контролирует работу всех частей видеоадаптера через специальные регистры управления, доступ к которым происходит через соответствующую шину.
Поколения 3D-ускорителей
- DirectX 7 — карта не поддерживает шейдеры, все картинки рисуются наложением текстур;
- DirectX 8 — поддержка пиксельных шейдеров версий 1.0, 1.1 и 1.2, в DX 8.1 ещё и версию 1.4, поддержка вершинных шейдеров версии 1.0;
- DirectX 9 — поддержка пиксельных шейдеров версий 2.0, 2.0a и 2.0b, 3.0;
- DirectX 10 — поддержка унифицированных шейдеров версии 4.0;
- DirectX 10.1 — поддержка унифицированных шейдеров версии 4.1.
- OpenGL 1.0
- OpenGL 1.2
- OpenGL 1.4
- OpenGL 2.0
- OpenGL 2.1
- OpenGL 3.0
Видеопамять
Кроме шины данных, второе узкое место любого видеоадаптера — это пропускная способность (англ. bandwidth ) памяти самого видеоадаптера. Причём, изначально проблема возникла даже не столько из-за скорости обработки видеоданных (это сейчас часто стоит проблема информационного "голода" видеоконтроллера, когда он данные обрабатывает быстрее, чем успевает их читать/писать из/в видеопамять), сколько из-за необходимости доступа к ним со стороны видеопроцессора, центрального процессора и RAMDAC’а. Дело в том, что при высоких разрешениях и большой глубине цвета для отображения страницы экрана на мониторе необходимо прочитать все эти данные из видеопамяти и преобразовать в аналоговый сигнал, который и пойдёт на монитор, столько раз в секунду, сколько кадров в секунду показывает монитор. Возьмём объём одной страницы экрана при разрешении 1024x768 точек и глубине цвета 24 бит (True Color), это составляет 2,25 МиБ. При частоте кадров 75 Гц необходимо считывать эту страницу из памяти видеоадаптера 75 раз в секунду (считываемые пикселы передаются в RAMDAC и он преобразовывает цифровые данные о цвете пиксела в аналоговый сигнал, поступающий на монитор), причём, ни задержаться, ни пропустить пиксел нельзя, следовательно, номинально потребная пропускная способность видеопамяти для данного разрешения составляет приблизительно 170 МиБ/с, и это без учёта того, что необходимо и самому видеоконтроллеру писать и читать данные из этой памяти. Для разрешения 1600x1200x32 бит при той же частоте кадров 75 Гц, номинально потребная пропускная составляет уже 550 МиБ/с, для сравнения, процессор Pentium-2 имел пиковую скорость работы с памятью 528 МиБ/с. Проблему можно было решать двояко — либо использовать специальные типы памяти, которые позволяют одновременно двум устройствам читать из неё, либо ставить очень быструю память. О типах памяти и пойдёт речь ниже.
FPM DRAM (Fast Page Mode Dynamic RAM - динамическое ОЗУ с быстрым страничным доступом) — основной тип видеопамяти, идентичный используемой в системных платах. Использует асинхронный доступ, при котором управляющие сигналы не привязаны жёстко к тактовой частоте системы. Активно применялся примерно до 1996 г.
Matrox и Number Nine, поскольку требует специальных методов доступа и обработки данных. Наличие всего одного производителя данного типа памяти (Samsung) сильно сократило возможности её использования. Видеоадаптеры, построенные с использованием данного типа памяти, не имеют тенденции к падению производительности при установке больших разрешений и частот обновления экрана, на однопортовой же памяти в таких случаях RAMDAC всё большее время занимает шину доступа к видеопамяти и производительность видеоадаптера может сильно упасть.
EDO DRAM (Extended Data Out DRAM — динамическое ОЗУ с расширенным временем удержания данных на выходе) — тип памяти с элементами конвейеризации, позволяющий несколько ускорить обмен блоками данных с видеопамятью приблизительно на 25 %.
DDR SDRAM (Double Data Rate) — вариант SDRAM с передачей данных по двум срезам сигнала, получаем в результате удвоение скорости работы. Дальнейшее развитие пока происходит в виде очередного уплотнения числа пакетов в одном такте шины - DDR2 SDRAM (GDDR2), DDR3 SDRAM (GDDR3) и т.д.
SGRAM (Synchronous Graphics RAM — синхронное графическое ОЗУ) вариант DRAM с синхронным доступом. В принципе, работа SGRAM полностью аналогична SDRAM, но дополнительно поддерживаются ещё некоторые специфические функции, типа блоковой и масочной записи. В отличие от VRAM и WRAM, SGRAM является однопортовой, однако может открывать две страницы памяти как одну, эмулируя двухпортовость других типов видеопамяти.
MDRAM (Multibank DRAM — многобанковое ОЗУ) — вариант DRAM, разработанный фирмой MoSys, организованный в виде множества независимых банков объёмом по 32 КиБ каждый, работающих в конвейерном режиме.
Скорость RAMDAC
Скорость RAMDAC это частота с которой RAMDAC обрабатывает пиксели и посылает видео сигналы на монитор. "Скорость" зависит от текущего видео режима. Если скорость RAMDAC дана как параметр графической карты, это максимальная скорость, которая может быть достигнута RAMDACом. Этот параметр не измеряет производительность карты - он просто отражает максимальный коэффициент обновления монитора, который может быть достигнут картой. Реально RAMDAC работает на своих скоростных пределах только в очень высоких графических разрешениях. Таблица ниже содержит частоты RAMDAC при различных разрешениях и коэффициентах обновления.Разрешение | Скорость RAMDAC speed [МГц] при | |||
60 Гц | 70 Гц | 75 Гц | 85 Гц | |
640x480 | 25.175 | 31.5 | 31,5 | 36 |
800x600 | 40 | 50 | 48.5 | 56.25 |
1024x768 | 65 | 75 | 78.75 | 94.5 |
1152x864 | 94.2 | 108 | 121 | |
1280x1024 | 108 | 135 | 157.5 | |
1600x1200 | 162 | 189 | 202.5 | 229.5 |
1800x1440 | 214 | 250 |
Интерфейс
Первое препятствие к повышению быстродействия видеосистемы — это интерфейс передачи данных, к которому подключён видеоадаптер. Как бы ни был быстр процессор видеоадаптера, большая часть его возможностей останется незадействованной, если не будут обеспечены соответствующие каналы обмена информацией между ним, центральным процессором, оперативной памятью компьютера и дополнительными видеоустройствами. Основным каналом передачи данных является, конечно, интерфейсная шина материнской платы, через которую обеспечивается обмен данными с центральным процессором и оперативной памятью. Самой первой шиной использовавшейся в IBM PC была XT-Bus, она имела разрядность 8 бит данных и 20 бит адреса и работала на частоте 4,77 МГц. Далее появилась шина VLB (VESA Local Bus — локальная шина стандарта VESA). Работая на внешней тактовой частоте процессора, которая составляла от 25 МГц до 50 МГц, и имея разрядность 32 бит, шина VLB обеспечивала пиковую пропускную способность около 130 МиБ/с. Этого уже было более чем достаточно для всех существовавших приложений, помимо этого возможность использования её не только для видеоадаптеров, наличие трёх слотов подключения и обеспечение обратной совместимости с ISA (VLB представляет собой просто ещё один 116 контактный разъём за слотом ISA) гарантировали ей достаточно долгую жизнь и поддержку многими производителями чипсетов для материнских плат, и периферийных устройств, даже несмотря на то, что при частотах 40 МГц и 50 МГц обеспечить работу даже двух устройств подключенных к ней представлялось проблематичным из-за чрезмерно высокой нагрузки на каскады центрального процессора (ведь большинство управляющих цепей шло с VLB на процессор напрямую, безо всякой буферизации). И всё-таки, с учётом того, что не только видеоадаптер стал требовать высокую скорость обмена информацией, и явной невозможности подключения к VLB всех устройств (и необходимостью наличия межплатформенного решения, не ограничивающегося только PC), была разработана шина
С появлением процессоров Intel Pentium II, и серьёзной заявкой PC на принадлежность к рынку высокопроизводительных рабочих станций, а так же с появлением 3D-игр со сложной графикой, стало ясно, что пропускной способности PCI в том виде, в каком она существовала на платформе PC (обычно частота 33 МГц и разрядность 32 бит), скоро не хватит на удовлетворение запросов системы. Поэтому фирма Intel решила сделать отдельную шину для графической подсистемы, несколько модернизировала шину PCI, обеспечила новой получившейся шине отдельный доступ к памяти с поддержкой некоторых специфических запросов видеоадаптеров, и назвала это PCI Express версий 1.0 и 2.0, это последовательный, в отличие от AGP, интерфейс, его пропускная способность может достигать нескольких десятков ГБ/с. На данный момент произошёл практически полный отказ от шины AGP в пользу PCI Express. Однако стоит отметить, что некоторые производители до сих предлагают достаточно современные по своей конструкции видеоплаты с интерфейсами PCI и AGP — во многих случаях это достаточно простой путь резко повысить производительность морально устаревшего ПК в некоторых графических задачах.
Видеопамять
Кроме шины данных, второе узкое место любого видеоадаптера — это пропускная способность (англ. bandwidth ) памяти самого видеоадаптера. Причём, изначально проблема возникла даже не столько из-за скорости обработки видеоданных (это сейчас часто стоит проблема информационного "голода" видеоконтроллера, когда он данные обрабатывает быстрее, чем успевает их читать/писать из/в видеопамять), сколько из-за необходимости доступа к ним со стороны видеопроцессора, центрального процессора и RAMDAC’а. Дело в том, что при высоких разрешениях и большой глубине цвета для отображения страницы экрана на мониторе необходимо прочитать все эти данные из видеопамяти и преобразовать в аналоговый сигнал, который и пойдёт на монитор, столько раз в секунду, сколько кадров в секунду показывает монитор. Возьмём объём одной страницы экрана при разрешении 1024x768 точек и глубине цвета 24 бит (True Color), это составляет 2,25 МиБ. При частоте кадров 75 Гц необходимо считывать эту страницу из памяти видеоадаптера 75 раз в секунду (считываемые пикселы передаются в RAMDAC и он преобразовывает цифровые данные о цвете пиксела в аналоговый сигнал, поступающий на монитор), причём, ни задержаться, ни пропустить пиксел нельзя, следовательно, номинально потребная пропускная способность видеопамяти для данного разрешения составляет приблизительно 170 МиБ/с, и это без учёта того, что необходимо и самому видеоконтроллеру писать и читать данные из этой памяти. Для разрешения 1600x1200x32 бит при той же частоте кадров 75 Гц, номинально потребная пропускная составляет уже 550 МиБ/с, для сравнения, процессор Pentium-2 имел пиковую скорость работы с памятью 528 МиБ/с. Проблему можно было решать двояко — либо использовать специальные типы памяти, которые позволяют одновременно двум устройствам читать из неё, либо ставить очень быструю память. О типах памяти и пойдёт речь ниже.
FPM DRAM (Fast Page Mode Dynamic RAM - динамическое ОЗУ с быстрым страничным доступом) — основной тип видеопамяти, идентичный используемой в системных платах. Использует асинхронный доступ, при котором управляющие сигналы не привязаны жёстко к тактовой частоте системы. Активно применялся примерно до 1996 г.
Matrox и Number Nine, поскольку требует специальных методов доступа и обработки данных. Наличие всего одного производителя данного типа памяти (Samsung) сильно сократило возможности её использования. Видеоадаптеры, построенные с использованием данного типа памяти, не имеют тенденции к падению производительности при установке больших разрешений и частот обновления экрана, на однопортовой же памяти в таких случаях RAMDAC всё большее время занимает шину доступа к видеопамяти и производительность видеоадаптера может сильно упасть.
EDO DRAM (Extended Data Out DRAM — динамическое ОЗУ с расширенным временем удержания данных на выходе) — тип памяти с элементами конвейеризации, позволяющий несколько ускорить обмен блоками данных с видеопамятью приблизительно на 25 %.
DDR SDRAM (Double Data Rate) — вариант SDRAM с передачей данных по двум срезам сигнала, получаем в результате удвоение скорости работы. Дальнейшее развитие пока происходит в виде очередного уплотнения числа пакетов в одном такте шины - DDR2 SDRAM (GDDR2), DDR3 SDRAM (GDDR3) и т.д.
SGRAM (Synchronous Graphics RAM — синхронное графическое ОЗУ) вариант DRAM с синхронным доступом. В принципе, работа SGRAM полностью аналогична SDRAM, но дополнительно поддерживаются ещё некоторые специфические функции, типа блоковой и масочной записи. В отличие от VRAM и WRAM, SGRAM является однопортовой, однако может открывать две страницы памяти как одну, эмулируя двухпортовость других типов видеопамяти.
MDRAM (Multibank DRAM — многобанковое ОЗУ) — вариант DRAM, разработанный фирмой MoSys, организованный в виде множества независимых банков объёмом по 32 КиБ каждый, работающих в конвейерном режиме.
Видеока́рта (известна также как графи́ческая пла́та, графи́ческая ка́рта, видеоада́птер) (англ. videocard ) — устройство, преобразующее изображение, находящееся в памяти компьютера, в видеосигнал для монитора.
Обычно видеокарта является платой расширения и вставляется в разъём расширения, универсальный (ISA, VLB, PCI, PCI-Express) или специализированный (
Эволюция VGA RAMDACов
Интерфейс
Первое препятствие к повышению быстродействия видеосистемы — это интерфейс передачи данных, к которому подключён видеоадаптер. Как бы ни был быстр процессор видеоадаптера, большая часть его возможностей останется незадействованной, если не будут обеспечены соответствующие каналы обмена информацией между ним, центральным процессором, оперативной памятью компьютера и дополнительными видеоустройствами. Основным каналом передачи данных является, конечно, интерфейсная шина материнской платы, через которую обеспечивается обмен данными с центральным процессором и оперативной памятью. Самой первой шиной использовавшейся в IBM PC была XT-Bus, она имела разрядность 8 бит данных и 20 бит адреса и работала на частоте 4,77 МГц. Далее появилась шина VLB (VESA Local Bus — локальная шина стандарта VESA). Работая на внешней тактовой частоте процессора, которая составляла от 25 МГц до 50 МГц, и имея разрядность 32 бит, шина VLB обеспечивала пиковую пропускную способность около 130 МиБ/с. Этого уже было более чем достаточно для всех существовавших приложений, помимо этого возможность использования её не только для видеоадаптеров, наличие трёх слотов подключения и обеспечение обратной совместимости с ISA (VLB представляет собой просто ещё один 116 контактный разъём за слотом ISA) гарантировали ей достаточно долгую жизнь и поддержку многими производителями чипсетов для материнских плат, и периферийных устройств, даже несмотря на то, что при частотах 40 МГц и 50 МГц обеспечить работу даже двух устройств подключенных к ней представлялось проблематичным из-за чрезмерно высокой нагрузки на каскады центрального процессора (ведь большинство управляющих цепей шло с VLB на процессор напрямую, безо всякой буферизации). И всё-таки, с учётом того, что не только видеоадаптер стал требовать высокую скорость обмена информацией, и явной невозможности подключения к VLB всех устройств (и необходимостью наличия межплатформенного решения, не ограничивающегося только PC), была разработана шина
С появлением процессоров Intel Pentium II, и серьёзной заявкой PC на принадлежность к рынку высокопроизводительных рабочих станций, а так же с появлением 3D-игр со сложной графикой, стало ясно, что пропускной способности PCI в том виде, в каком она существовала на платформе PC (обычно частота 33 МГц и разрядность 32 бит), скоро не хватит на удовлетворение запросов системы. Поэтому фирма Intel решила сделать отдельную шину для графической подсистемы, несколько модернизировала шину PCI, обеспечила новой получившейся шине отдельный доступ к памяти с поддержкой некоторых специфических запросов видеоадаптеров, и назвала это PCI Express версий 1.0 и 2.0, это последовательный, в отличие от AGP, интерфейс, его пропускная способность может достигать нескольких десятков ГБ/с. На данный момент произошёл практически полный отказ от шины AGP в пользу PCI Express. Однако стоит отметить, что некоторые производители до сих предлагают достаточно современные по своей конструкции видеоплаты с интерфейсами PCI и AGP — во многих случаях это достаточно простой путь резко повысить производительность морально устаревшего ПК в некоторых графических задачах.
Оригинальный VGA RAMDAC
Содержание
История
Одним из первых графических адаптеров для IBM PC стал MDA (Monochrome Display Adapter) в 1981 году. Он работал только в текстовом режиме с разрешением 80×25 символов (физически 720×350 точек) и поддерживал пять атрибутов текста: обычный, яркий, инверсный, подчёркнутый и мигающий. Никакой цветовой или графической информации он передавать не мог, и то, какого цвета будут буквы, определялось моделью использовавшегося монитора. Обычно они были чёрно-белыми, янтарными или изумрудными. Фирма Hercules в 1982 году выпустила дальнейшее развитие адаптера MDA, видеоадаптер графическое разрешение 720×348 точек и поддерживал две графические страницы. Но он всё ещё не позволял работать с цветом.
Первой цветной видеокартой стала IBM и ставшая основой для последующих стандартов видеокарт. Она могла работать либо в текстовом режиме с разрешениями 40×25 и 80×25 (матрица символа — 8×8), либо в графическом с разрешениями 320×200 или 640×200. В текстовых режимах доступно 256 атрибутов символа — 16 цветов символа и 16 цветов фона (либо 8 цветов фона и атрибут мигания), в графическом режиме 320×200 было доступно четыре палитры по четыре цвета каждая, режим высокого разрешения 640×200 был монохромным. В развитие этой карты появился
Стоит заметить, что интерфейсы с монитором всех этих типов видеоадаптеров были цифровые, MDA и HGC передавали только светится или не светится точка и дополнительный сигнал яркости для атрибута текста «яркий», аналогично CGA по трём каналам (красный, зелёный, синий) передавал основной видеосигнал, и мог дополнительно передавать сигнал яркости (всего получалось 16 цветов), EGA имел по две линии передачи на каждый из основных цветов, то есть каждый основной цвет мог отображаться с полной яркостью, 2/3, или 1/3 от полной яркости, что и давало в сумме максимум 64 цвета.
В ранних моделях компьютеров от IBM PS/2, появляется новый графический адаптер
Потом IBM пошла ещё дальше и сделала
С 1991 года появилось понятие VBE (VESA BIOS Extention — расширение VESA). SVGA воспринимается как фактический стандарт видеоадаптера где-то с середины 1992 года, после принятия ассоциацией VESA (Video Electronics Standart Association — ассоциация стандартизации видео-электроники) стандарта VBE версии 1.0. До того момента практически все видеоадаптеры SVGA были несовместимы между собой.
Графический пользовательский интерфейс, появившийся во многих операционных системах, стимулировал новый этап развития видеоадаптеров. Появляется понятие «графический ускоритель» (graphics accelerator). Это видеоадаптеры, которые производят выполнение некоторых графических функций на аппаратном уровне. К числу этих функций относятся, перемещение больших блоков изображения из одного участка экрана в другой (например при перемещении окна), заливка участков изображения, рисование линий, дуг, шрифтов, поддержка аппаратного курсора и т. п. Прямым толчком к развитию столь специализированного устройства явилось то, что графический пользовательский интерфейс несомненно удобен, но его использование требует от центрального процессора немалых вычислительных ресурсов, и современный графический ускоритель как раз и призван снять с него львиную долю вычислений по окончательному выводу изображения на экран.
Характеристики
- ширина шины памяти, измеряется в битах — количество бит информации, передаваемой за такт. Важный параметр в производительности карты.
- объём видеопамяти, измеряется в мегабайтах — объём встроенной оперативной памяти видеокарты.
- частоты ядра и памяти — измеряются в мегагерцах, чем больше, тем быстрее видеокарта будет обрабатывать информацию.
- техпроцесс — технология изготовления основных микросхем видеокарты, указывается характерный размер, измеряемый в нанометрах (нм), современные микросхемы выпускаются по 90, 80, 65, 55 или 40-нм нормам техпроцесса. Чем меньше данный параметр, тем больше элементов можно уместить на кристалле микросхемы.
- текстурная и пиксельная скорость заполнения, измеряется в млн. пикселов в секунду, показывает количество выводимой информации в единицу времени.
- выводы карты — первоначально видеоадаптер имел всего один разъём VGA (15-контактный D-Sub). В настоящее время платы оснащают одним или двумя разъёмами DVI или Display Port. Порты D-SUB, DVI и USB-концентраторы и иные устройства ввода-вывода. На видеокарте также возможно размещение композитных и
Положение с 230 и 250 МГц
Как видно из таблицы выше, RAMDAC достигает частот выше 230 МГц только в разрешениях превышающих 1600x1200 точек. На практике это значит что большинство пользователей никогда не используют RAMDAC на скорости выше 230 МГц и, если уж честно, большинство из нас никогда не использовало скорость выше 160 МГц. Итак, что за шум по поводу 250 МГц RAMDACов? Хорошо, владение "быстрой" картой производит какое-то впечатление не из-за скоростного предела RAMDAC, но в основном потому, что у этих карт обычно немного быстрее часы. Также аналоговый выход высокочастотных RAMDACов может производить немного более "четкие" точки, но - опять же - это заметно только при очень высоких разрешениях.
Собственно сам процессор на схеме обозначен желтым прямоугольником, остальные окружающие его блоки показаны для более полной картины. Заявлено, что NV40 содержит 6 независимых процессоров (мысленно скопируем желтый блок 6 раз), каждый из которых исполняет свои команды и имеет собственную контрольную логику (то есть разные процессоры могут одновременно исполнять различные ветки условий над разными вершинами). За один такт вершинный процессор NV40 может выполнить одну векторную операцию (до четырех компонент FP32) одну скалярную FP32 операцию и осуществить один доступ к текстуре. Поддерживаются целочисленные и плавающие форматы текстур и мип-маппинг. В одном вершинном шейдере может быть задействовано до четырех различных текстур. Однако фильтрация не производится – возможен только самый простой, дискретный доступ к ближайшему значению по заданным координатам.
Так выглядит сводная табличка параметров вершинного процессора NV40 с точки зрения вершинных шейдеров DX9 в сравнении с семействами R3XX и NV3X:
Рассмотрим пиксельную архитектуру NV40 в порядке следования данных:
Остановимся на самых интересных фактах. Во-первых, если ранее в NV3X был лишь один процессор квадов, обрабатывающий за такт блок из четырех пикселей (2х2), то теперь таких процессоров стало четыре. Они полностью независимы и каждый из них может исключаться из работы (например, для создания облегченной версии чипа с тремя процессорами при наличии брака в одном из них). По-прежнему сохранилась очередь для «карусели» квадов (см. DX Current), своя в каждом процессоре. Соответственно, сохранился и схожий с NV3X подход на исполнение пиксельных шейдеров: прогон через одну настройку (операцию) более чем сотни квадов и последующей смены настройки в соответствии с кодом шейдера. Но есть и заметные отличия. В первую очередь – это число TMU – теперь у нас только по одному TMU на каждый пиксель квада. Всего у нас 4 процессора квадов, в каждом по 4 TMU, таким образом, всего их 16.
Новые TMU поддерживают анизотропную фильтрацию с соотношением сторон до 16:1 включительно (так называемые 16х, у NV3X было до 8х) и, наконец-то, научились выполнять все виды фильтрации с плавающими форматами текстур. Правда, при условии 16 битной точности компонент (FP16). Для FP32 фильтрация по-прежнему недоступна, однако и FP16 можно считать заметным прогрессом – теперь плавающие текстуры станут «полноправной» альтернативой целочисленным в любых применениях, тем более что сама фильтрация FP16 текстур происходит без снижения скорости (впрочем, повышенный поток данных может и должен сказаться на производительности реальных приложений).
Отметим двухуровневую организацию кэширования текстур – каждый процессор квада имеет свой собственный кэш текстур первого уровня. Необходимость наличия оного вызвана двумя фактами – четырехкратным увеличением числа обрабатываемых одновременно квадов (очередь квадов в одном процессоре не выросла, но процессоров теперь четыре) и наличием конкурентного доступа к кэшу текстур из вершинных процессоров.
На каждый пиксель приходится по два ALU, причем каждое из них может выполнить две различные(!) операции над разным числом произвольно выбираемых компонент вектора (до 4х). То есть, возможны схемы 4, 1+1, 2+1, 3+1 (как в R3XX), и новая конфигурация 2+2, ранее недоступная. Подробнее об этом вопросе см. DX Current. Поддерживается произвольное маскирование и перестановка компонент после операции. Кроме того, ALU способно выполнять нормализацию вектора как одну операцию, что может существенно сказаться на производительности некоторых алгоритмов. Аппаратное вычисление значений SIN и COS было изъято из новой архитектуры NVIDIA – опыт показал, что израсходованные на эту возможность транзисторы были потрачены зря – все равно доступ по простейшей таблице (1D текстуре) способен дать лучшие результаты с точки зрения скорости, тем более, учитывая отсутствие такой поддержки у ATI.
Таким образом, в зависимости от кода, может быть выполнено от одной до четырех различных FP32 операций за такт, над векторами и скалярами. На схеме видно, что первое ALU задействуется для служебных операций во время выборки значений текстур, таким образом, за один такт мы можем либо выбрать одно значение текстуры и задействовать второе ALU для одной или двух операций, либо задействовать оба ALU, если мы не выбираем текстуру в этот заход. Производительность такой связки напрямую зависит от компилятора и кода, но очевидно, что мы имеем
Минимум: одну выборку текстуры за такт
Минимум: две операции за такт без выборки текстуры
Максимум: четыре операции за такт без выборки текстуры
Максимум: одну выборку текстуры и две операции за такт
По некоторым данным, число временных регистров для каждого квада было увеличено вдвое, то есть теперь мы имеем 4 временных FP32 регистра на пиксель или 8 временных FP16 регистров. Этот факт должен существенно увеличить производительность сложных шейдеров. Кроме того, сняты какие-либо аппаратные ограничения на длину пиксельных шейдеров и число выборок текстур – теперь все будет зависеть только от API. Самое главное усовершенствование – поддержка динамического управления исполнением.
Видеока́рта (известна также как графи́ческая пла́та, графи́ческая ка́рта, видеоада́птер) (англ. videocard ) — устройство, преобразующее изображение, находящееся в памяти компьютера, в видеосигнал для монитора.
Обычно видеокарта является платой расширения и вставляется в разъём расширения, универсальный (ISA, VLB, PCI, PCI-Express) или специализированный (
Оригинальный VGA RAMDAC
Современные RAMDAC`и
Содержание
Характеристики
- ширина шины памяти, измеряется в битах — количество бит информации, передаваемой за такт. Важный параметр в производительности карты.
- объём видеопамяти, измеряется в мегабайтах — объём встроенной оперативной памяти видеокарты.
- частоты ядра и памяти — измеряются в мегагерцах, чем больше, тем быстрее видеокарта будет обрабатывать информацию.
- техпроцесс — технология изготовления основных микросхем видеокарты, указывается характерный размер, измеряемый в нанометрах (нм), современные микросхемы выпускаются по 90, 80, 65, 55 или 40-нм нормам техпроцесса. Чем меньше данный параметр, тем больше элементов можно уместить на кристалле микросхемы.
- текстурная и пиксельная скорость заполнения, измеряется в млн. пикселов в секунду, показывает количество выводимой информации в единицу времени.
- выводы карты — первоначально видеоадаптер имел всего один разъём VGA (15-контактный D-Sub). В настоящее время платы оснащают одним или двумя разъёмами DVI или Display Port. Порты D-SUB, DVI и USB-концентраторы и иные устройства ввода-вывода. На видеокарте также возможно размещение композитных и
Поколения 3D-ускорителей
- DirectX 7 — карта не поддерживает шейдеры, все картинки рисуются наложением текстур;
- DirectX 8 — поддержка пиксельных шейдеров версий 1.0, 1.1 и 1.2, в DX 8.1 ещё и версию 1.4, поддержка вершинных шейдеров версии 1.0;
- DirectX 9 — поддержка пиксельных шейдеров версий 2.0, 2.0a и 2.0b, 3.0;
- DirectX 10 — поддержка унифицированных шейдеров версии 4.0;
- DirectX 10.1 — поддержка унифицированных шейдеров версии 4.1.
- OpenGL 1.0
- OpenGL 1.2
- OpenGL 1.4
- OpenGL 2.0
- OpenGL 2.1
- OpenGL 3.0
Устройство
Современная видеокарта состоит из следующих частей:
- графический процессор (Graphics processing unit - графическое процессорное устройство) — занимается расчётами выводимого изображения, освобождая от этой обязанности центральный процессор, производит расчёты для обработки команд трёхмерной графики. Является основой графической платы, именно от него зависят быстродействие и возможности всего устройства. Современные графические процессоры по сложности мало чем уступают центральному процессору компьютера, и зачастую превосходят его как по числу транзисторов, так и по вычислительной мощности, благодаря большому числу универсальных вычислительных блоков. Однако, архитектура GPU прошлого поколения обычно предполагает наличие нескольких блоков обработки информации, а именно: блок обработки 2D-графики, блок обработки 3D-графики, в свою очередь, обычно разделяющийся на геометрическое ядро (плюс кэш вершин) и блок растеризации (плюс кэш текстур) и др.
- видеоконтроллер — отвечает за формирование изображения в видеопамяти, даёт команды RAMDAC на формирование сигналов развёртки для монитора и осуществляет обработку запросов центрального процессора. Кроме этого, обычно присутствуют контроллер внешней шины данных (например, PCI или AGP), контроллер внутренней шины данных и контроллер видеопамяти. Ширина внутренней шины и шины видеопамяти обычно больше, чем внешней (64, 128 или 256 разрядов против 16 или 32), во многие видеоконтроллеры встраивается ещё и RAMDAC. Современные графические адаптеры (ATI, nVidia) обычно имеют не менее двух видеоконтроллеров, работающих независимо друг от друга и управляющих одновременно одним или несколькими дисплеями каждый.
- видеопамять — выполняет роль кадрового буфера, в котором хранится изображение, генерируемое и постоянно изменяемое графическим процессором и выводимое на экран монитора (или нескольких мониторов). В видеопамяти хранятся также промежуточные невидимые на экране элементы изображения и другие данные. Видеопамять бывает нескольких типов, различающихся по скорости доступа и рабочей частоте. Современные видеокарты комплектуются памятью типа DDR, DDR2, GDDR4 и
- цифро-аналоговый преобразователь (ЦАП, 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). На многих современных картах устанавливаются электрически перепрограммируемые ПЗУ (
- система охлаждения — предназначена для сохранения температурного режима видеопроцессора и видеопамяти в допустимых пределах.
Правильная и полнофункциональная работа современного графического адаптера обеспечивается с помощью видеодрайвера — специального программного обеспечения, поставляемого производителем видеокарты и загружаемого в процессе запуска операционной системы. Видеодрайвер выполняет функции интерфейса между системой с запущенными в ней приложениями и видеоадаптером. Так же как и видео-BIOS, видеодрайвер организует и программно контролирует работу всех частей видеоадаптера через специальные регистры управления, доступ к которым происходит через соответствующую шину.
История
Одним из первых графических адаптеров для IBM PC стал MDA (Monochrome Display Adapter) в 1981 году. Он работал только в текстовом режиме с разрешением 80×25 символов (физически 720×350 точек) и поддерживал пять атрибутов текста: обычный, яркий, инверсный, подчёркнутый и мигающий. Никакой цветовой или графической информации он передавать не мог, и то, какого цвета будут буквы, определялось моделью использовавшегося монитора. Обычно они были чёрно-белыми, янтарными или изумрудными. Фирма Hercules в 1982 году выпустила дальнейшее развитие адаптера MDA, видеоадаптер графическое разрешение 720×348 точек и поддерживал две графические страницы. Но он всё ещё не позволял работать с цветом.
Первой цветной видеокартой стала IBM и ставшая основой для последующих стандартов видеокарт. Она могла работать либо в текстовом режиме с разрешениями 40×25 и 80×25 (матрица символа — 8×8), либо в графическом с разрешениями 320×200 или 640×200. В текстовых режимах доступно 256 атрибутов символа — 16 цветов символа и 16 цветов фона (либо 8 цветов фона и атрибут мигания), в графическом режиме 320×200 было доступно четыре палитры по четыре цвета каждая, режим высокого разрешения 640×200 был монохромным. В развитие этой карты появился
Стоит заметить, что интерфейсы с монитором всех этих типов видеоадаптеров были цифровые, MDA и HGC передавали только светится или не светится точка и дополнительный сигнал яркости для атрибута текста «яркий», аналогично CGA по трём каналам (красный, зелёный, синий) передавал основной видеосигнал, и мог дополнительно передавать сигнал яркости (всего получалось 16 цветов), EGA имел по две линии передачи на каждый из основных цветов, то есть каждый основной цвет мог отображаться с полной яркостью, 2/3, или 1/3 от полной яркости, что и давало в сумме максимум 64 цвета.
В ранних моделях компьютеров от IBM PS/2, появляется новый графический адаптер
Потом IBM пошла ещё дальше и сделала
С 1991 года появилось понятие VBE (VESA BIOS Extention — расширение VESA). SVGA воспринимается как фактический стандарт видеоадаптера где-то с середины 1992 года, после принятия ассоциацией VESA (Video Electronics Standart Association — ассоциация стандартизации видео-электроники) стандарта VBE версии 1.0. До того момента практически все видеоадаптеры SVGA были несовместимы между собой.
Графический пользовательский интерфейс, появившийся во многих операционных системах, стимулировал новый этап развития видеоадаптеров. Появляется понятие «графический ускоритель» (graphics accelerator). Это видеоадаптеры, которые производят выполнение некоторых графических функций на аппаратном уровне. К числу этих функций относятся, перемещение больших блоков изображения из одного участка экрана в другой (например при перемещении окна), заливка участков изображения, рисование линий, дуг, шрифтов, поддержка аппаратного курсора и т. п. Прямым толчком к развитию столь специализированного устройства явилось то, что графический пользовательский интерфейс несомненно удобен, но его использование требует от центрального процессора немалых вычислительных ресурсов, и современный графический ускоритель как раз и призван снять с него львиную долю вычислений по окончательному выводу изображения на экран.
RGB трап (ramp)
Читайте также: