Здавалка
Главная | Обратная связь

Цифро-аналоговый преобразователь

Устройство

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

Графический процессор

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

Высокая вычислительная мощность GPU объясняется особенностями архитектуры. Если современные CPU содержат несколько ядер (на большинстве современных систем от 2 до 6, по состоянию на 2012 г.), графический процессор изначально создавался как многоядерная структура, в которой количество ядер может достигать сотен. Разница в архитектуре обусловливает и разницу в принципах работы. Если архитектура CPU предполагает последовательную обработку информации, то GPU исторически предназначался для обработки компьютерной графики, поэтому рассчитан на массивно параллельные вычисления

Видеоконтроллер

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

Видео-ПЗУ

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

BIOS (англ. basic input/output system — «базовая система ввода-вывода») — реализованная в виде микропрограмм часть системного программного обеспечения, которая предназначается для предоставления операционной системе API доступа к аппаратуре компьютера и подключенным к нему устройствам.

Video BIOS (или VBIOS) — это выделенный BIOS видеокарты компьютера. Поскольку видеокарта обладает собственным процессором, оперативной памятью и системой питания, ей необходим выделенный BIOS для управления.

Видеопамять

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

Цифро-аналоговый преобразователь

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

Коннектор

Видеоадаптеры MDA, Hercules, EGA и CGA оснащались 9-контактным разъёмом типа D-Sub. Изредка также присутствовал коаксиальный разъём Composite Video, позволяющий вывести черно-белое изображение на телевизионный приемник или монитор, оснащенный НЧ-видеовходом.

Видеоадаптеры VGA и более поздние обычно имели всего один разъём VGA (15-контактный D-Sub). Изредка ранние версии VGA-адаптеров имели также разъём предыдущего поколения (9-контактный) для совместимости со старыми мониторами. Выбор рабочего выхода задавался переключателями на плате видеоадаптера.

В настоящее время платы оснащают разъёмами DVI или HDMI, либо DisplayPort в количестве от одного до трёх (некоторые видеокарты ATi последнего поколения оснащаются шестью коннекторами). Порты DVI и HDMI являются эволюционными стадиями развития стандарта передачи видеосигнала, поэтому для соединения устройств с этими типами портов возможно использование переходников. Порт DVI-I также включает аналоговые сигналы, позволяющие подключить монитор через переходник на старый разъём D-SUB (DVI-D не позволяет этого сделать). DisplayPort позволяет подключать до четырёх устройств, в том числе аудиоустройства, USB-концентраторы и иные устройства ввода-вывода.

Система охлаждения

Система охлаждения предназначена для сохранения температурного режима видеопроцессора и (зачастую) видеопамяти в допустимых пределах.

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

 

Интерфейс

Первое препятствие к повышению быстродействия видеосистемы — это интерфейс передачи данных, к которому подключён видеоадаптер. Как бы ни был быстр процессор видеоадаптера, большая часть его возможностей останется незадействованной, если не будут обеспечены соответствующие каналы обмена информацией между ним, центральным процессором, оперативной памятью компьютера и дополнительными видеоустройствами. Основным каналом передачи данных является, конечно, интерфейсная шина материнской платы, через которую обеспечивается обмен данными с центральным процессором и оперативной памятью. Самой первой шиной использовавшейся в IBM PC была XT-Bus, она имела разрядность 8 бит данных и 20 бит адреса и работала на частоте 4,77 МГц. Далее появилась шина ISA (Industry Standart Architecture — архитектура промышленного стандарта), соответственно она имела разрядность 16/24 бит и работала на частоте 8 МГц. Пиковая пропускная способность составляла чуть больше 5,5 МиБ/с. Этого более чем хватало для отображения текстовой информации и игр с шестнадцатицветной графикой.

Дальнейшим рывком явилось появление шины MCA (Micro Channel Architecture) в новой серии компьютеров PS/2 фирмы IBM. Она уже имела разрядность 32/32 бит и пиковую пропускную способность 40 Мб/с. Но то обстоятельство, что архитектура MCI являлась закрытой (собственностью IBM), побудило остальных производителей искать иные пути увеличения пропускной способности основного канала доступа к видеоадаптеру.

С появлением процессоров серии 486, было предложено использовать для подключения периферийных устройств локальную шину самого процессора, в результате родилась VLB (VESA Local Bus — локальная шина стандарта VESA). Работая на внешней тактовой частоте процессора, которая составляла от 25 МГц до 50 МГц и имея разрядность 32 бит, шина VLB обеспечивала пиковую пропускную способность около 130 МиБ/с. Этого уже было более чем достаточно для всех существовавших приложений, помимо этого возможность использования её не только для видеоадаптеров, наличие трёх слотов подключения и обеспечение обратной совместимости с ISA (VLB представляет собой просто ещё один 116 контактный разъём за слотом ISA) гарантировали ей достаточно долгую жизнь и поддержку многими производителями чипсетов для материнских плат и периферийных устройств, даже несмотря на то, что при частотах 40 МГц и 50 МГц обеспечить работу даже двух устройств подключенных к ней представлялось проблематичным из-за чрезмерно высокой нагрузки на каскады центрального процессора (ведь большинство управляющих цепей шло с VLB на процессор напрямую, безо всякой буферизации).

И всё-таки, с учётом того, что не только видеоадаптер стал требовать высокую скорость обмена информацией, и явной невозможности подключения к VLB всех устройств (и необходимостью наличия межплатформенного решения, не ограничивающегося только PC), была разработана шина PCI (Periferal Component Interconnect — объединение внешних компонентов) появившаяся, в первую очередь, на материнских платах для процессоров Pentium. С точки зрения производительности на платформе PC всё осталось по-прежнему — при тактовой частоте шины 33 МГц и разрядности 32/32 бит она обеспечивала пиковую пропускную способность 133 МиБ/с — столько же, сколько и VLB. Однако она была удобнее и, в конце концов, вытеснила шину VLB и на материнских платах для процессоров класса 486.

С появлением процессоров Pentium II и серьёзной заявкой PC на принадлежность к рынку высокопроизводительных рабочих станций, а также с появлением 3D-игр со сложной графикой стало ясно, что пропускной способности PCI в том виде, в каком она существовала на платформе PC (обычно частота 33 МГц и разрядность 32 бит), скоро не хватит на удовлетворение запросов системы. Поэтому фирма Intel решила сделать отдельную шину для графической подсистемы, несколько модернизировала шину PCI, обеспечила новой получившейся шине отдельный доступ к памяти с поддержкой некоторых специфических запросов видеоадаптеров и назвала это AGP (Accelerated Graphics Port — ускоренный графический порт). Разрядность шины AGP составляет 32 бит, рабочая частота 66 МГц. Первая версия разъёма поддерживала режимы передачи данных 1x и 2x, вторая — 4x, третья — 8x. В этих режимах за один такт передаются соответственно одно, два, четыре или восемь 32-разрядных слов. Версии AGP не всегда были совместимы между собой в связи с использованием различных напряжений питания в разных версиях. Для предотвращения повреждения оборудования использовался ключ в разъёме. Пиковая пропускная способность в режиме 1x — 266 МиБ/с. Выпуск видеоадаптеров на базе шин PCI и AGP на настоящий момент ничтожно мал, так как шина AGP перестала удовлетворять современным требованиям для мощности новых ПК, и, кроме того, не может обеспечить необходимую мощность питания. Для решения этих проблем создано расширение шины PCI — PCI Express версий 1.0, 1.1 и 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г.

· VRAM (Video RAM — видео ОЗУ) — так называемая двухпортовая DRAM. Этот тип памяти обеспечивает доступ к данным со стороны сразу двух устройств, то есть есть возможность одновременно писать данные в какую-либо ячейку памяти, и одновременно с этим читать данные из какой-нибудь соседней ячейки. За счёт этого позволяет совмещать во времени вывод изображения на экран и его обработку в видеопамяти, что сокращает задержки при доступе и увеличивает скорость работы. То есть RAMDAC может свободно выводить на экран монитора раз за разом экранный буфер, ничуть не мешая видеопроцессору осуществлять какие-либо манипуляции с данными. Но это всё та же DRAM и скорость у неё не слишком высокая.

· WRAM (Window RAM) — вариант VRAM, с увеличенной на ~25 % пропускной способностью и поддержкой некоторых часто применяемых функций, таких как отрисовка шрифтов, перемещение блоков изображения и т.п. Применяется практически только на акселераторах фирмы Matrox и Number Nine, поскольку требует специальных методов доступа и обработки данных. Наличие всего одного производителя данного типа памяти (Samsung) сильно сократило возможности её использования. Видеоадаптеры, построенные с использованием данного типа памяти, не имеют тенденции к падению производительности при установке больших разрешений и частот обновления экрана, на однопортовой же памяти в таких случаях RAMDAC всё большее время занимает шину доступа к видеопамяти и производительность видеоадаптера может сильно упасть.

· EDO DRAM (Extended Data Out DRAM — динамическое ОЗУ с расширенным временем удержания данных на выходе) — тип памяти с элементами конвейеризации, позволяющий несколько ускорить обмен блоками данных с видеопамятью приблизительно на 25 %.

· SDRAM (Synchronous Dynamic RAM — синхронное динамическое ОЗУ) пришёл на замену EDO DRAM и других асинхронных однопортовых типов памяти. После того, как произведено первое чтение из памяти или первая запись в память, последующие операции чтения или записи происходят с нулевыми задержками. Этим достигается максимально возможная скорость чтения и записи данных.

· 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 КиБ каждый, работающих в конвейерном режиме.

· RDRAM (RAMBus DRAM) — память, использующая специальный канал передачи данных (Rambus Channel), представляющий собой шину данных шириной в один байт. По этому каналу удаётся передавать информацию очень большими потоками, наивысшая скорость передачи данных для одного канала на сегодняшний момент составляет 1600 МБ/с (частота 800 МГц, данные передаются по обоим срезам импульса). На один такой канал можно подключить несколько чипов памяти. Контроллер этой памяти работает с одним каналом Rambus, на одной микросхеме логики можно разместить четыре таких контроллера, значит теоретически можно поддерживать до 4 таких каналов, обеспечивая максимальную пропускную способность в 6,4 ГБ/с. Минус этой памяти — нужно читать информацию большими блоками, иначе её производительность резко падает.

В настоящее время

Объём памяти большого количества современных видеокарт варьируется от 33 МБ (напр. Matrox G550) до 6 ГБ (напр. NVIDIA Quadro 6000). Поскольку доступ к видеопамяти GPU и другими электронным компонентами должен обеспечивать желаемую высокую производительность всей графической подсистемы в целом, используются специализированные высокоскоростные типы памяти, такие как SGRAM, двухпортовые (англ. dual-port) VRAM, WRAM, другие. Приблизительно с 2003 года, видеопамять, как правило, базировалась на основе DDR технологии памяти SDRAM, с удвоенной эффективной частотой (передача данных синхронизируется не только по нарастающему фронту тактового сигнала, но и ниспадающему). И в дальнейшем DDR2, GDDR3, GDDR4 и GDDR5. Пиковая скорость передачи данных (пропускная способность) памяти современных видеокарт достигает 327 ГБ/с (напр. у NVIDIA GeForce GTX 580 или 320 ГБ/с у AMD Radeon™ HD 6990).

Видеопамять используется для временного сохранения, помимо непосредственно данных изображения, и другие: текстуры, шейдеры, вершинные буферы (en:vertex buffer objects, VBO), Z-буфер (удалённость элементов изображения в 3D графике), и тому подобные данные графической подсистемы (за исключением, по большей части данных Video BIOS, внутренней памяти графического процессора и т. п.) и коды.

 

Тип Эффективная частота памяти, МГц Пиковая скорость передачи данных (пропускная способность), ГБ/с
DDR 166 — 950 1.2 — 3.4
DDR2 400 — 2400 3,2 — 9,6
GDDR3 700 — 2400 5.6 — 156.6
GDDR4 2000 — 3600 128 — 200
GDDR5 900 — 6500 130 — 370




©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.