必威电竞|足球世界杯竞猜平台

mmx
來源:互聯(lián)網(wǎng)

MMX是MultiMedia eXtensions(多媒體擴展)的縮寫,是第六代CPU芯片的重要特點。MMX技術(shù)是在CPU中加入了特地為視頻信號(Video Signal),音頻信號(Audio Signal)以及圖像處理(Graphical Manipulation)而設(shè)計的57條指令,因此,MMX CPU極大地提高了電腦的多媒體(如立體聲、視頻、三維動畫等)處理功能。

簡介

MMX技術(shù)是繼英特爾386(TM)處理器(將體系結(jié)構(gòu)擴展至32位)之后對Intel體系結(jié)構(gòu)的最重要的加強。這些指令集能夠加速處理有關(guān)圖形、影像、聲音等的應(yīng)用,MMX加強了在多媒體處理功能的不足,它可以利用其內(nèi)建的多媒體指令來模擬3D繪圖的處理、MPEG的壓縮/解壓縮。立體聲的音效等,只要是軟件支持MMX CPU,即可以取代這些硬件的接口而達到多媒體的功效。

特性

MMX技術(shù)的基礎(chǔ)是一項稱為單指令、多數(shù)據(jù)(SIMD)的技術(shù)。它使得許多條信息可由一條單一指令來處理,這種平行操作使性能得以大幅度地提高。MMX技術(shù)被集成到英特爾體系結(jié)構(gòu)的處理器中,同時保持了與現(xiàn)有操作系統(tǒng)(如MS DOS,Windows 3.1Windows 95,OS/2及unix)的充分兼容。除此之外,所有Intel體系結(jié)構(gòu)的軟件將能夠在采用MMX技術(shù)的系統(tǒng)中運行。

MMX的另一個特征是在計算結(jié)果超過實際處理能力的時候也能進行正常處理。若用傳統(tǒng)的X86指令,計算結(jié)果一旦超出了CPU處理數(shù)據(jù)的限度,數(shù)據(jù)就要被截掉,而變成較小的數(shù)。MMX利用所謂的“飽和(色彩飽和度)”功能,圓滿的解決了這一問題。

除了指令集中增加MMX指令(多媒體增強指令集)外,還將CPU芯片內(nèi)的L1緩存由原來的16KB增加到32KB(16K指令+16K數(shù)據(jù)),因此MMX CPU比普通CPU在運行含有MMX指令的程序時,處理多媒體的能力上提高了60%左右。目前CPU基本都具備MMX技術(shù),除P55C和Pentium ⅡCPU還有K6、K6 3D、MII等。

缺點

由于MMX的運算指令必須在數(shù)據(jù)配對整齊的時候才能使用,所以使用MMX指令要比普通的匯編指令多余許多分組配對的指令,如果運算不是特別的整齊的話,就要浪費大量的時間在數(shù)據(jù)的配對上,所以說MMX指令也不是萬能的,也有其很大的缺陷。同時MMX指令在處理16位數(shù)據(jù)的時候才能發(fā)揮最大的作用,處理8位數(shù)據(jù)要有一點技巧。而處理32位數(shù)據(jù),MMX指令幾乎沒有什么加速能力。(考慮分組耗時)

基本指令集

拷貝指令

movq:64位數(shù)據(jù)拷貝,如果內(nèi)存8位對齊的話,是一個64位寫,否則2個32位寫。

movd:32位數(shù)據(jù)拷貝,注意:如果從內(nèi)存向MMX寄存器拷貝,MMX高32位清零!

分組指令

分組指令是MMX特有的,所以對于它我們要特別的關(guān)注。分組指令基本上可以分為2類,一類是不帶符號緊縮的,一類是帶符號緊縮的。現(xiàn)在我們分別予以介紹:

①punpcklbw/punpcklwd/punpckldq(l表示低位分組,bw8位,wd16位,dq32位):它是簡單的將兩個MMX寄存器的低32位交錯組合為一個64位數(shù)據(jù)。所以它是不能將長數(shù)據(jù)轉(zhuǎn)換為短數(shù)據(jù)的。

②packuswb將16位數(shù)據(jù)轉(zhuǎn)換為無符號的8位數(shù)據(jù)。所以可以將兩個MMX寄存器不交錯的合為一個64位數(shù)據(jù)。

③packsswb/packssdw將32位-》16位,16位-》8位,都是有符號的數(shù)據(jù)。

運算指令

加法運算指令:paddb(w)(d):沒有越界保護的加法,當越界的時候僅僅丟棄超出范圍的高位比特,(b)(w)(d)分別為8,16,32位加法;paddsb(w):具有越界保護的有符號加法,當上溢的時候為0x7fff,下溢的時候為0x8000;paddusb(w):具有越界保護的無符號加法,當上溢的時候為0x7fff,下溢的時候為0x0。

減法運算指令同上;add改為sub。

乘法指令:pmullw/pmulhw是4個16位數(shù)據(jù)的乘法,pmullw中是結(jié)果的低16位,pmulhw是結(jié)果的高16位。pmaddwd乘加指令。

其他

還有一個MMX的含意:(Matrix 數(shù)學(xué) eXtensions)矩陣數(shù)學(xué)擴展。

羅馬數(shù)字中“MMX”表示“2010”。

在紅色警戒的游戲中“MMX”擴展名的文件表示能被命令與征服:紅色警戒2紅色警戒2:尤里的復(fù)仇都能識別的地圖文件。

參考資料 >

MMX和SSE.CSDN博客網(wǎng).2012-07-09

MMX開發(fā)文檔.游資網(wǎng).2012-07-17

生活家百科家居網(wǎng)