-
MMX指令集
(多媒體指令增強技術)
鎖定
MMX(Multi Media eXtension,多媒體擴展指令集)指令集是Intel公司於1996年推出的一項多媒體指令增強技術。MMX指令集中包括有57條多媒體指令,通過這些指令可以一次處理多個數據,在處理結果超過實際處理能力的時候也能進行正常處理,這樣在軟件的配合下,就可以得到更高的性能。
- 中文名
- 多媒體擴展指令集
- 外文名
- Multi Media eXtension
- 公 司
- Intel公司
- 推出年份
- 1996年
MMX指令集簡介
MMX的益處在於,當時存在的操作系統不必為此而做出任何修改便可以輕鬆地執行MMX程序。但是,問題也比較明顯,那就是MMX指令集與x86浮點運算指令不能夠同時執行,必須做密集式的交錯切換才可以正常執行,這種情況就勢必造成整個系統運行質量的下降。
[1]
MMX指令集指令介紹
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.數據打包/拆包指令:
MMX指令集CPU支持
如果CPU能夠具有了MMX指令集,就可以使用Visual Studio .NET 2003提供的對MMX指令集支持的C++函數庫了,可以查看MSDN中的一個Visual C++ CPUID的例子,它可以幫你檢測你的CPU是否支持SSE、MMX指令集或其它的CPU功能。
[7]
- 參考資料
-
- 1. 多媒體指令集 .ZOL網[引用日期2012-07-18]
- 2. MMX指令集(原創) .csdn博客.2008-08-28[引用日期2012-07-18]
- 3. MMX指令集簡介(四) .遊資網[引用日期2012-07-18]
- 4. MMX指令集簡介(三) .遊資網[引用日期2012-07-18]
- 5. MMX指令集簡介(二) .遊資網[引用日期2012-07-18]
- 6. MMX指令集簡介(一) .遊資網[引用日期2012-07-18]
- 7. 基於MMX指令集的程序設計簡介 .IT測試網.2007-06-30[引用日期2012-07-22]