一、什么是above4gdecoding?
above4gdecoding
是一项针对BIOS中PCIe MMIO 64位地址空间不足的解决方案,它通过启用BIOS设置中的上4G解码(above 4G decoding)选项,将PCIe MMIO地址空间从默认的4GB+4GB扩展到64位地址空间,只有启用该选项,才能使64位系统上的PCIe设备正常工作。
在比如大内存的服务器系统中,此问题更为严重。如果系统的内存容量超过4GB,而BIOS未开启above4g decoding选项的话,那么只能访问4GB的地址空间,而无法通过访问64位地址来解决内存限制,导致无法使用所有可用内存。因此,above4g decoding可以被认为是一项重要的BIOS配置。但是,该选项未被默认开启,通常需要手动启用。
二、如何启用above4g decoding?
启用above4g decoding选项的方法因BIOS而异,下面是一些示例。
1.启用方法1(ASUS、Gigabyte等实板BIOS)
进入BIOS设置,找到Advanced->Chipset Configuration->North Bridge->Above 4G memory/Crypto Currency mining选项,将该选项设为Enabled。然后按F10保存设置并退出BIOS。
<bios>Advanced->Chipset Configuration->North Bridge->Above 4G memory/Crypto Currency mining =>Enabled</bios>
2.启用方法2(Supermicro等实板BIOS)
进入BIOS设置,找到Advanced->PCIe/PCI/PnP Configuration->PCIe MMIO Base选项,选择4G或者64位模式(64bit)即可。
<bios>Advanced->PCIe/PCI/PnP Configuration->PCIe MMIO Base =>4G或者64bit</bios>
3.启用方法3(Dell、HP等品牌机BIOS)
进入BIOS设置,找到System Options->Miscellaneous Settings->OpROM Settings标签页,找到Above 4G Encoding的选项,将其修改为Enabled。
<bios>System Options->Miscellaneous Settings->OpROM Settings->Above 4G Encoding =>Enabled</bios>
三、启用above4g decoding的重要性
对于超过4GB内存的系统而言,启用above4g decoding是十分必要的。 如果BIOS未开启above4g decoding选项,操作系统将只能访问4GB的PCIe MMIO地址空间,而无法正常访问64位地址空间。这意味着当新增PCIe设备的时候,操作系统甚至无法正确检测到该设备。而如果启用了above4g decoding选项,则可以同时访问4GB和64位地址空间,从而有效解决PCIe设备配置问题。
此外, 它还可以在使用多个显卡或多个GPU的高性能计算机中发挥重要作用。因为这些显卡通常需要更多的PCIe MMIO地址空间才能正常工作,而above4g decoding可以满足这些需求。
四、注意事项
启用above4g decoding有几个需要注意的地方:
1.硬件支持
启用above4g decoding前,需要确保系统的硬件支持该选项。如果系统支持32位或非x86架构,则不应该去尝试开启这个选项,因为它不适用于这种架构。如果系统架构为x86_64,则可以尝试开启该选项。
2.系统支持
启用above4g decoding功能是不会造成系统不稳定,但是如果操作系统不支持该选项,则可能会遇到一些问题。例如,在某些Windows系统中,Kernel-mode DMA驱动程序可能会失效,导致系统崩溃。因此,在开启该选项之前,需要确保所有的操作系统和相关设备都支持该功能。
3.注意BIOS版本
不同版本的BIOS提供了不同的above4g decoding选项,因此需要根据自己的BIOS版本来选择合适的选项。此外在更新BIOS前也需先备份原有的BIOS。
4.不当的BIOS设置会导致系统无法启动
启用above4g decoding后,如果有问题发生,可能无法进入操作系统,这时可以尝试进入BIOS并设置默认选项来恢复系统。
五、总结
above4gdecoding
是一种BIOS解决方案,它可以在系统内存超过4GB时解决PCIe MMIO地址空间不足的问题。 在启用该选项之前,需要确保硬件和软件都支持该选项,以免出现不可预知的问题。 启用该选项后,可以正常使用所有PCIe设备,以及在使用多个显卡或GPU的高性能计算机中发挥更好的作用。