The landing page for AMD’s Smart Access Memory feature deliberately notes that users will require a 500 Series motherboard and Ryzen 5000 Series processor. While some enthusiasts have claimed that this is some kind of marketing ploy to get more Zen 3 CPUs off the shelves, we are seeing reports on social media that suggest the restriction is legitimate and stems from hardware limitations of older architectures.
According to a post on the CapFrameX account (via TechPowerUp), Zen, Zen+, and Zen 2 processors may not support (or, at least, take full advantage) of AMD’s Smart Access Memory feature due to performance limitations with an integer instruction called _pdep_u32/64.
A chart published by AnandTech (which we’ve copied below) makes the differences between Zen 2 and Zen 3’s handling of this particular instruction quite clear, with the previous generation suffering from latencies as high as 300 cycles (a user on r/AMD has clarified that this discrepancy stems from Zen 2’s instructions being emulated in microcode).
What’s amusing is that Intel has reportedly supported the _pdep_u32/64 instruction since its Haswell generation of processors, which launched all the way back in 2013. It isn’t clear whether motherboard manufacturers will provide updates to enable Resizable BAR support for such old CPUs, however.
To be able to do this mapping process you need a swizzle instruction. This instruction is called _pdep_u32. Zen 2 offers only a very slow implementation of _pdep_u32.— CapFrameX (@CapFrameX) December 4, 2020
This is not 100% sure, but it' s therefore very likely that there will be no SAM support for Zen 2.