当CPU缺乏所需sse指令集集时 会出现什么情况

270被浏览35572分享邀请回答8918 条评论分享收藏感谢收起301 条评论分享收藏感谢收起查看更多回答内容字号:
段落设置:
字体设置:
精准搜索请尝试:
IT之家学院:CPU知识扫盲以及选购推荐
来源:作者:菱角IX责编:白猫
感谢IT之家网友&&的原创投稿本期的前半篇为科普,后半篇是命名规律和选购推荐。因为是个人的见解,所以难免会有偏差和疏漏,望理解。引言:众所周知,人脑是一个人的核心,也就是决策中心,与之类似,计算机的核心就能算是CPU了。与上期说的显卡不同,显卡是依靠大量的核心同时进行很多简单的运算,而CPU则是负责重要而复杂的逻辑运算,如果把GPU比作一大群小学生的话,那CPU就是一个资深的老教授了,老教授只有两只手,也就是两个线程,但是有聪明的头脑(复杂的指令集)虽然搬起砖来比不上一群小学生,但是碰到复杂的问题那效率就要远高于一群小学生。所以CPU其实是一台电脑中的决策者。但这仅仅是对CPU概念性的理解,你真的了解它们吗?一、什么是CPU(CPU基础知识)在开始介绍之前,先来给你们将一个故事,通过对故事的分析来得出结论。1.黄老板和假老板是某家倒闭公司的创始人,因为公司欠下3.5个亿被迫跑路,好在他们从小练就了麒麟臂,准备靠搬砖来补贴家用。在工头的大力号召下,大伙干活看起来都很起劲,尤其是假老板,像磕了大力一样,从运砖的车跑到工地来回一趟只要5分钟,而黄老板整整需要10分钟,假老板由此收到了工头的表彰。但这其中隐藏了一个骗局,由于他们搬砖是将砖块放在一个密封的箩筐里,砖的数量是不可见,所以假老板就耍了个小聪明,别人每次搬150斤砖,假老板只拿50斤,报上去的却是150斤。实际上,看似速度更快,干活更卖力的假老板,一个小时只挑了12x50=600斤砖,而踏踏实实的黄老板一个小时内整整挑了6X150=900斤砖。看出这其中的含义了吗?黄老板和假老板代表两块CPU,其中假老板来回一趟的速度更快,所以假老板的主频要高于黄老板,嗯比如说假老板是主频超到了7GHz的推土机架构,而黄老板则是主频只有3.5GHz的i5。虽然黄老板干活的速度看上去比假老板慢,但是每次做的工作远多与假老板,换句话说,黄老板的架构比假老板更先进,每次完成的工作量更多而用来衡量每次完成的工作量,在计算机里有一个专有名词,叫做IPC,或者叫“每条指令执行所花费的平均时钟周期数”可见主频不是决定单核心性能的唯一因素,架构,或者说工作效率的重要性不言而喻。2.后来,黄老板和假老板从最底层的搬砖工逐渐做大,自己也成了包工头,手下带了一大批工人,在积累了一些资金后,他们决定开始创业,后来黄老板在温州办了一个皮革厂,假老板做起了互联网汽车。然而黄老板却从此走上了一条不归路,由于皮革厂是劳动密集产业,需要大量的廉价劳动力,黄老板在一个秘密的地下工厂里,利用软件工程学和基因工程篡改并重新编译了人类的碱基序列,创造了一批拥有四只手的工人,这批工人虽然一个人的手数量和两个人一样多,不过工作效率暂时还是无法达到以一顶二的效果,但是仍然大大提升了效率。最终黄老板事业和人生上取得了双重的胜利,开了很多的分厂,也迎娶了小姨子。这里说的四只手的工人,其实就是超线程厂里有多少个工人,就代表有多少个CPU核心,而四只手的工人可以比普通人干更多事情,但受限于他们只有一个身体,一个人没法当两个人用,超线程也一样,虽然另一个线程是假的,是化学的成分,但却在很小的成本下大大提升了性能(大约20%)目前Intel的i3、i7、i9等产品线都使用了超线程技术,AMD的Ryzen R5、R7也拥有超线程。3.这回的假老板可比黄老板踏实多了,没用动用邪念,但还是因为市场表现不佳和前期研发成本大,欠下了巨额债务,员工斗志也开始低落。开始假老板还利用涨工资的方式提升员工的信心,但后来因为资金链紧张,公司负债累累,于是假老板开始强迫工人加班加点干活,并且持续多月没有发工资,最终假老板在重重重压之下,始终无法翻身,只得将公司申报倒闭,又过上了一贫如洗的生活。给员工涨工资呢,就是睿频,也可以说是官方的超频,能小幅度提升CPU的性能,但是提升一般比较有限而强迫加班加点,那就是超频了,虽然能大幅度的提升性能,但前提是给员工施压,或者说给CPU加电压,如果加过头了,那可就有超到“缩肛”的风险了。4.另一边的黄老板后来的遭遇也没好到哪里去,由于上游仓库货物积压,不能及时送到工厂,经常出现停工的现象,黄老板想要在工厂的附近建一个小仓库作为临时存放原料的地方,却又因为寸土寸金的地价无法施展开来,最终积压越来越严重,多次导致供货链中断,黄老板的下游厂商便渐渐的开始与之断绝关系,这下可好,货物没了去路,等于是断了黄老板的生路,眼看着形式愈发严峻,在一个夜黑风高的晚上,黄老板带着他的小姨子偷偷跑路,只留下空无一人的工厂。从这里能看出,黄老板的工厂最后无法成功经营下去的原因就是缓存不够,导致上游供货断断续续,极大地减慢了效率,对于CPU也一样,从内存中提取数据运到CPU的过程中,速度远比不上CPU的运算速度,就会造成极为严重的延迟,这时就需要一个中转仓库了。缓存一般分为一、二、三共三级,一级缓存速度最快,容量也最小,然后依次速度减慢,容量增大。较大的缓存可以大大提升复杂任务的处理速度,降低延迟。5.多年以后,黄老板和假老板在街边一间叫做粗粮杂货店铺的超市里相聚,里面卖的东西物美价廉,因此经常受到顾客的抢购而导致断货,但这也促使曾经小杂货铺越做越大,店面换了又换,现在已经提供餐饮、购物、游乐等一站式服务。老友相见,回首往事话无边,畅谈许久,又觉得有点热,假老板踱到柜台前,对柜里说,“冰两瓶啤酒,要几串烤串。”便排出九文大钱,并叫人把空调调低了一点。柜台里的人又说:“啤酒要罐装的还是散的?”“散的吧,便宜一点“假老板回到餐桌,忽然,地面猛地一震摇动,黄老板惊慌地喊道:我编不下去了!这边的超市就是卖CPU的地方,提供原装和散装两种形式,也就是盒装与散片,差不多是国行正品和港版水货的差别,但也不完全相同,两者的性能、寿命等基本上不会有任何差别,盒装是由厂家直接发售的版本,有原装的纸盒,上面印有防伪序列号,拥有官方的保修,并且很多还会附送一个摆设多于实际的原装散热器,如果比较在意保修那么可以选购盒装。而散片大多是商家向厂家大批量采购的,大部分没有保修,也没用包装和散热器,并且很多老的散片CPU大部分实际上是二手的。但是散片CPU的价格会远低于盒装,并且由于CPU是耐用品,基本是整台电脑中最不容易损耗的部分,一般寿命都在几十年以上,当然前提是没有拿去搞过大新闻,去进行极限超频、加压、开盖或者物理损坏比如掉电容、PCB断裂等。故事结束了,但还剩余不少名词,这里就直言不讳了散热:在CPU工作时里面数十亿晶体管受到欧姆定律的影响,必定要产生热量,性能越高一般发热也越大,目前主流的CPU散热器有风冷和水冷其中风冷又有下压式和塔式,一般来说塔式散热会更好一点,但低端塔式散热反而是不如很多下压式散热的,下压式更容易做成小体积,成本也较低。水冷有一体式和分体式两类,一体式是厂家已经组装好的,一般是软管,到手后可以直接安装。分体式水冷就要复杂得多,尤其是硬管,一般用在高端游戏主机上,可以添加酷炫的RGB灯光效果,可定制化程度高。一般来说家用领域建议选择便宜实惠的风冷散热,如果机箱较小的话,可以使用超薄下压式散热或者一体式水冷。TDP:TDP的英文全称是“Thermal Design Power”,中文直译是“散热设计功耗”。主要是提供给计算机系统厂商,散热片/风扇厂商,以及机箱厂商等等进行系统设计时使用的。一般TDP主要应用于CPU,CPU TDP值对应系列CPU的最终版本在满负荷(CPU利用率为100%的理论上)可能会达到的最高散热热量,散热器必须保证在处理器TDP最大的时候,处理器的温度仍然在设计范围之内。制程工艺:就像名字那样,制程工艺是指制造CPU时的集成电路精细度例如28nm、14nm,一般来说这个数字越小代表制造精度越好,集成电路元件体积也就越小,能在同样的面积下塞进更多的元件,具有减少功耗和增加性能的双重优势,目前主流的工艺仍是14nm。导热硅脂:用于填充CPU上盖和散热器之间的空隙,一般来说买散热器都有附送涂抹导热硅脂时只需在CPU中心挤黄豆大小一粒,然后用散热器压平就行,不宜涂太多,尤其是AMD送的原装强力胶。版本:在很多志强和E5洋垃圾中,我们常会看见一些名词,例如ES、QS、正显、不显等等这些很多是在CPU正式定型之前的测试版本流出的样片,部分会有bug并且不太稳定,ES代表测试版,QS或者ES正显基本就是正式版,而且ES正显这种称呼实际上是错误的,正显只有QS或者正式版这两种,正显和不显代表能否在系统中正确显示型号,步进则是CPU研发过程中的修订版本,所以一般推荐正式版&QS&ES选购这类CPU时要多了解不同版本的区别,而且E5-26XX系列大多数单核性能薄弱,不适用于游戏,虽然有E5-16XX作为单核性能的补充,但是市面上的大部分X79都是寨板,虽然价格实惠但容易出现问题,而正规主板基本只有二手可选并且价格昂贵,更古老的X58功耗大,尽管性价比极高但如果没有丰富的装机经验,这些都不推荐没有丰富经验又想组一台工作站,建议直接使用X99主板+E5 V3以上。并且如今AMD Ryzen R7和即将推出的线程撕裂者也是不错的选择。指令集:目前主流的指令集有X86和ARM两种,分别叫做复杂指令集和精简指令集,前者主要是我们的桌面端在使用,而后者则是手机、平板等Android和iOS设备使用,复杂指令集能完成很多需要巨大运算性能的工作,所以X86一般被称为桌面级,而ARM的精简指令集能做的工作就很少啦,不过它胜在功耗低,省电。指令集是CPU等硬件接受指令,进行运算再到输出结果时使用的机器语言,需要硬件与软件相互兼容,所以也是应用程序的基础,这就是你无法在Android手机上安装Windows的缘故,除非使用虚拟机来模拟。此外还有一些扩展指令集,例如MMX、SSE等等,一般是加强了CPU对于某种特定运算方式的支持和运行效率,和对原有指令集的扩展,例如同样是双核4线程的奔腾G4560比i3-7100少了AVX2.0等三个指令集,在视频处理时会有一些影响,支持指令集的数量多也是高端CPU和新CPU的好处。封装:顾名思义,封装就是CPU外面那一层金属和PCB现在主流的封装有PGA:针脚在CPU上,需要插入主板上的插槽,LGA,针脚在主板上,CPU上只有触点,BGA主要使用在笔记本和移动端CPU,芯片直接焊接在主板上。相同封装的芯片又有不同的针脚数来对应不同的主板,例如intel第六、七代的LGA1151就只能插到针脚数相同的H110、B150、Z170、B250、Z270等主板上。但也有例外,比如说771硬改775。二、处理器命名先来普及两个名词桌面端:就是指台式计算机级别,一般是性能较高的。移动端:用于笔记本、平板,功耗低性能也低。Intel处理器命名:作为这几年主流的CPU厂商,目前intel的产品分为很多个系列,由于命名方式繁而杂,这次便先介绍目前的主流的CPU。赛扬和奔腾主打入门级消费市场,其中奔腾又强于赛扬。酷睿系列是目前主流性能的CPU,也是目前最常见的,比如说常见的i3、i5、i7等等。志强是专门为服务器和工作站开发的处理器,目前主流是志强E系,由于酷睿i系最常见,便先由他讲起。酷睿i系:酷睿i系列的命名方式还是比较简单的,如图目前酷睿i系列分为i3、i5、i7、i7至尊、i9这五个系列,性能由低到高排列。需要注意的是,这些不同前缀的处理器所需的主板也不同,这些后面会提到。目前大多数的桌面级i3为双核四线程,i5为四核四线程,i7为四核八线程以上,根据核心数也能大致区分性能。需要注意的是,由于目前很多游戏的多核优化还是一般,所以甚至会出现i3-7350k这样单核性能强多核性能弱的CPU在游戏帧数上秒掉不能超频的非K i7的现象,所以只玩游戏的话,单核性能较强,多核也不差的i5是不错的选择。据说第八代的i5、i7还会上到6核。大大增强了多核性能,对于多开、直播,视频剪辑等都大有好处。迭代,数字越大,型号越新,一般性能也会越强,目前最新的是7系,这个数字也要对应正确的主板芯片组型号性能等级是后三位数字,同样数字越大性能越强。后缀,K代表不锁倍频,可以随意超频,X代表高性能,一般用在i7至尊处理器中,是同代CPU中的旗舰,性能和价格都是数一数二的。后缀S低功耗版,T超低功耗版,P无核显版,M移动版,一般都是双核心,性能较低,U移动超低电压版,这个后缀的性能一般是最弱的,但功耗小,至于Y后缀……那就真的只能当上网本了。在选购笔记本时要千万注意M、U、Y这几个后缀,同型号性能远弱于桌面级。很多笔记本的什么i7、i5处理器实际上都是低压的U后缀版。不过到了6代以后就不存在M后缀了。HQ、MQ、QM代表移动四核版,在保持低功耗的同时兼顾了多核性能,不过由于主频低仍然是弱于桌面端的,MX、XM代表移动极致性能版,一般是笔记本电脑上除直接上桌面端外的顶配。发热量也很感人。所以这里可以简单区分一些CPU,比如说i7-7700K是指i7系列第七代定位高端不锁倍频的处理器,i7-7500u就是指i7系列定位中端的低电压处理器但由于是不同平台,i7-7500u的性能甚至弱于i3-7100志强:志强E系列命名比较复杂,如图主要是使用在工作站,服务器上的,分为E3、E5、E7三个系列,而且很多没有核显,E3是和前面酷睿系列一样的LGA115X接口,而E5、E7则要使用LGA2011接口的主板了。E3大多数是四核八线程,几乎就是锁了倍频关了核显(E3-1285L除外)的i7,所以前几年的性价比非常高,但是现在已经不太值得购买。性能同样是按数字依次增强。第一位数字代表同一主板上的CPU路数,简单说就是一块主板上能插几枚CPU其中还有一些小规律,比如E5的1开头的显著特征就是核心少,主频高,就像四核八线程的E5-1620,2开头核心多主频低。比如十四核二十八线程的E5-2683 V3。至于其他型号由于比较少见就不深入了。第二、三位数字代表性能等级,同代数字越大性能越强。最后一位数字代表有无核显,0为无核显,5为有核显,也有部分代表性能等级后缀L代表低功耗,后面的V加上一个数字就是迭代版本了。但同样是LGA2011接口,不同版本的E5、E7需要的主板也是不同的,无后缀和后缀为V2的使用X79主板,后缀V3及以上的使用X99主板新的赛扬和奔腾都以G开头,大部分是双核双线程,少部分双核四线程,主打入门和低端市场,由于命名规律十分繁杂,而且目前值得购买的只有G4560、G4620这些双核四线程的CPU,所以就不详细叙述了,需要的请自行查阅表格。至于老的酷睿和志强赛扬奔腾,由于LGA775、771接口已经很老了,并且我也对这块不熟悉,比较遗憾不能分析AMD处理器命名:前几年AMD不争气的推土机架构招了不少黑,但好在这次Ryzen的发布不再是360°翻身了,性价比相当高。目前AMD的CPU主要分四个系列最新的Ryzen系列、霄龙系列、推土机等农机架构FX、核显十分强大的A系列,还有老的羿龙、速龙系列。Ryzen系列的命名方式非常简单,甚至可以说是和intel一样,拥有4个系列,Ryzen R3、R5、R7、Threadripper,最高端的已经达到了16核32线程,即使最低端的R3也是四核四线程。分别对标intel的i3、i5/i7、i7至尊、i9,有趣的是,无论是哪个系列,AMD的大部分CPU都要比intel多两个核心或者多个超线程,无疑是想从多核性能上碾压同级别的iu,也弥补了AMD的GF格罗方德半导体(global foundries)&家晶圆超频性能差导致单核薄弱的问题。第一个数字代表迭代,目前Ryzen是第一代接下去三个数字代表性能等级,700~800属于R7,800以上属于Threadripper,400~600属于R5,400以下属于R3,性能区分非常明确。最后的后缀X表示这是一块默认主频更高的CPU,并且支持完整的XFR扩频技术(R7-1700也支持但并不完整),目前也只有这一个后缀,值得注意的是,Ryzen系列全线解锁倍频,支持超频推土机架构AMD的FX系列使用的是推土机(Bulldozer)架构,32nm工艺,核心多,主频高,支持超频,但是功耗巨大,单核性能薄弱,实际游戏表现也就和i5持平,但是多核性能强于i5如果预算不高但是需要视频剪辑、多开等多核性能要求高的应用,可以考虑,如今的性价比还是不错的。第一个数字代表核心数(数字9也是8核),比如FX8350是八核,FX6300是六核,剩下三个数字代表性能等级,数字越大性能越强。APU中,前面的A加上一个数字是系列,也代表定位,第一个数字代表迭代,后面3位数字代表性能等级,后缀K代表更高的频率。APU的核显性能强悍,可以媲美部分入门独显,但是CPU性能薄弱,是极低预算下玩LOL之类游戏的不错选择AMD的羿龙、速龙系列前缀代表核心数,比如X4 955是四核,X2 240是双核,后面的数字基本就代表性能等级,具体还有很多细分的命名规则,但篇幅限制就不讲了。三、CPU选购推荐在选择适合自己的CPU之前呢,首先你需要掏出自己的钱包,所以其实买什么不是由我们决定的,而是钱包……建议大家把60%的钱用在CPU和显卡上,想要查看显卡可以查看上期(),如果是老机器升级那么先按照我说的做,百度并下载CPU-Z,安装后打开,找到CPU型号和接口型号,接着把接口型号输入百度,找合适的CPU并且通过CPU天梯图和自己原有的比较。天梯图如下如果你的整机预算在10000上下,希望在游戏和专业应用上都获得顶级的体验,那么i7-7700k搭配Z270主板和R7-1700(X)、R5-1600X搭配B350主板都是不错的选择,主板+CPU在3000元左右。如果只是想玩3A大作不在乎很多费多线程性能的多开、专业应用,总预算在5000元上下,那么i5-7500或者i5-7600k搭配B250主板,R5-1400X搭配B350主板能获得不错的游戏体验,CPU+主板价格在2000元上下,剩下的钱买张显卡。如果你的预算比较低,总预算在2500上下,并且要玩游戏,那么可以考虑老平台或者入门级CPU,G4560这枚媲美i3的CPU+H110主板,i5-3470或者E3-1230 V2搭配B75虽然升级潜力不高主板也能有不错的体验,或者即将上市的R3-主板CPU+主板在1000元上下如果你的总预算较低而且需要运行考验多线程的专业应用和多开,那么AMD的FX主板或者E3-1230 V2加上B75主板可以获得不错的性能,CPU+主板大约1000元,E5系列+X79寨板也可以考虑,但是风险比较大如果你的总预算已经低到2000元以下,并且先不买显卡,那么可以选择APU最新的A8-9600或者加钱A12-9800搭配B350主板,LOL等游戏有不错的体验并且AM4接口有升级Ryzen的潜力,CPU+主板在1100左右,i3-7100和G4560的核显也不错并且升级潜力大。如果预算在1000元以下,就没有新u可选了,AMD的X4-955搭配880主板只要500元,X4-740搭配A55主板只要200元,X4-860K性价比也很高,可以搭配AMD专用条使用,价格十分低廉。如果……没有如果,请百度一下149大战LOL。至于那些上i7至尊,i9和双路E5的大佬们,我也帮不上什么忙。好的本篇文章就到这里,原创不易,个人能力限制也许会有差错,望原谅最后由于是文章是由视频转制而来,附上更加详细的视频链接B站视频地址:优酷视频地址:海外视频通道:
软媒旗下软件:
IT之家,软媒旗下科技门户网站 - 爱科技,爱这里。
Copyright (C) , All Rights Reserved.温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
不太想理采复杂的事物^ - ^
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
阅读(27666)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
loftPermalink:'',
id:'fks_080064',
blogTitle:'[CPU] 检测CPU是否支持Intel VT虚拟化技术',
blogAbstract:'
&&&&&&& Intel Virtualization Technology(VT)就是以前众所周知的“Vanderpool”技术,这种技术让可以让一个CPU工作起来就像多个CPU并行运行,从而使得在一部电脑内同时运行多个操作系统成为可能。
&&&&&&& 根据intel的资料,intel虚拟技术的实现需要同时具有处理器、芯片组、BIOS、VMM软件的支持,这些特定的平台软件必须全部到位。
&&&&&&& 我将针对VMware和Virtual PC等虚拟机是否能够安装64位系统进行分析和探讨。',
blogTag:'vt,虚拟化技术,cpu-z,securable,bios',
blogUrl:'blog/static/',
isPublished:1,
istop:false,
modifyTime:6,
publishTime:3,
permalink:'blog/static/',
commentCount:5,
mainCommentCount:4,
recommendCount:1,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:false,
hostIntro:'不太想理采复杂的事物^ - ^',
hmcon:'0',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}CPU扩展指令集_百度百科
声明:百科词条人人可编辑,词条创建和修改均免费,绝不存在官方及代理商付费代编,请勿上当受骗。
CPU扩展指令集
CPU扩展指令集指的是CPU增加的多媒体或者是3D处理指令,这些扩展指令可以提高CPU处理多媒体和3D图形的能力。著名的有(多媒体扩展指令)、SSE(因特网单指令扩展)和指令集。CPU依靠指令来计算和控制系统,每款CPU在设计时就规定了一系列与其硬件电路相配合的。指令的强弱也是CPU的重要指标,指令集是提高效率的最有效工具之一。
CPU扩展指令集基本概况
CPU依靠指令来计算和控制系统,每款CPU在设计时就规定了一系列与其硬件电路相配合的。指令的强弱也是CPU的重要指标,指令集是提高微处理器效率的最有效工具之一。从主流体系结构讲,指令集可分为和两部分,而从具体运用看,如的(Multi Media Extended)、SSE、 SSE2(Streaming-Single instruction multiple data-Extensions 2)、SEE3和AMD的等都是CPU的,分别增强了CPU的多媒体、图形图象和Internet等的处理能力。通常会把CPU的扩展指令集称为&CPU的指令集&。也是规模最小的指令集,此前包含有57条命令,SSE包含有50条命令,包含有144条命令,包含有13条命令。[1]
CPU扩展指令集运用
在最初发明计算机的数十年里,随着计算机功能日趋增大,性能日趋变强,内部元器件也越来越多,指令集日趋复杂,过于冗杂的指令严重的影响了计算机的工作效率。后来经过研究发现,在计算机中,80%程序只用到了20%的指令集,基于这一发现,被提了出来,这是计算机系统架构的一次深刻革命。的基本思路是:抓住指令种类太多、不规范、太多的缺点,通过减少指令种类、规范指令格式和简化寻址方式,方便处理器内部的,提高器件的使用效率,从而大幅度地提高处理器的性能。
CPU扩展指令集基本分类
从现阶段的主流体系结构讲,指令集可分为和精简指令集两部分,而从具体运用看,如的(Multi Media Extended)、、 SSE2(Streaming-Single instruction multiple data-Extensions 2)和AMD的3DNow通常会把CPU的称为&CPU的指令集&。
CPU扩展指令集指令分类
CPU扩展指令集CISC
CISC指令集,也称为,英文名是,(Complex Instruction Set Computer的缩写)。在CISC中,程序的各条指令是按顺序串行执行的,每条指令中的各个操作也是按顺序串行执行的。的优点是控制简单,但计算机各部分的利用率不高,执行速度慢。其实它是生产的x86系列(也就是架构)CPU及其兼容CPU,如AMD、VIA的。即使是新起的(也被成)都是属于CISC的范畴。指令集是为其第一块16位CPU(i8086)专门开发的,IBM1981年推出的世界第一台PC机中的CPU—i简化版)使用的也是X86指令,同时电脑中为提高浮点数据处理能力而增加了X87芯片,以后就将X86指令集和X87指令集统称为X86指令集。
虽然随着CPU技术的不断发展,Intel陆续研制出更新型的i80386、i80486直到过去的PII、PIII至强、Pentium 3,最后到Pentium 4系列、至强(不包括至强Nocona),但为了保证电脑能继续运行以往开发的各类应用程序以保护和继承丰富的软件资源,所以Intel公司所生产的所有CPU仍然继续使用指令集,所以它的CPU仍属于X86系列。由于Intel X86系列及其兼容CPU(如AMD Athlon MP、)都使用X86指令集,所以就形成了庞大的X86系列及兼容CPU阵容。x86CPU主要有的服务器CPU和AMD的两类。
CPU扩展指令集RISC
RISC是英文“Reduced Instruction Set Computing ” 的缩写,中文意思是“”。它是在基础上发展起来的,有人对CISC机进行测试表明,各种指令的使用频度相当悬殊,最常使用的是一些比较简单的指令,它们仅占指令总数的20%,但在程序中出现的频度却占80%。复杂的指令系统必然增加的复杂性,使处理器的研制时间长,成本高。并且复杂指令需要复杂的操作,必然会降低计算机的速度。基于上述原因,20世纪80年代RISC型CPU诞生了,相对于CISC型CPU ,RISC型CPU不仅精简了指令系统,还采用了一种叫做“和结构”,大大增加了能力。RISC指令集是高性能CPU的发展方向。它与传统的()相对。相比而言,RISC的统一,种类比较少,也比复杂指令集少。当然处理速度就提高很多了。在中高档服务器中普遍采用这一的CPU,特别是高档服务器全都采用RISC指令系统的CPU。RISC指令系统更加适合高档服务器的操作系统,也属于类似UNIX的操作系统。RISC型CPU与和AMD的CPU在软件和硬件上都不兼容。在中高档服务器中采用的CPU主要有以下几类: 、、、、。
CPU扩展指令集IA-64
EPIC(Explicitly Parallel Instruction Computers,精确并行指令计算机)是否是RISC和体系的继承者的争论已经有很多,单以EPIC体系来说,它更像的处理器迈向RISC体系的重要步骤。从理论上说,EPIC体系设计的CPU,在相同的主机配置下,处理Windows的应用软件比基于下的应用软件要好得多。
Intel采用EPIC技术的是(开发代号即Merced)。它是,也是IA-64系列中的第一款。微软也已开发了代号为Win64的操作系统,在软件上加以支持。在采用了X86指令集之后,它又转而寻求更先进的64-bit微处理器,Intel这样做的原因是,它们想摆脱容量巨大的,从而引入精力充沛而又功能强大的指令集,于是采用EPIC指令集的架构便诞生了。IA-64 在很多方面来说,都比有了长足的进步。突破了传统的许多限制,在数据的处理能力,系统的稳定性、安全性、可用性、可观理性等方面获得了突破性的提高。
IA-64最大的缺陷是它们缺乏与x86的兼容,而Intel为了IA-64处理器能够更好地运行两个朝代的软件,它在IA-64处理器上(、Itanium2 ……)引入了x86-to-IA-64的,这样就能够把指令翻译为指令。这个解码器并不是最有效率的解码器,也不是运行x86代码的最好途径(最好的途径是 直接在x86处理器上运行x86代码),因此Itanium 和Itanium2在运行x86应用程序时候的性能非常糟糕。这也成为产生的根本原因。
CPU扩展指令集X86-64
AMD公司设计,可以在同一时间内处理64位的整数运算,并兼容于X86-32架构。其中支持64位逻辑定址,同时提供转换为32位定址选项;但数据操作指令默认为32位和8位,提供转换成64位和16位的选项;支持常规用途,如果是32操作,就要将结果扩展成完整的64位。这样,指令中有“直接执行”和“转换执行”的区别,其指令字段是8位或32位,可以避免字段过长。
(也叫)的产生也并非空穴来风,处理器的32bit限制在4GB内存,而的处理器又不能兼容x86。AMD充分考虑顾客的需求,加强x86指令集的功能,使这套指令集可同时支持64位的运算模式,因此AMD把它们的结构称之为x86-64。在技术上AMD在x86-64架构中为了进行64,AMD为其引入了新增了R8-R15作为原有X86处理器寄存器的扩充,但在而在32位环境下并不完全使用到这些寄存器。原来的诸如、EBX也由32位扩张至64位。在SSE单元中新加入了8个新寄存器以提供对的支持。寄存器数量的增加将带来性能的提升。与此同时,为了同时支持32和64位代码及寄存器,架构允许处理器工作在以下两种模式:Long Mode(长模式)和Legacy Mode(遗传模式),Long模式又分为两种子模式(64bit模式和Compatibility mode兼容模式)。该标准已经被引进在AMD服务器处理器中的处理器。
而推出了支持64位的EM64T技术,再还没被正式命为之前是IA32E,这是英特尔的名字,用来区别指令集。的EM64T支持64位sub-mode,和AMD的技术类似,采用64位的线性平面寻址,加入8个新的(),还增加8个寄存器支持。与AMD相类似,Intel的将兼容IA32和IA32E,只有在运行下的时候,才将会采用IA32E。IA32E将由2个sub-mode组成:64位sub-mode和32位sub-mode,同一样是向下兼容的。的将完全兼容AMD的X86-64技术。Nocona处理器已经加入了一些64位技术,Intel的Pentium 4E处理器也支持64位技术。
应该说,这两者都是兼容指令集的64位微处理器架构,但EM64T与AMD64还是有一些不一样的地方,AMD64处理器中的NX位在Intel的处理器中将没有提供。[2]
CPU扩展指令集扩展
CPU扩展指令集综述
对于CPU来说,在基本功能方面,它们的差别并不太大,基本的指令集也都差不多,但是许多厂家为了提升某一方面性能,又开发了扩展指令集,扩展指令集定义了新的数据和指令,能够大大提高某方面数据处理能力,但必需要有软件支持。
CPU扩展指令集MMX
MMX发布于1997年,一共57条指令,除了、movd和movq这3个指令,其他所有的都以字母p开头。MMX指令与()使用同样的8个,准确说是借用了FPU每个寄存器的前64位,这样MMX指令一次最多可以处理8个字节或者4个字节或者2个双字节或者1个4字节的数据,理论上可以将最高提高8倍。 MMX与FPU共用证明了的短视,因为如果FPU要使用寄存器,这时必须暂时退出,等FPU用完之后才能恢复原状。加上早期具有很强的能力,游戏开发者都喜欢采用浮点运算,冲突的结果就是MMX的作用大打折扣,甚至有时还会造成性能的瞬间剧降。 Intel没有沿用MMX的称呼,1999年的Pentium Ⅲ处理器上指令集改称SSE。SSE采用了单独的寄存器,解决了与冲突的问题。8个128位单独的SSE寄存器,支持同时处理 4 个,能够同时处理的数据比64位的MMX翻了一番。SSE一共有70条指令,进一步提升了CPU多媒体处理能力。也从这时开始,SSE的名称固定了下来。MMX指令集代表处理器:Pentium MMX
CPU扩展指令集SSE
SSE(Streaming SIMD Extensions,单指令多数据流扩展)指令集是在Pentium III处理器中率先推出的。其实,早在PIII正式推出之前,Intel公司就曾经通过各种渠道公布过所谓的KNI(Katmai New Instruction)指令集,这个指令集也就是SSE指令集的前身,并一度被很多传媒称之为MMX指令集的下一个版本,即MMX2指令集。究其背景,原来&KNI&指令集是Intel公司最早为其下一代芯片命名的指令集名称,而所谓的&MMX2&则完全是硬件评论家们和媒体凭感觉和印象对&KNI&的 评价,Intel公司从未正式发布过关于MMX2的消息。
而最终推出的SSE指令集也就是所谓胜出的&互联网SSE&指令集。SSE指令集包括了70条指令,其中包含提高3D图形运算效率的50条(单指令多数据技术)指令、12条MMX 整数运算增强指令、8条优化内存中连续传输指令。理论上这些指令对流行的图像处理、浮点运算、3D运算、、音频处理等诸多多媒体应用起到全面强化的作用。与指令彼此互不兼容,但SSE包含了3DNow!技术的绝大部分功能,只是实现的方法不同。SSE兼容,它可以通过和单多个浮点数据来有效地提高速度。
SSE指令集代表处理器:Pentium III
CPU扩展指令集SSE2
SSE2(Streaming SIMD Extensions 2,官方称为SIMD 流技术扩展 2或单指令多数据 2)指令集是Intel公司在SSE指令集的基础上发展起来的。相比于SSE,使用了144个新增指令,扩展了和SSE技术,这些指令提高了广大应用程序的运行性能。随技术引进的整数指令从64位扩展到了128 位,使SIMD整数类型操作的有效执行率成倍提高。双倍精度浮点SIMD指令允许以 SIMD格式同时执行两个浮点操作,提供双倍精度操作支持有助于加速内容创建、财务、工程和科学应用。除SSE2指令之外,最初的也得到增强,通过支持多种数据类型(例如,双字和四字)的算术运算,支持灵活并且更广的计算功能。指令可让软件开发员极其灵活的实施算法,并在运行诸如、MP3、3D图形等之类的软件时增强性能。是从核心的Pentium 4开始支持的,而AMD则是从K8架构的SledgeHammer核心的开始才支持SSE2指令集的。
SSE2指令集Intel代表处理器:老Pentium 4
CPU扩展指令集SSE3
SSE3(Streaming SIMD Extensions 3,官方称为SIMD 流技术扩展 3或数据流单指令多数据 3)指令集是Intel公司在的基础上发展起来的。相比于,在SSE2的基础上又增加了13个额外的指令。SSE3 中13个新指令的主要目的是改进和特定应用程序领域,例如媒体和游戏。这些新增指令强化了处理器在浮点转换至整数、复杂算法、、SIMD操作以及线程同步等五个方面的表现,最终达到提升多媒体和游戏性能的目的。Intel是从核心的Pentium 4开始支持的,而AMD则是从2005年下半年的开始才支持的。但是需要注意的是,AMD所支持的SSE3与的SSE3并不完全相同,主要是删除了针对Intel优化的部分指令。
SSE3指令集Intel代表处理器:基于Prescott核心新Pentium 4
CPU扩展指令集3D Now
3DNow!是AMD公司开发的指令集,可以增强浮点和多媒体运算的速度,并被AMD广泛应用于其K6-2 、K6-3以及Athlon(K7)处理器上。指令集技术其实就是21条的。
与Intel公司的侧重于整数运算有所不同,3DNow!指令集主要针对、 和效果渲染等三维应用场合,在软件的配合下,可以大幅度提高3D处理性能。后来在Athlon上开发了Enhanced 3DNow!。这些AMD标准的SIMD指令和的SSE具有相同效能。因为受到Intel在商业上以及Pentium III成功的影响,软件在支持SSE上比起更为普遍。Enhanced 3DNow!AMD公司继续增加至52个指令,包含了一些SSE码,因而在针对SSE做最佳化的软件中能获得更好的效能。
一个指令,同时处理多个数据的好创意,其他CPU当然也不会放过。AMD看到Intel MMX,眼红之下在K6 CPU里搞出了一个类似的3DNow!因为与混用时性能会有下降的情况,支持浮点数的3DNow!找着了机会。其实是AMD占了的便宜,因为很多程序员把3DNow!作为MMX的一个补充,处理整数的时候用MMX,处理浮点数的时候用3DNow!。
1999年的时候,AMD在处理器上又添加了几个指令,这就是+,又被称为3DNow!2。不过看到大势已去,AMD终于放弃了在上的抵抗,转而支持Intel SSE,这样双方一直到都相安无事。统一的标准其实是一件好事,要是一个软件分别有SSE版本和3DNow!+版本,开发者和用户很快都会不堪其扰。
但是AMD和在多媒体指令集上又开始大打出手,大有分道扬镳的势头。与Intel SSE4.1针锋相对,AMD Phenom只支持SSE4A指令集,并且AMD在抢先放出了的风声,而Intel则断然拒绝支持AMD的SSE5,直到现在双方还相持不下。
CPU扩展指令集SSE4
SSE4指令集是架构所引入的新指令集。这项原本计划应用于微架构Tejas核心处理器之上的全新技术也随着它的夭折最终没能实现,这不能不说是个遗憾,但是出现在了Conroe上又让我们看到了希望。
SSE4指令集共包括16条指令,不过虽然推出已经有一些时日,但英特尔仍没有公布SSE4指令集的具体资料。这相当令人感到纳闷。也许英特尔是基于特殊的考虑,仅让少数合作软件厂商取得数据,只是这种作法实在很没有说服力就是了,天底下没有哪家处理器厂商,希望自己新增的指令越少人用越好。
不过,从Intel 针对所作出的修改被称之为“Intel Advanced Digital Media Boost”技术来看,未来将更注重针对视频方面的优化,我们认为SSE4主要改进之处可能将针对英特尔的Clear Video高清视频技术及规范提供强有力的支持。这两项技术基于965,的官方把Clear Video技术定义为:支持高级解码、拥有预处理和增强型3D处理能力。
值得一提的是,在SSE4中另一个重要的改进就是提供完整128的SSE执行单元,一个频率周期内可执行一个128位SSE指令。Conroe中SSE的ADDPS(4D 32bit共128bit,加法)、MULPS(4D 32bit共128bit,单精度乘法)和的ADDPD(2D 64bit共128bit,双精度加法)、MULPD(2D 64bit共128bit,双精度乘法),这四条重要SSE算术指令的吞吐周期都降低到1个周期,真正做到了英特尔宣称的每个周期执行一条128位向量加法指令和一条128位向量乘法指令的能力。
据指出,在应用后,增加了2个不同的32Bit向量整数乘法运算支持,引入了8 位无符号 ()最小值及最大值运算,以及16Bit 及32Bit 有符号 (Signed) 及无符号运算,并有效地改善效率及提高向量化整数及代码的运算能力。同时,SSE4 改良插入、提取、寻找、离散、跨步负载及存储等动作,令向量运算进一步专门化。
加入了6条运算指令,支持单精度、双精度及浮点产生操作,且IEEE 754指令 (Nearest, -Inf, +Inf, and Truncate) 可立即转换其路径模式,大大减少延误,这些改变将对游戏及 3D 内容制作应用有重要意义。
此外,SSE4加入串流式负载指令,可提高以图形帧缓冲区的读取数据频宽,理论上可获取完整的快取行,即每次读取64Bit而非8Bit,并可保持在临时缓冲区内,让指令最多可带来8倍的读取频宽效能提升,对于视讯处理、成像以及与之间的共享数据应用,有着明显的效能提升。
据资深工程师兼 Penryn 微架构主管 Stephen Fischer 表示,全新 DivX Alaph 内部测试版本已完全支持, 1颗 3.33G Hz 的的运算效能,相比上代Intel Core 2 Duo QX6800快约105% ,其中约7成的增益来自SSE4指令集,效果令人满意。
CPU扩展指令集SSSE3
(Supplemental Streaming SIMD Extensions 3)内置于Intel公司微处理器中的多媒体关联的扩张指令集。是扩张了的产品,于2006年7月首次装载在Core 2 Duo处理器中。
SSE3装载了用一个命令一口气处理复数个数据的「」的处理方式,特别在处理语音和动画关联上能够高速地发挥力量。是在 SSE3命令的基础上又添加了32个新命令的产品,其原名为TNI,是的子集,包含有13条命令。目前SSSE3也是最先进的指令集,增强了CPU的多媒体、图形图象和Internet等的处理能力。
代表处理器:65nm 酷睿2
CPU扩展指令集SSE4.2
在架构的Core i7处理器中,SSE4.2指令集被引入,加入了STTNI(字符串文本新指令)和ATA(面向应用的加速器)两大优化指令。新加入的几条新指令有两类。第一类是字符串与文本新指令STTNI,STTNI包含了四条具体的指令。STTNI指令可以对两个16位的数据进行匹配操作,以加速在XML分析方面的性能。据表示,新指令可以在XML分析方面取得3.8倍的性能提升。
第二类指令是面向应用的加速指令ATA。ATA包括的指令、计算源中非0位个数的POPCNT指令,以及对于打包的64位的指令。CRC32指令可以取代上层数据协议中经常用到的循环冗余校验,据Intel表示其可以达到6.5~18.6倍;POPCNT用于提高在DNA基因配对、声音识别等包含大数据集中进行模式识别和搜索等操作的应用程序性能。 Intel也公布了支持新指令集的开发工具。这些工具涵盖了主流的编译开发环境。已明确支持SSE4.2的包括:Intel C++ Compiler 10.X、微软的Visual Studio 2008 VC++、GCC 4.3.1、Sun Studio Express等。程序员可以直接使用高级编程语言编程,会自动生成优化结果。当然程序员也可以用内嵌汇编的方式来达到目的。
CPU扩展指令集AMD64
AMD的athlon 64系列处理器的是在指令集的基础上加入了的64位扩展X86指令集,这就使得athlon 64系列处理器可兼容原来的32位的X86软件,并同时支持X86-64的扩展,并且具有64位的寻址能力,使得它成为真正的64位X86构架处理器。在采用X86-64架构的Athlon 64处理器中,X86-64指令集中新增了几组处理器,它能够提供更加快速的执行效率。寄存器是处理器用来创建和储存CPU运算结果和其他运算结果的地方,标准的X86构架中包括8组,而在AMD的X86-64架构中又增加了8组,将通过寄存器的数目提高到了16组。在这基础之上,指令集还另外增加了8组128位的XMM寄存器,也叫做SSE寄存器。它能够给单指令多数据流技术()运算提供更多的存储空间,这些128位的寄存器能够提供在矢量和标量计算模式下进行128位双精度处理,这也为3D数据处理、矢量分析和虚拟技术提供了良好的。由于提供了更多的,按照X86-64标准生产的处理器可以更有效率的处理数据,在一个内能够传输更多的信息。
CPU扩展指令集EM64T
EM64T(Extended Memory 64 Technology)也就是Intel公司开发的64位技术。它实际上就是Intel 构架体系的扩展,既IA-32E(Intel Architectur-32 Extension)。的IA-32处理器通过加入EM64T技术便可在兼容IA-32软件的情况下,允许软件程序利用更多的空间,并且允许程序进行32 位写入。Intel的所强调的是32位技术与的兼容性,为采用EM64T的处理器增加了8个64位,并将原有的32位通用寄存器全部扩展为64位,这样也提高了处理器的整数运算能力。另外增加的8个SEE也提供了对SSE、和指令的支持。
CPU扩展指令集指令展望
AMD表示,指令集的使命之一是增强应用,并充分发挥、多媒体的并行优势。SSE5将把以往只存在于高性能特殊架构里的功能引入到x86平台中,以此最大化每条指令的输出能力,并增强代码库。
SSE5是128-bit指令集,一共有170条指令,其中基础指令64条,新增的最重要的有两条:
首先是“三指令”(3-Operand InstrUCtions)。x86指令以往只能处理双操作数,而SSE5会提高到三操作数,达到RISC架构的水平,从而把多个简单的指令集整合到更高效的一个单独指令中,提高执行效率。
然后是“熔合乘法累积”(Fused Multiply Accumulate,FMACxx)。该技术可以把乘法和其他算法结合起来,保证之用一条指令就能完成运算,从而简化代码、提高效率,适用于真实图形着色、快速照相渲染、空间化音频、复向量(矢量)数学等场合。
除此之外还有整数乘法累积指令(IMAC,IMADC)、置换与条件移动指令、向量比较与测试指令、精度控制舍入与变换指令等等。
CPU扩展指令集最新指令
市面上和AMD的桌面级处理器在X86指令集的基础上,为了提升处理器各方面的性能,所以又各自开发新的指令集。指令集中包含了处理器对多媒体、3D处理等方面的支持,这些指令集能够提高处理器对这某些方面处理器能力,但是需要有必要的软件支持。Intel的主流桌面处理器共有两个模式,传统的模式和IA-32E模式。在可支持指令的处理器内有一个扩展功能激活寄存器(Extended Feature Enable Register),称为IA-32_EFER的部件,它控制处理器的EM64T是否被激活。在普通情况下,处理器会作为一颗标准的IA-32处理器,如果在运行64位的软件或程序时,EM64T就会被激活,那么处理器便会在IA-32E扩展模式下运行。}

我要回帖

更多关于 arm汇编指令集 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信