服务器 频道

源自AVX2指令集 让你的CPU更加强劲!

        【IT168 资讯】Intel Developer Forum(英特尔开发者论坛,简称IDF)是由英特尔公司主办的技术讲座。今年春季的IDF将于4月11日至4月12日在北京国家会议中心举行。本届IDF以“天空无边界,发展无止境”为主题。

AVX2指令集的前世今生
 

    早在2011年的6月份,英特尔的高级工程师Mark Buxton就在官方论坛中宣布,下一代架构处理器Haswell将会支持新的指令集“AVX2”。

AVX2指令集的前世今生
 

    他同时还公布了一份完整的Haswell指令集规范文档,其中就介绍了新的AVX2。根据这份文档的介绍,AVX2是由现在Sandy Bridge架构上的第一代AVX指令集扩展增强而来的,为绝大多数128位SIMD整数指令带来了256位数值处理能力,同时继续遵循AVX的编程模式。所以要了解AVX2,我们就先要来说说AVX是怎么回事。

    AVX指令集是Sandy Bridge和Larrabee架构新指令集。AVX是在之前的128bit扩展到和256bit的SIMD(Single Instruction, Multiple Data)。而Sandy Bridge的SIMD演算单元扩展到256bits的同时数据传输也获得了提升,所以从理论上看CPU内核浮点运算性能提升到了2倍。

AVX2指令集介绍
SSE到AVX的性能提升

    Intel AVX指令集,在SIMD计算性能增强的同时也沿用了的MMX/SSE指令集。不过和MMX/SSE的不同点在于增强的AVX指令,从指令的格式上就发生了很大的变化。x86(IA-32/Intel 64)架构的基础上增加了prefix(Prefix),所以实现了新的命令,也实现了更加复杂的指令得以实现,从而提升了x86 CPU的性能。


    AVX并不是x86 CPU的扩展指令集,而是可以实现更高的效率,同时也和CPU硬件兼容性也更好,并且也有着足够的扩展空间,这都和其全新的命令格式系统有关。更加流畅的架构就是AVX发展的方向,换言之,就是摆脱传统x86的不足,在SSE指令的基础上AVX也使SSE指令接口更加易用。

 

${PageNumber}

    其实在Intel发布AVX指令集之前有一段很有意思的事情。一直以来,Intel以处理器市占领导着指令集延伸技术发展,与各大软件厂商合作令软件执行效率得以提升,而AMD只能被Intel牵着走,产品在指令集支持上永远落后对手,就以新一代45奈米Penryn支持47条全新SSE4指令集为例,AMD虽表示支持SSE4A,但实质只含有Intel SSE4数条指件,有名无实。
 

    为了打破在指令集延伸技术一直落后的窘境,AMD在07年8月份,抢在Intel之前宣布推出SSE5指令集延伸技术,并计划配备在K10之后的下一代“Bulldozer”(推土机)核心架构中,并表示在2009年推出实际产品。但是Intel随即就表示其不会支持SSE5。在2008年上半年,英特尔推出了Sandy Bridge微架构,并在其中引入了全新的AVX(高级矢量扩展)指令集。
 

    AMD推出SSE5指令集其实是直接断了Intel的后路,因为包括之前的SSE4指令集都是由Intel来命名。Intel对于AMD的这种做法并没有说什么,而是直接推出全新的AVX。鉴于Intel在软件厂商的领导地位,AMD觉得自己死撑SSE5势必会在未来的性能大战中败北。迫于压力,AMD不得不宣布支持Intel的AVX指令集,并同时采用AVX架构重新改写其自己推出的SSE5指令集。
 

    做出这个决定是需要付出惨重代价的,这意味着处理器架构要做大幅调整,这也就是为什么我们在2011年下半年才看到AMD的Bulldozer(推土机)。
 

    这就是AVX发布之前与之后的很有意思的事情。除了在前文提到的AVX2的一些新功能之外,AVX2还提供了一系列增强的功能性,包括数据元素的广播(broadcast)、逆变(permute)操作,每个数据元素可变位移计数的矢量位移指令,从内存中拾取非相邻数据元素的指令等等。
 

    搭载AVX2的Haswell将要到2013年才登场,这里我们暂时有点遥远。不过我们现在可以通过IDF提供的课程来具体了解一下英特尔着最新的AVX2指令集,具体请看下面的课程介绍。
 

    课程:即将推出的英特尔高级矢量扩展 指令集2(英特尔AVX2)介绍
    时间:4月12日 15:20
    地点:301AB
 

    本课程介绍了英特尔高级矢量扩展指令集 2(英特尔AVX2)。英特尔AVX2 是一种全新的指令集,将整数 SIMD 从 128 位扩展到 256 位,可显著提升整数计算密集型应用的性能。
    主题包括: 
    • 即将推出的架构概述
    • 探究英特尔 AVX2 指令运算
    • 采用英特尔 AVX2 开发应用的辅助软件开发工具
    • 编程范例和编码技巧
   

    想要了解AVX2的朋友可千万不要错过呦!
 

0
相关文章