ARTICLE · 1113095
明明是Intel电脑,下载软件为什么要选AMD64
QUOTE
Intel 标明的是硬件由谁制造,amd64 标明的是软件按照哪套规范来运行。两者在这个生态里早已合流。

前阵子我要装个软件,打开官网下载页,一排按钮摆在那儿,x86、amd64、arm64。我的电脑用的是 Intel 芯片,这个我很确定。
但是,给 Intel 电脑装软件,页面为什么让我选 AMD64?我是不是点错网页了?
我盯着那个下载按钮犹豫了半天,查完资料才彻底搞清楚。很多人刚接触时也经常被它绕晕。
本文看点
01
快速选择速查
02
路线世纪博弈
03
避开二层陷阱
01
QUICK GUIDE
快速选择参考
着急下载的朋友,直接对照下面这几条规则选就可以:
普通 64 位 PC(Intel 或 AMD)
遇到 amd64、x64 或 x86_64,选哪一个都对,它们是对同一个平台的不同叫法。
苹果 Mac 电脑(M 系列芯片)
选 arm64 或 Apple Silicon版本。若页面提供 Universal 通用版本,优先选通用版。
老旧 32 位系统
选 x86、i386 或 386。
避坑提醒:看到 ia64 坚决别点。那是当年面向特定大型服务器的安腾架构,跟现在的个人电脑完全不同,普通电脑根本跑不起来。
02
NAMING LOGIC
为什么下载页的名字看着像一团乱麻
amd64 里面的 AMD,只用来记录这套 64 位扩展方案最早是由谁设计出来的,跟你电脑里插着谁家的处理器没有关系。
下载页容易让人头疼,是因为不同层面的信息被排在了同一行里:
你问的是「这块 CPU 谁生产的」,按钮回答的是「这段程序要给哪个平台来执行」。两个问题排在一块,第一眼看过去确实容易混淆。
03
HISTORY OF X86
x86 和 32 位是怎么来的
要想弄明白为什么留下了 AMD 的名字,得先回头看看 x86 走过的路。
1978 年,Intel 发布了 8086 处理器。后来推出的 80186、80286、80386、80486,型号末尾都带有一个 86。大家为了称呼方便,顺口把这批互相兼容的芯片统称为 x86。
1981 年,IBM PC 选用了 Intel 8088 芯片。随着个人电脑快速普及,这套架构连接了海量的操作系统、软件和外围设备。
1985 年,Intel 推出 80386,把 x86 带入了 32 位时代,也就是官方常说的 IA-32。32 位地址总线能直接寻址的内存上限约为 4 GiB。在当年这看起来是个天文数字,但随着后来服务器和大型数据库的膨胀,这道上限成了必须跨过去的门槛。
同时,各大软件下载站习惯用单独的 x86 来指代 32 位程序。同一个词,在计算机历史里能代表整个家族,到了下载按钮上却常常用来单指 32 位版本。
04
THE 64-BIT SHIFT
64 位时代的十字路口
到了 20 世纪 90 年代末,处理器的寻址空间必须向 64 位迈进。当时行业的真正分歧,在于如何对待已有的软件生态。
Intel 和惠普选择另起炉灶,联手研发了全新的 64 位架构 IA-64,后来定名为 Itanium 安腾。IA-64 针对高端服务器和专业工作站,虽然它设计了运行 32 位旧程序的转换层,但原生性能需要操作系统、硬件驱动和业务软件统统重写并重新编译。对于已经积累了多年 x86 资产的企业来说,全盘推倒重来的成本太高了。
AMD 选择了另一条道路。1999 年 10 月,AMD 公布了 x86-64方案。它的做法是在原有 32 位 x86 基础上直接扩充出 64 位工作模式,原有的 16 位和 32 位程序依然能在兼容模式下原生运行,不用重新编译。2003 年,AMD 先后发布面向服务器的 Opteron 和面向个人电脑的 Athlon 64。
「IA-64 想要大家陪它一起搬进一座全新建造的大楼,AMD64 则是在现有的房子上直接加盖了一层。」
企业可以先换上支持 64 位的新硬件,原先的业务系统照常跑,等系统和应用准备妥当后再按部就班完成迁移。
Windows NT 的核心架构师 David Cutler 后来回忆过,AMD 方案让新旧代码都能走硬件的原生处理通路,这直接坚定了微软为它开发 64 位 Windows 操作系统的决心。
面对市场的选择,Intel 在 2004 年也公开确认代号 Nocona 的 Xeon 处理器将支持 64 位扩展。这套方案在 Intel 内部早期被称为 EM64T,后来正式定名为 Intel 64。
微软在技术文档里把 AMD64 和 Intel 64 统称为 x64,并说明两者的指令集几乎相同。由于两家在扩展指令和识别特征上仍保留了细微差异,高性能专业软件有时会针对具体芯片做优化。不过对通用软件而言,它们都能在同一个 amd64 安装包下平稳运行。
05
ECOSYSTEM FOSSIL
为什么 AMD 的名字成了生态里的化石
既然 Intel 后来也跟进了,为什么不把名字全部统一改成中性的词汇?
因为在 Intel 推出兼容产品之前,整个软件世界已经开始围绕 AMD64 建立生态了:
Debian 社区
把这个平台的软件端口直接命名为 amd64。
Windows 可执行规范
在 PE 文件头里,机器类型常量被固定为 IMAGE_FILE_MACHINE_AMD64。
系统环境变量
在 Windows 命令行查看 PROCESSOR_ARCHITECTURE,哪怕插着 Intel 芯片,返回的依然是 AMD64。微软明确说明,这由平台架构规范决定,绝不会跟随商业商标而变动。
再加上 Go 语言中的 GOARCH=amd64、Docker 中的 linux/amd64,很多规范已经深深写进了底层库、代码常量、包管理器和构建工具中。
强行改名会给全世界的开发工具带来巨大的维护成本,保留原名是代价最小的方案。一个硬件厂商的名字,就这样成了计算机生态里不可磨灭的印记。
06
OS CHECK GUIDE
各个系统该怎么看
弄明白了原理,在不同电脑上找准对应版本就很简单了:
打开系统设置,进入关于页面,查看系统类型。如果写着「64 位操作系统、基于 x64 的处理器」,下载时选择 amd64、x64 或 x86_64都可以。如果写着基于 Arm 的处理器,优先选择 Arm64。
点击屏幕左上角的关于本机。如果显示 Intel 处理器,选 x86_64 或 Intel 版。如果显示 Apple M 系列芯片,选 arm64 或 Apple Silicon 版。遇到提供 Universal 版本的,系统会自动运行匹配的那部分代码,也是省心的选择。
在终端输入 uname -m。屏幕返回 x86_64 时选 amd64 或 x86_64;返回 aarch64 时选 arm64。Debian 和 Ubuntu 用户运行 dpkg --print-architecture时通常会看到 amd64。前者是内核报出的机器名,后者是发行版给软件包规定的归档名,两者指向同一个硬件环境。
07
COMPATIBILITY TRAP
选错架构为什么往往在第二步出问题
在实际使用中,选错架构有时不会立刻弹窗报错。
64 位 Windows 系统内置了 WOW64 子系统,能直接兼容运行 32 位应用。苹果系统也具备运行转译工具。这种兼容设计做得太周到,常常让人误以为随手选一个都能正常用。
核心提醒:选错架构最麻烦的地方在于它常常表面能跑,但麻烦全藏在更深一步的调用里。
32 位的程序进程无法加载 64 位的动态链接库,反过来同样行不通。有些软件主程序能打开,但调用插件或扩展组件时会突然崩溃,往往就是两边的架构混用了。
驱动程序更是无法依靠普通的用户态转译来解决。以 Arm 版 Windows 为例,基础办公软件通过模拟可以流畅运行,但诸如虚拟网卡、VPN、底层硬件调试和游戏反作弊模块,只要缺少原生的 Arm64 内核驱动,就无法正常启动。
此外在 Linux 环境下,除了看 CPU 架构,还要留意依赖的是 GNU glibc 还是 musl 运行库,选错同样会导致程序找不到依赖项。
∞
THE END
兼容承诺留下的痕迹
x86 能够繁荣四十多年,依靠的是对向下兼容的长期坚守。从 8086 到后来的 386,再到跨越 64 位的 AMD64,每一代技术的交替,都尽量避免切断旧程序的生命线。
「AMD 当年赢得漂亮的不仅是单项性能,更关键的是它给出了全行业都能平稳过渡的迁移路径。」
回到最开始的疑问。Intel 的电脑为什么能选 amd64?
因为 Intel 标明的是硬件由谁制造,amd64 标明的是软件按照哪套规范来运行。面对那个下载按钮,你完全可以放心点下去。
如果你觉得今天这篇有收获,欢迎点赞、在看、转发三连,我们下篇见。