專利名稱:控制移位分組數(shù)據(jù)的位校正的裝置的制作方法
技術(shù)領域:
本發(fā)明具體涉及計算機系統(tǒng)領域。更具體地,本發(fā)明涉及分組數(shù)據(jù)操作領域。
背景技術(shù):
在典型的計算機系統(tǒng)中,將處理器實現(xiàn)為利用產(chǎn)生一種結(jié)果的指令在由大量的位(如64)表示的值上操作。例如,執(zhí)行加法指令將第一個64位值與第二個64位值相加并作為第三個64位值存儲該結(jié)果。然而,多媒體應用(諸如以計算機支持的協(xié)作為目的的應用(CSC-電話會議與混合媒體數(shù)據(jù)處理的集成)、2D/3D圖形、圖象處理、視頻壓縮/解壓、 識別算法與音頻處理)要求處理可以用少量的位表示的大量數(shù)據(jù)。例如,圖形數(shù)據(jù)通常需要8或16位,聲音數(shù)據(jù)通常需要8或16位。這些多媒體應用的各個需要一種或多種算法,各需要若干操作。例如,算法可能需要加法、比較及移位操作。為了改進多媒體應用(以及具有相同特征的其它應用),先有技術(shù)處理器提供分組數(shù)據(jù)格式。分組數(shù)據(jù)格式中通常用來表示單個值的位被分成若干固定長度的數(shù)據(jù)元素,各元素表示單獨的值。例如,可將一個64位寄存器分成兩個32位元素,各元素表示一個單獨的32位值。此外,這些先有技術(shù)處理器提供并行分開處理這些分組數(shù)據(jù)類型中各元素的指令。例如,分組的加法指令將來自第一分組數(shù)據(jù)與第二分組數(shù)據(jù)的對應數(shù)據(jù)元素相加。從而,如果多媒體算法需要包含必須在大量數(shù)據(jù)元素上執(zhí)行的五種操作的循環(huán),總是希望組裝該數(shù)據(jù)并利用分組數(shù)據(jù)指令并行執(zhí)行這些操作。以這一方式,這些處理器便能更高效地處理多媒體應用。然而,如果該操作循環(huán)中包含處理器不能在分組數(shù)據(jù)上執(zhí)行的操作(即處理器缺少適當?shù)闹噶?,則必須分解該數(shù)據(jù)來執(zhí)行該操作。例如,如果多媒體算法要求加法運算而不能獲得上述分組加法指令,則程序員必須分解第一分組數(shù)據(jù)與第二分組數(shù)據(jù)(即分開包含第一分組數(shù)據(jù)與第二分組數(shù)據(jù)的元素),將各個分開的單獨的元素相加,然后將結(jié)果組裝成分組的結(jié)果供進一步分組處理。執(zhí)行這種組裝與分解所需的處理時間通常抵消了提供分組數(shù)據(jù)格式的性能優(yōu)點。因此,希望在通用處理器上包含提供典型多媒體算法所需的所有操作的分組數(shù)據(jù)指令集。然而,由于當今微處理器上的有限芯片面積,可以增加的指令數(shù)目是有限的。包含分組數(shù)據(jù)指令的一種通用處理器便是加州Santa Clara的Intel公司制造的i860XP 處理器。i860XP處理器包含具有不同元素大小的若干分組數(shù)據(jù)類型。此外, 860ΧΡ處理器包含分組加法與分組比較指令。然而,分組加法指令并不斷開進位鏈,因此程序員必須保證軟件正在執(zhí)行的運算不會導致溢出,即運算不會導致來自分組數(shù)據(jù)中一個元素的位溢出到該分組數(shù)據(jù)的下一元素中。例如,如果將值I加到存儲“11111111”的8位分組數(shù)據(jù)元素上,便出現(xiàn)溢出而結(jié)果為“100000000”。此外,i860XP所支持的分組數(shù)據(jù)類型中的小數(shù)點位置是固定的(即i860XP處理器支持數(shù)8. 8,6. 10與8. 24,其中數(shù)i. j包含i個最高位及小數(shù)點后的j位)。從而限制了程序員可以表示的值。由于i860XP處理器只支持這兩條指令,它不能執(zhí)行采用分組數(shù)據(jù)的多媒體算法所要求的許多運算。另一種支持分組數(shù)據(jù)的通用處理器便是Motorala公司制造的MC88110 處理器。MC88110處理器支持具有不同長度元素的若干種不同的分組數(shù)據(jù)格式。此外,MC88110處理器所支持的分組指令集中包括組裝、分解、分組加法、分組減法、分組乘法、分組比較與分組旋轉(zhuǎn)。MC88110處理器分組命令通過連接第一寄存器對中的各元素的(t*r)/64(其中t為該分組數(shù)據(jù)的元素中的位數(shù))個最高有效位進行操作來生成寬度為r的一個字段。該字段取代存儲在第二寄存器對中的分組數(shù)據(jù)的最高有效位。然后將這一分組數(shù)據(jù)存儲在第三寄存器對中并左旋r位。下面在表I與2中示出所支持的t與r值,以及這一指令的運算實例。
權(quán)利要求
1.一種方法,包括 接收第一指令,所述第一指令包括操作碼字段;第一字段,用于指示第一操作數(shù),第一操作數(shù)具有包括第一操作數(shù)第一數(shù)據(jù)元素和第一操作數(shù)第二數(shù)據(jù)元素的第一多個數(shù)據(jù)元素;第二字段,用于指示第二操作數(shù),第二操作數(shù)具有包括第二操作數(shù)第一數(shù)據(jù)元素和第二操作數(shù)第二數(shù)據(jù)元素的第二多個數(shù)據(jù)元素;第一操作數(shù)第一數(shù)據(jù)元素、第一操作數(shù)第二數(shù)據(jù)元素、第二操作數(shù)第一數(shù)據(jù)元素、第二操作數(shù)第二數(shù)據(jù)元素的每一個都具有N/2位的長度。
響應于所述第一指令,存儲具有N位長度的第一結(jié)果數(shù)據(jù)元素,所述第一結(jié)果數(shù)據(jù)元素包括第一操作數(shù)第一數(shù)據(jù)元素和第二操作數(shù)第一數(shù)據(jù)元素。
2.權(quán)利要求I的方法,其中,所述第一指令是分解指令以及其中所述第一結(jié)果數(shù)據(jù)元素是第一分解數(shù)據(jù)元素。
3.權(quán)利要求2的方法,進一步包括利用第一分解數(shù)據(jù)元素重寫第一操作數(shù)的第一多個數(shù)據(jù)元素。
4.權(quán)利要求2的方法,其中第一操作數(shù)第一數(shù)據(jù)元素是第一操作數(shù)的低階數(shù)據(jù)元素以及第二操作數(shù)第一數(shù)據(jù)元素是第二操作數(shù)的低階數(shù)據(jù)元素,以及分解指令的操作碼字段包含操作代碼集之一以指定交錯來自第一和第二多個數(shù)據(jù)元素的低階字節(jié)元素、字元素或雙字元素的分解操作。
5.權(quán)利要求4的方法,其中存儲第一分解數(shù)據(jù)元素包括 存儲所述第一操作數(shù)第一數(shù)據(jù)元素和把所述第二操作數(shù)第一數(shù)據(jù)元素與所述第一操作數(shù)第一數(shù)據(jù)元素一起存儲在相鄰的存儲單元中。
6.權(quán)利要求2的方法,其中所述第一操作數(shù)第一數(shù)據(jù)元素是第一操作數(shù)的高階數(shù)據(jù)元素,第二操作數(shù)第一數(shù)據(jù)元素是第二操作數(shù)的高階數(shù)據(jù)元素,以及分解指令的操作碼字段包含操作代碼集之一以指定交錯來自第一和第二多個數(shù)據(jù)元素的高階字節(jié)元素、字元素或雙字元素的分解操作。
7.權(quán)利要求2的方法,進一步包括 響應于所述分解指令存儲具有N位長度的第二分解數(shù)據(jù)元素,所述第二分解數(shù)據(jù)元素包括第一操作數(shù)第二數(shù)據(jù)元素,以及第二操作書第二數(shù)據(jù)元素。
8.權(quán)利要求7的方法,其中存儲第一分解數(shù)據(jù)元素和存儲第二分解的數(shù)據(jù)元素包括 將所述第一操作數(shù)第一數(shù)據(jù)元素放在第一存儲單元中; 將所述第二操作數(shù)第一數(shù)據(jù)元素放在第二存儲單元中,所述第二存儲單元與所述第一存儲單元相鄰; 將所述第一操作數(shù)第二數(shù)據(jù)元素放在第三存儲單元中,所述第三存儲單元與所述第二存儲單元相鄰; 將第二操作數(shù)第二數(shù)據(jù)元素放在第四存儲單元中,所述第四存儲單元與所述第三存儲單元相鄰。
9.權(quán)利要求8的方法,其中所述第一存儲單元,所述第二存儲單元,所述第三存儲單元,以及所述第四存儲單元是所述分解指令指示的目的地操作數(shù)中的部分。
10.權(quán)利要求9的方法,其中所述目的地操作數(shù)由分解指令的第一字段表示。
11.權(quán)利要求10的方法,還包括利用所述目的地操作數(shù)重寫至少部分第一操作數(shù)。
12.權(quán)利要求11的方法,其中第一字段由分解指令的第3-5位構(gòu)成。
13.權(quán)利要求9的方法,其中第二字段包括分解指令的第三字節(jié)的第0-2位。
14.權(quán)利要求13的方法,其中目的地操作數(shù)由分解指令的第二字段指示。
15.權(quán)利要求13的方法,還包括 利用目的地操作數(shù)重寫至少部分第二操作數(shù)。
16.一種裝置,包括 解碼器,用于解碼第一指令,所述第一指令指示第一操作數(shù),第一操作數(shù)具有包括第一操作數(shù)第一數(shù)據(jù)元素和第一操作數(shù)第二數(shù)據(jù)元素的第一多個數(shù)據(jù)元素;第二操作數(shù),第二操作數(shù)具有包括第二操作數(shù)第一數(shù)據(jù)元素和第二操作數(shù)第二數(shù)據(jù)元素的第二多個數(shù)據(jù)元素;每個數(shù)據(jù)元素都具有N/2位的長度。
功能單元,響應于所述解碼器解碼所述第一指令,存儲具有N位長度的第一結(jié)果數(shù)據(jù)元素,所述第一結(jié)果數(shù)據(jù)元素包括第一操作數(shù)第一數(shù)據(jù)元素和第二操作數(shù)第一數(shù)據(jù)元素。
17.權(quán)利要求16的裝置,其中所述第一指令是分解指令并且其中所述第一結(jié)果數(shù)據(jù)元素是第一分解數(shù)據(jù)元素。
18.權(quán)利要求17的裝置,其中所述分解指令具有包括三個或更多字節(jié)的整數(shù)操作碼格式,三個字節(jié)中的第三字節(jié)允許第一三位的源寄存器地址和第二三位的源-目的地寄存器地址。
19.權(quán)利要求18的裝置,其中第一操作數(shù)對應于第一三位的源寄存器地址。
20.權(quán)利要求18的裝置,其中第一操作數(shù)對應于儲存器中可尋址的存儲單元。
21.權(quán)利要求18的裝置,其中第二操作數(shù)對應于第二三位的源-目的地寄存器地址,以及其中功能單元用于在對應于第二三位的源-目的地寄存器地址的目的地存儲第一分解數(shù)據(jù)元素,并重寫第二操作數(shù)。
22.權(quán)利要求21的裝置,其中所述功能單元用于將所述第一操作數(shù)第一數(shù)據(jù)元素存儲在目的地的第一部分中,以及將所述第二操作數(shù)第一數(shù)據(jù)元素存儲到目的地中與所述第一部分相鄰的第二部分中,以及此外,其中所述功能單元還用于響應于所述第一指令,將所述第一操作數(shù)第二數(shù)據(jù)元素存儲到所述目的地中與所述第二部分相鄰的第三部分中,以及將所述第二操作數(shù)第二數(shù)據(jù)元素存儲到所述目的地中與所述第三部分相鄰的第四部分中。
23.權(quán)利要求17的裝置,還包括 存儲器,用于保存分解指令,所述分解指令具有包括三個或更多字節(jié)的整數(shù)操作碼格式,所述三個字節(jié)中的一個字節(jié)允許第一三位的源寄存器地址和第二三位的的源-目的地寄存器地址;以及 存儲設備,用于存儲軟件,所述軟件被配置成將分解指令提供給存儲器以用于執(zhí)行。
24.權(quán)利要求23的裝置,其中,所述解碼器用于從存儲器接收分解指令并對分解指令進行解碼,第一操作數(shù)對應于第一三位的源寄存器地址,第二操作數(shù)對應于第二三位的源-目的地寄存器地址。
25.權(quán)利要求24的裝置,其中功能單元用于在對應于第二三位的源-目的地寄存器地址的目的地存儲第一分解數(shù)據(jù)元素。
26.—種微處理器,包括第一源寄存器,用于保存第一分組數(shù)據(jù),第一分組數(shù)據(jù)具有包括第一分組數(shù)據(jù)元素和第三分組數(shù)據(jù)元素的第一多個分組數(shù)據(jù)元素,第一分組數(shù)據(jù)元素和第三分組數(shù)據(jù)元素的每一個都具有N/2位的長度; 第二源寄存器,用于保存第二分組數(shù)據(jù),第二分組數(shù)據(jù)具有包括第二分組數(shù)據(jù)元素和第四分組數(shù)據(jù)元素的第二多個分組數(shù)據(jù)元素,第二分組數(shù)據(jù)元素和第四分組數(shù)據(jù)元素的每一個都具有N/2位的長度; 電路,耦合以從第一源寄存器接收第一分組數(shù)據(jù)以及從第二源寄存器接收第二分組數(shù)據(jù),并且響應于分解指令,通過將第一分組數(shù)據(jù)元素和第二分組數(shù)據(jù)元素復制到目的地寄存器的第一分解數(shù)據(jù)元素以及通過將第三分組數(shù)據(jù)元素和第四分組數(shù)據(jù)元素復制到目的地寄存器的第二分解數(shù)據(jù)元素從而分解第一分組數(shù)據(jù)和第二分組數(shù)據(jù),第一和第二分解數(shù)據(jù)元素的每一個都具有N位的長度。
27.權(quán)利要求26的微處理器,其中第一分組數(shù)據(jù)元素是第一分組數(shù)據(jù)的低階數(shù)據(jù)元素以及第二分組數(shù)據(jù)元素是第二分組數(shù)據(jù)的低階數(shù)據(jù)元素,并且分解指令包括操作碼字段,用于包含至少第一操作代碼集的其中之一以指定交錯來自第一和第二多個數(shù)據(jù)元素的低階數(shù)據(jù)元素的分解操作,所述第一操作代碼集指定來自由字節(jié)元素、字元素和雙字元素組成的組中的數(shù)據(jù)元素。
28.權(quán)利要求26的微處理器,其中,第一分組數(shù)據(jù)元素是第一分組數(shù)據(jù)的高階數(shù)據(jù)元素以及第二數(shù)據(jù)元素是第二分組數(shù)據(jù)的高階數(shù)據(jù)元素,以及分解指令包括操作碼字段,所述操作碼字段選擇地包含第二操作代碼集之一以指定交錯來自第一和第二多個數(shù)據(jù)元素的高階數(shù)據(jù)元組的分解操作,所述第二操作代碼集指定來自由字節(jié)元素、字元素和雙字元素所組成的組中的數(shù)據(jù)元素。
29.權(quán)利要求26的微處理器,其中,目的地寄存器是第一源寄存器以及其中利用第一和第二分解數(shù)據(jù)元素重寫第一源寄存器的至少一部分。
30.權(quán)利要求26的微處理器,其中,分解指令具有包括三個或更多字節(jié)的整數(shù)操作碼格式,三個或更多字節(jié)中的第三字節(jié)允許識別第一源寄存器的第一三位的寄存器地址。
31.權(quán)利要求30的微處理器,其中,第一三位的寄存器地址也識別目的地寄存器。
32.一種裝置,包括 用于接收第一指令的部件,所述第一指令包括操作碼字段;第一字段,用于指示第一操作數(shù),第一操作數(shù)具有包括第一操作數(shù)第一數(shù)據(jù)元素和第一操作數(shù)第二數(shù)據(jù)元素的第一多個數(shù)據(jù)元素;以及第二字段,用于指示第二操作數(shù),第二操作數(shù)具有包括第二操作數(shù)第一數(shù)據(jù)元素和第二操作數(shù)第二數(shù)據(jù)元素的第二多個數(shù)據(jù)元素;第一操作數(shù)第一數(shù)據(jù)元素、第一操作數(shù)第二數(shù)據(jù)元素、第二操作數(shù)第一數(shù)據(jù)元素、第二操作數(shù)第二數(shù)據(jù)元素的每一個都具有N/2位的長度。
用于響應所述第一指令存儲具有N位長度的第一結(jié)果數(shù)據(jù)元素的部件,所述第一結(jié)果數(shù)據(jù)元素包括第一操作數(shù)第一數(shù)據(jù)元素和第二操作數(shù)第一數(shù)據(jù)元素。
33.一種處理器,包括 寄存器文件,用于存儲第一和第二分組數(shù)據(jù),第一分組數(shù)據(jù)包括第一和第二數(shù)據(jù)元素以及第二分組數(shù)據(jù)包括第三和第四數(shù)據(jù)元素,其中,第一多個數(shù)據(jù)元素中的每個數(shù)據(jù)元素在各自的位置對應于第二多個數(shù)據(jù)元素中的不同的數(shù)據(jù)元素;解碼器,用于解碼分組數(shù)據(jù)指令;以及 執(zhí)行單元,耦合到寄存器文件和解碼器,其中,所述執(zhí)行單元響應于分組數(shù)據(jù)指令將來自第一分組數(shù)據(jù)的第一數(shù)據(jù)元素和來自第二分組數(shù)據(jù)的對應的數(shù)據(jù)元素結(jié)合到寄存器文件中作為第三分組數(shù)據(jù)。
34.一種處理器,包括 第一寄存器,用于在第一寄存器的位[15:0]中存儲第一源數(shù)據(jù)元素以及在第一寄存器的位[31:16]中存儲第二源數(shù)據(jù)元素; 第二寄存器,用于在第二寄存器的位[15:0]中存儲第三源數(shù)據(jù)元素以及在第二寄存器的位[31:16]中存儲第四源數(shù)據(jù)元素; 解碼器,用于解碼分組數(shù)據(jù)指令;以及 執(zhí)行單元,耦合至寄存器和解碼器,所述執(zhí)行單元被配置成響應于分組數(shù)據(jù)指令產(chǎn)生分組數(shù)據(jù)結(jié)果,所述分組數(shù)據(jù)結(jié)果把第一源數(shù)據(jù)元素存儲在結(jié)果寄存器的位[15:0]中以及把第三源數(shù)據(jù)元素存儲在結(jié)果寄存器的位[31:16]中的。
35.一種處理系統(tǒng),被配置成支持2D/3D圖形,圖像處理,視頻壓縮/解壓縮以及音頻操作,所述系統(tǒng)包括 總線,配置成用于傳送信息;和 處理器,耦合到所述總線以處理信息,所述處理器包括 寄存器文件,用于存儲第一和第二分組數(shù)據(jù),第一分組數(shù)據(jù)包括第一和第二數(shù)據(jù)元素以及第二分組數(shù)據(jù)包括第三和第四數(shù)據(jù)元素,其中,第一多個數(shù)據(jù)元素中的每個數(shù)據(jù)元素在各自的位置對應于第二多個數(shù)據(jù)元素中的不同的數(shù)據(jù)元素; 解碼器,用于解碼分組數(shù)據(jù)指令;以及 執(zhí)行單元,耦合到寄存器文件和解碼器,其中,所述執(zhí)行單元響應于分組數(shù)據(jù)指令將來自第一分組數(shù)據(jù)的第一數(shù)據(jù)元素和來自第二分組數(shù)據(jù)的對應的數(shù)據(jù)元素結(jié)合成到寄存器文件中作為第三分組數(shù)據(jù); 其中所述系統(tǒng)被配置成耦合到用于向用戶顯示信息的顯示設備和用于從用戶接收信息的用戶輸入設備。
36.一種混合媒體處理系統(tǒng),被配置成支持2D/3D圖形,圖像處理,視頻壓縮/解壓縮以及音頻操作,所述系統(tǒng)包括 通信總線,用于傳送信息;和 處理器,耦合到所述通信總線以處理信息,所述處理器包括 第一寄存器,用于在第一寄存器的位[15:0]中存儲第一源數(shù)據(jù)元素以及在第一寄存器的位[31:16]中存儲第二源數(shù)據(jù)元素; 第二寄存器,用于在第二寄存器的位[15:0]中存儲第三源數(shù)據(jù)元素以及在第二寄存器的位[31:16]中存儲第四源數(shù)據(jù)元素; 執(zhí)行單元,耦合至第一寄存器、第二寄存器和解碼器,所述執(zhí)行單元被配置成響應于分組數(shù)據(jù)指令產(chǎn)生分組數(shù)據(jù)結(jié)果,所述分組數(shù)據(jù)結(jié)果把第一源數(shù)據(jù)元素存儲在第一寄存器的位[15:0]中以及把第三源數(shù)據(jù)元素存儲在第一寄存器的位[31:16]中, 其中,所述系統(tǒng)被配置成耦合至用于向用戶顯示信息的顯示設備和用于從用戶接收信息的用戶輸入設備。
37.一種處理器,包括 寄存器文件,配置成存儲第一分組數(shù)據(jù)和第二分組數(shù)據(jù),所述第一分組數(shù)據(jù)和第二分組數(shù)據(jù)分別包括第一多個數(shù)據(jù)元素和第二多個數(shù)據(jù)元素,其中第一多個數(shù)據(jù)元素中的每個數(shù)據(jù)元素對應于第二多個數(shù)據(jù)元素中的數(shù)據(jù)元素; 解碼器,配置成解碼乘操作的指令,該指令指定數(shù)據(jù)元素的長度;和執(zhí)行單元,耦合到所述寄存器文件和解碼器,所述執(zhí)行單元配置成把來自第一多個數(shù)據(jù)元素的每個數(shù)據(jù)元素與來自第二多個數(shù)據(jù)元素的相應數(shù)據(jù)元素相乘,以便響應所述解碼器解碼所述乘操作的指令而生成第三分組數(shù)據(jù)的多個結(jié)果數(shù)據(jù)元素,其中每個結(jié)果數(shù)據(jù)元素的長度等于所述指令指定的數(shù)據(jù)元素的長度。
38.一種處理器,包括 寄存器文件,配置成存儲第一 64位的分組數(shù)據(jù)和第二 64位的分組數(shù)據(jù),所述第一 64位的分組數(shù)據(jù)和第二 64位的分組數(shù)據(jù)分別包括第一多個數(shù)據(jù)元素和第二多個數(shù)據(jù)元素,其中第一多個數(shù)據(jù)元素中的每個數(shù)據(jù)元素對應于第二多個數(shù)據(jù)元素中的數(shù)據(jù)元素,每個數(shù)據(jù)元素的長度是8位、16位或者32位; 解碼器,配置成解碼32位的分組乘指令,所述指令指定數(shù)據(jù)元素的長度;和執(zhí)行單元,耦合到所述寄存器文件和解碼器,并且被配置成把來自第一多個數(shù)據(jù)元素的每個數(shù)據(jù)元素和來自第二多個數(shù)據(jù)元素的對應數(shù)據(jù)元素相乘,以便響應所述解碼器解碼所述乘指令而生成第三分組數(shù)據(jù)的多個結(jié)果數(shù)據(jù)元素,其中每個結(jié)果數(shù)據(jù)元素的長度等于所述指令指定的數(shù)據(jù)元素的長度。
39.一種處理系統(tǒng),被配置成支持2D/3D圖形,圖像處理,視頻壓縮/解壓縮以及音頻操作,所述系統(tǒng)包括 總線,配置成用于傳送信息;和 處理器,耦合到所述總線以處理信息,所述處理器包括 寄存器文件,配置成存儲第一分組數(shù)據(jù)和第二分組數(shù)據(jù),所述第一分組數(shù)據(jù)和第二分組數(shù)據(jù)分別包括第一多個數(shù)據(jù)元素和第二多個數(shù)據(jù)元素,其中第一多個數(shù)據(jù)元素中的每個數(shù)據(jù)元素對應于第二多個數(shù)據(jù)元素中的數(shù)據(jù)元素; 解碼器,配置成解碼乘操作的指令,該指令指定數(shù)據(jù)元素的長度;和執(zhí)行單元,耦合到所述寄存器文件和解碼器,所述執(zhí)行單元配置成把來自第一多個數(shù)據(jù)元素的每個數(shù)據(jù)元素與來自第二多個數(shù)據(jù)元素的相應數(shù)據(jù)元素相乘,以便響應所述解碼器解碼所述乘操作的指令而生成第三分組數(shù)據(jù)的多個結(jié)果數(shù)據(jù)元素,其中每個結(jié)果數(shù)據(jù)元素的長度等于所述指令指定的數(shù)據(jù)元素的長度; 其中所述系統(tǒng)被配置成耦合到用于向用戶顯示信息的顯示設備和用于從用戶接收信息的用戶輸入設備。
40.一種混合媒體處理系統(tǒng),被配置成支持2D/3D圖形,圖像處理,視頻壓縮/解壓縮以及音頻操作,所述系統(tǒng)包括 通信總線,用于傳送信息;和 處理器,耦合到所述通信總線以處理信息,所述處理器包括 寄存器文件,配置成存儲第一 64位的分組數(shù)據(jù)和第二 64位的分組數(shù)據(jù),所述第一 64位的分組數(shù)據(jù)和第二 64位的分組數(shù)據(jù)分別包括第一多個數(shù)據(jù)元素和第二多個數(shù)據(jù)元素,其中第一多個數(shù)據(jù)元素中的每個數(shù)據(jù)元素對應于第二多個數(shù)據(jù)元素中的數(shù)據(jù)元素,每個數(shù)據(jù)元素的長度是8位、16位或者32位; 解碼器,配置成解碼32位的分組乘指令,所述指令指定數(shù)據(jù)元素的長度;和執(zhí)行單元,耦合到所述寄存器文件和解碼器,并且被配置成把來自第一多個數(shù)據(jù)元素的每個數(shù)據(jù)元素和來自第二多個數(shù)據(jù)元素的對應數(shù)據(jù)元素相乘,以便響應所述解碼器解碼所述乘指令而生成第三分組數(shù)據(jù)的多個結(jié)果數(shù)據(jù)元素,其中每個結(jié)果數(shù)據(jù)元素的長度等于所述指令指定的數(shù)據(jù)元素的長度; 其中所述系統(tǒng)被配置成耦合到用于向用戶顯示信息的顯示設備和用于從用戶接收信息的用戶輸入設備。
41.一種處理器,包括 指令高速緩存器,配置成用于存儲指令; 指令指針寄存器,配置成存儲要執(zhí)行的指令的地址; 寄存器文件,包括多個寄存器,可操作來根據(jù)要執(zhí)行的指令把浮點數(shù)據(jù)或者分組數(shù)據(jù)存儲在單個寄存器中,所述分組數(shù)據(jù)包括多個數(shù)據(jù)元素; 解碼器,耦合到指令指針寄存器和指令高速緩存器,該解碼器配置成用于解碼分組數(shù)據(jù)指令,該分組數(shù)據(jù)指令指定要對所述寄存器中所存儲的每個數(shù)據(jù)元素執(zhí)行的移位操作,和所述分組數(shù)據(jù)指令指定要在寄存器中存儲的數(shù)據(jù)元素的大小,所述解碼器還配置成解碼加載指令,所述加載指令指定要把數(shù)據(jù)從數(shù)據(jù)高速緩存器加載到寄存器文件中的加載操作;和 執(zhí)行單元,耦合到所述寄存器文件和解碼器,所述執(zhí)行單元配置成響應于分組數(shù)據(jù)指令而獨立地移位每個數(shù)據(jù)元素,并且所述執(zhí)行單元配置成響應所述加載指令執(zhí)行加載操作。
42.一種處理器,包括 指令高速緩存器,配置成用于存儲指令; 指令指針寄存器,配置成存儲要執(zhí)行的指令的地址; 寄存器文件,包括多個寄存器,可操作來根據(jù)要執(zhí)行的指令把浮點數(shù)據(jù)或者分組數(shù)據(jù)存儲在單個寄存器中,所述分組數(shù)據(jù)包括一個64位的數(shù)據(jù)元素,兩個32位的數(shù)據(jù)元素,四個16位的數(shù)據(jù)元素或者八個8位的數(shù)據(jù)元素; 解碼器,耦合到指令指針寄存器和指令高速緩存器,該解碼器配置成用于解碼32位的分組數(shù)據(jù)指令,該32位的分組數(shù)據(jù)指令指定要對所述寄存器中所存儲的每個數(shù)據(jù)元素執(zhí)行的移位操作,和所述32位的分組數(shù)據(jù)指令指定要在寄存器中存儲的數(shù)據(jù)元素的大小,所述解碼器還配置成解碼加載指令,所述加載指令指定要把數(shù)據(jù)從數(shù)據(jù)高速緩存器加載到寄存器文件中的加載操作;和 執(zhí)行單元,耦合到所述寄存器文件和解碼器,所述執(zhí)行單元配置成響應于分組數(shù)據(jù)指令而獨立地用一定數(shù)目的時鐘周期移位數(shù)據(jù)元素中的每個數(shù)據(jù)元素,所述時鐘周期的數(shù)目等于所述處理器對非分組數(shù)據(jù)執(zhí)行單個移位操作所需要的時鐘周期數(shù)目,并且所述執(zhí)行單元還配置成響應所述加載指令執(zhí)行加載操作。
43.一種處理系統(tǒng),被配置成支持2D/3D圖形,圖像處理,視頻壓縮/解壓縮以及音頻操作,所述系統(tǒng)包括總線,配置成用于傳送信息;和 處理器,耦合到所述總線以處理信息,所述處理器包括 指令高速緩存器,配置成用于存儲指令; 寄存器文件,包括多個寄存器,可操作來根據(jù)要執(zhí)行的指令把浮點數(shù)據(jù)或者分組數(shù)據(jù)存儲在單個寄存器中,所述分組數(shù)據(jù)包括多個數(shù)據(jù)元素; 解碼器,耦合到指令高速緩存器,該解碼器配置成用于解碼分組數(shù)據(jù)指令,該分組數(shù)據(jù)指令指定要對所述寄存器中所存儲的每個數(shù)據(jù)元素執(zhí)行的移位操作,和所述分組數(shù)據(jù)指令指定要在寄存器中存儲的數(shù)據(jù)元素的大小;和 執(zhí)行單元,耦合到所述寄存器文件和解碼器,所述執(zhí)行單元配置成響應于分組數(shù)據(jù)指令而獨立地移位每個數(shù)據(jù)元素, 其中所述系統(tǒng)被配置成耦合到用于向用戶顯示信息的顯示設備和用于從用戶接收信息的用戶輸入設備。
44.一種混合媒體處理系統(tǒng),被配置成支持2D/3D圖形,圖像處理,視頻壓縮/解壓縮以及音頻操作,所述系統(tǒng)包括 通信總線,用于傳送信息;和 處理器,耦合到所述通信總線以處理信息,所述處理器包括 指令高速緩存器,配置成用于存儲指令; 寄存器文件,包括多個寄存器,可操作來根據(jù)要執(zhí)行的指令把浮點數(shù)據(jù)或者分組數(shù)據(jù)存儲在單個寄存器中,所述分組數(shù)據(jù)包括兩個32位的數(shù)據(jù)元素,四個16位的數(shù)據(jù)元素或者八個8位的數(shù)據(jù)元素; 解碼器,耦合到指令高速緩存器,該解碼器配置成用于解碼32位的分組數(shù)據(jù)指令,該32位的分組數(shù)據(jù)指令指定要對所述寄存器中所存儲的每個數(shù)據(jù)元素執(zhí)行的移位操作,和所述32位的分組數(shù)據(jù)指令指定寄存器中存儲的數(shù)據(jù)元素的大小,所述解碼器還配置成解碼加載指令,所述加載指令指定要把數(shù)據(jù)從數(shù)據(jù)高速緩存器加載到寄存器文件中的加載操作;和 執(zhí)行單元,耦合到所述寄存器文件和解碼器,所述執(zhí)行單元配置成響應于分組數(shù)據(jù)指令而獨立地用一定數(shù)目的時鐘周期移位數(shù)據(jù)元素中的每個數(shù)據(jù)元素,所述時鐘周期的數(shù)目等于所述處理器對非分組數(shù)據(jù)執(zhí)行單個移位操作所需要的時鐘周期數(shù)目,并且所述執(zhí)行單元還配置成響應所述加載指令執(zhí)行加載操作; 其中所述系統(tǒng)被配置成耦合到用于向用戶顯示信息的顯示設備和用于從用戶接收信息的用戶輸入設備。
45.一種計算機系統(tǒng),包括 處理器,包括 指令高速緩存器,用于存儲指令; 指令指針寄存器,用于存儲要被執(zhí)行的指令的地址; 包括多個寄存器的寄存器文件,所述多個寄存器可操作為用于在單個寄存器中存儲浮點數(shù)據(jù)和分組數(shù)據(jù),所述分組數(shù)據(jù)包括具有第一多個數(shù)據(jù)元素的第一分組數(shù)據(jù)以及包括第二多個數(shù)據(jù)元素的第二分組數(shù)據(jù),第一和第二多個數(shù)據(jù)元素的每個包括兩個32位數(shù)據(jù)元素、四個16位數(shù)據(jù)元素以及八個8位數(shù)據(jù)元素;耦合到指令指針寄存器和指令高速緩存器的解碼器,所述解碼器用于解碼 分組移位指令以便執(zhí)行 移位操作,該操作用以將第一多個數(shù)據(jù)元素的每個移位以第二多個數(shù)據(jù)元素的對應一個的移位計數(shù)來產(chǎn)生分組結(jié)果; 飽和操作,該操作在上溢的情況下將分組結(jié)果飽和箝位至最大值,而在下溢的情況下將分組結(jié)果飽和箝位至最小值;以及 分組移位指令,該指令進一步指定第一多個數(shù)據(jù)元素的大??;以及 分組加載指令,用于執(zhí)行加載操作而將分組數(shù)據(jù)從數(shù)據(jù)高速緩存器加載到分組寄存器中; 分組加法指令,用以執(zhí)行加法運算;以及 分組減法指令,用以執(zhí)行減法運算;以及 耦合到寄存器文件和解碼器的執(zhí)行單元,所述執(zhí)行單元用于 響應分組數(shù)據(jù)指令而將數(shù)據(jù)元素的每個獨立地移位; 響應加載指令而執(zhí)行加載操作; 響應加法指令而執(zhí)行加法運算;以及 響應減法指令而執(zhí)行減法運算;以及 總線,耦合到所述處理器并適于耦合到用于聲音錄制和/或播放的設備; ROM,耦合到所述總線以存儲用于所述處理器的指令; RAM,耦合到所述總線;以及 視頻數(shù)字化設備,耦合到所述總線; 所述計算機系統(tǒng)被耦合到用戶輸入設備和顯示設備,并進一步將為網(wǎng)絡中的終端并用來支持2D/3D圖形。
46.一種計算機系統(tǒng),包括 處理器,包括 指令高速緩存器,用于存儲指令; 指令指針寄存器,用于存儲要被執(zhí)行的指令的地址; 包括多個寄存器的寄存器文件,所述多個寄存器可操作為用于在單個寄存器中存儲浮點數(shù)據(jù)和分組數(shù)據(jù),所述分組數(shù)據(jù)包括多個數(shù)據(jù)元素,所述多個數(shù)據(jù)元素的每個包括兩個32位數(shù)據(jù)元素、四個16位數(shù)據(jù)元素以及八個8位數(shù)據(jù)元素; 耦合到指令指針寄存器和指令高速緩存器的解碼器,所述解碼器用于解碼 分組移位指令以便執(zhí)行 移位操作,該操作用以獨立地將所述多個數(shù)據(jù)元素的每個移位以直接值來產(chǎn)生分組結(jié)果; 飽和操作,該操作在上溢的情況下將分組結(jié)果飽和箝位至最大值,而在下溢的情況下將分組結(jié)果飽和箝位至最小值;以及 分組移位指令,該指令進一步指定多個數(shù)據(jù)元素的大?。灰约? 分組加載指令,用于執(zhí)行加載操作而將分組數(shù)據(jù)從數(shù)據(jù)高速緩存器加載到分組寄存器中; 分組加法指令,用以執(zhí)行加法運算;以及分組減法指令,用以執(zhí)行減法運算;以及 耦合到寄存器文件和解碼器的執(zhí)行單元,所述執(zhí)行單元用于 響應分組數(shù)據(jù)指令而將數(shù)據(jù)元素的每個獨立地移位; 響應加載指令而執(zhí)行加載操作; 響應加法指令而執(zhí)行加法運算; 響應減法指令而執(zhí)行減法運算;以及 總線,耦合到所述處理器并適于耦合到用于聲音錄制和/或播放的設備; ROM,耦合到所述總線以存儲用于所述處理器的指令; RAM,耦合到所述總線;以及 視頻數(shù)字化設備,耦合到所述總線; 所述計算機系統(tǒng)將被耦合到用戶輸入設備和顯示設備,并進一步將為網(wǎng)絡中的終端并用來支持2D/3D圖形。
47.權(quán)利要求45或46的計算機系統(tǒng),其中 第一多個數(shù)據(jù)元素和第二多個數(shù)據(jù)元素包括長度均為8位的未帶符號的整數(shù)元素;以及 所述執(zhí)行單元在下溢的情況下將分組結(jié)果飽和箝位至最小值零。
48.權(quán)利要求45或46的計算機系統(tǒng),其中 第一多個數(shù)據(jù)元素和第二多個數(shù)據(jù)元素包括長度均為8位的帶符號的整數(shù)元素;以及 所述執(zhí)行單元在下溢的情況下將分組結(jié)果飽和箝位至最小值-128。
49.權(quán)利要求45或46的計算機系統(tǒng),其中 第一多個數(shù)據(jù)元素和第二多個數(shù)據(jù)元素包括長度均為16位的未帶符號的整數(shù)元素;以及 所述執(zhí)行單元在下溢的情況下將分組結(jié)果飽和箝位至最小值零。
50.權(quán)利要求45或46的計算機系統(tǒng),其中 第一多個數(shù)據(jù)元素和第二多個數(shù)據(jù)元素包括長度均為16位的帶符號的整數(shù)元素;以及 所述執(zhí)行單元在下溢的情況下將分組結(jié)果飽和箝位至最小值-32768。
51.權(quán)利要求45或46的計算機系統(tǒng),其中 第一多個數(shù)據(jù)元素和第二多個數(shù)據(jù)元素包括長度均為32位的未帶符號的整數(shù)元素;以及 所述執(zhí)行單元在下溢的情況下將分組結(jié)果飽和箝位至最小值零。
52.權(quán)利要求45或46的計算機系統(tǒng),其中所述解碼器用于解碼32位分組移位指令。
53.權(quán)利要求45或46的計算機系統(tǒng),其中移位操作用于將所述結(jié)果存儲在對應目的地寄存器中。
54.權(quán)利要求45或46的計算機系統(tǒng),其中所述分組寄存器在所述寄存器文件中。
55.權(quán)利要求45或46的計算機系統(tǒng),其中所述執(zhí)行單元響應于分組數(shù)據(jù)指令而用一定數(shù)目的時鐘周期移位數(shù)據(jù)元素中的每個數(shù)據(jù)元素,所述時鐘周期的數(shù)目等于所述處理器對非分組數(shù)據(jù)執(zhí)行單個移位操作所需要的時鐘周期數(shù)目。
56.—種處理器,包括指令高速緩存器,用于存儲指令; 耦合到指令高速緩存器的解碼器,所述解碼器用于解碼要在具有第一組分組數(shù)據(jù)元素的第一分組數(shù)據(jù)序列上執(zhí)行的第一指令,第一組分組數(shù)據(jù)元素的每個具有相同的n位長度,第一指令指定第一分組數(shù)據(jù)序列的源和結(jié)果分組數(shù)據(jù)序列的目的地單元,所述結(jié)果分組數(shù)據(jù)序列具有與所述第一組分組數(shù)據(jù)元素對應的一組結(jié)果分組數(shù)據(jù)元素,所述一組結(jié)果分組數(shù)據(jù)元素的每個具有相同的n位長度; 執(zhí)行單元,響應于所述解碼器解碼第一指令而產(chǎn)生所述結(jié)果分組數(shù)據(jù)序列,所述一組結(jié)果分組數(shù)據(jù)元素的每個分別代表給所述第一分組數(shù)據(jù)序列的對應分組數(shù)據(jù)元素中的一個設定的位數(shù)的計數(shù);以及 寄存器文件,與所述執(zhí)行單元耦合以在第一指令所指定的目的地單元存儲由執(zhí)行單元產(chǎn)生的結(jié)果分組數(shù)據(jù)序列。
57.權(quán)利要求56的處理器,其中第一組分組數(shù)據(jù)元素的每個和所述一組結(jié)果分組數(shù)據(jù)元素的每個都具有相同的8位長度。
58.權(quán)利要求56的處理器,其中第一組分組數(shù)據(jù)元素的每個和所述一組結(jié)果分組數(shù)據(jù)元素的每個都具有相同的16位長度。
59.權(quán)利要求56的處理器,其中第一組分組數(shù)據(jù)元素的每個和所述一組結(jié)果分組數(shù)據(jù)元素的每個都具有相同的32位長度。
60.權(quán)利要求56的處理器,其中所述第一組分組數(shù)據(jù)序列和所述結(jié)果分組數(shù)據(jù)序列都具有64位長度。
61.權(quán)利要求56的處理器,其中所述第一指令具有24位或更多位長度的控制信號格式。
62.權(quán)利要求56的處理器,其中所述第一指令具有32位長度的控制信號格式。
63.權(quán)利要求62的處理器,其中存儲在所述指令高速緩存器中的所有指令都具有32位長度的控制信號格式。
64.一種由計算機實現(xiàn)的方法,包括 解碼指令,所述指令指示具有第一組分組數(shù)據(jù)元素的第一分組數(shù)據(jù)序列的存儲單元,所述第一組分組數(shù)據(jù)元素的每個具有相同的n位長度,所述指令指定要對所述分組數(shù)據(jù)元素進行的操作;以及 響應于執(zhí)行所述指令而產(chǎn)生結(jié)果分組數(shù)據(jù)序列,所述結(jié)果分組數(shù)據(jù)序列具有與所述第一分組數(shù)據(jù)序列的所述第一組分組數(shù)據(jù)元素對應的一組結(jié)果分組數(shù)據(jù)元素,所述一組結(jié)果分組數(shù)據(jù)元素的每個分別代表給所述第一分組數(shù)據(jù)序列的對應分組數(shù)據(jù)元素中的一個設定的位數(shù)的計數(shù)。
65.權(quán)利要求64的由計算機實現(xiàn)的方法,其中所述第一組分組數(shù)據(jù)元素的每個和所述一組結(jié)果分組數(shù)據(jù)元素的每個都具有相同的8位長度。
66.權(quán)利要求65的由計算機實現(xiàn)的方法,其中所述第一分組數(shù)據(jù)序列的存儲單元具有64位長度
67.一種計算機系統(tǒng),包括 存儲設備,用于存儲指令和數(shù)據(jù);以及 處理器,包括指令高速緩存器,用于存儲來自存儲設備的指令的拷貝; 耦合到指令高速緩存器的解碼器,所述解碼器用于解碼要對具有第一組分組數(shù)據(jù)元素的第一分組數(shù)據(jù)序列執(zhí)行的第一指令,第一組分組數(shù)據(jù)元素的每個具有相同的n位長度,第一指令指定第一分組數(shù)據(jù)序列的源和結(jié)果分組數(shù)據(jù)序列的目的地單元,所述結(jié)果分組數(shù)據(jù)序列具有與所述第一組分組數(shù)據(jù)元素對應的一組結(jié)果分組數(shù)據(jù)元素,所述一組結(jié)果分組數(shù)據(jù)元素的每個具有相同的n位長度; 執(zhí)行單元,響應于所述解碼器解碼第一指令而產(chǎn)生所述結(jié)果分組數(shù)據(jù)序列,所述一組結(jié)果分組數(shù)據(jù)元素的每個分別代表給所述第一分組數(shù)據(jù)序列的對應分組數(shù)據(jù)元素中的一個設定的位數(shù)的計數(shù);以及 寄存器文件,與所述執(zhí)行單元耦合以在第一指令所指定的目的地單元存儲由執(zhí)行單元產(chǎn)生的結(jié)果分組數(shù)據(jù)序列。
68.權(quán)利要求67的計算機系統(tǒng),其中所述第一組分組數(shù)據(jù)元素的每個和所述一組結(jié)果分組數(shù)據(jù)元素的每個都具有相同的8位長度。
69.權(quán)利要求67的計算機系統(tǒng),其中所述第一組分組數(shù)據(jù)序列的存儲單元具有64位長度.
70.附加地支持與x86指令集兼容的指令集的處理器,所述處理器包括 多個寄存器,其包括整數(shù)寄存器、狀態(tài)寄存器、以及既用于浮點數(shù)據(jù)又用于分組數(shù)據(jù)的寄存器,所述狀態(tài)寄存器用于指示所述處理器的狀態(tài); 機構(gòu),用于在對既用于浮點數(shù)據(jù)又用于分組數(shù)據(jù)的所述寄存器操作而使其作為棧定位的浮點寄存器或非棧定位的分組數(shù)據(jù)寄存器之間切換; 解碼器,對32位控制信號格式進行解碼以指示分組數(shù)據(jù)的使用并提供第一源寄存器、第二源寄存器、以及用來存儲結(jié)果分組數(shù)據(jù)的目的地寄存器; 執(zhí)行單元,響應于解碼器解碼所述32位控制信號而對作為非棧定位的分組數(shù)據(jù)寄存器的既用于浮點數(shù)據(jù)又用于分組數(shù)據(jù)的所述寄存器的所述第一源寄存器和第二源寄存器執(zhí)行分組操作,并將所述結(jié)果存儲在所述目的地寄存器中。
71.權(quán)利要求70的處理器,響應于來自第二控制信號格式的指令而支持與x86指令集兼容的指令集,而所述執(zhí)行單元也將既用于浮點數(shù)據(jù)又用于分組數(shù)據(jù)的所述寄存器作為棧定位的浮點寄存器處理。
72.權(quán)利要求71的處理器,其中所述執(zhí)行單元也對既用于浮點數(shù)據(jù)又用于分組數(shù)據(jù)的所述寄存器同時作為非棧定位的浮點和分組數(shù)據(jù)寄存器來操作。
73.權(quán)利要求72的處理器,其中附加地支持與x86指令集兼容的指令集的所述處理器包含在64位處理器中。
74.一種計算機系統(tǒng),包括 存儲設備,用來存儲指令和數(shù)據(jù); 附加地支持與x86指令集兼容的指令集的處理器,所述處理器包括 指令高速緩存器,用于存儲來自存儲設備的指令的拷貝; 多個寄存器,其包括整數(shù)寄存器、狀態(tài)寄存器、以及既用于浮點數(shù)據(jù)又用于分組數(shù)據(jù)的寄存器; 機構(gòu),用于在對既用于浮點數(shù)據(jù)又用于分組數(shù)據(jù)的所述寄存器操作而使其作為棧定位的浮點寄存器或非棧定位的分組數(shù)據(jù)寄存器之間切換; 解碼器,用來解碼32位控制信號格式以指示分組數(shù)據(jù)的使用并提供第一源寄存器、第二源寄存器、以及用來存儲結(jié)果分組數(shù)據(jù)的目的地寄存器; 執(zhí)行單元,對響應于解碼器解碼所述32位控制信號而作為非棧定位的分組數(shù)據(jù)寄存器的既用于浮點數(shù)據(jù)又用于分組數(shù)據(jù)的所述寄存器的所述第一源寄存器和第二源寄存器執(zhí)行分組操作,并將結(jié)果存儲在所述目的地寄存器中。
75.權(quán)利要求74的計算機系統(tǒng),所述處理器響應于來自第二控制信號格式的指令而支持與x86指令集兼容的指令集,其中所述執(zhí)行單元也將既用于浮點數(shù)據(jù)又用于分組數(shù)據(jù)的所述寄存器作為棧定位的浮點寄存器處理。
76.權(quán)利要求75的計算機系統(tǒng),其中所述狀態(tài)寄存器用來指示處理器的狀態(tài)。
77.權(quán)利要求74的計算機系統(tǒng),其中所述執(zhí)行單元也對既用于浮點數(shù)據(jù)又用于分組數(shù)據(jù)的所述寄存器同時作為非棧定位的浮點和分組數(shù)據(jù)寄存器棧來操作。
78.權(quán)利要求74的計算機系統(tǒng),其中附加地支持與x86指令集兼容的指令集的所述處理器包含在64位處理器中。
79.一種處理器,包括 指令高速緩存器,用于存儲指令; 寄存器文件,包括可操作為用于存儲浮點數(shù)據(jù)和分組數(shù)據(jù)的多個寄存器,所述分組數(shù)據(jù)包括具有第一多個數(shù)據(jù)元素的第一分組數(shù)據(jù)以及具有第二多個數(shù)據(jù)元素的第二分組數(shù)據(jù),第一和第二多個數(shù)據(jù)元素的每個具有相同的n位大?。? 耦合到指令高速緩存器的解碼器,所述解碼器用于解碼第一指令,第一指令指定第一分組數(shù)據(jù)的第一源、第二分組數(shù)據(jù)的第二源、以及具有第三多個結(jié)果分組數(shù)據(jù)元素的結(jié)果分組數(shù)據(jù)的目的地單元,所述第三多個結(jié)果分組數(shù)據(jù)元素的每個具有與第一和第二多個數(shù)據(jù)元素的每個的n位大小的兩倍那么長的相同大小,第一指令進一步指定第一和第二多個數(shù)據(jù)元素的每個的大??; 執(zhí)行單元,耦合到寄存器文件并響應于解碼器對第一指令的解碼,將第一多個數(shù)據(jù)元素的每個乘以第二多個數(shù)據(jù)元素的對應元素,從而產(chǎn)生各自的積,再將第一和第二分組數(shù)據(jù)的對應數(shù)據(jù)元素的積一起加成對應的結(jié)果分組數(shù)據(jù),從而產(chǎn)生第三多個結(jié)果分組數(shù)據(jù)元素;以及 所述文件寄存器耦合到執(zhí)行單元,以便在第一指令所指定的目的地單元存儲由執(zhí)行單元產(chǎn)生的結(jié)果分組數(shù)據(jù)。
80.權(quán)利要求79的處理器,其中第一組分組數(shù)據(jù)元素的每個和所述一組結(jié)果分組數(shù)據(jù)元素的每個都具有相同的8位大小。
81.權(quán)利要求79的處理器,其中第一組分組數(shù)據(jù)元素的每個和所述一組結(jié)果分組數(shù)據(jù)元素的每個都具有相同的16位大小。
82.權(quán)利要求79的處理器,其中第一組分組數(shù)據(jù)元素的每個和所述一組結(jié)果分組數(shù)據(jù)元素的每個都具有相同的32位大小。
83.一種計算機系統(tǒng),包括 處理器,包括 指令高速緩存器,用于存儲指令;指令指針寄存器,用于存儲要被執(zhí)行的指令的地址; 包括多個寄存器的寄存器文件,所述多個寄存器可操作為用于在單個寄存器中存儲浮點數(shù)據(jù)和分組數(shù)據(jù),所述分組數(shù)據(jù)包括具有第一多個數(shù)據(jù)元素的第一分組數(shù)據(jù)以及包括第二多個數(shù)據(jù)元素的第二分組數(shù)據(jù),第一和第二多個數(shù)據(jù)元素的每個包括兩個32位數(shù)據(jù)元素、四個16位數(shù)據(jù)元素以及八個8位數(shù)據(jù)元素; 耦合到指令指針寄存器和指令高速緩存器的解碼器,所述解碼器用于解碼 分組乘-加指令以便執(zhí)行 乘法運算,用以將第一多個數(shù)據(jù)元素的每個乘以第二多個數(shù)據(jù)元素的對應一個,從而產(chǎn)生各自的積; 加法運算,用以將第一和第二分組數(shù)據(jù)中的對應數(shù)據(jù)元素的積求和,從而產(chǎn)生分組結(jié)果;以及 分組乘-加指令,該指令進一步指定所述多個數(shù)據(jù)元素的大小;以及· 分組加載指令,用于執(zhí)行加載操作而將分組數(shù)據(jù)從數(shù)據(jù)高速緩存器加載到分組寄存器中; 分組加法指令,用以執(zhí)行加法運算;以及 分組減法指令,用以執(zhí)行減法運算;以及 分組移位指令,用以執(zhí)行移位操作;以及 耦合到寄存器文件和解碼器的執(zhí)行單元,所述執(zhí)行單元用于 響應分組乘-加指令而對數(shù)據(jù)元素獨立地執(zhí)行乘-加運算; 響應加載指令而執(zhí)行加載操作; 響應加法指令而執(zhí)行加法運算;以及 響應減法指令而執(zhí)行減法運算;以及 響應移位指令而執(zhí)行移位操作;以及 總線,耦合到所述處理器并適于耦合到用于聲音錄制和/或播放的設備; ROM,耦合到所述總線以存儲用于所述處理器的指令; RAM,耦合到所述總線;以及 視頻數(shù)字化設備,耦合到所述總線; 所述計算機系統(tǒng)將被耦合到用戶輸入設備和顯示設備,并進一步將為網(wǎng)絡中的終端并用來支持2D/3D圖形。
84.權(quán)利要求83的計算機系統(tǒng),其中,所述解碼器進一步用來解碼飽和操作,以便在上溢的情況下將所述分組結(jié)果的每個飽和箝位至最大值,在下溢的情況下則飽和箝位至最小值。
85.權(quán)利要求84的計算機系統(tǒng),其中 第一多個分組數(shù)據(jù)元素和第二多個分組數(shù)據(jù)元素包括長度均為8位的未帶符號的整數(shù)元素;以及 所述執(zhí)行單元在下溢的情況下將分組結(jié)果的每個飽和箝位至最小值零。
86.權(quán)利要求84的計算機系統(tǒng),其中 第一多個分組數(shù)據(jù)元素和第二多個分組數(shù)據(jù)元素包括長度均為8位的帶符號的整數(shù)元素;以及所述執(zhí)行單元在下溢的情況下將分組結(jié)果的每個飽和箝位至最小值-128。
87.權(quán)利要求84的計算機系統(tǒng),其中 第一多個分組數(shù)據(jù)元素和第二多個分組數(shù)據(jù)元素包括長度均為16位的未帶符號的整數(shù)元素;以及 所述執(zhí)行單元在下溢的情況下將分組結(jié)果的每個飽和箝位至最小值零。
88.權(quán)利要求84的計算機系統(tǒng),其中 第一多個分組數(shù)據(jù)元素和第二多個分組數(shù)據(jù)元素包括長度均為16位的帶符號的整數(shù)元素;以及 所述執(zhí)行單元在下溢的情況下將分組結(jié)果的每個飽和箝位至最小值-32768。
89.權(quán)利要求84的計算機系統(tǒng),其中 第一多個分組數(shù)據(jù)元素和第二多個分組數(shù)據(jù)元素包括長度均為32位的未帶符號的整數(shù)元素;以及 所述執(zhí)行單元在下溢的情況下將分組結(jié)果的每個飽和箝位至最小值零。
90.權(quán)利要求83的計算機系統(tǒng),其中所述解碼器用于解碼32位分組移位指令。
91.權(quán)利要求83的計算機系統(tǒng),其中乘-加運算將所述結(jié)果存儲在對應目的地寄存器中。
92.權(quán)利要求83的計算機系統(tǒng),其中所述分組寄存器在所述寄存器文件中。
全文摘要
本發(fā)明的名稱是“控制移位分組數(shù)據(jù)的位校正的裝置”。本發(fā)明涉及控制移位分組數(shù)據(jù)的位校正的裝置,提供一種在處理器中加入支持典型的多媒體應用所要求的分組數(shù)據(jù)上的操作的指令集的裝置。在一個實施例中,本發(fā)明包括具有存儲區(qū)(150)、解碼器(165)及多個電路(130)的處理器。該多個電路提供若干指令的執(zhí)行來操作分組數(shù)據(jù)。在這一實施例中,這些指令包含組裝、分解、分組乘法、分組加法、分組減法、分組比較及分組移位。
文檔編號G06F15/78GK102707922SQ20121005942
公開日2012年10月3日 申請日期1996年7月17日 優(yōu)先權(quán)日1995年8月31日
發(fā)明者A·D·佩勒格, A·F·格盧, B·艾坦, C·杜龍, E·科瓦施, L·M·門內(nèi)梅爾, M·米塔爾, W·維特, Y·雅里 申請人:英特爾公司