Графическая плата

Материал из свободной русской энциклопедии «Традиция»
Перейти к навигации Перейти к поиску
Видеокарта семейства GeForce 4, с кулером

Графическая плата (известна также как графическая карта, видеокарта, видеоадаптер) (англ. videocard) — устройство, преобразующее изображение, находящееся в памяти компьютера, в видеосигнал для монитора.

Обычно видеокарта является платой расширения и вставляется в специальный разъём (ISA, VLB, PCI, AGP, PCI-Express) для видеокарт на материнской плате, но бывает и встроенной.

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

История[править | править код]

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

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

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

В ранних моделях компьютеров от IBM PS/2, появляется новый графический адаптер MCGA (Multicolor Graphics Adapter — многоцветный графический адаптер). Текстовое разрешение было поднято до 640x400, что позволило использовать режим 80x50 при матрице 8x8, а для режима 80x25 использовать матрицу 8x16. Количество цветов увеличено до 262144 (64 уровня яркости по каждому цвету), для совместимости с EGA в текстовых режимах была введена таблица цветов, через которую выполнялось преобразование 64 цветового пространства EGA в цветовое пространство MCGA. Появился режим 320x200x256, где каждый пиксель на экране кодировался соответствующим байтом в видеопамяти, никаких битовых плоскостей не было, соответственно с EGA осталась совместимость только по тестовым режимам, совместимость с CGA была полная. Из-за огромного количества яркостей основных цветов возникла необходимость использования уже аналогового цветового сигнала, частота строчной развертки составляла уже 31.5KHz.

Потом IBM пошла еще дальше и сделала VGA (Video Graphics Array — графический видео массив), это расширение MCGA совместимое с EGA и введенное в средних моделях PS/2. Это фактический стандарт видеоадаптера с конца 80-х годов. Добавлены текстовое разрешение 720x400 для эмуляции MDA и графический режим 640x480, с доступом через битовые плоскости. Режим 640x480 замечателен тем, что в нем используется квадратный пиксель, то есть соотношение числа пикселей по горизонтали и вертикали совпадает со стандартным соотношением сторон экрана — 4:3. Дальше появился IBM 8514/a с разрешениями 640x480x256 и 1024x768x256, и IBM XGA с текстовым режимом 132x25 (1056x400) и увеличенной глубиной цвета (640x480x65K).

С 1991 года появилось понятие SVGA (Super VGA — «сверх» VGA) — расширение VGA с добавлением более высоких режимов и дополнительного сервиса, например возможности поставить произвольную частоту кадров. Число одновременно отображаемых цветов увеличивается до 65536 (High Color) и 16.7 млн. (True Color), появляются дополнительные текстовые режимы. Из сервисных функций появляется поддержка VBE (VESA BIOS Extention — расширение БИОС стандарта VESA). SVGA воспринимается как фактический стандарт видеоадаптера где-то с середины 1992 года, после принятия ассоциацией VESA (Video Electronics Standart Association — ассоциация стандартизации видео-электроники) стандарта VBE версии 1.0. До того момента практически все видеоадаптеры SVGA были несовместимы между собой.

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

Устройство[править | править код]

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

  • графический процессор (GPU) — занимается расчетами выводимого изображения, освобождая от этой обязанности центральный процессор, производит расчеты для обработки команд трехмерной графики. Является основой графической платы, именно от него зависят быстродействие и возможности всего устройства. Современные графические процессоры по сложности мало чем уступают центральному процессору компьютера, и зачастую превосходят их по числу транзисторов. Архитектура современного GPU обычно предполагает наличие нескольких блоков обработки информации, а именно: блок обработки 2D графики, блок обработки 3D графики, в свою очередь, обычно разделяющийся на геометрическое ядро (плюс кэш вершин) и блок растеризации (плюс кэш текстур) и др.
  • видеоконтроллер — отвечает за формирование изображения в видеопамяти, дает команды RAMDAC на формирование сигналов развертки для монитора и осуществляет обработку запросов центрального процессора. Кроме этого, обычно присутствуют контроллер внешней шины данных (например PCI или AGP), контроллер внутренней шины данных и контроллер видеопамяти. Ширина внутренней шины и шины видеопамяти обычно шире внешней (64, 128 или 256 разрядов против 16 или 32), во многие видеоконтроллеры встраивается еще и RAMDAC. Современные графические адаптеры (ATI, nVidia) обычно имеют не менее двух видеоконтроллеров, работающих независимо друг от друга и управляющих одновременно одним или несколькими дисплеями каждый.
  • видеопамять — выполняет роль кадрового буфера, в котором хранится в цифровом формате изображение, генерируемое и постоянно изменяемое графическим процессором и выводимое на экран монитора (или нескольких мониторов). В видеопамяти хранятся также промежуточные невидимые на экране элементы изображения и другие данные. Видеопамять бывает нескольких типов, различающихся по скорости доступа и рабочей частоте. Современные видеокарты комплектуются памятью типа DDR, DDR2 или GDDR3. Следует также иметь в виду, что помимо видеопамяти, находящейся на видеокарте, современные графические процессоры обычно используют в своей работе часть общей системной памяти компьютера, прямой доступ к которой организуется драйвером видеоадаптера через шину AGP или PCIE.
  • цифро-аналоговый преобразователь ЦАП (RAMDAC) — служит для преобразования изображения, формируемого видеоконтроллером, в уровни интенсивности цвета, подаваемые на аналоговый монитор. Возможный диапазон цветности изображения определяется только параметрами RAMDAC. Чаще всего RAMDAC имеет четыре основных блока — три цифроаналоговых преобразователя, по одному на каждый цветовой канал (красный, синий, зеленый, RGB), и SRAM для хранения данных о гамма коррекции. Большинство ЦАП имеют разрядность 8 бит на канал — получается по 256 уровней яркости на каждый основной цвет, что в сумме дает 16.7 млн. цветов (и за счет гамма коррекции есть возможность отображать исходные 16.7 млн. цветов в гораздо большее цветовое пространство). Некоторые RAMDAC имеют разрядность по каждому каналу 10bit (1024 уровня яркости), что позволяет сразу отображать более 1 млрд. цветов, но эта возможность практически не используется. Для поддержки второго монитора часто устанавливают второй ЦАП. Стоит отметить, что мониторы и видеопроекторы подключаемые к цифровому DVI выходу видеокарты для преобразования потока цифровых данных используют собственные цифроаналоговые преобразователи и от характеристик ЦАП видеокарты не зависят.
  • видео-ПЗУ (Video ROM) — постоянное запоминающее устройство, в которое записаны видео-BIOS, экранные шрифты, служебные таблицы и т. п. ПЗУ не используется видеоконтроллером напрямую — к нему обращается только центральный процессор. Хранящийся в ПЗУ видео-BIOS обеспечивает инициализацию и работу видеокарты до загрузки основной операционной системы, а также содержит системные данные, которые могут читаться и интерпретироваться видеодрайвером в процессе работы (в зависимости от применяемого метода разделения ответственности между драйвером и BIOS). На многих современных картах устанавливаются электрически перепрограммируемые ПЗУ (EEРROM, Flash ROM), допускающие перезапись видео-BIOS самим пользователем при помощи специальной программы.
  • система охлаждения — предназначена для сохранения температурного режима видеопроцессора и видеопамяти в допустимых значениях.

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

Характеристики[править | править код]

  • ширина шины памяти, измеряется в битах — количество бит информации, передаваемой за такт. Важный параметр в производительности карты.
  • количество видеопамяти, измеряется в Мегабайтах — встроенная оперативная память на самой плате, значение показывает, какой объем информации может хранить графическая плата.
  • частоты ядра и памяти — измеряются в Мегагерцах, чем больше, тем быстрее видеокарта будет обрабатывать информацию.
  • техпроцесс — технология печати, измеряется в нанометрах (нм.), современные карты выпускаются по 90 нм или 80 нм и 65 нм нормам техпроцесса. Чем меньше данный параметр, тем больше элементов можно уместить на кристалле.
  • текстурная и пиксельная скорость заполнения, измеряется в млн. пикселей в секунду, показывает количество выводимой в информации в единицу времени.
  • выводы карты — раньше видеоадаптер имел всего один разъём VGA (D-Sub), сейчас платы оснащают в дополнение выходом DVI—I или просто с двумя DVI-I для подключения двух ЖК-мониторов, и HDMI порт, их объединяют в один порт и используют переходники, а также композитными и S-Video видеовыходом и видеовходом (обозначается, как ViVo)

Поколения 3D-ускорителей[править | править код]

Поколения ускорителей в видеокартах можно считать по версии DirectX, которую они поддерживают. Различают следующие поколения:

  • 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

Интерфейс[править | править код]

Первое препятствие к повышению быстродействия видеосистемы — это интерфейс передачи данных к которому подключен видеоадаптер. Как бы ни был быстр чип видеоадаптера, но большая часть его возможностей останется незадействованной, если не будут обеспечены соответствующие каналы обмена информацией между ним, центральным процессором, оперативной памятью компьютера и дополнительными видеоустройствами. Основным каналом передачи данных является, конечно, интерфейсная шина материнской платы через которую обеспечивается обмен данными с центральным процессором и оперативной памятью. Самой первой шиной использовавшейся в IBM PC была XT-Bus, она имела разрядность 8bit данных и 20bit адреса и работала на частоте 4.77MHz. Далее появилась шина ISA (Industry Standart Architecture — архитектура промышленного стандарта), соответственно она имела разрядность 16bit/24bit и работала на частоте 8MHz. Пиковая пропускная способность составляла чуть больше 5.5MB/сек. Этого более чем хватало для отображения текстовой информации и игр с шестнадцатицветной графикой. Дальнейшим рывком явилось появление шины MCI (Micro Channel Architecture) в новой серии компьютеров PS/2 фирмы IBM. Она уже имела разрядность 32bit/32bit и пиковую пропускную способность 40MB/сек. Но то обстоятельство, что архитектура MCI являлась собственностью фирмы IBM побудило остальных производителей искать иные пути увеличения пропускной способности основного канала доступа к видеоадаптеру. И вот, с появлением 486 процессоров, было предложено использовать для подключения периферийных устройств локальную шину самого процессора, в результате родилась VLB (VESA Local Bus — локальная шина стандарта VESA). Работая на внешней тактовой частоте процессора, которая составляла от 25MHz до 50MHz, и имея разрядность 32bit, шина VLB обеспечивала пиковую пропускную способность около 130MB/сек. Этого уже было более чем достаточно для всех существовавших приложений, помимо этого возможность использования ее не только для видеоадаптеров, наличие трех слотов подключения и обеспечение обратной совместимости с ISA (VLB представляет собой просто еще один 116 контактный разъем за слотом ISA) гарантировали ей достаточно долгую жизнь и поддержку многими производителями чипсетов для материнских плат, и периферийных устройств, даже несмотря на то, что при частотах 40MHz и 50MHz обеспечить работу даже двух устройств подключенных к ней представлялось проблематичным из-за чрезмерно высокой нагрузки на каскады центрального процессора (ведь большинство управляющих цепей шло с VLB на процессор напрямую, без всякой буферизации). И все-таки, с учетом того, что не только видеоадаптер стал требовать высокую скорость обмена информацией, и явной невозможности подключения к VLB всех устройств (и необходимостью наличия межплатформенного решения, не ограничивающегося только PC), была разработана шина PCI (Periferal Component Interconnect — объединение внешних компонентов) появившаяся, в первую очередь, на материнских платах для процессоров Pentium. С точки зрения производительности на платформе PC все осталось по прежнему — при тактовой частоте шины 33MHz и разрядности 32bit/32bit она обеспечивала пиковую пропускную способность 133MB/сек, столько же сколько и VLB. Однако она была удобнее и в конце-концов вытеснила шину VLB и на материнских платах для процессоров класса 486.

С появлением процессоров Intel Pentium II, и серьезной заявкой PC на принадлежность к рынку высокопроизводительных рабочих станций, а так же с появлением 3D игр со сложной графикой, стало ясно, что пропускной способности PCI в том виде, в каком она существовала на платформе PC (обычно частота 33MHz и разрядность 32бит) скоро не хватит на удовлетворение запросов системы. Поэтому фирма Intel решила сделать отдельную шину для графической подсистемы, несколько модернизировала шину PCI, обеспечила новой получившейся шине отдельный доступ к памяти с поддержкой некоторых специфических запросов видеоадаптеров, и назвала это AGP (Accelerated Graphics Port — ускоренный графический порт). Разрядность шины AGP составляет 32bit, рабочая частота 66MHz, поддерживаются режимы передачи данных 1x, 2x, 4x, 8x, в этих режимах за один такт передаются соответственно одно, два, четыре или восемь 32 разрядных слов. Пиковая пропускная способность в режиме 1x — 266MB/сек. Современные видеоплаты выпускаются с интерфейсами AGP 8x, с пропускной способностью 2,1 Гбайт/с соответственно. Однако и шина AGP уже не удовлетворяет современным требованиям, кроме того не может обеспечить необходимую мощность питания. Для решения этих проблем изобрели расширение шины PCI — PCI Express, это последовательный, в отличие от AGP интерфейс, его пропускная способность может достигать 8Гбайт/с. На данный момент произошел практически полный отказ от шины AGP в пользу PCI Express.

Видеопамять[править | править код]

Кроме шины данных, второе узкое место любого видеоадаптера — это пропускная способность (англ. bandwidth) памяти самого видеоадаптера. Причем изначально проблема возникла даже не столько из-за скорости обработки видеоданных (это сейчас часто стоит проблема информационного голода видеокантроллера, когда он данные обрабатывает быстрее чем успевает их читать/писать из/в видеопамять), сколько из-за необходимости доступа к ним со стороны чипа видеоадаптера, центрального процессора, и RAMDAC’а. Дело в том, что при высоких разрешениях и большой глубине цвета для отображения страницы экрана на мониторе необходимо прочитать все эти данные из видеопамяти и преобразовать в аналоговый сигнал который и пойдет на монитор. Если объяснить более понятно и просто, то начнем с того, что то изображение что вы видите на экране монитора хранится не в мониторе, а в памяти видеоадаптера. И его нужно прочитать из памяти и вывести на экран столько раз в секунду, сколько кадров в секунду показывает монитор. Возьмем объем одной страницы экрана при разрешении 1024x768 точек и глубине цвета 24bit (True Color), это составляет 2.25MB. При частоте кадров 75Гц необходимо считывать эту страницу из памяти видеоадаптера 75 раз в секунду (считываемые пиксели передаются в RAMDAC и он преобразовывает цифровые данные о цвете пикселя в аналоговый сигнал поступающий на монитор), причем ни задержаться, ни пропустить пиксель нельзя, следовательно номинально потребная пропускная способность видеопамяти для данного разрешения составляет приблизительно 170MB/сек, и это без учета того, что необходимо и самому видеоконтроллеру писать и читать данные из этой памяти. Для разрешения 1600x1200x32бит при той же частоте кадров 75Гц, номинально потребная пропускная составляет уже 550 МБайт в секунду, для сравнения, процессор Pentium2 имел пиковую скорость работы с памятью 528МБ в секунду. Проблему можно было решать двояко — либо использовать специальные типы памяти, которые позволяют одновременно двум устройствам читать из нее, либо ставить очень быструю память. О типах памяти и пойдет речь.

FPM DRAM — 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 DRAM (Double Data Rate) — вариант SDRAM с передачей данных по двум фронтам сигнала, получаем в результате удвоение скорости работы. Дальнейшее развитие пока происходит в виде очередного уплотнения числа пакетов в одном такте шины (DDR2, QDDR и т. п.)

SGRAM (Synchronous Graphics RAM — синхронное графическое ОЗУ) вариант DRAM с синхронным доступом. В принципе, работа SGRAM полностью аналогична SDRAM, но дополнительно поддерживаются еще некоторые специфические функции, типа блоковой и масочной записи. В отличие от VRAM и WRAM, SGRAM является одно-портовой, однако может открывать две страницы памяти как одну, эмулируя двухпортовость других типов видеопамяти.

MDRAM (Multibank DRAM — много банковое ОЗУ) — вариант DRAM разработанный фирмой MoSys, организованный в виде множества независимых банков объемом по 32КБ каждый, работающих в конвейерном режиме.

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

См.также[править | править код]

Ссылки[править | править код]

Основные производители[править | править код]

Специализированные[править | править код]

Другие производители[править | править код]

Стандарты видеоадаптеров и мониторов Сравнительные размеры
Видеоадаптеры Сравнительные размеры
MDA | HGC | CGA | EGA | VGA | MCGA | 8514 | XGA
Разрешение экрана
QVGA | VGA | SVGA | XGA | XGA+ | SXGA | SXGA+ | UXGA | QXGA | QSXGA | QUXGA | HXGA | HSXGA | HUXGA
Широкоэкранные варианты
WXGA | WSXGA/WXGA+ | WSXGA+ | WUXGA | WQXGA | WQSXGA | WHXGA | WHSXGA | WHUXGA | WQUXGA



Компоненты компьютера

Основные: системный блок | дисплей | устройства ввода-вывода
Основные компоненты системного блока: материнская плата | центральный процессор | оперативная память | жёсткий диск | графическая плата | звуковая плата | сетевая плата | система охлаждения
Дополнительные компоненты: дисковод | стриммер | оптический привод | CD-ROM | DVD-ROM | SCSI-контроллер | TV-тюнер
Периферия (внешние компоненты): принтер | сканер | графопостроитель (плоттер) | модем | микрофон | акустика | ИБП
Устройства ввода информации: клавиатура | мышь | световое перо | графический планшет | тачпэд | трекбол | Touch screen
Игровые устройства ввода: джойстик | руль | штурвал | педали | пистолет | геймпад | дэнспад