MMX技術與3D NoW!技術 由于基于圖形的操作系統成為當今微型計算機的主流操作系統,要求微型計算機能處理基于圖形和圖像的大量數據信息流。特別是當今飛速發展的高性能視頻、三維圖形、動畫、音頻、通信以及虛擬現實技術等多媒體信息,對計算機處理高速數據流提出了更新、更高的要求。在使用計算機處理包含大量復雜數據的這種多媒體信息.其計算量呈指數級增加,並且,常常因為計算量的激增使計算機無法實時完成任務,即使一些高性能的通用微處理器也難以滿足要求。于是,出現了各種各樣的專用數字信號處理器以及由這些專用處理器構成的插板(卡),如音頻卡、視頻卡、電影回放卡、3D圖形加速卡、網絡卡和FAX/Modem卡等。 由此造成計算機中的芯片和插卡越來越多,不僅降低了可靠性,而且,由于地址和中斷等的衝突,使機器的使用和安裝日益復雜。 為改變這一局面,加速對多媒體信息的處理速度,Intel公司首先推出了具有專門處理多媒體信息部件的MMX Pentium處理器芯片,AMD公司推出了對多媒體信息處理功能更強的3D Now!部件。 1.MMX技術 MMx(MuhiMedia eXtensions)技術主要包括單指令多數據技術(SIMD)、57條新指令、8個64位寬的MMX寄存器和4種新的數據類型,使採用MMX技術的處理器具有足夠的能力完成高速通信(如視頻通信)或帶有多媒體處理任務的應用程序。 MMX指令使用的主要數據類型分為有符號和無符號緊縮型定點整數。MMX技術新增加了4種新的數據類型:緊縮型字節(8個8位元素)、緊縮型字(4個16位元素)、緊縮型雙字(2個32位元素)和四字型(1個64位元素)。這樣,多個字節、字或雙字在運行時被移入64位MMX寄存器,同時完成算術和邏輯操作。 這些新增加的數據類型對多媒體處理十分有利。比如處理一幅256級灰度的圖像,由于圖像像素數據常以8位整數按字節表示,通過緊縮型字節數據類型,8個這樣的像素將一起緊縮為一個64位值並可移入一個MMX寄存器中。當執行一條MMX指令時,它將從MMX寄存器中一次對所有8個像素值並行地完成其算術或邏輯操作,並將結果寫入一個MMX寄存器。因此用MMX指令進行一次緊縮字節操作,相當于一次就處理了8個像素。所謂單指令多數據技術(SIMD)也正是指用一條指令來處理多個數據,從而使並行性進一步增強。 MMX技術新增加的指令也是充分考慮了多媒體處理任務的需要。這裡再舉一個例子。多媒體應用程序中往往要處理大量的數據流,矢量點積和矩陣乘積是處理圖像、音頻、視頻等數據的基本算法,即:x=Σa(i)×c(i)。為此,MMx指令集中設置了一條PMADDWD指令,該指令能完成兩組4個16位數先分別相乘,再求這4個積的和。即用一條PMADDWD指令就可實現i為4的上述計算式。顯然,運用:MMX技術可以大大提高機器的運行效率。據測試,採用MMX技術與不採用MMX技術的同類型Pentium芯片相比,運行非MMX應用程序可使速度提高20%,運行MMX應用程序可使速度提高40%以上。 2.3D NOW!技術 3D NOw!是在MMX技術的基礎上,通過設計一組新的指令來改善浮點處理與多媒體應用之間衝突的一種技術,由AMD公司首次提出,主要應用在AMD公司生產的K6─2以後的微處理器中。 在3D NOW!技術中,新改良了8組3D運算寄存器,它們由原先的MMx寄存器延伸而成。MMX寄存器為64位寬度,可拆成8組8位、4組16位、2組32位的長整數,而AMD對其進行特別設計,使其還可以拆成兩組32位浮點數,具備24位元的單精度。3D NOW!中採用了單指令多數據流sIMD的設計方法,在最優化的程序執行狀態下,採用該技術的微處理器可以在一個時鐘週期內處理4個浮點運算值,或者在幾個時鐘週期內完成8組、16個浮點整數數據的直接累加、累乘,浮點運算速度比原先用x87 FPU快幾倍到幾十倍。 此外,3D NOW!還在MMx指令集的基礎上增加了21條新多媒體處理指令。
|