x86_64、i386、ia64等术语代表什么意思?

26

我经常遇到这些术语,很困惑。它们是特定于处理器还是操作系统,还是两者都有关?

我在一台Intel i7的机器上运行Ubuntu 12.04,那么对于我的情况,哪一个适用?


x86-64与IA-64子集问题:https://dev59.com/F2ct5IYBdhLWcg3wsPd5,x86-64与i386在superuser上的区别:http://superuser.com/questions/74351/difference-between-x86-64-and-i386 - Ciro Santilli OurBigBook.com
3个回答

25

它们是处理器指令集的名称:

  • i386 是由 Intel 在386处理器上首次实现的32位指令集名称。由于PC硬件价格便宜,它变得占据主导地位。
  • x86-64 是添加到i386的AMD扩展,使其能够执行64位代码的名称。这是您所拥有的那个。它与i386高度兼容,并且将和i386处理器一样快地执行32位程序。
  • ia64 是用于Itanium处理器的指令集名称。另一个已经不再使用的64位架构。

11
"that nobody uses anymore" 这个说法有夸大成分。惠普仍然在其Integrity系列中销售基于Itanium的服务器,因此未来还会有用户。即使处于临终关怀状态也不等同于死亡和埋葬。 - user2467198

8
那些是CPU指令集。应用程序安装程序被编译为其中的某个子集。在32位(i386)和64位(x86_64和ia64)之间的差异最大。您无法在32位CPU上运行64位应用程序,但反过来通常可以。
x86_64(AMD64)CPU是桌面计算机上64位CPU中最常见的指令集。它来自于AMD,几年前他们的CPU也可以正常使用x86(32位)指令。
ia64(Itanium)来自英特尔。Itanium只能与64位一起快速工作,并且仍在工业中使用。由于其在工业中的流行,英特尔现在使用AMD的x86_64指令。
有时会在安装程序包名称中出现关键字“amd”,这就是您需要的64位英特尔CPU。
i386非常古老(奔腾时代,奔腾III有i686)。为了确定32位体系结构(桌面计算机),还使用术语x86(别名:IA-32,x86-32)。还有其他32/64位架构,如智能手机的ARM。
其他CPU指令集可以使压缩、视频编解码、虚拟化、随机生成器、安全等更快、更好。 Windows 8需要PAE、NX、SSE2(其中一些不适用于ARM CPU,因此您需要其他版本的Windows 8 RT)。

对于那些不熟悉“指令集”术语的人来说,这并不是很有帮助。 - Trillian
这意味着它是特定于处理器的。例如,我正在运行一台Intel-i7机器。现在,无论我在上面运行Windows还是Ubuntu,我的指令集都将是x86_64。我是对的吗? - hardcoder
1
是的,但不仅限于此,还有x86(32位)和更多子集。其他子集对于普通用户来说并不那么重要。 另外,你运行的操作系统也很重要。在i7上,你可以运行32位操作系统而不使用x86_64。 - Waldemar Wosiński

-1
在硬件方面,x86_64是一种处理器类型,可以很好地运行32位和64位应用程序,而ia64运行32位应用程序的速度比任何其他CPU都要慢,因为它只适用于64位应用程序。
转移到软件方面。我不确定Ubuntu是否适用,但通常情况下,64位Windows操作系统将允许您使用超过3.3GB的内存,并且利用64位硬件来更好地处理内存并运行大于2GB进程的优势。通常在32位系统上,一旦应用程序达到2GB限制,您将从应用程序中获得OutOfMemory错误。
有关完整文章,请参阅:http://en.wikipedia.org/wiki/64-bit_computing

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接