x86

早期,1980s 年代,x86 一般指当时的处理器 8088 和 80286,不过这两个处理器都是 16 位的。如今,x86 通常指 32 位指令集架构的处理器,比如 80386。80386 处理器是 intel 在 1985 年实现的第一款 32 位指令集架构的处理器,又叫 i386,Intel Architecture, 32-bit,缩写为 IA-32,现在,IA-32 一般又能引喻成所有的支持 32 位计算的 x86 架构。

按照发展历史看,x86 应该是指令集概念,一般用于个人 PC 系统如 8086,286,386。IA-32 是 intel 首推的 32 位架构。

因为 Intel 后续几款处理器的名字都以 “86” 作为结尾,比如 80186,80286,80386 等,所以该指令集架构被称为 x86 架构。同时,i386 通常用来表示 32 位 x86 架构,x86_64 表示 64 位 x86 架构。

IA-32

IA-32 为 Intel Architecture 32bit 简称,即英特尔 32 位体系架构,在英特尔公司 1985 年推出的 80386 微处理器中首先采用。通常也被称为 i386、x86-32、x86 等。

AMD64/Intel64/x86-64/x64

在 1999 年,AMD 公司首先在 IA-32 基础上,增加了 64 位寄存器,兼容早期的 16 位和 32 位软件系统,推出了 x86-64 的 64 位微处理器,后来命名为 AMD64,实现了超车。然后 intel 公司也接受了该方案,叫做 Intel64。x86-64 应该只算是 x86 指令集的 64 位扩展,并不是一种全新的 64 位架构。

AMD64 是由 AMD 推出兼容 32 位的 64 位指令集基于 IA-32 的扩展,Intel 后来也采用该架构,在其文档中称为 Intel64。同时,该架构后续被业界又统称为 x86-64 或者 x64,直指基于 64 位架构的处理器。

x86-64 有时会简称为 “x64”,是 64 位微处理器架构及其相应指令集的一种,也是 Intel x86 架构的延伸产品。
“x86-64”1999 由 AMD 设计,AMD 首次公开 64 位集以扩充给 IA-32,称为 x86-64(后来改名为 AMD64)。 AMD64 架构在 IA-32 上新增了 64 位寄存器,并兼容早期的 16 位和 32 位软件,可使现有以 x86 为对象的编译器容易转为 AMD64 版本。

由于 AMD64 和 Intel64 基本上一致,很多软硬件产品都使用一种不倾向任何一方的词汇来表明它们对两种架构的同时兼容。出于这个目的,AMD 对这种 CPU 架构的原始称呼 - “x86-64” 被不时地使用,还有变体 “x86_64”。其他公司如微软和 Sun 在营销资料中使用 “x64” 作为对 “x86-64” 的缩写。

IA-64

IA-64 是 Intel 推出的用于 Itanium 处理器(安腾处理器)的自己的 Intel Architecture 64 位指令集,一般用于服务器。

尽管 Intel64 也是 64 位处理器,但这两者完全不是一回事,IA64 并不属于 x86 架构家族,不能像 x86-64 一样兼容 x86-32,导致 IA-64 软件不能直接运行于 Intel64 处理器上。

x86-64 是 IA-32 指令集的扩展,而 IA-64 则是完完全全没有一点 IA-32 影子的独立处理器架构。IA-64 需要通过模拟器才能运行 IA-32,但是性能大大受影响。

AMD64 vs. IA-64

如何区分 AMD64 和 IA-64?

市面上常见的 Intel 64-bit 的 CPU 其实都属于 AMD64 分类,Intel64 和 AMD64 其实都叫做 x86_64,即基于 x84 的 64 位指令集处理器。
IA64 则指 Itaniums 系统 CPU,并不是 x86 架构的,一般都是用于服务器,不是个人桌面产品,价格昂贵。

ARM64/AArch64

ARM 是精简指令集 RISC 下的处理器架构。ARMv3 至 ARMv7 支持 32 位寻址空间。ARMv8-A 开始支持 64 位寻址空间。

AArch64 和 ARM64 都是指 64 位的 ARM 架构。

系列进程

Intel 时代
8008 -> 80386 -> 80486 -> 奔腾系列 -> 酷睿系列 -> Xeon 系列;

AMD 时代
32 位跟随 Intel,率先推出桌面级的 x86_64;

Intel64 位时代
本来希望创新,全新安腾架构,后跟随 AMD64 推出 x86_64 架构。

表达公式

x86 = i386 = IA32;
AMD64 = Intel64 = x86_64 = x64 != IA64;
x86 的世界里只存在 x86/x86_64/IA64 三种架构。


友情提示:本站所有文章,如无特殊说明或标注,均为何星星原创发布。与此同时,趋于近年来本站的文章内容频繁被他站盗用与机器采集,现已全局禁用网站文字内容操作,了解详情或转载文章请 点此 继续!

0 条评论

发表回复

Avatar placeholder

您的电子邮箱地址不会被公开。 必填项已用 * 标注