Видеопа́мять — это внутренняя оперативная память, отведённая для хранения данных, которые используются для формирования изображения на экране монитора[1].
Видеопамять относится к названиям англ. 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 объединялись только карты с совпадающим объёмом памяти.
Разгон
правитьРазгон 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.
В профессиональных вариантах видеокарт обычно добавляется больший объём видеопамяти. В 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]. Как правило, чипы оперативной памяти современной видеокарты припаяны прямо к текстолиту печатной платы, в отличие от съёмных модулей системной памяти, которые вставляются в стандартизированные разъёмы ранних видеоадаптеров.
-
Отдельная видеокарта с собственной памятью. Данные копируются через шину PCI Express
-
Отдельная видеокарта с общей памятью en:Heterogeneous System Architecture. Через PCI Express передаются указатели делая возможным zero-copy.
-
Интегрированной видеокарте выделяется системная память
-
Интегрированная видеокарта с общей памятью (HSA)
Шина данных
правитьВидеопамять отличается от «обычной» системной ОЗУ более жёсткими требованиями к ширине шины. Графическая шина данных — это магистраль, связывающая графический процессор и память видеокарт.
Имеет значение соотношение количества памяти, её типа и ширины шины данных: 512 МБ DDR2, при ширине шины данных в 128 бит, будет работать медленнее и гораздо менее эффективно, чем 256 МБ GDDR3 при ширине шины в 128 бит и т. п. По понятным причинам, 256 МБ GDDR3 с шириной шины 256 бит лучше, чем 256 МБ GDDR3 с шириной шины в 128 бит и т. п.
Производство
правитьПроизводители видеокарт не изготавливают VRAM самостоятельно, а закупают её. Некоторые известные производители VRAM — Samsung, Micron, Elpida Memory[англ.] и Hynix.[42] Разработчик видеокарты предусматривает в дизайне несколько конфигураций и оставляет тип, количество и размещение компонентов на плате на выбор производителей. На разных моделях одного референсного дизайна видеокарты может быть установлено разное количество чипов памяти предусмотренных типов, а также они могут быть расположены как на верхней, так и на нижней стороне платы.
Также стоит учитывать, что из-за относительно невысокой стоимости видеопамяти многие производители видеокарт устанавливают избыточное количество видеопамяти (4, 6 и 8 Гбайт) на слабые видеокарты с целью повышения их маркетинговой привлекательности. На видеокартах чипы памяти обычно располагают вокруг видеопроцессора, чтобы отводить тепло от них общим с процессором кулером.
См. также
править- Видеокарта
- Графический процессор
- Видеоконтроллер
- Контроллер памяти
- AGP Inline Memory Module[англ.]
- Кадровый буфер
- Плоскостная видеопамять[англ.] (4 цветовые плоскости), Упакованный пиксел[англ.]
- en:Random-access memory#Timeline — сравнение отдельных чипов
- Список графических процессоров Nvidia, AMD, Intel — память на видеокартах разных лет
Примечания
править- ↑ Михаил Гук. Аппаратные средства IBM PC. Энциклопедия, 2-е изд. — СПб.: Питер, 2002. — 928 с.: ил. — С. 519
- ↑ Толковый словарь по вычислительной технике. — М.: Изд. отдел "Русская редакция", 1995. — С. 402—403. — 496 с. — ISBN 5-7502-0008-6.
- ↑ Ваулина Е.Ю. Термины современной информатики. — М.: Эксмо, 2004. — 636 с. — ISBN 5-699-05439-1.
- ↑ 1 2 Воройский Ф. С. Информатика. Новый систематизированный толковый словарь. — М.: Физматлит, 2003. — С. 215. — 760 с. — ISBN 5-9221-0426-8.
- ↑ 1 2 Кочергин В. И. Англо-русский толковый научно-технический словарь по системному анализу, программированию, электронике и электроприводу. — Томск, 2008. — Т. 1. — С. 636. — 652 с. — ISBN 5-7511-1937-1.
- ↑ Кочергин В. И. Большой англо-русский толковый научно-технический словарь. — Томск: Издательство Томского Университета, 2016. — ISBN 978-5-7511-2332-1.
- ↑ 1 2 Пивняк Г. Г. буфер (кадра) изображения // Толковый словарь по информатике. — Днепропетровск, 2008. — ISBN 978-966-350-087-4.
- ↑ 1 2 3 4 Соломенчук В. Г. Аппаратные средства PC. — 6-е изд. — БХВ-Петербург, 2010. — 781 с. — ISBN 978-5-9775-0432-4.
- ↑ Почему разные программы показывают разную частоту видеопамяти? nvworld.ru. Дата обращения: 27 февраля 2021. Архивировано 2 февраля 2021 года.
- ↑ DDR3 vs GDDR5 Graphic Card Comparison - See The Difference with the AMD Radeon HD 7750 ~ goldfries (англ.) (19 октября 2013). Дата обращения: 27 февраля 2021. Архивировано 8 марта 2021 года.
- ↑ What's the difference between GPU Memory bandwidth and speed? (англ.). superuser.com (7 марта 2017). Дата обращения: 27 февраля 2021.
- ↑ "Ran Out of Video Memory" Error (англ.). 2K Support. Дата обращения: 27 февраля 2021. Архивировано 4 марта 2021 года.
- ↑ Are You Running Out of Video Memory? Detecting Video-Memory Overcommitment using GPUView (англ.). NVIDIA Developer (2 июня 2015). Дата обращения: 4 апреля 2021. Архивировано 19 апреля 2021 года.
- ↑ 1 2 Синхронизация кадров видеоизображения с частотой обновления экрана . Intel (14 августа 2009). Дата обращения: 24 февраля 2021.
- ↑ Detecting Video Memory Budget . Intel. Дата обращения: 24 февраля 2021.
- ↑ Часто задаваемые вопросы о более старом Intel® Graphics Products... Intel (5 декабря 2017). Дата обращения: 24 февраля 2021.
- ↑ Calculating Graphics Memory - Windows drivers (англ.). docs.microsoft.com (20 апреля 2017). Дата обращения: 24 февраля 2021. Архивировано 20 октября 2021 года.
- ↑ Часто задаваемые вопросы о памяти графических систем Intel® в ОС... Intel. Дата обращения: 24 февраля 2021.
- ↑ What is IGD Aperture Size? (англ.). Intel. Дата обращения: 24 февраля 2021.
- ↑ Ian Paul. How “Unified Memory” Speeds Up Apple’s M1 ARM Macs (англ.). How-To Geek. Дата обращения: 24 февраля 2021. Архивировано 24 марта 2021 года.
- ↑ Видеокарты GeForce RTX 3000 умеют загружать данные напрямую из SSD, минуя процессор. Это называется RTX IO . iXBT.com (3 сентября 2020). Дата обращения: 27 февраля 2021.
- ↑ Matt Mills. How to Change the GDDR6 Timings of Your AMD Graphics | ITIGIC (амер. англ.) (22 августа 2020). Дата обращения: 27 февраля 2021. Архивировано 24 октября 2020 года.
- ↑ How to Tune GPU Performance Using Radeon Software (англ.). amd.com. Дата обращения: 27 февраля 2021. Архивировано 9 февраля 2021 года.
- ↑ Zhiye Liu. Report: Why The GeForce RTX 3080's GDDR6X Memory Is Clocked at 19 Gbps (англ.). Tom's Hardware (21 сентября 2020). Дата обращения: 27 февраля 2021.
- ↑ Igor Wallossek. GDDR6 memory temperatures comprehensibly explained and remeasured - is AMD doing everything right? | Basics (англ.). igor´sLAB (11 ноября 2019). Дата обращения: 27 февраля 2021. Архивировано 23 января 2021 года.
- ↑ Михаил Гук. Аппаратные средства IBM PC. Энциклопедия, 2-е изд. — СПб.: Питер, 2002. — 928 с.: ил. — С. 526—528, 542
- ↑ 1 2 видеопамять // Модернизация и ремонт ноутбуков. — Издательский дом Вильямс. — С. 454. — 688 с. — ISBN 978-5-8459-0897-1.
- ↑ Многообразие типов видеопамяти . IXBT.com. Дата обращения: 24 февраля 2021. Архивировано 5 декабря 2020 года.
- ↑ Типы современной видеопамяти . НИКС. Дата обращения: 4 апреля 2021. Архивировано 17 марта 2022 года.
- ↑ Современные типы видеопамяти . НИКС. Дата обращения: 23 июля 2021. Архивировано 23 июля 2021 года.
- ↑ Resizable BAR support - Windows drivers (англ.). docs.microsoft.com. Дата обращения: 27 февраля 2021. Архивировано 25 января 2021 года.
- ↑ What is and how does Resizable BAR technology work? (англ.). HardwarEsfera (10 декабря 2020). Дата обращения: 27 февраля 2021. Архивировано 1 марта 2021 года.
- ↑ GeForce RTX 30 Series Performance To Accelerate With Resizable BAR Support (англ.). NVIDIA (25 февраля 2021). Дата обращения: 27 февраля 2021. Архивировано 26 февраля 2021 года.
- ↑ Сколько видеопамяти нужно для компьютерных игр? Онлайн-журнал CHIP (7 февраля 2018). Дата обращения: 25 февраля 2021. Архивировано 4 марта 2021 года.
- ↑ Разработчики Cyberpunk 2077 дополнили системные требования конфигурациями для 4K и трассировки лучей . 3DNews - Daily Digital Digest. Дата обращения: 27 февраля 2021. Архивировано 9 января 2021 года.
- ↑ Graphics Solutions . Дата обращения: 14 февраля 2021. Архивировано 29 апреля 2015 года.
- ↑ NVIDIA TITAN RTX is the fastest PC graphics card ever built | NVIDIA . Дата обращения: 14 февраля 2021. Архивировано 22 февраля 2019 года.
- ↑ NVIDIA GeForce GTX 1080 . Дата обращения: 14 февраля 2021. Архивировано 26 февраля 2017 года.
- ↑ NVIDIA TITAN X Pascal . Дата обращения: 14 февраля 2021. Архивировано 22 февраля 2017 года.
- ↑ TITAN RTX Ultimate PC Graphics Card with Turing | NVIDIA . Дата обращения: 14 февраля 2021. Архивировано 26 декабря 2018 года.
- ↑ Фридланд А. Я. видеопамять // Информатика и компьютерные технологии: Основные термины: Толковый словарь. — 3-е изд. — М.: Астрель, 2003. — С. 32. — 272 с. — ISBN 5-271-04324-X.
- ↑ Tips to find out memory manufacturer of your GPU - GPU memory type (англ.). Coin Guides (20 марта 2018). Дата обращения: 27 февраля 2021. Архивировано 15 января 2021 года.
Литература
править- ITL Education Solutions Limited. Introduction to Computer Science, 2/e. — Pearson Education India, 2011. — С. 121—122. — 536 с. — ISBN 978-81-317-6030-7.
- Miuller S. Модернизация и ремонт ПК, 15-е юбилейное издание. — Вильямс, 2005. — С. 430—432. — 1340 с. — ISBN 978-5-8459-0623-6.
- Mapping Virtual Addresses to a Memory Segment - Windows drivers (англ.). docs.microsoft.com. Дата обращения: 24 февраля 2021. Архивировано 18 февраля 2022 года.
- Фролов А. В. 5.2. Видеопамять // Программирование видеоадаптеров CGA, EGA и VGA. — М.: Диалог-МИФИ, 1994. — 287 с. — ISBN 5-86404-027-4.
- Micron. TN-ED-03: GDDR6: The Next-Generation Graphics DRAMIntroduction (англ.). Дата обращения: 27 февраля 2021. Архивировано 11 ноября 2020 года.
- Михаил Гук. Аппаратные средства IBM PC. Энциклопедия, 2-е изд. — СПб.: Питер, 2002. — 928 с.: ил.
Ссылки
править- Алексей Берилло, Руководство покупателя видеокарты: выбор объёма видеопамяти Архивная копия от 16 декабря 2013 на Wayback Machine // iXBT.com, 28 сентября 2012 года
- Многообразие типов видеопамяти Архивная копия от 5 декабря 2020 на Wayback Machine // iXBT.com, 10 апреля 1998 года
- Video Memory Management and GPU Scheduling - Windows drivers (англ.). docs.microsoft.com. Дата обращения: 24 февраля 2021. Архивировано 10 мая 2021 года.
- Microsoft стандартизует огромные объемы видеопамяти . composter.com.ua (20 апреля 2016). Дата обращения: 24 февраля 2021. Архивировано 21 января 2021 года.
- Сколько видеопамяти необходимо современным играм . 3DNews - Daily Digital Digest (15 мая 2019). Дата обращения: 25 февраля 2021. Архивировано 24 января 2021 года.
- FAQ по видеокартам / Видеокарты Архивная копия от 18 июля 2021 на Wayback Machine
- Глоссарий современной 3D терминологии / Видеокарты Архивная копия от 18 июля 2021 на Wayback Machine
- Руководство покупателя видеокарты: основные характеристики видеокарт Архивная копия от 19 апреля 2021 на Wayback Machine
- Что нужно знать о видеокартах? Руководство THG для начинающих пользователей, часть I | THG.RU Архивная копия от 21 июля 2021 на Wayback Machine THG (есть раздел видеопамять)
- GDDR6, GDDR5X и HBM2: сравниваем актуальную видеопамять | ichip.ru Архивная копия от 23 июля 2021 на Wayback Machine CHIP