【转】i386和i686的具体定义
来源:互联网 发布:php array indexof 编辑:程序博客网 时间:2024/05/19 13:58
i386和i686
因为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 IA32CPU,也就是平常我们所说的P6系列处理器。
i386不用说了,泛指80386以后的。
IA32划分子集的话:386、486是一个,Pentium自己是一个,Pentium Pro、Pentium II、Pentium III是P6系列,PentiumIV又独自算一个。 Pentium4是NetBurst架构的,比起P6系列有些变化。
i686是pentiumpro及以后的通用arch,而i386是所有x86的通用arch,i386包括而i686没有包括的就是386、486、586(pentium)、pentium-mmx
现在应该没有人还在用586及以前的cpu,甚至是pentiumpro。而rpm都是为i386打的包,运行效率会低很多。
兼容性关系大概是
i386:
可以看出,i686囊括了现在正在使用的所有x86,所以把rpm打包是的arch改为i686是没有问题的,反而能在指令调度上优化,填满流水线,使程序运行的更快。
而其中除了pentiumpro外,所有兼容i686的x86都有MMX,大多数有SSE。十分使用扩展指令基对大规模计算来说很重要,如昨天加了-mmmx-march=i686打包了一下GIMP,发现有些处理(如马赛克滤镜)快了5倍以上。
另外,如果浮点运算使用-mfpmath=sse-msse的话,浮点除法速度有近百倍的提高,这对浮点运算偏重的如音、视频解码,编码很重要。
当然为了兼容,可以打包两个版本,有sse和没有sse的。
希望开发者能考虑一下,把/usr/lib/rpm/rpmrc中的buildtranslatorxxx:i386改为 xxx:i686,并在optflag i686:中加入-mmmx。
- 【转】i386和i686的具体定义
- i386和i686的具体定义
- i386和i686的具体定义
- i386和i686的具体定义
- i386和i686的具体定义
- i386和i686的区别
- i386和i686
- i386和i686
- i386和i686
- 有关i386和i686
- i386 i586 i686 的意思
- Linux的i386/i686/x86_64
- i386和i686都是什么意思呢?
- x86、i386、i486、i586、i686和x86_64
- i386-i686-x86_64的分別?
- i386/i686/x86-64的区别
- 关于x86、i386、i486、i586和i686等名词的解释
- 关于x86、i386、i486、i586和i686等名词的解释
- [转]Ubuntu 10.04下MPICH2配置详解
- 【转】matlab mex 应用接口程序,c…
- bcdedit简介
- 数组初始化
- 并行计算,网格计算与分布式计算的…
- 【转】i386和i686的具体定义
- linux c++连接mysql
- 【转】WinRAR 3.93 简体中文破解版…
- Latex Beamer 笔记 [转】
- Linux系统守护进程详解【转】
- 【原创】配置VIM, 使其适合编程
- 一个f12的最终html页面,是怎么加载出来的,过程如下
- 安装Grub到U盘
- EF之Code First设置主外键关系(三)