亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

在數(shù)據(jù)字內(nèi)插入比特的制作方法

文檔序號(hào):6507170閱讀:201來源:國(guó)知局
專利名稱:在數(shù)據(jù)字內(nèi)插入比特的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)處理系統(tǒng)。更特別地,本發(fā)明涉及在程序控制下在數(shù)據(jù)字中插入比特。
背景技術(shù)
已知在數(shù)據(jù)處理系統(tǒng)內(nèi)將多個(gè)比特字段一起壓縮在單個(gè)數(shù)據(jù)字中。例如,在16位數(shù)據(jù)字中,可能需要壓縮分別代表紅、綠、藍(lán)值的三個(gè)彩色分量值,其中兩個(gè)長(zhǎng)度為5位,以及另一個(gè)長(zhǎng)度為6位。通常,這些不同的分量值將被分別處理,并且分別計(jì)算它們的大小。在這樣的計(jì)算之后,單獨(dú)分量需要裝配在單一數(shù)據(jù)字中,以使它們可以利用更緊湊的形式來存儲(chǔ),并且更容易地在逐個(gè)象素的基礎(chǔ)上被操縱。
為了實(shí)現(xiàn)這樣的數(shù)據(jù)壓縮,一種可能的解決方案是提供程序指令,這些指令指定源寄存器中將被插入目的寄存器中的比特字段的長(zhǎng)度和目的寄存器中該比特字段將被插入的位置。這樣的指令典型地將不得不指定源寄存器、目的寄存器、比特字段長(zhǎng)度以及比特字段插入位置。以這種方式不得不指定單個(gè)指令內(nèi)的4個(gè)獨(dú)立參數(shù),這對(duì)于該指令內(nèi)可利用的指令位空間不利地設(shè)置高要求,并且使得這樣的指令在它們所消耗的指令位空間方面是不利的。

發(fā)明內(nèi)容
從一個(gè)方面來看,本發(fā)明提供用于處理數(shù)據(jù)的設(shè)備,所述設(shè)備包含多個(gè)寄存器,可操作為存儲(chǔ)待操縱的數(shù)據(jù)值;處理邏輯,可操作為對(duì)存儲(chǔ)在所述多個(gè)寄存器中的一個(gè)或多個(gè)數(shù)據(jù)值執(zhí)行數(shù)據(jù)處理操作;以及指令譯碼器,響應(yīng)程序指令來控制所述處理邏輯,以執(zhí)行利用所述程序指令指定的數(shù)據(jù)處理操作;其中所述指令譯碼器響應(yīng)移位插入(shift-and-insert)指令來控制所述處理邏輯,以執(zhí)行移位插入數(shù)據(jù)處理操作,得到具有利用以下步驟給定的結(jié)果值的結(jié)果將存儲(chǔ)在第一寄存器中的第一數(shù)據(jù)值移位N個(gè)比特位置的移位量,以形成包含N個(gè)移入位的移位值,其中N具有多個(gè)不同的非零值之一;和除了所述N個(gè)被移入位之外,將所述移位值的相應(yīng)位插入第二寄存器中存儲(chǔ)的第二數(shù)據(jù)值中的相應(yīng)比特位置,所述第二數(shù)據(jù)值中對(duì)應(yīng)于所述N個(gè)移入位的比特不變,從而形成所述結(jié)果。
本發(fā)明考慮其中需要使用這種指令的大部分情況,不需要能夠分別指定比特字段長(zhǎng)度和比特字段位置的完全靈活性。相反,指定將被應(yīng)用于源值的移位數(shù)量的單個(gè)參數(shù)控制源值的位被寫入目的值中的起始位置。根據(jù)相關(guān)指令的移位方向,被寫入目的值中的位從起始位置擴(kuò)展至目的值的合適末端。可能插入比最終需求更多的位數(shù)。但是,本技術(shù)考慮,在大部分情況下,多個(gè)這樣的指令被執(zhí)行,并且被寫入一個(gè)指令中的過多位將利用隨后指令中的需要數(shù)據(jù)來蓋寫,以致于最后壓縮的數(shù)據(jù)值將包含所需要的正確位。因此,操作的壓縮類別或者其他的位裝配操作可以利用具有有益小的指令位空間需求的指令來實(shí)現(xiàn)。將意識(shí)到,上述的本發(fā)明的表達(dá)是根據(jù)移位插入指令產(chǎn)生具有利用指定的移位操作和指定的插入操作給出的結(jié)果值的結(jié)果來作出的。將認(rèn)識(shí)到,實(shí)際用于獲得這樣的結(jié)果值的機(jī)制能夠改變,就好像這樣的移位插入已經(jīng)被執(zhí)行一樣。如此不同的機(jī)制和步驟利用本技術(shù)來包含。移位與插入步驟是表述期望的最終結(jié)果是如何與輸入相關(guān)聯(lián)的一種方式,但是輸入與輸出之間同樣的關(guān)系可以通過各種不同的方式來獲得和表述。這些替換包含在本技術(shù)中。
移位量可以被指定為在指令中指定的寄存器內(nèi)存儲(chǔ)的一個(gè)值,或可選地并且更好地被指定為在移位插入指令自身中編碼的立即值。
第一和第二寄存器可以有利地由源寄存器指定字段來指定,這兩個(gè)寄存器都與寄存器組中的寄存器相關(guān)。也可以使用目的寄存器指定字段(可選地,與第一寄存器或第二寄存器之一共享)。
將認(rèn)識(shí)到,本技術(shù)的移位可以是右移位或左移位,這依賴于環(huán)境以及期望的壓縮或位插入的形式。
有可能第一數(shù)據(jù)值和第二數(shù)據(jù)值能夠具有不同的位長(zhǎng)度,且被存儲(chǔ)在不同長(zhǎng)度的寄存器中,雖然在最佳實(shí)施例中第一數(shù)據(jù)值和第二數(shù)據(jù)值具有相同的位數(shù)。
如前所述,將認(rèn)識(shí)到,以上所述的輸入和輸出的關(guān)系可以通過各種不同的方式來實(shí)施,雖然優(yōu)選的方式是使用第一值的移位和形成屏蔽(mask)值,用于選擇第二數(shù)據(jù)中的哪些比特利用移位數(shù)據(jù)值內(nèi)的相應(yīng)位來代替以及第二數(shù)據(jù)值中哪些比特不變。這個(gè)屏蔽值可以有利地利用起始屏蔽上的移位或者利用可選技術(shù)諸如直接形成屏蔽的指令的解碼來形成。
本技術(shù)可以有益地用于標(biāo)量(scalar)處理系統(tǒng)以及單指令多數(shù)據(jù)分組(singleinstruction multiple data packet)(SIMD)處理系統(tǒng)中。
從另一方面來看,本發(fā)明提供一種處理數(shù)據(jù)的方法,所述方法包含以下步驟在多個(gè)寄存器中存儲(chǔ)待操縱的數(shù)據(jù)值;對(duì)所述多個(gè)寄存器中存儲(chǔ)的一個(gè)或多個(gè)數(shù)據(jù)值,使用處理邏輯來執(zhí)行數(shù)據(jù)處理操作;和響應(yīng)程序指令,利用指令譯碼器來控制所述處理邏輯,以執(zhí)行由所述程序指令指定的數(shù)據(jù)處理操作;其中所述指令譯碼器響應(yīng)移位插入指令來控制所述處理邏輯,以執(zhí)行移位插入數(shù)據(jù)處理操作,得到具有利用以下步驟給定的結(jié)果值的結(jié)果將存儲(chǔ)在第一寄存器內(nèi)的第一數(shù)據(jù)值移位N個(gè)比特位置的移位量,以形成包含N個(gè)移入位的(被)移位值,其中N具有多個(gè)不同的非零值之一;和除了所述N個(gè)移入位之外,將所述移位值的相應(yīng)位插入到第二寄存器中存儲(chǔ)的第二數(shù)據(jù)值中的相應(yīng)比特位置,所述第二數(shù)據(jù)值中對(duì)應(yīng)于所述N個(gè)移入位的比特不變,從而形成所述結(jié)果。


現(xiàn)在,將僅僅利用示例參考附圖來描述本發(fā)明的實(shí)施例,其中附圖1示意地圖解可以使用本發(fā)明技術(shù)的數(shù)據(jù)處理系統(tǒng)類型;附圖2示意地圖解根據(jù)本技術(shù)一個(gè)示例的三個(gè)不同的移位插入指令的語法;附圖3示意地圖解移位插入指令的作用;附圖4示意地圖解用于執(zhí)行移位插入操作的硬件排列方案;附圖5圖解在標(biāo)量處理系統(tǒng)中像素值壓縮操作的示例;和附圖6示意地圖解在單指令多數(shù)據(jù)系統(tǒng)中的像素壓縮操作。
具體實(shí)施例方式
附圖1示意地圖解數(shù)據(jù)處理系統(tǒng)2,其可以是集成電路的形式,包括寄存器組4、乘法器6、移位器8和加法器10。寄存器組4、乘法器6、移位器8和加法器10可以被視為組成了處理邏輯,用于在利用指令譯碼器12生成的控制信號(hào)的控制下執(zhí)行期望的數(shù)據(jù)處理操作。指令譯碼器12自身響應(yīng)被加載到指令流水線14中的程序指令。將意識(shí)到,附圖2中的數(shù)據(jù)處理系統(tǒng)典型地將包含多個(gè)其他的單元,但是為了簡(jiǎn)明起見而被省略了。在操作中,程序指令被提取到指令流水線14中,并且當(dāng)它們?cè)谥噶盍魉€14中達(dá)到執(zhí)行級(jí)(executestage)時(shí),由指令譯碼器12使用它們來生成控制信號(hào),這些控制信號(hào)配置處理邏輯4,6,8,10的不同單元,以執(zhí)行期望的數(shù)據(jù)處理操作。處理邏輯典型地將包含許多其他的單元,用于提供除了附圖1中所示的簡(jiǎn)單的乘法、移位和加法操作以外的處理操作。
附圖2示意地圖解一些示例性移位插入指令的語法(句法),這些指令可以由附圖1中的數(shù)據(jù)處理系統(tǒng)2來支持。左移位與插入指令SLI包含指定目的寄存器的寄存器字段dest、指定源寄存器的寄存器字段src以及指定立即值的字段#imm。源寄存器包含數(shù)據(jù)值,該數(shù)據(jù)值將被移位,并且隨后被插入到目的寄存器,而目的寄存器中的某些位不被改變。立即值#imm指定在插入發(fā)生之前應(yīng)用于源寄存器值的移位的數(shù)量,同時(shí)也有效地指定了插入發(fā)生的位置,如下將進(jìn)一步闡述的。
附圖2圖解上面指令的右移位變量,即SRI指令。同時(shí)也圖解了左移位指令的變量,其中移位值由第二源寄存器src2來指定。
將意識(shí)到,附圖1中所示的指令的句法和確切形式只是一個(gè)示例,并且本發(fā)明技術(shù)的不同實(shí)施例可以使用顯著變化的指令表示法和語法。
附圖3闡述了移位插入操作的一個(gè)例子。寄存器16包含源值。這個(gè)源值包含數(shù)據(jù)部分18,例如像素值。寄存器16中在數(shù)據(jù)部分18之外的部分可以不表示任何有意義的東西或者可以是期望被丟棄的數(shù)據(jù)值的小數(shù)部分。
在這個(gè)示例中,寄存器16中的值被右移位一數(shù)量,該數(shù)量利用相關(guān)的SRI指令內(nèi)的立即字段#imm來指定。在寄存器的左手端上,移入位被引入到所生成的移位值。這是普通的移位操作行為。
目的值被保存在寄存器20中,并且除了移入位之外的移位值部分被寫入到替換最初存儲(chǔ)在目的值中的相應(yīng)位的這個(gè)目的值。目的值20中對(duì)應(yīng)于移位值內(nèi)的移入位的比特未被替換并且保留為未改變。最后的結(jié)果值包含原始目的值,移位值中的插入位替代在那些相應(yīng)位置上的其原始位。將明白,在當(dāng)前示例中,僅僅除了數(shù)據(jù)部分18之外,移位值中的位已被插入結(jié)果值即位G和H內(nèi)。如果有效的話,則這些不必要的位可以根據(jù)需要在后續(xù)的移位插入操作中利用其他的位值來改寫。
附圖4示意地圖解有關(guān)如何能夠?qū)嵤┮莆徊迦氩僮鞯挠布硎尽T谶@個(gè)示例中,源寄存器22提供其值給左移位器24。將認(rèn)識(shí)到,對(duì)于指令的右移位變量,可以替代使用右移位電路。在這個(gè)示例中,利用#4的立即值來指定移位數(shù)量。左移位器24生成移位值26,在其4個(gè)最右比特位置中具有4個(gè)移入零值。與移位值26的生成同時(shí),通過取包含全是1的起始屏蔽值28,并對(duì)此進(jìn)行與利用它自己的左移位器30對(duì)源值22應(yīng)用的相同的移位,產(chǎn)生屏蔽值。屏蔽值中的移入值再次為零,并且這導(dǎo)致移位屏蔽32。該移位屏蔽32隨后能夠被用作多位控制信號(hào),該信號(hào)被提供給多位多路復(fù)用器34,該復(fù)用器選擇來自移位值26的位或選擇來自目的值36的位,以便饋送給結(jié)果值38。
附圖5圖解了紅、綠和藍(lán)像素值分量被壓縮為16位結(jié)果值的標(biāo)量壓縮操作。第一操作利用移位量為5個(gè)比特位置使用右移位插入指令對(duì)紅和綠分量值執(zhí)行。這留下結(jié)果中的5比特紅分量R5不變,但是將綠分量G6及其剩余物寫入該結(jié)果中。通過利用11比特位置的移位量執(zhí)行右移位插入指令,第二指令取組合的紅和綠分量,并且將藍(lán)分量B5插入它中,以使藍(lán)分量B5鄰接已被插入的綠分量G6的末尾,并且填充16位結(jié)果值內(nèi)的剩余位置。
附圖6表示如圖5所示的相同類型的壓縮操作,但是在這種情況中,在單指令多數(shù)據(jù)(SIM)系統(tǒng)內(nèi)執(zhí)行。如將認(rèn)識(shí)到,對(duì)于SIMD系統(tǒng)內(nèi)的每個(gè)數(shù)據(jù)航線(lane),單獨(dú)執(zhí)行同樣的移位插入操作,以便能夠使用2個(gè)SIMD右移位插入指令,將4組像素值一起并行進(jìn)行壓縮。
權(quán)利要求
1.一種用于處理數(shù)據(jù)的設(shè)備,所述設(shè)備包含多個(gè)寄存器,可操作來存儲(chǔ)待處理的數(shù)據(jù)值;處理邏輯,可操作為對(duì)存儲(chǔ)在所述多個(gè)寄存器中的一個(gè)或多個(gè)數(shù)據(jù)值執(zhí)行數(shù)據(jù)處理操作;以及指令譯碼器,響應(yīng)程序指令來控制所述處理邏輯,從而執(zhí)行由所述程序指令指定的數(shù)據(jù)處理操作;其中所述指令譯碼器響應(yīng)移位插入指令來控制所述處理邏輯,以執(zhí)行移位插入數(shù)據(jù)處理操作,得到具有由以下步驟給定的結(jié)果值的結(jié)果將存儲(chǔ)在第一寄存器中的第一數(shù)據(jù)值移位N個(gè)比特位置的移位量,以形成包含N個(gè)移入位的被移位值,其中N具有多個(gè)不同非零值之一;和除了所述N個(gè)被移入位之外,將所述移位值的各自位插入到存儲(chǔ)在第二寄存器中的第二數(shù)據(jù)值中的相應(yīng)比特位置,所述第二數(shù)據(jù)值中對(duì)應(yīng)于所述N個(gè)移入位的位不變,因此形成所述結(jié)果。
2.如權(quán)利要求1所述的設(shè)備,其中所述移位插入指令包括用于指定所述N個(gè)比特位置的移位位數(shù)的立即值。
3.如權(quán)利要求1和2中任一項(xiàng)所述的設(shè)備,其中所述移位插入指令包含指定寄存器組中的一個(gè)寄存器用作所述第一寄存器的寄存器指定字段。
4.如權(quán)利要求1,2和3中任一項(xiàng)所述的設(shè)備,其中所述移位插入指令包含指定寄存器組中的一個(gè)寄存器用作所述第二寄存器的寄存器指定字段。
5.如前述權(quán)利要求中任一項(xiàng)所述的設(shè)備,其中移位插入指令包含指定寄存器組中的一個(gè)寄存器用作目的寄存器的寄存器指定字段。
6.如權(quán)利要求5所述的設(shè)備,其中用于所述目的寄存器的寄存器指定字段被所述第一寄存器和第二寄存器之一共享。
7.如前述權(quán)利要求中任一項(xiàng)所述的設(shè)備,其中所述第一數(shù)據(jù)值被右移位。
8.如權(quán)利要求1-6中任一項(xiàng)所述的設(shè)備,其中所述第一數(shù)據(jù)值被左移位。
9.如前述權(quán)利要求中任一項(xiàng)所述的設(shè)備,其中所述第一數(shù)據(jù)值和第二數(shù)據(jù)值具有同樣的位數(shù)。
10.如前述權(quán)利要求中任一項(xiàng)所述的設(shè)備,其中響應(yīng)所述移位插入指令,所述處理邏輯可操作來移位所述第一值。
11.如前述權(quán)利要求中任一項(xiàng)所述的設(shè)備,其中響應(yīng)所述移位插入指令,所述處理邏輯可操作來形成屏蔽值,用于選擇所述第二數(shù)據(jù)值中的哪些位利用所述移位數(shù)據(jù)值的相應(yīng)位來代替,以及所述第二數(shù)據(jù)值中的哪些位不變。
12.如前述權(quán)利要求中任一項(xiàng)所述的設(shè)備,其中所述處理邏輯是單指令多數(shù)據(jù)處理邏輯,并且所述第一寄存器和第二存儲(chǔ)器是第一單指令多數(shù)據(jù)寄存器和第二單指令多數(shù)據(jù)寄存器的相應(yīng)部分,所述移位插入指令可操作為控制在各自處理航線中多個(gè)移位插入操作的并行執(zhí)行。
13.如權(quán)利要求1-11中任一項(xiàng)所述的設(shè)備,其中所述處理邏輯是標(biāo)量處理邏輯。
14.一種處理數(shù)據(jù)的方法,所述方法包含以下步驟在多個(gè)寄存器中存儲(chǔ)待處理的數(shù)據(jù)值;根據(jù)在所述多個(gè)寄存器中存儲(chǔ)的一個(gè)或多個(gè)數(shù)據(jù)值,使用處理邏輯來執(zhí)行數(shù)據(jù)處理操作;和響應(yīng)程序指令,利用指令譯碼器來控制所述處理邏輯,從而執(zhí)行由所述程序指令指定的數(shù)據(jù)處理操作;其中所述指令譯碼器響應(yīng)移位插入指令來控制所述處理邏輯,以執(zhí)行移位插入數(shù)據(jù)處理操作,得到具有利用以下步驟給定的結(jié)果值的結(jié)果將存儲(chǔ)在第一寄存器中的第一數(shù)據(jù)值移位N個(gè)比特位置的移位量,以形成包含N個(gè)移入位的被移位值,其中N具有多個(gè)不同的非零值之一;和除了所述N個(gè)被移入位之外,將所述被移位值的各自位插入到第二寄存器中存儲(chǔ)的第二數(shù)據(jù)值的相應(yīng)比特位置,所述第二數(shù)據(jù)值中對(duì)應(yīng)于所述N個(gè)移入位的位不變,因此形成所述結(jié)果。
15.如權(quán)利要求14所述的方法,其中所述移位插入指令包括指定N個(gè)比特位置的移位量的立即值。
16.如權(quán)利要求14和15中任一項(xiàng)所述的方法,其中所述移位插入指令包含指定寄存器組中的寄存器用作所述第一寄存器的寄存器指定字段。
17.如權(quán)利要求14,15和16中任一項(xiàng)所述的方法,其中所述移位插入指令包含指定寄存器組中的寄存器用作所述第二寄存器的寄存器指定字段。
18.如權(quán)利要求14-17中任一項(xiàng)所述的方法,其中移位插入指令包含用于指定寄存器組中的寄存器用作目的寄存器的寄存器指定字段。
19.如權(quán)利要求18所述的方法,其中用于所述目的寄存器的寄存器指定字段被所述第一寄存器和第二寄存器之一共享。
20.如權(quán)利要求13-17中任一項(xiàng)所述的方法,其中所述第一數(shù)據(jù)值被右移位。
21.如權(quán)利要求14-17中任一項(xiàng)所述的方法,其中所述第一數(shù)據(jù)值被左移位。
22.如權(quán)利要求14-19中任一項(xiàng)所述的方法,其中所述第一數(shù)據(jù)值和第二數(shù)據(jù)值具有同樣的比特?cái)?shù)。
23.如權(quán)利要求14-20中任一項(xiàng)所述的方法,其中響應(yīng)所述移位插入指令,所述處理邏輯可操作來移位所述第一值。
24.如權(quán)利要求14-21中任一項(xiàng)所述的方法,其中響應(yīng)所述移位插入指令,所述處理邏輯形成屏蔽值,用于選擇所述第二數(shù)據(jù)值中的哪些位利用所述移位數(shù)據(jù)值內(nèi)的相應(yīng)位來代替,以及所述第二數(shù)據(jù)值中的哪些位不變。
25.如權(quán)利要求14-22中任一項(xiàng)所述的方法,其中所述處理邏輯是單指令多數(shù)據(jù)處理邏輯,并且所述第一寄存器和第二存儲(chǔ)器是第一單指令多數(shù)據(jù)寄存器和第二單指令多數(shù)據(jù)寄存器的相應(yīng)部分,所述移位插入指令可操作來控制在相應(yīng)的處理航線中多個(gè)移位插入操作的并行執(zhí)行。
26.如權(quán)利要求14-22中任一項(xiàng)所述的方法,其中所述處理邏輯是標(biāo)量處理邏輯。
全文摘要
提供一種數(shù)據(jù)處理系統(tǒng)(2),其支持移位插入指令SLI、SRI,用于將源數(shù)據(jù)值移位指定的移位量,并且隨后將除移入位之外的移位值中的比特插入目的值,該目的值內(nèi)的剩下比特不變。
文檔編號(hào)G06F9/315GK1926511SQ200480042344
公開日2007年3月7日 申請(qǐng)日期2004年8月3日 優(yōu)先權(quán)日2004年3月10日
發(fā)明者S·A·福德, P·M·卡彭特 申請(qǐng)人:Arm有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1