![在两台 amd 32 位笔记本电脑上成功安装了 11.04 64 位--这是怎么可能的?& i386 和 amd64 之间有什么区别?](https://linux22.com/image/1093085/%E5%9C%A8%E4%B8%A4%E5%8F%B0%20amd%2032%20%E4%BD%8D%E7%AC%94%E8%AE%B0%E6%9C%AC%E7%94%B5%E8%84%91%E4%B8%8A%E6%88%90%E5%8A%9F%E5%AE%89%E8%A3%85%E4%BA%86%2011.04%2064%20%E4%BD%8D--%E8%BF%99%E6%98%AF%E6%80%8E%E4%B9%88%E5%8F%AF%E8%83%BD%E7%9A%84%EF%BC%9F%26%20i386%20%E5%92%8C%20amd64%20%E4%B9%8B%E9%97%B4%E6%9C%89%E4%BB%80%E4%B9%88%E5%8C%BA%E5%88%AB%EF%BC%9F.png)
正如标题所示,我无法完全理解它是如何完美运行的。据我所知,32 位操作系统可以在 32 位和 64 位处理器上运行,但 64 位操作系统只能在 64 位处理器上运行。那么它怎么可能工作呢?我还注意到,从 Ubuntu 网站下载 ISO 时,64 位版本的名称中有一些“amd64”,而 32 位版本的名称中有一些“i386”。“i”代表英特尔吗?
答案1
简短回答:您的笔记本电脑有 64 位 CPU。
当我们谈论 64 位时,我们谈论的是x86-64
。这是 AMD 开发的 的扩展i686
。此后,他们将其重命名为,从那时起又出现了amd64
十亿个名称(包括:x64
、IA-32e
和)......但它们都意味着同一件事。(侧边栏:完全不同,与 关系不大)Intel 64
IA-64
x86
重复:x86-64
是扩展。它具有i686
CPU 所具有的所有 CPU 寄存器,但还带有额外的寄存器。CPUi686
具有i586
CPU 所具有的所有寄存器,还带有额外的寄存器。同样重复到i386
。这种寄存器/指令“超级设置”的目的是为了保持完全向后兼容。
用 Geekish 的话说,64 位 CPU 可以运行 32 位 CPU 可以运行的所有功能。我怀疑这就是你遇到的情况,也是你产生困惑的地方。我怀疑你之前在笔记本电脑上安装过 32 位操作系统。64 位 CPU 完全有能力做到这一点。
但是 32 位 CPU 无法运行 64 位代码。它们既没有词汇表,也没有能力运行 64 位编译的命令。
因此,为了让你的笔记本电脑运行x86-64
编译的软件,它们需要成为x86-64
CPU。否则它就无法工作。
如果您不同意,请编辑您的问题以包含笔记本电脑的品牌和型号,我会确认硬件规格......
正如您所猜测的,它i386
代表“Intel 80386”。
答案2
i 确实代表 Intel,而 386 代表早已过时的 Intel 80386 CPU。此标签指的是 Intel 用于其 386 及以后的 CPU 系列的指令集。AMD 设计了自己的 CPU 来运行 Intel 386 指令集。这就是为什么 Windows 和 Linux 操作系统可以在 Intel 和 AMD CPU 上运行的原因。我们不需要为 Intel 和 AMD 提供特殊版本。
另一方面,AMD 率先开发了 i386 指令集,以充分利用 64 位 CPU 的功能,而英特尔不得不效仿 AMD。这就是为什么 64 位操作系统的名称之一是 amd64。这并不意味着我们需要一个适用于 AMD CPU 的操作系统版本和一个适用于 Intel CPU 的操作系统版本。
这也解释了为什么 32 位操作系统可以在 64 位 AMD 和 Intel CPU 上运行。64 位操作系统是 32 位操作系统的改进版,设计时考虑到了向后兼容性。绝对不能反过来。
问候。
答案3
首先,要拥有一台 32 位 AMD 笔记本电脑,它必须配备Athlon XP-M CPU,这意味着它必须是6-9岁. 任何较新的 Athlon 移动 CPU,例如遠龍是 64 位(向后兼容 32 位,因此它们可以运行 64 位和 32 位代码)。
i386是指英特尔建筑学,也称为x86.它是 32 位架构。
amd64表示 64 位扩展x86架构,最初由 AMD 创建。它之前被称为x86-64,但后来 AMD64 和 Intel 64 出现了一些分歧,AMD 重新命名了它。Intel 仍使用这个名字x86-64。
答案4
最有可能的情况是,你不知道,但你的计算机支持 64 位架构,看看它是否在终端中真实输入:
cat /proc/cpuinfo
然后查看“flags”输出,如果有一个名为lm
(即长模式)的条目,则表示您的 CPU 为 64 位,如果没有,则表示它是 32 位。希望对您有所帮助!