这个问题肯定被问过很多次了,但不知为何,看了大约十分钟还是不清楚
为什么有单独的64位和amd64?
这是否意味着 32 位代码无法在 64 位上运行,而只能在 amd64 上运行?
或者只是英特尔和 AMD 已经分道扬镳,64 位是针对英特尔优化的,而 AMD 是针对 AMD 优化的?
答案1
amd64
(或x86-64
,通常称为 64 位)向后兼容x86
,因此为后者编写的软件可以在前者上运行。 这个名字源于 AMD 提出它,但英特尔采用了它,并且 的软件amd64
在英特尔 CPU 上运行良好。 由于amd64
扩展了x86
,x86
无法运行为amd64
/编写的软件x86-64
。
Macbook 曾经使用 PowerPC 架构的 CPU,但早已转向amd64
/x86-64
架构。为 Mac 提供单独的映像不是因为优化,而是因为 Mac 中的 UEFI 实现导致的启动问题(请参阅Mac ISO 映像有何不同?)。
Ubuntu 为x86
(通常称为 32 位)及其后续架构amd64
/提供了三个选项x86-64
:
x86
图像amd64
图像,UEFI/BIOS 可启动。amd64
图像、BIOS 可启动(即 UEFI 系统将以传统启动模式启动它们)。