64位:加速移动设备
2015-04-02
新一代智能手机和平板电脑的中端和高端产品上将采用64位的处理器,设备的性能将大幅度地提升。下面CHIP将带大家一起去了解64位移动系统芯片的技术原理以及当前的市场状况。
苹果iPhone 6、Google Nexus 9和HTC Desire 510有何共同点?它们是全球范围内首批使用64位移动处理器的智能手机。2015年将有许多64位的新移动芯片推出市场,也将有许多智能手机从32位切换到64位。Windows必须从32位切换到64位,是因为32位系统最多只能够使用4GB的内存,但是对于智能手机和平板电脑来说,4GB的内存完全能够满足需求,很显然移动设备迁移到64位是为了其他的原因,下面CHIP将告诉大家64位移动设备究竟有何优势。
99%以上的移动芯片使用英国ARM的芯片架构,早在2011年,ARM已经在其32位移动处理器Cortex A15中加入了可以支持更多内存的大物理地址扩展技术,在该技术的帮助下,Cortex A15在32位的环境下可以寻址1TB的内存,因而,对于移动设备来说,并没有32位Windows操作系统内存容量局限的问题。
双倍的计算能力
从技术上讲,64位架构意味着一个CPU时钟脉冲能够处理8个字节(64位),而在32位的系统中每个时钟脉冲仅可以处理4个字节。这是64位架构的第一个优势:每一个时钟脉冲的计算工作翻一番,因此,制造商即使降低CPU的时钟,智能手机仍然可以拥有更快的响应速度,并且功耗将显著降低。
不过,64位架构的CPU需要其他一些相应的调整才可以真正发挥其优势。由于CPU数据是通过总线系统传送的,因而,总线必须支持64位体系。无论是数据总线还是之间的地址,即使64位系统具体运作时并不真的需要64位,但全部都必须采用64位架构。再有就是CPU相关的内存寄存器,这些被用于基本运算操作的寄存器也必须是64位的,它的情况有点类似于总线:存储容量是越大越好,更大、更多的寄存器能够确保更高的性能。
兼容所有应用程序
移动设备向64位迁移主要源于ARM的决定,ARM的系统架构将从ARMv7升级为ARMv8时切换到64位。苹果是第一个迁移到64位的芯片制造商,并且已经在其iPhone 5S智能手机上推行。不过,很快其竞争对手也已经争相效仿和实施ARMv8架构,因而市场上有越来越多支持64位的系统芯片(System on Chip,简称SoC)。而真正的创新在于ARMv8(请参阅ARMv7与ARMv8的对比表格):很明显,在一切都仍然是32位的移动设备世界中,绝对不可能说切换到64位将能够顺利迁移,例如所有的移动设备应用程序仍然是32位的。因此,ARM公司在ARMv8中采用了一种非常巧妙的设计,它结合了两种模式,可以让32位应用程序继续以32位模式工作,而操作系统和64位应用程序可以在64位模式下工作。因而,迁移的过程不会对用户产生任何困扰,用户也基本上不会看到什么明显的变化。
64位指令集
理论上ARMv8可以比此前的架构ARMv7使用更多的内存,64位的ARMv8使用48位的内存寻址,也就是说,新的架构可以管理高达256TB的内存。不过,ARMv8的真正优势其实是64位指令集A64。ARM重新设计的这一指令集解决了ARMv7一直存在的一些缺点,新的指令集所有指令现在被固定在32位的长度,一个64位指令将可以组合两个指令。一直以来ARMv7都使用可以改变长度的指令,这听起来很不错,但是CPU将需要耗费更多的时间去进行解码。新的指令集所有指令都是标准的32位大小,它们可以被更快地进行处理。分支预测与预编码等工作也可以更容易地实现,同时固定长度的指令不容易出错。
此外,ARM还配备了更大、更多的64位架构寄存器,可以自由使用的寄存器和浮点寄存器数量增加了一倍,这可以提供更高的计算吞吐量。这对于复杂的应用程序非常有帮助,可以更好地支持后台工作的实时编译器。编译器主要负责在程序运行时将代码转换成机器语言,因而,这将可以使Web应用程序运行得更快,因为Web应用程序通常使用了大量的JavaScript程序。除此之外,ARMv8在安全性方面也有所提高,它支持SHA-1和SHA-256散列算法,可以实施更有效的AES硬件加密。
不过,64位硬件只是成功的一半,只有在操作系统与应用软件皆迁移的64位才可以真正发挥64位架构的优势。好消息是,iOS 8和Android 5.0都将支持64位,应用软件方面苹果App Store也已经准备好,而且从2015年2月1日起,新提交到App Store的应用软件将必须支持64位。至于微软,暂时还没有就此发表任何正式的声明,但是64位Windows Phone的一部原型机已经出现。