在小编之前介绍AMD最新的R6800系列显卡的时候,提到过一个新技术Smart Access Memory,中文大概应该叫“智能内存权限”吧。这里的内存实际上指的是显存,而获得权限的就是CPU,让CPU访问显卡的全部显存。很多资深玩家小伙伴大概奇怪,这不是PCIe显卡很早就有的能力吗?怎么又出现了呢?它又有啥用呢?小编今天就来说说吧。
当年显卡转向PCIe插槽上的时候,显卡与CPU的通信能力都是PCIe总线的重要“卖点”。当然,CPU和显卡的通信不可能是直接访问CPU或者GPU的,那样会扰乱数据处理的,GPU访问的主要是内存数据,而CPU访问的当然就是显存里的数据了,由于当初设计的问题,CPU访问显存的范围被定在了256MB,也就是最初几代PCIe高端显卡的显存容量。
不过之后随着显卡显存容量的提升,这个能力似乎被遗忘了,于是CPU访问显存时需要的BAR(基础地址寄存器)就没升级过,一直保持在256MB,显卡和CPU只能交流少量的数据。但PCIe规范并没有相应限制,反而有Resizable BAR Capability(可调节大小的BAR容量)这个功能,Smart Access Memory实际上就是终于用上了这个功能。
为啥AMD突然想起来这个功能了呢?很简单,PCIe 4.0插槽之前对显卡的意义实在太小了,比如我们测试支持PCIe 4.0的RTX 30系列、RX 5000/6000系列的时候,常常还是使用支持PCIe 3.0的Intel主板,成绩和使用AMD主板的PCIe 4.0显卡插槽没啥区别。上了PCIe 4.0主板和显卡之后,只有3DMark的PCIe带宽测试成绩变化,却看不到游戏更快,当然不能让玩家小伙伴满意。
另一方面,现在的显存已经是4GB起步,8GB是主流,要想访问这么多的数据,对通道带宽的要求也非常高。在PCIe 3.0时代,大家不敢放开CPU访问显存的范围其实也有情可原,不过PCIe 4.0的带宽明显已经过于充裕了,Smart Access Memory当然就应运而生了。
在性能上,近期海外媒体做了一下游戏实测(图中简称为SAM功能),很多目前的主流游戏可以借此明显提升性能,不过CPU和显存的互动难免影响GPU和显存的通信,所以也有游戏帧速反而略有下降,而且帧速的提升和分辨率(显卡负载)的关系有点乱。这和目前游戏的优化、RX 6000自身的显存带宽不足都有一定关系。
Smart Access Memory最初的要求主要是锐龙5000配合B550/X570主板,连接RX 6000系列显卡。不过既然它实际是打开了PCIe规范早就有的功能,理论上是没有品牌型号限制的,所以很多厂商的B450主板,甚至Z490主板都可以通过BIOS更新提供相应的功能,未来也会支持NVIDIA显卡。当然,Z490主板目前只有PCIe 3.0通道,所以相关BIOS应该是为下一代酷睿的PCIe 4.0支持能力而进行的测试。
至于使用方法就很简单啦,更新BIOS后,在Advance或类似页面中,找到PCIe或类似的设置项,开启Above 4G Decoding和Re-Size BAR Support两个选项,Smart Access Memory就启用了。这里要注意的是,其中第一个选项是允许64位操作系统访问4GB以上内存,如果还在使用32位Windows或非Windows系统,开启后可能会引起无法进入操作系统的问题。