“常常存在这样一种情况,假如你购买了中高频内存,比如MHz和MHz之类。装好机器后,如果你不做任何的设置,开机后在任务管理器内却发现内存工作在MHz的频率下,并没有达到商家宣传的MHz或者MHz。”
视频版请戳?
01—今天这期文章我们来讲解有关内存频率的内容。常常存在这样一种情况,假如你购买了中高频内存,比如MHz和MHz之类。装好机器后,如果你不做任何的设置,开机后在任务管理器内却发现内存工作在MHz的频率下,并没有达到商家宣传的MHz或者MHz。这时你去询问卖家怎么解决,他们都会告诉你去主板的BIOS里打开XMP,保存并重启电脑后,再次进入系统,你就会发现内存成功地跑到了标称的频率。应当指出的是,市面上也有许多JEDECMHz的DDR4内存,这些内存在支持的平台上不需要XMP就能运行在MHz频率下。为什么高频内存在不开启XMP的情况下只能跑到较低的频率,XMP究竟是什么东西,为什么打开以后内存就能达到商家宣传的频率,今天我们就带你详细了解一下内存的SPD与XMP技术。02—要想了解XMP,我们首先需要从SPD开始讲起。SPD是一种硬件特性,英文全称SerialPresenceDetect,翻译过来叫做串行存在检测。我们的电脑开机时会进行一次PowerOnSelf-Test,缩写为POST,就是我们熟知的开机自检。开机自检会对电脑硬件的信息等涉及到影响电脑启动相关的项目进行检查,其中针对的内存的项目检查就会读取内存的容量、频率、时序、电压、颗粒型号、生产厂商和制造日期等参数,以便让我们的主板了解系统中安装了怎样的内存,以及如何正确地让它运行。这些和内存有关的信息就存储在SPD里。但是内存DRAM属于易失性存储器,一旦断电,内部的数据很快就会消失。既然DRAM断电后信息都消失了,那么SPD信息自然不是存储在DRAM颗粒中,而是在内存PCB上单独的EEPROM颗粒中。EEPROM是Electrically-ErasableProgrammableRead-OnlyMemory的缩写,叫做电子式可擦除可编程只读存储器。当我们的电脑启动时,开机自检程序就会读取EEPROM芯片里的内存SPD信息。然后主板BIOS针对读取到的信息,给出内存的工作参数,驱使内存运行起来。如果没有SPD信息,电脑主板无法知道你插入的内存到底应该用什么参数去运行,在缺乏针对性优化的情况下,就可能遇到卡内存自检。既然是设计出来给电脑读取的,SPD信息当然不只是能被主板BIOS看见,进入操作系统后,我们也能在一些特定软件中读取到内存的SPD信息。例如大家经常用的CPU-Z就可以看到一部分,而更详细的信息可以通过台风软件查看。当然提到软件读取硬件信息,可能有些经验的玩家会指出,通过软件查看的SPD信息未必能用来准确判断颗粒型号。前面提到过,储存SPD信息的EEPORM是可擦除可编程的,台风软件本身也带有SPD修改的功能。在多年以前就已经有通过修改SPD信息造假内存的操作了,这种操作如今在一些杂牌廉价型号中还是很常见的。微星的主板工程师林大曾经在视频里展示过,同样一条内存,只修改了SPD当中的一个信息,其颗粒厂就从三星变成了海力士,因此不要完全相信软件读取到的SPD信息,虽然现在不少模组厂都会锁住SPD,但是总有一些人会用某些特殊方法能够修改SPD,因此参考软件读取到的SPD判断内存的信息,这种操作并不是完全可靠的。说回SPD,我们在使用CPU-Z查看SPD信息的时候,会发现一般情况下,SPD中MaxBandwidth这里标记的数值是或MHz。DDR内存的等效频率是实际频率的2倍,换算过来大概就是MHz,看起来确实有点低,但是这根内存卖家宣传却是MHz频率,所以商家在虚假宣传吗?其实并不是,如果我们再往下看,就能看见这里有一个XMP-,里面的频率是MHz,DDR内存的等效频率是实际频率的两倍,所以就是MHz。讲到这里聪明一点的同学应该就明白XMP到底是干什么的了。03—颗粒厂家生产DRAM颗粒,由于时间的推移与经验的积累,工艺会变得成熟,MHz、MHz这种档次远不是绝大多数颗粒的上限,消费者也当然希望有更高品质的型号来满足高性能需求。所以厂家会生产出来很多高品质可以运行在高频率低时序下的颗粒去生产性能更强大的内存,但是由于不同人群使用的内存品质和主板品质不同,硬件厂家无法保证所有人的主板或者内存都能工作在高频下,所以此时ExtremeMemoryProfile也就是XMP就应运而生了。XMP是英特尔主导的一项技术,可以被看作是SPD技术的一种延伸,在Intel平台直接就叫XMP,在AMD平台则叫做A-XMP或者D.O.C.P还有E.O.C.P。XMP是内存在出厂时,厂家测试出来可以稳定运行的一套高频预设,包含了电压、频率、主要时序如tCL、tRCD、tRP、tRAS等和内存运行有关的参数。他被储存在内存条PCB上的EEPROM里,在电脑开机自检时会被读取。但是BIOS并不会直接应用XMP参数,大部分情况下,为了保证兼容性和可靠性,BIOS会以一个较低的通用预设(也就是JEDEC)去开机,所以你在电脑内看到的就是MHz(或MHz或MHz)。当你确定你的主板和内存颗粒能跑到这个频率的时候,手动去BIOS内打开XMP以后,XMP内的参数就会生效。此时你的内存就会工作在厂家出厂帮你测试好的预设参数之下,也就是你在商品标题界面看到的宣传数值了。当然,XMP并不是简单地协助用户将频率推得更高、时序压得更低从而取得更好的效能表现而已。XMP让用户可以储存不止一组参数在SPD芯片中,并且在超频失败后可以自动套用JEDEC参数,避免出现开不了机的情况。对于板厂而言,XMP参数中有模组厂的识别栏位,还可以帮助主板BIOS辨认内存型号,以实现针对性的参数优化。板厂优化到位,到头来受益的其实还是用户。04—说回XMP本身,我们在主板BIOS里的高级模式中手动开启XMP选项时,有时会看见有两组参数,XMP1和XMP2可以选择,关于到底该选XMP1还是XMP2的问题,相信也会有观众曾感到疑惑,1和2到底哪个好,具体区别在哪?这个问题看似轻松,真要深究却不简单,网上可能在前些年还有流传一种比较陈旧的说法,认为“XMP2是内存厂设置的一套比XMP1更高频或时序更紧的另一组预设”。其实这种说法在过去确实是有一定合理性的,因为当时确实有一部分厂家这么做,但时至今日这么做的厂家以及型号已经是寥寥无几了,这种说法也随着市场行为的改变,而逐渐成为了需要被破解掉的流言。我们在分别与高端内存厂工程师以及主板厂商工程师沟通后,才总结出了一个比较笼统的答案:不能说哪个一定更好,区别在于是否得到了主板BIOS针对性的优化。内存厂会为内存写入XMP1和XMP2文件,XMP1在一般情况下会留下几个小参,交给主板BIOS去自动给出数值优化,而XMP2则是把那几个小参也规定了数值,不交给主板自动设定。之所以不能说XMP1、XMP2哪个更好,是因为每对量产级别的内存,体质特性往往只能做到相近,但肯定不会是相同的。主板自动给出数值不一定是最好的,但内存厂给出的参数有时候也未必能跑出更高的效能,一切得看具体情况,精确到每一根或至少每一套内存的体质,才能用测试来分出高下。但上述说法其实只是理想情况,真实的情况是:主板厂的工程师们需要持续为不同型号的主板大量测试不同的内存型号与批次,并且将得来的数据优化后归纳进BIOS中,让主板能够在用户插上自己识别得出的型号时,可以被应用一组近似于内存厂给出的XMP、同时后续还被板厂工程师优化过的数值。我们得到的消息是,微星的习惯是XMP1和XMP2都会做优化变动,同时AMD平台的A-XMP根据AMD特性所做的微调会更多;而华硕的习惯是在XMP1加入自家的参数优化,而XMP2基本保持原样去套用内存厂的设定,AMD的XMP在华硕那叫做DOCP,也同样是会加入更多针对AMD的平台的内存优化。05—所以总结一下,SPD存储着内存的基本信息,XMP是一套厂家设置好的高频预设,存储在内存的EEPROM中,开机自检的时候会被BIOS读取到。如果不打开XMP,内存就会以兼容模式运行在比较低的频率之下,手动超频去修改内存频率和电压需要配合修改时序等参数才能让内存稳定工作,而XMP则可以做到一件开关,傻瓜式地让你的内存工作在高频率下。XMP的存在大大提高了用户关于内存的使用体验。大家在组装完属于自己的新机器后,如果没有什么特殊需求,一定记得进BIOS将XMP功能打开,确保自己花在内存上的钱不会被白白浪费,不要等到用了好几个月对性能不太满意,才发现原来自己的内存一直跑在MHz上。OK,关于内存XMP与SPD相关的知识我们就基本介绍完毕了,相信大家在看完文章以后能够明白为什么要在主板BIOS里打开XMP功能。(完)
往期内容:
DNS解析到底是什么意思?
公版与非公版显卡有什么区别?普通用户应该如何选择?