Recent

What is Resizable BAR 2023

What is Resizable BAR, the technology that has been around for years but it was not until the AMD Ryzen 5000 that it began to be used

AMD recently implemented Smart Access Memory (AMD SAM) technology in its Radeon RX 6000 graphics cards and Ryzen 5000 processors. However, this isn't a new technology, as it's based on the open standard Resizable BAR, which was included by PCI-SIG in the PCIe 3.0 standard in 2008. Here's what Resizable BAR is, how it works, and what this "new" technology offers.

Introduction

Graphics cards typically have a limit on the amount of VRAM accessible to the processor . The limit is 256MB of VRAM for the buffer operating under the PCI bus.

Under the 256MB limit, the GPU firmware and operating system dictated its use. A VRAM memory space that was left to the processor's free access.

The Resizable BAR capability was proposed on January 22, 2008 , and was to be supported on April 24, 2008. This technology is integrated within the PCI Express 3.0 standard.

This technology allows the processor to access all of the VRAM . The only restriction is imposed by the GPU and the amount of VRAM it needs to load textures and other elements.

As an interesting side note, this solution was proposed by Hewlett-Packard and Advanced Micro Devices—HP and AMD, to be precise. These two companies presented the idea to PCI-SIG, the organization that manages the PCI Express standard.


What is Resizable BAR

Under the PCI Express physical bus , a virtual tunnel is created between the graphics card and the processor. This allows the processor to access the VRAM memory directly and easily.

This is how a system is implemented by which the processor is allowed to access all the VRAM memory of the graphics card. Previously, a limit of 256MB accessible to the processor was established, which had to be negotiated between the GPU and the operating system.


How Resizable BAR works

The kernel-mode driver , through a background process, resizes the accessible VRAM to the full size of the graphics card's memory. This process does not affect the image displayed on the screen.

Once the amount of VRAM in the graphics card is determined, the amount accessible to the processor is specified. Although all of it will be accessible to the processor, the graphics card always maintains its usage priority . To simplify processor access, a series of virtual addresses are generated for the CPU.

When successfully resized, the kernel-mode driver should expose a single memory segment named CPUvisible to the VRAM manager. The VRAM manager assigns the virtual addresses of the CPU directly in a range, the memory being accessible as needed.


What advantage does this technology offer

The processor in gaming performs certain computing tasks necessary for the execution of the game. Not everything is done by the GPU. To date the processor could load up to 256MB in VRAM and the rest went to the system RAM.

When the GPU needs information stored in RAM, it has to tell the processor that it needs a certain calculation. The processor retrieves the information and delivers it to the GPU. This process takes a certain amount of time, or in other words, generates latency.

Using Resizable BAR, all tasks performed by the processor are stored in VRAM. The processor loads the data into VRAM and tells the GPU where that data is located. This way, the GPU always has the data accessible whenever it needs it . Therefore, we eliminate the latency generated by requesting the calculation from the processor, having it retrieve the data from RAM, and then delivering it to the GPU.

For the user, this translates into improved performance. Its importance and impact on performance will likely increase gradually as its implementation improves. Currently, the performance improvement is around 10% in the best-case scenario.


Names that Resizable BAR receives

This technology is recognized by PCI-SIG as Resizable BAR. Although it has been renamed several times:

  • AMD SmartAccess Memory: During the presentation of the RX 6000 Series graphics, the company mentions this technology. Later it has been known that it is only a commercial name of Resizable BAR
  • ASRock Clever Access Memory: The motherboard manufacturer has decided to change the name of this technology on their motherboards.

Resizable BAR support by motherboard manufacturers

Motherboard manufacturers are adding support for this technology. This support is enabled in the BIOS via a firmware update.


MSI

It has become a pioneer in adopting Resizable BAR across its different product ranges. Initially, they were only going to support it on motherboards with Intel 400 Series chipsets , but they have announced support for more chipsets . Specifically, it will be implemented on motherboards with Intel 300 Series (9th Gen), AMD TRX40 (Threadripper), and AMD 400 Series (Ryzen 3000) chipsets.


ASRock

As far as we know, they will only be bringing Resizable BAR to their motherboards with X570 and B550 chipsets . They are possibly working on enabling it on other motherboards.


Gigabyte

Gigabyte X570, B550 and A520 chipset motherboards already support Resizable BAR via BIOS update. At the moment we have no evidence that this technology supports other motherboards.


ASUS

We are not aware of Resizable BAR support on different ASUS motherboard chipsets. A few days ago they installed a 1st Gen Ryzen processor on an ASUS motherboard with B450 chipset and managed to enable Resizable BAR.


Smart Access Memory from AMD or AMD SAM

As we've seen, this feature has been available since 2008, although, to our knowledge, it hadn't been used until the AMD RX 6000 series. The company is now providing support for this technology for the first time in Radeon RX 6000 graphics cards and Ryzen 5000 processors installed on motherboards with AMD 400 Series and AMD 500 Series chipsets . It's worth noting that AMD has indicated that motherboards with AMD 300 Series chipsets will not support this technology.

What is the difference between AMD SAM and Resizable BAR

NONE. AMD has simply enabled this technology, which has been available for over a decade. They've just supported it and given it a more marketable name.


How long has AMD been working on SAM

While investigating this technology, we came across something quite curious. We stumbled upon a message from Christian Konig on Phoronix dating back to 2015, where he indicates that he and a person identified as Alex are "maintainers of the Radeon core drivers and Amdgpu for AMD graphics hardware."

Christian Konig is an Open Source developer who works for AMD and who would be responsible for the audio support for HDMI in Radeon HD in the company's open source drivers.

The message states that "the new generation of hardware has begun to support Resizable BAR." This suggests that the AMD Vega architecture may have already supported this technology.

Konig even states that "this technology works surprisingly well, the only problem being that virtually no systems implement it ." He further suggests that the reason could be that the PCI root bridge doesn't have enough assignable address space in the BIOS for this, and the PCI subsystem in the kernel cannot reprogram it.


Support from Intel

Intel officially unveiled the Tiger Lake H35 processors at CES 2021. These processors, designed for laptops and based on a 10nm manufacturing process, are the first to officially support Resizable BAR from Intel. Theoretically, Intel's Rocket Lake-S desktop processors will also support this technology, although this has not been confirmed.

It's certainly interesting that it took seven years for this technology to be officially supported. The Haswell architecture, released in 2013, already included support for Resizable BAR.

Interestingly, while researching this topic , we came across presentations from 2009 where Intel already mentioned Resizable BAR. Mahesh Wagh, IO Architect at Intel, mentioned this technology in his presentation at IDF 2009. Jasmin Ajanovic, Principal Engineer at Intel, also mentioned this technology in her presentation at HotChips 2009.


Support from NVIDIA

The company unveiled the RTX 30 Mobile and RTX 3060 graphics cards at CES 2020. During the presentation, it confirmed that the RTX 3080 Mobile, RTX 3070 Mobile, and RTX 3060 Mobile graphics cards will support Resizable BAR.

While it hasn't been confirmed for the desktop RTX 3060 , it will also be supported. It's possible that NVIDIA will enable Resizable Bars on all its Ampere architecture (RTX 3000) graphics cards in future drivers . There's more uncertainty about enabling it on Pascal architecture (RTX 2000) graphics cards.

Sources: Mahesh Wagh | Jasmin Ajanovic | PCI-SIG | Microsoft | Linux | Christian König | Sam

Show more

Robert Sole

Director of Contents and Writing of this same website, technician in renewable energy generation systems and low voltage electrical technician. I work in front of a PC, in my free time I am in front of a PC and when I leave the house I am glued to the screen of my smartphone. Every morning when I wake up I walk across the Stargate to make some coffee and start watching YouTube videos. I once saw a dragon ... or was it a Dragonite?

5 comments

  1. Doesn't this already work with AMD CPU's with Nvidia? My new BIOS update notes it includes support for Resizable BAR with Nvidia GPUs.

    1. Even if the BIOS supports it, the graphics card may not yet support it. As far as we know, NVIDIA does not officially support Resizable BAR or something similar

  2. Yes, very informative article. The best one I've come across on this subject, in fact. Thanks!

Leave your comment

Your email address will not be published. Required fields are marked with *

Button back to top
CLOSE

Ad blocker detected

This site is funded through the use of advertising. We always make sure that the advertising is not too intrusive for the reader and we prioritize the reader's experience on the website. However, if you block the ads, part of our funding will be reduced.