前段时间,微软正在测试在 Windows 11 任务管理器性能选项卡中显示 MT/s而不是传统的 MHz来显示内存速度,以更准确地反映新技术的性能,很多普通用户看到这一更新以后也是一头雾水,好端端用了十多年的MHz怎么会一夜之间就被一个从没见过的MT/s代替了,在酷安搜了搜发现好像也没人把这些单位单独拎出来讲讲,于是乎 就有了这篇文章[流汗滑稽]今天这篇文章就来讲讲这个半路突然杀出的MT/s和MHz以及Mbps的关系
咱们先从每个单位的意义开始
MHz读作“兆赫兹”,代表每秒钟内存的工作频率
MT/s读作“兆次每秒” ,代表每秒钟内存传输数据的次数
Mbps读作“兆比bit(比特)每秒”,代表每秒钟内存能传输的数据量,即为带宽
1M(兆)=100万 1G(吉)=10亿
在现在我们熟知的ddr内存问世之前,大家的内存还都是一种叫做SDRAM的内存
假如一颗SDRAM的运行频率为100MHz,代表每秒钟运行1亿次
因为SDRAM内存运行一次只能传输1bit的数据,所以他的带宽可写作100Mbps,代表每秒钟可以传输1亿个bit的数据
那么他的速率也可写作100MT/s,代表每秒内可以传输1亿次数据
但是ddr时代到来以后,事情开始变得复杂起来,ddr能让内存在一次工作周期里传输多个比特的数据,此时我们仍然假设一颗ddr内存的工作速率为100MHz,因为ddr能在1Hz的周期里传输2bit的数据,所以相比于SDRAM,他的带宽不再是100Mbps,而是200Mbps,数据传输次数也来到了200MT/s,相当于每秒就能传输2亿bit的数据。
所以,ddr能以比SDRAM更低的运行频率达到比SDRAM更高的传输带宽,但此时[流汗滑稽]问题就来了,如果售卖ddr时标称的频率比SDRAM还更低,对于普通消费者来说就有些摸不着头脑了,于是乎,内存厂商发明了“等效频率”这个新玩意,既然我的100MHz内存能传输2亿bit的数据,那我不如直接把他标称为200MHz好了,用户不困惑了,厂商也放心了,于是从此开始,随着ddr2 ddr3……的发展,内存1Hz能传输的数据也开始增加到4bit 8bit……,内存厂商每次迭代只需要把内存的实际频率转换成“等效频率”就好了,于是就这样一错错了十多年,我们看到的频率只是一个等效转化而来的频率,内存的实际运行速度并没有我们想象中的那么“快”。一条等效频率为5600MHz的ddr5内存,因为其为16bit预读取,所以他的实际频率只有5600/16=350MHz,这也解释了为什么lpddr5x能干到8533MHz这种变态等效频率,其实际频率也仅有533MHz而已,这样按照等效频率来看也不算什么大错特错,继续用下去也无伤大雅,而纠正错误的方式也很简单,甚至连数字都不用变,假如是5600MHz的内存,那么将其改为5600MT/s即可,因为5600MHz并不是内存的真实运行频率,但5600MT/s确实代表了内存能在一秒内传输56亿次数据
那么此时新问题来了,为什么纠正以后的单位要使用MT/s,而不用Mbps呢,这就又要介绍到两个关键参数,内存“通道数”和“位宽”,上文在举例时均指的是单颗内存,单通道,1bit位宽时的传输情况,而在实际中内存通常拥有多通道和多位宽,常见的搭载ddr5内存的PC一般为双通道(两个内存插槽插满)64bit位宽(单条内存的位宽),组合起来的总位宽为2x64bit=128bit,而少数只有单通道的PC(只插了一个内存插槽)的位宽就只有1x64bit=64bit,假如这些内存条都以5600MT/s的速率运行,双通道将会获得5600x128/8/1000=89.6GB的带宽,单通道就只有5600x64/8/1000=44.8GB的带宽(除以8是因为8bit=1Byte,Byte即为字节,我们平时使用的大写MB GB等都指的是字节,所以在计算时需要将比特换算为字节,最后除以1000即为将MB换算为GB)所以说,内存的带宽会受到通道数和位宽的影响,无法统一标注,这也解释了为什么手机上看起来频率很高很牛逼的高频lpddr5x内存实际上甚至不如PC上的双通道低频内存,因为目前的高端手机基本上都是4x16bit=64bit的内存位宽,而PC普遍都拥有128bit的双倍位宽,等效频率再猛也干不过翻倍的位宽[受虐滑稽]
后排提示,我只是纯业余选手[流汗滑稽],有不专业或者错误的表达还请轻喷[抱拳]我会吸取并在文章中纠正