專(zhuān)利名稱(chēng):用以在微處理器內(nèi)組合來(lái)自多個(gè)寄存器單元的對(duì)應(yīng)半字單元的方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明通常涉及微處理器,且更具體來(lái)說(shuō),涉及一種在執(zhí)行單個(gè)指令期間在微處 理器內(nèi)組合來(lái)自多個(gè)寄存器單元的對(duì)應(yīng)半字單元的方法及系統(tǒng)。
背景技水
通常,計(jì)算機(jī)系統(tǒng)包括一個(gè)或一個(gè)以上微處理器裝置,每一微處理器裝置經(jīng)配置 以對(duì)存儲(chǔ)于計(jì)算機(jī)系統(tǒng)的存儲(chǔ)器內(nèi)的值執(zhí)行運(yùn)算且管理計(jì)算機(jī)系統(tǒng)的整體操作。這些 計(jì)算機(jī)系統(tǒng)還可包括各種多媒體裝置,例如,聲卡及/或視頻卡,每一多媒體裝置進(jìn) 一步包括一個(gè)或一個(gè)以上處理器,例如,在每一相應(yīng)多媒體裝置內(nèi)執(zhí)行復(fù)雜數(shù)學(xué)計(jì)算 的數(shù)字信號(hào)處理器(DSP)。
數(shù)字信號(hào)處理器(DSP)通常包括硬件執(zhí)行單元,具體來(lái)說(shuō)其經(jīng)配置以執(zhí)行所述
數(shù)學(xué)計(jì)算,例如, 一個(gè)或一個(gè)以上算術(shù)邏輯單元(ALU)、 一個(gè)或一個(gè)以上乘法及累加 單元(MAC);及其它功能單元,其經(jīng)配置以在所述DSP內(nèi)執(zhí)行由指令集規(guī)定的運(yùn)算。 所述運(yùn)算可包括(例如)算術(shù)運(yùn)算、邏輯運(yùn)算及其它數(shù)據(jù)處理運(yùn)算,其每一者由相關(guān) 聯(lián)的指令集界定。
通常,所述DSP內(nèi)的執(zhí)行單元從耦合到存儲(chǔ)器及執(zhí)行單元的寄存器堆瀆取數(shù)據(jù) 及操作數(shù)、執(zhí)行指令運(yùn)算且將結(jié)果存儲(chǔ)到寄存器堆中。寄存器堆包括多個(gè)寄存器單元, 每一寄存器單元可作為單個(gè)寄存器或作為排列成對(duì)的兩個(gè)相鄰寄存器單元來(lái)存取。然 而,某些特定運(yùn)算(例如,數(shù)據(jù)的加法運(yùn)算或減法運(yùn)算)需要對(duì)來(lái)自寄存器堆內(nèi)的全 異寄存器單元的數(shù)據(jù)進(jìn)行適當(dāng)排列以用于執(zhí)行指令。因此,需要一種在執(zhí)行單個(gè)指令 期間在DSP內(nèi)組合來(lái)自多個(gè)不相鄰或全異寄存器單元的對(duì)應(yīng)半字單元以便能夠?qū)Υ?儲(chǔ)于所述寄存器單元內(nèi)的數(shù)據(jù)進(jìn)行適當(dāng)排列的方法及系統(tǒng)。
發(fā)明內(nèi)容
描述一種在執(zhí)行單個(gè)指令期間在微處理器(例如,數(shù)字信號(hào)處理器)內(nèi)組合來(lái)自 多個(gè)寄存器單元的對(duì)應(yīng)半字單元的方法及系統(tǒng)。在一個(gè)實(shí)施例中,在處理單元內(nèi)接收 組合來(lái)自寄存器堆結(jié)構(gòu)的預(yù)定的全異源寄存器單元的指令。接著執(zhí)行所述指令以組合 來(lái)自所述源寄存器單元的對(duì)應(yīng)半字單元并將所述半字單元輸入到所得目的地寄存器 單元的相應(yīng)部分中。在一個(gè)實(shí)施例中,識(shí)別所述預(yù)定的源寄存器單元并從所述經(jīng)識(shí)別寄存器單元中檢 索對(duì)應(yīng)的最高有效半字單元及相關(guān)聯(lián)的數(shù)據(jù)。進(jìn)一步組合所述檢索的半字單元并將其 輸入到所得目的地寄存器單元的相應(yīng)最高有效部分中。類(lèi)似地,從所述經(jīng)識(shí)別寄存器
單元中檢索對(duì)應(yīng)的最低有效半字單元及相關(guān)聯(lián)的數(shù)據(jù)。進(jìn)一步組合所述檢索的半字單 元并將其輸入到所得目的地寄存器單元的相應(yīng)最低有效部分中。最終,將所述所得目
的地寄存器單元存儲(chǔ)到寄存器堆結(jié)構(gòu)中以供進(jìn)一步處理。
圖1是其內(nèi)可執(zhí)行指令集的數(shù)字信號(hào)處理系統(tǒng)的框圖2是圖解說(shuō)明數(shù)字信號(hào)處理系統(tǒng)內(nèi)的一般寄存器結(jié)構(gòu)的一個(gè)實(shí)施例的框圖; 圖3是圖解說(shuō)明超長(zhǎng)指令字(VLIW)數(shù)字信號(hào)處理系統(tǒng)架構(gòu)的一個(gè)實(shí)施例的框圖; 圖4是流程圖,其圖解說(shuō)明在數(shù)字信號(hào)處理系統(tǒng)內(nèi)組合來(lái)自多個(gè)寄存器單元的對(duì) 應(yīng)半字單元的方法的一個(gè)實(shí)施例;
圖5是圖解說(shuō)明結(jié)合圖4所述的組合來(lái)自多個(gè)寄存器單元的對(duì)應(yīng)半字單元的方法 的框圖6是在數(shù)字信號(hào)處理系統(tǒng)內(nèi)組合來(lái)自多個(gè)寄存器單元的對(duì)應(yīng)半字單元的指令 的一個(gè)實(shí)施例的框圖。
具體實(shí)施例方式
描述一種在執(zhí)行單個(gè)指令期間在微處理器(例如,數(shù)字信號(hào)處理器)內(nèi)組合來(lái)自 多個(gè)寄存器單元的對(duì)應(yīng)半字單元的方法及系統(tǒng)。盡管以下所述系統(tǒng)使數(shù)字信號(hào)處理器 能夠組合來(lái)自寄存器單元的對(duì)應(yīng)半字單元,但應(yīng)了解所述系統(tǒng)可使用微處理器裝置或 能夠在執(zhí)行單個(gè)指令期間將來(lái)自多個(gè)寄存器單元的所述對(duì)應(yīng)半字單元組合到所得寄 存器單元中的任何其它處理單元來(lái)實(shí)施。
在一個(gè)實(shí)施例中,在處理單元內(nèi)接收組合來(lái)自寄存器堆結(jié)構(gòu)的預(yù)定的全異源寄存 器單元的指令。接著執(zhí)行所述指令以組合來(lái)自所述源寄存器單元的對(duì)應(yīng)半字單元并將
所述半字單元輸入到所得目的地寄存器單元的相應(yīng)部分中。
在執(zhí)行所述指令期間,識(shí)別所述預(yù)定的源寄存器單元并從所述經(jīng)識(shí)別寄存器單元 中檢索對(duì)應(yīng)的最高有效半字單元及相關(guān)聯(lián)的數(shù)據(jù)。進(jìn)一步組合所述檢索的半字單元并 將其輸入到所得目的地寄存器單元的相應(yīng)最高有效部分中。類(lèi)似地,從所述經(jīng)識(shí)別寄 存器單元中檢索對(duì)應(yīng)的最低有效半字單元及相關(guān)聯(lián)的數(shù)據(jù)。進(jìn)一步組合所述檢索的半 字單元并將其輸入到所得目的地寄存器單元的相應(yīng)最低有效部分中。最終,將所述所 得目的地寄存器單元存儲(chǔ)到所述寄存器堆結(jié)構(gòu)中以供進(jìn)一步處理。
圖1是其內(nèi)可執(zhí)行指令集的數(shù)字信號(hào)處理系統(tǒng)的框圖。如圖1中所圖解說(shuō)明,數(shù) 字信號(hào)處理系統(tǒng)100包括處理單元110、存儲(chǔ)器150及將處理單元110耦合到存儲(chǔ)器150的一個(gè)或一個(gè)以上總線160。
存儲(chǔ)器150存儲(chǔ)例如由VLIW編譯器產(chǎn)生的呈VLIW包形式的數(shù)據(jù)及指令,每 一 VLIW包包含一個(gè)或一個(gè)以上指令。包的每一指令通常呈預(yù)定寬度且在存儲(chǔ)器150 中具有特定地址,以使得包中的第一指令通常具有比所述包的最后一個(gè)指令低的存儲(chǔ) 器地址。存儲(chǔ)器的尋址方案在此項(xiàng)技術(shù)中眾所周知且此處不在加以詳細(xì)論述。經(jīng)由總 線160將存儲(chǔ)器150中的指令加載到處理單元110。
處理單元IIO進(jìn)一步包含中央處理單元核心130,其經(jīng)由一個(gè)或一個(gè)以上管線140 耦合到一個(gè)或一個(gè)以上寄存器堆結(jié)構(gòu)120。處理單元IIO可進(jìn)一歩包含一個(gè)或一個(gè)以 上微處理器、數(shù)字信號(hào)處理器等等。
寄存器堆120進(jìn)一步包含 一組一般寄存器單元,其支持一般目的計(jì)算且下文將
結(jié)合圖2更詳細(xì)地加以論述;及一組控制寄存器單元,其支持特定目的功能度,例如,
硬件循環(huán)、謂詞及其它特定操作數(shù)。
圖2是圖解說(shuō)明數(shù)字信號(hào)處理系統(tǒng)內(nèi)的一般寄存器結(jié)構(gòu)的一個(gè)實(shí)施例的框圖。如 圖2中所圖解說(shuō)明,在一個(gè)實(shí)施例中,寄存器堆120內(nèi)的一般寄存器堆結(jié)構(gòu)200包括 多個(gè)寄存器單元,例如,三十二個(gè)32-位寬寄存器單元210,每一寄存器單元可作為 單個(gè)寄存器或作為排列成對(duì)220的兩個(gè)相鄰寄存器單元210來(lái)存取。
可基于適當(dāng)指令以多個(gè)名字來(lái)指稱(chēng)一般寄存器單元210。例如,可將寄存器單元 210個(gè)別地稱(chēng)為R。、 R,、 ...、 R3o及Rw。另外,寄存器審.元R。與R,可形成稱(chēng)為R1:o 的64-位寄存器對(duì)220。類(lèi)似地,寄存器單元R2與R3可形成稱(chēng)為R3:2的64-位寄存器 對(duì)220,寄存器單元R28與R29可形成稱(chēng)為R29:28的64-位寄存器對(duì)220且寄存器單元 R30與R31可形成稱(chēng)為R31:3o的64-位寄存器對(duì)220。
在一個(gè)實(shí)施例中, 一般寄存器單元210用于一般計(jì)算目的(例如,地址產(chǎn)生、標(biāo) 量算術(shù)及向量算術(shù))且提供用于指令的所有操作數(shù),包括用于加載/存儲(chǔ)指令的地址、 用于數(shù)字指令的數(shù)據(jù)操作數(shù)及用于向量指令的向量操作數(shù)。每一寄存器單元210進(jìn)一 步包括最高有效半字單元,其含有位于寄存器單元210的高部分中的數(shù)據(jù);及最低 有效半字單元,其含有位于寄存器單元210的低部分中的數(shù)據(jù)。假設(shè)例如是32-位寬 寄存器單元210,那么寄存器單元210的最高有效半字單元及最低有效半字單元為兩 個(gè)16-位寬單元。
圖3是圖解說(shuō)明超長(zhǎng)指令字(VLIW)數(shù)字信號(hào)處理系統(tǒng)架構(gòu)的一個(gè)實(shí)施例的框圖。 VLIW系統(tǒng)架構(gòu)300包括存儲(chǔ)器310,其經(jīng)由指令加載總線320、數(shù)據(jù)加載總線322 及數(shù)據(jù)加載/存儲(chǔ)總線324耦合到數(shù)字信號(hào)處理器(DSP)330。
在一個(gè)實(shí)施例中,存儲(chǔ)器310存儲(chǔ)例如呈具有一個(gè)到四個(gè)指令的VLIW包形式 的數(shù)據(jù)及指令。經(jīng)由指令加載總線320將存儲(chǔ)于存儲(chǔ)器310內(nèi)的指令加載到DSP 330。 在一個(gè)實(shí)施例中,經(jīng)由具有四字寬度的128-位指令加載總線320將具有32-位字寬度 的每一指令加載到DSP 330。在一個(gè)實(shí)施例中,存儲(chǔ)器310是統(tǒng)一字節(jié)可尋址存儲(chǔ)器, 其具有存儲(chǔ)指令及數(shù)據(jù)兩者的32-位地址空間且以前輕后重模式操作。在一個(gè)實(shí)施例中,DSP330包含定序器335、用于四個(gè)處理或執(zhí)行單元345的四 個(gè)管線340、 一般寄存器堆結(jié)構(gòu)350(其包含多個(gè)一般寄存器單元,例如,結(jié)合圖2詳 細(xì)描述的一般寄存器堆結(jié)構(gòu)200)及控制寄存器堆結(jié)構(gòu)360。定序器335從存儲(chǔ)器310 接收指令包且使用所述指令內(nèi)包含的信息針對(duì)每一所接收包的每一指令確定適當(dāng)?shù)?管線340及相應(yīng)的執(zhí)行單元345。在針對(duì)包的每一指令進(jìn)行此確定之后,定序器335 將指令輸入到適當(dāng)管線340以供由適當(dāng)執(zhí)行單元345處理。
在一個(gè)實(shí)施例中,執(zhí)行單元345進(jìn)一步包含向量移位單元、向量MAC單元、加 載單元及加載/存儲(chǔ)單元。向量移位單元345執(zhí)行例如S-類(lèi)型、A64-類(lèi)型、A32-類(lèi)型、 J-類(lèi)型及CR-類(lèi)型的指令。向量MAC單元345執(zhí)行例如M-類(lèi)型、A64-類(lèi)型、A32-類(lèi)型、J-類(lèi)型及JR-類(lèi)型的指令。加載單元345將數(shù)據(jù)從存儲(chǔ)器310加載到一般寄存 器堆結(jié)構(gòu)350并執(zhí)行例如加載-類(lèi)型及A32-類(lèi)型的指令。加載/存儲(chǔ)單元345將數(shù)據(jù)從 一般寄存器堆結(jié)構(gòu)350加載及存儲(chǔ)回到存儲(chǔ)器310并執(zhí)行例如加載-類(lèi)型、存儲(chǔ)-類(lèi)型 及A32-類(lèi)型的指令。
接收指令的每一執(zhí)行單元345使用由四個(gè)執(zhí)行單元345共享的一般寄存器堆結(jié)構(gòu) 350來(lái)執(zhí)行指令。經(jīng)由64-位數(shù)據(jù)加載總線322將指令所需的數(shù)據(jù)加載到一般寄存器 堆結(jié)構(gòu)350。在執(zhí)行單元345執(zhí)行包的指令之后,經(jīng)由64-位數(shù)據(jù)加載/存儲(chǔ)總線324 將所得數(shù)據(jù)存儲(chǔ)到一般寄存器堆結(jié)構(gòu)350且接著加載及存儲(chǔ)到存儲(chǔ)器310。在一個(gè)實(shí) 施例中,對(duì)于RISC-型機(jī)器,例如, 一個(gè)指令可從存儲(chǔ)器加載數(shù)據(jù)、執(zhí)行運(yùn)算且接著 將結(jié)果存儲(chǔ)到存儲(chǔ)器中。另一選擇是,對(duì)于DSP單元,以上操作通常是分開(kāi)的。通 常,四個(gè)執(zhí)行單元345在一個(gè)時(shí)鐘循環(huán)中并行地執(zhí)行包的一個(gè)到四個(gè)指令,其中在每 一時(shí)鐘循環(huán)內(nèi)管線340接收及處理最多一個(gè)指令。
在一個(gè)實(shí)施例中,執(zhí)行單元345還可使用控制寄存器堆結(jié)構(gòu)360來(lái)執(zhí)行對(duì)應(yīng)的指 令??刂萍拇嫫鞫呀Y(jié)構(gòu)360包含一組特定寄存器單元,例如,修飾詞、狀態(tài)及謂詞寄 存器單元。
圖4是流程圖,其圖解說(shuō)明在數(shù)字信號(hào)處理系統(tǒng)100內(nèi)組合來(lái)自多個(gè)寄存器單元 的對(duì)應(yīng)半字單元的方法的一個(gè)實(shí)施例。如圖4的實(shí)施例中所圖解說(shuō)明,在處理區(qū)塊 410處,接收在數(shù)字信號(hào)處理系統(tǒng)300內(nèi)組合寄存器單元的指令。在一個(gè)實(shí)施例中, 處理單元(例如,DSP 330內(nèi)的執(zhí)行單元345)接收指令并如下所述執(zhí)行指令以組合 來(lái)自存儲(chǔ)于一般寄存器堆結(jié)構(gòu)350內(nèi)的預(yù)定源寄存器單元的對(duì)應(yīng)半字單元。在一個(gè)實(shí) 施例中,所述預(yù)定源寄存器單元是全異的,其不相鄰地位于一般寄存器堆結(jié)構(gòu)350內(nèi) 且因此,不可作為排列成對(duì)220的寄存器單元來(lái)存取。
在處理區(qū)塊420處,識(shí)別預(yù)定的源寄存器單元,例如,第一32-位寬源寄存器單 元及第二 32-位寬寄存器單元。在一個(gè)實(shí)施例中,執(zhí)行單元345與一般寄存器堆結(jié)構(gòu) 350通信且識(shí)別請(qǐng)求組合的源寄存器單元。在一個(gè)實(shí)施例中,存儲(chǔ)器310接著經(jīng)由64-位數(shù)據(jù)加載總線322及/或64-位數(shù)據(jù)加載/存儲(chǔ)總線324將指令所需的數(shù)據(jù)加載到一般 寄存器堆結(jié)構(gòu)350?;蛘?,數(shù)據(jù)可能已存儲(chǔ)到經(jīng)識(shí)別第一及第二源寄存器單元內(nèi)。
9在處理區(qū)塊430處,檢索經(jīng)識(shí)別的源寄存器單元及相關(guān)聯(lián)的數(shù)據(jù)。在一個(gè)實(shí)施例
中,執(zhí)行單元345從一般寄存器堆結(jié)構(gòu)350中檢索經(jīng)識(shí)別的源寄存器單元及相關(guān)聯(lián)的 數(shù)據(jù)。
在處理區(qū)塊440處,從經(jīng)識(shí)別的源寄存器單元中檢索對(duì)應(yīng)的最高有效半字單元。 在一個(gè)實(shí)施例中,執(zhí)行單元345進(jìn)一步執(zhí)行以下操作從第一源寄存器單元中檢索半 字單元,例如,16-位寬單元,在一個(gè)實(shí)施例中,所述半字單元是第一源寄存器單元 的最高有效或高半字單元;及從第二源寄存器單元中檢索半字單元,例如,16-位寬 單元,在一個(gè)實(shí)施例中,所述半字單元是第二源寄存器單元的最高有效或高半字單元。
在處理區(qū)塊450處,組合最高有效半字單元且進(jìn)一步將其輸入到所得目的地寄存 器單元的最高有效或高部分中。在一個(gè)實(shí)施例中,執(zhí)行單元345組合所檢索的最高有 效半字單元并將經(jīng)組合的半字單元輸入到所得目的地寄存器單元的最高有效或高部分中。
在處理區(qū)塊460處,從經(jīng)識(shí)別的源寄存器單元中檢索對(duì)應(yīng)的最低有效半字單元。 在一個(gè)實(shí)施例中,執(zhí)行單元345進(jìn)一步執(zhí)行以下操作從第一源寄存器單元中檢索半 字單元,例如,16-位寬單元,在一個(gè)實(shí)施例中,所述半字單元可以是第一源寄存器 單元的最低有效或低半字單元;及從第二源寄存器單元中檢索半字單元,例如,16-位寬單元,在一個(gè)實(shí)施例中,所述半字單元可以是第二源寄存器單元的最低有效或低 半字單元。
在處理區(qū)塊470處,組合最低有效半字單元且進(jìn)一步將其輸入到所得目的地寄存 器單元的最低有效或低部分中。在一個(gè)實(shí)施例中,執(zhí)行單元345組合所檢索的最低有 效半字單元并將經(jīng)組合的半字單元輸入到所得目的地寄存器單元的最低有效或低部 分中。
最終,在處理區(qū)塊480處,存儲(chǔ)所得目的地寄存器單元以供進(jìn)一步處理。在一個(gè) 實(shí)施例中,執(zhí)行單元345將所得目的地寄存器-爭(zhēng)元輸出到通用寄存器堆結(jié)構(gòu)350并存 儲(chǔ)所得目的地寄存器單元以供進(jìn)一步處理額外指令。
圖5是圖解說(shuō)明結(jié)合圖4所述的組合寄存器單元的方法的框圖。如圖5中所圖解 說(shuō)明,從一般寄存器堆結(jié)構(gòu)200中識(shí)別并檢索源寄存器單元Rs 510及RT520。
在一個(gè)實(shí)施例中,將源寄存器單元Rs 510及Rt520組合到所得目的地寄存器単 元Rd530的指令是
Rd = packHL (Rs, RT)
其中&及RT是具有相應(yīng)最高有效或高半字單元H及最低有效或低半字單元L 的源寄存器單元。
如圖5中所示,在執(zhí)行指令之后,組合源寄存器單元Rs 510的最高有效或高半 字單元與源寄存器單元RT520的最高有效或高半字單元RT1且進(jìn)一步將其輸入到目的 地寄存器單元R。 530的高部分中。組合源寄存器單元Rs 510的最低有效或低半字單 元Rs2與源寄存器單元RT 520的最低有效或低半字單元RT2且進(jìn)一步將其輸入到目的地寄存器単元Rd 530的低部分中。例如,如果Rs 510及&520是兩個(gè)32-位寬寄存 器單元,那么在一個(gè)實(shí)施例中,所得目的地寄存器單元RD530是64-位寬寄存器。
圖6是在數(shù)字信號(hào)處理系統(tǒng)內(nèi)組合來(lái)自多個(gè)寄存器單元的對(duì)應(yīng)半字單元的指令 的一個(gè)實(shí)施例的框圖。如圖6中所圖解說(shuō)明,在一個(gè)實(shí)施例中,結(jié)合圖5所述的指令 包括多個(gè)字段,例如,字段610,其含有編碼目的地寄存器單元R。所需的信息;空字 段620,其保留用于未來(lái)編碼;字段630,其含有編碼源寄存器單元RT所需的信息; 另一空字段640,其保留用于未來(lái)編碼;字段650,其含有包/循環(huán)剖析位信息;字段 660,其含有編碼寄存器單元Rs所需的信息;字段670,其含有操作碼信息;字段680, 其含有與源及目的地寄存器單元的寄存器類(lèi)型相關(guān)的信息;及字段690,其含有指令
分類(lèi)信息。然而,另一選擇是,在編碼以上指令中還可包括其它額外字段,此并不違 背本發(fā)明的范圍。
所屬領(lǐng)域的技術(shù)人員將了解,可使用各種不同技術(shù)及技法中的任一種技術(shù)及技法 來(lái)表示信息及信號(hào)。例如,在以上整個(gè)說(shuō)明中可能提及的數(shù)據(jù)、指令、命令、信息、 信號(hào)、位、符號(hào)、及芯片可由電壓、電流、電磁波、磁場(chǎng)或磁粒子、光場(chǎng)或光學(xué)粒子 或其任一組合來(lái)表示。
所屬領(lǐng)域的技術(shù)人員將進(jìn)一步了解,結(jié)合本文所揭示實(shí)施例描述的各種說(shuō)明性邏 輯區(qū)塊、模塊、電路、及算法步驟可實(shí)施為電子硬件、計(jì)算機(jī)軟件、或兩者的組合。 為清楚地圖解說(shuō)明硬件及軟件的此種可互換性,上文就其功能度總體描述了各種說(shuō)明 性組件、區(qū)塊、模塊、電路及步驟。某一功能度實(shí)施為硬件還是軟件取決于施加于整 體系統(tǒng)上的特定應(yīng)用及設(shè)計(jì)約束條件。所屬領(lǐng)域的技術(shù)人員可針對(duì)每一特定應(yīng)用以不 同方法實(shí)施所述功能度,但是不應(yīng)將所述實(shí)施方案決定解釋為違背本發(fā)明的范圍。
結(jié)合本文所揭示實(shí)施例描述的各種說(shuō)明性邏輯區(qū)塊、模塊及電路均可由以下裝置 實(shí)施或執(zhí)行通用處理器、數(shù)字信號(hào)處理器(DSP)、專(zhuān)用集成電路(ASIC)、現(xiàn)場(chǎng) 可編程門(mén)陣列(FPGA)或其它可編程邏輯裝置、離散門(mén)或晶體管邏輯、離散硬件組 件、或其經(jīng)設(shè)計(jì)用于執(zhí)行本文所述功能的任何組合。通用處理器可以是微處理器,但 另一選擇為,處理器可以是任何常規(guī)處理器、控制器、微控制器或狀態(tài)機(jī)。處理器還 可實(shí)施為計(jì)算裝置的組合,例如,DSP與微處理器的組合、多個(gè)微處理器的組合、一 個(gè)或一個(gè)以上微處理器與DSP核心的聯(lián)合,或任一其它此類(lèi)配置。
結(jié)合本文所揭示實(shí)施例描述的方法或算法的步驟可直接體現(xiàn)于硬件中、體現(xiàn)于由 處理器執(zhí)行的軟件中、或體現(xiàn)于兩者的組合中。應(yīng)了解這些實(shí)施例可用作軟件程序或 用來(lái)支持軟件程序,所述軟件程序可在某種形式的處理器或處理核心(例如,計(jì)算機(jī) 的CPU)上執(zhí)行,或另外實(shí)施或?qū)崿F(xiàn)于機(jī)器或計(jì)算機(jī)可讀媒體上或其內(nèi)。機(jī)器可讀媒 體包括用于存儲(chǔ)或傳輸呈可由機(jī)器(例如,計(jì)算機(jī))讀取形式的信息的任何機(jī)構(gòu)。例 如,機(jī)器可讀媒體包括RAM存儲(chǔ)器、快閃存儲(chǔ)器、ROM存儲(chǔ)器、EPROM存儲(chǔ)器、 EEPROM存儲(chǔ)器、寄存器、硬磁盤(pán)、可拆卸磁盤(pán)、CD-ROM、或此項(xiàng)技術(shù)中已知的 任一其它形式的存儲(chǔ)媒體。實(shí)例性存儲(chǔ)媒體耦合到處理器,以使得處理器可從存儲(chǔ)媒體讀取信息及向存儲(chǔ)媒體寫(xiě)入信息。另一選擇為,存儲(chǔ)媒體可與處理器成一體。處理
器及存儲(chǔ)媒體可駐存于ASIC中。ASIC可駐存于用戶(hù)終端中。另一選擇為,處理器
及存儲(chǔ)媒體可作為離散組件駐存于用戶(hù)終端中。
提供上文對(duì)所揭示實(shí)施例的說(shuō)明旨在使隨所屬領(lǐng)域的技術(shù)人員能夠制作或使用 本發(fā)明。所屬領(lǐng)域的技術(shù)人員將易知這些實(shí)施例的各種修改,且本文所定義的一般原 理還可應(yīng)用于其它實(shí)施例,此并未背離本發(fā)明的精神或范圍。因此,本文并不打算將 本發(fā)明限定為本文所示的實(shí)施例,而是打算賦予其與本文所揭示原理及新穎特征相一 致的最寬廣范圍。
權(quán)利要求
1、一種計(jì)算機(jī)可讀媒體,其包含包含在所述媒體內(nèi)的多個(gè)可執(zhí)行指令中的一指令,當(dāng)在處理系統(tǒng)中執(zhí)行時(shí),所述指令致使所述處理系統(tǒng)組合來(lái)自寄存器堆結(jié)構(gòu)內(nèi)的至少兩個(gè)源寄存器單元的對(duì)應(yīng)半字單元且將所述對(duì)應(yīng)半字單元輸入到所得目的地寄存器單元的相應(yīng)部分中。
2、 如權(quán)利要求l所述的計(jì)算機(jī)可讀媒體,其中每一源寄存器單元是32-位寬寄存器單元且所述所得目的地寄存器單元是64-位寬寄存器單元。
3、 如權(quán)利要求2所述的計(jì)算機(jī)可讀媒體,其中每一半字單元是16-位寬單元。
4、 如權(quán)利要求1所述的計(jì)算機(jī)可讀媒體,其中執(zhí)行所述指令進(jìn)一步致使所述處 理系統(tǒng)將與來(lái)自所述至少兩個(gè)全異源寄存器單元的所述對(duì)應(yīng)半字單元相關(guān)聯(lián)的數(shù)據(jù)組 合到所述所得目的地寄存器單元的所述相應(yīng)部分中。
5、 如權(quán)利要求1所述的計(jì)算機(jī)可讀媒體,其中執(zhí)行所述指令進(jìn)一步致使所述處 理系統(tǒng)從存儲(chǔ)器中檢索與所述至少兩個(gè)源寄存器單元相關(guān)聯(lián)的數(shù)據(jù)、將所述數(shù)據(jù)存儲(chǔ) 在所述相應(yīng)源寄存器單元內(nèi)、從所述相應(yīng)源寄存器單元中檢索與所述對(duì)應(yīng)半字單元相 關(guān)聯(lián)的數(shù)據(jù)及將與所述對(duì)應(yīng)半字單元相關(guān)聯(lián)的所述數(shù)據(jù)組合到所述所得目的地寄存器 單元的所述相應(yīng)部分中。
6、 如權(quán)利要求1所述的計(jì)算機(jī)可讀媒體,其中所述處理系統(tǒng)是數(shù)字信號(hào)處理器。
7、 如權(quán)利要求1所述的計(jì)算機(jī)可讀媒體,其中所述至少兩個(gè)源寄存器單元是全 異的。
8、 如權(quán)利要求1所述的計(jì)算機(jī)可讀媒體,其中執(zhí)行所述指令進(jìn)一步致使所述處 理系統(tǒng)從所述至少兩個(gè)源寄存器單元的每一者中檢索最高有效半字單元并將所述最高 有效半字單元輸入到所述目的地寄存器單元的最高有效部分中。
9、 如權(quán)利要求8所述的計(jì)算機(jī)可讀媒體,其中執(zhí)行所述指令進(jìn)一步致使所述處 理系統(tǒng)從所述至少兩個(gè)源寄存器單元的每一者中檢索最低有效半字單元并將所述最低 有效半字單元輸入到所述目的地寄存器單元的最低有效部分中。
10、 一種方法,其包含 接收可執(zhí)行指令;及執(zhí)行所述指令以組合來(lái)自寄存器堆結(jié)構(gòu)內(nèi)的至少兩個(gè)全異源寄存器單元的對(duì)應(yīng) 半字單元,且將所述對(duì)應(yīng)半字單元輸入到所得目的地寄存器單元的相應(yīng)部分中。
11、 如權(quán)利要求10所述的方法,其中每一源寄存器單元是32-位寬寄存器單元且 所述所得目的地寄存器單元是64-位寬寄存器單元。
12、 如權(quán)利要求ll所述的方法,其中每一半字單元是16-位寬單元。
13、 如權(quán)利要求IO所述的方法,其中所述執(zhí)行進(jìn)一步包含將與來(lái)自所述至少兩 個(gè)全異源寄存器單元的所述對(duì)應(yīng)半字單元相關(guān)聯(lián)的數(shù)據(jù)組合到所述所得目的地寄存器 單元的所述相應(yīng)部分中。
14、 如權(quán)利要求IO所述的方法,其中所述執(zhí)行進(jìn)一步包含 從存儲(chǔ)器中檢索與所述至少兩個(gè)源寄存器單元相關(guān)聯(lián)的數(shù)據(jù); 將所述數(shù)據(jù)存儲(chǔ)于所述相應(yīng)源寄存器單元內(nèi);從所述相應(yīng)源寄存器單元中檢索與所述對(duì)應(yīng)半字單元相關(guān)聯(lián)的數(shù)據(jù);及 將與所述對(duì)應(yīng)半字單元相關(guān)聯(lián)的所述數(shù)據(jù)組合到所述所得目的地寄存器單元的 所述相應(yīng)部分中。
15、 如權(quán)利要求IO所述的方法,其中所述處理系統(tǒng)是數(shù)字信號(hào)處理器。
16、 如權(quán)利要求IO所述的方法,其中所述至少兩個(gè)源寄存器單元是全異的。
17、 如權(quán)利要求IO所述的方法,其中所述執(zhí)行進(jìn)一步包含 從所述至少兩個(gè)源寄存器單元的每一者中檢索最高有效半字單元;及 將所述最高有效半字單元輸入到所述目的地寄存器單元的最高有效部分中。
18、 如權(quán)利要求17所述的方法,其中所述執(zhí)行進(jìn)一步包含 從所述至少兩個(gè)源寄存器單元的每一者中檢索最低有效半字單元;及 將所述最低有效半字單元輸入到所述目的地寄存器單元的最低有效部分中。
19、 一種設(shè)備,其包含存儲(chǔ)器,其用以存儲(chǔ)包含至少一個(gè)指令的包;及處理器,其耦合到所述存儲(chǔ)器,所述處理器進(jìn)一步包含處理單元及耦合到所述處理單元的寄存器堆結(jié)構(gòu);所述處理單元用以執(zhí)行所述包內(nèi)的指令,其組合來(lái)自所述寄存器堆結(jié)構(gòu)內(nèi)的至少 兩個(gè)源寄存器單元的對(duì)應(yīng)半字單元且將所述對(duì)應(yīng)半字單元輸入到所得目的地寄存器單 元的相應(yīng)部分中。
20、 如權(quán)利要求19所述的設(shè)備,其中每一源寄存器單元是32-位寬寄存器單元且 所述所得目的地寄存器單元是64-位寬寄存器單元。
21、 如權(quán)利要求20所述的設(shè)備,其中每一半字單元是16-位寬單元。
22、 如權(quán)利要求19所述的設(shè)備,其中所述處理單元進(jìn)一步將與來(lái)自所述至少兩 個(gè)全異源寄存器單元的所述對(duì)應(yīng)半字單元相關(guān)聯(lián)的數(shù)據(jù)組合到所述所得目的地寄存器 單元的所述相應(yīng)部分中。
23、 如權(quán)利要求19所述的設(shè)備,其中所述處理單元進(jìn)一步從所述存儲(chǔ)器中檢索 與所述至少兩個(gè)源寄存器單元相關(guān)聯(lián)的數(shù)據(jù)、將所述數(shù)據(jù)存儲(chǔ)于所述相應(yīng)源寄存器單 元內(nèi)、從所述相應(yīng)源寄存器單元中檢索與所述對(duì)應(yīng)半字單元相關(guān)聯(lián)的數(shù)據(jù)及將與所述 對(duì)應(yīng)半字單元相關(guān)聯(lián)的所述數(shù)據(jù)組合到所述所得目的地寄存器單元的所述相應(yīng)部分 中。
24、 如權(quán)利要求19所述的設(shè)備,其中所述處理器是數(shù)字信號(hào)處理器。
25、 如權(quán)利要求19所述的設(shè)備,其中所述至少兩個(gè)源寄存器單元是全異的。
26、 如權(quán)利要求19所述的設(shè)備,其中所述處理單元進(jìn)一步從所述至少兩個(gè)源寄 存器單元的每一者中檢索最高有效半字單元且將所述最高有效半字單元輸入到所述目 的地寄存器單元的最高有效部分中。
27、 如權(quán)利要求26所述的設(shè)備,其中所述處理單元進(jìn)一步從所述至少兩個(gè)源寄 存器單元的每一者中檢索最低有效半字單元且將所述最低有效半字單元輸入到所述目的地寄存器單元的最低有效部分中。
28、 一種設(shè)備,其包含接收裝置,其用于接收可執(zhí)行指令;及執(zhí)行裝置,其用于執(zhí)行所述指令以組合來(lái)自寄存器堆結(jié)構(gòu)內(nèi)的至少兩個(gè)全異源寄 存器單元的對(duì)應(yīng)半字單元且將所述對(duì)應(yīng)半字單元輸入到所得目的地寄存器單元的相應(yīng)部分中。
29、 如權(quán)利要求28所述的設(shè)備,其中每一源寄存器單元是32-位寬寄存器單元且 所述所得目的地寄存器單元是64-位寬寄存器單元。
30、 如權(quán)利要求29所述的設(shè)備,其中每一半字單元是16-位寬單元。
31、 如權(quán)利要求28所述的設(shè)備,其進(jìn)一步包含組合裝置,所述組合裝置用于將 與來(lái)自所述至少兩個(gè)全異源寄存器單元的所述對(duì)應(yīng)半字單元相關(guān)聯(lián)的數(shù)據(jù)組合到所述 所得目的地寄存器單元的所述相應(yīng)部分中。
32、 如權(quán)利要求28所述的設(shè)備,其進(jìn)一步包含檢索裝置,其用于從存儲(chǔ)器中檢索與所述至少兩個(gè)源寄存器單元相關(guān)聯(lián)的數(shù)據(jù);存儲(chǔ)裝置,其用于將所述數(shù)據(jù)存儲(chǔ)于所述相應(yīng)源寄存器單元內(nèi);檢索裝置,其用于從所述相應(yīng)源寄存器單元中檢索與所述對(duì)應(yīng)半字單元相關(guān)聯(lián)的數(shù)據(jù);及組合裝置,其用于將與所述對(duì)應(yīng)半字單元相關(guān)聯(lián)的所述數(shù)據(jù)組合到所述所得目的 地寄存器單元的所述相應(yīng)部分中。
33、 如權(quán)利要求28所述的設(shè)備,其中所述至少兩個(gè)源寄存器單元是全異的。
34、如權(quán)利要求28所述的設(shè)備,其進(jìn)一步包含檢索裝置,其用于從所述至少兩個(gè)源寄存器單元的每一者中檢索最高有效半字單 元;及輸入裝置,其用于將所述最高有效半字單元輸入到所述目的地寄存器單元的最高 有效部分中。
35、如權(quán)利要求34所述的設(shè)備,其進(jìn)一步包含檢索裝置,其用于從所述至少兩個(gè)源寄存器單元的每一者中檢索最低有效半字單 元;及輸入裝置,其用于將所述最低有效半字單元輸入到所述目的地寄存器單元的最低 有效部分中。
全文摘要
本發(fā)明描述一種用以在執(zhí)行單個(gè)指令期間在微處理器,例如數(shù)字信號(hào)處理器內(nèi)組合來(lái)自多個(gè)寄存器單元的對(duì)應(yīng)半字單元的方法及系統(tǒng)。在處理單元內(nèi)接收用以組合來(lái)自寄存器堆結(jié)構(gòu)的預(yù)定的全異源寄存器單元的指令。接著執(zhí)行所述指令以組合來(lái)自所述源寄存器單元的對(duì)應(yīng)半字單元且將所述半字單元輸入到所得目的地寄存器單元的相應(yīng)部分中。在執(zhí)行所述指令期間,識(shí)別所述預(yù)定的源寄存器單元且從所述經(jīng)識(shí)別的寄存器單元中檢索對(duì)應(yīng)的最高有效半字單元及相關(guān)聯(lián)的數(shù)據(jù)。進(jìn)一步組合所述檢索的半字單元并將其輸入到所得目的地寄存器單元的相應(yīng)最高有效部分中。類(lèi)似地,從所述經(jīng)識(shí)別的寄存器單元中檢索對(duì)應(yīng)的最低有效半字單元及相關(guān)聯(lián)的數(shù)據(jù)。進(jìn)一步組合所述檢索的半字單元并將其輸入到所得目的地寄存器單元的相應(yīng)最低有效部分中。最終,將所述所得目的地寄存器單元存儲(chǔ)到寄存器堆結(jié)構(gòu)中以供進(jìn)一步處理。
文檔編號(hào)G06F9/315GK101438236SQ200780016524
公開(kāi)日2009年5月20日 申請(qǐng)日期2007年5月7日 優(yōu)先權(quán)日2006年5月10日
發(fā)明者盧奇安·科德雷斯庫(kù), 貿(mào) 曾 申請(qǐng)人:高通股份有限公司