Видеопамять

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

Чипы видеопамяти вокруг видеопроцессора
1 МБ дополнительной видеопамяти типа VRAM для RiscPC[англ.]. Добавление памяти позволяло показывать больше цветов и большее разрешение.
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], появляется артефакт разрыва изображения[англ.] (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[англ.] для удешевления видеокарт.

Технологии 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[англ.] в 1986 — 64 КБ, VGA в 1986—256 КБ, NV1 в 1995 — 2 МБ, RIVA 128 в 1997 — 4 МБ, RIVA TNT в 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[англ.], 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]. Как правило, чипы оперативной памяти современной видеокарты припаяны прямо к текстолиту печатной платы, в отличие от съёмных модулей системной памяти, которые вставляются в стандартизированные разъёмы ранних видеоадаптеров.

Шина данных

править

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

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

Производство

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

Производители видеокарт не изготавливают VRAM самостоятельно, а закупают её. Некоторые известные производители VRAM — Samsung, Micron, Elpida Memory[англ.] и 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. Архивировано 2 февраля 2021 года.
  10. DDR3 vs GDDR5 Graphic Card Comparison - See The Difference with the AMD Radeon HD 7750 ~ goldfries (англ.) (19 октября 2013). Дата обращения: 27 февраля 2021. Архивировано 8 марта 2021 года.
  11. What's the difference between GPU Memory bandwidth and speed? (англ.). superuser.com (7 марта 2017). Дата обращения: 27 февраля 2021.
  12. "Ran Out of Video Memory" Error (англ.). 2K Support. Дата обращения: 27 февраля 2021. Архивировано 4 марта 2021 года.
  13. Are You Running Out of Video Memory? Detecting Video-Memory Overcommitment using GPUView (англ.). NVIDIA Developer (2 июня 2015). Дата обращения: 4 апреля 2021. Архивировано 19 апреля 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 апреля 2017). Дата обращения: 24 февраля 2021. Архивировано 20 октября 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. Архивировано 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. Архивировано 24 октября 2020 года.
  23. How to Tune GPU Performance Using Radeon Software (англ.). amd.com. Дата обращения: 27 февраля 2021. Архивировано 9 февраля 2021 года.
  24. Zhiye Liu. Report: Why The GeForce RTX 3080's GDDR6X Memory Is Clocked at 19 Gbps (англ.). Tom's Hardware (21 сентября 2020). Дата обращения: 27 февраля 2021.
  25. Igor Wallossek. GDDR6 memory temperatures comprehensibly explained and remeasured - is AMD doing everything right? | Basics (англ.). igor´sLAB (11 ноября 2019). Дата обращения: 27 февраля 2021. Архивировано 23 января 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. Архивировано 5 декабря 2020 года.
  29. Типы современной видеопамяти. НИКС. Дата обращения: 4 апреля 2021. Архивировано 17 марта 2022 года.
  30. Современные типы видеопамяти. НИКС. Дата обращения: 23 июля 2021. Архивировано 23 июля 2021 года.
  31. Resizable BAR support - Windows drivers (англ.). docs.microsoft.com. Дата обращения: 27 февраля 2021. Архивировано 25 января 2021 года.
  32. What is and how does Resizable BAR technology work? (англ.). HardwarEsfera (10 декабря 2020). Дата обращения: 27 февраля 2021. Архивировано 1 марта 2021 года.
  33. GeForce RTX 30 Series Performance To Accelerate With Resizable BAR Support (англ.). NVIDIA (25 февраля 2021). Дата обращения: 27 февраля 2021. Архивировано 26 февраля 2021 года.
  34. Сколько видеопамяти нужно для компьютерных игр? Онлайн-журнал CHIP (7 февраля 2018). Дата обращения: 25 февраля 2021. Архивировано 4 марта 2021 года.
  35. Разработчики Cyberpunk 2077 дополнили системные требования конфигурациями для 4K и трассировки лучей. 3DNews - Daily Digital Digest. Дата обращения: 27 февраля 2021. Архивировано 9 января 2021 года.
  36. Graphics Solutions. Дата обращения: 14 февраля 2021. Архивировано 29 апреля 2015 года.
  37. NVIDIA TITAN RTX is the fastest PC graphics card ever built | NVIDIA. Дата обращения: 14 февраля 2021. Архивировано 22 февраля 2019 года.
  38. NVIDIA GeForce GTX 1080. Дата обращения: 14 февраля 2021. Архивировано 26 февраля 2017 года.
  39. NVIDIA TITAN X Pascal. Дата обращения: 14 февраля 2021. Архивировано 22 февраля 2017 года.
  40. TITAN RTX Ultimate PC Graphics Card with Turing | NVIDIA. Дата обращения: 14 февраля 2021. Архивировано 26 декабря 2018 года.
  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 марта 2018). Дата обращения: 27 февраля 2021. Архивировано 15 января 2021 года.

Литература

править

Ссылки

править