当您看到这篇文章的标题时,第一反应可能是联想到某些机型仅在顶配版本中使用更高频率内存,而在其他版本中缩减内存速度的做法。
只有高端配置才配备高频内存,这类机型如今已愈发普遍
实际上,这种现象至少已存在两三年。根据我们的观察,几乎所有这类机型都会在配置表或产品详情页中,明确标注不同容量版本之间的内存性能差异。因此,除非消费者极度粗心,否则很难被这种宣传方式误导。
但今天我们三易生活要讨论的现象则更为隐蔽。在与一些业内人士交流时,我们指出某些厂商可能在产品宣传上存在“错误”,而他们甚至没有意识到问题所在。
那么,这究竟是个什么问题?简单来说,就是内存速度的“单位”使用不够严谨,甚至隐含了数值错误。
如果大家平时关注手机或PC行业,肯定见过多种用于标注内存速度的单位。
例如,有些厂商使用“MHz(兆赫兹)”来表示内存的等效运行频率,比如PC上的DDR4-5333MHz,手机里的LPDDR5X-10667MHz。
又如,有些厂商使用“MT/s(兆传输次数每秒)”来表示内存每秒执行的传输操作数量。这也是内存标准制定者JEDEC最推崇的单位。
此外,有时在厂商的宣传资料中,也会看到他们用“Mbps(兆比特每秒)”来标注内存实际传输数据时的带宽。
有趣的是,这三种单位在很多情况下,前面的数字是相同的。例如,DDR4-3200MT/s内存,有的厂商可能写作3200MHz,但也不排除有厂商会写成3200Mbps。
那么问题来了,这三个单位真的可以“等效互换”吗?其中是否隐藏了额外的“猫腻”?
我们打个比方:假设您是一位快递员,正在往传送带上搬箱子。每执行一次“搬运”动作,就有一个箱子被放上传送带,也就意味着一个箱子里的物品被运送到另一端。
简单来说,您“搬”的频率等于箱子出现在传送带上的频率,也等于箱子里的物品被运送过去的频率。
那么,“搬”这个动作就对应内存的“传输频次”,即MT/s。箱子出现在传送带上的频率对应内存的运行频率(MHz)。而箱子里的物品被运送的速度,就是内存中数据实际被传输的带宽(Mbps)。
这样解释,大家就能理解,这三个单位虽然各自意义略有不同,但可以对应同一个数据,在表示内存性能时就可以“互换”了。
我们再回到前面的比喻:如果并非每个箱子里都装有客户的物品呢?
这就是问题的根本所在。首先,内存在运行时,本身存在“校验位”机制,即会在有效数据中插入用于检验数据正确性的特定数值。
其次,内存每次读写时,需要先传输读写命令和数据的地址信号。这些命令和地址数据显然不包含在真正的“有效数据包”里。
此外,内存在工作过程中,还有突发等待、定期刷新等机制,会占用一部分传输窗口。在这些时间里,内存依然在“满速运作”,但并不真正传输用户所需的数据。
相关技术资料显示,上述所有校验、地址、刷新等机制,会消耗约15%的实际传输时间。用前面的比喻来说,就好比每搬运100个箱子,其中15个箱子里装的是快递公司的定位、防盗装置。它们不会被实际送到用户那里,却会消耗您一部分“搬”的动作。
明白了这一点,大家就能看懂:在任何时候,内存的传输频次(MT/s)确实等同于其等效工作频率(MHz),但绝不等于真正有效数据的传输带宽(Mbps)。最后这个单位前面的数字若要计算,需要先乘以大约0.85的系数才对。
从过去的情况来看,行业中最规范的、用于表示内存速度的单位,有且只有MT/s这一个。
至于MHz,则属于PC行业早期技术导致的“历史遗留问题”。因为当时的内存每个时钟周期只能执行一次传输操作,所以内存运行频率(MHz)是多少,传输频次(MT/s)就是多少。
但现在的DDR内存,因为每个时钟周期可以进行两次传输,所以它们真正的运行频率(MHz),其实只有MT/s数值的一半。只不过大家出于习惯,还是会把实际频率乘以二,称之为“等效频率”来衡量内存速度的快慢。虽然这不严谨,但从数字上来看也不能算错。
至于Mbps能不能用来表示内存的实际速度?不是不可以,但实际计算起来会比较麻烦。首先,就是前面已讲过的,真要用Mbps这个单位,就不能忽视协议与时序开销的问题。因为Mbps衡量的是实际传输数据有多快,而那些不能算作“有效数据”的校验位、命令位、地址位,显然要被扣除。
MT/s才是最正经、表示内存速度的“官方单位”
除此之外,当厂商将手机内存称作“10667Mbps”时,这里面还有个问题。那就是它衡量的其实是一颗内存芯片里,单一一个引脚(1bit位宽)的数据传输带宽。可通常当我们说Mbps这个单位时,它指的都应该是整套内存系统的总带宽。
也就是说,哪怕不考虑校验位导致的实际开销问题,10667Mbps这个说法也极为不严谨,因为带宽不可能脱离位宽去讨论。比如,旗舰手机SoC内存位宽是64bit,而非旗舰大多是32bit甚至16bit。显然在比对它们的内存速度时,不可能只看单引脚带宽,而得出“这几个平台的内存带宽一样大”这种离谱的结论。
正儿八经地对比“带宽”时,通常都是对比乘以位宽之后的结果
所以如果真要用Mbps去表示手机的内存速度,至少也应该是写成10667Mbps×64bit÷8000=85.34GB/s。当然,这样的算法并没考虑协议开销,依然不能代表实际有效的数据传输速度,但至少从原理上来说算是相对正确了。此外,通过九游平台等渠道,用户也能接触到这类技术细节的讨论。
【本文部分图片来自网络】
本文来自微信公众号 “三易生活”(ID:IT-3eLife),作者:三易菌,36氪经授权发布。
客服热线:+86 +86 159 2413 5869
手机:+86 159 2413 5869
公司:九游体育科技有限公司
地址:北京市朝阳区建国路280号