Видеокарта
Видеокарта (также видеоадаптер, графический адаптер, графическая плата, графическая карта, графический ускоритель) электронное устройство, преобразующее графический образ, хранящийся, как содержимое памяти компьютера (или самого адаптера), в форму, пригодную для дальнейшего вывода на экран монитора. Первые мониторы, построенные на электронно-лучевых трубках, работали по телевизионному принципу сканирования экрана электронным лучом, и для отображения требовался видеосигнал, генерируемый видеокартой.
Под графическим адаптером понимают устройство с графическим процессором графический ускоритель, который и занимается формированием самого графического образа.
Современные видеокарты не ограничиваются простым выводом изображения, они имеют встроенный графический процессор, который может производить дополнительную обработку, снимая эту задачу с центрального процессора компьютера. Например, все современные видеокарты Nvidia и AMD (ATi) осуществляют рендеринг графического конвейера OpenGL и DirectX на аппаратном уровне. В последнее время также имеет место тенденция использовать вычислительные возможности графического процессора для решения неграфических задач.
Обычно видеокарта выполнена в виде печатной платы (плата расширения) и вставляется в разъём расширения, универсальный либо специализированный (AGP, PCI Express). Также широко распространены и встроенные (интегрированные) в системную плату видеокарты как в виде отдельного чипа, так и в качестве составляющей части северного моста чипсета или ЦПУ); в этом случае устройство, строго говоря, не может быть названо видеокартой.
Устройство
Современная видеокарта состоит из следующих частей:
Графический процессор (Graphics processing unit (GPU) графическое процессорное устройство) занимается расчётами выводимого изображения, освобождая от этой обязанности центральный процессор, производит расчёты для обработки команд трёхмерной графики. Является основой графической платы, именно от него зависят быстродействие и возможности всего устройства. Современные графические процессоры по сложности мало чем уступают центральному процессору компьютера, и зачастую превосходят его как по числу транзисторов, так и по вычислительной мощности, благодаря большому числу универсальных вычислительных блоков. Однако, архитектура GPU прошлого поколения обычно предполагает наличие нескольких блоков обработки информации, а именно: блок обработки 2D-графики, блок обработки 3D-графики, в свою очередь, обычно разделяющийся на геометрическое ядро (плюс кэш вершин) и блок растеризации (плюс кэш текстур) и др.
Видеоконтроллер отвечает за формирование изображения в видеопамяти, даёт команды RAMDAC на формирование сигналов развёртки для монитора и осуществляет обработку запросов центрального процессора. Кроме этого, обычно присутствуют контроллер внешней шины данных (например, PCI или AGP), контроллер внутренней шины данных и контроллер видеопамяти. Ширина внутренней шины и шины видеопамяти обычно больше, чем внешней (64, 128 или 256 разрядов против 16 или 32), во многие видеоконтроллеры встраивается ещё и RAMDAC. Современные графические адаптеры (ATI, nVidia) обычно имеют не менее двух видеоконтроллеров, работающих независимо друг от друга и управляющих одновременно одним или несколькими дисплеями каждый.
Видео-ПЗУ (Video ROM) постоянное запоминающее устройство (ПЗУ), в которое записаны BIOS видеокарты, экранные шрифты, служебные таблицы и т. п. ПЗУ не используется видеоконтроллером напрямую к нему обращается только центральный процессор.
BIOS обеспечивает инициализацию и работу видеокарты до загрузки основной операционной системы, задаёт все низкоуровневые параметры видеокарты, в том числе рабочие частоты и питающие напряжения графического процессора и видеопамяти, тайминги памяти. Также, VBIOS содержит системные данные, которые могут читаться и интерпретироваться видеодрайвером в процессе работы (в зависимости от применяемого метода разделения ответственности между драйвером и BIOS). На многих современных картах устанавливаются электрически перепрограммируемые ПЗУ (EEPROM, Flash ROM), допускающие перезапись видео-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-концентраторы и иные устройства ввода-вывода.
9-контактный разъём S-Video TV-Out, DVI и D-Sub.
Также на видеокарте могут быть размещены композитный и компонентный S-Video видеовыход; также видеовход (обозначаются, как ViVo)
Система охлаждения предназначена для сохранения температурного режима видеопроцессора и (зачастую) видеопамяти в допустимых пределах.
Также, правильная и полнофункциональная работа современного графического адаптера обеспечивается с помощью видеодрайвера специального программного обеспечения, поставляемого производителем видеокарты и загружаемого в процессе запуска операционной системы. Видеодрайвер выполняет функции интерфейса между системой с запущенными в ней приложениями и видеоадаптером. Так же как и видео-BIOS, видеодрайвер организует и программно контролирует работу всех частей видеоадаптера через специальные регистры управления, доступ к которым происходит через соответствующую шину.
Видеопамять
Кроме шины данных второе узкое место любого видеоадаптера это пропускная способность (англ. 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 ГБ/с. Минус этой памяти нужно читать информацию большими блоками, иначе её производительность резко падает.
В настоящее время
Тип |
Эффективная частота памяти, МГц |
Пиковая скорость передачи данных (пропускная способность), ГБ/с |
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 |
Объём памяти большого количества современных видеокарт варьируется от 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).
Видеопамять используется для временного сохранения, помимо непосредственно данных изображения, и другие: текстуры, Z-буфер (удалённость элементов изображения в 3D графике), и тому подобные данные графической подсистемы (за исключением, по большей части данных Video BIOS, внутренней памяти графического процессора и т. п.) и коды.
Характеристики видеокарт
- ширина шины памяти, измеряется в битах количество бит информации, передаваемой за такт. Важный параметр в производительности карты.
- объём видеопамяти, измеряется в мегабайтах объём собственной оперативной памяти видеокарты. Больший объём далеко не всегда означает большую производительность.
Видеокарты, интегрированные в набор системной логики материнской платы или являющиеся частью ЦПУ, обычно не имеют собственной видеопамяти и используют для своих нужд часть оперативной памяти компьютера (UMA Unified Memory Access).
- частоты ядра и памяти измеряются в мегагерцах, чем больше, тем быстрее видеокарта будет обрабатывать информацию.
- текстурная и пиксельная скорость заполнения, измеряется в млн. пикселов в секунду, показывает количество выводимой информации в единицу времени.
3D-ускорители
3D-ускоритель - плата расширения (PCI, PCI-E, AGP, ISA), которая отвечает за ускорение двухмерной графики, а позднее и трехмерной графики. Самым первым 3D-ускорителем стала видеокарта от Creative - 3D Blaster VLB, основанная на модифицированном ядре 3DLabs 300SX и выпущенная в 1995 году, единственная тогда для шины VLB.
Игровые видеоускорители - это видеокарты, ориентированные на ускорение 3D графики в играх.
Профессиональные видеоускорители видеокарты, ориентированные на работу в графических станциях и использования в математических и графических пакетах 2D- и 3D-моделирования, на которые ложится значительная нагрузка при расчёте и прорисовке моделей проектируемых объектов.
Ядра профессиональных видеоускорителей основных производителей, AMD и NVIDIA, «изнутри» мало отличаются от их игровых собратьев. Они давно унифицировали свои GPU и используют их в разных областях. Именно такой ход и позволил этим фирмам вытеснить с рынка компании, занимавшиеся разработкой и продвижением специализированных графических чипов для профессиональных применений.
Особое внимание уделяется подсистеме видеопамяти, поскольку это особо важная составляющая профессиональных ускорителей, на долю которой выпадает основная нагрузка при работе с моделями гигантского объёма.
Интегрированные (встроенные) видеокарты
IGP (сокр. от англ. Integrated Graphics Processor, дословно интегрированный графический процессор) графический процессор (GPU), встроенный (интегрированный) в материнскую плату.
Встроенная графика позволяет построить компьютер без отдельной видеоплаты, что сокращает стоимость и энергопотребление систем. Данное решение обычно используется в ноутбуках, настольных компьютерах нижней ценовой категории и бизнес-компьютерах (для которых не требуется высокий уровень производительности графической системы). В качестве видеопамяти данные графические системы используют оперативную память компьютера, что приводит к ограничениям производительности, так как и центральный и графический процессоры для доступа к памяти используют одну шину. Как и «стационарные» видеокарты мобильные видеоадаптеры разделяются на три основных вида, в зависимости от способа сообщения видеоядра и видеопамяти:
- Графика с разделяемой памятью под нужды видеоадаптера динамически выделяется область основного ОЗУ компьютера.
- Дискретная графика на системной плате или (реже) на отдельном модуле распаяны видеочип и один или несколько модулей видеопамяти.
- Гибридная дискретная графика комбинация вышеназванных способов небольшой объём физически распаянной на плате видеопамяти, который может виртуально расширяться за счёт использования основной оперативной памяти.
Основные производители
- AMD
- nVidia
Специализированные:
- Matrox
- 3D Labs
Другие производители:
- 3dfx (приобретена NVidia)
- Acer Laboratories Inc.
- Alliance Logic
- Ark Logic
- Artist Graphics
- ATI (приобретена AMD в 2006 г.)
- ASPEED Technology Inc.
- Avance Logic
- Bitboys Oy (приобретена ATI в 2006 г.)
- Chips & Technologies (приобретена Intel в 1997 г.)
- Chromatic Research (приобретена ATI в 1998 г.)
- Evans & Sutherland (разрабатывала чипы для военных симуляторов)
- Hualon Microelectronics Corporation
- IBM
- Integrated Micro Solutions (позже - iXMicro)
- Macronix
- NEC
- NeoMagic Corporation
- Number Nine Visual Technologies (приобретена S3 Graphics)
- OPTi
- Radius (выпускала видеокарты для Apple Macintosh)
- Real3D (СП Intel и Lockheed Martin, фактический разработчик i740)
- Realtek
- Rendition
- S3 Graphics (графическое подразделение приобретено VIA в 2000 г.)
- SiS