i386和i686

现在所有的intel 32位体系(包括AMD等兼容CPU)都叫i386体系,包括P4。、i686仍然属于i386体系,不过对CPU(相对于386)的特性作了指令优化。GNU/Linux分为alpha、PowerPC、Sun等各个不同版本,所有从Intel386-P4都用i386版本,但i386版本中有几个内核(i486,i486,i586,i686),安装时安装程序检测到你得CPU级别后,自动为你安装相应内核。

与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。

i386和i686的区别相关推荐

  1. Linux 适用硬件平台/系统架构(i386 / i586 / i686 / x86 / x86_64)名词理解和区别

    我们在网上下载各种版本的 Linux OS 时,会经常看到不同版本的系统镜像名中带有 i386.i486 .i586.i686.x86x86_64/AMD64,那么这些 i386.i486 .i586 ...

  2. X86 i386 i586 i686

    x86的意思 x86或80x86是英特尔Intel首先开发制造的一种微处理器体系结构的泛称.该系列较早期的处理器名称是以数字来表示,并以"86"作为结尾,包括Intel 8086. ...

  3. 【linux】i386与AMD64的区别

    [时间]2018.09.21 [题目]i386与AMD64的区别 [参考链接]https://www.cnblogs.com/hongrunhui/p/5179454.html 概述 之前重装utun ...

  4. 下载Ubuntu镜像时,i386 和 amd64 的区别

    下载Ubuntu镜像时,i386 和 amd64 的区别 在我们下载Ubuntu镜像的时候,有的人会搞不清楚是要下载适合amd64.iso还是i386.iso的镜像. amd64.iso 对于目前绝大 ...

  5. i386、i686、IA-32、x86-64、AMD64、EM64T、IA-64

    作者:李响 链接:http://www.zhihu.com/question/19573226/answer/14267936 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注 ...

  6. i386和i686都是什么意思呢?

    代表intel系列的cpu386 几乎适用于所有的 x86 平台,不论是旧的 pentum 或者是新的 pentum-IV 与 K7 系列的 CPU等等,都可以正常的工作!那个 i 指的是 Intel ...

  7. i386 i586 i686 的意思

    代表intel系列的cpu386 几乎适用于所有的 x86 平台,不论是旧的 pentum 或者是新的 pentum-IV 与 K7 系列的 CPU等等,都可以正常的工作!那个 i 指的是 Intel ...

  8. i386和AMD64的区别

    i386=Intel 80386.其实i386通常被用来作为对Intel(英特尔)32位微处理器的统称.     AMD64,又称"x86-64"或"x64", ...

  9. linux下 x86、i386、i486、i586、i686、x86_64区别

    amlaosong评:虽然rpm包版本很多,不过目前的新机器都可以使用x86_64版本,而且也应该使用这个版本,除非一些特殊场合,比如为了使用一些老版程序.有些功能没有x86_64版本,那也只好用i3 ...

  10. i386、i586、i686、noarch、x86_64

    xxxxxxxxx.rpm   <== RPM的格式,已经经过编译且包装完成的rpm文件. xxxxxx.src.rpm   <== SRPM的格式,包含未编译的源代码信息. 例如rp-p ...

最新文章

  1. 从头编写 asp.net core 2.0 web api 基础框架 (5) EF CRUD
  2. php for 写入多行数据库,php – MYSQL意外插入多行
  3. 计算机英语基础性考任务三,(2021更新)国家开放大学电大《计算机应用基础》形考任务3作业3试题及答案...
  4. php使用第三方登录
  5. php接收ajax转数组
  6. Linux学习之系统编程篇:回收子线程资源
  7. django-celery定时任务以及异步任务and服务器部署并且运行全部过程
  8. python io多路复用框架_python之IO多路复用
  9. 问题 | golang编程中的坑
  10. OpenGL绘制旋转茶壶
  11. 详细讲解css单位px,em和rem的含义以及它们之间的区别
  12. ElasicSearch(2) Linux运行
  13. CSS 魔法系列:纯 CSS 绘制各种图形《系列六》
  14. Builder模式创建实体类
  15. ubuntu20.04下rabbitvcs使用svn无法保存密码
  16. 一键logo生成器_logo制作助手下载-logo制作助手APP免费版下载v1.1
  17. SHFileOperation 文件拷贝、移动、删除等操作
  18. 任何辨别你的计算机中了威金病毒
  19. python3*1**3 表达式输出结果为_表达式[1, 2, 3]*3的执行结果为______________________。...
  20. 大数据之clickhouse_clickhouse的基础介绍及基础使用

热门文章

  1. 安卓机型app的编译与反编译 apk文件的简单说明与解析
  2. 毕向东_JavaScript视频教程_javascript编程
  3. 51单片机基础入门教程(精华版)文末有惊喜
  4. 光伏逆变器MPPT基本算法介绍-李星硕
  5. HTML Web教程
  6. 扫描器篇(五)之scapy构造UDP数据包完成主机发现
  7. DEDE 织梦 CMS 文章采集不到
  8. scsi服务器硬盘如何用,实战:不重启服务器添加scsi硬盘
  9. Android安全之Https中间人攻击漏洞
  10. Eclipse SVN提交代码ClientException异常解决