X86 如今在 PC 领域通俗地用作 32 位处理器的同义词。 同样,x64 用于表示 PC/wintel 领域中的 64 位处理器。
但 32 位绝对不等于 x86(64 位和 x64 也是如此),因为它们是非常不同的东西。
让我们回到过去:1978年,英特尔发布了8086微处理器。 它是一款可处理 1MB 内存的 16 位处理器,旨在对抗 Zilog Z80 以及摩托罗拉和国家半导体等公司即将推出的 16 位和 32 位处理器的威胁。 英特尔自己的 32 位处理器项目英特尔 iAPX 432 已被推迟到 1981 年,该公司希望在该芯片最终确定之前采取权宜之计。
8086 是“X86”处理器系列中的第一个处理器。 更准确地说,它是第一个使用 x86 指令集架构的处理器:ISA 定义了处理器可以执行哪些指令、如何使用它们(语义)以及它们的编码。
Intel 将发布 8086 的成本降低版本,称为 8088,它显着地将数据总线的大小从 16 位宽减少到 8 位宽,从而减少了内存的带宽量。 8088 提供了 8086 的大部分性能(它仍然是 16 位处理器),随后被用于 IBM PC model 5150(简称“IBM PC”),该型号为 80 年代和 90 年代的台式 PC 设定了标准 ,基本上迫使 Intel 保持 x86 ISA 的活力。
从 8086 开始,我们得到了 80186、80286,直到 1985 年我们得到了 80386。386 是 x86 系列中第一个 32 位宽的处理器。 多年来推出了新的 32 位 x86 设计,例如最初的 Pentium,但在 2003 年 AMD(另一家 x86 处理器制造商)发布了 Opteron 和 Athlon 64 处理器系列。 这些基本上仍然是 x86 处理器,但 AMD 对其进行了扩展以支持 64 位执行。 新的扩展x86被称为x86-64,简称AMD64。 此扩展后来被 Intel 在后来的 Pentium 4 设计(尽管仍处于禁用状态)和原始 core 2 系列(例如 core 2 duo 和 core 2 四线)中采用。 至今仍在使用。
就命名法而言,我们遇到了一些问题:x86 系列由 16 位、32 位和 64 位处理器组成。 虽然正式名称为 x86-64,但该扩展版本很快就被称为 x64。
为了区分 16 位和 32 位 x86 版本,16 位设计将(至少通俗地)称为 x86-16,而 32 位设计则简称为“x86”。
这与 32 位架构和 x86 之间更深层次的技术联系无关,只是为了简单起见,32 位 Intel 和 AMD 设计被称为 x86。
Windows 也负有部分责任:64 位 Windows 实际上将本机 64 位程序与传统 32 位程序分开。 64 位软件安装到名为“Program Files”的文件夹中,而旧的 32 位软件安装到名为“Program Files (x86)”的文件夹中。 虽然在这种特定情况下并没有错误,但它似乎暗示 32 位架构 = x86,这根本不是事实。