專利名稱:控制移位分組數(shù)據(jù)的位校正的裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明具體涉及計(jì)算機(jī)系統(tǒng)領(lǐng)域。更具體地,本發(fā)明涉及分組數(shù)據(jù)操作領(lǐng)域。
背景技術(shù):
在典型的計(jì)算機(jī)系統(tǒng)中,將處理器實(shí)現(xiàn)為利用產(chǎn)生一種結(jié)果的指令在由大量的位(如64)表示的值上操作。例如,執(zhí)行加法指令將第一個(gè)64位值與第二個(gè)64位值相加并作為第三個(gè)64位值存儲(chǔ)該結(jié)果。然而,多媒體應(yīng)用(諸如以計(jì)算機(jī)支持的協(xié)作為目的的應(yīng)用(CSC-電話會(huì)議與混合媒體數(shù)據(jù)處理的集成)、2D/3D圖形、圖象處理、視頻壓縮/解壓、識(shí)別算法與音頻處理)要求處理可以用少量的位表示的大量數(shù)據(jù)。例如,圖形數(shù)據(jù)通常需要8或16位,聲音數(shù)據(jù)通常需要8或16位。這些多媒體應(yīng)用的各個(gè)需要一種或多種算法,各需要若干操作。例如,算法可能需要加法、比較及移位操作。為了改進(jìn)多媒體應(yīng)用(以及具有相同特征的其它應(yīng)用),先有技術(shù)處理器提供分組數(shù)據(jù)格式。分組數(shù)據(jù)格式中通常用來(lái)表示單個(gè)值的位被分成若干固定長(zhǎng)度的數(shù)據(jù)元素,各元素表示單獨(dú)的值。例如,可將一個(gè)64位寄存器分成兩個(gè)32位元素,各元素表示一個(gè)單獨(dú)的32位值。此外,這些先有技術(shù)處理器提供并行分開處理這些分組數(shù)據(jù)類型中各元素的指令。例如,分組的加法指令將來(lái)自第一分組數(shù)據(jù)與第二分組數(shù)據(jù)的對(duì)應(yīng)數(shù)據(jù)元素相加。從而,如果多媒體算法需要包含必須在大量數(shù)據(jù)元素上執(zhí)行的五種操作的循環(huán),總是希望組裝該數(shù)據(jù)并利用分組數(shù)據(jù)指令并行執(zhí)行這些操作。以這一方式,這些處理器便能更高效地處理多媒體應(yīng)用。然而,如果該操作循環(huán)中包含處理器不能在分組數(shù)據(jù)上執(zhí)行的操作(即處理器缺少適當(dāng)?shù)闹噶?,則必須分解該數(shù)據(jù)來(lái)執(zhí)行該操作。例如,如果多媒體算法要求加法運(yùn)算而不能獲得上述分組加法指令,則程序員必須分解第一分組數(shù)據(jù)與第二分組數(shù)據(jù)(即分開包含第一分組數(shù)據(jù)與第二分組數(shù)據(jù)的元素),將各個(gè)分開的單獨(dú)的元素相加,然后將結(jié)果組裝成分組的結(jié)果供進(jìn)一步分組處理。執(zhí)行這種組裝與分解所需的處理時(shí)間通常抵消了提供分組數(shù)據(jù)格式的性能優(yōu)點(diǎn)。因此,希望在通用處理器上包含提供典型多媒體算法所需的所有操作的分組數(shù)據(jù)指令集。然而,由于當(dāng)今微處理器上的有限芯片面積,可以增加的指令數(shù)目是有限的。包含分組數(shù)據(jù)指令的一種通用處理器便是加州Santa Clara的Intel公司制造的i860XP 處理器。i860XP處理器包含具有不同元素大小的若干分組數(shù)據(jù)類型。此外,i860XP處理器包含分組加法與分組比較指令。然而,分組加法指令并不斷開進(jìn)位鏈,因此程序員必須保證軟件正在執(zhí)行的運(yùn)算不會(huì)導(dǎo)致溢出,即運(yùn)算不會(huì)導(dǎo)致來(lái)自分組數(shù)據(jù)中一個(gè)元素的位溢出到該分組數(shù)據(jù)的下一元素中。例如,如果將值I加到存儲(chǔ)“11111111”的8位分組數(shù)據(jù)元素上,便出現(xiàn)溢出而結(jié)果為“100000000”。此外,i860XP所支持的分組數(shù)據(jù)類型中的小數(shù)點(diǎn)位置是固定的(即i860XP處理器支持?jǐn)?shù)8. 8,6. 10與8. 24,其中數(shù)1. j包含i個(gè)最高位及小數(shù)點(diǎn)后的j位)。從而限制了程序員可以表示的值。由于i860XP處理器只支持這兩條指令,它不能執(zhí)行采用分組數(shù)據(jù)的多媒體算法所要求的許多運(yùn)算。另一種支持分組數(shù)據(jù)的通用處理器便是Motorala公司制造的MC88110 處理器。MC88110處理器支持具有不同長(zhǎng)度元素的若干種不同的分組數(shù)據(jù)格式。此外,MC88110處理器所支持的分組指令集中包括組裝、分解、分組加法、分組減法、分組乘法、分組比較與分組旋轉(zhuǎn)。MC88110處理器分組命令通過(guò)連接第一寄存器對(duì)中的各元素的(t*r)/64(其中t為該分組數(shù)據(jù)的元素中的位數(shù))個(gè)最高有效位進(jìn)行操作來(lái)生成寬度為r的一個(gè)字段。該字段取代存儲(chǔ)在第二寄存器對(duì)中的分組數(shù)據(jù)的最高有效位。然后將這一分組數(shù)據(jù)存儲(chǔ)在第三寄存器對(duì)中并左旋r位。下面在表I與2中示出所支持的t與r值,以及這一指令的運(yùn)算實(shí)例。
權(quán)利要求
1.一種處理器,包括 多個(gè)寄存器,用于存儲(chǔ)64位分組數(shù)據(jù)操作數(shù); 解碼器,用于解碼分組移位指令,所述分組移位指令具有32位指令格式,所述分組移位指令具有第一字段,以指示多個(gè)寄存器中用于存儲(chǔ)第一 64位源操作數(shù)的第一寄存器,并且,所述分組移位指令具有第二字段,以指示多個(gè)寄存器中用于存儲(chǔ)第二源操作數(shù)的第二寄存器,所述第一 64位源操作數(shù)包括第一四個(gè)16位數(shù)據(jù)元素,這些數(shù)據(jù)元素包括在位[15 0]中的第一 16位數(shù)據(jù)元素、在位[31 16]中的第二 16位數(shù)據(jù)元素、在位[47 32]中的第三16位數(shù)據(jù)元素、以及在位[63 48]中的第四16位數(shù)據(jù)元素,并且,第二源操作數(shù)包括位的計(jì)數(shù)數(shù)目;以及 執(zhí)行單元,與解碼器和多個(gè)寄存器耦合,所述執(zhí)行單元響應(yīng)于所述分組移位指令,在所述多個(gè)寄存器中要由所述分組移位指令的第三字段指示的第三寄存器中存儲(chǔ)64位目的地操作數(shù),64位目的地操作數(shù)的位[15 0]存儲(chǔ)按照位的計(jì)數(shù)數(shù)目進(jìn)行的第一 16位數(shù)據(jù)元素的算術(shù)右移的結(jié)果,其中高階位具有第一 16位數(shù)據(jù)元素的符號(hào)位的值,64位目的地操作數(shù)的位[31 16]存儲(chǔ)按照位的計(jì)數(shù)數(shù)目進(jìn)行的第二 16位數(shù)據(jù)元素的算術(shù)右移的結(jié)果,其中高階位具有第二 16位數(shù)據(jù)元素的符號(hào)位的值,64位目的地操作數(shù)的位[47 32]存儲(chǔ)按照位的計(jì)數(shù)數(shù)目進(jìn)行的第三16位數(shù)據(jù)元素的算術(shù)右移的結(jié)果,其中高階位具有第三16位數(shù)據(jù)元素的符號(hào)位的值,以及64位目的地操作數(shù)的位[63 48]存儲(chǔ)按照位的計(jì)數(shù)數(shù)目進(jìn)行的第四16位數(shù)據(jù)元素的算術(shù)右移的結(jié)果,其中高階位具有第四16位數(shù)據(jù)元素的符號(hào)位的值, 其中,所述執(zhí)行單元包括用于以相應(yīng)符號(hào)位的值填充每個(gè)算術(shù)右移的結(jié)果的高階位的電路, 其中所述處理器還用于對(duì)分組32位數(shù)據(jù)元素執(zhí)行算術(shù)右移, 其中所述處理器包括通用中央處理單元(CPU),以及 其中所述處理器具有RISC體系結(jié)構(gòu)。
2.權(quán)利要求1的處理器,其中,如果位的計(jì)數(shù)數(shù)目大于15,64位目的地操作教的位[15 0]全都具有第一 16位數(shù)據(jù)元素的符號(hào)位的值,64位目的地操作數(shù)的位[31 16]全都具有第二 16位數(shù)據(jù)元素的符號(hào)位的值,64位目的地操作數(shù)的位[47 32]全都具有第三16位數(shù)據(jù)元素的符號(hào)位的值,以及64位目的地操作數(shù)的位[63 48]全都具有第四16位數(shù)據(jù)元素的符號(hào)位的值。
3.權(quán)利要求1的處理器,還包括一種機(jī)制允許處理器在處于棧定位方式及非棧定位方式的所述多個(gè)寄存器的寄存器上的操作之間切換。
4.權(quán)利要求1的處理器,其中所述處理器能夠處理80位浮點(diǎn)數(shù)。
5.權(quán)利要求1的處理器,其中所述處理器包括64位處理器。
6.權(quán)利要求1的處理器,其中所述處理器還能夠執(zhí)行分組右移邏輯指令。
7.權(quán)利要求1的處理器,其中給定電路被用于對(duì)16位數(shù)據(jù)元素以及32位數(shù)據(jù)元素進(jìn)行算術(shù)右移。
8.一種系統(tǒng),包括 平板顯示設(shè)備; 觸摸屏光標(biāo)控制設(shè)備,用來(lái)控制在平板顯示設(shè)備上的光標(biāo)移動(dòng);用來(lái)捕捉視頻圖象的設(shè)備; 處理器,與平板顯示設(shè)備、觸摸屏光標(biāo)控制設(shè)備以及用來(lái)捕捉視頻圖象的設(shè)備耦合,所述處理器包括 用來(lái)存儲(chǔ)64位分組數(shù)據(jù)操作數(shù)的多個(gè)寄存器; 解碼器,用于解碼分組移位指令,所述分組移位指令具有32位指令格式,所述分組移位指令具有第一字段,以指示多個(gè)寄存器中用于存儲(chǔ)第一 64位源操作數(shù)的第一寄存器,并且,所述分組移位指令具有第二字段,以指示多個(gè)寄存器中用于存儲(chǔ)第二源操作數(shù)的第二寄存器,所述第一 64位源操作數(shù)包括第一四個(gè)16位數(shù)據(jù)元素,這些數(shù)據(jù)元素包括在位[15 0]中的第一 16位數(shù)據(jù)元素、在位[31 16]中的第二 16位數(shù)據(jù)元素、在位[47 32]中的第三16位數(shù)據(jù)元素、在位[63 48]中的第四16位數(shù)據(jù)元素,并且,第二源操作數(shù)包括位的計(jì)數(shù)數(shù)目;以及 執(zhí)行單元,與解碼器和多個(gè)寄存器耦合,所述執(zhí)行單元響應(yīng)于所述分組移位指令,在所述多個(gè)寄存器中要由所述分組移位指令的第三字段指示的第三寄存器中存儲(chǔ)64位目的地操作數(shù),64位目的地操作數(shù)的位[15 0]存儲(chǔ)按照位的計(jì)數(shù)數(shù)目進(jìn)行的第一 16位數(shù)據(jù)元素的算術(shù)右移的結(jié)果,其中高階位具有第一 16位數(shù)據(jù)元素的符號(hào)位的值,64位目的地操作數(shù)的位[31 16]存儲(chǔ)按照位的計(jì)數(shù)數(shù)目進(jìn)行的第二 16位數(shù)據(jù)元素的算術(shù)右移的結(jié)果,其中高階位具有第二 16位數(shù)據(jù)元素的符號(hào)位的值,64位目的地操作數(shù)的位[47 32]存儲(chǔ)按照位的計(jì)數(shù)數(shù)目進(jìn)行的第三16位數(shù)據(jù)元素的算術(shù)右移的結(jié)果,其中高階位具有第三16位數(shù)據(jù)元素的符號(hào)位的值,以及64位目的地操作數(shù)的位[63 48]存儲(chǔ)按照位的計(jì)數(shù)數(shù)目進(jìn)行的第四16位數(shù)據(jù)元素的算術(shù)右移的結(jié)果,其中高階位具有第四16位數(shù)據(jù)元素的符號(hào)位的值, 其中,所述執(zhí)行單元包括用于以相應(yīng)符號(hào)位的值填充每個(gè)算術(shù)右移的結(jié)果的高階位的電路,以及 其中所述處理器還用于對(duì)分組32位數(shù)據(jù)元素執(zhí)行算術(shù)右移。
9.權(quán)利要求8的系統(tǒng),其中,如果位的計(jì)數(shù)數(shù)目大于15,64位目的地操作數(shù)的位[15 0]全都具有第一 16位數(shù)據(jù)元素的符號(hào)位的值,64位目的地操作數(shù)的位[31 16]全都具有第二 16位數(shù)據(jù)元素的符號(hào)位的值,64位目的地操作數(shù)的位[47 32]全都具有第三16位數(shù)據(jù)元素的符號(hào)位的值,以及64位目的地操作數(shù)的位[63 48]全都具有第四16位數(shù)據(jù)元素的符號(hào)位的值。
10.權(quán)利要求8的系統(tǒng),其中所述處理器還包括一種機(jī)制允許所述處理器在處于棧定位方式及非棧定位方式的所述多個(gè)寄存器的寄存器上的操作之間切換。
11.權(quán)利要求8的系統(tǒng),其中所述處理器能夠處理80位浮點(diǎn)數(shù)。
12.權(quán)利要求8的系統(tǒng),其中所述處理器包括64位處理器。
13.權(quán)利要求8的系統(tǒng),其中所述處理器還能夠執(zhí)行分組右移邏輯指令。
14.權(quán)利要求8的系統(tǒng),其中所述處理器中的給定電路被用于對(duì)16位數(shù)據(jù)元素以及32位數(shù)據(jù)元素進(jìn)行算術(shù)右移。
15.權(quán)利要求8的系統(tǒng), 其中所述處理器包括通用中央處理單元(CPU),以及 其中所述處理器具有RISC體系結(jié)構(gòu)。
全文摘要
本發(fā)明的名稱是“控制移位分組數(shù)據(jù)的位校正的裝置”。本發(fā)明涉及控制移位分組數(shù)據(jù)的位校正的裝置,提供一種在處理器中加入支持典型的多媒體應(yīng)用所要求的分組數(shù)據(jù)上的操作的指令集的裝置。在一個(gè)實(shí)施例中,本發(fā)明包括具有存儲(chǔ)區(qū)(150)、解碼器(165)及多個(gè)電路(130)的處理器。該多個(gè)電路提供若干指令的執(zhí)行來(lái)操作分組數(shù)據(jù)。在這一實(shí)施例中,這些指令包含組裝、分解、分組乘法、分組加法、分組減法、分組比較及分組移位。
文檔編號(hào)G06F5/00GK103064649SQ20121054854
公開日2013年4月24日 申請(qǐng)日期1996年7月17日 優(yōu)先權(quán)日1995年8月31日
發(fā)明者A.D.佩勒格, Y.雅里, M.米塔爾, L.M.門內(nèi)梅爾, B.艾坦, A.F.格盧, C.杜龍, E.科瓦施, W.維特 申請(qǐng)人:英特爾公司