电脑硬件之内存基础知识科普

网站管理 电脑知识 2023-06-29 25104 0

老电脑升级的话,成本最低的方法就是换一块固态硬盘,那么更换内存会带来多大效果呢?科普一下内存的一些基础知识。

内存(DRAM)和硬盘最明显的两个区别:①内存断电后数据会消失;②硬盘速度慢,内存速度快,就算是支持PCIe 4.0x4的固态硬盘理论最高速也不过8GB/s,而内存是几十个GB/s,差了一个数量级。

当我们运行程序的时候,CPU接到指令告诉硬盘需要干活了,如果CPU直接计算硬盘的数据,速度会相当的慢,所以硬盘会把数据先送到内存中,然后CPU调用内存中的数据进行计算(还会往内存里面缓存一些数据)。双击程序鼠标一直转圈,就是硬盘数据送往内存的过程,换了固态硬盘,打开速度就会变快了。

内存经过技术更迭从SDR过渡到DDR,DDR又经历了5代,DDR是双倍数据速率,即时钟信号(脉冲)的上升边和下降边都要进行数据传输,速率是SDR的2倍。目前DDR5快速发展,但DDR4仍是主流。DDR5相对于DDR4在频率和带宽上大幅提高,但时序还比较高,随着技术发展会变得更好。这样参数都是什么意思呢?下面介绍一下内存的一些参数:


1.容量、频率、带宽、位宽、时序


容量很好理解,如果运行的程序较大,需要把较多的数据载入内存,那么对内存的容量就会要求较高。现在如果配置电脑的话16GB算是主流,运行Adobe全家桶最新版压力不大,因为价格一再降低,32GB会更好一些。

频率是CPU每秒读写内存的次数,频率越大速度越快,不过也不能太大,内存:我受不了啊!内存工作时电路的震荡频率称之为核心频率,每代之间差距不大,在133~200MHZ之间。核心频率经过倍频技术,频率放大,就变成了时钟频率(IO频率)。由于时钟信号在脉冲的上升边和下降边都要传输数据,速率加倍,因此时钟频率的2倍被称为等效频率,也就是一般卖家标注的频率,例如DDR4 3600MHZ,也叫作标称频率。

带宽反应了传输的速度,取决于两个参数。公式为:带宽=标称频率×数据总线位宽/8。DDR到DDR5,数据总线位宽都是64bit,组成双通道的话,位宽加倍变成128bit。

时序可以简单理解为内存的反应速度(延迟时间)。一般第一时用多个时间参数描述,主要有CL-tRCD-tRP-tRAS,单位是时钟周期。当CPU发出指令要在内存中找数据的时候,先找一下所在的行(不配有名字),抽支烟休息会(tRCD),再找一下所在的列(CL),从而确定具体位置,整个过程用时tRAS。完事后执行下一指令,中间再抽支烟休息会耗时tRP。

其中CL最为重要,因为它需要和内存控制器(CPU中的一块芯片)保持同步。


例如:DDR4 3200MHZ,时序16-18-18-36,CL是16个时钟周期,它到底是多少呢?我们计算一下:周期等于频率的倒数,所以1个时钟周期=时钟频率的倒数,标称频率3200MHZ的时钟频率为1600MHZ,换算成时钟周期为0.625ns,所以CL为16×0.625ns=10ns。这个数值表示延迟时间,越小越好。

从计算过程中可以知道,DDR5虽然频率提高了,但是CL也上升了,计算后,DDR5未必比DDR4的性能提升了多少,甚至还会降低,所以不能只看频率,还要看时序。


2.颗粒和体质


目前具备内存颗粒生产能力的厂家主要有:御三家(三星、海力士、美光),以及国产的长鑫。生产完颗粒后,例如:测试发现骨骼精奇,做成了3600MHZ/C14;发现资质平平,就做成2666MHZ/C18;还有的厂家觉得这个体质不错,虽然可以做成3600MHZ/C14,但依然做成了2666MHZ/C18,可想而知,裕量很大,体质好,频率超起来就轻松。

内存标注的这些频率是厂家经过测试,可以保证这个频率稳定运行没问题,如果超更高频率就不敢保证了。

按照颗粒级别划分,大概分为几类:

经常见到有卖连号条的,这种就是基本同一时间生产的,体质差异不大。


3.超频


标称的3600MHZ的内存,不是说稳定运行在3600MHZ没问题吗?为什么在任务管理器中查看只有3200MHZ,这是怎么回事呢?

电脑开机时进行自检(POST),对所有硬件的供电电压、电流、频率等信息进行查询,对于内存来说会读取容量、频率、时序、制造商......这些内存的基本信息(SPD数据)都存储在了一个可擦写的EEPROM芯片中。

主板还内设了一套优化过的参数(超频预设,即XMP参数),和SPD数据一样存储在了EEPROM芯片中。不同的主板这个名称可能不同,例如:XMP、A-XMP、DOCP、EOCP。

主板根据读到的信息,给出内存的工作参数,通常为了较高的兼容性,主板并不会按照SPD数据给出的频率运行内存,会以一个比较通用的预设去运行内存比如标称的3600MHZ内存,通用预设频率可能是3200MHZ,这是因为硬件配置高低不同(比如主板/CPU跟不上,只有内存好也不行),所以主板默认会以较低的参数去运行它

在BIOS设置中,开启XMP功能(如果有),即可使内存运行在标称频率。上文讲过颗粒的体质问题,如果好的颗粒,手动超更高的频率也不是不行。

开启XMP后,频率变成了3600HZ。这个频率是内存厂商经过测试可以稳定工作的频率,所以一般问题不大,再往上超频就不一定了,要看内存体质。

上图中有XMP1和XMP2两种选择,根据下方的解释可知:XMP1会加载4个默认的时序参数,剩余的一些小参数交给主板自动优化来增强稳定性;XMP2则是直接加载一组默认的参数。(不同品牌主板,有所不同,有的主板会直接使用内存中预设的XMP参数),哪种方式更好呢?这都是不确定的,自行尝试即可。

频率提高了就一定好吗?有一点需要注意的是:内存工作频率受到内存控制器(CPU中的一块芯片,简称IMC)的频率制约,在内存分频机制下,存在多种工作模式,例如:Gear1和Gear2(内存控制器频率:内存工作频率=1:1或1:2)。Gear1模式下,相当于同步(同频率)工作,性能会比较好;Gear2模式下,内存控制器频率为内存工作频率的一半,频率不一致,性能可能会变差。因此Gear2模式下,内存频率虽然超上来了,延迟可能会增加,所以也未必会好。

12代/13代,名称中不带K的CPU会锁定内存控制器电压0.9V左右Gear1模式下超频,可能存在不稳定的情况;Gear2模式下超频,可能存在性能降低的情况。超频(含XMP)到底能不能稳定,要看主板体质(主要是布线等电气性能)、CPU体质(主要是IMC)、内存体质。

下图,我开启了XMP后,性能提升不明显,频率3200变成了3600,读写性能提高了10%左右,但延迟增加了。

开启XMP功能,虽说把内存频率提高了,不过仍然是内存厂商测试稳定的频率(标称频率),如果主板/CPU给力的话,一般不会出现蓝屏/黑屏/死机等问题。

如果对硬件很自信,可以手动超频(超过标称频率),原理一样,需要在BIOS中主要修改以下参数:电压、CL、tRCD、tRP、tRAS、tRFC、RC,超频其实很简单,这些参数一个个去尝试调整就行了。修改不当可能会蓝屏,严重的会进不了系统,把主板重置一下又可以继续了,超到满意为止。


4.内存选择


上面一顿介绍猛如虎,其实选内存很简单,如果不玩超频,上面这些频率、时序、颗粒、体质等的影响,几乎体验不出来。容量买大点就好了,反正现在也很便宜,目前主流DDR4 16GB,频率3200MHZ,随意买就行了,有钱的买牌子好的,没钱的买小品牌。

如果玩超频的话,第一看内存颗粒的体质,上文给了一个简单的排序,但是不是骨骼精奇,只有测试(多看一些测评)后才知道,光看标注的参数不行,上面如果看懂了,就很容易理解其中的原因;第二看时序(根据频率计算出延迟时间)越低越好。

除此之外,影响内存频率的还有CPU默认内存频率/步进、内存控制器、主板布线等因素所以买了高频的内存,未必能用的上,其他硬件在后续的文章中再介绍。


5.内存的安装-双通道


CPU和内存之间的布线是一个比较复杂的技术,目前主流的消费级CPU都是支持双通道的,双通道指的是有两个内存控制器,一个控制一条内存通道。

为什么一般会买8GB×2而不是直接买一根16GB呢?主要原因是组成双通道,提高内存和CPU传输线路的「位宽」,即由64bit变成128bit。

直连:下图这种情况下,一个通道负责一根内存,两个通道之间是独立布线的,相互之间干扰很小,所以性能就会好。四通道的同理。

T-Type:如下图左1所示,一个通道连接两个插槽。如果插满四根内存,我们拿其中一条通道(插槽1、2)举例,可以看到他们距离CPU的走线路程是完全相等的,所以同一个通道之间的电气干扰就比较小。

如果只插两根(中间),一般双通道会比单通道效率高,所以会在每个通道上插一根内存。可以看到每个通道上都残留了一小段线(接空插槽那一段线),这根线就会对通道内部造成干扰,所以性能就会下降。无论你插到哪个插槽上,都会有干扰线。但是如果插1、3插槽(下图右1)的话,电流的方向还要拐一下(先右后左),干扰更大。

所以,四根插满最好,两根的话插2、4槽更好一些,插1、3槽性能下降的更多。

D-Type:如下图所示,仍然是一个通道连接两个插槽,只是走线方式和上面不同。如果内存插到2、4插槽位置,可以看到相当于直连,没有残余的线,不会造成干扰,这种性能是最高的。如果插满4根内存,我们看其中一个通道(插槽1、2):两根内存距离CPU的走线距离不相等,因为不同步,同样性能会下降。如果插1、3插槽,就会多出一段残余的线造成干扰。

所以,插2、4槽的性能最好;插满4根或者插1、3槽,性能都会有所下降。

总结就是:两根内存的情况下,主板无论哪种布线形式,内存不要装13,要远离CPU的两个远端插槽最好。不过如果不开大型软件,可能也体会不到明显差距。

双通道的内存是否必须有相同的容量、频率、时序、品牌?可以不同,但不推荐。这种属于「不对称双通道」,那么就会按照低的来算。比如下面的三种情况:图左1,每条通道4GB,共8GB内存组成双通道,剩余的4GB为单通道;中间,每条通道12GB,共24GB组成双通道;右1,每条通道8GB,共16GB组成双通道,剩余8GB为单通道。所以,安装不同容量的内存可能会损失一些性能。

频率的道理类似,高频的那一根内存会自动降频,以和低频的兼容,有点浪费了。

如果两根内存的时序不同,可能会影响系统的稳定性,这是最不推荐的方式。如果是不同的品牌,若各种参数(主要是容量、频率、时序)都一致,则问题不大。