i386下载和amd64的区别?

Rob*_*Rob 197 architecture

标准的 i386 下载和 Ubuntu 11.04 的 amd64 下载有什么区别?我目前正在 amd 机器上运行 i386,我的系统是否可以使用 amd64 下载更好地工作?(我的机器运行的是 Windows 7 64 位,但在安装 Ubuntu 之前我忽略了它)。

小智 202

i386 指的是 32 位版本,amd64(或 x86_64)指的是 Intel 和 AMD 处理器的 64 位版本。

维基百科的 i386 条目:

英特尔 80386,也称为 i386,或仅 386,是英特尔于 1985 年推出的 32 位微处理器……根据上下文,这被称为 x86、IA-32 或 i386 架构。

维基百科的 x86_64 条目:

x86-64 是 x86 指令集的扩展。它支持比 x86 上可能的更大的虚拟和物理地址空间,从而允许程序员方便地处理更大的数据集......在“x86-64”名称下启动架构后,AMD 将其重命名为 AMD64... x86 -64 仍然被业内许多人用作供应商中立的术语,而其他人,特别是 Sun Microsystems(现在的 Oracle Corporation)和 Microsoft,使用 x64。

即使您有英特尔 CPU,您也应该使用 AMD64 在您的计算机上安装 64 位(它使用相同的指令集)。

我强烈推荐使用它。在大多数情况下,您不会注意到差异,但对于大型工作负载(例如视频编辑、游戏等),计算机的执行速度会更快(计算机具有计算 2+2+2=6 的能力,而不必这样做)示例中为 2+2=4+2=6)。在 Windows 世界中,32 位操作系统不会让您在计算机上使用超过 3.5 GB 的 RAM(即使您有 8 个!)。您需要使用 64 位操作系统才能充分利用所有 RAM。然而,对于 Linux,没有这样的限制(谢谢,Uri)。

无论如何,世界已经从 32 位转变为支持无法运行 64 位的旧机器。

  • 为简单起见,我省略了诸如显卡内存之类的技术细节。我的目的是说“如果你有超过 3.5-4 个演出,请使用 64 位”。 (4认同)
  • 64 位与 32 位一样可用且稳定,但在一天中特定时间的某些情况下以及行星排列发出宇宙射线时,Flash 几乎可以忽略不计。 (2认同)

Mit*_*tch 50

该架构以 AMD 命名是因为 AMD 发明了 Athlon 64。同样,32 位 i386 架构以 Intel 的 386 处理器命名,因为它是同类中的第一个,但 i386 也将适用于 AMD 处理器。所以是的,您可以使用该 ISO 映像。

来源: https : //superuser.com/questions/128482/ubuntu-amd64-vs-i386


Ron*_*mas 12

是的,您可以将 amd64 位安装到 Intel 64 位处理器。AMD 发明了 x86-64 位指令集处理器,所以这个名字只是对 AMD 的致敬。

  • 感谢您澄清此事。我知道这是一个简单的问题,但我无法在任何地方找到答案。 (3认同)

War*_*ill 11

之间的差AMD64I386AMD6464位,而I38632位。这是内核中可用寄存器的宽度(以位为单位)。

基本上32位CPU内核一次最多可以处理42.9亿多一点,而64位CPU内核最多​​可以处理184.4亿多一点。

现代 PC 中的内核能够作为 64 位或 32 位处理器运行,具体取决于您安装的操作系统版本。

64 位代码往往比 32 位代码运行得更快,要么是因为它可以处理更大的数字,要么是因为 64 位内核有更多的寄存器,所以可以存储更多的东西,而无需将东西放在外部存储器中。但是,如果未编写代码以利用处理器的额外功能,则无法保证 64 位代码会运行得更快。

在 32 位系统上编译将产生与 64 位系统不同的代码。您可以通过在两个系统上编译为汇编代码来证明这一点。假设你的 C 文件是myfile.cgcc -S myfile.c在两个系统上尝试并比较myfile.s

为 32 位系统编写好的代码应该可以在 64 位系统上编译和运行,但并非所有代码都编写得很好。许多程序员对系统做出可能不正确的假设:例如寄存器宽度或字节顺序。

如果无法访问您的源代码,就很难看出问题是什么,但 asegmenation fault表示已尝试访问不属于该程序的内存。例如,这可能表明mem_ptr是一个 32 位指针,它在 32 位系统上很好,但在 64 位系统上需要是 64 位指针。


rev*_*dj1 6

是的,您可以使用该 .ISO。amd64 指的是架构。AMD 是第一个创建 64 位 CPU 的人,所以我相信它当时被命名为这个,并且这个名字被保留了下来。看起来有点混乱,但 amd64 只是意味着 64 位。

  • 他们不是第一个创建 64 位 CPU 的人。Intel 之前有一个,但它不向后兼容,所以没有被广泛采用。amd64 这个名字是为了将 AMD 的架构与英特尔的 IA64 区分开来,后者现已停产。 (11认同)