本文介绍的是Android手机CPU的一些区别

CPU是啥?
相当于人类的大脑啦,手机的一些计算操作都是靠CPU去计算出来的
要是手机没有CPU,手机会怎么样?
就相当于人没有脑子了。。。

为什么会要发本贴呢?
因为在最近几年,Android系统的发展越来丰富多彩
已经不是早期的只支持arm架构的CPU了
所以在对手机的高级用法的时候,是需要注意一下自己CPU的类型的

来看看几种CPU出现的时间
arm:从2010年起,开始出现,主要指令集为(ARMv5,ARMv7)
x86:从2011年起,开始出现
mips:从2012年起,开始出现
arm64:从2014年起,开始出现,主要指令集为(ARMv8)
mips64:从2014年起,开始出现
x86_64:从2014年起,开始出现

上面有一个词:指令集
简单可以理解为CPU能理解的语言(不同国家的母语是不一样的啦)

什么是arm?
arm是一个32位精简指令集(RISC)处理器架构,其广泛地使用在许多嵌入式系统设计。
在早期的android手机,一般是使用的这种CPU,最为常见

什么是arm64
所谓的ARMv8(归属于arm64)架构,就是在MIPS64架构上增加了ARMv7架构中已经拥有的的TrustZone技术、虚拟化技术及NEON advanced SIMD技术等特性,研发成的。
arm64是向下兼容arm指令集的,一般情况是同样可以运行arm时代的APK
下面是一些题外话,如感兴趣请自行查阅

64位ARMv8架构中包含两个执行状态:AArch32(也就是我们常说的ARMv7)和AArch64(ARMv8)。AArch64执行状态针对64位处理技术,引入了一个全新指令集A64(也就是基于收购的MIPS64架构),而AArch32执行状态将支持现有的ARM指令集。所以64位的ARM处理器中同时包含着32位的ARMv7和64位的ARMv8两种架构。因此:

看到这里,你一定明白了,ARM64位处理器和电脑的64位处理器是两个截然不容的概念,他并不是64位就能原生向下兼容32位程序,而是通过64位处理器中集成的32位架构来运行32位程序。说得通俗点,它不是以64位形态来运行32位程序,却是以32位的形态运行32位程序的。

由于目前新出的64位处理器包含两个架构,而且制程技术没有提升(28nm),同时在手机与平板上,芯片面积有着严格的限定,不能过分增加,这导致64位ARM处理器平均分配到每个架构的晶体管数量锐减,也就是说从64位处理器中的32位架构方面,对于同规格的32位处理器而言,不但没有提高,性能反而是一定规模下降的。但处理器厂家又必须给消费者一个交代,以更好的推广64位,所以厂家就必须在其他方面提升性能,以弥补CPU的晶体管数量减少带来的损失。比如:更换性能更强的GPU、提升内存带宽、多核心虚拟单颗核心提升单核性能、联合跑分软件商修改跑分权重(提升GPU分数,降低CPU分数的权重)等等。这样,扬长避短,最终到达消费者手里,用跑分软件一跑,确实有提升,用户开心,厂家腰包也鼓了。

综上所述,ARM64位处理器从严格意义来说,叫它ARM32+64更加贴切,他相对于ARM32位处理器,有倒退的地方,也有进步的余地,但正因为倒退激起了ARM进取的决心,让它大刀阔斧的向前变革,不得不说也算一种进步。但ARM64在的手机上真的有用吗?我只能说,目前确实没啥用,但今后或许有。(其他地方搜罗的)

真正的64位手机并不止单纯停留在处理器上,如果只因为它的处理器是64位,就称其为64位手机的话,我们可以毫不犹疑的说这可能是虚假宣传,好在联想很聪明,在发布A678t和A805e宣传的时候,只说64位处理器手机。

“64位处理器手机”与“64位手机”是两种天壤之别的概念:只要是处理器包含64架构位的,就可以称“64位处理器手机”,这种手机也许还运行不了64位程序,只是用来抢占市场,和32位手机比起来优势并不明显。

“64位手机”就不同了:它包含着64位处理器、64位标准系统、64位安卓虚拟机、以及64位程序,这才是真正意义上的64位手机!

谷歌官方曾说,安卓很早前就支持64位了,这话不假,从Android4.0到Android4.4,安卓系统都支持64位的硬件,但是这仅仅表示底层驱动支持64位,能运行在64位的硬件之上,仅此而已。然而,上层运行软件的,无论是Dalvik的虚拟机,还是ART虚拟机都是32位的。也就是说,只要你的手机系统是Android4.0—4.4,即便你的处理器是64位,也只能在32位虚拟机下运行32位程序,就算真的64位程序摆在你眼前,也无法安装。

什么是x86?
是一个intel通用计算机系列的标准编号缩写,也标识一套通用的计算机指令集合。
也就是英特尔搞的一套指令集,很多的32位电脑CPU都是使用这个指令集的
目前是有一部分手机也是使用这类的指令集的
咳咳,虽然指令集一样,但是不同平台的程序打包编译的方式是不一样的,所以手机电脑软件是不能通用的
额外说一下,x86 架构的手机都会包含由 Intel 提供的称为 Houdini 的指令集动态转码工具,实现 对 arm指令集的的兼容,也就是一般情况也能兼容arm时代的APK的
x86_64也是同x86类似,为64位CPU

什么是mips?
mips架构的处理器多用在网关、猫、机顶盒什么的。ARM处理器用在便携设备,智能手机。
目前这类CPU的手机较少
MIPS声称兼容Play Store里大约90%的应用。对于最受欢迎的150个应用,兼容率是100%。一方面兼容率很高,另一方面表明ARM的主导地位,使得其他的处理器设计者需要提供一个兼容层。也就是一般情况也能兼容arm时代的APK的
mips64也是同mips类似,为64位处理器

看了这么多,32位处理器和64位处理器有啥区别?
所谓64位的处理器,就是指这台手机使用了64位的CPU,相比较32位的CPU来说,64位CPU最为明显的变化就是增加了8个64位的通用寄存器,内存寻址能力提高到64位,以及寄存器和指令指针升级到64位等。
简单来讲就是计算能力提升的,支持的内存大小也提升了

那个更好?
在这个越来越重视高性价比、高性能手机的时代
一些大型的游戏、软件也越来越重视不同CPU优化
所以64位的CPU还是好于32位CPU的