为什么 32 位称为 x86 而不是 x32?
为什么 32 位称为 x86 而不是 x32?
32 位不叫 x86。
有数十种 32 位架构,例如 MIPS、ARM、PowerPC、SPARC,这些都没有被调用x86
。
x86 是一个术语,指的是任何源自英特尔 8086 处理器指令集的指令集。它的后继者分别命名为 80186、80286、80386 和 80486,它们都与最初的 8086 处理器兼容,能够执行为其编写的代码。后来,英特尔也发布了与 8086 兼容的处理器,例如奔腾、赛扬、酷睿和至强,但 x86 这一名称已经稳定下来,涵盖所有基于该指令集系列的处理器。
其中,8086、80186、80286是16位处理器。80386是32位处理器,新增了32位操作模式,但除了保留原有的16位模式外,还增加了第三种模式——“虚拟86”模式,允许在32位操作系统下运行16位程序。
后来,x86 的 64 位扩展,即 x86-64,在 AMD K8 以及后来的英特尔处理器中得到开发和实现。这些基于 x86-64 架构的 64 位处理器也被称为 x86 处理器。
你为什么会问这个问题,答案是
您可能已经看到一些 Windows 软件包的“x86”和“x64”名称。
现代 Windows 基于 Windows NT。Windows NT 从未支持过 16 位 x86 处理器,它最初可以在 32 位 x86(例如 386、486、奔腾等)以及 MIPS、PowerPC 和 Alpha 处理器上运行。MIPS、PowerPC 和 386 都是 32 位架构,而 Alpha 是 64 位架构。
为了区分为这些不同指令集编译的 Windows,必须为架构使用一些简短而精确的名称。这些名称也用于许多脚本、构建系统等,因此一旦选定,就无法更改,否则会造成大量破坏。“x86”完美地标识了 32 位 x86 版本的 Windows NT。任何包含数字 32 的命名都没有任何意义,因为 Windows NT 支持三种不同的 32 位架构。
后来还添加了对 itanium(IA64)的支持,并放弃了对 MIPS、PowerPC 和 MIPS 的支持。
那么,正确的问题是:为什么64位的x86被称为x64?
十多年后,当 x86 指令集的 64 位扩展发布时,微软开始将后来的 NT 衍生 Windows 移植到该指令集,必须为针对该架构编译的版本选择一些官方技术名称。x86 的 64 位扩展的规范最初来自 AMD,因此有人称之为“amd64”,而“intel64”指的是 Itanium。但微软不想在他们为该架构选择的名称中包含任何公司的名称,而且后来使用的“x86-64”作为该架构的通用名称尚未稳定,“X86-64”名称上的破折号在出现架构名称的某些地方可能会出现问题,必须通过某些代码进行解析。因此,他们选择了“x64”作为 x86 的 64 位版本。
甚至后来,Windows 放弃了对 Itanium 架构的支持,并添加了对 32 位和 64 位 ARM 架构的支持。64 位 ARMv8 通常被称为 A64 或 Aarch64,我不确定 Windows 中它的官方技术名称到底是哪一个。
因此现在,Windows 支持四种架构:386(“x86”)、x86-64(“x64”)、32 位 ARMv7 和 64 位 ARMv8。
因此,“x64”目前仅表示 Windows 当前支持的这两种 64 位架构之一。
来自 Quora 问题:https://www.quora.com/Why-is-32-bit-called-x86-and-not-x32
鏂囩珷鏉ユ簮锛�https://dev.to/alphaolomi/why-is-32-bit-known-x86-and-not-x32-46ae