指令深入分析avx指令集

avx指令集  时间:2021-03-10  阅读:()

SNB平台掌上明珠深入分析AVX指令集

指令集是指CPU能行的所有指令的集合每一指令 一操作任何程序最要 成一条条指令才能CPU 并行。CPU依靠指令来算和控制系所以指令强弱是衡量CPU性能的重要指指令集也成提高CPU效率的有效工具。

CPU都有一个基本的指令集 比如目前英特和AMD的大部分理器都使用的是X86指令集 因它都源自于X86架构。但无CPU有多快 X86指令也只能一次理一个数据 效率就很低下 竟在很多用中数据都是成出的 比如一个点的坐 XYZ和色 RGB 、多声道音等。 了提高CPU在某些方面的性能就必增加一些特殊的指令足代步的需求 些新增的指令就构成了展指令集。

英特 CPU 展指令集演

英特在1996年率先引入了MMX Multi Media eXtensions 多媒体展指令集 也了SIMD Single Instruction Multiple Data 指令多数据指令集之先河即在一个周期内一个指令可以完成多个数据操作 MMX指令集的出 当的MMX Pentium大出 。

英特 理器展指令集演史片来源后藤弘茂

SSE Streaming SIMD Extensions 流式指令多数据展指令集是1999年英特在Pentium III理器中率先推出的 并将矢量理能力从64位展到了128位。在Willamette核心的Pentium 4中英特又将展指令集升到SSE2 2000年  而SSE3指令集 2004年是从Prescott核心的Pentium 4始出 。

SSE4 2007年指令集是自SSE以来最大的一次指令集展 它 上分成Penryn中出

的SSE4.1和Nehalem中出的SSE4.2其中SSE4.1占据了大部分的指令 共有47条Nehalem中的SSE4指令集更新很少 只有7条指令 一共有54条指令称SSE4.2 。

Sandy Bridge支持AVX指令集

当我 在性的 英特将推出SSE5  不料半路出来个程咬金 2007年8月 AMD先宣布了SSE5指令集(SSE到SSE4均英特出品) 英特当即黑表示不支持SSE5 而在2008年3月宣布Sandy Bridge微架构将引入全新的AVX指令集 同年4月英特公布AVX指令集范随后始不断行更新 界普遍 支持AVX指令集是Sandy Bridge最重要的步没有之一。

英特AVX指令集介

AVX Advanced Vector Extensions 高矢量展指令集借了一些AMD SSE5的思路 行展和加强 形成一套新一代的完整SIMD指令集范。

IDF2010上演示AVX用

在今年4月的IDF2010上 英特演示了AVX的用在两个不同平台上 跟踪刘翔运行服上的五星旗 果示 支持AVX的系 跟踪的用 14秒 比不支持AVX的系快了21秒性能提升了60%以上。

有趣的者可以点 看AVX用主演  大概在第33分左右。

英特AVX的新特性

英特AVX指令集主要在以下几个方面得到充和加强

·支持256位矢量算浮点性能最大提升2

·增强的数据重排 更有效存取数据

·支持3操作数和4操作数在矢量和量代中能更好使用寄存器

·支持灵活的不 内存地址

·支持灵活的展性强的VEX 方式 可减少代

支持256位矢量算

自1999年SSE将矢量理能力从64位提升到128位后 SSE系列指令都只能使用128位XMM寄存器 次AVX将所有16个128位XMM寄存器充256位的YMM寄存器从而支持256位的矢量算。

128位的XMM寄存器展到256位的YMM寄存器

意味着可以同 理8个32bit的浮点或是一个256bit的浮点在写程序可以忽略SSE 128bit的限制 直接写入一个可以行多操作能充分利用256bit数据位的代理想状下浮点性能最高能达到前代的2倍水平。

当然有并不是能完全能利用 256位在大多数情况下 些寄存器的高128位是 0或者是“LEFTunchanged”  同所有的SSE/SSE2/SSE3/SSSE3/SSE4指令是被AVX全面兼容的 AVX不兼容MMX  因此 操作的是YMM寄存器的低128位在一点上与原来的SSE系列指令集无异。

Sandy Bridge最突出的部分

了足指令集来的改 Load入元也要适一次入256Bit的能力所以增加了一入元完成入操作 并不是 的将 展一倍。 可以在一个 周期内 256位的乘、加和Shuffle运算。

使用新的256位寄存器来提升数据I/O效率 更好的 、播入的数据 的改数据序列 以此来 、 和入运算所需的数据速度更快效率更高。

AVX增加了很多新的浮点运算指令

AVX 引入了很多新的浮点运算指令浮点运算能力加强 不光提升了3D游 可以更有效的支持如 的flash示 更快的SVG 可伸矢量形支持 更好的HTML5效果等等相比用GPU算来功耗更小体更小 成本也小 GPU算是个不大不小的冲。支持3操作数和4操作数

通常一条算机指令包括有操作和操作数operands 操作决定要完成的操作操作数指参加运算的数据及其所在的元地址。比如movaps xmm1, xmm0就是一个双操作数SSE指令movaps操作其功能是将xmm0寄存器的内容制xmm1 。

新的3操作数和4操作数格式

AVX指令集改和加强了原有的在3个操作数指令的 和法使之更灵活。比如要xmm10 = xmm9 + xmm1的功能 以前需要两个指令行movapps xmm10, xmm9 将xmm9寄存器数据copy到xmm10addpd xmm10, xmm1 将xmm1和xmm10寄存器数据相加 并存放到xmm10

用AVX指令集新的3操作数方式 可以直接由一条指令就能完成vaddpd xmm10, xmm9, xmm1

然AVX三操作数能来更少的寄存器制 并且代也更精 。

4操作数然是AMD在SSE5中首先提出的但英特的AVX也能支持一方式其最收益是AVX 128和AVX 256使用非破坏性法减少寄存器的拷精代增加load/op fusion的机会。

movaps xmm0, xmm4movaps xmm1, xmm2blendvps xmm1,m128

比如上面的三条指令 利用4操作数 可以不需要使用含的xmm0 直接由下面一条指令完成vblendvps xmm1, xmm2,m128, xmm4

支持灵活的不 内存地址

CPU在工作只能按照内部数据位 度比如 32bit 的整倍数 界行内存操作即只能从地址0 、32 、64 、96. . . 行存取 而不能从27 、58 、83等非界地址 行。如果一定要取些非界地址的内容 必用若干个操作将其凑出来 因而大大影响存取效率。

一个并构的体 度却 不一定是32的倍数例如一个六个字符的构其度48位如果多个 的构在内存中着放 多构的起始地址将不在界 因此 程序是会将每个将的尾部都加入一些必要的空白凑其 成 32的整数倍 就是界 的基本道理。

的指令中 当 不 内存unaligned memory access  需要相当大的 周期 甚至会有 性延极大地降低速度。

而在AVX指令集中 以VEX前 的算指令和内存 指令在 内存更灵活既可

的内存地址 也可 未 的数据。当然 未 数据 多少都会有失但相 的指令来所承受的 要小得多 。

革新的VEX指令 方式

英特在2008年春天的IDF上介AVX的候就表示AVX的重点在于采用了称“VEX(Vector Extension)”革新的指令 方式。

VEX 指令解决方案x86指令集容易 但是每次于新指令和新数据型的增加都会在操作 opcode之前增加了一个字的前 prefix 从而 展的支持。 的就来指令集的 化和命令度增加从而致二制的冗余和增加CPU命令解硬件的 性。

VEX 方式解决了个  VEX的构想就是 prefix中包含的信息在1个字的payload中全部包括了prefix的内容 短指令度从而极大地降低了无的code size浪 。并且在今后入的新的寄存器中 128bits或更的256bits的数据 也将在payload中 。

Intel AVX vs.AMD XOP 片来源后藤弘茂

VEX prefix分2个字和3个字的版本即前部分使用C4h和C5h 。AMD的XOP指令集采用了似的方式 XOP前字改成了8Fh 然前不同但是payload部分的格式与VEX是相同的。AVX的VEX的 系 也反了英特 理器今后的化  它解决了x86系列CPU在解能力上的不足。

AVX是Sandy Bridge最重要的改

AVX相SSE来的理速度提升

英特AVX指令集将矢量理能力提升到256bit理上可以CPU的浮点性能最大提升两倍 而且革新的VEX 方式也突破x86在解方面的瓶 非常得期待。

由于AMD的SSE5和AVX指令集功能似 并且AVX包含更多的秀特性 然SSE5是要早于AVX宣布的但在去年AMD是决定支持AVX避免 者徒增 度。同AMD改写SSE5 重定 XOP 、CVT16和FMA4指令集。AMD有人甚至暗示由于受到了AVX指令集影响 Bulldozer的划从2010年延到了2011年。

AVX作Sandy Bridge理器最重要的改在几天后将亮登 除硬件支持外 件上的支持也是必不可少的所幸的是windows 7 SP1已 始支持英特AVX指令集了 。

虎跃云-物理机16H/32G/50M山东枣庄高防BGP服务器低至550元每月!

虎跃科技怎么样?虎跃科技(虎跃云)是一家成立于2017年的国内专业服务商,专业主营云服务器和独立服务器(物理机)高防机房有着高端华为T级清洗能力,目前产品地区有:山东,江苏,浙江等多地区云服务器和独立服务器,今天虎跃云给大家带来了优惠活动,为了更好的促销,枣庄高防BGP服务器最高配置16核32G仅需550元/月,有需要的小伙伴可以来看看哦!产品可以支持24H无条件退款(活动产品退款请以活动规则为准...

打开海外主机域名商出现"Attention Required"原因和解决

最近发现一个比较怪异的事情,在访问和登录大部分国外主机商和域名商的时候都需要二次验证。常见的就是需要我们勾选判断是不是真人。以及比如在刚才要访问Namecheap检查前几天送给网友域名的账户域名是否转出的,再次登录网站的时候又需要人机验证。这里有看到"Attention Required"的提示。我们只能手工选择按钮,然后根据验证码进行选择合适的标记。这次我要选择的是船的标识,每次需要选择三个,一...

CheapWindowsVPS$4.5/月,美国VPS/免费Windows系统/1Gbps不限流量/,可选美洲、欧洲、亚洲等8大机房

国外商家提供Windows系统的并不常见,CheapWindowsVPS 此次提供的 2 款 VPS 促销套餐,提供 5 折永久优惠码,优惠后月付 4.5 美元起,价格还是挺诱人的,VPS 不限流量,接入 1Gbps 带宽,8 个机房皆可选,其中洛杉矶机房还提供亚洲优化网络供选择,操作系统有 Windows 10 专业版、2012 R2、2016、Linux等。Cheap Windows VPS是...

avx指令集为你推荐
咏春大师被ko咏春高手散打冠军林文学近况梦之队官网NBA梦之队在哪下载?百度商城百度商城里抽奖全是假的www.4411b.com难道那www真的4411B坏了,还是4411b梗换com鑫域明了比肩工场比肩夺财,行官杀制比是什么意思?百度关键词价格查询百度推广里怎么查指定的关键字参与竞价的价位呢百度关键词工具如何通过百度官方工具提升关键词排名sss17.com为什么GAO17.COM网站打不开了www.gegeshe.comSHE个人资料www.gegeshe.com有什么好听的流行歌曲
fc2新域名 cn域名注册 5折 赵容 blackfriday uk2 koss 香港机房托管 iisphpmysql 免费cdn加速 60g硬盘 windows2003iso 免费网络电视 ibrs 中国智能物流骨干网 qingyun 创梦 网站木马检测工具 免费cdn 如何注册阿里云邮箱 更多