为什么 Linux 世界使用术语 i386 而不是 x86?

Ber*_*yle 2 linux x86 cpu-architecture

我在许多与 Linux 相关的地方看到术语i386而不是x86。据我所知,它们不可互换。x86 是一系列指令集架构,其中 i386 是 x86 处理器中的一个特定处理器。但是为什么 Linux 世界使用术语 i386 而不是 x86 ?


参考文献:
x86 | 维基百科
英特尔 80386 | 维基百科

Ber*_*yle 7

i386 或 80386 是第一个 32 位处理器。当 i386 被引入时,它开始在很多地方使用,包括在操作系统和编译器中,这使得以后无法或很难更改。

即使在推出了包括 486 和 586 在内的其他高级 x86 处理器之后,许多制造商也懒得更改标签 i386 并开始使用它作为 32 位 x86 处理器的别名

  • 除了 32 位功能外,80386 还引入了许多对多任务操作系统很重要的重要功能,因此将使用这些功能的任何代码向后移植到 80286 或更旧的进程都需要进行重大更改。最初的 Pentium 和 Pentium Pro 芯片(也称为 i586 和 i686)引入了其他重要功能;例如,32 位 RHEL 6.x RPM 数据包的体系结构 ID 为“.i686.rpm”,因为它们已被编译为无条件使用 Pentium Pro 和更高版本芯片的功能,对于更早的 CPU 没有回退。 (4认同)

Aar*_*nke 5

最初的 Intel 8086、801868028616 位处理器。然而,80386 又名 i386是 x86 系列中的第一个 32 位处理器。

引用 32 位 x86 架构最符合逻辑的名称是 x86_32,因为它是 x86 架构的 32 位扩展,并且它与 x86_64 名称的风格相匹配,x86_64 是 x86 架构的 64 位扩展。

x86 这个名字是一个反义词。英特尔最初没有给他们的指令集命名。他们后来将其命名为IA-32,这加剧了混乱。在给出正式名称之前,不同的群体想出了不同的名称。

  • Microsoft 决定将 x86_32 称为x86,将 x86_64 称为x64。Microsoft 的命名就是为什么您习惯于看到 x86 指的是 32 位 x86。

  • Linux 发行版决定在第一个 32 位 x86 芯片之后将 x86_32 称为 i386,然后在来自 AMD 的第一个 x86_64 芯片之后将 x86_64 称为amd64 ,以避免与 Intel 的竞争IA-64 (Itanium) 架构混淆。

  • 苹果决定将 x86_32 称为 i386 ,类似于 Linux 发行版,然后他们将 x86_64 称为逻辑名称x86_64