过去数月,多款新智能手机都把64位处理器作为卖点。用户应当购买一款配置64位处理器的手机吗?64位处理器的性能是32位处理器的2倍吗?这两个问题的答案是否定的。转向更新的ARM架构会带来性能的提升,但64位计算技术却不能。在用户购买首款64位Android手机(HTC Desire 510)前,或开始对将于今年秋季上市销售的64位手机“垂涎欲滴”前,本文将讨论64位计算技术的真正含义,以及用户需要关心或无视它的理由。
什么是64位处理器?
“64位处理器”的定义不止一种。最常见的一种说法是,64位计算技术意味着处理器可以访问超过4GB的系统RAM。这种说法是不正确的,一款芯片的“位数”与它能寻址的内存容量没有关系。
在完成加法、乘法、移动或复制数据等操作时,处理器可以使用2种类型的数据:整型(例如90210)或浮点型(例如3.14159265359)。如果一款处理器能完成多达16位的整型数据操作,它就被称作16位处理器;如果能完成多达32位的整型数据操作,就被称作32位处理器。读者一定能猜想到,64位处理器能处理多达64位整型数据的操作。
32位处理器使用32位数据表示内存地址,64位处理器使用64位数据表示内存地址。这意味着,在32位处理器上运行时,一款软件的最大寻址范围只有4GB,即使处理器本身的寻址能力更强大;64位处理器使用64位整型数据表示内存地址,一款软件的最大寻址范围是16艾字节(exabyte)——实际上相当于无限的内存。
对于大多数软件来说,64位处理器带来的好处不大。在智能手机或平板电脑上运行的大多数应用,对64位整型数据操作的需求都不大,使用的内存容量也不会超过4GB。事实上,有时64位应用的运行速度低于32位应用,因为使用64位内存指针会使应用“膨胀”,占用更多缓存和内存。
为什么移动64位处理器性能更高?
ARM处理器由32位发展为64位,只是范围更广、更重要的变化的一个方面:由ARMv7架构升级为ARMv8架构。
过去近10年,基本上所有智能手机芯片都基于ARMv7。所有现代智能手机——从第一代iPhone和T-Mobile G1到iPhone 5和Galaxy S5,它们都配置基于ARMv7架构的处理器。诚然,过去数年ARMv7一直在进步,但其基本架构近10年来却一直没有什么变化。
ARMv7确实有些老迈了。约3年前,ARM发布了新的处理器架构ARMv8。ARMv8包含有许多改进。它能执行所有ARMv7指令,并对它们进行了简化。ARMv8新增添了面向现代应用的指令,并淘汰了部分陈旧的指令。另外,它还增添了适用于加密操作的指令。更重要的是,ARMv8中的寄存器数量翻了约一番。这非常重要,因为这意味着ARMv8能在更短时间内从内存中读取数据。当然,ARMv8支持64位计算技术,但与32位的ARM软件兼容。
ARMv8架构提高了64位芯片的运行速度和运行效率,而非仅仅是一款64位芯片。对于媒体来说,与解释增加的寄存器数量或新指令集带来的好处相比,宣扬“64位”计算技术更能吸引眼球。
64位计算技术有很大影响?
这一问题的答案既是肯定的也是否定的。首批64位Android手机的性能可谓“参差不齐”。例如,HTC Desire 510配置高通骁龙410处理器,是一款低价手机,运行速度比市场上大多数高端手机要慢。骁龙410基于ARMv8架构,是一款64位处理器。高通即将推出的新一代64位处理器是中档的骁龙610和615。高通真正厉害的高端64位处理器是骁龙810,配置骁龙810的手机明年初将会上市销售。
另一方面,配置双核64位英伟达Tegra K1处理器的平板电脑将于今年底前上市销售。Tegra K1运行速度相当快。
苹果iPhone 5S手机配置64位处理器,上市销售已经约1年时间。iPhone 5S运行速度很快,但配置32位处理器的部分Android手机性能已经可以媲美iPhone 5S。
因此读者不要被手机配置清单中64位处理器所蒙蔽。手机转向支持64位计算技术的ARMv8架构是件好事,但并非每款64位处理器的运行速度都比任何一款32位处理器更快。
64位处理器需要Android L的配合
仅64位处理器不能真正提升智能手机性能,还需要操作系统的配合。如果64位智能手机运行Android 4.4 KitKat,其潜能就无法得到充分发挥。64位硬件还需要Android L的配合,才能充分发挥其潜能。
64位ARM处理器还需要得到操作系统和应用的支持,其潜能才能得到充分发挥。Android L的设计目标是支持ARMv8和64位平台,而KitKat则不能充分发挥ARMv8和64位平台的性能。那么,用户还需要等待应用开发者针对64位平台对他们的应用进行优化吗?
诚然,如果开发者针对64位处理器对应用进行优化,应用运行速度会更快,效率会更高,但是,用户很快就能享受到64位处理器带来的好处。在Android上,大多数应用都是利用Java语言编写的。当下载一款应用时,用户获得的是java代码和库文件,Android操作系统能把这些代码转换为智能手机处理器可以执行的软件。这一过程被称作“编译”。
Android L中的编译器被称作ART,能够生成针对新ARM架构优化的代码。因此,只要智能手机或平板电脑配置64位处理器、运行Android L,即使开发者不对应用进行优化,应用的运行速度也会得到提高。如果开发者对应用进行优化,应用的运行速度会更快。
到明年的现在 就没有人拿64位处理器说事儿了
营销部门喜欢“64位”这一词汇。对于32位手机用户来说,直觉上会认为64位手机的速度会快1倍。摄像头像素数量、处理器内核数量也都成了手机厂商的营销“噱头”。
营销部门没有错,它只是夸大了64位计算技术对于Android市场的重要性。除64位计算技术外,ARMv8还有许多改进之处。Android L也是如此。但是,处理器和操作系统每年都在进步,今年推出的产品的性能不可能是去年的2倍。
未来1年,几乎所有新款智能手机和平板电脑都将配置64位处理器,甚至是廉价手机。届时Android L将会普及, 64位计算技术将不再是一个值得大书特书的卖点。
什么是64位处理器?
“64位处理器”的定义不止一种。最常见的一种说法是,64位计算技术意味着处理器可以访问超过4GB的系统RAM。这种说法是不正确的,一款芯片的“位数”与它能寻址的内存容量没有关系。
在完成加法、乘法、移动或复制数据等操作时,处理器可以使用2种类型的数据:整型(例如90210)或浮点型(例如3.14159265359)。如果一款处理器能完成多达16位的整型数据操作,它就被称作16位处理器;如果能完成多达32位的整型数据操作,就被称作32位处理器。读者一定能猜想到,64位处理器能处理多达64位整型数据的操作。
32位处理器使用32位数据表示内存地址,64位处理器使用64位数据表示内存地址。这意味着,在32位处理器上运行时,一款软件的最大寻址范围只有4GB,即使处理器本身的寻址能力更强大;64位处理器使用64位整型数据表示内存地址,一款软件的最大寻址范围是16艾字节(exabyte)——实际上相当于无限的内存。
对于大多数软件来说,64位处理器带来的好处不大。在智能手机或平板电脑上运行的大多数应用,对64位整型数据操作的需求都不大,使用的内存容量也不会超过4GB。事实上,有时64位应用的运行速度低于32位应用,因为使用64位内存指针会使应用“膨胀”,占用更多缓存和内存。
为什么移动64位处理器性能更高?
ARM处理器由32位发展为64位,只是范围更广、更重要的变化的一个方面:由ARMv7架构升级为ARMv8架构。
过去近10年,基本上所有智能手机芯片都基于ARMv7。所有现代智能手机——从第一代iPhone和T-Mobile G1到iPhone 5和Galaxy S5,它们都配置基于ARMv7架构的处理器。诚然,过去数年ARMv7一直在进步,但其基本架构近10年来却一直没有什么变化。
ARMv7确实有些老迈了。约3年前,ARM发布了新的处理器架构ARMv8。ARMv8包含有许多改进。它能执行所有ARMv7指令,并对它们进行了简化。ARMv8新增添了面向现代应用的指令,并淘汰了部分陈旧的指令。另外,它还增添了适用于加密操作的指令。更重要的是,ARMv8中的寄存器数量翻了约一番。这非常重要,因为这意味着ARMv8能在更短时间内从内存中读取数据。当然,ARMv8支持64位计算技术,但与32位的ARM软件兼容。
ARMv8架构提高了64位芯片的运行速度和运行效率,而非仅仅是一款64位芯片。对于媒体来说,与解释增加的寄存器数量或新指令集带来的好处相比,宣扬“64位”计算技术更能吸引眼球。
64位计算技术有很大影响?
这一问题的答案既是肯定的也是否定的。首批64位Android手机的性能可谓“参差不齐”。例如,HTC Desire 510配置高通骁龙410处理器,是一款低价手机,运行速度比市场上大多数高端手机要慢。骁龙410基于ARMv8架构,是一款64位处理器。高通即将推出的新一代64位处理器是中档的骁龙610和615。高通真正厉害的高端64位处理器是骁龙810,配置骁龙810的手机明年初将会上市销售。
另一方面,配置双核64位英伟达Tegra K1处理器的平板电脑将于今年底前上市销售。Tegra K1运行速度相当快。
苹果iPhone 5S手机配置64位处理器,上市销售已经约1年时间。iPhone 5S运行速度很快,但配置32位处理器的部分Android手机性能已经可以媲美iPhone 5S。
因此读者不要被手机配置清单中64位处理器所蒙蔽。手机转向支持64位计算技术的ARMv8架构是件好事,但并非每款64位处理器的运行速度都比任何一款32位处理器更快。
64位处理器需要Android L的配合
仅64位处理器不能真正提升智能手机性能,还需要操作系统的配合。如果64位智能手机运行Android 4.4 KitKat,其潜能就无法得到充分发挥。64位硬件还需要Android L的配合,才能充分发挥其潜能。
64位ARM处理器还需要得到操作系统和应用的支持,其潜能才能得到充分发挥。Android L的设计目标是支持ARMv8和64位平台,而KitKat则不能充分发挥ARMv8和64位平台的性能。那么,用户还需要等待应用开发者针对64位平台对他们的应用进行优化吗?
诚然,如果开发者针对64位处理器对应用进行优化,应用运行速度会更快,效率会更高,但是,用户很快就能享受到64位处理器带来的好处。在Android上,大多数应用都是利用Java语言编写的。当下载一款应用时,用户获得的是java代码和库文件,Android操作系统能把这些代码转换为智能手机处理器可以执行的软件。这一过程被称作“编译”。
Android L中的编译器被称作ART,能够生成针对新ARM架构优化的代码。因此,只要智能手机或平板电脑配置64位处理器、运行Android L,即使开发者不对应用进行优化,应用的运行速度也会得到提高。如果开发者对应用进行优化,应用的运行速度会更快。
到明年的现在 就没有人拿64位处理器说事儿了
营销部门喜欢“64位”这一词汇。对于32位手机用户来说,直觉上会认为64位手机的速度会快1倍。摄像头像素数量、处理器内核数量也都成了手机厂商的营销“噱头”。
营销部门没有错,它只是夸大了64位计算技术对于Android市场的重要性。除64位计算技术外,ARMv8还有许多改进之处。Android L也是如此。但是,处理器和操作系统每年都在进步,今年推出的产品的性能不可能是去年的2倍。
未来1年,几乎所有新款智能手机和平板电脑都将配置64位处理器,甚至是廉价手机。届时Android L将会普及, 64位计算技术将不再是一个值得大书特书的卖点。