您现在的位置:首页>互联网

Arm 宣布 32 位已死,而苹果早已放弃

2021-06-17 19:46


Arm 宣布,从 2023 年起,其所有新智能手机 CPU 内核都将仅为 64 位,且没有 32 位兼容模式。

2013 年,苹果就在 iPhone 5s 中使用了 64 位 A7 处理器,我们开始拥有支持 64 位的智能手机处理器。不久之后,64 位 CPU 同样出现在安卓手机中,不过所有这些 CPU 既能运行 32 位代码又能运行 64 位代码。

因此,我们从仅支持 32 位,到同时支持 32 位和 64 位,再到现在我们将要抛弃 32 位,进入只有 64 位的时代。这对安卓和苹果而言,又意味着什么呢?

从 32 位到 64 位的转变 

智能手机中,每个像素、通过互联网发送的每一个数据、存储在闪存中的每个文件、播放的每个声音以及屏幕上的每一次触摸都由数字表示和处理。依靠 GPU 等其他组件的帮助,大部分处理由 CPU 完成。

处理器以二进制形式存储这些数字,为它们分配的空间以位为单位。位由 0 和 1 的二进制表示,8 位可以表示零到 255 之间的任何数字,16 位的范围从 0 到 65,535,而 32 位可以存储高达 4,294,967,295(即 4GB)的数字。

Arm 在其指令集架构的第 8 版(称为 Armv8)中引入了 64 位支持,并且在 Armv9 中继续支持 64 位。这两者也可选择性地向后兼容以前的 32 位 Arm 架构。这意味着原则上 Cortex-A 处理器可以运行 32 位代码和 64 位代码并在它们之间即时切换。用户不会注意到 32 位和 64 位代码之间的任何区别。事实上,三星的第一款 Armv8 SoC 就是 Galaxy Note 4 中使用的 Exynos 5433 ,它有四个 Cortex-A57 内核和四个 Cortex-A53 内核,但仅用于 32 位模式。

多年来,事情变得更加微妙。Arm 有一些基于 Armv8 的 Cortex-A 内核,其中某些只有 32 位(例如 Cortex-A32),另一些只有 64 位(例如 Cortex-A34 和 Cortex-A65)。您可能没有听说过这些 CPU 设计,因为它们没有用于任何智能手机处理器。

从 Cortex-53 到 Cortex-A75 的大多数 Cortex-A 处理器都支持 32 位和 64 位模式。Cortex-A76 稍有改变,它支持 32 位模式,但仅适用于应用程序。这意味着您需要运行 64 位版本的安卓,但您仍然可以运行 32 位应用程序。如果您有 Snapdragon 855(或更高版本)处理器。或者基于 Kryo 4xx(或更高版本)的处理器(包括骁龙 480、骁龙 675、骁龙 720、骁龙 730、骁龙 765、骁龙 780G 等),那么处理器已经放弃了对 32 位操作系统的支持,而你没有注意到。

随着 Cortex-X2 和 Cortex-A510 对 32 位应用程序的支持的下降,你不得不运行 64 位操作系统和 64 位应用程序。Cortex-A710 保持对 32 位应用程序的支持,这意味着任何无法脱离 32 位模式的应用程序都将被迫在 A710 核上运行。

到 2023 年,所有 Cortex-A CPU 都将只有 64 位

Arm 就 64 位的转移发表了两项声明。首先,Arm 谈到 2022 年它所有的大内核都将是 64 位的,然后几个月后 Arm 又谈到 2023 年它所有的内核都将是 64 位的。听起来不错,不过 Cortex-A510(一个小内核)已经只有 64 位了,那么为什么是两个不同的截止日期呢?

笔者认为,我们将在 2022 年看到支持 32 位的新的小内核,此后一切都将是 64 位。

值得注意的是,我们谈论的是 Cortex-A 处理器,即智能手机、平板电脑、Chromebook 等中的 CPU,而不是在谈论 Arm 微控制器系列中的 Cortex-M CPU。事实上,Armv8-M(M 代表微控制器)只有 32 位。

放弃 32 位对安卓影响不大

好消息是 64 位的安卓是一项成熟的技术,完全放弃 32 位支持不会有什么很大的不同。

第一个完全兼容 64 位的安卓版本是 Android 5.0 (Lollipop)。它于 2014 年发布,增加了对 64 位 Intel 处理器以及 64 位 Arm 芯片的支持。自 2019 年 8 月起,所有 Google Play 应用都需要支持 64 位。为了帮助开发者支持 64 位,流行的游戏引擎都添加了支持:Unreal(2015 年)、Cocos2d(2015 年)和 Unity(2018 年)。从 2021 年 8 月 1 日起,Google Play 将停止在支持 64 位的设备上提供没有 64 位版本的应用,这意味着这些设备上的 Play 商店将不再提供这些应用。

Google 提供了不同的工具和大量文档,让应用程序开发人员为切换到 64 位做好准备。对于许多应用程序,实际上几乎没有什么可做的,因为那些用 Java 或 Kotlin 编写的应用程序不需要更改。但是使用游戏引擎或第三方 SDK 开发的应用程序需要确保使用最新的 64 位版本。

由于搭载 64 位 Android 的设备现已上市多年,再加上 Google 努力确保 Play 商店中提供 64 位应用程序,因此最终只切换到 64 位将不会有太大的影响。

苹果更早放弃 32 位

自 iPhone 5S 以来,苹果一直在硬件和软件方面支持 64 位。早在 2015 年 2 月,Apple 就宣布所有 iOS 应用程序都必须支持 64 位。之后在 2017 年,Cupertino 宣布 32 位应用程序将无法在 iOS 11 上运行。

那时,苹果就完全放弃了 32 位,从苹果 A11(在 iPhone 8、iPhone X 中能找到)开始,所有处理器都只有 64 位。

macOS 也有类似的故事。自 10.7 Lion (2011) 以来,苹果的桌面操作系统一直是 64 位的。自 2018 年以来,所有提交到 Mac App Store 的新应用程序都需要支持 64 位,就像 iOS 一样,macOS 放弃了对 32 位应用程序的支持(随着 2019 年 macOS 10.15 Catalina 的发布)。今天,macOS 11 在 Intel 上是 64 位的,在 Arm 上也是 64 位,M1 处理器仅为 64 位。

未来是 64 位的

从 2023 年开始,所有 Cortex-A 处理器都将只支持 64 位。由于安卓支持 64 位,并且正在转向仅支持 64 位的应用程序且将转换地很顺利,因此您可能不太会注意到任何差异。如果您是苹果用户,那么在 iOS 和 macOS 上切换到 64 位已经有一段时间了。我没有听说过渡过程中出现任何重大问题。

对于其他 CPU 架构和其他操作系统,如 Windows 和 Linux,32 位支持将持续更长的时间。既然 Linux 开源,那么 32 位支持很可能会持续几十年。对于 x86-64 处理器上的 Windows,可能连一条清晰的道路都没有。

编译自:https://www.androidauthority.com/arm-32-vs-64-bit-explained-1232065/


  • 凡本网注明"来源:的所有作品,版权均属于中,转载请必须注明中,http://www.vbj.com.cn。违反者本网将追究相关法律责任。
  • 本网转载并注明自其它来源的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品来源,并自负版权等法律责任。
  • 如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。






图说新闻

更多>>
曾获《王者荣耀》 KPL、《和平精英》PEL 冠军,AG 电竞俱乐部获三七互娱投资

曾获《王者荣耀》 KPL、《和平精英》PEL 冠军,AG 电竞俱乐部获



返回首页