Видеокарта.

05.10.2020 13:14

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

    Однако эта базовая функция, оставаясь нужной и востребованной, ушла в тень, перестав определять уровень возможностей формирования изображения – качество видеосигнала (чёткость изображения) очень мало связано с ценой и техническим уровнем современной видеокарты. В первую очередь, сейчас под графическим адаптером понимают устройство с графическим процессором – графический ускоритель, который и занимается формированием самого графического образа. Современные видеокарты не ограничиваются простым выводом изображения, они имеют встроенный графический процессор, который может производить дополнительную обработку, снимая эту задачу с центрального процессора компьютера. Например, все современные видеокарты Nvidia и AMD (ATi) осуществляют рендеринг графического конвейера OpenGL и DirectX на аппаратном уровне. В последнее время также имеет место тенденция использовать вычислительные возможности графического процессора для решения неграфических задач.

    Обычно видеокарта выполнена в виде печатной платы (плата расширения) и вставляется в слот расширения, универсальный либо специализированный (AGP, PCI Express). Также широко распространены и встроенные (интегрированные) в системную плату видеокарты – как в виде отдельного чипа, так и в качестве составляющей части северного моста чипсета или ЦПУ; в этом случае устройство, строго говоря, не может быть названо видеокартой.

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

    Одним из первых графических адаптеров для IBM PC стал MDA (Monochrome Display Adapter) в 1981 году. Он работал только в текстовом режиме с разрешением 80×25 символов (физически 720×350 точек) и поддерживал пять атрибутов текста: обычный, яркий, инверсный, подчёркнутый и мигающий. Никакой цветовой или графической информации он передавать не мог, и то, какого цвета будут буквы, определялось моделью использовавшегося монитора. Обычно они были белыми, янтарными или изумрудными на чёрном фоне. Фирма Hercules в 1982 году выпустила дальнейшее развитие адаптера MDA, видеоадаптер HGC (Hercules Graphics Controller — графический адаптер Геркулес), который имел графическое разрешение 720×348 точек и поддерживал две графические страницы. Но он всё ещё не позволял работать с цветом.

    Первой цветной видеокартой стала CGA (Color Graphics Adapter), выпущенная IBM и ставшая основой для последующих стандартов видеокарт. Она могла работать либо в текстовом режиме с разрешениями 40×25 знакомест и 80×25 знакомест (матрица символа — 8×8), либо в графическом с разрешениями 320×200 точек или 640×200 точек. В текстовых режимах доступно 256 атрибутов символа — 16 цветов символа и 16 цветов фона (либо 8 цветов фона и атрибут мигания), в графическом режиме 320×200 было доступно четыре палитры по четыре цвета каждая, режим высокого разрешения 640×200 был монохромным. В развитие этой карты появился EGA (Enhanced Graphics Adapter) — улучшенный графический адаптер, с расширенной до 64 цветов палитрой, и промежуточным буфером. Было улучшено разрешение до 640×350, в результате добавился текстовый режим 80×43 при матрице символа 8×8. Для режима 80×25 использовалась большая матрица — 8×14, одновременно можно было использовать 16 цветов, цветовая палитра была расширена до 64 цветов. Графический режим также позволял использовать при разрешении 640×350 16 цветов из палитры в 64 цвета. Был совместим с CGA и MDA.

    Стоит заметить, что интерфейсы с монитором всех этих типов видеоадаптеров были цифровые, MDA и HGC передавали только светится или не светится точка и дополнительный сигнал яркости для атрибута текста «яркий», аналогично CGA по трём каналам (красный, зелёный, синий) передавал основной видеосигнал, и мог дополнительно передавать сигнал яркости (всего получалось 16 цветов), EGA имел по две линии передачи на каждый из основных цветов, то есть каждый основной цвет мог отображаться с полной яркостью, 2/3 или 1/3 от полной яркости, что и давало в сумме максимум 64 цвета.

    Графический пользовательский интерфейс, появившийся во многих операционных системах, стимулировал новый этап развития видеоадаптеров. Появляется понятие «графический ускоритель» (graphics accelerator). Это видеоадаптеры, которые производят выполнение некоторых графических функций на аппаратном уровне. К числу этих функций относятся: перемещение больших блоков изображения из одного участка экрана в другой (например, при перемещении окна), заливка участков изображения, рисование линий, дуг, шрифтов, поддержка аппаратного курсора и т. п. Прямым толчком к развитию столь специализированного устройства явилось то, что графический пользовательский интерфейс, несомненно, удобен, но его использование требует от центрального процессора немалых вычислительных ресурсов, и современный графический ускоритель как раз и призван снять с него львиную долю вычислений по окончательному выводу изображения на экран.

    На данный момент есть только три производителя графических процессоров, которые заслуживают внимания. Это  Nvidia, AMD(ATI) и Intel. У каждого, соответственно, имеется свой модельный ряд.

 

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

Рис. 1. Современная видеокарта.

 

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

  • Графический процессор (Graphics processing unit (GPU) — графическое процессорное устройство) занимается расчётами выводимого изображения, освобождая от этой обязанности центральный процессор, производит расчёты для обработки команд трёхмерной графики. Является основой графической платы, именно от него зависят быстродействие и возможности всего устройства. Современные графические процессоры по сложности мало чем уступают центральному процессору компьютера, и зачастую превосходят его как по числу транзисторов, так и по вычислительной мощности, благодаря большому числу универсальных вычислительных блоков. Однако архитектура GPU прошлого поколения обычно предполагает наличие нескольких блоков обработки информации, а именно: блок обработки 2D-графики, блок обработки 3D-графики, в свою очередь, обычно разделяющийся на геометрическое ядро (плюс кэш вершин) и блок растеризации (плюс кэш текстур) и др.
  • Видеоконтроллер отвечает за формирование изображения в видеопамяти, даёт команды RAMDAC на формирование сигналов развёртки для монитора и осуществляет обработку запросов центрального процессора. Кроме этого, обычно присутствуют контроллер внешней шины данных (например, PCI или AGP), контроллер внутренней шины данных и контроллер видеопамяти. Ширина внутренней шины и шины видеопамяти обычно больше, чем внешней (64, 128 или 256 разрядов против 16 или 32), во многие видеоконтроллеры встраивается ещё и RAMDAC. Современные графические адаптеры (AMD, nVidia) обычно имеют не менее двух видеоконтроллеров, работающих независимо друг от друга и управляющих одновременно одним или несколькими дисплеями каждый.
  • Видео-ПЗУ (Video ROM) — постоянное запоминающее устройство (ПЗУ), в которое записаны BIOS видеокарты, экранные шрифты, служебные таблицы и т. п. ПЗУ не используется видеоконтроллером напрямую — к нему обращается только центральный процессор. BIOS обеспечивает инициализацию и работу видеокарты до загрузки основной операционной системы, задаёт все низкоуровневые параметры видеокарты, в том числе рабочие частоты и питающие напряжения графического процессора и видеопамяти, тайминги памяти. Также VBIOS содержит системные данные, которые могут читаться и интерпретироваться видеодрайвером в процессе работы (в зависимости от применяемого метода разделения ответственности между драйвером и BIOS). На многих современных картах устанавливаются электрически перепрограммируемые ПЗУ (EEPROM, Flash ROM), допускающие перезапись видео-BIOS самим пользователем при помощи специальной программы.
  • Видеопамять (видео-ОЗУ) выполняет функцию кадрового буфера, в котором хранится изображение, генерируемое и постоянно изменяемое графическим процессором и выводимое на экран монитора (или нескольких мониторов). В видеопамяти хранятся также промежуточные невидимые на экране элементы изображения и другие данные. Видеопамять бывает нескольких типов, различающихся по скорости доступа и рабочей частоте. Современные видеокарты комплектуются памятью типа DDR, GDDR2, GDDR3, GDDR4, GDDR5, GDDR6 и HBM. Следует также иметь в виду, что, помимо видеопамяти, находящейся на видеокарте, современные графические процессоры обычно используют в своей работе часть общей системной памяти компьютера, прямой доступ к которой организуется драйвером видеоадаптера через шину 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 млрд цветов, но эта возможность практически не используется. Для поддержки второго монитора часто устанавливают второй ЦАП. TMDS (Transition-minimized differential signaling — дифференциальная передача сигналов с минимизацией перепадов уровней) передатчик цифрового сигнала без ЦАП-преобразований. Используется при DVI-D, HDMI, DisplayPort подключениях. С распространением ЖК-мониторов и плазменных панелей нужда в передаче аналогового сигнала отпала — в отличие от ЭЛТ они уже не имеют аналоговую составляющую и работают внутри с цифровыми данными. Чтобы избежать лишних преобразований, Silicon Image разрабатывает TMDS.
  • Коннекторы. Видеоадаптеры MDA, Hercules, EGA и CGA оснащались 9-контактным разъёмом типа D-Sub. Изредка также присутствовал коаксиальный разъём Composite Video, позволяющий вывести чёрно-белое изображение на телевизионный приёмник или монитор, оснащённый НЧ-видеовходом. Видеоадаптеры VGA и более поздние обычно имели всего один разъём VGA (15-контактный D-Sub). Изредка ранние версии VGA-адаптеров имели также разъём предыдущего поколения (9-контактный) для совместимости со старыми мониторами. Выбор рабочего выхода задавался переключателями на плате видеоадаптера. В настоящее время платы оснащают разъёмами DVI или HDMI, либо DisplayPort в количестве от одного до трёх (некоторые видеокарты ATi последнего поколения оснащаются шестью коннекторами). Порты DVI и HDMI являются эволюционными стадиями развития стандарта передачи видеосигнала, поэтому для соединения устройств с этими типами портов возможно использование переходников (разъём DVI к гнезду D-Sub — аналоговый сигнал, разъём HDMI к гнезду DVI-D — цифровой сигнал, который не поддерживает технические средства защиты авторских прав (англ. High Bandwidth Digital Copy Protection, HDCP), поэтому без возможности передачи многоканального звука и высококачественного изображения). Порт DVI-I также включает аналоговые сигналы, позволяющие подключить монитор через переходник на старый разъём D-SUB (DVI-D не позволяет этого сделать). DisplayPort позволяет подключать до четырёх устройств, в том числе аудиоустройства, USB-концентраторы и иные устройства ввода-вывода. 9-контактный разъём S-Video TV-Out, DVI и D-Sub. (Нажатие на изображение какого-либо разъёма вызовет переход на соответствующую статью.) Также на видеокарте могут быть размещены композитный и компонентный S-Video видеовыход; также видеовход (обозначаются, как ViVo).
  • Система охлаждения предназначена для сохранения температурного режима видеопроцессора и (зачастую) видеопамяти в допустимых пределах.
  • Также правильная и полнофункциональная работа современного графического адаптера обеспечивается с помощью видеодрайвера — специального программного обеспечения, поставляемого производителем видеокарты и загружаемого в процессе запуска операционной системы. Видеодрайвер выполняет функции интерфейса между системой с запущенными в ней приложениями и видеоадаптером. Так же, как и видео-BIOS, видеодрайвер организует и программно контролирует работу всех частей видеоадаптера через специальные регистры управления, доступ к которым происходит через соответствующую шину.
 

Интерфейс.

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

    Основным каналом передачи данных является, конечно, интерфейсная шина материнской платы, через которую обеспечивается обмен данными с центральным процессором и оперативной памятью. Самой первой шиной, использовавшейся в IBM PC, была XT-Bus, она имела разрядность 8 бит данных и 20 бит адреса и работала на частоте 4,77 МГц.

    С появлением процессоров 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, 2.1 и 3.0. Это последовательный, в отличие от AGP, интерфейс, его пропускная способность может достигать нескольких десятков ГБ/с. На данный момент произошёл практически полный отказ от шины AGP в пользу PCI Express. Однако стоит отметить, что некоторые производители до сих пор предлагают достаточно современные по своей конструкции видеоплаты с интерфейсами PCI и AGP — во многих случаях это достаточно простой путь резко повысить производительность морально устаревшего ПК в некоторых графических задачах.

 

Режимы работы и характеристики видеокарт.

    Любой современный видеопроцессор работает в двух режимах:

  • 2D (Two-dimension)
  • 3D. (Three-dimension)

    Первый из них используется при работе с плоской графикой - двухмерной. С 2D графикой мы работаем каждый день - когда печатаем документ, работаем в Интернете, рисуем в Photoshop'е или смотрим видеодиск. Это и есть двухмерная графика.

    С 3D или трехмерной графикой мы сталкиваемся только в специальных прикладных прграммах (например САПР) или компьютерных играх.

    Наиболее важной характеристикой, в обоих режимах является максимальная частота вертикальной развертки - скорости перерисовки экрана. Чем она выше - тем меньше у вас будут уставать глаза при долгой работе за компьютером. Сейчас стандартом считается частота не ниже 85Гц.

    Если уменьшить частоту адаптера до 56 или 60Гц, то особенно в комнатах, где находится много электроники и различных проводов, вы можете заметить, что изображение начнет слегка подергиваться. Это особенно заметно боковым зрением. Если просидеть за таким монитором несколько часов, то начинают болеть глаза. Конечно, кроме адаптера такую же частоту должен поддерживать и ваш монитор. А вообще старайтесь всегда ставить ту максимальную частоту, которую поддерживает ваш монитор на данном разрешении.

    Кроме максимальной частоты значение имеет четкость картинки и разршение.

    При детальном изображении построение одно трехмерной схемы требует больших вычислительных ресурсов. А в тех же играх сцены меняются постоянно. Вот здесь и проявляются возможности видеопроцессора. Кроме частоты вертикальной развертки, основными характеристиками 3D части видеочипа являются:

  • частота работы,
  • скорость "заливки" текстур
  • объем поддерживаемой видеопамяти.

    Частота работы, как и центрального процессора компьютера, измеряется в Мгц. На сегодня, средняя скорость последних моделей видеопроцессоров варируется в пределах 900-1800МГц. Скорость "заливки" - это скорость, с какой видеочип накладывает текстуры на каркас.   Измеряется она в млн. текселей (тексель (texel) это определенная точка текстуры).

    Объём памяти большего количества современных видеокарт варьируется от 256 МБ (например, AMD Radeon HD 4350) до 24 ГБ (например, NVIDIA GeForce GTX TITAN RTX). Поскольку доступ к видеопамяти GPU и другими электронным компонентами должен обеспечивать желаемую высокую производительность всей графической подсистемы в целом, используются специализированные высокоскоростные типы памяти, такие, как SGRAM, двухпортовые (англ. dual-port) VRAM, WRAM, другие. Приблизительно с 2003 года видеопамять, как правило, базировалась на основе DDR технологии памяти SDRAM, с удвоенной эффективной частотой (передача данных синхронизируется не только по нарастающему фронту тактового сигнала, но и ниспадающему). И в дальнейшем DDR2, GDDR3, GDDR4, GDDR5 и на момент 2016 года GDDR5X. С выходом серии высокопроизводительных видеокарт AMD Fury совместно с уже устоявшейся на рынке памятью GDDR начала использоваться память нового типа HBM, предлагая значительно большую пропускную способность и упрощение самой платы видеокарты, за счёт отсутствия необходимости разводки и распайки чипов памяти. Пиковая скорость передачи данных (пропускная способность) памяти современных видеокарт достигает 480 ГБ/с для типа памяти GDDR5X (например, у NVIDIA TITAN X Pascal) и 672 ГБ/с для типа памяти GDDR6 (например, у TITAN RTX).

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

 

Типы графических карт.

  • Дискретные видеокарты.

    Наиболее высокопроизводительный класс графических адаптеров. Как правило, подключается к высокоскоростной шине данных PCI Express. Ранее встречались видеокарты подключаемые к шинам AGP (специализированная шина обмена данных для подключения только видеокарт), PCI, VESA и ISA. На данный момент современные видеокарты подключаются только через шину PCI Express, а все прочие типы подключений являются устаревшими. В компьютерах с архитектурой отличной от IBM-совместимой встречались и другие типы подключения видеокарт.

    Дискретная карта необязательно может быть извлечена из устройства (например, на ноутбуках дискретная карта часто распаяна на материнской плате). Она называется дискретной из-за того что выполнена в виде отдельного чипа (или набора микросхем) и не является частью других компонентов компьютера (в отличие от графических решений, встраиваемых в чипы системной логики материнских плат или непосредственно в центральный процессор). Большинство дискретных видеокарт обладает своей собственной оперативной памятью (VRAM), которая часто может обладать более высокой скоростью доступа или более скоростной шиной доступа, чем обычная оперативная память компьютера. Хотя, ранее встречались видеокарты которые полностью или частично использовали основную оперативную память для хранения и обработки графической информации, в настоящее время почти все современные видеокарты используют собственную видеопамять. Также иногда (но достаточно редко) встречаются видеокарты оперативная память которых не установлена в виде отдельных микросхем памяти, а входит в состав графического чипа (в виде отдельных кристаллов, или же на одном кристалле с графическим процессором).

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

    Такие технологии как SLI от Nvidia и CrossFire от AMD позволяют задействовать несколько графических адаптеров параллельно для решения одной задачи.

  • Встроенная графика.

    Интегрированные графические адаптеры не имеют собственной памяти и используют оперативную память компьютера, что сказывается на производительности в худшую сторону. Хотя графические процессоры Intel Iris Graphics, начиная с поколения процессоров Haswell имеют в своём распоряжении 128 мегабайт кэша четвёртого уровня, остальную память они могут брать из оперативной памяти компьютера. Современные встроенные графические решения находят применение в портативных устройствах, ввиду низкого энергопотребления. Их производительность уже на достаточно высоком уровне и позволяет играть в несложные трёхмерные игры.

    Современные встроенные графические процессоры расположены на одном чипе с центральным процессором (например, Intel HD Graphics или AMD Graphics), предыдущие поколения (например, Intel GMA) располагались в виде отдельного чипа.

  • Гибридные решения.

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

    До появления гибридной графики производители встраивали в дополнение к встроенному дискретный адаптер, для переключения между ними требовалась перезагрузка, что было не очень удобным для пользователя. Гибридные адаптеры для вывода на экран используют только встроенный графический адаптер, но некоторые вычисления способны передавать дискретной графической карте, а не выполнять самим. Для пользователя переключение между видеоадаптерами становится незаметным. Примерами таких решений являются технология Optimus от Nvidia и DualGraphics от AMD.