Русская Википедия:Видеопамять

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Видеопамять также является частью современных видеокарт. Подробнее см. в статье «Видеокарта».
Файл:Nvidia GTX580 - Wakueumbau 0013 (16612447552).jpg
Чипы видеопамяти вокруг видеопроцессора

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

Файл:Acorn 1MBVRAM.jpg
1 МБ дополнительной видеопамяти типа VRAM для Шаблон:Не переведено 5. Добавление памяти позволяло показывать больше цветов и большее разрешение.
Файл:Matrox Millennium G200 2.jpg
Matrox Millennium G250 8+8 МБ и Matrox G250-LE 8 МБ

Видеопамять относится к названиям Шаблон:Lang-en, Шаблон:Lang-en2 (Шаблон:Lang-en2, Шаблон:Lang-en2 — оперативная видеопамять, видео ОЗУ[2], видео RAM[3]),[4] Шаблон:Lang-en2 — видеобуфер, Шаблон:Lang-en2 — память регенерации[5], Шаблон:Lang-en2 — память дисплея, Шаблон:Lang-en2, Шаблон:Lang-en2[6], а также к названиям различных типов памяти. Термин «VRAM» иногда означает технологию двухпортовой DRAM, использовавшуюся в 1980-х годах.

Описание

В видеопамяти располагаются данные, отсылаемые затем на экран как изображение. При работе в текстовом режиме в видеопамяти находятся коды и атрибуты символов, в графическом режиме — битовая карта[5]. Часть видеопамяти, используемая под изображение для вывода на экран называется буфером (кадра) изображения (Шаблон:Lang-en2)[7]. В текстовом режиме изображение состоит из символьной матрицы и область видеопамяти под него называется видеостраницей (Шаблон:Lang-en2)[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 пропускной способности памяти на чтение и запись. Программы-просмотрщики (Шаблон:Lang-en2) позволяют определять точное местоположение, просматривать и сохранять графические элементы из видеопамяти, например в эмуляторах.

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

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

Технологии

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

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

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

Разгон

Файл:NVIDIA Quadro FX 4000 AGP.jpg
На профессиональных Nvidia Quadro видеопамять оснащается собственным радиатором

Разгон VRAM возможен через изменение параметров в BIOS видеокарты[22] или используя специальные утилиты настройки видеокарты. Некоторые производители разрабатывают такие утилиты для собственных видеокарт, предоставляя возможность как ручного, так и автоматического разгона основанного на алгоритмах разработчика. Настройки VRAM позволяют кастомизировать тактовые частоты памяти и напряжения, а также тайминги для уменьшения задержек.[23] В кастомизированных режимах работы ей требуется адекватный контроль и отвод тепла. В некоторых чипах GDDR встроены датчики температуры для защитных механизмов (Шаблон:Lang-en2). 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 КБ, Шаблон:Нп5 в 1986 — 64 КБ, VGA в 1986—256 КБ, NV1 в 1995 — 2 МБ, RIVA 128 в 1997 — 4 МБ, Шаблон:Нп5 в 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.

Файл:Professional Graphics Controller by IBM.jpg
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, Шаблон:Не переведено 5, 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, двухпортовые (Шаблон:Lang-en) 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 бит и т. п.

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

Файл:Cooling system on an ASUS GTX-650 Ti TOP Cu-II graphics card.jpg
На нижней стороне видеокарты видны две неиспользованные квадратные контактные площадки (сверху справа) для чипов памяти

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

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

См. также

Примечания

Шаблон:Примечания

Литература

Ссылки

Шаблон:Викисловарь

Шаблон:DRAM