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.I686 只是i386的一个子集,支持的cpu从Pentium 2 (686)开始,之前的型号不支持.

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/x86-64的区别相关推荐

  1. linux发行版中的i386/i686/x86-64/有什么区别?

    1. i386 适用于intel和AMD所有32位的cpu.以及via采用X86架构的32的cpu.intel平台包括8086,80286,80386,80486,奔腾系列(1.2.3.4).赛扬系列 ...

  2. 发行版中的i386/i686/x86-64的区别: i386用来处理32位系统,i686是i386的下集;x86-64用来处理64位系统。 linux发行版中的i386/i686/x86-64各自含

    发行版中的i386/i686/x86-64的区别: i386用来处理32位系统,i686是i386的下集:x86-64用来处理64位系统. linux发行版中的i386/i686/x86-64各自含义 ...

  3. linux32-64区别,关于linux发行版i386/i686/x86-64/的区别

    一. I386 为32位 x86 64位 二.安装介质 1. i386 适用于intel和AMD所有32位的cpu.以及via采用X86架构的32的cpu. intel平台包括8086,80286,8 ...

  4. linux 版本中 i386/i686/x86-64/pcc 等... 的区别

    转载 Dartagnan 最后发布于2010-11-17 22:11:00 阅读数 57132 收藏 展开 参考1: 一. I386 为32位 x86 64位 二.安装介质 i386 适用于intel ...

  5. linux系统32和64的区别,32位和64位的Linux系统区别

    区别之一:当初设计的定位不同 64位操作系统的设计定位是:满足机械设计和分析.三维动画.视频编辑和创作,以及科学计算和高性能计算应用程序等领域,这些应用领域的共同特点就是需要有大量的系统内存和浮点性能 ...

  6. linux里面i386 i686 i486 i586代表什么?是什么意思

    URL:http://hi.baidu.com/software_one/blog/item/85c7ccedd70d6925acafd5e0.html 在linux里面,我们经常会遇到i386 i6 ...

  7. 【装机吧】Win7电脑系统32位和64位区别(详细版)

    第一点  设计初衷不同: [win7系统32位和64位区别] 64位操作系统的设计初衷是:满足机械设计和分析.三维动画.视频编辑和创作,以及科学计算和高性能计算应用程序等领域中需要大量内存和浮点性能的 ...

  8. 大型机、小型机、x86服务器的区别

    首先来讲x86服务器,与平常人们所接触的台式机笔记本类似,采用CISC架构处理器.随着英特尔至强处理器的性能不断提升,业内有种说法是x86服务器有抢占小型机市场的趋势. x86服务器 Intel推出至 ...

  9. linux的x64与x86_在Linux x86 64机器上链接

    linux的x64与x86 Linking is the process of combining various pieces of code and files in order to const ...

  10. 第19部分- Linux x86 64位汇编GDB单步调试

    第19部分- Linux x86 64位汇编GDB单步调试 本篇我们使用gdb来调试上篇中的汇编代码. gdb调试 使用gdb进行调试. #gdb ./addsum_arg 设置参数: (gdb) s ...

最新文章

  1. Freemarker问答:
  2. Port already be taken
  3. 我们来谈谈那些智能家居里的语音对话设备
  4. 不生成Android Dependencies
  5. Android面试收集录 2D绘图与动画技术
  6. es 删除重复数据_怎么标识并删除SPSS数据库里的“重复个案”?
  7. Windows Azure 安全最佳实践 - 第 4 部分:需要采取的其他措施
  8. C#中Lambda表达式动态拼接生成工具类
  9. ElasticSearch映射Mapping
  10. mvvm绑定checkbox wpf_LoxodonFramework 数据双向绑定 通过控制数据流向防止更新死循环...
  11. js 设置password placeholder样式_150+ 个优质的 Node.js 包和资源
  12. 速度极大提升,Arch Linux 计划将 zstd 作为默认压缩算法
  13. linux如何让普通用户有root权限
  14. Early Stopping早停法
  15. access建立两个字段唯一索引_面试官:谈谈你对mysql索引的认识?
  16. BOJ 2773 第K个与m互质的数
  17. 谷歌翻译影响vue_[Vue源码分析]谷歌翻译后,Vue双向数据绑定失效了?
  18. 马云和卫哲:从不屑到仰慕 从朋友到诀别
  19. Mock.js数据模拟,rap2、postman可视化接口平台,Vue框架的接口链接应用
  20. android之设置app背景图片

热门文章

  1. EViews11.0程序安装及注意事项
  2. ISO18000-6B和ISO18000-6C(EPC C1G2)标准的优点区别
  3. activemq事务处理及签收
  4. 基于springboot,vue图书管理系统
  5. Ipsec phase1 and phase2
  6. Java面试题总结(一)
  7. CnPack20090801更新包
  8. iOS - AVAudioSession详解
  9. 破解lockdir的加密文件
  10. 替代 NetMeeting 的多人屏幕共享工具