一、x86与i386、i486、i586、i686等
x86或80x86是英特尔Intel首先开发制造的一种微处理器体系结构的泛称。
该系列较早期的处理器名称是以数字来表示,并以“86”作为结尾,包括Intel 8086、80186、80286、80386以及80486,因此其架构被称为“x86”。由于数字并不能作为注册商标,因此Intel及其竞争者均在 新一代处理器使用可注册的名称,如Pentium。现时Intel把x86-32称为IA-32,全名为Intel Architecture, 32-bit。不过由于x86包括16位的处理器,这样的命名也出现麻烦。
x86架构于1978年]推出的Intel 8086中央处理器中首度出现,它是从Intel 8008处理器中发展而来的,而8008则是发展自Intel 4004的。8086在三年后为IBM PC所选用,之后x86便成为了个人计算机的标准平台,成为了历来最成功的CPU架构。
其它公司也有制造x86架构的处理器,计有Cyrix(现为VIA所收购)、NEC集团、IBM、IDT以及Transmeta。Intel以外最成功的制造商为AMD,其Athlon系列处理器的市场仅次于Pentium。
8086是16位处理器;直到1985年32位的80386的开发,这个架构都维持是16位。接着一系列的处理器表示了32位架构的细微改进,推出了数种 的扩充,直到2003年AMD对于这个架构发展了64位的扩充,并命名为AMD64(有时也被称作x86-64,x64或EM64T),推出了 Opteron处理器家族,开创了x86的64位时代。
值得注意的是Intel早在1990年代就与惠普合作提出了一种用在安腾系列处理器中的独立的64位架构,这种架构被称为IA-64。IA-64是一种崭新的系统,和x86架构完全没有相似性;不应该把它与AMD64或x86-64弄混。
x86是一个Intel通用计算机系列的标准编号缩写,也标识一套通用的计算机指令集合,X与处理器没有任何关系,它是一个对所有*86系统的简单的通配符定义,例如:i386, 586,奔腾(pentium)。
由于早期intel的CPU编号都是如8086,80286来编号,这整个系列的CPU都是指令兼容的,所以都用X86来标识所使用的指令集合。如今的奔腾、P2、P4、赛扬系列都是支持X86指令系统的,所以都属于X86家族。
x86指令集是美国Intel公司为其第一块16位CPU(i8086)专门开发的。
为了保证电脑能继续运行以往开发的各类应用程序以保护和继承丰富的软件资源,所以Intel公司所生产的所有CPU仍然继续使用X86指令集,所以它的CPU仍属于X86系列。
另外除Intel公司之外,AMD和Cyrix等厂家也相继生产出能使用X86指令集的CPU,由于这些CPU能运行所有的为Intel CPU所开发的各种软件,所以电脑业内人士就将这些CPU列为Intel的CPU兼容产品。由于Intel X86系列及其兼容CPU都使用X86指令集,所以就形成了今天庞大的X86系列及兼容CPU阵容。当然在目前的台式(便携式)电脑中并不都是使用X86 系列CPU,部分服务器和苹果(Macintosh)机中还使用美国DIGITAL(数字)公司的Alpha 61164和PowerPC 604e系列CPU。
Intel 80x86简称ix86,比如i386、i586、i686等等,指的是适用于intel i386、i586、i686兼容指令集的微处理器。i686应该是P2以上级别的CPU,i586应该是pentium 这一系列都可以,但pentium pro 属于i686。
二、x86-64与x64、AMD64等
“x86-64”,有时会简称为“x64”,是64位微处理器架构及其相应指令集的一种,也是Intel x86架构的延伸产品。“x64”最先由AMD设计,推出时被称为“AMD64”,其后也为英特尔所采用,现时英特尔称之为“Intel 64”,在之前曾使用过Clackamas Technology (CT)、IA-32e及EM64T。外界多使用 "x86-64" 或 "x64" 去称呼此64位架构,从而保持中立,不偏袒任何厂商。
关于Linux/Unix的安装介质类型:
1. i386 适用于intel和AMD所有32位的cpu.以及via采用X86架构的32的cpu.
intel平台包括8086,80286,80386,80486,奔腾系列(1.2.3.4)、赛扬系列,Pentium D系列
以及centrino P-M,core duo 等.
2. X86_64 适用于intel的Core 2 Duo, Centrino Core 2 Duo, and Xeon 和AMD Athlon64/x2, Sempron64/x2, Duron64等采用X86架构的64位cpu.
3. PPC 适用于Apple Macintosh G3, G4, G5, PowerBook, and other non-Intel models
安装DVD包括的软件要比安装光盘多一些,安装DVD也包括了两种图形界面(KDE和gnome).
4.Jigdo
也可以通过 Jigdo 下载 Fedora 发行版。Jigdo 可以加速下载安装盘的 ISO 镜像。同 BT 下载等待任务完全完成所不同,Jidgo 自动定位最快的镜像服务器(通过 Fedora 镜像管理器),并且从中下载所需要的文件。为了减少所需的网络流量,可以让 Jigdo 扫描现存的 DVD 或 CD 介质。这个功能对于以下用户特别有用。
LiveCD介质,分fedora桌面(gnome)和KDE桌面
可以直接进去系统再安装.先体验再决定是否安装的类型.
i686 只是i386的一个子集,支持的cpu从Pentium 2 (686)开始,之前的型号不支持.
i686指的是Pentium Pro及以后Intel IA32 CPU,也就是我们所说的P6系列处理器
i386指的是80386以后的
IA32划分子集的话:386,486是一个,Pentium是一个,Pentium Pro,Pentium II,PentiumIII是P6系列,Pentium IV又是一个,Pentium 4是NetBurst框架的,比P6系列有些变化
i386、i586、i686指的是适用于inteli386、i586、i686兼容指令集的微处理器。一般来说,等级愈高的机器可接受较低等级的rpm文件。你可以透过/proc/cpuinfo这个文档查询CPU等级。
i386
Intel x86-compatible processors, including Intel Pentium and Pentium-MMX, Pentium Pro, Pentium-II, Pentium-III, Celeron, Pentium 4, and Xeon; VIA C3/C3-m and Eden/Eden-N; and AMD Athlon, AthlonXP, Duron, AthlonMP, and Sempron
ppc
PowerPC processors, such as those found in Apple Power Macintosh, G3, G4, and G5, and IBM pSeries systems
x86_64
64-bit AMD processors such as Athlon64, Turion64, Opteron; and Intel 64-bit processors such as EM64T
英特尔x86兼容处理器,包括英特尔奔腾和奔腾MMX、个人奔腾系列,奔腾II、奔腾III、赛扬,奔腾4和Xeon;同时包括 威盛系列的C3/C3-m和and Eden/Eden-N; AMD Athlon、AthlonXP、Duron、AthlonMP和Sempron
ppc
PowerPC处理器,例如在苹果计算机公司的Macintosh, G3、G4和G5和IBM pSeries的那些系统
x86_64
AMD64位处理器例如Athlon64,Turion64,Opteron。
英特尔64位处理器例如EM64T
x86体系结构虽然指令都一样,但是不同时代的具体实现,在编译优化上还是有自己的特点,而且后一代往往会多出一些指令,所以编译RPM时,可以针对不同的体系结构作不同的编译选项优化。
一般而言,所有x86处理器都能执行386的指令集,80486处理器当然需要486的优化。
Pentium 就是586,PentiumPro (P6) 之后的统称为686,包含了PentiumPro, PentiumⅡ, PentiumⅢ和P4。
出于效率考虑,在编译核心和glibc这样的软件包的时候,都是为不同体系结构编译不同的包,安装的时候选择适合自己机器的,以便得到最好的效率。
目前而言,只要有686的包,那就不必考虑386的包。
PⅢ的CPU,通过/proc/cpuinfo查到是386的。
i386是指intel发布的通用处理器类型,适合386,486,586,686的CPU。
x86_64是指intel的X86的64位处理器系统。
一般你使用i386就好了。
64bit CPU 可以装 i386/x86_64,但32bit CPU 只能装i386,x86_64是无法装的。
i386是指CPU在32位元以上的的pc可以安装
x86_64是指CPU在64位的pc可以安装
因为32位的CPU不支持x86_64的指令集,但是64位的CPU支持i386的指令集(这就是所谓的向下兼容),
所以判断不出电脑的CPU是哪种的话,建议用i386的操作系统。
与cpu的指令集有关.I代表与intel的指令集兼容,后面的数字是指cpu的分类。
因为intel的cpu经过这么久的发展,不断的更新,产生从8086,8088,80286,80386,80486,奔腾(586),奔腾二代 (686),奔腾三代(686)...cpu的每次换代,都增加了一些新的指令集,但都向后兼容(就是说后面的CPU都能完全使用前面的CPU的指令 集)。而软件包为了能发挥好cpu的全部性能,就加入cpu相对应能指行的指令。因此就产生了各种不同的软件包。所以,i686的软件包能在奔腾二代以上 的cpu上执行,但基本不能在此之先的cpu如486上执行。而i386的软件包既可在i386的电脑上执行,也可在后面所有的cpu上执行(如奔三、奔 四,但不能发挥cpu的最佳性能。)
i686指的是Pentium Pro以及此后的Intel IA32 CPU,也就是平常我们所说的P6系列处理器。
i386不用说了,泛指80386以后的。
IA32划分子集的话:386、486是一个,Pentium自己是一个, Pentium Pro、Pentium II、Pentium III是P6系列,Pentium IV又独自算一个。 Pentium 4是NetBurst架构的,比起P6系列有些变化。
i686是pentiumpro及以后的通用arch,而i386是所有x86的通用arch,i386包括而i686没有包括的就是386、486、586(pentium)、pentium-mmx
现在应该没有人还在用586及以前的cpu,甚至是pentiumpro。而rpm都是为i386打的包,运行效率会低很多。
兼容性关系大概是
i386:
i386:
i486:
winchip-c6: MMX 3dNOW!
winchip2: MMX 3dNOW!
i586(pentium):
pentium-mmx: MMX
i686:
pentiumpro:
pentium2: MMX
pentium3(m): MMX SSE
pentium-m: MMX SSE SSE2
pentium4(m): MMX SSE SSE2
prescott: MMX SSE SSE2 SSE3
nocona: MMX SSE SSE2 SSE3 (64bit)
c3: MMX 3dNOW!
c3-2: MMX SSE
k6: MMX
k6-2,k6-3: MMX 3dNow!
althon,althon-tbird: MMX 3dNow! SSE(prefetch only)
athlon-4, athlon-xp, athlon-mp: MMX 3dNOW! 3dNOW(enhanced) SSE(full)
k8, opteron, athlon64, athlon-fx: MMX 3dNOW! 3dNOW(enhanced) SSE SSE2 (64bit)
可以看出,i686囊括了现在正在使用的所有x86,所以把rpm打包是的arch改为i686是没有问题的,反而能在指令调度上优化,填满流水线,使程序运行的更快。
而其中除了pentiumpro外,所有兼容i686的x86都有MMX,大多数有SSE。十分使用扩展指令基对大规模计算来说很重要,如昨天加了-mmmx -march=i686打包了一下GIMP,发现有些处理(如马赛克滤镜)快了5倍以上。
另外,如果浮点运算使用-mfpmath=sse -msse的话,浮点除法速度有近百倍的提高,这对浮点运算偏重的如音、视频解码,编码很重要。
当然为了兼容,可以打包两个版本,有sse和没有sse的。
希望开发者能考虑一下,把/usr/lib/rpm/rpmrc中的buildtranslator xxx:i386改为 xxx:i686,并在optflag i686:中加入 -mmmx