给朋友攒了台电脑,6000块钱的主机让笔者为这个只聊QQ和玩网页游戏的壕友感到拙计。而更让我泪奔的是,他非要装XP系统,还号称XP有情怀用的惯。稍微懂点的朋友都了解,Windows XP好用的只有32位版本,64位兼容性不是一般的差基本可以无视。也就是说它只能识别不到4GB的内存,对于壕友这16GB内存主机简直是暴殄天物,这一来一回相当于白扔了12GB内存。开导了半天装了64位Win 7之后,笔者也突然意识到,不是所有人都了解硬件,真的有必要科普一些常识了。
土豪的世界真心挺难懂的
从硬件配置结构来看,现在的智能手机和PC并无二致,同样是处理器、内存、内置存储(硬盘)、显卡(集成GPU)、电源(电池)这些主要硬件,所以相关知识也是共通的。随着Android 5.0系统的逐渐普及,有关64位处理器和64位系统的各种问题成为热门,性能到底提升多少是大家最关心的话题。
其实有关64位架构的种种问题,早在PC刚刚普及64位CPU的时候就已经解答过了。但鉴于手机和PC存在不小的差异,有一些问题还是要单提出来分析的。到底64位处理器配合64位系统有没有质的提升?相比之前32位时代又有哪些进步呢?落实到实际表现又如何呢?想知道?那就继续往下看吧。
手机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位处理器对应用进行优化的话,应用运行速度会更快,效率会更高。
由此我们可以得到一个结论,64位处理器的优势很明显,支持更长的指令和更大的内存是它最直观的表现。当64位处理器运行在64位系统下时,可以发挥它100%的性能体验,在此状态下运行基于64位指令开发的软件时,效率是最高的。即便是运行32位指令开发的软件,64位处理器也会因为有专门的32位指令集,所以并不会有不兼容的现象,但执行效率肯定没有前者高。
性能测试正式开始
理论阐述完毕,接下来我们就要通过实际测试来证明我们所掌握的理论到底正确。我们选取搭载64位骁龙615处理器并且其他配置也相近的A手机(Android 5.0)和B手机(Android 4.4)进行对比,目前就是看64位系统和32位系统到底存在什么差异。
64位处理器+64位系统的A手机安兔兔跑分为31993分
参与测试的软件是最新版安兔兔评测v5.7,在64位处理器+64位系统的A手机上,安兔兔评测是可以开启64位模式的,这种3个64位(64位CPU+64位系统+64位软件)合一的状态是我们认为最理想的,此模式下最终跑分数据为31993分。
同配置的B手机因为系统为32位系统,所以相差7000+分
下面再看看64位处理器+32位系统B手机的性能表现,从图中可以看到,B手机的安兔兔最终跑分数据为24665分。对比很明显,两款同配置不同系统平台的手机跑分竟相差7000+分。
CPU各项得分都是A手机更高一些
如果你觉得总分并不能说明CPU性能存在绝对差距,那么我们就分项来看。从两款手机跑分详情可以看出,搭载64位系统的A手机在多任务、Android运行环境、CPU整数、CPU浮点以及RAM运行、RAM速度方面均比32位系统的B手机数据高,这也证明64位架构系统为64位处理器提供更好的发挥空间。
A手机的安兔兔在32位模式下跑分更高
在跑分测试时,笔者也特意使用A手机把安兔兔切换至32位进行测试,结果有些出人意料,因为在此模式下该机竟然跑出了34049分的成绩,比之前64位模式下跑分还高。
64位模式(左)和32位模式(右)跑分对比
分项对比后我们可以发现问题所在,在32位模式下,A手机的多任务、CPU整数处理能力还是弱于64位模式的,而相比而言性能提升最大的就是RAM运算和RAM速度,这其实也是有理可循的。在对64位整型数据操作的需求不大时,64位没必要的数据长度反而会占用更多的内存,拖累RAM运算和速度也属正常。
32位处理器相关测试
对于当下手机市场而言,搭载32位处理器的手机依然不在少数,随着Android 5.0的普及化,32位处理器搭载64位系统是必然会发生的事情,那么到底会不会出现因为系统不兼容而性能倒退的情况呢?
跑分相差3661分
测试方法并不复杂,找到一个骁龙801处理器的Android 4.4手机(32位处理器+32位系统),使用最新版安兔兔v5.7进行测试,最终成绩为44627分。将手机升级至Android 5.0之后,再次进行跑分测试,安兔兔跑分为48222分。
32位系统和64位系统下的跑分数据
从各项分数分析,升级到64位系统之后,多任务、Android运行环境、CPU整数、CPU浮点以及RAM速度都有提升。由此我们也可以得出32位处理器运行在64位系统上并不会出现性能下降的结论。也就是说,使用骁龙801处理器手机的用户放心升级就可以,至少短期内不会遇到瓶颈。
总结:
通过一系列的测试,最终的到的结论虽然有些部分出乎意料,但总体还是在情理之中。64位处理器+64位系统的组合是表现最出色的,不论是32位模式还是64位模式的跑分都远超64位处理器+32位系统的分数。
而在32位处理器测试中,搭载64位系统同样是能够提高跑分的,虽然有可能是安兔兔软件自身的算法问题,但至少可以证明64位系统并没有让32位处理器的手机性能降低,使用骁龙801处理器的手机放心升级Android 5.0就是了。
从长远考虑,64位处理器又绝对是未来的趋势,不论是从硬件层面还是软件层面考虑,64位能够给我们带来的更多的可能性,即便32位向64位过度是个痛苦的过程,但科技绝对不会停滞不前。早前8位CPU升级至16位,16位更新到32位,每一次升级都包含争议,但现在回首望去的确也是历史的必然。
对于消费者实际选机来说,喜欢频繁换机的朋友其实完全没必要在意手机处理器到底是多少位的,喜欢就买即可,因为短期内还没有达到非换64位不可的地步。而对于哪些不经常换机的朋友,购买64位处理器手机其实为未来布局,不至于几年后因为兼容性等问题被淘汰。