Видеопамять

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
Видеопамять также является частью современных видеокарт. Подробнее см. в статье «Видеокарта».
Чипы видеопамяти вокруг видеопроцессора

Видеопа́мять — это внутренняя оперативная память, отведённая для хранения данных, которые используются для формирования изображения на экране монитора[1].

1 МБ дополнительной видеопамяти типа VRAM для RiscPC[en]. Добавление памяти позволяло показывать больше цветов и большее разрешение.
Matrox Millennium G250 8+8 МБ и Matrox G250-LE 8 МБ

Видеопамять относится к названиям англ. video memory, video Random-Access Memory (video RAM, VRAM — оперативная видеопамять, видео ОЗУ[2], видео RAM[3]),[4] video buffer — видеобуфер, refresh RAM — память регенерации[5], display memory — память дисплея, graphics memory, video storage[6], а также к названиям различных типов памяти. Термин «VRAM» иногда означает технологию двухпортовой DRAM, использовавшуюся в 1980-х годах.

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

В видеопамяти располагаются данные, отсылаемые затем на экран как изображение. При работе в текстовом режиме в видеопамяти находятся коды и атрибуты символов, в графическом режиме — битовая карта[5]. Часть видеопамяти, используемая под изображение для вывода на экран называется буфером (кадра) изображения (frame buffer)[7]. В текстовом режиме изображение состоит из символьной матрицы и область видеопамяти под него называется видеостраницей (video page)[8]. В обычном представлении процессор записывает данные в буфер изображения, после чего его считывает видеоконтроллер. Характеристиками видеопамяти являются её объём (memory size (МБайт, ГБайт)), тип (memory type), разрядность шины памяти (memory interface width, memory bus width (бит)), и тактовая частота (frequency, memory clock speed (МГц, ГГц))[8]. Пропускная способность (memory bandwidth (Гбайт/с)) вычисляется произведением разрядности шины на тактовую частоту[8].

GDDR5 имеет несколько обозначений частоты: опорная, реальная и эффективная. На опорной частоте (core clock) работают транзисторы в чипах памяти. Реальная — частота шины (I/O bus clock) на которой работают буферы чипов памяти и буферы контроллера памяти, она в два раза больше опорной. Эффективная — по технологии DDR скорость передачи данных в два раза больше частоты шины.[9] Пропускная способность определяется по формуле (частота x разрядность / 8) x множитель, где 8 переводит биты в байты, множитель 2 для GDDR3, 4 для GDDR5[10]. Скорость памяти (memory speed) также обозначают в битах в секунду (Gbps, Гбит/с) показывая скорость одной линии (пина) в чипе. Например, на видеокарте 8 чипов памяти, в одном чипе GDDR5 32 линии на 8 Gbps каждая, тогда 8x32x8 даст общую пропускную способность в 2048 Гбит/с или 256 ГБайт/с[11].

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

Чтобы уменьшить объём используемой VRAM, разработчики приложений могут выбрать как текстуры хранятся в VRAM. Кроме 32-битного описания пиксела в RGBA8, применяются 16- (RGB5_A1, RGBA4) и 8- битные (RGBA2) описания или сжатия (например, для S3TC есть аппаратная поддержка). Урезанные форматы файлов ухудшают качество, а при сжатии появляются артефакты. Спрайты плотно упаковываются в текстурный атлас (задача об упаковке в контейнеры). Несколько текстур представляется как одна текстура с палитрой. При использовании ресурсоёмких настроек или ошибках в играх иногда возникает ошибка «ran out of video memory»[12]. DirectDraw  (англ.) позволял разработчикам приложений прямой доступ к VRAM.

Процессор осуществляет запись по необходимости, а монитор обращается к ней непрерывно[8]. При обновлении буфера в моменты, когда предыдущее изображение отрисовано на дисплее не до конца или при использовании видеопамяти больше чем физически доступно[13], появляется артефакт разрыва изображения[en] (tearing, stuttering)[14]. Для более равномерного обновления буфера используют вертикальную синхронизацию[14].

Технологии[править | править код]

Унифицированная архитектура памяти en:Unified Memory Architecture (UMA) использует часть оперативной памяти как видеопамять. Под этим названием в разное время появлялись решения разных разработчиков. В технологии AGP-текстурирования графический процессор мог обращаться, помимо собственной памяти видеокарты, к файлам в оперативной памяти. В решениях Intel для встроенной графики объём видеопамяти выделяется динамически[15][16] (Intel Dynamic video memory technology, DVMT) до половины[17] системной памяти или меньше[18], а UEFI позволяет настраивать максимальный размер видеопамяти и апертуру[19]. В решениях Nvidia и Apple графическая и системная память используют общее адресное пространство[20]. В 2004 году ATI и Nvidia использовали HyperMemory и TurboCache[en] для удешевления видеокарт.

Технологии Microsoft DirectStorage API и RTX IO позволяют загружать данные из NVMe SSD напрямую в VRAM без использования CPU и системной памяти.[21]

В технологии объединения карт Nvidia SLI объём VRAM не удваивался, так как данные дублировались между VRAM двух карт. В начале, карта с большим объёмом подстраивалась под карту с меньшим и избыток объёма не использовался. С 100.xx версии драйверов в SLI объединялись только карты с совпадающим объёмом памяти.

Разгон[править | править код]

На профессиональных Nvidia Quadro видеопамять оснащается собственным радиатором

Разгон VRAM возможен через изменение параметров в BIOS видеокарты[22] или используя специальные утилиты настройки видеокарты. Некоторые производители разрабатывают такие утилиты для собственных видеокарт, предоставляя возможность как ручного, так и автоматического разгона основанного на алгоритмах разработчика. Настройки VRAM позволяют кастомизировать тактовые частоты памяти и напряжения, а также тайминги для уменьшения задержек.[23] В кастомизированных режимах работы ей требуется адекватный контроль и отвод тепла. В некоторых чипах GDDR встроены датчики температуры для защитных механизмов (downclocking). Micron для GDDR5, GDDR5X и GDDR6 указывает maximum junction temperature в 100°С.[24][25]

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

В 1970-х в видеопамяти располагались данные текстового режима. После удешевления чипов памяти стало возможным хранить в видеопамяти графику в пикселях. В 80-90-х объём размещаемой на графических адаптерах VRAM быстро рос.

В 1981 году MDA имел 4 КБ VRAM и CGA — 16 КБ, Intel iSBX 275 в 1983 — 32 КБ, ATI Graphics Solution Rev 3[en] в 1986 — 64 КБ, VGA в 1986—256 КБ, NV1 в 1995 — 2 МБ, RIVA 128 в 1997 — 4 МБ, RIVA TNT[en] в 1998 — 16 МБ, GeForce 256 в 1999 — 32 МБ. К концу 2000-х объём достиг 2 ГБ. В 2000 видеокарты в основном содержали 64 МБ (Radeon 7500 — 128 МБ), 2001—256 МБ, 2005—512 (GeForce 6600), 2007—1024 МБ (GeForce 8600 GT), 2008—2048 МБ (Radeon HD 4870). К 2015 объём достиг 8 ГБ. В 2011 — 3072 МБ (GeForce GT 440), 2012 — 4096 МБ (GeForce GTX 670), 2013 — 6144 МБ (GeForce GTX Titan), 2014 — 8192 МБ (Radeon R9 290X). Хотя в 2015 году вышла топовая модель видеокарты с 12 ГБ VRAM (GeForce Titan X), в 2018 — 24 ГБ (Titan RTX) и 32ГБ (Titan V CEO), к 2020 году в большинстве выпускаемых видеокарт предлагалось 2-8 ГБ VRAM.

IBM Professional Graphics Controller (1984—1987) — примерно 80 % общей поверхности из трёх плат занимают 40 чипов видеопамяти

В профессиональных вариантах видеокарт обычно добавляется больший объём видеопамяти. В 1980-х у IBM Professional Graphics Controller было 320 КБ из 40 чипов DRAM по 64 КБ. В 2020 у Quadro RTX 8000 было 48 ГБ, а с объединением карт через NVLink расширялось до 96 ГБ.

Типы видеопамяти[26]: FPM DRAM (1990), VRAM, WRAM (1995), EDO DRAM (1995), SDRAM, MDRAM, SGRAM, DDR2 SDRAM,[27] RDRAM, DRAM, CDRAM, Burst EDO, 3D RAM, Embedded RAM, FeRAM, DRDRAM, DDR SDRAM (DDR), ESDRAM, FCRAM[en], MRAM[28], GDDR (2000), GDDR2 (2003), GDDR3 (2004), GDDR4 (2006), GDDR5 (2008)[29][30], GDDR6 (2017), HBM (2013), HBM2 (2016). Типы VRAM, WRAM — двухпортовая DRAM (двухпортовое видео-ОЗУ) позволяющая одновременно выполнять запись и чтение данных[4][7][27].

Для совместимости с 32-битными ОС[31] объём VRAM, напрямую доступной CPU через PCI, был ограничен 256 Мбайтами. В 2008 году в стандарт PCI Express 3.0 была добавлена технология Resizable BAR, которая обеспечивает доступ ко всему объёму видеопамяти.[32][33] В AMD технология называлась Smart Access Memory (SAM).

При изготовлении видеокарт уже достаточно давно используется память GDDR3. На смену ей пришла GDDR4, которая имеет более высокую пропускную способность, чем GDDR3; однако GDDR4 не получила широкого распространения вследствие плохого соотношения «Цена-производительность» и ограниченно использовалась лишь в некоторых видеокартах верхнего ценового сегмента (например Radeon X1950XTX, HD 2900 XT, HD3870). Далее появилась память GDDR5, которая по состоянию на 2012 год является наиболее массовой, GDDR3 используется в бюджетном сегменте. В 2018 году в топовых видеокартах устанавливается память типа HBM и HBM2, GDDR5X и GDDR6. По статистике Steam в 2018 году 2GB VRAM было у 32 % их игроков, 4GB — 19 % и 1GB — 17 %[34]. В системных требованиях к играм часто указывают необходимый объём VRAM для разных уровней настроек[35].

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

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

Видеопамять располагается на видеоадаптере или выделяется как часть от оперативной памяти[41]. Как правило, чипы оперативной памяти современной видеокарты припаяны прямо к текстолиту печатной платы, в отличие от съёмных модулей системной памяти, которые вставляются в стандартизированные разъёмы ранних видеоадаптеров.

Шина данных[править | править код]

Видеопамять отличается от «обычной» системной ОЗУ более жёсткими требованиями к ширине шины. Графическая шина данных — это магистраль, связывающая графический процессор и память видеокарт.

Полоса пропускания шина данных видеопамяти бывает:

  • 32-битной.
  • 64-битной.
  • 128-битной.
  • 192-битной. (нестандартная шина памяти)
  • 256-битной.
  • 320-битной. (нестандартная шина памяти)
  • 384-битной. (нестандартная шина памяти)
  • 448-битной. (нестандартная шина памяти)
  • 512-битной.
  • 768-битной. (нестандартная шина памяти)
  • 896-битной. (нестандартная шина памяти)
  • 1024-битной.
  • 2048-битной (только HBM-память)
  • 3072-битной (только HBM2-память)
  • 4096-битной (только HBM2-память)

Имеет значение соотношение количества памяти, её типа и ширины шины данных: 512 МБ DDR2, при ширине шины данных в 128 бит, будет работать медленнее и гораздо менее эффективно, чем 256 МБ GDDR3 при ширине шины в 128 бит и т. п. По понятным причинам, 256 МБ GDDR3 с шириной шины 256 бит лучше, чем 256 МБ GDDR3 с шириной шины в 128 бит и т. п.

Производство[править | править код]

На нижней стороне видеокарты видны две неиспользованные квадратные контактные площадки (сверху справа) для чипов памяти

Производители видеокарт не изготавливают VRAM самостоятельно, а закупают её. Некоторые известные производители VRAM — Samsung, Micron, Elpida Memory[en] и Hynix.[42] Разработчик видеокарты предусматривает в дизайне несколько конфигураций и оставляет тип, количество и размещение компонентов на плате на выбор производителей. На разных моделях одного референсного дизайна видеокарты может быть установлено разное количество чипов памяти предусмотренных типов, а также они могут быть расположены как на верхней, так и на нижней стороне платы.

Также стоит учитывать, что из-за относительно невысокой стоимости видеопамяти многие производители видеокарт устанавливают избыточное количество видеопамяти (4, 6 и 8 Гбайт) на слабые видеокарты с целью повышения их маркетинговой привлекательности. На видеокартах чипы памяти обычно располагают вокруг видеопроцессора, чтобы отводить тепло от них общим с процессором кулером.

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

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

  1. Михаил Гук. Аппаратные средства IBM PC. Энциклопедия, 2-е изд. — СПб.: Питер, 2002. — 928 с.: ил. — С. 519
  2. Толковый словарь по вычислительной технике. — М.: Изд. отдел "Русская редакция", 1995. — С. 402—403. — 496 с. — ISBN 5-7502-0008-6.
  3. Ваулина Е.Ю. Термины современной информатики. — М.: Эксмо, 2004. — 636 с. — ISBN 5-699-05439-1.
  4. 1 2 Воройский Ф. С. Информатика. Новый систематизированный толковый словарь. — М.: Физматлит, 2003. — С. 215. — 760 с. — ISBN 5-9221-0426-8.
  5. 1 2 Кочергин В. И. Англо-русский толковый научно-технический словарь по системному анализу, программированию, электронике и электроприводу. — Томск, 2008. — Т. 1. — С. 636. — 652 с. — ISBN 5-7511-1937-1.
  6. Кочергин В. И. Большой англо-русский толковый научно-технический словарь. — Томск: Издательство Томского Университета, 2016. — ISBN 978-5-7511-2332-1.
  7. 1 2 Пивняк Г. Г. буфер (кадра) изображения // Толковый словарь по информатике. — Днепропетровск, 2008. — ISBN 978-966-350-087-4.
  8. 1 2 3 4 Соломенчук В. Г. Аппаратные средства PC. — 6-е изд. — БХВ-Петербург, 2010. — 781 с. — ISBN 978-5-9775-0432-4.
  9. Почему разные программы показывают разную частоту видеопамяти?. nvworld.ru. Дата обращения: 27 февраля 2021.
  10. DDR3 vs GDDR5 Graphic Card Comparison - See The Difference with the AMD Radeon HD 7750 ~ goldfries (англ.) (19 October 2013). Дата обращения: 27 февраля 2021.
  11. What's the difference between GPU Memory bandwidth and speed? (англ.). superuser.com (7 March 2017). Дата обращения: 27 февраля 2021.
  12. "Ran Out of Video Memory" Error (англ.). 2K Support. Дата обращения: 27 февраля 2021.
  13. Are You Running Out of Video Memory? Detecting Video-Memory Overcommitment using GPUView (англ.). NVIDIA Developer (2 June 2015). Дата обращения: 4 апреля 2021.
  14. 1 2 Синхронизация кадров видеоизображения с частотой обновления экрана. Intel (14 августа 2009). Дата обращения: 24 февраля 2021.
  15. Detecting Video Memory Budget. Intel. Дата обращения: 24 февраля 2021.
  16. Часто задаваемые вопросы о более старом Intel® Graphics Products.... Intel (5 декабря 2017). Дата обращения: 24 февраля 2021.
  17. Calculating Graphics Memory - Windows drivers (англ.). docs.microsoft.com (20 April 2017). Дата обращения: 24 февраля 2021.
  18. Часто задаваемые вопросы о памяти графических систем Intel® в ОС.... Intel. Дата обращения: 24 февраля 2021.
  19. What is IGD Aperture Size? (англ.). Intel. Дата обращения: 24 февраля 2021.
  20. Ian Paul. How “Unified Memory” Speeds Up Apple’s M1 ARM Macs (англ.). How-To Geek. Дата обращения: 24 февраля 2021.
  21. Видеокарты GeForce RTX 3000 умеют загружать данные напрямую из SSD, минуя процессор. Это называется RTX IO. iXBT.com (3 сентября 2020). Дата обращения: 27 февраля 2021.
  22. Matt Mills. How to Change the GDDR6 Timings of Your AMD Graphics | ITIGIC (англ.) (22 августа 2020). Дата обращения: 27 февраля 2021.
  23. How to Tune GPU Performance Using Radeon Software (англ.). amd.com.
  24. Zhiye Liu. Report: Why The GeForce RTX 3080's GDDR6X Memory Is Clocked at 19 Gbps (англ.). Tom's Hardware (21 September 2020). Дата обращения: 27 февраля 2021.
  25. Igor Wallossek. GDDR6 memory temperatures comprehensibly explained and remeasured - is AMD doing everything right? | Basics (англ.). igor´sLAB (11 November 2019). Дата обращения: 27 февраля 2021.
  26. Михаил Гук. Аппаратные средства IBM PC. Энциклопедия, 2-е изд. — СПб.: Питер, 2002. — 928 с.: ил. — С. 526—528, 542
  27. 1 2 видеопамять // Модернизация и ремонт ноутбуков. — Издательский дом Вильямс. — С. 454. — 688 с. — ISBN 978-5-8459-0897-1.
  28. Многообразие типов видеопамяти. iXBT.com. Дата обращения: 24 февраля 2021.
  29. Типы современной видеопамяти. НИКС. Дата обращения: 4 апреля 2021.
  30. Современные типы видеопамяти. НИКС. Дата обращения: 23 июля 2021.
  31. Resizable BAR support - Windows drivers (англ.). docs.microsoft.com. Дата обращения: 27 февраля 2021.
  32. What is and how does Resizable BAR technology work? (англ.). HardwarEsfera (10 December 2020). Дата обращения: 27 февраля 2021.
  33. GeForce RTX 30 Series Performance To Accelerate With Resizable BAR Support (англ.). NVIDIA (25 February 2021). Дата обращения: 27 февраля 2021.
  34. Сколько видеопамяти нужно для компьютерных игр?. Онлайн-журнал CHIP (7 февраля 2018). Дата обращения: 25 февраля 2021.
  35. Разработчики Cyberpunk 2077 дополнили системные требования конфигурациями для 4K и трассировки лучей. 3DNews - Daily Digital Digest. Дата обращения: 27 февраля 2021.
  36. Graphics Solutions
  37. NVIDIA TITAN RTX is the fastest PC graphics card ever built | NVIDIA
  38. NVIDIA GeForce GTX 1080
  39. NVIDIA TITAN X Pascal
  40. TITAN RTX Ultimate PC Graphics Card with Turing | NVIDIA
  41. Фридланд А. Я. видеопамять // Информатика и компьютерные технологии: Основные термины: Толковый словарь. — 3-е изд. — М.: Астрель, 2003. — С. 32. — 272 с. — ISBN 5-271-04324-X.
  42. Tips to find out memory manufacturer of your GPU - GPU memory type (англ.). Coin Guides (20 March 2018). Дата обращения: 27 февраля 2021.

Литература[править | править код]

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