專利名稱:控制移位分組數據的位校正的裝置的制作方法
技術領域:
本發明具體涉及計算機系統領域。更具體地,本發明涉及分組數據操作領域。
背景技術:
在典型的計算機系統中,將處理器實現為利用產生一種結果的指令在由大量的位(如64)表示的值上操作。例如,執行加法指令將第一個64位值與第二個64位值相加并作為第三個64位值存儲該結果。然而,多媒體應用(諸如以計算機支持的協作為目的的應用(CSC-電話會議與混合媒體數據處理的集成)、2D/3D圖形、圖象處理、視頻壓縮/解壓、識別算法與音頻處理)要求處理可以用少量的位表示的大量數據。例如,圖形數據通常需要8或16位,聲音數據通常需要8或16位。這些多媒體應用的各個需要一種或多種算法,各需要若干操作。例如,算法可能需要加法、比較及移位操作。為了改進多媒體應用(以及具有相同特征的其它應用),先有技術處理器提供分組數據格式。分組數據格式中通常用來表示單個值的位被分成若干固定長度的數據元素,各元素表示單獨的值。例如,可將一個64位寄存器分成兩個32位元素,各元素表示一個單獨的32位值。此外,這些先有技術處理器提供并行分開處理這些分組數據類型中各元素的指令。例如,分組的加法指令將來自第一分組數據與第二分組數據的對應數據元素相加。從而,如果多媒體算法需要包含必須在大量數據元素上執行的五種操作的循環,總是希望組裝該數據并利用分組數據指令并行執行這些操作。以這一方式,這些處理器便能更高效地處理多媒體應用。`然而,如果該操作循環中包含處理器不能在分組數據上執行的操作(即處理器缺少適當的指令),則必須分解該數據來執行該操作。例如,如果多媒體算法要求加法運算而不能獲得上述分組加法指令,則程序員必須分解第一分組數據與第二分組數據(即分開包含第一分組數據與第二分組數據的元素),將各個分開的單獨的元素相加,然后將結果組裝成分組的結果供進一步分組處理。執行這種組裝與分解所需的處理時間通常抵消了提供分組數據格式的性能優點。因此,希望在通用處理器上包含提供典型多媒體算法所需的所有操作的分組數據指令集。然而,由于當今微處理器上的有限芯片面積,可以增加的指令數目是有限的。包含分組數據指令的一種通用處理器便是加州Santa Clara的Intel公司制造的i860XP 處理器。i860XP處理器包含具有不同元素大小的若干分組數據類型。此外, 860ΧΡ處理器包含分組加法與分組比較指令。然而,分組加法指令并不斷開進位鏈,因此程序員必須保證軟件正在執行的運算不會導致溢出,即運算不會導致來自分組數據中一個元素的位溢出到該分組數據的下一元素中。例如,如果將值I加到存儲“11111111”的8位分組數據元素上,便出現溢出而結果為“100000000”。此外,i860XP所支持的分組數據類型中的小數點位置是固定的(即i860XP處理器支持數8.8,6.10與8.24,其中數1.j包含i個最高位及小數點后的i位)。從而限制了程序員可以表示的值。由于i860XP處理器只支持這兩條指令,它不能執行采用分組數據的多媒體算法所要求的許多運算。另一種支持分組數據的通用處理器便是Motorala公司制造的MC88110 處理器。MC88110處理器支持具有不同長度元素的若干種不同的分組數據格式。此外,MC88110處理器所支持的分組指令集中包括組裝、分解、分組加法、分組減法、分組乘法、分組比較與分組旋轉。MC88110處理器分組命令通過連接第一寄存器對中的各元素的(t*r)/64(其中t為該分組數據的元素中的位數)個最高有效位進行操作來生成寬度為r的一個字段。該字段取代存儲在第二寄存器對中的分組數據的最高有效位。然后將這一分組數據存儲在第三寄存器對中并左旋r位。下面在表I與2中示出所支持的t與r值,以及這一指令的運算實例。
權利要求
1.一種處理裝置,包括: 支持觸摸屏輸入的顯示器; 通信總線(101); 高速緩沖存儲 器(206); 解碼器(165),用于解碼分組指令集(140); 第一組寄存器(201),用于存儲32位整數; 第二組寄存器(209),用于存儲包括第一多個數據元素的第一分組數據和包括第二多個數據元素的第二分組數據; 執行單元(130),耦合至所述高速緩沖存儲器、所述第一組寄存器、所述第二組寄存器和所述通信總線,所述執行單元用于執行所述分組指令集的解碼的指令,包括指定下列操作的指令: 組裝操作,用于組裝來自至少兩個分組數據中的數據元素的一部分位以形成第三分組數據; 分解操作,用于生成包含來自所述第一分組數據的至少一個數據元素和來自所述第二分組數據的至少一個相對應的數據元素的第四分組數據。
2.按權利要求1所述的處理裝置,其中所述分組指令集還包括指定下列操作的指令: 分組加法操作,用于將來自至少兩個分組數據的相對應的數據元素并行地加在一起。
3.按權利要求2所述的處理裝置,其中所述分組指令集還包括指定下列操作的指令: 分組減法操作,用于將來自至少兩個分組數據的相對應的數據元素并行地相減。
4.按權利要求3所述的處理裝置,其中所述分組指令集還包括指定下列操作的指令: 分組乘法操作,用于將來自至少兩個分組數據的相對應的數據元素并行相乘。
5.按權利要求4所述的處理裝置,其中所述分組指令集還包括指定下列操作的指令: 分組移位操作,用于將分組數據操作數中的各數據元素并行移位所指示的計數。
6.按權利要求5所述的處理裝置,其中所述分組指令集還包括指定下列操作的指令: 分組比較操作,用于根據指示的關系將來自至少兩個分組數據的相對應的數據元素進行比較并且作為結果將分組掩碼存儲在第一寄存器中,其中所述分組掩碼至少包含第一掩碼元素和第二掩碼元素,所述第一掩碼元素中的各位表示比較一組相對應的數據元素的結果,而所述第二掩碼元素中的各位表示比較第二組數據元素的結果。
7.按權利要求6所述的處理裝置,其中所述分組指令集還包括指定下列操作的指令: 乘-加操作,用于將來自兩個分組數據的相對應的數據元素相乘以生成中間結果數據元素,并且對所述中間結果數據元素求和。
8.按權利要求7所述的處理裝置,其中所述分組指令集還包括指定下列操作的指令: 乘-減操作,用于將來自兩個分組數據的相對應的數據元素相乘以生成中間結果數據元素,并且使所述中間結果數據元素相減。
9.按權利要求8所述的處理裝置,其中所述分組指令集還包括指定下列操作的指令: 個數計數操作,用于生成至少具有第一結果數據元素和第二結果數據元素的結果分組數據,所述第一結果數據元素表示在所述第一多個數據元素的第一數據元素中置位的總位數,所述第二結果數據元素表示在所述第一多個數據元素的第二數據元素中置位的總位數。
10.按權利要求9所述的處理裝置,還包括耦合到通信總線并包含圖形描繪裝置的顯示器(121)。
11.一種系統,包括: 顯示器(121),耦合到通信總線并包含圖形描繪裝置; 通信總線(101); 高速緩沖存儲器(206); 解碼器(165),用于解碼分組指令集(140); 第一組寄存器(201),用于存儲32位整數; 第二組寄存器(209),用于存儲包括第一多個數據元素的第一分組數據和包括第二多個數據元素的第二分組數據; 執行單元(130),耦合至所述高速緩沖存儲器、所述第一組寄存器、所述第二組寄存器和所述通信總線,所述執行單元用于執行所述分組指令集的解碼的指令,包括指定下列操作的指令: 組裝操作,用于組裝來自至少兩個分組數據中的數據元素的一部分位以形成第三分組數據; 分解操作,用于生成包含來自所述第一分組數據的至少一個數據元素和來自所述第二分組數據的至少一個相對應的數據元素的第四分組數據; 分組加法操作,用于將來自至少兩個分組數據的相對應的數據元素并行地加在一起; 分組減法操作,用于將來自至少兩個分組數據的相對應的數據元素并行地相減; 分組乘法操作,用于將來自至少兩個分組數據的相對應的數據元素并行相乘;分組移位操作,用于將分組數據操作數中的各數據元素并行移位所指示的計數;分組比較操作,用于根據指示的關系將來自至少兩個分組數據的相對應的數據元素進行比較并且作為結果將分組掩碼存儲在第一寄存器中,其中所述分組掩碼至少包含第一掩碼元素和第二掩碼元素,所述第一掩碼元素中的各位表示比較一組相對應的數據元素的結果,而所述第二掩碼元素中的各位表示比較第二組數據元素的結果; 乘-加操作,用于將來自兩個分組數據的相對應的數據元素相乘以生成中間結果數據元素,并且對所述中間結果數據元素求和; 乘-減操作,用于將來自兩個分組數據的相對應的數據元素相乘以生成中間結果數據元素,并且使所述中間結果數據元素相減; 個數計數操作,用于生成至少具有第一結果數據元素和第二結果數據元素的結果分組數據,所述第一結果數據元素表示在所述第一多個數據元素的第一數據元素中置位的總位數,所述第二結果數據元素表示在所述第一多個數據元素的第二數據元素中置位的總位數;以及 顯示器(121 ),耦合到通信總線并包含圖形描繪裝置。
12.按權利要求11所述的系統,其中所述顯示器支持觸摸界面。
全文摘要
一種在處理器中加入支持典型的多媒體應用所要求的分組數據上的操作的指令集的裝置。在一個實施例中,本發明包括具有存儲區(150)、解碼器(165)及多個電路(130)的處理器。該多個電路提供若干指令的執行來操作分組數據。在這一實施例中,這些指令包含組裝、分解、分組乘法、分組加法、分組減法、分組比較及分組移位。
文檔編號G06F9/38GK103092563SQ20121057496
公開日2013年5月8日 申請日期1996年7月17日 優先權日1995年8月31日
發明者A.D.佩勒格, Y.雅里, M.米塔爾, L.M.門內梅爾, B.艾坦, A.F.格盧, C.杜龍, E.科瓦施, W.維特 申請人:英特爾公司