手机64位处理器是什么鬼?
到底什么是64位处理器呢?具体到处理器内部,64位就是逻辑算数单元、寄存器和总线宽度都是64位(也就是8个字节),相比32位而言能够处理更长的指令(32位是最长指令为2的32次方,而64位可处理的最长指令的2的64次方)。
64位处理器到底是什么?
那么也就是说,如果32位处理器和64位处理器同时运行一个32位(4个字节)的指令时,两者理论速度是没有差别的,因为大家都可以完整的运行这一长度的指令。但如果它们同时运行64位(8个字节)指令,32位处理器就会因为无法识别64位长度需要拆分后再运行,而且还会有很大可能无法识别。而64位处理器就完全没问题。这种感觉就像小学生和大学生做题,只做1+1的话是看不出两者的区别的,但随便来一个微积分相关的题目就高下立判了。
在运行指令时,还要涉及到一个名为指令集这个东西。所谓指令集就是存储在CPU内部,对CPU运算进行指导和优化的硬程序。拥有这些指令集,CPU就可以更高效地运行。就高通处理器举例,目前最强的骁龙810八核处理器采用的是ARM公司的ARMv8架构,拥有A32、A64和T32三个主要指令集。
目前手机芯片主流的ARMv8架构
ARMv8中的指令集包含AArch64、AArch32两种主要执行状态,其中AArch64是专门用于64位处理的,而AArch32则是用来支持32位ARM指令集的,所以说ARMv8指令集是一套兼容性很强的指令集,向上支持64位,向下还能照顾32位。不过在ARMv8指令集下,64位系统运行32位应用还是容易出现兼容性问题(主要是含lib库开发的应用,纯Java开发的不存在不兼容的问题)。
Cortex-A57内部结构
Cortex-A53内部结构
当然就目前来看,基于32位指令开发的应用仍是压倒性优势,所以指望64位处理器能有明显的进步还得过一段时间才行。理论上64位处理器搭配64位系统运行64位软件,执行效率将成倍提升,这也将是未来的发展趋势。
目前高通八核芯片采用主流的big.LITTLE架构
除了能够处理更长的指令之外,64位处理器还能够使用64位整型数据寻址,简单来说就是可以支持更大的运行内存,理论最大值可达16EB(17179869184GB),我们可以理解成是内存无上限。
而32位系统大家都熟悉,理论最大支持4GB内存。这样的差距就非常之明显了,即便是短期内主流手机运行内存不会突破4GB,但相信哪个厂商都不想面对这个已知的天花板。
A53相较A7性能全面提升
A57相较A15升级不小
之于现在的手机产品,搭载Android 5.0系统的手机对于64位处理器的支持是最好的,因为它能够很好的支持ARMv8和64位平台,这是Android 4.4所做不到的,也是5.0版本的重要升级项,倘若开发者针对64位处理器对应用进行优化的话,应用运行速度会更快,效率会更高。