MMX指令集[MMX指令集]

MMX指令集[MMX指令集]

MMX(Multi Media eXtension,多媒體擴展指令集)指令集是Intel公司於1996年推出的一項多媒體指令增強技術。MMX指令集中包括有57條多媒體指令,通過這些指令可以一次處理多個數據,在處理結果超過實際處理能力的時候也能進行正常處理,這樣在軟體的配合下,就可以得到更高的性能。

簡介

MMX的益處在於,當時存在的作業系統不必為此而做出任何修改便可以輕鬆地執行MMX程式。但是,問題也比較明顯,那就是MMX指令集與x86浮點運算指令不能夠同時執行,必須做密集式的交錯切換才可以正常執行,這種情況就勢必造成整個系統運行質量的下降。

指令介紹

1.數據轉移指令(Data Movement):

(1)movd;

(2)movq;一次性將32位或64位的數據在暫存器與記憶體之間轉移。操作DWORD時,MMX暫存器只使用低32位。

2.算術指令:

(1)padd[b,w,d],無符號數加;

(2)padds[b,w],飽和模式的有符號數加;

(3)paddus[b,w],飽和模式的無符號數加;

(4)psub[b,w,d],無符號數減;

(5)psubs[b,w],飽和模式的有符號數減;

(6)psubus[b,w,d],飽和模式的無符號數減;

(7)pmulhw,WORD類型的有符號數相乘後取高16位;

(8)pmullw,WORD類型的有符號數相乘後取低16位;

(9)pmaddwd,WORD類型的向量點乘運算。

3.移位指令:

(1)psll[w,d,q],邏輯左移;

(2)psrl[w,d,q],邏輯右移;

(3)psra[w,d,q],算術右移。

4.邏輯指令:

(1)pand位與操作;

(2)pandn將目的運算元取反後再和源運算元做位與操作;

(3)por位或操作;

(4)pxor按位異或操作。

5.比較指令:

6.數據打包/拆包指令:

7.MMX狀態清除指令:

(MMX指令集的詳解可以閱讀參考資料: )

CPU支持

如果CPU能夠具有了MMX指令集,就可以使用Visual Studio .NET 2003提供的對MMX指令集支持的C++函式館了,可以查看MSDN中的一個Visual C++ CPUID的例子,它可以幫你檢測你的CPU是否支持SSE、MMX指令集或其它的CPU功能。

相關詞條

相關搜尋

熱門詞條

聯絡我們