应该为架构 EM64T®、x86-64、ia32、IA64、Intel®64、x86、amd64、amd32 和 Mach64 安装哪些软件包?
答案1
实际上,在现代 Windows 和 GNU/Linux 上,以下内容是无法区分的(这意味着,如果您的系统声称至少支持其中之一,则相同的软件将在这些上运行):
- EM64T
- x86-64
- 英特尔 64
- amd64
这些也一样:
- ia32
- x86
- amd32
IA64 是“Itanium”,这是一种完全不同的架构,与上述任何架构都没有任何关系。
此外,所有支持第一组(amd64 等)的现代 CPU 也支持为第二组(x86 等)编译的代码,因为 64 位 CPU 可以在某种兼容模式下执行 32 位代码。
还有一个x32架构,这是软件领域的一个非常新的发展,目前仅支持 GNU/Linux,它使用32 位地址,64 位(amd64)架构。
因此,抛开所有的营销术语,就不同的软件兼容性环境而言,我们真正拥有的是:
- amd64,使用 64 位指令集,使用 64 位虚拟地址(在当前实现中实际上是 48 位);
- x86,使用32位指令集,使用32位虚拟地址;
- IA64 也称为 Itanium,仅在“Itanium”CPU 上运行(并使用 64 位虚拟地址);
- x32,使用 64 位指令集和 32 位虚拟地址(基本上是 amd64 的指令/寄存器和 x86 的内存模型)。这会导致内存使用量略有减少,但每个进程的最大内存量会降低。