苹果手机iPhone5s用上了64位的A7处理器后,64位的手机CPU也开始跟电脑CPU一样慢慢普及了,高通骁龙、联发科MTK、三星猎户座均有64位的处理器相继问世,那手机上的32位处理器跟64位的有什么区别呢?32位好还是64位好呢?下面随下载吧小编一起了解一下。 32位/64位处理器简单说明 (1)64位手机比32位手机更快吗? 答案是否定的,如果在64位的手机运行64位的手机应用速度的确有提升,但目前的手机应用绝大部分仍是32位的。 (2)64位手机相比32位手机有什么好处? 64位手机支持更大的内存,但目前好处不明显,等哪天手机内存标配4G的时候就有必要了。 (3)64位和32位哪个好? 目前来说64位更多的是营销的噱头,实际意义不大。如果价格差不多,也不用纠结了。 什么是64位? 先回答最基本的问题,什么是64位?衡量一个人的智商水平要看他的大脑,同样,判断手机是不是64位,也要看手机的“大脑”,这个大脑就是手机的CPU(中央处理器)。我们所说的64位手机,实际上是指使用了64位处理器的手机。 具体到处理器的内部,64位处理器指逻辑算数单元、寄存器、总线宽度都是64位(8个字节)的处理器。相比32位,64位能一次性处理更长的指令。有很多手机处理器都达到了这个标准,比如高通骁龙410/615/810,苹果的A7、A8,英特尔Atom等。 处理器的工作就是运行指令,因此,我们还必须提到“指令集”这个概念。处理器的计算和控制都是通过各种指令完成的,每款处理器在设计时就规定了一系列与其硬件电路相配合的指令系统,这套指令的集合统称指令集——你可以把它理解为处理器与外界沟通的语言。市面上有许多不同处理器指令集,就好比有些人的母语是英语,有些人的母语则是中文。 目前大多数64位手机处理器都使用ARM公司的ARMv8 64位指令集,只有英特尔的Atom处理器是例外,它采用了x86-64指令集,但英特尔在手机市场上的份额小得可怜,我们今天就直接略过它,专门来讲讲主流的ARMv8 64位手机。 ARMv8指令集是ARM公司专门针对手机、移动和嵌入式设备推出的64位指令集,它包含了AArch64、AArch32两种主要执行状态。看名字你就知道了,AArch64专注于64位处理,AArch32则用来支持现有的32位ARM指令集。从这个角度来看ARMv8是一套不错的指令集,它既支持未来的64位程序,也向下兼容现有32位程序。有了ARMv8的支撑,以后的64位手机操作系统,如Android L 64bit都可以简单、高效地支持现有的32位App,你不用担心兼容性问题。 为了帮助合作伙伴们更好更快的拿出有竞争力的产品,ARM还专门制作了两个支持ARMv8指令集的处理器参考架构:Cortex-A53和Cortex-A57。如果说ARMv8指令集是一门语言,Cortex-A53和Cortex-A57就是基于这门语言的习题册,ARM这位“老师”利用ARMv8布置了一道道“题目”,厂商们只要照着做,就能生产出处理器成品了。 64真的比32位快一倍? 这是一个经常被提起的问题,64位真的要比32位快一倍吗?答案当然是NO,但原因很少有人讲得清楚。记住下面这三条理由,下次跟朋友聊手机时你的逼格会提升很多。 首先,指令集不是1+1=2这么简单,指令的长度并不直接等于性能。尽管从数字上看,64位指令的确要比32位指令更长,但很多时候我们并不需要那么复杂的指令。一个应用程序(App)拥有成千上万行代码,CPU在执行每条代码时又会把它分割成无数条指令,编译器会自动决定怎样将指令组合起来最高效,它们并非都需要64位的字长。 一个典型的例子就是ARMv8指令集的数据模型。ARM在官方白皮书中指出,即使在纯64位模式下,ARMv8指令集数据模型中也并非每个指令都要求64位格式。另外,官方白皮书还提到,ARMv8指令集架构定义的指令长度并非64位,而是标准的32位定长。这些事实告诉我们,指令集并非越长越好。 |