CPU/GPU真融合!Intel新酷睿權(quán)威評(píng)測(cè)
第三章/第四節(jié) SandyBridge架構(gòu)解析:新增AVX高級(jí)矢量擴(kuò)展指令集
Westmere相比Nehalem,唯一的改進(jìn)就是新增AES加密解密指令集,在特定應(yīng)用下速度提升非常顯著,但由于一般人很少用到加密和解密應(yīng)用,因此這一改進(jìn)幾乎可以被忽視了。
現(xiàn)在SandyBridge相比Westmere,在AES指令集的基礎(chǔ)上,又新增了AVX(高級(jí)矢量擴(kuò)展)指令集,這個(gè)指令集就非同一般了,Intel打算用它來逐步取代已經(jīng)服役幾十年的SSE(單指令多數(shù)據(jù)流式擴(kuò)展)指令集,AVX指令集的重要性可見一斑!
所謂的矢量,就是帶有方向的標(biāo)量……在數(shù)學(xué)上的表現(xiàn)就是多個(gè)參數(shù)的代數(shù)式,也就是多個(gè)標(biāo)量的集合。為了更好地表示多個(gè)標(biāo)量,AVX高級(jí)矢量擴(kuò)展將原有的128位浮點(diǎn)指令擴(kuò)展到了256位,可以同時(shí)處理8個(gè)32位(4字節(jié))的浮點(diǎn)數(shù)或者一個(gè)256位的數(shù):

AVX指令集是和SandyBridge微架構(gòu)緊密結(jié)合的,因此,微架構(gòu)的浮點(diǎn)寄存器也要從128位擴(kuò)展到256位,此外,Load單元也要適應(yīng)一次載入256位的能力,SandyBridge沒有直接擴(kuò)展原有Load單元的位寬,而是通過增加了一個(gè)Load單元來達(dá)到256bit Load的能力,如下圖所示:

可以看到,在0、1、5端口都增加了256位寬度AVX指令執(zhí)行單元。



最后,Intel提到了,由于128位SSE指令與256位AVX指令位寬不同,在混合編碼的時(shí)候,指令切換需要進(jìn)行額外的寄存器高位保留操作,因此混用SSE/AVX將會(huì)導(dǎo)致性能損失。應(yīng)盡量向新指令集進(jìn)行遷移。

最后,Intel給出了在如前所述的4種常見運(yùn)算下的AVX指令集加速比(AVX vs SSE over Sandy Bridge)。可以看出,在硬件環(huán)境不變的情況下,如果軟件支持AVX指令集的話,速度提升可達(dá)1.5-2.5倍之多!

看來Intel是鐵定決心要改進(jìn)CPU的浮點(diǎn)運(yùn)算能力,SandyBridge的下一代IVYBridge將會(huì)新增FMA指令集,F(xiàn)MA是同時(shí)進(jìn)行一個(gè)乘法和一個(gè)加法的運(yùn)算,在圖形操作上很是常見,相信關(guān)注GPU圖形技術(shù)的朋友們已經(jīng)會(huì)比較熟悉。看得出來未來的處理器,CPU與GPU之間的界限將會(huì)非常模糊了。
關(guān)注我們


