国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      可以對(duì)復(fù)合操作數(shù)進(jìn)行壓縮操作的微處理器的制作方法

      文檔序號(hào):6613019閱讀:313來(lái)源:國(guó)知局

      專利名稱::可以對(duì)復(fù)合操作數(shù)進(jìn)行壓縮操作的微處理器的制作方法可以對(duì)復(fù)合操作數(shù)進(jìn)行壓縮操作的微處理器發(fā)明領(lǐng)域本發(fā)明包括使用單個(gè)控制信號(hào)處理多個(gè)數(shù)據(jù)元素而執(zhí)行操作的一種裝置和方法。本發(fā)明允許對(duì)壓縮數(shù)據(jù)類型執(zhí)行移動(dòng)、壓縮和拆開的操作。
      背景技術(shù)
      :當(dāng)今,大多數(shù)個(gè)人計(jì)算機(jī)系統(tǒng)的工作機(jī)制是使用一個(gè)指令產(chǎn)生一個(gè)結(jié)果。通過增加指令的執(zhí)行速度和處理器指令的復(fù)雜程度以及并行執(zhí)行多個(gè)指令來(lái)增加處理器性能,這種計(jì)算機(jī)稱為復(fù)雜指令集計(jì)算機(jī)(CISC)。例如加里福尼亞州SantaClara的INTEL公司的INTEL80386"*微處理器就屬于CISC類型的處理器。先前的計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)經(jīng)過優(yōu)化以利用CISC概念。這樣的系統(tǒng)通常具有32位寬的數(shù)據(jù)總線。然而,針對(duì)計(jì)算機(jī)支持的協(xié)作(CSC-電話會(huì)議與混合媒體數(shù)據(jù)操作集成)、2維/3維圖像、圖4象處理、視頻壓縮/解壓、識(shí)別算法和音頻處理方面的應(yīng)用增加了對(duì)更高性能的需求。但是,執(zhí)行速度和指令復(fù)雜性的增加只是一種解決方案。這些應(yīng)用的一個(gè)共同的特征是它們常常操作大量的數(shù)據(jù),其中只有少數(shù)位是重要的。也就是說(shuō),是有關(guān)位用比數(shù)據(jù)總線大小少得多的位表示的數(shù)據(jù)。例如,處理器的許多操作是就8位和16位數(shù)據(jù)執(zhí)行的(例如視頻圖像中的像素彩色分量),但是具有寬得多的數(shù)據(jù)總線和寄存器.因此,具有32位數(shù)據(jù)總線和寄存器并且執(zhí)行這樣一種算法的處理器可能損失多達(dá)75。/。的數(shù)據(jù)處理、運(yùn)載和存儲(chǔ)能力,因?yàn)橹挥星?位數(shù)據(jù)是重要的。因此,希望有一個(gè)處理器,它通過更加有效地利用表示被操作數(shù)據(jù)需要的位數(shù)和處理器實(shí)際數(shù)據(jù)運(yùn)載和存儲(chǔ)容量之間的差,從而提高其性能。
      發(fā)明內(nèi)容本文說(shuō)明一種改進(jìn)了數(shù)據(jù)處理操作的處理器。一種處理器,它包括存儲(chǔ)笫一壓縮數(shù)據(jù)的第一寄存器,一個(gè)解碼器和一個(gè)功能單元。解碼器有一個(gè)控制信號(hào)輸入,控制信號(hào)輸入用于接收第一控制信號(hào)和第二控制信號(hào)。第一控制信號(hào)用于指示一個(gè)壓縮操作。第二控制信號(hào)用于指示一個(gè)拆開操作。功能單元連接到解碼器和寄存器.功能單元使用第一壓縮數(shù)據(jù)執(zhí)行壓縮和拆開操作。處理器還支持移動(dòng)操作。雖然在說(shuō)明書和附圖中包含了大量的細(xì)節(jié),但是,本發(fā)明由權(quán)利要求的范圍限定。只有在這些權(quán)利要求中提到的限制適用于本發(fā)明。本發(fā)明用附圖中的、但不限于附圖中的實(shí)例說(shuō)明,相同的參考標(biāo)號(hào)表示相似的元件。圖l表示使用本發(fā)明的方法和裝置的計(jì)算機(jī)系統(tǒng)的一個(gè)實(shí)施例;圖2表示本發(fā)明的處理器的一個(gè)實(shí)施例;圖3是說(shuō)明由本發(fā)明的處理器使用的操作寄存器文件中的數(shù)據(jù)的總步驟的流程圖;圖4a說(shuō)明存儲(chǔ)器數(shù)據(jù)類型;圖4b、圖4c和圖4d說(shuō)明整數(shù)數(shù)據(jù)的寄存器內(nèi)表示;圖5a表示壓縮數(shù)據(jù)類型;圖5b,圖5c和圖5d說(shuō)明壓縮數(shù)據(jù)的寄存器內(nèi)表示;圖6a表示在該計(jì)算機(jī)系統(tǒng)中使用的指示使用壓縮數(shù)據(jù)的控制信號(hào)格式;圖6b表示第二控制信號(hào)格式,它可以用于該計(jì)算機(jī)系統(tǒng)指示使用壓縮數(shù)據(jù)或者整數(shù)數(shù)據(jù);圖7表示由處理器在對(duì)壓縮數(shù)據(jù)執(zhí)行壓縮操作時(shí)所遵循的方法的一個(gè)實(shí)施例;圖8a表示能夠?qū)嚎s字節(jié)數(shù)據(jù)實(shí)現(xiàn)壓縮操作的電路;圖8b表示能夠?qū)嚎s字?jǐn)?shù)據(jù)實(shí)現(xiàn)壓縮操作的電路;圖9表示由處理器在對(duì)壓縮數(shù)據(jù)執(zhí)行拆開操作時(shí)所遵循的方法的一個(gè)實(shí)施例;圖IO表示能夠?qū)嚎s數(shù)據(jù)實(shí)現(xiàn)拆開操作的電路。具體實(shí)施方式本文敘述了對(duì)多個(gè)數(shù)據(jù)元素進(jìn)行移動(dòng)、壓縮和拆開操作的處理器。在下面的說(shuō)明中,敘述了大量的諸如電路等這樣的細(xì)節(jié),以便提供對(duì)本發(fā)明徹底的了解。在另外的場(chǎng)合,為避免不必要地沖淡對(duì)本發(fā)明的理解,對(duì)熟知的結(jié)構(gòu)和技術(shù)未作詳細(xì)的敘述。定義為了對(duì)理解本發(fā)明的實(shí)施例的說(shuō)明提供基礎(chǔ),提供下面的定義。位X到位Y:定義二進(jìn)制數(shù)的一個(gè)子字段。例如字節(jié)001110102(以2為基表示)的位6到位0表示子字段1110102,二進(jìn)制數(shù)后面的2表示以2為基。因此,10002等于810,而F16等于1510。Rx:是一個(gè)寄存器。寄存器是能夠存儲(chǔ)和提供數(shù)據(jù)的任何設(shè)備。寄存器的另外的功能下面說(shuō)明.一個(gè)寄存器不一定是處理器組件的一部分'DEST:是一個(gè)數(shù)據(jù)地址。SRC1:是一個(gè)數(shù)據(jù)地址。SRC2:是一個(gè)數(shù)椐地址。Result:要存儲(chǔ)在由DEST尋址的寄存器中的數(shù)據(jù),Sourcel:存儲(chǔ)在由SRC1尋址的寄存器中的數(shù)據(jù)。Source2:存儲(chǔ)在由SRC2尋址的寄存器中的數(shù)據(jù)。計(jì)算機(jī)系統(tǒng)參考圖1,可以實(shí)現(xiàn)本發(fā)明的實(shí)施例的計(jì)算機(jī)系統(tǒng)作為計(jì)算機(jī)系統(tǒng)100表示.計(jì)算機(jī)系統(tǒng)100包括總線101或者其它傳輸信息的通信硬件和軟件以及與總線101連接的處理信息的處理器109。計(jì)算機(jī)系統(tǒng)100另外還包括"個(gè)隨機(jī)存取存儲(chǔ)器(RAM)或者其它動(dòng)態(tài)存儲(chǔ)設(shè)備(稱為主存儲(chǔ)器104),它連接到總線101上,用于存儲(chǔ)信息和要由處理器109執(zhí)行的指令.主存儲(chǔ)器104也可以用于暫存變量或者其它在處理器109執(zhí)行指令時(shí)期的中間信息。計(jì)算機(jī)系統(tǒng)100還包括連接在總線101上的只讀存儲(chǔ)器(ROM)106,和/或其它靜態(tài)存儲(chǔ)設(shè)備,用于存儲(chǔ)靜態(tài)信息和處理器109要執(zhí)行的指令.數(shù)據(jù)存儲(chǔ)設(shè)備107連接到總線101上用于存儲(chǔ)信息和指令.另外,數(shù)據(jù)存儲(chǔ)設(shè)備107,例如磁盤或光盤以及它們相應(yīng)的驅(qū)動(dòng)器,可以連接到計(jì)算機(jī)100上。計(jì)算機(jī)系統(tǒng)100也可以通過總線101連接到一個(gè)顯示設(shè)備121上,以便顯示信息給計(jì)算機(jī)用戶,顯示設(shè)備121可以包括一個(gè)幀緩沖器,專用圖形處理設(shè)備,一個(gè)陰極射線管(CRT),和/或一個(gè)平面面板顯示器。通常一個(gè)包括字母數(shù)字和其它鍵的字母數(shù)字輸入設(shè)備122連接到總線101上,用于給處理器109傳輸信息和命令選擇。另一類型的用戶輸入設(shè)備是光標(biāo)控制設(shè)備123,例如鼠標(biāo)、軌跡球、光筆、觸摸屏、或者光標(biāo)指示鍵,用于給處理器109傳輸方向信息和命令選擇以及控制光標(biāo)在顯示設(shè)備121上的移動(dòng)。這種輸入設(shè)備通常在兩個(gè)軸上有兩個(gè)自由度,第一軸(例如x軸)和第二軸(例如y軸),它們?cè)试S光標(biāo)控制設(shè)備在一個(gè)平面內(nèi)指定位置,然而本發(fā)明不應(yīng)該局限于只有兩個(gè)自由度的輸入設(shè)備,另一個(gè)可以連接到總線10上的設(shè)備是硬拷貝設(shè)備124,它可能用于在諸如紙、膠片、或者類似類型介質(zhì)上打印指令、數(shù)據(jù)或者其它信息。另外計(jì)算機(jī)系統(tǒng)100可以連接到聲音記錄和/或回放設(shè)備125上,例如連接到一個(gè)麥克風(fēng)上記錄信息的音頻數(shù)字轉(zhuǎn)換器.另外,該設(shè)備還可能包括一個(gè)連接到數(shù)/模(D/A)轉(zhuǎn)換器的揚(yáng)聲器,用于回放數(shù)字化的聲音.還有,計(jì)算機(jī)系統(tǒng)100可以是一個(gè)計(jì)算機(jī)網(wǎng)絡(luò)(例如一個(gè)局域網(wǎng))的一個(gè)終端.這樣,計(jì)算機(jī)系統(tǒng)IOO便是包括若干連網(wǎng)設(shè)備的一個(gè)計(jì)算機(jī)系統(tǒng)的一個(gè)計(jì)算機(jī)子系統(tǒng).計(jì)算機(jī)系統(tǒng)100可以包括視頻數(shù)字化設(shè)備126。視頻數(shù)字化設(shè)備126可以用于獲取視頻圖像,而傳輸給網(wǎng)絡(luò)中的其它設(shè)備.計(jì)算機(jī)系統(tǒng)100對(duì)于支持計(jì)算機(jī)支持的協(xié)作(CSC-電話會(huì)議與混合介質(zhì)數(shù)據(jù)操作的集成)、2維/3維圖形、圖像處理、視頻壓縮/解壓、識(shí)別算法和音頻操作十分有用.處理器圖2表示處理器109的詳圖。處理器109可以在使用一層或多層諸如BiCMOS、CMOS和NMOS等工藝技術(shù)的基底上實(shí)現(xiàn)。處理器109包括一個(gè)解碼由處理器109使用的控制信號(hào)和數(shù)據(jù)的解碼器202.然后數(shù)據(jù)可以通過內(nèi)部總線205存儲(chǔ)在寄存器文件204中,顯然,一個(gè)實(shí)施例的寄存器不應(yīng)該局限于特定類型的電路,相反,一個(gè)實(shí)施例的寄存器只需要能夠存儲(chǔ)和提供數(shù)據(jù),以及執(zhí)行這里敘述的功根據(jù)不同的數(shù)據(jù)類型,數(shù)據(jù)可能存儲(chǔ)在整數(shù)寄存器組201、寄存器組209、狀態(tài)寄存器組208或者指令指針寄存器211中,其它的寄存器例如浮點(diǎn)寄存器可以包含在寄存器文件204中。在一個(gè)實(shí)施例中,整數(shù)寄存器組201存儲(chǔ)32位整數(shù)數(shù)據(jù).在一個(gè)實(shí)施例中寄存器209組包括8個(gè)寄存器,Rq212a到r7212h。寄存器組209中的每一個(gè)寄存器為64位長(zhǎng)。Ri212a、R2212b和R3212c是寄存器組209中單個(gè)寄存器的例子.寄存器組209中的一個(gè)寄存器的32位可以移動(dòng)到整數(shù)寄存器組201中的一個(gè)整數(shù)寄存器中。類似地,一個(gè)整數(shù)寄存器中的值可以移動(dòng)到寄存器組209中的一個(gè)寄存器的32位中。狀態(tài)寄存器組208指示處理器109的狀態(tài)。指令指針寄存器211存儲(chǔ)下一要執(zhí)行的指令的地址.整數(shù)寄存器組201、寄存器組209、狀態(tài)寄存器組208、和指令指針寄存器211都連接到內(nèi)部總線205上。任何另外的寄存器也都應(yīng)該連接到內(nèi)部總線205上。在另一個(gè)實(shí)施例中,這種寄存器中的某一些可以用于兩種類型的數(shù)據(jù).例如,寄存器組209和整數(shù)寄存器組201可以組合,其中每一個(gè)寄存器既可以存儲(chǔ)整數(shù)數(shù)據(jù)也可以存儲(chǔ)壓縮數(shù)據(jù).在另一個(gè)實(shí)施例中,寄存器組209可以用作浮點(diǎn)寄存器組。在這一實(shí)施例中,壓縮數(shù)據(jù)或者浮點(diǎn)數(shù)據(jù)可以存儲(chǔ)在寄存器組209中。在一個(gè)實(shí)施例中,組合寄存器為64位長(zhǎng),而整數(shù)用64位表示。在該實(shí)施例中,在存儲(chǔ)壓縮數(shù)據(jù)和整數(shù)數(shù)據(jù)時(shí),寄存器不需區(qū)分這兩種數(shù)據(jù)類型。功能單元203執(zhí)行由處理器109執(zhí)行的搡作。這樣的操作包括移位、加法、減法和乘法等。功能單元203連接到內(nèi)部總線205。高速緩沖存儲(chǔ)器206是處理器109的一個(gè)選件,可以用于緩沖存儲(chǔ)例如來(lái)自主存儲(chǔ)器104的數(shù)據(jù)和/或控制信號(hào)。高速緩沖存儲(chǔ)器206連接到解碼器202以接收控制信號(hào)207。圖3表示處理器109的總操作.也就是說(shuō),圖3表示處理器109在對(duì)壓縮數(shù)據(jù)執(zhí)行搡作、對(duì)未壓縮數(shù)據(jù)執(zhí)行搡作或者執(zhí)行某個(gè)其它操作時(shí)遵循的步驟.例如這樣的搡作包括用從高速緩沖存儲(chǔ)器206、主存儲(chǔ)器104、只讀存儲(chǔ)器(ROM)106或者數(shù)據(jù)存儲(chǔ)設(shè)備107的數(shù)據(jù)加載寄存器文件204中的一個(gè)寄存器的加載操作。在本發(fā)明的一個(gè)實(shí)施例中,處理器109支持由加里福尼亞州圣大克拉熱NTEL公司的INTEL80486TM支持的大多數(shù)指令.在本發(fā)明另一個(gè)實(shí)施例中,處理器109支持由加里福尼亞州圣大克拉熱INTEL公司的INTEL80486支持的全部操作。在本發(fā)明的再一個(gè)實(shí)施例中,處理器109支持由加里福尼亞州圣大克拉熱INTEL公司制造的奔騰處理器、INTEL80486TM處理器、80386TM處理器、INTEL80286處理器、和INTEL8086TM處理器支持的全部搡作。在本發(fā)明的另一個(gè)實(shí)施例中,處理器109支持由加里福尼亞州SantaClara的INTEL公司定義的IATM-INTEL結(jié)構(gòu)支持的全部操作(參見"微處理器",INTEL數(shù)據(jù)叢書巻1和春2,1992年和1993年,加里福尼亞州SantaClaraINTEL公司出版).一般來(lái)說(shuō),處理器109可以支持奔騰處理器的當(dāng)前指令集,但是也可以修改為支持未來(lái)指令以及這里敘述的指令集的集合'重要的是,處理器109除這里敘述的操作外,可以支持先前所用的操作。在步驟301,解碼器202從高速緩沖存儲(chǔ)器206或者總線101接收一個(gè)控制信號(hào)207,解碼器202解碼控制信號(hào)以判定要執(zhí)行的搡作.在步騍302,解碼器202訪問寄存器204或者存儲(chǔ)器中的一個(gè)存儲(chǔ)單元。根據(jù)在控制信號(hào)207中指定的寄存器地址訪問寄存器文件204中的寄存器或在存儲(chǔ)器中的存儲(chǔ)單元。例如,為對(duì)壓縮數(shù)據(jù)進(jìn)行操作,控制信號(hào)207可以包括SRC1、SRC2和DEST寄存器地址。SRC1是第一源寄存器地址。SRC2是第二源寄存器地址.在一些情況下,SRC2地址是可選項(xiàng),因?yàn)椴⒎撬械霓餍枰獌蓚€(gè)源地址。如果一個(gè)操作不需要SRC2地址,則只使用SRC1地址.DEST是存儲(chǔ)結(jié)果數(shù)據(jù)的目的寄存器的地址.在一個(gè)實(shí)施例中,SRC1或SRC2也用作DEST。SRC1、SRC2和DEST將結(jié)合圖6a和圖6b更充分地說(shuō)明.存儲(chǔ)在相應(yīng)寄存器中的數(shù)據(jù)分別稱為Sourcel、source2和Result.它們每一個(gè)為64位長(zhǎng).在本發(fā)明的另一個(gè)實(shí)施例中,SRC1、SRC2和DEST中的任何一個(gè)或者全部可以定義為處理器109中的可尋址存儲(chǔ)器空間的一個(gè)存儲(chǔ)單元.例如,SRC1可能確定在主存儲(chǔ)器104中的一個(gè)存儲(chǔ)單元,而SRC2確定在整數(shù)寄存器組201中的第一寄存器,以及DEST確定寄存器組209中的第二寄存器。這里為說(shuō)明簡(jiǎn)單起見,,參考標(biāo)號(hào)是對(duì)寄存器文件204的訪問標(biāo)注的,然而這些訪問也可以對(duì)存儲(chǔ)器進(jìn)行.在本發(fā)明的另一個(gè)實(shí)施例中,操作碼只包含兩個(gè)地址,SRC1和SRC2。在該實(shí)施例中,運(yùn)算結(jié)果存儲(chǔ)在SRC1或SRC2寄存器中,也就是說(shuō),SRC1(或SRC2)用作DEST.這種類型的尋址與前面只具有兩個(gè)地址的CISC指令兼容。這簡(jiǎn)少了解碼器202的復(fù)雜性.注意,在這一實(shí)施例中,如果在SRC1寄存器中包含的數(shù)據(jù)不準(zhǔn)備破壞,則在執(zhí)行搡作前必須首先把該數(shù)據(jù)復(fù)制到另一個(gè)寄存器中。這一復(fù)制需要一個(gè)另外的指令,這里為說(shuō)明簡(jiǎn)單起見,將使用三地址尋址模式(亦即SRC1、SRC2和DEST).然而應(yīng)當(dāng)記住,在一個(gè)實(shí)施例中,控制信號(hào)可能只包括SRC1和SRC2,以及SRC1(或SRC2)標(biāo)識(shí)目的寄存器.在控制信號(hào)需要一個(gè)操作時(shí),在步驟303,允許功能單元203對(duì)來(lái)自寄存器文件204的被訪問的數(shù)據(jù)執(zhí)行該項(xiàng)操作.一旦功能單元203執(zhí)行完這一操作,在步驟304,則根據(jù)控制信號(hào)207的要求把結(jié)果回存到寄存器文件204中.數(shù)據(jù)和存儲(chǔ)格式圖4a表示可以用于圖1的計(jì)算機(jī)系統(tǒng)的一些數(shù)據(jù)格式。這些數(shù)據(jù)格式是定點(diǎn)格式.處理器109可以操作這些數(shù)據(jù)格式'多媒體算法常常使用這些數(shù)據(jù)格式.一個(gè)字節(jié)401包含8個(gè)信息位。一個(gè)字402包含16個(gè)信息位,或者兩個(gè)字節(jié).一個(gè)雙字403包含32個(gè)信息位,或者4個(gè)字節(jié).于是,處理器109執(zhí)行可能操作這些存儲(chǔ)器數(shù)據(jù)格式中任何一個(gè)的控制信號(hào)。在下面的說(shuō)明中,對(duì)位、字節(jié)、字、和雙字的子字段加參考標(biāo)號(hào)。例如,字節(jié)001110102(以2為基表示)的位6到位0表示子字段1110102。圖4b到圖4d表示本發(fā)明的實(shí)施例中使用的寄存器內(nèi)表示。例如無(wú)符號(hào)字節(jié)寄存器內(nèi)表示410可以表示存儲(chǔ)在整數(shù)寄存器組201中的一個(gè)寄存器中的數(shù)據(jù).在一個(gè)實(shí)施例中,整數(shù)寄存器組201中的一個(gè)寄存器為64位長(zhǎng).在另一個(gè)實(shí)施例中,整數(shù)寄存器組201中的一個(gè)寄存器為32位長(zhǎng)。為說(shuō)明簡(jiǎn)單起見,下面敘述64位的整數(shù)寄存器,然而也可以使用32位的整數(shù)寄存器。無(wú)符號(hào)字節(jié)的寄存器內(nèi)表示"0示出處理器109在整數(shù)寄存器組201中存儲(chǔ)一個(gè)字節(jié)401,在該寄存器中的頭8位,即位7到位0用于該數(shù)據(jù)字節(jié)401。這些位表示為{bK為適當(dāng)?shù)乇硎具@一字節(jié),其余的56位必須為0,對(duì)于一個(gè)有符號(hào)字節(jié)的寄存器內(nèi)表示411,整數(shù)寄存器組201在頭7位,即位6到位0存儲(chǔ)該數(shù)椐,為數(shù)據(jù)部分,第7位表示符號(hào)位,圖中表示為(S)。其余的位63到位8為該字節(jié)的符號(hào)的延續(xù)。無(wú)符號(hào)字的寄存器內(nèi)表示412存儲(chǔ)在整數(shù)寄存器組201中的一個(gè)寄存器中。位15到位0包含一個(gè)無(wú)符號(hào)字402。這些位表示為{w}。為適當(dāng)?shù)乇硎驹撟?,其余的?3到位16必須為0。帶符號(hào)的字402存儲(chǔ)在位14到位0,如帶符號(hào)字的寄存器內(nèi)表示413所示.其余的位64到位15是符號(hào)字段。雙字403可以作為無(wú)符號(hào)雙字的寄存器內(nèi)表T^414存儲(chǔ),或者作為帶符號(hào)雙字的寄存器內(nèi)表示415存儲(chǔ).無(wú)符號(hào)雙字的寄存器內(nèi)表示414的位31到位0為數(shù)據(jù)。這些位表示為xv3r9jzsqg為適當(dāng)表示該無(wú)符號(hào)雙字,其余的位63到位32必須為0。整數(shù)寄存器組201在其位30到位0存儲(chǔ)一個(gè)帶符號(hào)雙字的寄存器內(nèi)表示415,其佘的位63到位31是符號(hào)字段.如上面圖4b到圖4d所示,一些數(shù)據(jù)類型在64位寬的寄存器中的存儲(chǔ)是一種低效的存儲(chǔ)方法.例如,為存儲(chǔ)一個(gè)無(wú)符號(hào)字節(jié)的寄存器內(nèi)表示410,位63到位8必須為0,而只有位7到位0可能包含非0位.因此,在一個(gè)64位寄存器中存儲(chǔ)一個(gè)字節(jié)的處理器只使用寄存器容量的12.5%.相似地,由功能單元203執(zhí)行的搡作只有前幾位是重要的。圖5a表示壓縮數(shù)據(jù)的數(shù)據(jù)格式。每一壓縮數(shù)據(jù)包括多于一個(gè)獨(dú)立的數(shù)據(jù)元素.圖中說(shuō)明3種壓縮數(shù)據(jù)格式壓縮字節(jié)501,壓縮字502和壓縮雙字503,在本發(fā)明的一個(gè)實(shí)施例中,壓縮字節(jié)為64位長(zhǎng),包含8個(gè)數(shù)據(jù)元素,每一個(gè)數(shù)據(jù)元素為一字節(jié)長(zhǎng).一般來(lái)說(shuō),一個(gè)數(shù)據(jù)元素是一個(gè)單個(gè)的數(shù)據(jù),它與具有同樣長(zhǎng)度的其它數(shù)據(jù)元素存儲(chǔ)在一個(gè)單一寄存器中(或存儲(chǔ)單元)。在本發(fā)明的一個(gè)實(shí)施例中,存儲(chǔ)在一個(gè)寄存器中的數(shù)據(jù)元素的數(shù)目等于64除以數(shù)據(jù)元素的位長(zhǎng)。壓縮字502為64位長(zhǎng),包含4個(gè)字402數(shù)據(jù)元素.每一個(gè)字402數(shù)據(jù)元素包含16個(gè)信息位。壓縮雙字503為64位長(zhǎng),包含兩個(gè)雙字403數(shù)據(jù)元素.每一個(gè)雙字403數(shù)據(jù)元素包含32個(gè)信息位。圖5b到圖5d表示寄存器內(nèi)壓縮數(shù)據(jù)存儲(chǔ)表示.無(wú)符號(hào)壓縮字節(jié)的寄存器內(nèi)表示510示出壓縮字節(jié)501在寄存器組R0212a到寄存器組Rn212af中的一個(gè)寄存器中的存儲(chǔ)方式。每個(gè)字節(jié)數(shù)據(jù)元素的信息對(duì)于字節(jié)0存儲(chǔ)在位7到位0,對(duì)于字節(jié)1存儲(chǔ)在位15到位8,對(duì)于字節(jié)2存儲(chǔ)在位23到位16,對(duì)于字節(jié)3存儲(chǔ)在位31到位24,對(duì)于字節(jié)4存儲(chǔ)在位39到位32,對(duì)于字節(jié)5存儲(chǔ)在位47到位40,對(duì)于字節(jié)6存儲(chǔ)在位55到位48,對(duì)于字節(jié)7存儲(chǔ)在位63到位56。因此寄存器中所有可用的位都被使用。這種存儲(chǔ)安排增加了處理器的存儲(chǔ)效率.另外,通過訪問8個(gè)數(shù)據(jù)元素,現(xiàn)在可以同時(shí)對(duì)8個(gè)數(shù)據(jù)元素執(zhí)行操作.帶符號(hào)壓縮字節(jié)的寄存器內(nèi)表示511類似地存儲(chǔ)在寄存器組209中的一個(gè)寄存器中。注意,每一字節(jié)數(shù)振元素只有第8位是必須的符號(hào)位,其它位可以用于或者可以不用于指示符號(hào).無(wú)符號(hào)壓縮字的寄存器內(nèi)表示512示出字3到字0是怎樣存儲(chǔ)在寄存器組209中的一個(gè)寄存器中的。位15到位0包含對(duì)于字O的數(shù)據(jù)元素信息,位31到位16包含對(duì)于字1的數(shù)據(jù)元素信息,位47到位32包含對(duì)于字2的數(shù)據(jù)元素信息,而位63到位48包含對(duì)于字3的數(shù)據(jù)元素信息.帶符號(hào)壓縮字的寄存器內(nèi)表示513類似于無(wú)符號(hào)壓縮字的寄存器內(nèi)表示512.注意,每一字?jǐn)?shù)據(jù)元素只有第16位包含必要的符號(hào)指示符。無(wú)符號(hào)壓縮雙字的寄存器內(nèi)表示514表示寄存器組209怎樣存儲(chǔ)兩個(gè)雙字?jǐn)?shù)據(jù)元素.雙字0存儲(chǔ)在寄存器的位31到位0.雙字l存儲(chǔ)在寄存器的位63到位32.帶符號(hào)壓縮雙字的寄存器內(nèi)表示515類似于無(wú)符號(hào)壓縮雙字的寄存器內(nèi)表示514。注意,必要的符號(hào)位是該雙字?jǐn)?shù)據(jù)元素的第32位.如前所述,寄存器組209既可以用于壓縮數(shù)據(jù),也可以用于整數(shù)數(shù)據(jù),在本發(fā)明的這一實(shí)施例中,可以要求單個(gè)程序處理器109跟蹤一個(gè)被尋址的寄存器,例如R"12a,是否正在存儲(chǔ)壓縮數(shù)據(jù)或者簡(jiǎn)單整數(shù)/定點(diǎn)數(shù)據(jù)。在另一可選實(shí)施例中,處理器109可以跟蹤存儲(chǔ)在寄存器組209中的單個(gè)寄存器中的數(shù)據(jù)類型。因此,如果例如試圖對(duì)筒單/定點(diǎn)整數(shù)數(shù)據(jù)施行一個(gè)壓縮的加法運(yùn)算的話,這一可選實(shí)施例可能產(chǎn)生錯(cuò)誤,控制信號(hào)格式下面說(shuō)明處理器109所用操作壓縮數(shù)據(jù)的控制信號(hào)格式的一個(gè)實(shí)施例。在本發(fā)明的一個(gè)實(shí)施例中,控制信號(hào)用32位表示,解碼器202可以從總線101接收控制信號(hào)207。在另一個(gè)實(shí)施例中,解碼器202也可以從高速緩沖存儲(chǔ)器206接收這樣的控制信號(hào)。圖6a表示對(duì)壓縮數(shù)據(jù)進(jìn)行操作的控制信號(hào)的一般格式。操作字段OP601,即位31到位26,提供關(guān)于由處理器109要執(zhí)行的操作的信息;例如壓縮加,壓縮減等。SRC1602,即位25到位20,提供寄存器組209中的一個(gè)寄存器的源寄存器地址。該源寄存器包含在控制信號(hào)執(zhí)行中要用的第一壓縮數(shù)據(jù),Sourcel.相似地,SRC2603,即位19到位14,包含寄存器組209中的一個(gè)寄存器的地址。這一第二源寄存器包含執(zhí)行搡作期間要用到的壓縮數(shù)據(jù),Source2.DEST605,即位5到位0包含寄存器組209中的一個(gè)寄存器的地址。該目的寄存器將存儲(chǔ)壓縮數(shù)據(jù)搡作的結(jié)果壓縮數(shù)據(jù)Result.控制位SZ610,即位12和位13,指示在第一和第二壓縮數(shù)據(jù)源寄存器中的數(shù)據(jù)元素的長(zhǎng)度。如果SZ610等于012,則壓縮數(shù)據(jù)作為壓縮字節(jié)501格式化.如果SZ610等于102,則壓縮數(shù)據(jù)作為壓縮字502格式化,SZ610等于002或112預(yù)留,然而,在另一個(gè)實(shí)施例中,其中的一個(gè)可以用來(lái)指示壓縮雙字503??刂莆籘6U,即位11,指示該搡作是否以飽和方式執(zhí)行。如果T611等于1,則執(zhí)行飽和操作。如果T611等于0,則執(zhí)行非飽和搡作。后面說(shuō)明飽和操作??刂莆籗612,即位IO,指示使用帶符號(hào)操作.如果S612等于1,則執(zhí)行帶符號(hào)操作;如果S612等于0,則執(zhí)行無(wú)符號(hào)搡作.圖6b表示搡作壓縮數(shù)據(jù)的控制信號(hào)的第二種一般格式.該格式相應(yīng)于在"奔騰處理器系列用戶手冊(cè)"中敘述的一般整數(shù)操作碼格式,該手冊(cè)由INTEL公司文獻(xiàn)銷售部出版,地址為P.O.Box7641,Mt.prospect,IL,60056-7641.注意,OP601,SZ610,T611,和S612都結(jié)合在一個(gè)大字段中,對(duì)于一些控制信號(hào),位3到位5是SRC1602,在一個(gè)實(shí)施例中,其中有一個(gè)SRC1602地址,則位3到位5也相應(yīng)于DEST605。在一個(gè)可選的實(shí)施例中,其中有一個(gè)SRC2603地址,則位0到位2也相應(yīng)于DEST605.對(duì)于其它的控制信號(hào),例如壓縮移位立即操作,位3到位5表示操作碼場(chǎng)的擴(kuò)展.在一個(gè)實(shí)施例中,這種擴(kuò)展允許程序員把一個(gè)立即數(shù)與控制信號(hào)結(jié)合,例如一個(gè)移位計(jì)數(shù)值。在一個(gè)實(shí)施例中,立即數(shù)跟著控制信號(hào)。這在"奔騰處理器系列用戶手冊(cè)"一書的附錄F,從F-l到F-3頁(yè)有詳細(xì)介紹。位0到位2表示SRC2603。這種一般格式允許寄存器到寄存器,存儲(chǔ)器到寄存器,由存儲(chǔ)器對(duì)寄存器,由寄存器對(duì)寄存器,由立即數(shù)對(duì)寄存器,由寄存器到存儲(chǔ)器尋址。在一個(gè)實(shí)施例中,這種一般格式也可以支持整數(shù)寄存器到寄存器和寄存器到整數(shù)寄存器尋址.飽和/非飽和的說(shuō)明如前所述,T611指示操作是否可選為飽和,在允許飽和的場(chǎng)合,當(dāng)一個(gè)操作的結(jié)果溢出或下溢數(shù)據(jù)的范圍時(shí),其結(jié)果被箝位。箝位指的是如果結(jié)果超過該范圍的最大或最小值時(shí)把結(jié)果設(shè)定在最大或最小值。在下溢的場(chǎng)合,飽和把結(jié)果箝位在該范圍的最小值,而在溢出的場(chǎng)合,飽和把結(jié)果箝位在最大值.對(duì)于每一種數(shù)據(jù)格式允許的范圍示于表1<table>tableseeoriginaldocumentpage14</column></row><table>如上所述,T611指示是否正在執(zhí)行飽和搡作.因此,使用無(wú)符號(hào)字節(jié)數(shù)據(jù)格式,如果一個(gè)運(yùn)算結(jié)果=258并且允許飽和,則在該結(jié)果被存儲(chǔ)在該操作的目的寄存器之前被箝位在255.類似地,如果運(yùn)算的結(jié)果--32999且處理器109使用帶符號(hào)字?jǐn)?shù)據(jù)格式同時(shí))b許飽和,則運(yùn)算結(jié)果在被存儲(chǔ)在該運(yùn)算的目的寄存器之前被箝位在-32768。數(shù)據(jù)處理操作在本發(fā)明的一個(gè)實(shí)施例中,多媒體應(yīng)用的性能不僅通過支持標(biāo)準(zhǔn)的CISC指令集(未壓縮數(shù)據(jù)操作),而且通過支持對(duì)壓縮數(shù)據(jù)的操作而得以改善.這樣的壓縮數(shù)據(jù)操作可能包括加法、減法、乘法、比較、移位、與和異或。然而,為充分使用這些操作,已經(jīng)確定,應(yīng)該包括數(shù)據(jù)處理搡作.這樣的數(shù)據(jù)處理操作可能包括移動(dòng)、壓縮和拆開。移位、壓縮和拆開由于產(chǎn)生出允許程序員容易使用的格式的壓縮數(shù)據(jù)而方便了其它操作的執(zhí)行。對(duì)于其它壓縮搡作的進(jìn)一步的背景,參見流水號(hào)為一,于—申請(qǐng)的"具有比較操作的微處理器",流水號(hào)為一于一申請(qǐng)的"具有移位操作的新型處理器",流水號(hào)為08/176123,于1993年12月30日申請(qǐng)的"處理器中使用壓縮數(shù)據(jù)的方法和裝置",流水號(hào)為08/175772,于1993年12月30日申請(qǐng)的"在處理器中使用新型搡作的方法和裝置",所有這些申請(qǐng)都轉(zhuǎn)讓給本發(fā)明的受讓人。移動(dòng)操作移動(dòng)搡作把數(shù)據(jù)傳輸給寄存器209或從寄存器209傳輸出數(shù)據(jù)。在一個(gè)實(shí)施例中,SRC2603是包含源數(shù)據(jù)的地址,而DEST605是數(shù)據(jù)要傳輸?shù)降牡刂?。在該?shí)施例中,不用SRC1602。在另一個(gè)實(shí)施例中,SRC1602就是DEST605。為解釋移動(dòng)操作,要區(qū)分寄存器和存儲(chǔ)單元這兩種情況。寄存器在寄存器文件204中尋找,而存儲(chǔ)器可以是高速緩沖存儲(chǔ)器206、主存儲(chǔ)器104、ROM106、數(shù)據(jù)存儲(chǔ)設(shè)備107。移動(dòng)搡作可以從存儲(chǔ)器到寄存器組209、從寄存器組209到存儲(chǔ)器、和從寄存器組209中的一個(gè)寄存器到寄存器組209中的另一個(gè)寄存器移動(dòng)數(shù)據(jù).在一個(gè)實(shí)施例中,壓縮數(shù)據(jù)存儲(chǔ)在不同于存儲(chǔ)整數(shù)數(shù)據(jù)的寄存器中。在該實(shí)施例中,移動(dòng)搡作可以把數(shù)據(jù)從整數(shù)寄存器組201移動(dòng)到寄存器組209中.例如,在處理器109中,如果壓縮數(shù)椐存儲(chǔ)在寄存器組209中而整數(shù)數(shù)據(jù)存儲(chǔ)在整數(shù)寄存器組201中,則可以使用移動(dòng)指令從整數(shù)寄存器組201移動(dòng)數(shù)據(jù)到寄存器組209,反之亦然.在一個(gè)實(shí)施例中,當(dāng)為移動(dòng)指定一個(gè)存儲(chǔ)器地址時(shí),在存儲(chǔ)單元(指示最低有效字節(jié)的存儲(chǔ)器單元)中的數(shù)據(jù)的8個(gè)字節(jié)加栽到寄存器組209中的一個(gè)寄存器或從該寄存器存儲(chǔ)數(shù)據(jù)的8個(gè)字節(jié)到該存儲(chǔ)單元。當(dāng)指定寄存器組209中的一個(gè)寄存器時(shí),該寄存器中的內(nèi)容被移動(dòng)到寄存器組209中的第二寄存器或從寄存器組209中的第二寄存器加載內(nèi)容到該寄存器.如果整數(shù)寄存器201為64位長(zhǎng),且指定一個(gè)整數(shù)寄存器,則在該整數(shù)寄存器中的數(shù)據(jù)的8個(gè)字節(jié)加載到寄存器209中的一個(gè)寄存器中或從后者存儲(chǔ)在該整數(shù)寄存器中.在一個(gè)實(shí)施例中,整數(shù)用32位表示。當(dāng)從寄存器組209到整數(shù)寄存器組201執(zhí)行移動(dòng)搡作時(shí),則只有低32位壓縮數(shù)據(jù)移動(dòng)到指定的整數(shù)寄存器.在一個(gè)實(shí)施例中,高階32位被置0.相似地,當(dāng)執(zhí)行從整數(shù)寄存器組201到寄存器組209的移動(dòng)時(shí),只加載寄存器組209中的一個(gè)寄存器的低32位。在一個(gè)實(shí)施例中,處理器109支持在寄存器組209的一個(gè)寄存器到存儲(chǔ)器之間的32位移動(dòng)搡作。在另一個(gè)實(shí)施例中,只有32位的移動(dòng)操作是就壓縮數(shù)據(jù)的高階32位進(jìn)行的。壓縮搡作在本發(fā)明的一個(gè)實(shí)施例中,SRC1602寄存器包含數(shù)據(jù)(Sourcel),SRC2603寄存器包含數(shù)據(jù)(Source2),而DEST605寄存器包含運(yùn)算的結(jié)果數(shù)據(jù)(Result).也就是說(shuō),Sourcel的各部分和Source2的各部分壓縮在一起產(chǎn)生Result.在一個(gè)實(shí)施例中,壓縮搡作通過把源壓縮字(或雙字)的低位字節(jié)(或字)壓縮到Result的字節(jié)(或字)中而把壓縮字(或雙字)變換為壓縮字節(jié)(或字)。在一個(gè)實(shí)施例中,壓縮操作把四壓縮字變換為壓縮雙字.這一操作可選使用帶符號(hào)數(shù)據(jù)執(zhí)行。另外,該操作可選使用飽和方式執(zhí)行.圖7表示對(duì)壓縮數(shù)據(jù)執(zhí)行壓縮操作的方法的實(shí)施例。該實(shí)施例可以在圖2中的處理器109中實(shí)現(xiàn)。在步驟701,解碼器202解碼由處理器109接收的控制4言號(hào)207。于是,解碼器202解碼適當(dāng)?shù)膲嚎s操作的操作碼;寄存器組209中的SRC1602、SRC2603和DEST605的地址;飽和/非飽禾、帶符號(hào)/無(wú)符號(hào)、和在壓縮數(shù)據(jù)中的數(shù)據(jù)元素的長(zhǎng)度.如前所述,SRC1602(或SRC2603)可以用作DEST605.在步騍702,通過內(nèi)部總線205,解碼器202訪問寄存器口§文件204中的寄存器組209,給出SRC1602和SRC2603的地址。寄存器組209供給功能單元203存儲(chǔ)在SRC1602寄存器中的數(shù)據(jù)(Sourcel)和存儲(chǔ)在SRC2603寄存器中的數(shù)據(jù)(Source2).也就是說(shuō),寄存器組209通過內(nèi)部總線205給功能單元203傳輸數(shù)據(jù).在步驟703,解碼器202允許功能單元203執(zhí)行適當(dāng)?shù)膲嚎s操作。解碼器202通過內(nèi)部總線205進(jìn)一步傳輸在Sourcel和Source2中的數(shù)據(jù)元素的飽和和大小。飽和作為選項(xiàng)用以使在結(jié)果數(shù)椐元素中的數(shù)據(jù)取最大值。如果在Sourcel和Source2中的數(shù)據(jù)元素的值大于或者小于在Result中的數(shù)據(jù)元素所能表示的值的范圍,則相應(yīng)的結(jié)果數(shù)據(jù)元素i殳定為其最大或最小值.例如,如果在Sourcel和Source2中的字?jǐn)?shù)據(jù)元素中的帶符號(hào)值小于0X80(或?qū)﹄p字來(lái)說(shuō)為0X8000),則結(jié)果字節(jié)(或字)數(shù)據(jù)元素箝位在0X80(或?qū)﹄p字來(lái)說(shuō)為0X8000)。如果在Sourcel和Source2中的字?jǐn)?shù)據(jù)元素中的帶符號(hào)值大于0X7F(或?qū)﹄p字來(lái)說(shuō)為0X7FFF),則結(jié)果字節(jié)(或字)數(shù)據(jù)元素箝位在0X7F(或0X7FFF)。在步驟710,數(shù)據(jù)元素的大小決定下一步要執(zhí)行哪個(gè)步驟。如果數(shù)據(jù)元素的大小為16位(壓縮字502數(shù)據(jù)),則功能單元203執(zhí)行步驟712.然而,如果壓縮數(shù)據(jù)的數(shù)據(jù)元素的大小為32位(壓縮雙字503數(shù)據(jù)),則功能單元203執(zhí)行步驟714.假定源數(shù)據(jù)元素的大小為16位,則執(zhí)行步驟712。在步驟712,執(zhí)行下面的內(nèi)容。Sourcel位7至ij0為Result位7到0,Sourcel位23到16為Result位15到8.Sourcel位39到32為Result位23到16。Sourcel位63到56為Result位31到24'Source2位7到0為Result位39至l)32,Source2位23至"16為Result位47至l]40。Source2位39至!]32為Result位55到48。Source2位63到56為Result31到24,如果設(shè)定了飽和,則測(cè)試每一字的高階位以判定是否要箝位Result數(shù)據(jù)元素。假定源數(shù)據(jù)元素的大小為32位,則執(zhí)行步驟714。在步驟"4,執(zhí)行下面的內(nèi)容.Sourcel位15到0為Result位15到0.Sourcel位47到32為Result位31到16,Source2位15到0為Result位47到32.Source2位47到32為Result位63到48.如果設(shè)定了飽和,則測(cè)試每一雙字的高階位以判定是否要箝位Result數(shù)據(jù)元素。在一個(gè)實(shí)施例中,步驟712的壓縮操作同時(shí)執(zhí)行.然而,在另一個(gè)實(shí)施例中,這一壓縮操作順序執(zhí)行.在再一個(gè)實(shí)施例中,一部分壓縮操作同時(shí)執(zhí)行,而一部分順序執(zhí)行.這一討論也適用于步驟714的壓縮搡作,在步驟720,Result存儲(chǔ)在DEST605寄存器中.表2表示非飽和無(wú)符號(hào)字壓縮操作的寄存器內(nèi)表示,第一行的位為Sourcel的壓縮數(shù)據(jù)表示。第二行的位為Source2的數(shù)據(jù)表示,第三行的位為Result的壓縮數(shù)據(jù)表示.每一數(shù)據(jù)元素位下面的數(shù)字是該數(shù)據(jù)元素的號(hào)碼.例如,Sourcel數(shù)據(jù)元素3是100000002。Source10010101001010101010I01CMiim出1000000001110000畫翻/0Sourcc2000000000000000011000000000000001111001100000000翻mo1,0002/0Result000000000000000000000000100010000I0I0I0Immii01110000IOOOI0O017(54270表2表3表示飽和帶符號(hào)雙字壓縮操作的寄存器內(nèi)表示.Source1001010100101010101010101mimi1000000001110000ioooimIOOO畫/0.,Sourcc2oooooooo000000001100000000000000m翻ioooooooo,1110IOOO畫0Resuh11000000000000001000000000000000ommimim!ioooooooooooooooj20表3壓縮電路在本發(fā)明的一個(gè)實(shí)施例中,為有效地執(zhí)行壓縮操作,使用并行方法。圖8a和圖8b表示能夠?qū)嚎s數(shù)據(jù)執(zhí)行壓縮操作的一個(gè)電路的實(shí)施例。該電路可選執(zhí)行飽和壓縮操作.圖8a和圖8b的電路包括搡作控制電路800,結(jié)果寄存器852,結(jié)果寄存器853,8個(gè)16位到8位的飽和測(cè)試電路,和4個(gè)32位到16位的飽和測(cè)試電路。操作控制電路800從解碼器202接收信息以允許壓縮操作.搡作控制電路800使用飽和值允許對(duì)每一飽和測(cè)試電路進(jìn)行飽和測(cè)試.如果源壓縮數(shù)據(jù)的大小為字壓縮數(shù)據(jù)503,則輸出許可信號(hào)831由搡作控制電路800置位.這就允許輸出寄存器852輸出.如果源壓縮數(shù)椐的大小是雙字壓縮數(shù)據(jù)504,則輸出許可信號(hào)832由搡作控制電路800置位.這就允許輸出寄存器853輸出.每一飽和測(cè)試電路可以選擇測(cè)試飽和。如果飽和測(cè)試被禁止,則每一飽和測(cè)試電路僅僅把低階位傳送給一個(gè)結(jié)果寄存器的相應(yīng)位置。如果飽和測(cè)試被許可,則每一飽和測(cè)試電路測(cè)試高階位以判定是否應(yīng)該對(duì)結(jié)果箝位.飽和測(cè)試810到飽和測(cè)試817有16位輸入和8位輸出.8位輸出是輸入的低8位,或可選為一個(gè)箝位值(0X80,0X7F,或OXFF).飽和測(cè)試810接收Sourcel位15到0而為結(jié)果寄存器852輸出位7到0'飽和測(cè)試811接收Sourcel位31到16而為結(jié)果寄存器852輸出位15到8。飽和測(cè)試812接收Sourcel位47到32而為結(jié)果寄存器852輸出位23到16.飽和測(cè)試813接收Sourcel位63到48而為結(jié)果寄存器852輸出位31到24.飽和測(cè)試814接收Source2位15到0而為結(jié)果寄存器852輸出位39到32.飽和測(cè)試815接收Source2位31到16而為結(jié)果寄存器852輸出位47到40。飽和測(cè)試816接收Source2位47到32而為結(jié)果寄存器852輸出位55到48.飽和測(cè)試817接收Source2位63到48而為結(jié)果寄存器852輸出位63到56.飽和測(cè)試820到823有32位輸入和16位輸出,16位輸出是輸入的低16位,或可選為一個(gè)箝位值(0X8000,0X7FFF,或OXFFFF)。飽和測(cè)試820接收Sourcel位31到0而為結(jié)果寄存器853輸出位l5到O,飽和測(cè)試821接收Sourcel位63到32而為結(jié)果寄存器853輸出位31到16,飽和測(cè)試接收Source2位31到0而為結(jié)果寄存器853輸出位47到32.飽和測(cè)試823接收Source2位63到32而為結(jié)果寄存器853輸出位63到48。例如在表4中,執(zhí)行無(wú)符號(hào)不飽和字壓縮搡作,搡作控制電路800許可結(jié)果寄存器852輸出結(jié)果[63:0]860。<table>tableseeoriginaldocumentpage20</column></row><table>表4然而,如果執(zhí)行無(wú)符號(hào)不飽和雙字壓縮搡作,則操作控制電路800許可結(jié)果寄存器853輸出結(jié)果[63:0]860。表5表示這一結(jié)果。<table>tableseeoriginaldocumentpage20</column></row><table>表5拆開操作在一個(gè)實(shí)施例中,拆開操作交錯(cuò)放置兩個(gè)源壓縮數(shù)據(jù)的低階壓縮字節(jié)、字或者雙字以產(chǎn)生結(jié)果壓縮字節(jié)、字或者雙字。圖9表示對(duì)壓縮數(shù)據(jù)執(zhí)行拆開操作的方法的實(shí)施例.該實(shí)施例可以在圖2中的處理器109中實(shí)現(xiàn)。首先執(zhí)行步驟701和702。在步驟903,解碼器202許可功能單元203執(zhí)行拆開操作.解碼器202通過內(nèi)部總線205傳輸Sourcel和Source2中的數(shù)據(jù)元素的大小.在步驟910,數(shù)椐元素的大小決定下一步執(zhí)行哪一步驟.如果數(shù)據(jù)元素的大小為8位(壓縮字節(jié)數(shù)據(jù)501),則功能單元203執(zhí)行步驟712.然而,如果壓縮數(shù)據(jù)中的數(shù)據(jù)元素的大小為16位(壓縮字?jǐn)?shù)據(jù)502),則功能單元203執(zhí)行步驟714.然而,如果壓縮數(shù)據(jù)中的數(shù)據(jù)元素的大小為32位(壓縮雙字?jǐn)?shù)據(jù)503),則功能單元203執(zhí)行步驟716.假定源數(shù)據(jù)元素的大小為8位,則執(zhí)行步驟712.在步驟712,執(zhí)行下面的內(nèi)容Sourcel位7到0為Result位7到0。Source2位7到0為Result位15到8.Sourcel位15到8為Result位23到16。Source2位158為Result位31至l]24,Sourcel位235'16為Result位39至332.Source2位23到16為Result位47到40.Sourcel位31至'24為Result位55至'j48,Source2位31至ij24為Result位63至'56.假定源數(shù)據(jù)元素的大小為16位,則執(zhí)行步驟714。在步驟714,執(zhí)行下面的內(nèi)容Sourcel位15到0為Result位15到0.Source2位15到0為Result位31到16.Sourcel位31到16為Result位47到32.Source2位31到16為Result位63到48。假定源數(shù)據(jù)元素的大小為32位,則執(zhí)行步驟716.在步驟"6,執(zhí)行下面的內(nèi)容Sourcel位31到0為Result位31到0.Source2位31到0為Result位63到32.在一個(gè)實(shí)施例中,步驟712的拆開操作同時(shí)執(zhí)行.然而,在另一個(gè)實(shí)施例中,拆開搡作順序執(zhí)行.在再一個(gè)實(shí)施例中,拆開搡作的一部分同時(shí)執(zhí)行,另一部分順序執(zhí)行。這一討論也適用于在步驟714和步驟716的拆開搡作.在步驟720,Result存儲(chǔ)在DEST605寄存器中.表6示出字節(jié)拆開操作的寄存器內(nèi)表示。<table>tableseeoriginaldocumentpage22</column></row><table>(5表60.表7示出字拆開操作的寄存器內(nèi)表示,<table>tableseeoriginaldocumentpage22</column></row><table>表7表8示出雙字拆開操作的寄存器內(nèi)表示,<table>tableseeoriginaldocumentpage22</column></row><table>表8拆開電路在本發(fā)明的一個(gè)實(shí)施例中,為有效地執(zhí)行拆開搡作,使用并行方法。圖IO表示能夠?qū)嚎s數(shù)據(jù)執(zhí)行拆開操作的一個(gè)電路的實(shí)施例.圖10的電路包括操作控制電路800,結(jié)果寄存器1052,結(jié)果寄存器1053和結(jié)果寄存器1054。搡作控制電路800從解碼器202接收信息而許可拆開操作.如果源壓縮數(shù)據(jù)的大小是字節(jié)壓縮數(shù)據(jù)502,則由操作控制電路800置位輸出許可信號(hào)1032。這就允許結(jié)果寄存器1052輸出。如果源壓縮數(shù)據(jù)的大小為字壓縮數(shù)據(jù)503,則輸出許可信號(hào)1033由搡作控制電路800置位。這就允許輸出寄存器1053輸出如果源壓縮數(shù)據(jù)的大小是雙字壓縮數(shù)據(jù)504,則輸出許可信號(hào)1034由操作控制電路800置位。這就允許輸出結(jié)果寄存器1054輸出。結(jié)果寄存器1052有下列輸入。Sourcel位7到0為結(jié)果寄存器1052的位7到0.Source2位7到0為結(jié)果寄存器1052的位15到8.Sourcel位15到8為結(jié)果寄存器1052的位23到1'6Source2位15到8為結(jié)果寄存器1052的位31到24。Sourcel位23到16為結(jié)果寄存器1052的位39到32。'Source2位23到16為結(jié)果寄存器1052的位47到40Sourcel位31到24為結(jié)果寄存器1052的位55到48.Source2位31到24為結(jié)果寄存器1052的位63到56.結(jié)果寄存器1053有下列輸入。Sourcel位15到0為結(jié)果寄存器1053的位15到0。Source2位15到0為結(jié)果寄存器1053的位31到16。Sourcel位31到16為結(jié)果寄存器1053的位47到32.Source2位31到16為結(jié)果寄存器1053的位63到48。結(jié)果寄存器1054有下列輸入。Sourcel位31到0為結(jié)果寄存器1054的位31到0Source2位31到0為結(jié)果寄存器1054的位63到32,例如,在表9中,執(zhí)行一個(gè)字拆開操作。搡作控制電路8O0將允許結(jié)果寄存器1053輸出結(jié)果[63:0]860。表9<table>tableseeoriginaldocumentpage24</column></row><table>表10因此,移動(dòng)、壓縮和拆開操作可以操作多個(gè)數(shù)據(jù)元素.在現(xiàn)有技術(shù)的處理器中,為執(zhí)行這些類型的操作,需要多個(gè)單獨(dú)的操作來(lái)執(zhí)行單一壓縮數(shù)據(jù)移動(dòng)、壓縮或者拆開操作.在一個(gè)實(shí)施例中,用于壓縮數(shù)據(jù)操作的數(shù)據(jù)線都帶有相關(guān)的數(shù)據(jù)。它將提高計(jì)算機(jī)系統(tǒng)的性能。權(quán)利要求1.一種設(shè)備,包括從含有N/2位元素A1和A2的第一M×N位源壓縮數(shù)據(jù)和含有N/2位元素B1和B2的第二M×N位源壓縮數(shù)據(jù)產(chǎn)生第一N位結(jié)果的裝置,所述第一N位結(jié)果包括A1和B1;和用于將所述第一N位結(jié)果存儲(chǔ)在M×N位的目標(biāo)中的裝置。2.根據(jù)權(quán)利要求l的設(shè)備,其中還包括產(chǎn)生第二N位結(jié)果的裝置,所述第二N位結(jié)果包括A2和B2;和將所述第一和第二N位結(jié)果作為壓縮數(shù)據(jù)元素存儲(chǔ)在MxN位的目標(biāo)中的裝置。3.根據(jù)權(quán)利要求2的設(shè)備,其中還包括從所述指令識(shí)別的結(jié)構(gòu)寄存器訪問第一MxN位源壓縮數(shù)據(jù)的裝置;和用第一和第二N位結(jié)果覆蓋所述指令識(shí)別的結(jié)構(gòu)寄存器中的第一MxN位源壓縮數(shù)據(jù)的裝置。4.根據(jù)權(quán)利要求2的設(shè)備,其中所述第一MxN源壓縮數(shù)據(jù)還包括另外的N/2位元素A3、A4,所述第二MxN源壓縮數(shù)據(jù)還包括另外的N/2位元素B3、B4;且其中所述設(shè)備還包括產(chǎn)生第三N位結(jié)果的裝置,所述第三N位結(jié)果包括AS和B^產(chǎn)生第四N位結(jié)果的裝置,所述第四N位結(jié)果包括AA和B4;將所述第三和第四N位結(jié)果作為壓縮數(shù)據(jù)元素存儲(chǔ)在MxN位的目標(biāo)中的裝置。5.—種計(jì)算機(jī)系統(tǒng),適于處理數(shù)字運(yùn)動(dòng)視頻信號(hào),包括一個(gè)存儲(chǔ)器,用于存儲(chǔ)由第一組M個(gè)壓縮N位數(shù)據(jù)元素構(gòu)成的第一MxN位數(shù)據(jù),和由第二組M個(gè)壓縮N位數(shù)據(jù)元素構(gòu)成的第二MxN位數(shù)據(jù);一個(gè)與所述存儲(chǔ)器耦接的處理器,用于訪問所述第一和第二MxN位數(shù)據(jù),和響應(yīng)于具有第一格式的指令產(chǎn)生第三組M/2個(gè)壓縮的2N位結(jié)果,所述第一格式可操作以識(shí)別對(duì)應(yīng)于第一MxN位數(shù)據(jù)的第一源和對(duì)應(yīng)于第二MxN位數(shù)據(jù)的第二源,對(duì)應(yīng)于來(lái)自第一和第二組M個(gè)壓縮N位數(shù)據(jù)元素的M/2個(gè)串聯(lián)的相應(yīng)元素對(duì)的第三組M/2個(gè)壓縮的2N位結(jié)果;一個(gè)與所述處理器耦接的總線,用于發(fā)送輸入信號(hào)到處理器和從處理器發(fā)送輸出信號(hào);一個(gè)將所述總線與一個(gè)或者多個(gè)視頻裝置耦接的接口,所述一個(gè)或者多個(gè)視頻裝置選自由視頻數(shù)字化裝置、視頻采集裝置、網(wǎng)絡(luò)電纜和視頻記錄裝置組成的組中;和一個(gè)與所述總線耦接的光盤驅(qū)動(dòng)器,所述光盤驅(qū)動(dòng)器用于接收能存儲(chǔ)數(shù)字運(yùn)動(dòng)視頻數(shù)據(jù)的光盤。6.—種計(jì)算機(jī)系統(tǒng),適于處理數(shù)字靜態(tài)圖像,包括一個(gè)存儲(chǔ)器,用于存儲(chǔ)由第一組M個(gè)壓縮N位數(shù)據(jù)元素構(gòu)成的第一MxN位數(shù)據(jù),和由第二組M個(gè)壓縮N位數(shù)據(jù)元素構(gòu)成的第二MxN位數(shù)據(jù);一個(gè)與所述存儲(chǔ)器耦接的處理器,用于訪問所述第一和第二MxN位數(shù)據(jù),和響應(yīng)于具有第一格式的指令產(chǎn)生第三組M/2個(gè)壓縮的ZN位結(jié)果,所述第一格式可操作以識(shí)別對(duì)應(yīng)于第一MxN位數(shù)據(jù)的第一源和對(duì)應(yīng)于第二MxN位數(shù)據(jù)的第二源,對(duì)應(yīng)于來(lái)自第一和第二組M個(gè)壓縮N位數(shù)據(jù)元素的M/2個(gè)串聯(lián)的相應(yīng)元素對(duì)的第三組M/2個(gè)壓縮的2N位結(jié)果;一個(gè)與所述處理器耦接的總線,用于發(fā)送輸入信號(hào)到處理器和從處理器發(fā)送輸出信號(hào);一個(gè)將所述總線與一個(gè)或者多個(gè)圖象裝置耦接的接口,所述一個(gè)或者多個(gè)圖象裝置選自由圖象再現(xiàn)裝置、筆、靜態(tài)圖象采集裝置、硬拷貝裝置和觸摸屏顯示裝置組成的組中;和一個(gè)與所述總線耦接的盤片驅(qū)動(dòng)器,所述盤片驅(qū)動(dòng)器用于接收可拆卸的盤片,所述可拆卸的盤片選自能存儲(chǔ)數(shù)字靜態(tài)圖象數(shù)據(jù)的光盤和磁盤組成的組中。全文摘要一個(gè)處理器包括用于存儲(chǔ)第一壓縮數(shù)據(jù)的第一寄存器(209),解碼器(202)和功能單元(203)。解碼器有一個(gè)控制信號(hào)輸入(207),用以接收第一控制信號(hào)和第二控制信號(hào)。第一控制信號(hào)用以指示壓縮操作,而第二控制信號(hào)用以指示拆開操作。功能單元連接到解碼器(202)和寄存器(209)上。功能單元除執(zhí)行移動(dòng)操作外還使用第一壓縮數(shù)據(jù)執(zhí)行壓縮操作和拆開操作。文檔編號(hào)G06F9/302GK101211255SQ200710165720公開日2008年7月2日申請(qǐng)日期1995年12月1日優(yōu)先權(quán)日1994年12月2日發(fā)明者A·皮萊格,B·艾坦,L·M·門納梅爾,M·米陶爾,Y·雅列申請(qǐng)人:英特爾公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1