x86 与 Arm:处理器架构和所有关键差异详细说明

2026-04-10 11:28:36 2 次浏览 系统工具

安卓操作系统是为在三种不同类型的处理器架构上运行而构建的。Arm、英特尔和 MIPS。在英特尔放弃其手机 CPU 后,前者是今天无处不在的架构,而手机的 MIPS 处理器已经多年未见。Arm 是安卓和苹果生态系统中所有现代智能手机使用的 CPU 架构。Arm 处理器也正在通过 Windows for Arm 和苹果公司不断增长的 Mac 定制 Apple Silicon 系列进入 PC 市场。随着 Arm 与英特尔 CPU 战争的大幅升温,这里有你需要知道的关于 Arm 与 x86 的一切。

CPU 架构解释

中央处理器(CPU)是你设备的 “大脑”,但它并不完全聪明。CPU 只有在得到非常具体的指令时才能工作(适当地称为指令集),它告诉处理器在寄存器和存储器之间移动数据,或使用特定的执行单元进行计算(如乘法或减法)。独特的 CPU 硬件块需要不同的指令,这些指令往往随着更复杂和更强大的 CPU 而扩大。所需的指令也可以为硬件设计提供参考,我们一会儿就会看到。

 Arm 与 x86

Arm 与 x86

在你的手机上运行的应用程序不是用 CPU 指令编写的;这对于今天的大型跨平台应用程序来说,比在各种芯片上运行要疯狂。相反,用各种高级编程语言(如 Java 或 C++)编写的应用程序被编译为特定的指令集,以便它们在 Arm、x86 或其他 CPU 上正确运行。这些指令被进一步解码为 CPU 内的微码操作,这需要硅空间和功率。如果你想要最低功率的 CPU,保持指令集的简单性是最重要的。然而,从更复杂的硬件和同时执行多个操作的指令中可以获得更高的性能,但要牺牲功率。这是 Arm 与 x86 之间的根本区别,也是它们设计 CPU 的历史方法。

Arm 是基于 RISC(精简指令集计算),而 x86 是 CISC(复杂指令集计算)。Arm 的 CPU 指令是合理的原子性的,指令的数量和微操作之间有非常密切的关联。相比之下,CISC 提供更多的指令,其中许多指令执行多个操作(如优化的数学和数据移动)。这导致了更好的性能,但在解码这些复杂的指令时,功耗更大。

也就是说,如今 RISC 和 CISC 之间的界限有点模糊,彼此都在借鉴对方的想法,而且有各种各样的 CPU 内核建立在架构变化之上。此外,定制 Arm 架构的选择意味着合作伙伴,如苹果,可以添加他们自己的更复杂的指令。

但需要注意的是,正是指令和处理器硬件设计之间的联系构成了一个 CPU 架构。这样,CPU 架构可以为不同的目的而设计,如极端的数字运算,低能耗,或最小的硅面积。在研究 Arm 与 x86 的 CPU 时,这是一个关键的区别,因为前者是基于低能耗的指令集和硬件。

现代 64 位 CPU 架构

今天,64 位架构是智能手机和 PC 的主流,但情况并非总是如此。手机直到 2012 年才进行转换,比 PC 晚了十年左右。简而言之,64 位计算利用足够大的寄存器和内存地址来使用 64 位(1 和 0)长数据类型。除了兼容的硬件和指令,你还需要一个 64 位的操作系统,如安卓。

业内资深人士可能还记得,当苹果公司在其安卓竞争对手之前推出其第一个 64 位处理器时,引起了轩然大波。迁移到 64 位并没有改变日常的计算。然而,使用高精度浮点数字有效地运行数学是很重要的。64 位寄存器还提高了 3D 渲染精度、加密速度,并简化了 4GB 以上内存的寻址。

个人电脑早于智能手机转向64位,但并不是英特尔创造了现代x86-64架构(也称为x64)。这一荣誉属于AMD在1999年的公告,它改造了英特尔现有的x86架构。英特尔的替代性IA64 Itanium架构被弃置一旁。

Arm 在 2011 年推出了其 ARMv8 64 位架构。Arm 没有扩展其 32 位指令集,而是提供了一个干净的 64 位实现。为了实现这一目标,ARMv8 架构使用了两种执行状态:AArch32 和 AArch64。正如其名称所暗示的,一个用于运行 32 位代码,一个用于 64 位。ARM 设计的优点是处理器可以在正常执行期间从一种模式无缝切换到另一种模式。这意味着 64 位指令的解码器是一个新的设计,不需要与 32 位时代保持兼容,但整个处理器仍然向后兼容。然而,Arm 最新的 ARMv9 Cortex-