为什么 64 位版本称为 AMD64 而 32 位版本称为 i386?

为什么 64 位版本称为 AMD64 而 32 位版本称为 i386?

我一直不明白这一点。

我知道的是:如果你想处理超过 2 GB 的 RAM,你需要 64 位操作系统。否则,32 位操作系统就足够了。

因此,在 Ubuntu 主页上,您可以下载 64 位或 32 位版本。但 64 位版本称为 ,amd64而 32 位版本称为i386

所以我必须有一个 AMD 处理器amd64和一个 Intel 处理器来运行i386

如果有人编写软件(比如 Apache),他是否必须为 32 位和 64 位分别编写一个?某些软件是否只适用于 32 位,而没有 64 位,反之亦然?

答案1

64 位版本通常称为“amd64”,因为 AMD 开发了 64 位指令扩展。(当英特尔开发 Itanium 时,AMD 将 x86 架构扩展为 64 位,但英特尔后来采用了相同的指令。)

32 位版本称为 i386,因为 Intel 发明了这些芯片上使用的 32 位指令集。

您可以在几乎任何支持 64 位的 x86 兼容芯片上运行 64 位版本,在任何现代 x86 兼容芯片上运行 32 位版本。

根据您编写软件的方式,可能需要或不需要为 64 位重写软件。(通常,编译型软件需要更改,但并非所有解释型软件(例如 Python 或 Perl)都需要更改。)

答案2

我在回复中解释了这些名字的由来你类似的问题几分钟前。

答案3

AMD 推出了 64 位 ISA,因此它被称为 AMD64。英特尔有自己的版本 EM64T,它与大多数产品兼容。同样,英特尔首先在其 i80386(简称为 i386)上推出了 32 位 ISA。AMD 很久以前就从他们那里获得了许可。

相关内容