快速跳转

ARM 与 x86:有何区别?

复制 URL

围绕 ARM 处理器设计的计算机与围绕 Intel 或 AMD 设计的计算机是不可互换使用的。有两个基本问题是它们都要解决的,尽管方式各有不同:

  • 如何平衡晶体管数量与程序复杂性?
  • 如何确定速度、功耗和成本的优先级?

在过去的四十年里,在不断寻求答案的过程中,我们见证了小到智能手机,大到超级计算机的各个领域的技术创新和软件换代。

为了讲得更清楚,我们先来简单聊一下 x86 和 ARM 处理器的定义。

许多 IT 人士都非常熟悉 x86 处理器,因为它是大多数计算机和服务器硬件中使用的处理器类型。从架构角度来说,x86 系统中的硬件组件(如声卡、显卡、内存、存储器和 CPU)都是相互独立的。大多数组件都有单独的芯片,称为控制器。我们可以对这些组件进行更改或扩展,而不会影响连接性或整个硬件平台。

而 ARM 处理器没有单独的 CPU。相反,处理单元与其他硬件控制器位于同一物理载板上,形成一个集成电路。此外,与英特尔或 AMD CPU 不同,没有所谓的 ARM 处理器制造商。相反,Arm Holdings 公司将芯片的设计方案授权给其他硬件制造商,然后这些制造商将 ARM 处理器芯片整合到他们的硬件设计中。与传统基于 x86 的计算机不同,ARM 芯片不可互换使用,并且具有高度的应用特定性。这些处理器在所谓的系统级芯片(SoC)中一起制造的。

程序员元老之间一场很久之前的争论导致了计算机科学中两种主要理念之间的分歧:究竟是简化程序员的工作,还是简化微处理器的工作。
要想使用计算机执行任何高效的操作,操作系统及其执行的程序需要与中央处理器(CPU)以及其他硬件(如内存、存储器和网卡)进行交互。CPU 发挥着在操作系统(和上面运行的程序)与这些硬件之间进行调解的作用。为了简化程序员的工作,CPU 有一组预定义的操作和计算,称为指令集或 ISA(指令集架构)。操作系统及其执行的程序(均由程序员编写)依赖这些指令来执行低层功能,例如:

  1. CPU 与硬件(内存、存储器、网络等)之间的交互
  2. 算术函数(加法、减法等)
  3. 数据操作(二进制移位等)。

最初的 x86 CPU 拥有(并且现在仍然拥有)非常丰富的指令集。一条指令可以完成整个计算(如乘法)或将一块数据直接从内存中的一个位置移动到另一个位置。这听起来没什么大不了,但在内存中的不同位置之间进行乘法计算和移动数据确实需要在低层执行大量指令。对于 x86 计算机,这一系列复杂的操作可以在一个周期内完成。具有这种类型指令集的处理单元被称为复杂指令集计算机(CISC)。

然而,CISC 计算机中的指令如此强大,也意味着它需要更多的晶体管,从而会占用空间并消耗能量。

为了探索能效和简化 CPU 架构中指令集的方法,1980 年代初,人们发起了一系列项目。研究人员发现,在现实中,大多数计算机仅使用 CISC 计算机所提供的大量指令中的一小部分。最终,精简指令集计算机(RISC)处理器设计应运而生。RISC 处理器也有一个指令集,但其中每条指令仅代表一个能耗较低的简单操作。这就使汇编语言程序员的工作变得更加复杂,但却简化了处理器的工作。利用 RISC 处理器和先进的 RISC 计算机,可以通过运行多条指令或通过将复杂工作推给编译器(而不是 CPU 内核)来执行复杂操作。

其中离不开一些权衡与取舍。x86 CPU 往往具有非常快的计算能力,并且在编程和指令数量方面会更加清晰或简单,但它的代价,就是更大、更昂贵且具有大量晶体管的芯片。ARM 处理器对于某些类型的操作而言可能非常快,但单个指令的重复循环可能会减慢它的速度,这是因为操作更为复杂,并且定义和执行操作的更多工作被推给了编程(和程序员),而不是指令集。 

此外,鉴于以上差异,我们可能难以计算其 MIPS(每秒百万条指令,一种对计算机原始处理能力的常用度量),因为不同类型的处理器在执行同一活动时需要用到不同的指令集。

RISC 架构源自为小型计算机或微型计算机(最终成为 PC)制造性能更好、外形更小的芯片的需求。于是,这就引出了第二个基本设计问题:究竟是侧重于芯片性能(处理速度或时钟速度)还是能源消耗(功耗)。

由于 ARM 处理器集成到了 SoC 上,因此长期以来围绕的焦点就是整体资源管理,包括低能耗和更低的热量生成。例如,ARM 架构(如 ARMv8)往往没有简单的散热系统(手机上没有风扇)。而另一方面,x86 CPU 倾向于支持高端处理速度,而不是以低功耗为目标。

虽然两种 CPU 设计都具有高性能(ARM 和 x86 阵营都有速度在世界上数一数二的超级计算机),但 ARM 设计往往侧重于更小巧的外形、电池使用时间、尺寸、免除散热要求和成本(这也许是最重要的)等方面。这就是 ARM 处理器主导智能手机、平板电脑甚至树莓派系统等小型电子产品和移动设备的原因。而 x86 架构在服务器、PC 甚至笔记本电脑中更为常见,因为这些领域需要实时的速度和灵活性,并且对散热和尺寸的限制较少。

ARM 芯片在高性能计算(HPC)甚至云服务用例(如 AWS Graviton 和 Azure)中越来越受到欢迎。在这两个方面,红帽企业 Linux 都可以提供一个保障计算能力和兼容性的可靠平台,让您放心进行应用的开发、部署和优化。

从用于智能手机的安卓系统到用于树莓派的定制系统,ARM CPU 与 Linux 系统有着悠久的历史渊源。如今,世界上速度最快的超级计算机之一也在使用红帽企业 Linux 和 ARM 架构(红帽助力 Fugaku 超算系统)。

与 x86 CPU 不同,每个 ARM 设计所对应的硬件都是独一无二的。在这方面,广泛基础的开源社区正好可以派上用场。红帽企业 Linux 拥有一个由数百家硬件供应商组成的大型生态系统,这些供应商都经过检验和认证,其中包括 ARM 硬件制造商和设计团队。红帽与我们的 ARM 合作伙伴之间达成了抢先体验计划,可便于客户试用协作,体验新的 ARM 技术。

除此之外,红帽企业 Linux 的强大也体现在它跨不同环境(从到服务器,再到边缘)的出色性能上。出色的技术、强大的生态系统与始终如一的稳定性珠联璧合,使企业能够在任何 IT 领域实现创新和灵活应变。

继续阅读

文章

什么是 Linux?

Linux 是一个开源操作系统,它由内核(操作系统的基本组件)以及与之捆绑在一起的工具、应用和服务组成。

文章

什么是 SELinux?

安全增强型 Linux(SELinux)是一种采用安全架构的 Linux® 系统,它能够让管理员更好地管控哪些人可以访问系统。

文章

什么是 Linux 内核?

Linux 内核是 Linux 操作系统(OS)的主要组件,也是计算机硬件与其进程之间的核心接口。

详细了解 Linux

产品

多面全能、成熟稳定的技术平台,能帮您轻松部署新型应用、虚拟化环境和创建更为安全的混合云。

相关资源