AVX2指令集的作用 介紹AVX指令集之前,,先要引入一個向量的概念。所謂向量,,就是多個標(biāo)量的組合,,通常意味著SIMD(單指令多數(shù)據(jù)),就是一個指令同時對多個數(shù)據(jù)進(jìn)行處理,,達(dá)到很大的吞吐量,。早在1996年,Intel就在X86架構(gòu)上應(yīng)用了MMX(多媒體擴展)指令集,,那時候還僅僅是64位向量,。到了1999年,SSE(流式SIMD擴展)指令集出現(xiàn)了,,這時候的向量提升到了128位。 Sandy Bridge的AVX將向量化寬度擴展到了256位,,原有的16個128位XMM寄存器擴充為256位的YMM寄存器,可以同時處理8個單精度浮點數(shù)和4個雙精度浮點數(shù),。換句話說,,Sandy Bridge的浮點吞吐能力可以達(dá)到前代的兩倍。不過AVX的256位向量還僅僅能夠支持浮點運算,,但它可以應(yīng)用128位的SIMD整數(shù)和SIMD浮點路徑,。 到了AVX2指令集,就可以支持256位整數(shù)矢量操作了,。它由Sandy Bridge架構(gòu)上的第一代AVX指令集擴展增強而來,,為絕大多數(shù)128位SIMD整數(shù)指令帶來了256位數(shù)值處理能力,同時繼續(xù)遵循AVX的編程模式,。
對于普通用戶來說,,AVX2指令集的優(yōu)點是增強了視頻轉(zhuǎn)碼等應(yīng)用的速度,,讓IVB比上一代SNB更加快捷。 |
|