前言:
本文为小白向简单科普系列,旨在用尽量简单(土味)的方式介绍一下内存双通道的工作原理以及其作用。如果有写错或写的不好的地方欢迎各位指正。
一、内存双通道的原理
我们都知道CPU是用来处理数据的,但数据从何而来?所有数据从硬盘来,但是由于硬盘传输速度和CPU数据读取速度差的太多,所以就有了内存,充当CPU和硬盘之间的数据传输的桥梁(其实内存速度和CPU的传输速度也差的远,同理就有了CPU里的L3、L2、L1缓存)。
由上面的介绍我们可以知道,数据是从硬盘到内存再到CPU内的。内存为单通道时候数据怎么传输的呢?这里拿一个数组展示,1、2、3、4、5、6、7、8这8个数字按照从小到大的顺序组成数组12345678。假设CPU从内存读取一个数字要1ns,在单通道的情况下,CPU每次只能从内存中读取一个数字,那么读取完这个数组要8ns。
那么有什么办法提高这个数组的读取速度呢?
这里就要引入双通道这个概念了,这里就不扯芝士回答百科上的东西了,用一些直白方式解释下。我们将12345678这个数组拆分为两个部分,一个是1357,一个是2468,分别装入两个内存。然后CPU再去读取内存中的数据,由于内存为双通道,CPU可以同时访问两条内存。虽然还是只能从每条内存读取一个数字,但是这时一次可以读两个数据,1、2一组,3、4一组,5、6一组,7、8一组,这样CPU读取整个数组只需要4ns了。
当然理想很丰满,现实很骨感,事实上双通道内存绝对达不到这种数据读取时间直接缩短一半的情况。这是为什么呢?我们没办法保证CPU读到的数据仍然是12345678这个原始数组,因为CPU对两条内存的读取完全是随机的,有可能出现CPU读到的数组为21345678、21435678,12345687等等。如果CPU拿到的不是12345678这个固定顺序的数组,拿到其他排列顺序的数组都是无效的数据。这里需要设计一个数据校验算法,解决这个问题,确保拿到的数据一定是正确的(这里就不展开讨论了,毕竟是简单科普)。由于还要执行数据校验,产生了额外的时间开销,所以双通道达不到理论性能。
于是就有了这种情况——原理上双通道内存性能可以直接翻倍,但是要保证数据的准确性又产生了其他的开销,所以实际达不到理论的性能。双通道带来的性能增长是实打实的,但由于使用CPU和软件的不同,具体问题需要具体分析,这里无法直接给出数据到底能提升多少。
到这里原理其实已经讲完了,但是我想再延伸一下,不知道各位听没听说过硬盘组raid0阵列。其实和双通道内存原理类似,问题也类似。将12345678这个数组拆分保存到两块硬盘上,读取的时候分别从两块硬盘同时读取,加上为了保证传输数据正确性的开销,虽然读取时间不能缩短一半,但也会有所缩短。但是raid0有个致命缺陷,那就是一份数据拆分成两部分保存在两块硬盘上,一旦其中一块硬盘出问题了,你的全部数据就都没了。毕竟你只有正常的那块硬盘上的1357或者2468,只有一半的数据是没办法拼出一个完整的12345678数组的(还有更进一步的raid1、2、3……,有针对这种情况的解决办法,有兴趣请自行了解,不过要求的开销太大了,一般人不建议接触raid),想通过数据找回也是不现实的。
二、一些常见的疑点解答
两条内存可以组成双通道,那我整三、四条内存组个三通道、四通道岂不美哉,虽然达不到性能3,4倍这种提升,但是有提升也是好的。同样是理想很丰满,现实很骨感。目前主流CPU就只支持到双通道内存,在这些CPU上无论有几条内存都只能双通道。
AMD民用级线程撕裂者才有4通道
英特尔民用级X系列才有4通道
那插3、4内存有没有提升呢?这个是有的,大概举个例子,如果单通道内存有80分,那双通内存有100分,三、四根内存条大概有102分、104分这样子。
单通道到双通道提升巨大,而三、四根内存则是靠内存条多堆出来的大带宽来提升一点点分数。而内存也是存在水桶效应的,多根内存条中,为了系统能达到更好的稳定性,全部的内存条运行频率都会被拉低到最差的那一根上。多根内存条也拉低了系统的稳定性,只要有一条内存出问题就无法开机,同时蓝屏几率也会增加。所以除非有支持4通道内存的CPU或者特别需要超大内存容量的用户,还是建议一般用户只插两根内存条,减少内存出错的几率。
三、组双通道的要求
如果是加装内存,建议尽量买和原品牌一样(内存容量,频率以及时序都一样的)的内存条。如果是替换的话,直接买两根一套的内存条,这样连内存颗粒都可以保证一样。这样就可以保证稳定性和兼容性更好,毕竟谁也不想用着用着电脑直接蓝屏。
目前(2020年6月),双通道最好是双8g组成16g,或者双16g组成32g,或者更大容量的双通道。而双4g组8g这种,就有些力不从心了,软件和系统都越来越吃内存,8g多多少少不太够用了。对于笔记本来说,如果内存为板载且不可后续加装建议直接16G起步,如果还有空的内存插槽可以后续加装,一时囊中羞涩可以选择8G,后面8G不够用了或者等有钱了再加装8G,或者加更大容量的也可以,有钱直接选择16G或者更大的内存。
总结
从单通道到双通道提升巨大,而三或四根内存条这种奇怪的搭配,带来的性能提升非常小,而将蓝屏和不开机的几率拉大了,这种搭配不值得各位看官选择。
标签:双通道,内存,科普