64位计算的历史相当丰富有趣。Cray等公司在70年代就已经开始在自己的系统当中使用64位寄存器,但真正纯粹的64位计算直到90年代才真正到来。 首先是MIPS的R4000,然后是DEC的Alpha处理器。到90年代中期,英特尔和Sun都已经拥有64位设计。而对于消费者来说,真正的转折点是 AMD在2003年发布了一款兼容英特尔32位x86处理器的64位PC处理器。


https://yqfile.alicdn.com/ec1e61d93f9702347bb962df2897adc480cfd333.png
" >

再 向前快进10年,PC销量不断下滑,大部分智能手机和平板电脑都拥有了主频在1-2GHz之间的多核心处理器。但它们使用的都是32位架构,而非现代PC 和服务器所使用的64位架构。到现在为止,这都是可以接受的。智能手机并不会去和PC拼性能,这些处理器需要足够节能,以实现续航的最大化。

但是,随着设备的发展和新技术——语音识别、3D游戏和高分辨率显示屏——逐渐普及,32位处理器的能力已经渐渐被推到了极限。


ARM 看到了64位节能处理器的需求,并在正式发布ARMv8-A架构(首个包含64位指令集的ARM架构)之前就早早开始了新设计的开发,还从其他选择发展 64位技术的芯片设计厂商那里学习到了经验和教训。ARM的新款64位架构具备对于旗下32位架构的全面兼容,这意味着如果处理器运行于64位系统,它就 可以运行未修改的ARMv7 32位二进制文件。对于Android来说,这意味着一旦内核被移植到64位(多亏了Linaro,它们已经如此了),系统的其余部分,从核心库到应用再 到游戏,都是可以在32位或64位之间进行切换的。

去年,苹果凭借着iPhone 5s的全新64位A7处理器震惊了整个移动领域。A7采用了苹果设计的ARMv8双核处理器,名为Cyclone。它使用了两个64KB L1缓存(供两个核心分别使用),一个1MB L2缓存(被两个核心所分享)和一个4MB L3缓存(为整个SoC所用)。苹果拥有ARM架构授权,这意味着它可以从头开始设计自己的处理器,但前提是这些处理器必须是ARM兼容的。ARM拥有一 套测试套件,用以检查这些处理器是否具备兼容性。

在未来几个月里,我们将会看到高通、联发科和三星纷纷推出自己的64位ARM处理器。再考虑到Android在64位化的努力,用不了多久我们就将看到运行于64位Android系统的64位设备了。但对于开发者和终端用户来说,64位处理器意味着什么呢?

受益于ARM的64位架构


每 一部CPU的中心都是一套寄存器,他们都是用以存储数字和地址的内部存储插槽。当执行复杂任务时,这些插槽会被反复使用。如果所有的寄存器都处于占用状 态,那么处理的唯一方式是将其中一个寄存器存储在内存当中,使用寄存器进行下一个任务,然后再从内存当中重新载入之前的值。对于人类来说,这一切都发生在 一瞬间。但对于处理器来说,这实际上是一个非常耗时的顺序,并不十分效率。

32位ARMv7架构拥有15个通用的寄存器,每一个都有32位 宽。而ARMv8架构拥有31个通用寄存器,每一个为64位宽。这就意味着优化代码使用内部寄存器的频率应该要比内存更高,同时也可以保留更大的数字和地 址。结果就是,ARM的64位处理器在运行速度上会更快一些。

在能效上面,64位寄存器的使用并不会提升功耗。在某些情况下,64位核心执行部分任务的速度会更快一些,由于运行时间的减少,这也就会使其显得比32位核心更加节能。

寻 址(Addressing)是64位处理器的另一个层面。在PC和服务器领域,32位的局限主要在可访问的内存上。如果你想要使用超过4GB的内存,就需 要使用64位处理器。因为可以使用大物理地址拓展(LPAE),某些ARMv7处理器能够使用超过4GB内存,所以严格来讲,内存的限制并不是ARM处理 器所遭遇的问题。由于LPAE的存在,Cortex-A15处理器能够处理1024GB内存,而64位的处理能力更是高达200万TB。因此在短时间内, 任何一部智能手机都不需要完整的64位寻址。追求永远都不会被用到的寻址空间是毫无意义的,因此ARMv8架构采用了48位寻址,这已经是256TB了。

虽 然没有什么程序或游戏会用到TB级别的内存,但在另一方面,这种寻址能力又非常重要。现代3D游戏通常都带有大量的资源,当拥有超过4GB的可访问空间 时,这些资源能够被更加轻松地进行内存映射。这样一来,游戏的运行速度会得到提升,并让直接访问游戏多媒体资源成为可能。

不只是智能手机和平板

ARM 上64位计算的好处并不仅限于智能手机和平板电脑。ARM的生态系统很广阔,他们的处理器也被许多不同类型的设备所使用。服务器市场是ARM处理器影响力 有限的一个领域。信息时代的发展让维持数据中心所消耗的能源持续快速增长,而任何能够降低能源使用的技术都是对于资金和自然资源的节省。除了节能之外,在 服务器当中使用64位ARM芯片还有其他的好处。这些服务器都会被动散热,这意味着你可以将它们集中在一起,而无需担心会发生过热的情况。这样一来,用于 散热上的花费也将有所降低。

至于服务器软件,Linux这样的操作系统已经是64位的了,其主线内核当中也已经加入了对于ARMv8的支持。这也就是说,制作运行于64位Linux、ARM处理器的服务器并不会很困难。

总结

多亏了ARM,64位的移动计算时代就要到来了。这些新的处理器不仅速度更快,还为移动平台开启了更多的可能性。

从32位向64位的迁移道路已经被铺就,无论是什么操作系统,开发者从32位进入64位都不会有任何意外。

在未来几个月里,ARM的合作伙伴都将推出Cortex-A53和Cortex-A57处理器。当中有的会采用双核或四核的标准配置,也有的会选择big.LITTLE配置。但有一点是肯定的,那就是这对于ARM和普通用户来说都是一个激动人心的时刻。

文章转载自 开源中国社区 [http://www.oschina.net]

64 位 ARM 处理器意味着什么?相关推荐

  1. pcmark2 android测试,PCMark安卓版升级:支持64位ARM架构 存储测试为Storage 2.0

    作为一款跨平台的评测软件,PCMark的Android版本最近升级到了v3.0.4054.这个版本变化很大,官方支持64位ARM架构,跑分不能向下比较. ARM处理器长期支持64位,但支持的APP应用 ...

  2. arm linux 识别新硬盘_Arm发布首款64位实时处理器CortexR82

    EETOP专注芯片.微电子,点击上方蓝字关注我们 Arm以其在移动设备中的Cortex系列处理器而闻名,然而主流Cortex-A系列CPU并不是该公司唯一提供的CPU,Arm还提供了用于高性能实时应用 ...

  3. 八核 64 位 ARM Cortex-A53 处理器在安卓工控机主板上的应用

    这是南京时仓信息科技HI-PROS利用ARM Cortex-A53开发的一块便携式/车载仪器如手机般便捷操作的主板尺寸仅有三张名片大小,待机功耗低于3w,解决了高清口的问题,支持21.5-65寸屏,能 ...

  4. EZchip将推全球首款100核64位ARM A-53芯片

    EZchip将推全球首款100核64位ARM A-53芯片 2015-02-25 16:32:03   来源:互联网    关键字: 将推  全球  64位  arm EZchip日前表示,将准备开发 ...

  5. AMD公司推出基于64位ARM架构的AMD Opteron开发套件

    AMD宣布即推出 AMD Opteron A1100 系列开发套件,它配备了 AMD首款基于64 位 ARM 的处理器,代号为"西雅图".AMD是第一家为软件开发人员和集成商提供标 ...

  6. arm linux 64位,微软准备让Linux作为64位ARM Hyper-V客户机运行

    原标题:微软准备让Linux作为64位ARM Hyper-V客户机运行 虽然微软的Hyper-V虚拟化管理程序和他们的Azure云在很大程度上是以x86_64为中心的,但随着Linux 5.13内核的 ...

  7. 国科大五位本科生带“芯”毕业!平均年龄23.1岁,四个月主导完成64位RISC-V处理器SoC芯片设计并实现流片

    大数据文摘出品 毕业季,中国科学院大学(以下简称国科大)的五位本科毕业生给母校送上了一份"硬核"毕业礼物--主导完成了一款64位RISC-V处理器SoC芯片设计并实现流片. 处理器 ...

  8. 迅为龙芯2K1000开发板双核64位系统处理器,流畅运行多个系统

    迅为电子的iTOP-2K1000核心板对外提供的接口是邮票孔方式.搭载龙芯2K1000处理器,处理器集成2个64 位GS264处理器核,主频1GHz,以及各种系统IO接口.集高性能与高配置于一身. 迅 ...

  9. arm 64位 android,一大波64位手机处理器来袭

    今天凌晨,谷歌正式发布了Android L系统,其最显眼的地方就是UI方面的改变,但最重要的地方却是新增了64位版本,并将ART模式作为系统默认的运行模式,以此换来更加流畅的操作体验. 由于指令集的关 ...

最新文章

  1. 2015/12/28 十六进制转八进制 八进制转十六进制 作业
  2. 更强、更稳、更高效:解读 etcd 技术升级的三驾马车
  3. PHP-代码审计-审计第一步
  4. Optical_Flow(1)
  5. 递归算法和迭代算法_Java中没有递归的二进制搜索–迭代算法
  6. C++ 11 深度学习(一)auto、头文件防卫、引用、常量
  7. 技术动态 | 知识图谱的策展
  8. SpringBoot 之Spring Boot Starter依赖包及作用
  9. 编译OSG的FreeType插件时注意的问题
  10. Spark学习之RDD的概念
  11. 什么是心跳线?心跳线,主要用于主从服务器之间,是连接工作机与备份机的网线
  12. Java算法之最大子序和
  13. LeetCode每日一题:2.两数相加
  14. 小白初学MySQL----Win7下关于安装和初步使用~
  15. Asp.net MVC Linq to SQL Model verification
  16. IP切换器哪个最好用?
  17. 基于单片机智能交通灯控制系统设计外文文献_三种典型的微机控制系统
  18. 保健文汇杂志保健文汇杂志社保健文汇编辑部2022年第36期目录
  19. Dell B1260dn Printer驱动的安装
  20. java switch基础介绍及具体使用方法

热门文章

  1. 小米note android 5.0,小米Note顶配版首曝光 预装Android 5.0版本MIUI6
  2. 苹果手机在锁屏时候接不到电话是怎么回事
  3. Python 文件打包成可执行文件
  4. SpreadJS 最新版 2021版本 下载试用
  5. ssh 免密登录失败
  6. 亲身体验20多个副业,吐血推荐超靠谱steam游戏搬砖项目!
  7. 电子学会青少年软件编程 Python编程等级考试二级真题解析(判断题)2020年12月
  8. 马斯克称脑机接口可治疗肥胖症,SpaceX首批游客滞留国际空间站,苹果要下架一批长期不更新App,今日更多大新闻在此...
  9. Linux CentOS 7 touch 命令
  10. python 画三角形matli_python 实现波浪滤镜特效