一文搞懂 x86、x64、AMD64、ARM64、AArch64 的区别
前言
下载软件时经常看到 amd64.deb、aarch64.rpm、x86_64.tar.gz 这样的文件名,很多人会疑惑:这些名词到底什么关系?本文用一条主线串起这段 CPU 架构的发展史。
一、x86:一切的开端
x86 泛指 Intel 开发的一系列 32 位处理器架构。这个名字源于 Intel 早期的 CPU 命名惯例:
8086 → 80186 → 80286 → 80386 → 80486
因为数字不能被注册为商标,Intel 从第五代开始改用 “Pentium” 命名,但 “x86” 作为架构代称一直沿用至今。Intel 官方文档称其为 IA-32(Intel Architecture 32-bit)。
本质:CISC(复杂指令集)架构,32 位,拥有 8 个 32 位通用寄存器:eax、ebx、ecx、edx、ebp、esp、esi、edi。
二、64 位时代的岔路口
当 CPU 开始迈向 64 位时,业界面临两个选择:
| 路线 | 做法 | 代表 |
|---|---|---|
| 向下兼容 x86 | 在 x86 基础上扩展 64 位指令 | AMD64 |
| 推倒重来 | 全新设计,不兼容 x86 | IA-64(Itanium 安腾) |
AMD 抢跑:AMD64
AMD 率先制造出了兼容 x86 的 64 位商用 CPU,命名为 AMD64,抢占了 64 位 PC 市场的先发优势。
Intel 的弯路:IA-64
Intel 选择了另一条路——完全重新设计的 IA-64 架构(即 Itanium 安腾系列)。结果十分惨淡:
- 全新指令集意味着没有现成的编译器支持
- 微软承诺推出安腾版 Windows Server,但迟迟未能交付
- 软件生态几乎为零,市场遇冷
Intel 妥协:x86_64
最终 Intel 不得不转向兼容 AMD64 的路线,但为了不承认这是 AMD 设计的,换了个名字叫 x86_64,字面意思就是 “x86 指令集的 64 位扩展”。
三、一句话总结关系
x86_64、x64、AMD64 本质上是同一个东西。
| 名词 | 来源 | 使用场景 |
|---|---|---|
AMD64 | AMD 命名 | Linux 包管理器(如 amd64.deb) |
x86_64 | Intel 命名 | 系统信息(uname -m 输出) |
x64 | 微软命名 | Windows 系统(“64 位” 的简称) |
我们日常使用的 Intel / AMD 桌面级 CPU 全部属于 x86_64 架构。与之并列的是 ARM(移动端 / Apple Silicon)、PPC(PowerPC,已边缘化)等完全不同指令集的架构。
四、x86 vs x86_64 的核心差异
寄存器
| 特性 | x86(32 位) | x86_64(64 位) |
|---|---|---|
| 通用寄存器数量 | 8 个(eax, ebx, ecx, edx, ebp, esp, esi, edi) | 16 个(增加 r8 ~ r15) |
| 寄存器宽度 | 32 位 | 64 位 |
| 命名前缀 | e(extended) | r(register) |
内存寻址
| x86 | x86_64 | |
|---|---|---|
| 理论寻址空间 | 4 GB | 16 EB(约 1600 万 TB) |
| 实际支持上限 | 4 GB(PAE 可扩展) | 通常 128 GB ~ 数 TB |
MMX / SSE 寄存器
64 位架构下 MMX 和 SSE 寄存器的位数、数量也一并扩展,浮点运算性能大幅提升。
五、ARM 阵营:ARM64 / AArch64
ARM 公司
ARM 不同于 Intel / AMD,它不直接生产芯片,而是将架构设计授权给其他厂商(高通、苹果、联发科等)。ARM 采用 RISC(精简指令集)设计,以低功耗著称,统治了移动端市场。
命名关系
| 名词 | 含义 |
|---|---|
ARM64 | 非正式通俗叫法,指 ARM 的 64 位架构 |
AArch64 | ARM 官方术语,ARM Architecture 64-bit |
aarch64 | Linux 系统中 uname -m 的输出值 |
ARM64和AArch64是同一个东西的不同叫法,就像AMD64和x86_64一样。
六、公司背景速览
| 公司 | 角色 | 架构 |
|---|---|---|
| Intel | x86 开创者,全球最大 CPU 厂商 | x86 / x86_64(IA-32 / Intel 64) |
| AMD | Intel 主要竞争对手,x86_64 的发明者 | AMD64 |
| ARM | 授权型架构设计商,不生产芯片 | ARM / AArch64 |
AMD 中文名超威半导体,除 CPU 外也是除 NVIDIA 以外仅有的独立 GPU 供应商。
七、实战:如何查看当前系统架构
# 查看 CPU 架构
uname -m
常见输出与含义对照:
| 输出 | 含义 |
|---|---|
x86_64 | 64 位 x86(Intel / AMD 桌面 CPU) |
aarch64 | 64 位 ARM(Apple Silicon / 树莓派 4+ / 云服务器) |
armv7l | 32 位 ARM(旧树莓派 / 嵌入式设备) |
i686 / i386 | 32 位 x86(老旧 PC) |
# 查看 CPU 详细信息
cat /proc/cpuinfo | grep -E "model name|Architecture"
# 或
lscpu
总结
桌面/服务器主流: x86 → x86_64(AMD64、x64)
移动/嵌入式主流: ARM → AArch64(ARM64)
历史遗留/淘汰: IA-64(Itanium 安腾)、PPC(PowerPC)
记住这个脉络,下载软件包时就能一眼判断该用哪个架构版本了。
附录:CentOS 各版本官方下载地址
不同的 CentOS 版本提供了针对
x86_64和aarch64等架构的独立 ISO 镜像,下载时需根据你的 CPU 架构选择对应文件。
| 版本 | 状态 | 官方下载地址 | 可用架构 |
|---|---|---|---|
| CentOS Stream 9 | 滚动开发版 | https://www.centos.org/centos-stream/ | x86_64 / aarch64 / ppc64le |
| CentOS Stream 8 | 滚动开发版 | https://www.centos.org/centos-stream/ | x86_64 / aarch64 / ppc64le |
| CentOS Linux 8 | EOL(2021.12) | 已从官网移除 | — |
| CentOS Linux 7 | EOL(2024.06) | 存档:http://vault.centos.org/7.9.2009/ | x86_64 为主 |
| CentOS Linux 6 | EOL(2020.11) | 存档:http://vault.centos.org/6.10/ | x86_64 / i386 |
如何选择架构版本?
下载 ISO 时文件名中的架构标识:
| 文件名后缀 | 对应架构 | 适用的 CPU |
|---|---|---|
x86_64 或 amd64 | 64 位 x86 | Intel / AMD 桌面及服务器 CPU |
aarch64 或 arm64 | 64 位 ARM | 树莓派 4+、AWS Graviton、Apple Silicon 虚拟机 |
i386 或 i686 | 32 位 x86 | 老旧 PC(不推荐) |
ppc64le | 64 位 PowerPC | IBM POWER 服务器 |
下载说明
- 绝大多数服务器选
x86_64(即amd64)版本 - 云服务器(如 AWS Graviton)选
aarch64版本 - 国内推荐使用镜像站加速下载
国内镜像站(以 CentOS 7 x86_64 为例)
- 阿里云:https://mirrors.aliyun.com/centos/7/isos/x86_64/
- 清华:https://mirrors.tuna.tsinghua.edu.cn/centos/7/isos/x86_64/
- 中科大:https://mirrors.ustc.edu.cn/centos/7/isos/x86_64/
重要提醒
- CentOS 7 / 8 均已停止维护,新部署请使用 CentOS Stream 9 或转向 Rocky Linux / AlmaLinux 等 RHEL 替代发行版
- 下载前先用
uname -m确认当前系统架构,避免下错版本