Ubuntu 中的“i686”是什​​么意思?

Ubuntu 中的“i686”是什​​么意思?

要检查我使用的是 32 位还是 64 位 Ubuntu。我查看了如何检查我的操作系统是 32 位还是 64 位?并找到了这个答案uname -a。 如果显示为 i386,则为 32 位;如果显示为 amd64,则为 64 位,但我得到了以下结果:

Linux mukund-ThinkPad-Edge-E431 3.8.0-35-generic #50-Ubuntu SMP Tue Dec 3 01:25:33 UTC 2013 i686 i686 i686 GNU/Linux

这是什么 i686?是 32 位还是 64 位?我认为是 32 位,因为我安装的所有 Debian 软件包都是 32 位的,所以有人能详细解释一下吗?

答案1

i686 表示您正在使用32 bit操作系统。

进入终端并输入。

uname -a

如果您的结果与下面的类似,那么您的是 64 位;否则,它是 32 位。

Linux ubuntu-tm 2.6.35-28-generic #49-Ubuntu SMP Tue Mar 1 14:39:03 UTC 2011 x86_64 GNU/Linux

如果你有x86_64那么你的机器就是 64 位的。

如果您的结果与此类似,则您拥有 32 位。

Linux Server 2.6.15-23-386 #1 SMP Tue Mar 1 13:49:40 UTC 2011 i686 GNU/Linux

注意i686在代码中,这意味着您的机器是 32 位的。

更新:

在终端中输入以下内容;

uname -m

它会给你x86_64,即 64 位,或者其他 32 位。

礼貌: https://superuser.com/a/260999/130574 (这是该答案的副本)

也称为P6 microarchitecture,它是第六代英特尔 x86 微架构,由 1995 年 11 月推出的奔腾 Pro 微处理器实现。i686 代码旨在在与 32 位英特尔 x86 平台兼容的处理器上执行,其中包括所有英特尔 32 位 x86 处理器,直至奔腾 4 等,以及 AMD 和其他生产兼容 32 位芯片的供应商的处理器。

礼貌:维基百科和这个关联

简而言之:

它只是意味着您正在运行支持与i686处理器架构兼容的代码的 32 位内核。

注意:

这并不意味着您的系统只能运行 32 位内核,它只是意味着您当前正在运行基于 32 位内核的操作系统。

答案2

i686是英特尔 P6 微架构的简称,与 Pentium Pro 一起推出1

简而言之,它是 32 位架构。8086 和 80286 甚至是 16 位处理器。80386 是第一款 32 位 Intel 处理器(保护模式工作,除了真实模式)80586 是著名的奔腾™

i686 广泛用于描述 32 位 P6 处理器架构,该架构与 Pentium Pro/II 兼容并具有其指令集。例如,AMD K7(Duron™ 和 Athlon™)就是 i686。

答案3

正如许多发帖者所说,您的内核是 32 位的。然而,i686 的含义值得进一步解释。

在编译 Linux 内核时(如今最终用户通常不需要这样做 - Ubuntu 背后的优秀人员提供了已编译好的内核),您可以调整各种选项。一个重要选项是 CPU 功能支持。

所有 x86 CPU 都与原始的 Intel 80386(缩写为 i386)兼容,因此如果您想要一个与所有 x86 CPU 兼容的内核,您需要编译一个 i386 内核。

但是,现代 CPU 具有许多附加功能(集成浮点单元、MMX 等),如果配置得当,Linux 可以使用这些功能。为了在向后兼容性和性能之间取得平衡,Ubuntu 的内核在编译时支持 Intel Pentium II(有时缩写为 i686)上可用的功能,这就是内核显示为 i686 的原因。

这也部分解释了为什么为 64 位处理器编译的应用程序有时速度更快。i686 于 1997 年首次出现,现代处理器具有许多 i686 上没有的功能(SSE、额外寄存器等),但应用程序需要编译时支持这些功能,这可能会破坏与旧系统的兼容性。相比之下,x86_64 CPU 于 2003 年首次出现,因此应用程序可以编译时支持 1997 年至 2003 年期间引入的一些功能,而不必担心兼容性问题。

答案4

i686 被广泛用于描述与 Pentium Pro/II 兼容并具有其指令集的 32 位 P6 处理器架构。

相关内容