一、引  言

1. 在苹果iPhone 5S率先用上64位架构的A7处理器之后,64位移动芯片的大幕就彻底拉开了,Android手机用户自然希望自己心仪的产品能够跟的上苹果的步伐,采用64位架构处理器,但事实却并没有那么简单

2. 外媒fudzilla在今天刊文对Android手机用64位处理器泼了一盆冷水,他们认为尽管今年Cortex-A57/53架构在今年会正式到来(基于ARMv8指令集的64位架构),而且包括高通、三星以及NVIDIA在内的厂商都会发布自家的64位产品,但想要实际应用起来非常的困难。

(1).64位处理器产品不成熟:而实际上高通在此前就正式发布了骁龙410系列处理器,基于公版Cortex-A53架构,规格并不算出色;NVIDIA则在此前正式发布了Tegra K1处理器,它的第二个版本将采用双核心Denver架构设计,它也是一款地地道道的64位架构处理器,三星方面有消息称它将会在不久以后发布Exynos 6系列64位处理器。

(2).64位Android系统不成熟:即便是这些厂商的64位产品会马上到来,但Android系统却拖了后腿,目前最新的Android 4.4.2并不是64位的操作系统,即便是64位处理器能够用在Android 4.4.2当中那么它的性能也会因操作系统并不完美而被受限制,因此要想让Android手机用上64位处理器,那么Android系统至少先要支持64位架构,这应该是Android 5.0以后的事情了

当然,如果Android手机真的用上64位处理器好处也是巨大的: 比如4GB以上内存以及反应更快的应用程序等。

二、64手机相关介绍

refer:http://www.ithome.com/html/android/104973.htm http://android.tgbus.com/shouji/news/201411/509994.shtml

//一、引  言:64位相关概览
1. 理论上,64 位处理器搭配64位系统运行64位软件,执行效率将成倍提升,这也将是未来的发展趋势。
但就目前来看,基于32位指令开发的应用仍是压倒性优势,所以指望64位处理器能有明显的进步还得过一段时间才行。

2. 当64位处理器运行在64位系统下时,可以发挥它100%的性能体验,在此状态下运行基于64位指令开发的软件时,效率是最高的。
即便是运行32位指令开发的软件,64位处理器也会因为有专门的32位指令集,所以并不会有不兼容的现象,但执行效率肯定没有前者高。

//二、64位的不同意义
64 位软件 :基于64位指令开发的应用

64 位操作系统:64位操作系统是指特别为64位架构(cpu处理器架构)计算机系统而设计的操作系统。
              如果你的电脑内存大于4G,那就要用64位的系统了,因为32位的Windows 7也好,Vista也好,最大都只支持3.25G的内存。
              而64位的windows 7最大将支持128G的内存(这也远远小于处理器能够支持的最大内存16EB,现有操作系统的局限性)。

64 位处理器:(可以处理64/32位程序)
       1. 指令集(与硬件电路匹配的指令系统): 处理器的工作就是运行指令,因此,我们还必须提到“指令集”这个概念。处理器的计算和控制都是通过各种指令完成的,每款处理器在设计时就规定了一系列与其硬件电路相配合的指令系统,这套指令的集合统称指令集——你可以把它理解为处理器与外界沟通的语言。市面上有许多不同处理器指令集,就好比有些人的母语是英语,有些人的母语则是中文。

目前大多数64位手机处理器都使用ARM公司的ARMv8 64位指令集。

ARMv8指令集是ARM公司专门针对手机、移动和嵌入式设备推出的64位指令集,它包含了AArch64、AArch32两种主要执行状态:AArch64专注于64位处理,AArch32则用来支持现有的32位ARM指令集。从这个角度来看ARMv8是一套不错的指令集,它既支持未来的64位程序,也向下兼容现有32位程序。有了ARMv8的支撑,以后的64位手机操作系统,如Android L 64bit都可以简单、高效地支持现有的32位App,你不用担心兼容性问题。

2. 处理器架构:为了帮助合作伙伴们更好更快的拿出有竞争力的产品,ARM还专门制作了两个支持ARMv8指令集的处理器参考架构:Cortex-A53和Cortex-A57。如果说ARMv8指令集是一门语言,Cortex-A53和Cortex-A57就是基于这门语言的习题册,ARM这位“老师”利用ARMv8布置了一道道“题目”,厂商们只要照着做,就能生产出处理器成品了。

3. 64位:具体到处理器内部,64位就是逻辑算数单元、寄存器和总线宽度都是64位(也就是8个字节),相比32位而言能够处理更长的指令(32位是最长指令为2的32次方,而64位可处理的最长指令的2的64次方)。

4. 支持内存:64位处理器还能够使用64位整型数据寻址,简单来说就是可以支持更大的运行内存,理论上,最大值可达16EB(17179869184GB),我们可以理解成是内存无上限。如定位高端的Cortex A57架构,支持最多48位寻址,而面向中低端的Cortex A53则支持40位寻址。虽然没有做到彻彻底底的64位,但48位寻址可以支持最多16EB(1EB=1024TB=1048576GB)内存,40位寻址支持的内存容量也以TB为单位计算。在可以预见的未来,内存容量瓶颈在64位手机上将不复存在。

//三、64位处理器的优势
1. 能够处理更长的指令

2. 64位支持更大的内存
    64位处理器还能够使用64位整型数据寻址,简单来说就是可以支持更大的运行内存,理论最大值可达16EB(17179869184GB),我们可以理解成是内存无上限。

  而32位系统大家都熟悉,理论最大支持4GB内存。这样的差距就非常之明显了,即便是短期内主流手机运行内存不会突破4GB,但相信哪个厂商都不想面对这个已知的天花板。

  支持更大的内存可以算64位处理器带来的最立竿见影的提升了。处理器字长不但影响置零件的长度,还影响寻址空间。目前32位ARM处理器的寻址空间最大为4GB,算上系统占用的空间,内存最多3.5GB就是极限了。显然,对于越来越庞大复杂的系统和App而言,这是远远不够的。

  而64位ARMv8处理器彻底解决了这个问题,定位高端的Cortex A57架构支持最多48位寻址,而面向中低端的Cortex A53则支持40位寻址。虽然没有做到彻彻底底的64位,但48位寻址可以支持最多16EB(1EB=1024TB=1048576GB)内存,40位寻址支持的内存容量也以TB为单位计算。在可以预见的未来,内存容量瓶颈在64位手机上将不复存在。

3. 64位处理器本身就更先进

  就算不谈64位,市面上那些64位处理器本身的硬件架构也更先进。ARM总共有两个支持ARMv8 64位指令集的处理器参考架构:Cortex-A53和Cortex-A57,目前市面上绝大多数64位处理器都遵循这两个架构开发而来。相比上一代Cortex-A7和Cortex-A15,Cortex-A53和Cortex-A57拥有并行度更高的流水线、准确率更高的分支预测单元、命中率更高的缓存、更大的内部总线带宽。总之,就像刚刚装修过的房子一样,A53和A57在各个方面都有了进步。

4. 64位是在为未来投资

  64位处理器支持再多内存,现阶段手机内存容量也不会超过4GB,有没有更实在一些的好处?答案也是肯定的。

  首先,ARMv8 64位处理器支持更多更强的通用寄存器(GPR),GPR个数从16个增加到31个,每一个都可以随时访问,宽度也拓展位64位。同时,ARMv8的NEON SIMD浮点指令集也得到了加强,它拥有32个128bit宽度寄存器、支持双精度浮点执行、完整支持IEEE754标准。

  更多的寄存器意味着处理流程的“堵塞”现象大大减少了。过去,由于寄存器数量限制,一条指令往往要被拆成两个步骤执行,而有了足够多的寄存器,处理器就能在更少的周期内搞定指令,体现到App里,就是打开更快、等待时间更少、运行更流畅。

  其次,ARMv8指令集引入了AES、SHA-1、SHA-256硬件加密功能,这就好比把原来由手工的加密动作扔给了机械完成,效率提升极大。如果未来有人脑冻打开,开发一个手机版的bitlocker加密/解密软件,64位处理器比32位快上10倍也不是没可能。

  说到底,更多、更强大的寄存器,更好的硬件加密功能,这些都需要App本身提供支持。还好,ARMv8是下一代64位手机必然的发展方向,ARM公司早已将相关开发规范分发给了开发者,谷歌Android L系统就推出了专门的64位版本。在可以预见的未来,我们还是有不小希望能用上真正发挥64位优势的App的。换个角度而言,64位处理器能更好的适应未来。

//四、64处理器真的比32位处理器快一倍?
  这是一个经常被提起的问题,64位真的要比32位快一倍吗?答案当然是NO,但原因很少有人讲得清楚。

1. 指令集越长越好?
   指令集不是1+1=2这么简单,指令的长度并不直接等于性能。尽管从数字上看,64位指令的确要比32位指令更长,但很多时候我们并不需要那么复杂的指令。一个应用程序(App)拥有成千上万行代码,CPU在执行每条代码时又会把它分割成无数条指令,编译器会自动决定怎样将指令组合起来最高效,它们并非都需要64位的字长。
  一个典型的例子就是ARMv8指令集的数据模型。ARM在官方白皮书中指出,即使在纯64位模式下,ARMv8指令集数据模型中也并非每个指令都要求64位格式。另外,官方白皮书还提到,ARMv8指令集架构定义的指令长度并非64位,而是标准的32位定长。这些事实告诉我们,指令集并非越长越好。

2. 应用程序是否是64位?  
   最后,64位确实好,但程序本身的支持更重要。前面我已经提到,ARMv8 64位指令集包含AArch64、AArch32两种主要执行状态,如果不针对AArch64重新编写程序,那么程序默认就会在AArch32状态下运行——也就是说,现在的App都是32位的,跟64位一毛钱关系都没有,在64位处理器上运行32位程序,性能不会有任何提升。

3. 唯处理器论性能?
   太片面了。比如,玩大型3D游戏,GPU(图形处理器)会更加影响帧数;而拍摄高清照片/4K视频时,DSP(可编程信号处理器)则事关重大。手机的SoC是包含CPU、GPU、DSP、通讯模块等大量功能的集合体,不同的应用场景会侧重于不同部件,单独以CPU一个部件来衡量性能未免太过片面。

//五、结 论
     从长远考虑,64位处理器又绝对是未来的趋势,不论是从硬件层面还是软件层面考虑,64位能够给我们带来的更多的可能性,即便32位向64位过度是个痛苦的过程,但科技绝对不会停滞不前。早前8位CPU升级至16位,16位更新到32位,每一次升级都包含争议,但现在回首望去的确也是历史的必然。

android手机之-------64位操作系统 与 64位处理器相关推荐

  1. 64位操作系统启用32位应用程序导致网站打不开的原因

    本地没问题,一到服务器上就不行.不用说肯定是iis环境问题 经仔细发现,部署的服务器 iis7.0中,网站的 isapi 筛选器中多了如下两个东西 根据名称可以看出 ,这个应该服务器上有个安全狗.删掉 ...

  2. 32位系统是指地址_不起眼却很重要丨32位操作系统与64位操作系统详解(含查询教程)...

    大家好,我是小诸葛,一个喜欢捣鼓电脑的小机灵鬼儿,如果关注电脑 手机信息,可以关注小诸葛! 小诸葛 在下载软件的时候,可能会遇到需要选择32位或64位操作系统的选项,对小白来说,32跟64是什么都不知 ...

  3. 计算机架构64位查看,32位操作系统与64位操作系统详解(含查询教程)

    小诸葛 在下载软件的时候,可能会遇到需要选择32位或64位操作系统的选项,对小白来说,32跟64是什么都不知道,于是就会瞎选一通,运气好的,电脑本身是64位操作系统的,选完下载后没问题,但如果是32位 ...

  4. 32位、64位操作系统系统差异对比

    关注+星标公众号,不错过精彩内容 转自 | 程序喵大人 想必大家都遇到过这样的问题:安装某个软件的时候,出现提示选择32位版本还是64位版本? 我们也可以查看自己的电脑是32位还是64位系统: Win ...

  5. 解决win7 64位操作系统下安装PL/SQL后连接报错问题: make sure you have the 32 bits oracle client installed

    解决win7 64位操作系统下安装PL/SQL后连接报错问题: make sure you have the 32 bits oracle client installed 参考文章: (1)解决wi ...

  6. VM8不能安装64位操作系统原因解析

    在64位的WIN7系统上,遇到64位系统无法在VMWARE8中安装的问题,刚开始以为是下载的ISO和VMWARE软件有问题.试了好几次发现,不管是Linux还是Windows,只要是64位系统都不能安 ...

  7. VMWare不能安装64位操作系统原因探析

    您已经配置此虚拟机使用64位客户操作系统.然而,64位操作系统不可用.此主机具有虚拟化支持能力的,但虚拟化技术被禁用. 这通常是因为虚拟化技术已经在BIOS /固件设置或禁用或主机没有权限改变此设置. ...

  8. Win10的64位操作系统,Visual Studio 2019配置OpenCV4.1.0

    一.Win10的64位操作系统,直接在VS官网下载VisualStudioCommunity,默认安装,安装的是VisualStudioCommunity2019: (安装的[工作负载]步骤时选的是[ ...

  9. 在RedHat4 64位操作系统下,安装Oracle 10g

    在RedHat4 64位操作系统下,安装Oracle <?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:offi ...

  10. 64位操作系统下IIS报“试图加载格式不正确的程序”错误

    缘由:在64位操作系统下IIS发布32位的项目,报"项目依赖的dll无法读取,试图加载格式不正确的程序"错误. 原因:程序集之间的通讯要么全是64位环境下的,要么全是32位环境下的 ...

最新文章

  1. Python基础05-数据类型:列表list
  2. oracle 权限一览表
  3. linux检测病毒工具,Linux下查杀病毒工具
  4. 奇迹暖暖服务器不稳定,闪耀暖暖用土豆当服务器?开服仅半小时就崩溃,无数玩家疯狂吐槽...
  5. php ajax session死锁,session过期,ajax请求处理
  6. Android 系统(233)---AOSP 代码管理
  7. cad lisp 两侧偏移并删除_CAD做钣金件展开的原理你知道吗?
  8. 基础篇5-python基本数据类型讲解1.1
  9. cif判断字符串相等_leetcode 86 扰乱字符串(c++)
  10. 模型房推荐_【自带水乐园】“巴洛克堡城”酒店,人均200+入住家庭房,乐享下午茶+自行车+游船+萌宠乐园!...
  11. 与代码无关的网络安全
  12. 医药网订单对接ERP软件订单接口
  13. 蓝桥杯web:2.【Bug 调试】修复注册验证问题
  14. 背离意味着趋势正在减弱
  15. 什么是Oncall?
  16. 这18个网站能让你的页面背景炫酷起来
  17. 深圳人行推出企业信用报告网银查询渠道
  18. java爬取闲鱼商品信息(一)
  19. 5.字符串:aa:zhangsan@163.com!bb:lisi@sina.com!cc:wangwu@126.com 将存入hashMap中 key:aa,bb,cc value:zhang
  20. 8种最好的Linux密码管理器

热门文章

  1. 深度学习策略之图像预处理
  2. 架构师日记——VCL介绍和使用
  3. 终于明白了AOP中的方面是什么意思
  4. 网络攻防技术——MD5碰撞试验
  5. 基于几何图形搭建障碍物地图的方法(MATLAB)
  6. 新东方报名系统服务器地址,新东方邮箱服务器地址
  7. mediawiki搭建使用
  8. layout 工程师如何提升自己? 2020-3-27
  9. 巨潮网怎么下载年报_如何下载上市公司的年度报告
  10. 计算机画图如何把二寸照片修改为一寸,【2人回答】用画图工具怎么制作一寸、二寸照片?-3D溜溜网...