i386/i686/x86-64的区别

i386/i686/x86-64的区别1.i386适用于intel和AMD所有32位的cpu.以及via采用X86架构的32的cpu.intel平台包括8086,80286,80386,80486,奔腾系列(1.2.3.4)、赛扬系列,PentiumD系列以及centrinoP-M,coreduo等.2.X86_64适用于intel的Core2Duo,CentrinoCore2Duo,andXe

大家好,又见面了,我是你们的朋友全栈君。

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。



版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/143059.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • TM影像波段介绍「建议收藏」

    TM影像波段介绍「建议收藏」一、各波段特征:1.TM10.45-0.52um,蓝波段,对水体穿透强,对叶绿素与叶色素反映敏感,有助于判别水深及水中叶绿素分布以及水中是否有水华等.2.TM20.52-0.60um,绿波段,对健康茂盛植物的反射敏感,对力的穿透力强,用于探测健康植物绿色反射率,按绿峰反射评价植物的生活状况,区分林型,树种和反映水下特征.3.TM30.62-0.69UM,红波段,叶绿

  • vgg网络论文_dna结构综述论文

    vgg网络论文_dna结构综述论文原文地址:https://arxiv.org/pdf/1409.1556.pdfVGG简介:VGG卷积神经网络是牛津大学在2014年提出来的模型。当这个模型被提出时,由于它的简洁性和实用性,马上成为了当时最流行的卷积神经网络模型。它在图像分类和目标检测任务中都表现出非常好的结果。在2014年的ILSVRC比赛中,VGG在Top-5中取得了92.3%的正确率。同年的冠军是googl…

    2022年10月21日
  • SSDP 协议_Smb协议

    SSDP 协议_Smb协议1.组播地址2.SSDP,简单服务发现技术组播地址为了让组播源和组播组成员进行通信,需要提供网络层组播地址,即IP组播地址。同时必须存在一种技术将IP组播地址映射为链路层的组播MAC地址。1.IP组播地址(1)       IPv4组播地址IANA(InternetAssignedNumbersAuthority,互联网编号分配委员会)将D类地址空间分配给IP

    2022年10月11日
  • pycharm最新激活码2021【2021最新】

    (pycharm最新激活码2021)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

  • 一文详解读写锁_C++ 读写锁

    一文详解读写锁_C++ 读写锁作者|磊哥来源|Java面试真题解析(ID:aimianshi666)转载请联系授权(微信ID:GG_Stone)读写锁(Readers-WriterLock)顾名思义是一把锁分为两部分:读锁和写锁,其中读锁允许多个线程同时获得,因为读操作本身是线程安全的,而写锁则是互斥锁,不允许多个线程同时获得写锁,并且写操作和读操作也是互斥的。总结来说,读写锁的特点是:读读…

  • linux怎么将文件复制到别的文件_linux 文件夹复制

    linux怎么将文件复制到别的文件_linux 文件夹复制1.前言本文主要讲解linux怎么复制文件到其他文件夹。在Linux和Unix系统上工作时,复制文件和目录是您每天要执行的最常见任务之一。cp是一个命令行实用程序,用于复制Unix和Linux系统上的文件和目录。在本文中,我们将解释如何使用cp命令。linux怎么复制文件到其他文件夹2.如何使用cp命令cp命令的使用语法:cp[OPTIONS]源…目标源可以有一个或多个文件或目录作为参数,目标可以有一个文件或文件夹作为参数。当源和目标参数都是文件时,cp命令将第一

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号