多媒體CPU

多媒體CPU是帶有MMX 技術的微處理器。

多媒體 CPU 是帶有MMX 技術的微處理器
MMX技術
MMX技術集成到新一代pentium CPU時,主要體現在:
①採用4種新的數據類型,②使用8個64 位寬的MMX暫存器,③增設57條新指令。?
1.MMX數據類型
MMX技術定義了三種打包的數據類型及一種64位字長的數據類型。打包數據類型中的每個元素以及64位數都是帶符號或不帶符號的定點整數(位元組、字、雙字、四字)。四種數據類型定義如下:?
緊縮位元組類型:8個位元組打包成一個64位數據?
緊縮字類型:4個字打包成一個64位數據?
緊縮雙字類型:兩個32位的雙字打包成一個64位數據?
四字類型:一個64位數。
2.MMX暫存器?
8個MMX暫存器MM0—mm7的寬度為64位,但它們沒有單獨設定,而是借用浮點處理單元中的8 個(80位)數據暫存器,它是通過使用“別名”的辦法來實現的。即浮點單元的8個數據暫存 器被浮點指令看成ST0—ST7,被MMX指令看成是MM0—MM7。
這樣,8個位元組或4個字或2個雙字被打包裝入一個64位的MMX暫存器,一旦執行一條MMX指令時,將所有這些8個、4個或2個的數據同時取出,進行數學運算或邏輯操作,最後結果寫入MMX暫存器。事實上,這種運算處理過程是一種並行處理過程,故稱為SIMD(單指令 多數據)的並行處理。
3.MMX指令集?
如果一條指令支持多種數據類型:位元組(B)、字(W)、雙字(D)或四字(Q)的操作,則選用某一數據類型時,相應的字母B,W ,D或Q列入指令助記符的後面。對於轉換指令要列入兩個字母,例如WB表示把字拆成位元組,而BW表示把位元組拼成字。?
MMX指令的先進性體現在以下五個方面:
SIMD結構 本節以前,我們遇到的計算機是sisd(單指令單 數據)的系統結構。而SIMD結構則是單指令多數據的系統結構。MMX指令充分利用CPU64位帶 寬的處理能力,一次可以並行處理8個8位數據,或4個16位數據,或2個32位數據,因而成為提高計算性能的最基本因素。?
飽和運算方式 這是運算發生溢出時使用的處理方法。如果運算結果超過最大值,則將此值按最大值處理,低於最小值時按最小值處理。由於不需要進行溢出處理, 所以提高了處理能力。飽和運算適合於面向像素數據的處理。
積和運算方式 MMX的乘法指令中,PMADDWD指令是一條關鍵指令,它具有乘法-累加操作動能。下圖說明了它的操作功能,將兩個緊縮字類型的數中相應的元素(16位)相乘,生成4個32位的積,再將左側的兩個積相加,得出一個結果;右側的兩個積相加 ,得出另一個結果。這樣便生成一個緊縮雙字類型的結果數據。積和運算方式特別適合於向量計算與矩陣計算。?
圖5.43 PMADDWD指令功能示意圖
比較指令特點 MMX的比較指令不建立標誌位,而是建立真假條件的禁止字,後跟一個邏輯操作,從不同的輸入中選擇所需要的元素,從而對輸入數據並行地分別進行處理。下圖表示PCMPGTW指令的功能示意,對應部分比較結果所建立的全“0”表示假條件,全“1”表示真條件。?
圖5.44 PCMPGTW指令功能示意圖
當輸入數據不同而進行分別處理時,傳統的做法是一條比較指令後面緊跟一條條件轉移指令。條件轉移指令會降低指令流水線的性能。MMX的比較指令通過條件選擇能力,取消了轉移指令,這是MMX技術的一個重要性能特徵。?
轉換指令特點 MMX的轉換指令,是緊縮或解緊縮指令,能方便地完成各種精度的數據轉換,其中緊縮指令帶有飽和操作。下圖表示PACKSSDW緊縮指令的功能示意。它取出4個32位數,將其緊縮為4個16位的數。如果某個數比16位數大,則執行飽和操作。 ?
圖5.45 PACKSSDW指令功能示意圖
轉換指令廣泛用於矩陣的行列轉換;可以在每對像點之間插入新像點的插值操作;實現RGB與YUV的彩色空間轉換等。?

相關詞條

相關搜尋

熱門詞條

聯絡我們