Открыть сервисСервис

Resizable Bar: технология доступа GPU к оперативной памяти

Resizable BAR (сокр. от англ. Resizable Base Address Register, также известна под маркетинговыми названиями Smart Access Memory у AMD и Resizable BAR у NVIDIA) — технология компьютерной шины PCI Express, позволяющая процессору обращаться ко всей видеопамяти графического процессора одновременно, а не через ограниченное окно размером, как правило, 256 мегабайт. Технология является развитием механизма BAR (Base Address Register) — набора регистров в конфигурационном пространстве PCI-устройства, через которые шина узнаёт базовые адреса памяти, отведённые устройству.

Принцип работы

Классический механизм BAR, заложенный в спецификацию PCI, предусматривает выделение процессору небольшого окна доступа к памяти устройства. Для видеокарт это окно исторически составляло 256 МБ — объёма, достаточного для большинства операций, но недостаточного для полного доступа к современной видеопамяти, объём которой у игровых ускорителей доходит до 16–24 ГБ. При передаче текстур, буферов и других данных процессор вынужден работать через это окно, разбивая большие блоки на порции.

Resizable BAR позволяет изменять («изменять размер») адресное окно так, чтобы процессор мог адресовать всю память GPU напрямую. Вместо множества мелких обращений шина выполняет fewer, но более крупных транзакций, что снижает накладные расходы и может повысить производительность в сценариях, где CPU активно взаимодействует с видеокартой.

История

Сама идея аппаратного механизма BAR заложена в спецификации PCI 2.1 (1995 год). Однако возможность программного изменения размера окна появилась в спецификации PCI Express 2.1 (2007 год), а поддержка объёмов свыше 4 ГБ — в PCIe 6.0. На практике технология оставалась невостребованной более двух десятилетий: для её работы требовалась согласованная поддержка со стороны процессора, чипсета, BIOS/UEFI, драйверов видеокарты и операционной системы.

Толчком к внедрению стало появление на рынке консолей PlayStation 5 и Xbox Series X/S (2020 год), чьи архитектуры используют прямой доступ CPU к памяти GPU. В феврале 2021 года AMD представила технологию Smart Access Memory для видеокарт серии Radeon RX 6000 на базе процессоров Ryzen 5000. В марте 2021 года NVIDIA включила поддержку Resizable BAR в драйверы для видеокарт серии GeForce RTX 30. Позднее технология была добавлена в поддержку со стороны Intel для платформ с процессорами Core 10-го и 11-го поколений и видеокартами Arc.

Совместимость и включение

Для работы Resizable BAR требуется одновременное выполнение ряда условий:

  • процессор с поддержкой технологии (AMD Ryzen 5000 и новее, Intel Core 10-го поколения и новее);
  • материнская плата с обновлённым BIOS/UEFI, в котором функция включена;
  • видеокарта и драйвер с поддержкой технологии;
  • операционная система Windows 10/11 или Linux с соответствующей поддержкой в ядре;
  • включение режима UEFI (отключение Legacy/CSM).

В большинстве случаев Resizable BAR включается в настройках BIOS/UEFI (пункт «Re-Size BAR Support», «Above 4G Decoding» или аналогичный). В Windows для проверки работы технологии можно использовать диспетчер устройств или утилиты GPU-Z, HWiNFO.

Влияние на производительность

По данным тестов ряда изданий, прирост производительности от включения Resizable BAR в играх составляет в среднем от 1 до 10 процентов, в отдельных проектах достигая 15–20 процентов. Наибольший эффект наблюдается в играх, использующих большие объёмы видеопамяти и активно работающих с текстурами высокого разрешения. В некоторых старых играх и приложениях включение технологии может, напротив, приводить к незначительному снижению производительности, поэтому драйверы AMD и NVIDIA содержат списки игр, для которых технология применяется автоматически.

Ограничения

Resizable BAR не увеличивает пропускную способность шины PCIe и не заменяет апгрейд видеокарты или памяти. Технология лишь устраняет узкое место в адресации, что имеет смысл только при наличии достаточно быстрого процессора и актуальной видеокарты. Также эффективность технологии зависит от того, насколько программное обеспечение (игра, движок) оптимизировано под работу с большими блоками данных.

См. также

  • PCI Express
  • Видеопамять
  • Unified Memory Architecture

Источники

  • Спецификация PCI Express Base Specification, PCI-SIG
  • Материалы AMD по технологии Smart Access Memory
  • Документация NVIDIA по Resizable BAR
  • Обзоры и тесты технологических изданий (Tom's Hardware, TechPowerUp, AnandTech)
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru