科普:手机运存(RAM)与标称容量不符的原因

  说这个问题之前,先来说说RAM与ROM的区别,ROM是内部存储,相当于电脑上的硬盘(由于很多智能手机用户对此并不了解,直接就简称为内存,说的人多了,就这么约定俗成了,个人认为称作“固存”更合适,因为是固化在手机内部的,不像电脑上那样可以随意更换),是用来存放操作系统、资料文档、影音视频的;而RAM是运行内存,相当于电脑上的内存(因为手机上的内部存储已经被先入为主的简称为内存,所以RAM在手机上只好被改名简称为运存,以免和内置存储的简称混淆),是用来存放运行程序时产生的大量数据用于和CPU及GPU等处理器交换数据的。

  今天为什么要说这个问题呢?因为有很多人对此都有误解,认为两者容量不符的原因是和电脑硬盘、U盘、内置存储等是一个道理,是厂家按1000字节为1K,1000K为1M,1000M为1G来计算,而操作系统是按1024字节为1K,1024K为1M,1024M为1G来计算产生的误差,但实际情况并非如此。不喜欢看长篇只想简单知道原因的请直接看最后的总结部分。

  先来说说为什么内存RAM不是这样的,内存的大小必须是2的N次幂,这是因为计算机的运算方式都是2进制的,所以与CPU进行直接交流的内存也必须如此,那么他的大小就只能是2的N次方,所以内存的大小必须是128M、256M、512M、1024M以此类推,它就是这么大,如果不按这样的大小生产,那么这样的RAM是无法与CPU匹配工作的,首先其内存控制器就已经处理不了。RAM如果像ROM一样按1000为进制标注大小,那么就比较奇怪了,1G的RAM那就应该标称1.07G。


  有的机油可能会说,某多下巴手机可是有768M的RAM,这个可不是2的N次幂,这个配置的确比较奇葩,但实际上这个768是两块RAM芯片拼出来的,是512+256的组合,这两个数仍然是2的N次幂。说到这个事,我还想反问一下,既然按照你的说法厂家生产计算方式如果就是1000为进制的,那为何会有128、256、512M RAM这种带零头的数字(近几年手机的RAM才以G为单位,早期的智能机运存没那么大,都是以M为单位)?为什么不是125M、250M、500M?为什么不是100M、200M、400M、800M?


  其次,如果不是因为换算方式不同导致的,那到底是什么原因?原因是少掉的部分RAM被占用了,而且级别优先于操作系统,(对刷机了解比较深入的机油可能都知道有一种刷机包叫做底包,这个底包就是驱动各个硬件的,相当于电脑主板的BIOS,熟悉BIOS设置的朋友可能都知道在BIOS设置里会有一些内存射映、划分电脑内存给集成显卡做显存大小的配置)所以这部分RAM在系统中是看不到的,这也直接导致了在系统中查看RAM容量与厂家标称容量不符的情况。这些RAM被什么占用了呢?被很多硬件,比如GPU图形芯片需要占用一部分做显存,手机的调制解调器、蓝牙、音频芯片、甚至WiFi和各种传感器都要或多或少的占用一些运行内存。

  最后,我们来举两个实际例子证明,以我手中的两部手机为例:
一、

手       机:魅族MX2 
标称运存:2G
系统可见:1683.4M

下图为安兔兔检测软件截图显示系统可见RMA容量

换算:若是按照那部分说是厂家和操作系统换算机制不同造成差异的机油的理解,2G的标称RAM,按照系统的1024进制来换算,


2,000,000,000/1024/1024/1024=1.862645G,

换算成M就是少除以1次1024,那么应该是1907.3M

那么请问这部分机油,1907.3-1683.4=223.9M,这少掉的223.9M 的RAM在哪?


二、

手  机:ZUK Z1
标称运存:3G
系统可见:2848.4M

下图为安兔兔检测软件截图显示系统可见RMA容量


换算:若是按照那部分说是厂家和操作系统换算机制不同造成差异的机油的理解,3G的标称RAM,按照操作系统的1024进制来换算,
3,000,000,000/1024/1024/1024=2.793967G,

换算成M就是少除以1次1024,应该是2861M

那么请问,2861-2848.4=12.6M,这少掉12.6M 的RAM又在哪?


而且对比以上两款手机,如果按照这部分机油的理论来换算,应该是标称RAM越大,那么和系统显示的实际RAM的差额也应该越大才对,

现在我们再来看看根据这部分机油的1024进制理论换算,这两款手机的标称RAM和系统显示的实际RAM的差额:


MX2 
标称:2G(2000M);
系统显示:1683.4
差额:2000-1683.4=316.6



ZUK Z1
标称:3G(3000M)
系统显示:2848.4
差额:3000-2848.4=151.6


结论:

  从以上数据可见,RAM容量更大的ZUK Z1的差额(151.6M)反而比MX2的差额(316.6M)小一倍左右,按照1000/1024换算差异的理论根本无法解释,可见这种手机RAM和硬盘大小标称与系统显示不符同样原因的理论是不成立的!所以手机运存与标称容量不符的原因就是部分RAM被各种硬件射映地址占用了,而硬件的差别及对应各版本linux内核驱动的不同,每款机器的硬件射映占用的RAM容量都有所差异,这才是为什么手机显示运存与标称容量不符的真正原因!

免责声明:该文观点仅代表作者本人及转载者本人,不代表平台观点和立场。如有侵权请联系删除。本平台仅提供信息存储服务。
1 +1

发表评论

需要登录才能评论!
花泠风

花泠风

擅长 其它 文章的撰写

这个用户还没有留下个性签名

TA最受欢迎的文章