3d-ускорители
Сам термин 3D-ускоритель формально означает дополнительную плату расширения, выполняющую вспомогательные функции ускорения формирования трёхмерной графики. Отображение результата в виде 2D изображения и передача её на монитор не является задачей 3D-ускорителя.
3D-ускорители в виде отдельного устройства практически не встречаются. Почти любая (кроме узкоспециализированных) видеокарта, в том числе и интегрированные графические адаптеры в составе процессоров и системной логики, выполняют аппаратное ускорение отображения двухмерной и трёхмерной графики.
Аппаратное ускорение формирования графических изображений изначально входило в характеристики многих персональных компьютеров, однако первая модель IBM PC штатно располагала только текстовыми режимами и не имела возможности отображать графику.
Однако первые видеокарты для IBM PC-совместимых компьютеров с поддержкой аппаратного ускорения 2D- и 3D-графики появились достаточно рано. Так IBM ещё в 1984 начала производство и продажу видеокарт стандарта PGC.
PGC была создана для профессионального применения, выполняла аппаратное ускорение построения 2D- и 3D-примитивов и являлась решением в первую очередь для CAD-приложений. IBM PGC имела крайне высокую стоимость. Цена этой видеокарты была гораздо выше самого компьютера, поэтому существенного распространения такие решения не получили. На рынке профессиональных решений были видеокарты и 3D-ускорители других производителей.
Распространение доступных 3D-ускорителей для IBM PC-совместимых компьютеров началось в 1994 году. Первой видеокартой с поддержкой аппаратного ускорения отображения 3D-графики стала Matrox Impression Plus выпущенная в 1994 году (использовала чип Matrox Athena).
В 1995 году компания S3 Graphics, являющаяся на тот момент признанным и перспективным производителем видеокарт с ускорением растровой 2D-графики, выпустила один из первых массовых 3D-ускорителей на чипсетеS3 ViRGE.
Однако, использование этих видеокарт в реальных сценариях, показывало посредственную производительность, в связи с чем, нельзя было назвать их ускорителями 3D-графики в буквальном понимании. В то же время видеокарты Matrox Mistique и ATI 3D Rage, показывали лучшие результаты[16].
В том же году уже несколько компаний выпускают новые графические чипы с поддержкой аппаратного ускорения формирования 3D-графики. Так, Matrox выпускает MGA-2064W, Number Nine Visual Technology отмечается выпуском графического процессора Imagine 128-II, Yamaha представляет чипы YGV611 и YGV612, компания 3DLabs выпускает Glint 300SX, а Nvidia — NV1 (который так же выпускается в рамках соглашения с SGS-THOMSON под именем STG2000).
Настоящим прорывом на рынке 3D-ускорителей и видеокарт с аппаратным ускорением 3D-графики стал 1996 год. Именно этот год стал годом массового внедрения и популяризации аппаратной 3D-графики на IBM PC-совместимых компьютерах. В этому году появляются новые графические решения от 3DLabs, Matrox, ATI Technologies, S3, Rendition, Chromatic Research, Number Nine Visual Technology, Trident Microsystems, PowerVR.
И хотя на основе этих графических процессоров в этом году выходит множество как 3D-ускорителей, так и полноценных видеокарт с функций ускорения 3D-графики, главным событием становится выпуск 3D-ускорителей на основе набора чипов 3DfxVoodoo Graphics.
Компания 3dfx Interactive до этого производившая специализированные 3D-ускорители для аркадных автоматов представила набор чипов для рынка IBM PC-совместимых компьютеров. Скорость и качество рендеринга трёхмерных сцен выполненных картами Voodoo Graphics были на уровне игровых автоматов, и большинство производителей видеокарт начали выпуск 3D-ускорителей на основе набора Voodoo Graphics, а вскоре и большинство производителей компьютерных игр поддержали Voodoo Graphics и выпустили новые игры для IBM PC-совместимых компьютеров с совершенно новым уровнем 3D-графики. Произошёл взрыв интереса к 3D-играм и соответственно к 3D-ускорителям.
С 1998 года развивается (компания 3dfx, карта Voodoo2) технология SLI (англ. Scan Line Interleave — чередование строчек), позволяющая использовать мощности нескольких соединённых между собой видеокарт для обработки трёхмерного изображения.
Ramdac и tmds
Цифро-аналоговый преобразователь (ЦАП; RAMDAC — Random Access Memory Digital-to-Analog Converter) служит для преобразования изображения, формируемого видеоконтроллером, в уровни интенсивности цвета, подаваемые на аналоговый монитор.
Возможный диапазон цветности изображения определяется только параметрами RAMDAC. Чаще всего RAMDAC имеет четыре основных блока: три цифро-аналоговых преобразователя, по одному на каждый цветовой канал (красный, зелёный, синий — RGB), и SRAM для хранения данных о гамма-коррекции.
Большинство ЦАП имеют разрядность 8 бит на канал — получается по 256 уровней яркости на каждый основной цвет, что в сумме даёт 16,7 млн цветов (а за счёт гамма-коррекции есть возможность отображать исходные 16,7 млн цветов в гораздо большее цветовое пространство).
TMDS (Transition-minimized differential signaling — дифференциальная передача сигналов с минимизацией перепадов уровней) передатчик цифрового сигнала без ЦАП-преобразований. Используется при DVI-D, HDMI, DisplayPort подключениях.
С распространением ЖК-мониторов и плазменных панелей нужда в передаче аналогового сигнала отпала — в отличие от ЭЛТ они уже не имеют аналоговую составляющую и работают внутри с цифровыми данными. Чтобы избежать лишних преобразований, Silicon Image разрабатывает TMDS.
Видео-озу
Видеопамять выполняет функцию кадрового буфера, в котором хранится изображение, генерируемое и постоянно изменяемое графическим процессором и выводимое на экран монитора (или нескольких мониторов). В видеопамяти хранятся также промежуточные невидимые на экране элементы изображения и другие данные.
На данный момент (2021 год) существует 7 типов памяти для видеокарт[источник не указан 250 дней]: DDR, GDDR2, GDDR3, GDDR4, GDDR5, GDDR6 и HBM.
Помимо видеопамяти, находящейся на видеокарте, графические процессоры обычно используют в своей работе часть общей системной памяти компьютера, прямой доступ к которой организуется драйвером видеоадаптера через шину AGP или PCI-e.
Видеопамять
Кроме шины данных, второе узкое место любого видеоадаптера — это пропускная способность (англ. bandwidth) памяти самого видеоадаптера. Причём изначально проблема возникла даже не столько из-за скорости обработки видеоданных (часто стоит проблема информационного «голода» видеоконтроллера, когда он данные обрабатывает быстрее, чем успевает их читать/писать из/в видеопамять), сколько из-за необходимости доступа к ним со стороны видеопроцессора, центрального процессора и RAMDAC.
Дело в том, что при высоких разрешениях и большой глубине цвета для отображения страницы экрана на мониторе необходимо прочитать все эти данные из видеопамяти и преобразовать в аналоговый сигнал, который и пойдёт на монитор, столько раз в секунду, сколько кадров в секунду показывает монитор.
Возьмём объём одной страницы экрана при разрешении 1024×768 точек и глубине цвета 24 бит (True Color), это составляет 2,25 МБ. При частоте кадров 75 Гц необходимо считывать эту страницу из памяти видеоадаптера 75 раз в секунду (считываемые пикселы передаются в RAMDAC, и он преобразовывает цифровые данные о цвете пиксела в аналоговый сигнал, поступающий на монитор), причём ни задержаться, ни пропустить пиксел нельзя, следовательно, номинально потребная пропускная способность видеопамяти для данного разрешения составляет приблизительно 170 МБ/с, и это без учёта того, что необходимо и самому видеоконтроллеру писать и читать данные из этой памяти.
Для разрешения 1600x1200x32 бит при той же частоте кадров 75 Гц номинально потребная пропускная составляет уже 550 МБ/с. Для сравнения, процессор Pentium II имел пиковую скорость работы с памятью 528 МБ/с. Проблему можно было решать двояко — либо использовать специальные типы памяти, которые позволяют одновременно двум устройствам читать из неё, либо ставить очень быструю память.
Типы видеопамяти[18]:
- Ранние видеокарты не предъявляли особых требований к быстродействию и использовали стандартные типы памяти типа — статические Static RAM (например, в адаптере MDA) или динамические Dynamic RAM.
- 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 и т. д.
- 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 Гб/с. Минус этой памяти — нужно читать информацию большими блоками, иначе её производительность резко падает.
Объём оперативной памяти видеокарт варьируется от 4 Кбайт (например, в MDA) до 48 Гб (например, NVIDIAQuadro RTX 8000)[19]. Поскольку доступ к видеопамяти GPU и другими электронным компонентами должен обеспечивать желаемую высокую производительность всей графической подсистемы в целом, используются специализированные высокоскоростные типы памяти, такие, как SGRAM, двухпортовые (англ. dual-port)
VRAM, WRAM, другие. Приблизительно с 2003 года видеопамять, как правило, базировалась на основе DDR технологии памяти SDRAM, с удвоенной эффективной частотой (передача данных синхронизируется не только по нарастающему фронту тактового сигнала, но и ниспадающему).
И в дальнейшем DDR2, GDDR3, GDDR4, GDDR5 и на момент 2022 года[20]GDDR5X. С выходом серии высокопроизводительных видеокарт AMD Fury совместно с уже устоявшейся на рынке памятью GDDR начала использоваться память нового типа HBM, предлагая значительно большую пропускную способность и упрощение самой платы видеокарты, за счёт отсутствия необходимости разводки и распайки чипов памяти.
Пиковая скорость передачи данных (пропускная способность) памяти видеокарт достигает 480 Гб/с для типа памяти GDDR5X (например, у NVIDIA TITAN X Pascal[21])
Видеопамять используется для временного сохранения, помимо непосредственно данных изображения, и другие: текстуры, шейдеры, вершинные буферы, Z-буфер (удалённость элементов изображения в 3D-графике), и тому подобные данные графической подсистемы (за исключением, по большей части данных Video BIOS, внутренней памяти графического процессора и т. п.) и коды.
Видео-пзу
Видео-ПЗУ (Video ROM) — постоянное запоминающее устройство (ПЗУ), в которое записаны BIOS видеокарты, экранные шрифты, служебные таблицы и т. п. ПЗУ не используется видеоконтроллером напрямую — к нему обращается только центральный процессор.
BIOS обеспечивает инициализацию и работу видеокарты до загрузки основной операционной системы, задаёт все низкоуровневые параметры видеокарты, в том числе рабочие частоты и питающие напряжения графического процессора и видеопамяти, тайминги памяти.
Также VBIOS содержит системные данные, которые могут читаться и интерпретироваться видеодрайвером в процессе работы (в зависимости от применяемого метода разделения ответственности между драйвером и BIOS). На многих картах устанавливаются электрически перепрограммируемые ПЗУ (EEPROM, Flash ROM), допускающие перезапись видео-BIOS самим пользователем при помощи специальной программы.
Внешняя видеокарта
Под термином eGPU понимают дискретную графическую карту, расположенную вне компьютера[27]. Может использоваться, например, для увеличения производительности в 3D приложениях на ноутбуках.
Как правило PCI Express является единственной пригодной шиной для этих целей. В качестве порта может использоваться ExpressCard, mPCIe (PCIe ×1, до 5 или 2.5 Гбит/с соответственно) или порт Thunderbolt 1, 2, или 3 (PCIe ×4, до 10, 20, или 40 Гбит/с соответственно)[28][29].
В 2022 AMD предприняла попытку стандартизировать внешние графические процессоры[30].
Встроенная графика
Интегрированные графические адаптеры не имеют собственной памяти и используют оперативную память компьютера, что сказывается на производительности в худшую сторону. Хотя графические процессоры Intel Iris Graphics, начиная с поколения процессоров Broadwell, имеют в своём распоряжении 128 мегабайт кэша четвёртого уровня, остальную память они могут брать из оперативной памяти компьютера[26].
Встроенные графические процессоры расположены на одном чипе с центральным процессором (например, Intel HD Graphics или Intel Iris Graphics), предыдущие поколения (например, Intel GMA) располагались в виде отдельного чипа.
Графический процессор
Графический процессор (англ. Graphics processing unit (GPU) — досл.: «графическое процессорное устройство») занимается расчётами выводимого изображения (рендеринг), производя обработку 2D[en]* и 3D графики[3].
Графические процессоры по сложности мало чем уступают центральному процессору компьютера, и зачастую превосходят его как по числу транзисторов, так и по вычислительной мощности, благодаря большому числу универсальных вычислительных блоков. Однако архитектура GPU прошлого поколения обычно предполагает наличие нескольких блоков обработки информации, а именно: блок обработки 2D-графики, блок обработки 3D-графики, в свою очередь, обычно разделяющийся на геометрическое ядро (плюс кэш вершин) и блок растеризации (плюс кэш текстур) и др.
Дискретные видеокарты
Наиболее высокопроизводительный класс графических адаптеров. Как правило, подключается к высокоскоростной шине данных PCI Express. Ранее встречались видеокарты, подключаемые к шинам AGP (специализированная шина обмена данных для подключения только видеокарт)
, PCI, VESA и ISA. Видеокарты подключаются через шину PCI Express, а все прочие типы подключений являются устаревшими. В компьютерах с архитектурой, отличной от IBM-совместимой, встречались и другие типы подключения видеокарт.
Дискретная карта не обязательно может быть извлечена из устройства (например, на ноутбуках дискретная карта часто распаяна на материнской плате). Она называется дискретной из-за того, что выполнена в виде отдельного чипа (или набора микросхем) и не является частью других компонентов компьютера (в отличие от графических решений, встраиваемых в чипы системной логики материнских плат или непосредственно в центральный процессор).
Большинство дискретных видеокарт обладает своей собственной оперативной памятью (VRAM), которая часто может обладать более высокой скоростью доступа или более скоростной шиной доступа, чем обычная оперативная память компьютера. Хотя ранее встречались видеокарты, которые полностью или частично использовали основную оперативную память для хранения и обработки графической информации, видеокарты используют собственную видеопамять.
Также иногда (но достаточно редко) встречаются видеокарты, оперативная память которых не установлена в виде отдельных микросхем памяти, а входит в состав графического чипа (в виде отдельных кристаллов или же на одном кристалле с графическим процессором).
Выполненные в виде отдельного набора системной логики, а не в составе других микросхем, дискретные видеокарты могут быть достаточно сложными и гораздо более высокопроизводительными, чем встроенная графика. Кроме того, обладая собственной видеопамятью, дискретные видеокарты не должны делить оперативную память с другими компонентами компьютера (в первую очередь с центральным процессором).
Собственная оперативная память позволяет не тратить основное ОЗУ для хранения информации, которая не нужна центральному процессору и другим компонентам компьютера. С другой стороны, видеопроцессору не приходится ожидать очереди на доступ к оперативной памяти компьютера, к которой может в данный момент обращаться как центральный процессор, так и другие компоненты. Все это положительно сказывается на производительности дискретных видеокарт по сравнению со встроенной графикой.
Такие технологии, как SLI от Nvidia и CrossFire от AMD позволяют задействовать несколько графических адаптеров параллельно для решения одной задачи.
Драйвер устройства
Также правильная и полнофункциональная работа графического адаптера обеспечивается с помощью видеодрайвера — специального программного обеспечения, поставляемого производителем видеокарты и загружаемого в процессе запуска операционной системы.
Видеодрайвер выполняет функции интерфейса между системой с запущенными в ней приложениями и видеоадаптером. Так же, как и видео-BIOS, видеодрайвер организует и программно контролирует работу всех частей видеоадаптера через специальные регистры управления, доступ к которым происходит через соответствующую шину.
Драйвер устройства обычно поддерживает одну или несколько карт, и должен быть написан специально для определённой операционной системы (ОС).
Большинство устройств требуют проприетарных драйверов для использования всей функциональности, эти драйвера для популярных ОС обычно поставляются с устройством и часто доступны для бесплатного скачивания с сайта производителя. Разрабатывается несколько драйверов видеокарт с открытым исходным кодом, но многие из них могут использовать лишь основную функциональность карт.
Интерфейс
Первое препятствие к повышению быстродействия видеосистемы — это интерфейс передачи данных, к которому подключён видеоадаптер. Как бы ни был быстр процессор видеоадаптера, большая часть его возможностей останется незадействованной, если не будут обеспечены соответствующие каналы обмена информацией между ним, центральным процессором, оперативной памятью компьютера и дополнительными видеоустройствами.
Основным каналом передачи данных является, конечно, интерфейсная шина материнской платы, через которую обеспечивается обмен данными с центральным процессором и оперативной памятью. Самой первой шиной, использовавшейся в IBM PC, была XT-Bus, она имела разрядность 8 бит данных и 20 бит адреса и работала на частоте 4,77 МГц.
Далее появилась шина ISA (Industry Standart Architecture — архитектура промышленного стандарта), соответственно она имела разрядность 8/16 бит и работала на частоте 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, 2.1, 3.
0 и новейший 4.0. Это последовательный, в отличие от AGP, интерфейс, его пропускная способность может достигать нескольких десятков Гб/с. На данный момент произошёл практически полный отказ от шины AGP в пользу PCI Express. Однако стоит отметить, что некоторые производители до сих пор предлагают видеоплаты с интерфейсами PCI и AGP — во многих случаях это достаточно простой путь резко повысить производительность морально устаревшего ПК в некоторых графических задачах.
История
Первым компьютером, оснащённым устройством вывода изображения на экран считается Whirlwind, строившийся в период с 1944 по 1953 год. Видеоадаптер компьютера Whirlwind мог отображать до 6250 точек в секунду[нет в источнике] с адресацией 2048×2048 позиций, либо до 550 цифр, кроме того оснащался световым пером[10].
В марте 1973 года вышел мини-компьютер Xerox Alto, который можно назвать первым персональным компьютером[11]. Alto имел графический интерфейс с метафорой окон и рабочего стола, для этого он оснащался контроллером дисплея[12][[13][неавторитетный источник?]Cromemco Dazzler (англ.), позволявшая выводить на экран обычного бытового телевизора цветное изображение, сформированное в памяти компьютера[14]. Первая версия позволяла выводить изображение до 128×128 пикселей, следующее поколение — до 756×484.
Видеоадаптер MDA (англ. Monochrome Display Adapter) был выпущен IBM в 1981 году для IBM PC[15]. Он поддерживал разрешение 720х350 пикселей и работал только в текстовом режиме, выводя на экран до 25 строк.
Никакой цветовой или графической информации он передавать не мог[1]. Фирма Hercules[en] в 1982 году выпустила дальнейшее развитие адаптера MDA, видеоадаптер HGC (англ. Hercules Graphics Controller), который поддерживал две графические страницы, но всё же не позволял работать с цветом.
Первой цветной видеокартой для PC стала CGA (англ. Color Graphics Adapter), выпущенная IBM в 1981 году. Она могла работать либо в текстовом режиме, отображая 16 цветов символов, либо в графическом, выводя четырёхцветные изображения в низком (320×200) разрешении.
Режим высокого разрешения 640×200 был монохромным. В развитие этой карты, в 1984 году, появился EGA (англ. Enhanced Graphics Adapter) — улучшенный графический адаптер, с расширенной до 64 цветов палитрой[1].
Разрешение было улучшено до 640×350. Особенностью данных адаптеров было то, что они использовали слот шины ISA, имеющий открытую архитектуру, в связи с чем пользователь мог самостоятельно менять видеокарту на желаемую[1].
Интерфейсы с монитором всех этих типов видеоадаптеров были цифровыми, MDA и HGC передавали только светится или не светится точка и дополнительный сигнал яркости для атрибута текста «яркий», аналогично CGA по трём каналам (красный, зелёный, синий) передавал основной видеосигнал, и мог дополнительно передавать сигнал яркости (всего получалось 16 цветов)
В 1987 году появляется новый графический адаптер MCGA (англ. Multicolor Graphics Adapter), в котором инженеры IBM сумели увеличили текстовый режим до 50 строк, а графический до 262 144 цветов, в связи с чем возникла необходимость перейти с цифрового на аналоговый сигнал для монитора.
Потом IBM пошла ещё дальше и несколько месяцев спустя выпустила VGA (англ. Video Graphics Array), ставшей фактическим стандартом видеоадаптеров на многие годы. В графическом режиме её разрешение составляло 640×480 и было примечательно тем, что соотношение числа пикселей по горизонтали и вертикали совпадало со стандартным (для того времени) соотношением сторон экрана монитора — 4:3.
С 1991 года появилось понятие SVGA (Super VGA) — расширение VGA с добавлением более высоких режимов. Число одновременно отображаемых цветов при разрешении 800х600 увеличивается до 65 536 (High Color, 16 бит) и 16 777 216 (True Color, 24 бита)[1].
Из сервисных функций появляется поддержка VBE (VESA BIOS Extention — расширение BIOS стандарта VESA). SVGA воспринимается как фактический стандарт видеоадаптера где-то с середины 1992 года, после принятия ассоциацией VESA стандарта VBE версии 1.0. До того момента практически все видеоадаптеры SVGA были несовместимы между собой.
Графический пользовательский интерфейс, появившийся во многих операционных системах, стимулировал новый этап развития видеоадаптеров[1]. Появляется понятие «графический ускоритель» (graphics accelerator).
Это видеоадаптеры, которые производят выполнение некоторых графических функций на аппаратном уровне. К числу этих функций относятся: перемещение больших блоков изображения из одного участка экрана в другой (например, при перемещении окна), заливка участков изображения, рисование линий, дуг, шрифтов, поддержка аппаратного курсора и т. п.
Прямым толчком к развитию столь специализированного устройства явилось то, что графический пользовательский интерфейс, несомненно, удобен, но его использование требует от центрального процессора немалых вычислительных ресурсов, и графический ускоритель как раз и призван снять с него львиную долю вычислений по окончательному выводу изображения на экран.
Коннектор
Видеоадаптеры 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), поэтому без возможности передачи многоканального звука и высококачественного изображения).
DisplayPort позволяет подключать до четырёх устройств, в том числе аудиоустройства, USB-концентраторы и иные устройства ввода-вывода.
Также на видеокарте могут быть размещены композитный и компонентный S-Video видеовыход; также видеовход (обозначаются, как ViVo)
Примечания
- ↑ 1234567ComputerBild №11, 2022, с. 38.
- ↑Видеоплаты: AMD и NVIDIA (рус.) // Chip : журнал. — 2022. — Июль (№ 7). — С. 46. — ISSN1609-4212.
- ↑ 123ComputerBild №11, 2022, с. 39.
- ↑Intel Corporation.AGP V3.0 Interface Specification (англ.). — «graphics card, add-in card».
- ↑Что нужно знать о видеокартах? Руководство THG для начинающих пользователей, часть I (рус.). THG.ru. Tom’s Hardware (24 августа 2006). Дата обращения: 22 июля 2021.Архивировано 21 июля 2021 года.
- ↑Graphic Card Components (англ.), pctechguide.com (23 сентября 2022). Архивировано 12 декабря 2022 года.Дата обращения 24 марта 2021.
- ↑What Is the Difference Between Integrated Graphics and Discrete Graphics? (англ.). Intel. Дата обращения: 2 сентября 2021.Архивировано 21 сентября 2021 года.
- ↑ExplainingComputers.com: Hardware (англ.). www.explainingcomputers.com. Дата обращения: 11 декабря 2022.Архивировано 17 декабря 2022 года.
- ↑OpenGL vs DirectX - Cprogramming.com (неопр.). www.cprogramming.com. Дата обращения: 11 декабря 2022.Архивировано 12 декабря 2022 года.
- ↑Kent C. Redmond, Thomas M. Smith. Project Whirlwind. A Case History in Contemporary Technology. The MITRE Corporation, Bedford MA, USA. 1975 (неопр.). Дата обращения: 25 июля 2021.Архивировано 21 января 2022 года.
- ↑History of Computers and Computing, Birth of the modern computer, Personal computer, Xerox Alto (неопр.). Дата обращения: 19 апреля 2022.Архивировано 5 декабря 2020 года.
- ↑DISPLAY CONTROLLER. — В: 09aDISPL // xerox :: alto :: schematics.
- ↑Kuhman, RobertThe Cro’s Nest RCP/M-RBBS (неопр.). www.kuhmann.com. Дата обращения: 10 февраля 2022.Архивировано 10 февраля 2022 года.
- ↑Les Solomon, «Solomon’s Memory»Архивировано 25 октября 2022 года., in Digital Deli, Workman Publications, 1984, ISBN 0-89480-591-6
- ↑Михаил Гук. Аппаратные средства IBM PC. Энциклопедия, 2-е изд. — СПб.: Питер, 2002. — 928 с.: ил. — С. 530
- ↑Ты помнишь, как все начиналось? 3D-ускорители (рус.). 3DNews (31 декабря 2022). Дата обращения: 17 июля 2021.Архивировано 26 мая 2021 года.
- ↑Overview Quadro Fermi (неопр.). www.nvidia.com. Дата обращения: 9 декабря 2022.Архивировано 9 декабря 2022 года.
- ↑Михаил Гук. Аппаратные средства IBM PC. Энциклопедия, 2-е изд. — СПб.: Питер, 2002. — 928 с.: ил. — С. 526—528, 542
- ↑NVIDIA TITAN RTX is the fastest PC graphics card ever built | NVIDIA (неопр.). Дата обращения: 22 февраля 2022.Архивировано 22 февраля 2022 года.
- ↑NVIDIA GeForce GTX 1080 (неопр.). Дата обращения: 21 февраля 2022.Архивировано 26 февраля 2022 года.
- ↑NVIDIA TITAN X Pascal (неопр.). Дата обращения: 21 февраля 2022.Архивировано 22 февраля 2022 года.
- ↑TITAN RTX Ultimate PC Graphics Card with Turing | NVIDIA (неопр.). Дата обращения: 22 февраля 2022.Архивировано 26 декабря 2022 года.
- ↑Manufacturers respond to GeForce RTX 3080/3090 crash to desktop issues (англ.). VideoCardz.com. Дата обращения: 25 февраля 2021.Архивировано 22 февраля 2021 года.
- ↑FAQ по видеокартам / Видеокарты (неопр.). Дата обращения: 18 июля 2021.Архивировано 18 июля 2021 года.
- ↑Руководство покупателя видеокарты: основные характеристики видеокарт (неопр.). Дата обращения: 18 июля 2021.Архивировано 19 апреля 2021 года.
- ↑«A Survey Of Architectural Approaches for Managing Embedded DRAM and Non-volatile On-chip CachesАрхивная копия от 8 января 2022 на Wayback Machine», Mittal et al., IEEE TPDS, 2022
- ↑Semit.Опыт сборки eGPU и его взаимодействие с ноутбуком (неопр.). Дата обращения: 26 марта 2022.Архивировано 7 апреля 2022 года.
- ↑eGPU candidate system list (неопр.). Tech-Inferno Forums.
- ↑Neil Mohr.How to make an external laptop graphics adaptor (неопр.). TechRadar. Дата обращения: 26 марта 2022.Архивировано 26 июня 2022 года.
- ↑Mark Walton.AMD wants to standardize the external GPU (неопр.). Дата обращения: 29 сентября 2022.Архивировано 1 декабря 2022 года.
- ↑Как криптовалюта связана с видеокартой и особенности майнинга на видеокарте (рус.). kripto365.ru (8 октября 2022). Дата обращения: 4 октября 2022.Архивировано 28 сентября 2020 года.
- ↑Майнинг на видеокарте GPU – полное руководство (неопр.). prostocoin.com. Дата обращения: 4 октября 2022.Архивировано 20 сентября 2022 года.
Программное обеспечение
На программном уровне видеопроцессор для своей организации вычислений (расчётов трёхмерной графики) использует тот или иной интерфейс прикладного программирования (API).
Самые первые массовые ускорители использовали Glide — API для трёхмерной графики, разработанный 3dfx Interactive для видеокарт на основе собственных графических процессоров Voodoo Graphics.
Затем поколения ускорителей в видеокартах можно считать по версии DirectX, которую они поддерживают. Различают следующие поколения:
С выходом DirectX 11 и появлением модели поддержки API Feature Level (FLxx), видеокарты в большинстве своём перестали быть привязаны к конкретной версии DirectX.
Профессиональные видеоускорители
Профессиональные графические карты — видеокарты, ориентированные на работу в графических станциях и использования в математических и графических пакетах 2D- и 3D-моделирования (AutoCAD, MATLAB), на которые ложится значительная нагрузка при расчёте и прорисовке моделей проектируемых объектов.
Ядра профессиональных видеоускорителей основных производителей, AMD и NVIDIA, «изнутри» мало отличаются от их игровых аналогов. Они давно унифицировали свои GPU и используют их в разных областях. Именно такой ход и позволил этим фирмам вытеснить с рынка компании, занимавшиеся разработкой и продвижением специализированных графических чипов для профессиональных применений.
Особое внимание уделяется подсистеме видеопамяти, поскольку это — особо важная составляющая профессиональных ускорителей, на долю которой выпадает основная нагрузка при работе с моделями гигантского объёма; В частности, кроме заметно больших объёмов памяти у соотносимых по производительности карт, у видеокарт профессионального сегмента может использоваться ECC-память[17].
Отдельно стоит продукция фирмы Matrox, чьи узкоспециализированные ускорители по состоянию на 2022 год применялись для работ по кодированию видео, обработке TV-сигнала и работ со сложной 2D-графикой.


