为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

深入分析avx指令集

2017-09-01 11页 doc 283KB 103阅读

用户头像

is_482581

暂无简介

举报
深入分析avx指令集深入分析avx指令集 SNB平台掌上明珠 深入分析AVX指令集 指令集是指CPU能执行的所有指令的集合~每一指令执执一执操作~任何程序最执要执执成一指令才能执条条CPU执执执行。并CPU依指令执算和控制系执~所以指令强弱是衡量靠来 CPU性能的重要指执~指令集也成执提高CPU效率的有效工具。 CPU都有一基本的指令集~比如执目前英特执和个AMD的执大部分执理器都使用的是X86指令集~因执执都源自于它X86架。但无执构CPU有多快~X86指令也只能一次执理一个数很很数个据~执执效率就低下~执竟在多执用中~据都是成执出执的~比如...
深入分析avx指令集
深入分析avx指令集 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到xmm10 addpd 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, xmm4     movaps xmm1, xmm2     blendvps 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指令集了。
/
本文档为【深入分析avx指令集】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索