[转]i386 和x86的区别

IA32 : 32 bits Intel Architecture (32位带宽Intel构架)
IA64 : 64 bits Intel Architecture (64位带宽Intel构架)

i386 : Intel 386 ( 老的386机器,也泛指IA32体系的CPU)
i486 : Intel 486
i586 : Intel 586 ( Pentium ,K6 级别CPU )
i686 : Intel 686 ( Pentium II, Pentium III , Pentim 4, K7 级别CPU )

以上的86 也可以叫做 x86, 通称说 x86也是指 IA32构架CPU

x86 包含 i386 ,i386 仅仅是 x86 的一部分。
x86 这里的 x 本来就是一个未知数性质的,他可以是 3、4、5、6、7 。

x86 是 Intel 建立起来的 CPU 架构。
他的 8086、8088、80286、80386、80486、Pentium 、Pentium Pro 、Pentium MMX ,Pentium 2 ,还有后面的 P3、P4 、PD 、Core 全系列,Xeon 的 x86 系列。以及 AMD 的 Intel 架构兼容全系列.当然还有最近重新崛起的 VIA 的 C7 系列。
他们都是 x86 架构。

更多的 x86 代表的是 32 位的 Intel CPU 架构体系。

但其中分成很多代。i386 就是 80386 的那代 CPU 的标准,主要是支持 32 位的保护模式和实模式两种工作环境。这个功能很好很强大,一直沿用至今,而且系统对于这个功能是必须支持的。386 之后的 cpu 是完全兼容 i386 体系的。

i486 加入了新的一个功能,i586 (奔腾 1 代系列)又加入了新功能,i686 (奔腾 Pro 系列以后)又加入了新的功能体系。
i386 的软件可以运行在 i686 系统,但是 i686 的软件不能运行在之前的架构上。

旧 CPU 不能运行新软件主要是不能使用新的特性导致不能运行,但是旧的架构软件在新的架构上运行,仅仅是不能用新的功能体系,运行效率是没有减少的。
而且这个功能架构主要是 Linux 内核在使用。

只要看到 i 什么 86 ,基本都能用。
如果有 i686 ,CPU 只要不是 K6 系列,而是 Athlon 系列,最好选择 i686 ,但如果只有 i386 的,注意安装后看看你的内核是不是 i686 体系的,如果是,性能不受影响。

题外:
i786 是一个隐藏的新体系,听说只能用在 P4 以后的 Intel CPU 上面。但是很多软件没有针对这个架构编写,所以除非自己基于 i786 编译,不然网上没有 i786 的软件。

这里还要说 x86_64 体系,这个是 AMD 提出并且最先使用的 x86 新的架构体系。他把 32 位的 i686 架构体系,扩展为 64 位。
但是因为变动很x86 包含 i386 ,i386 仅仅是 x86 的一部分。


这里还要说 x86_64 体系,这个是 AMD 提出并且最先使用的 x86 新的架构体系。他把 32 位的 i686 架构体系,扩展为 64 位。
但是因为变动很大的原因,64 位的系统软件要兼容 32 位的软件,需要在内核里打开支持,并且安装 32 位的兼容库才行。其实如果你有源代码,32位系统的源代码基本上可以直接在 64 位的系统上面编译成为 64 位架构可运行的软件(新的技术还是用不上)。

同样 64 位的 CPU 兼容上一代的 i686 架构,i686 CPU 不支持 x86_64 的软件。

你可能感兴趣的:(i386 x86)