“机器硬件”、“处理器类型”和“硬件平台”的区别

Adi*_*dil 17 linux x86 cpu-architecture

我的 Linux 机器报告“uname -a”输出如下:

[root@tom i386]# uname -a
Linux tom 2.6.9-89.ELsmp #1 SMP Mon Apr 20 10:34:33 EDT 2009 i686 i686 i386 GNU/Linux
[root@tom i386]#
Run Code Online (Sandbox Code Playgroud)

根据uname的手册页,条目“i686 i686 i386”表示:

  • 机器硬件名称 (i686)
  • 处理器类型 (i686)
  • 硬件平台 (i386)

附加信息:

[root@tom i386]# cat /proc/cpuinfo

<snip>
vendor_id    : GenuineIntel
CPU family   : 6
model        : 15
model name   : Intel(R) Xeon(R) CPU            5148  @ 2.33 GHz
stepping     : 6
CPU MHz      : 2328.038
cache size   : 4096 KB
</snip>
Run Code Online (Sandbox Code Playgroud)

如何区分这三个条目(“i686 i686 i386”)?

小智 7

简而言之,硬件平台 ( uname -i) ==> 操作系统类型。32 位或 64 位。一旦您安装了使用 32 位操作系统编译代码所需的软件包和插件,现在您想将其更改为 64 位操作系统,可能会出现问题,可能会出现问题。所以最好删除那些 32 位操作系统相关插件或保留 32 位操作系统本身。

机器 ( uname -m)===> 将其视为构建处理器的主板。

处理器 ( uname -p)== > CPU 架构,取决于指令集。

重要的是:
机器和处理器应该是一样的。无论是 32 位还是 64 位,没有什么不同。

硬件平台必须等于或低于机器和处理器。


小智 2

处理器类型(或名称)是指处理器采用的架构。

硬件机器名称必须与处理器类型兼容,换句话说,必须与处理器类型相同。

最后,硬件平台是指硬件用来处理的整个指令,并且它的版本不得高于处理器类型。

例如,您无法在 i386 处理器中运行 i686 指令集。

i686 指的是 64 位处理器和架构,但指的是平台,它意味着 x686 或 x86_64,指的是指令通道(64 位)。

i386 = 32 位

  • i686不是64位系统,请参见[Wikipedia](https://en.wikipedia.org/wiki/P6_(microarchitecture)) (2认同)