服务器 频道

IDF2012:英特尔透露AVX2指令集新细节

        【IT168 资讯】4月11日,2012届IDF(英特尔信息技术峰会)在北京国家会议中心顺利举行,作为业界最大的技术交流盛会,每年都会吸引大量的技术人员前往交流、切磋。本届大会上,近万人注册、参会,英特尔也不负众望,带来了最新的研究成果与大家分享。

IDF2012:将关键业务迁移至英特尔架构
▲IDF2012
明年的AVX2指令集支持整数256bit

  AVX指令集是英特尔在Sandy Bridge处理器新增加的指令集。AVX是在之前的128bit扩展到和256bit的SIMD(Single Instruction, Multiple Data)。下一代的AVX2将在22nm  Haswell处理器中出现,主要是带来整数能力的提升。

明年的AVX2指令集支持整数256bit
明年的AVX2指令集支持整数256bit

  Sandy Bridge的SIMD演算单元扩展到256bits的同时数据传输也获得了提升,所以从理论上看CPU内核浮点运算性能提升到了2倍。

明年的AVX2指令集支持整数256bit

  AVX2是由现在Sandy Bridge架构上的第一代AVX指令集扩展增强而来的,为绝大多数128位SIMD整数指令带来了256位数值处理能力,同时继续遵循AVX的编程模式。

明年的AVX2指令集支持整数256bit

  除此之外,AVX2还提供了一系列增强的功能性,包括数据元素的广播(broadcast)、逆变(permute)操作,每个数据元素可变位移计数的矢量位移指令,从内存中拾取非相邻数据元素的指令等等。

明年的AVX2指令集支持整数256bit

  跨距访存支持即访存时,每个SIMD数据的向量数据元素可以来自不相邻的内存地址。AVX2的跨距访存指令称为”gather”指令,该指令的操作数是一个基地址加一个向量寄存器,向量寄存器中存放着SIMD数据中各个元素相对基地址的偏移量是多少。

明年的AVX2指令集支持整数256bit

  有了这条指令,CPU可以轻松用一条指令实现若干不连续数据”聚集”到一个SIMD寄存器中。这会对编译器和虚拟机充分利用向量指令带来很大便利,尤其是自动向量化。另外,当该指令的偏移地址向量寄存器中任何两个值相同时,都会出GP错。这意味着编译器还是需要些特殊处理才能利用好这条指令。

明年的AVX2指令集支持整数256bit

  总体说来,之前几乎所有在通用微处理器上的SIMD指令,都倾向于一刀切策略,即所有的SIMD操作都针对SIMD数据实施完全相同的操作,并不存在特性化的指令。比如访存都是从一块连续的地址空间直接访存、移位时所有的数据都移动相同的位数,数据置换指令的支持也是最近才出现在通用CPU中的。AVX2的这些支持再次肯定了个性化的趋势,CPU中的SIMD支持朝着GPU的方向大踏步前进,并最终赶上并超越向量机。

0
相关文章