指令深入分析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指令集了 。

WHloud Date鲸云数据($9.00/月), 韩国,日本,香港

WHloud Date(鲸云数据),原做大数据和软件开发的团队,现在转变成云计算服务,面对海内外用户提供中国大陆,韩国,日本,香港等多个地方节点服务。24*7小时的在线支持,较为全面的虚拟化构架以及全方面的技术支持!官方网站:https://www.whloud.com/WHloud Date 韩国BGP云主机少量补货随时可以开通,随时可以用,两小时内提交退款,可在工作日期间全额原路返回!支持pa...

Spinservers:美国独立服务器(圣何塞),$111/月

spinservers是Majestic Hosting Solutions,LLC旗下站点,主营美国独立服务器租用和Hybrid Dedicated等,spinservers这次提供的大硬盘、大内存服务器很多人很喜欢。TheServerStore自1994年以来,它是一家成熟的企业 IT 设备供应商,专门从事二手服务器和工作站业务,在德克萨斯州拥有40,000 平方英尺的仓库,库存中始终有数千台...

ZJI:台湾CN2/香港高主频服务器7折每月595元起,其他全场8折

ZJI原名维翔主机,是原来Wordpress圈知名主机商家,成立于2011年,2018年9月更名为ZJI,提供香港、日本、美国独立服务器(自营/数据中心直营)租用及VDS、虚拟主机空间、域名注册业务。ZJI今年全新上架了台湾CN2线路服务器,本月针对香港高主频服务器和台湾CN2服务器提供7折优惠码,其他机房及产品提供8折优惠码,优惠后台湾CN2线路E5服务器月付595元起。台湾一型CPU:Inte...

avx指令集为你推荐
丑福晋大福晋比正福晋大么haole16.com玛丽外宿中16全集在线观看 玛丽外宿中16qvod快播高清下载javmoo.com找下载JAV软件格式的网站百度指数词百度指数我创建的新词sesehu.comwww.hu338.com 怎么看不到啊广告法新修订的《广告法》有哪些内容555sss.com不能在线播放了??555www.1diaocha.com哪个网站做调查问卷可以赚钱 啊官人放题SBNS-088 中年男の夢を叶えるセックス やりたい放題! 4(中文字幕)种子下载地址有么?好人一生平安长房娇女人蛮好脾气好很乖巧很听话?娇身惯养,父亲长得好看大眼睛高鼻梁樱桃小嘴瓜子脸女儿也是眼睛大大的皮肤
域名反查 最新代理服务器ip 174.127.195.202 150邮箱 ca4249 圣诞促销 宁波服务器 刀片服务器的优势 域名转接 佛山高防服务器 服务器硬件防火墙 登陆空间 西安服务器托管 ebay注册 美国盐湖城 畅行云 万网注册 美国代理服务器 饭桶 ssd 更多