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

將硬件結(jié)束循環(huán)信息編碼到指令上的制作方法

文檔序號:6454736閱讀:191來源:國知局
專利名稱:將硬件結(jié)束循環(huán)信息編碼到指令上的制作方法
技術(shù)領(lǐng)域
本發(fā)明實(shí)施例大體來說涉及硬件循環(huán),且更具體來說涉及將硬件結(jié)束循環(huán)信息編 碼到指令上。
背景技術(shù)
當(dāng)前一種廣泛使用的計(jì)算機(jī)架構(gòu)為極長指令字(VLIW)架構(gòu)。在VLIW架構(gòu)下, 指令被分組成若干含有一個(gè)或一個(gè)以上指令的包且并行地被讀取及執(zhí)行。VLIW架構(gòu) 使用幾個(gè)執(zhí)行單元或算術(shù)邏輯單元(ALU)以使得所述架構(gòu)能夠同時(shí)執(zhí)行包中的指令, 其中每一執(zhí)行單元或ALU均能夠執(zhí)行特定類型的指令。包中指令的最大數(shù)目通常由 供用于處理指令的執(zhí)行單元或ALU的數(shù)目來確定。例如,如果存在四個(gè)供用于處理 指令的執(zhí)行單元或ALU,則通常每一包最多允許四個(gè)指令。此允許并行處理所述包 中的每一指令以使得不會(huì)有指令等待所述包中另一指令的處理結(jié)束。對于VLIW架構(gòu) 來說,可使用編碼軟件(例如,編譯器、匯編程序工具等)來將指令分組為若干含有 一個(gè)或一個(gè)以上指令的包(其中同一包中的指令不相互依賴,因而其可并行地執(zhí)行) 并對所述包進(jìn)行編碼以產(chǎn)生可執(zhí)行代碼。
通常在一個(gè)"循環(huán)"中指定一組指令或包,以使所述指令或包重復(fù)特定數(shù)目的迭 代。指令或包循環(huán)可實(shí)施于軟件或硬件中。當(dāng)實(shí)施于軟件中時(shí),使用額外的指令來規(guī) 定所述循環(huán)(例如,算術(shù)、比較及分支類型指令)。
當(dāng)實(shí)施于硬件中時(shí),通常使用寄存器來存儲(chǔ)所述循環(huán)的開始及結(jié)束指令或包的存 儲(chǔ)器地址并存儲(chǔ)循環(huán)計(jì)數(shù)。然后使用所述寄存器來確定何時(shí)巳到達(dá)循環(huán)結(jié)束、記錄循 環(huán)計(jì)數(shù)并返回到循環(huán)開始處,直到己執(zhí)行了所期望數(shù)目的循環(huán)/重復(fù)。
在VLIW架構(gòu)下,硬件循環(huán)包括一組一個(gè)或一個(gè)以上的包,所述包重復(fù)特定的 次數(shù)。常規(guī)上,在VLIW架構(gòu)下,在包的單獨(dú)標(biāo)頭部分中含有規(guī)定硬件循環(huán)的信息。 其它已知的方法包含使包中包含可規(guī)定硬件循環(huán)信息的單獨(dú)的專用指令。然而,標(biāo)頭 數(shù)據(jù)或單獨(dú)的循環(huán)指令可增加所述包的數(shù)據(jù)開銷及處理次數(shù)。因此,所屬技術(shù)領(lǐng)域中 需要一種用于需要較小的數(shù)據(jù)及處理開銷來對硬件循環(huán)信息進(jìn)行編碼的方法。

發(fā)明內(nèi)容
所揭示的某些方面提供一種用于對關(guān)于至少一個(gè)硬件循環(huán)的信息進(jìn)行編碼的方 法及設(shè)備,所述硬件循環(huán)包括將被執(zhí)行特定數(shù)目的迭代的一組包(其中包含開始及結(jié)束包),其中每一包均含有一個(gè)或一個(gè)以上指令且每一指令均包括一組位。在某些方 面中,將所述硬件循環(huán)信息編碼到所述組包中的至少一個(gè)經(jīng)指定指令的一個(gè)或一個(gè)以 上位(處于一個(gè)或一個(gè)以上預(yù)定的位位置處)中。所述至少一個(gè)經(jīng)指定指令包括最初 不用于規(guī)定硬件循環(huán)的指令(即,最初不關(guān)于硬件循環(huán)的指令)。
硬件循環(huán)具有界定所述循環(huán)邊界的開始包及結(jié)束包。在某些方面中,所述已編碼 硬件循環(huán)信息包括結(jié)束包信息,其中被編碼在特定包的經(jīng)指定指令中的信息指示所述 特定包是所述硬件循環(huán)的結(jié)束包,或者指示所述特定包不是所述硬件循環(huán)的結(jié)束包 (因此還指示繼續(xù)向下進(jìn)行并處理下一包)。在這些方面中,含有循環(huán)結(jié)束信息的經(jīng) 指定指令是不用于規(guī)定所述硬件循環(huán)的結(jié)束包的指令(即,不是結(jié)束循環(huán)指令)。
在某些方面中,所述硬件循環(huán)信息并不編碼在經(jīng)指定指令的開端處,而是編碼在 所述經(jīng)指定指令的位內(nèi),以使得所述經(jīng)指定指令的位處于所述已編碼硬件循環(huán)信息的 位之前及之后。例如,如果每一指令含有32個(gè)位,則所述硬件循環(huán)信息可被編碼在
經(jīng)指定指令的中間位(例如,第15個(gè)及第16個(gè)位)中,其中所述經(jīng)指定指令的剩余 位(例如,第1個(gè)到第14個(gè)位及第17個(gè)到第32個(gè)位)用于規(guī)定所述經(jīng)指定指令。
在某些方面中,所述組包是一組極長指令字(VLIW)包,且所述硬件循環(huán)信息 被編碼到所述組VLIW包中的每一VLIW包中的預(yù)定位置處的指令中。例如,所述硬 件循環(huán)信息可被編碼到每一 VLIW包的第一指令中。
在某些方面中,對關(guān)于兩個(gè)硬件循環(huán)的信息進(jìn)行編碼,其中將關(guān)于第一硬件循環(huán) 的信息編碼到每一包中的第一預(yù)定位置處的指令中,且將關(guān)于第二硬件循環(huán)的信息編 碼到每一包中的第二預(yù)定位置處的指令中。例如,可將關(guān)于第一硬件循環(huán)的信息編碼 到每一包的第一指令中,且將關(guān)于第二硬件循環(huán)的信息編碼到每一包的第二指令中。
在某些方面中,將結(jié)束指令信息編碼到包中不具有已編碼硬件循環(huán)信息的至少一 個(gè)指令中。在這些方面中,將所述結(jié)束指令信息編碼在為已編碼硬件循環(huán)信息保留的 相同預(yù)定位位置中進(jìn)行。所述已編碼結(jié)束指令信息指示指令是否是包的最后指令(且 因此還指示所述包的長度,即,所述包含有多少指令)。


圖1顯示產(chǎn)生已編碼VLIW包的編譯過程的概念圖2顯示極長指令字(VLIW)計(jì)算機(jī)架構(gòu)的概念圖3是經(jīng)指定以含有已編碼硬件循環(huán)信息的包的指令的概念圖4顯示具有兩個(gè)指令的例示性包的概念圖5顯示具有三個(gè)指令的例示性包的概念圖6顯示具有四個(gè)或四個(gè)以上指令的例示性包的概念圖7顯示具有最多的四個(gè)指令的包的己編碼結(jié)束循環(huán)及指令信息的值的所有變 分的例示性表;圖8是一種用于將硬件循環(huán)信息編碼到硬件循環(huán)中的包的一個(gè)或一個(gè)以上指令 中的方法的流程圖;且
圖9顯示某些實(shí)施例中用于數(shù)字信號處理器的極長指令字(VLIW)計(jì)算機(jī)架構(gòu) 的概念圖。
具體實(shí)施例方式
本文中使用的詞"例示性"是指"充當(dāng)實(shí)例、示例或例證"。本文所描述的任何 "例示性"實(shí)施例未必解釋為比其它實(shí)施例更優(yōu)選或更有利。
圖1顯示產(chǎn)生已編碼VLIW包的編譯過程的概念圖。如圖1所示,編程代碼105 首先生成(例如,由編程器生成)以規(guī)定多個(gè)指令。每一指令規(guī)定特定的計(jì)算或操作 (例如,移位、相乘、加載、存儲(chǔ)等)。在某些實(shí)施例中,所述多個(gè)指令包含規(guī)定將 被執(zhí)行特定次數(shù)(即,被執(zhí)行特定數(shù)目的迭代)的一組指令的硬件循環(huán)指令,所述組 指令包括硬件循環(huán)。
然后將編程代碼中的指令分組為若干含有一個(gè)或一個(gè)以上指令的包(例如,由編 程器或VLIW編譯器分組)以產(chǎn)生指令110的包。所述指令被分組以使同一包的指令 不具有依賴性(且因此可并行執(zhí)行)。 一個(gè)包中的最大指令數(shù)目通常由裝置中可供用 于處理指令的執(zhí)行單元或ALU的數(shù)目來確定。硬件循環(huán)的所述組指令也被分組為若 干包以產(chǎn)生將被執(zhí)行特定次數(shù)的包括一組一個(gè)或一個(gè)以上包(其中包含開始包及結(jié)束 包)的硬件循環(huán)。硬件循環(huán)的結(jié)束包通常由指示符(例如匯編語法中的"結(jié)束循環(huán)") 來標(biāo)記。
然后由VLIW編譯器將指令包(源代碼)編譯成二進(jìn)制代碼(目標(biāo)代碼)的已 編碼指令包115。每一指令均包括預(yù)定數(shù)目的位,例如,每一指令可具有32位的字 寬度。當(dāng)對包中的一個(gè)或一個(gè)以上指令進(jìn)行編碼時(shí),連續(xù)地對所述指令進(jìn)行編碼以基 本產(chǎn)生單個(gè)較大的已編碼指令(即,已編碼VLIW包)。所述包中的每一指令均具有 相對于所述包中的其它指令的特定排序或位置(第一、第二、第三等),且根據(jù)其排 序或位置存儲(chǔ)到存儲(chǔ)器(如下文結(jié)合圖2所論述)。例如,包的第一指令通常存儲(chǔ)在 與所述包的第二指令相比更低的存儲(chǔ)器地址中,所述第二指令具有與所述包的第三指 令相比更低的存儲(chǔ)器地址。
當(dāng)所述VLIW編譯器接收包的硬件循環(huán)時(shí),所述VLIW編譯器還必須對關(guān)于所 述硬件循環(huán)的信息進(jìn)行編碼。例如,VLIW編譯器可接收標(biāo)記為硬件循環(huán)的結(jié)束包(例 如,由匯編語法中的"結(jié)束循環(huán)"標(biāo)記)的包。在現(xiàn)有技術(shù)中,將識(shí)別所述結(jié)束包的 信息編碼在結(jié)束包的單獨(dú)標(biāo)頭部分中。其它己知的方法包含使包中具有指示所述包為 結(jié)束包的單獨(dú)的已編碼指令。然而,標(biāo)頭數(shù)據(jù)及單獨(dú)的包結(jié)束指令可增加所述包的數(shù) 據(jù)開銷及處理時(shí)間。
在某些實(shí)施例中,將包的硬件循環(huán)的結(jié)束包信息編碼到所述硬件循環(huán)中的一個(gè)或
9一個(gè)以上包的一個(gè)或一個(gè)以上指令中。在某些實(shí)施例中,將指示循環(huán)的結(jié)束包的信息 編碼到所述結(jié)束包的指令中。同樣,不再需要含有結(jié)束包信息的單獨(dú)標(biāo)頭。另外,將 所述結(jié)束包信息編碼到一指令中,所述指令不是結(jié)束循環(huán)指令,而是規(guī)定不同類型的 指令(例如,移位、相乘、加載等)的指令。同樣,也不需要單獨(dú)的結(jié)束循環(huán)指令來 指示結(jié)束包。
圖2顯示極長指令字(VLIW)計(jì)算機(jī)架構(gòu)200的概念圖。VLIW架構(gòu)200包含 存儲(chǔ)器210、處理單元230及將存儲(chǔ)器210耦合到處理單元230的一個(gè)或一個(gè)以上總 線220。
存儲(chǔ)器210存儲(chǔ)數(shù)據(jù)及指令(以VLIW編譯器產(chǎn)生的VLIW包的形式,其中每 一VLIW包均包括一個(gè)或一個(gè)以上指令)。包的每一指令均具有存儲(chǔ)器210中的特定 地址,其中包中的第一指令通常具有與所述包的最后指令相比更低的存儲(chǔ)器地址。存 儲(chǔ)器的尋址方案在所屬技術(shù)領(lǐng)域中是眾所周知的,且此處不再詳細(xì)論述。存儲(chǔ)器210 中的指令經(jīng)由總線220加載到處理單元230。每一指令通常均為預(yù)定寬度。
處理單元230包括定序器235、用于多個(gè)執(zhí)行單元245的管線240、通用寄存 器堆250 (其中包括多個(gè)通用寄存器)及控制寄存器堆260。處理單元210可包括中 央處理單元、微處理器、數(shù)字信號處理器等等。
如上所述,每一 VLIW包均包括一個(gè)或一個(gè)以上指令, 一個(gè)包中指令的最大數(shù) 目通常由處理單元230中可供用于處理指令的執(zhí)行管線(例如,ALU)的數(shù)目確定。 通常,每一指令均含有關(guān)于需用于處理指令的執(zhí)行單元的類型的信息,其中每一執(zhí)行 單元均僅可處理一種特定類型的指令(例如,移位、加載等)。因此,僅有特定數(shù)目 的可供用于處理特定類型的指令的執(zhí)行單元。同樣,基于包中指令的類型及可用執(zhí)行 單元的類型在所述包中將指令分組以便可并行執(zhí)行所述指令。例如,如果僅有一個(gè)可 處理移位型指令的可用執(zhí)行單元且僅有兩個(gè)可處理加載型指令的可用執(zhí)行單元,則不 會(huì)將兩個(gè)移位型指令分組到同一包中,也不會(huì)將三個(gè)加載型指令分組到同一包中。
定序器235從存儲(chǔ)器210接收指令包并為每一所接收包的每一指令確定適當(dāng)?shù)墓?線240/執(zhí)行單元245 (使用所述指令中含有的信息)。在為包中的每一指令做出此確 定后,定序器235將指令輸入到適當(dāng)?shù)墓芫€240中以由適當(dāng)?shù)膱?zhí)行單元245來進(jìn)行處 理。
接收指令的每一執(zhí)行單元245均使用通用寄存器堆250來執(zhí)行指令。如所屬技術(shù) 領(lǐng)域中已眾所周知,通用寄存器堆250包括從存儲(chǔ)器210加載需用于執(zhí)行指令的數(shù)據(jù) 的寄存器陣列。在由執(zhí)行單元245執(zhí)行包的指令之后,將所得數(shù)據(jù)存儲(chǔ)到通用寄存器 堆250且然后將其加載并存儲(chǔ)到存儲(chǔ)器210。經(jīng)由總線220將數(shù)據(jù)加載到存儲(chǔ)器210 及從存儲(chǔ)器210加載數(shù)據(jù)。通常由多個(gè)執(zhí)行單元245在一個(gè)時(shí)鐘循環(huán)中并行執(zhí)行包中 的指令。
為執(zhí)行指令,執(zhí)行單元245還可使用控制寄存器堆260??刂萍拇嫫?60通常包 括一組特殊寄存器,例如,變址寄存器、狀態(tài)寄存器及判定寄存器??刂萍拇嫫?60還可用于存儲(chǔ)關(guān)于硬件循環(huán)的信息,例如,循環(huán)計(jì)數(shù)(迭代計(jì)數(shù))及開始循環(huán)(開始 包)地址。如某些實(shí)施例中所描述,控制寄存器260中所存儲(chǔ)的硬件循環(huán)信息可與已 編碼結(jié)束循環(huán)(結(jié)束包)信息聯(lián)合使用以執(zhí)行特定數(shù)目的迭代的硬件循環(huán)。特定來說, 當(dāng)達(dá)到結(jié)束包(由所述包的指令中的己編碼結(jié)束循環(huán)信息指示)時(shí),循環(huán)計(jì)數(shù)減少且 在循環(huán)計(jì)數(shù)為正的情況下循環(huán)返回到開始包。
圖3是包中經(jīng)指定以含有已編碼硬件循環(huán)信息的指令300的概念圖。在某些實(shí)施 例中,含有經(jīng)編碼硬件循環(huán)信息的經(jīng)指定指令300不是最初含有硬件循環(huán)信息或用于 規(guī)定硬件循環(huán)的指令(即,是諸如移位或加載指令的非硬件循環(huán)指令)。指令300包 括包含第一位(0)、最后位(N)的多個(gè)位及編碼在所述指令的第一位與最后位之間 的一個(gè)或一個(gè)以上預(yù)定位位置處的一個(gè)或一個(gè)以上位305中的結(jié)束循環(huán)信息。應(yīng)注 意,規(guī)定經(jīng)指定指令的剩余位310定位于已編碼硬件循環(huán)信息的位的任一側(cè)(即,之 前及之后)。例如,如果經(jīng)指定指令為移位指令,則規(guī)定所述移位指令的位定位于已 編碼硬件循環(huán)信息的位之前及之后。
在某些實(shí)施例中,結(jié)束包信息被編碼到經(jīng)指定指令300中,經(jīng)指定指令300是最 初不含有結(jié)束包信息或用于規(guī)定硬件循環(huán)的結(jié)束包的指令。在某些實(shí)施例中,編碼在 特定包的經(jīng)指定指令300中的結(jié)束包信息指示(使用第一二進(jìn)制代碼)所述特定包是 硬件循環(huán)的結(jié)束包或指示(使用第二二進(jìn)制代碼)所述特定包不是硬件循環(huán)的結(jié)束包 (因此還指示繼續(xù)向下進(jìn)行并處理下一包)。例如,預(yù)定的位位置處的2位二進(jìn)制代 碼"10"可指示所述包是結(jié)束包,且預(yù)定位位置處的2位二進(jìn)制代碼"01"可指示所 述包不是硬件循環(huán)的結(jié)束包。
如上文所論述,包中的每一指令均具有相對于所述包的其它指令的特定排序或位 置(第一、第二、第三等)。在某些實(shí)施例中,將結(jié)束循環(huán)信息編碼到硬件循環(huán)的每 一包中的相同預(yù)定位置(相對于同一包中的其它指令的位置)處的指令(稱作經(jīng)指定 指令)中。例如,可將結(jié)束循環(huán)信息編碼到硬件循環(huán)中的每一包的第一指令中。
在某些實(shí)施例中,規(guī)定關(guān)于兩個(gè)硬件循環(huán)的信息,第一硬件循環(huán)包括將被執(zhí)行特 定數(shù)目的迭代的第一組包,且第二硬件循環(huán)包括將被執(zhí)行特定數(shù)目的迭代的第二組 包。例如,所述第一硬件循環(huán)可以是內(nèi)部循環(huán)且所述第二硬件循環(huán)可以是含有所述內(nèi) 部循環(huán)的外部循環(huán)。所述第一及第二硬件循環(huán)還可以是單獨(dú)的獨(dú)立循環(huán)。在這些實(shí)施 例中,將關(guān)于第一硬件循環(huán)的信息編碼到所述第一組包中的每一包中的相同第一預(yù)定 位置處的指令中,且將關(guān)于第二硬件循環(huán)的信息編碼到所述第二組包中的每一包中的 相同第二預(yù)定位置處的指令中。例如,可將第一硬件循環(huán)的結(jié)束循環(huán)信息編碼到第一 硬件循環(huán)中的每一包的第一指令(經(jīng)指定指令)中,且可將第二硬件循環(huán)的結(jié)束循環(huán) 信息編碼到第二硬件循環(huán)中的每一包的第二指令(經(jīng)指定指令)中。
在某些實(shí)施例中,含有第一硬件循環(huán)的結(jié)束循環(huán)信息的包含有兩個(gè)或兩個(gè)以上指 令。如果這一包中僅有一個(gè)指令,則添加NOP指令以達(dá)到至少兩個(gè)指令。在這些實(shí) 施例中,所述包的最后指令含有一個(gè)或一個(gè)以上預(yù)定位位置處的一個(gè)或一個(gè)以上位中指示所述指令是所述包的最后指令(且因此還指示所述包的長度,即,所述包含有多 少指令)的己編碼信息(結(jié)束指令信息)。在某些實(shí)施例中,將結(jié)束指令信息編碼到 不具有已編碼硬件循環(huán)信息的指令中,且將其編碼在為已編碼硬件循環(huán)信息保留的相 同預(yù)定位位置中。
圖4顯示具有第一指令(指令A(yù))及第二指令(指令B)的例示性包400的概念 圖。在圖4的實(shí)例中,每一指令包括32個(gè)位,其中結(jié)束循環(huán)或結(jié)束包信息被編碼到 所述指令的第15個(gè)及第16個(gè)位405及406 (位編號14與15)中。每一指令的剩余 位410 (即,第1個(gè)到第14個(gè)位及第17個(gè)到第32個(gè)位)均用于規(guī)定實(shí)際指令(例 如,相乘運(yùn)算、加載運(yùn)算等)。在其它實(shí)施例中,指令可具有其它位寬度且/或己編 碼信息可含納于所述指令的其它位中。在圖4的實(shí)例中,將關(guān)于第一硬件循環(huán)的結(jié)束 循環(huán)信息編碼到第一指令中(例如,其中二進(jìn)制代碼"10"指示包400為結(jié)束包)且 將結(jié)束指令信息編碼到最后指令(例如,其中二進(jìn)制代碼"11"指示指令B為包400 的最后指令)。
在某些實(shí)施例中,含有第二硬件循環(huán)的結(jié)束循環(huán)信息(在經(jīng)指定指令中)的包含 有三個(gè)或三個(gè)以上指令。如果這一包中僅有一個(gè)或兩個(gè)指令,則添加NOP指令以達(dá) 到至少三個(gè)指令。在這些實(shí)施例中,所述包的最后指令含有一個(gè)或一個(gè)以上預(yù)定位位 置處的一個(gè)或一個(gè)以上位中指示所述指令是所述包的最后指令(且因此還指示所述包 的長度,即,所述包含有多少指令)的已編碼信息(結(jié)束指令信息)。在某些實(shí)施例 中,將結(jié)束指令信息編碼到不具有已編碼硬件循環(huán)信息的指令中,且將其編碼在為己 編碼硬件循環(huán)信息保留的相同預(yù)定位位置中。
圖5顯示具有第一指令(指令A(yù))、第二指令(指令B)及第三指令(指令C) 的例示性包500的概念圖。在圖5的實(shí)例中,每一指令均包括32個(gè)位,其中結(jié)束循 環(huán)或結(jié)束包信息被編碼到所述指令的第15個(gè)及第16個(gè)位505及506中。每一指令的 剩余位510均用于規(guī)定實(shí)際指令。在圖5的實(shí)例中,將關(guān)于第一硬件循環(huán)的結(jié)束循環(huán) 信息編碼到第一指令中,將關(guān)于第二硬件循環(huán)的結(jié)束循環(huán)信息編碼到第二指令中(例 如,其中二進(jìn)制代碼"10"指示包500是第二硬件循環(huán)的結(jié)束包),且將結(jié)束指令信 息編碼到最后指令中。
對于含有四個(gè)或四個(gè)以上指令的包來說,包中不經(jīng)指定以含有己編碼結(jié)束循環(huán)或 結(jié)束包信息的指令可含有(在為已編碼結(jié)束循環(huán)及結(jié)束指令信息保留的相同位位置 處)無意義的二進(jìn)制代碼,所述代碼可以是除用于指示包的最后指令的代碼之外的任 何代碼。圖6顯示具有四個(gè)或四個(gè)以上指令(指令A(yù)、 B、 C等)的例示性包600的 概念圖。在圖6的實(shí)例中,每一指令均包括32個(gè)位,其中結(jié)束循環(huán)或結(jié)束包信息被 編碼到所述指令的第15個(gè)及第16個(gè)位605及606中。每一指令的剩余位610均用于 規(guī)定實(shí)際指令。在圖6的實(shí)例中,將關(guān)于第一及第二硬件循環(huán)的結(jié)束循環(huán)指令編碼到 第一及第二指令(指令A(yù)與B)中且將結(jié)束指令信息編碼到最后指令中。所述剩余指 令(例如,指令C)通常可含有相同預(yù)定位位置(例如,第15個(gè)及第16個(gè)位)處的
12任何二進(jìn)制代碼(除用于指示包的最后指令的代碼之外),因?yàn)檫@些位位置處的代碼
在剩余指令中將不再是有意義的。應(yīng)注意,在圖4到6中所示的包400、 500及600 中,不包含標(biāo)頭。
在某些實(shí)施例中,為已編碼結(jié)束循環(huán)信息、結(jié)束包信息或無意義信息(零代碼) 保留一組包中的每一指令中的相同一個(gè)或一個(gè)以上預(yù)定位位置。在上文圖4到6中顯 示的實(shí)例中,為此類型的信息保留每一指令(32位指令的)的第15個(gè)及第16個(gè)位。 在其它實(shí)施例中,指令可具有其它位寬度且/或已編碼信息可含納于所述指令的其它 位位置中。每一指令的剩余位(即,未保留的位)均用于規(guī)定實(shí)際指令(例如,相乘 運(yùn)算、加載運(yùn)算等)。
圖7顯示具有最多四個(gè)指令的包的己編碼結(jié)束循環(huán)及結(jié)束指令信息的值的所有 變化的例示性表。對于圖7的實(shí)例表,應(yīng)注意以下幾點(diǎn)
-指令A(yù)是包中的第一指令(具有所述包中的最低存儲(chǔ)器地址),指令B是包中 的第二指令(具有所述包中的第二最低存儲(chǔ)器地址),指令C是包中的第三指令(具 有所述包中的第二最高存儲(chǔ)器地址),且指令D是包中的第四指令(具有所述包中的 最高存儲(chǔ)器地址);
-將結(jié)束循環(huán)信息、結(jié)束指令信息及無意義信息作為2位二進(jìn)制代碼編碼到每一 指令的相同所保留位位置"PP"中;
-將第一硬件循環(huán)的結(jié)束循環(huán)信息編碼到每一包的第一指令(指令A(yù))中,其中 二進(jìn)制代碼"10"指示所述包是結(jié)束包,且二進(jìn)制代碼"01"指示所述包不是第一硬 件循環(huán)的結(jié)束包;
-將第二硬件循環(huán)的結(jié)束循環(huán)信息編碼到每一包的第二指令(指令B)中,其中 二進(jìn)制代碼"10"指示所述包為結(jié)束包,且二進(jìn)制代碼"01"指示所述包不是第二硬 件循環(huán)的結(jié)束包;且
-將結(jié)束指令信息編碼到每一包的最后指令中,其中二進(jìn)制代碼"11"指示所述 指令是所述包的最后指令(且因此還指示所述包的長度,即,所述包含有多少指令)。
然而,在其它實(shí)施例中,包可具有多于最多的四個(gè)指令,可用不同數(shù)目的位來對 結(jié)束循環(huán)及結(jié)束指令信息進(jìn)行編碼,可將第一硬件循環(huán)的結(jié)束循環(huán)信息編碼到不同于 第一指令的指令中,可將第二硬件循環(huán)的結(jié)束循環(huán)信息編碼到不同于第二指令的指令 中,可使用不同的二進(jìn)制代碼來指示包是或不是結(jié)束包,或可使用不同的二進(jìn)制代碼 來指示包的最后指令。
圖8是用于將硬件循環(huán)信息編碼到一個(gè)或一個(gè)以上指令中的方法800的流程圖。 在某些實(shí)施例中,方法800中的某些步驟實(shí)施于硬件或軟件中,例如,由VLIW編譯 器來實(shí)施。方法800的步驟僅用于圖解說明的目的,且在其它實(shí)施例中,步驟的次序 或編號可不同或可互換。
方法800在規(guī)定多個(gè)指令的編程代碼形成(805處)時(shí)開始,所述指令包含規(guī)定 將被執(zhí)行特定次數(shù)(即,被執(zhí)行特定數(shù)目的迭代)的一組指令的硬件循環(huán)指令。所述組指令包括硬件循環(huán)。
然后將所述編程代碼中的指令分組(在810處)為若干含有一個(gè)或一個(gè)以上指令 的包。將所述指令分組以使相同包的指令不具有依賴性且可并行執(zhí)行。還將硬件循環(huán) 的所述組指令分組為若干包以產(chǎn)生包括將被執(zhí)行特定次數(shù)的一組包的硬件循環(huán),所述 硬件循環(huán)的結(jié)束包由指示符(例如匯編語法中的"結(jié)束循環(huán)")來標(biāo)記。
然后將所述指令包(源代碼)編譯成二進(jìn)制代碼形式的已編碼指令包(目標(biāo)代碼)
(在815處)。當(dāng)對硬件循環(huán)的結(jié)束包信息進(jìn)行編碼時(shí),方法800將所述結(jié)束包信息 編碼到硬件循環(huán)中的一個(gè)或一個(gè)以上包的一個(gè)或一個(gè)以上指令中。在某些實(shí)施例中, 將關(guān)于第一循環(huán)的結(jié)束循環(huán)信息編碼到所述包中的第一預(yù)定位置處的指令中,且將關(guān) 于第二循環(huán)的結(jié)束循環(huán)信息編碼到所述包中的第二預(yù)定位置處的指令中。還將結(jié)束指
令信息編碼到包中不具有已編碼硬件循環(huán)信息的至少一個(gè)指令中,將所述結(jié)束指令信 息編碼在為已編碼硬件循環(huán)信息保留的相同預(yù)定位位置處。然后方法800結(jié)束。
圖9顯示某些實(shí)施例中用于數(shù)字信號處理器(DSP)的極長指令字(VLIW)計(jì) 算機(jī)架構(gòu)900的概念圖。VLIW架構(gòu)900包含存儲(chǔ)器910及DSP930,其中指令加載 總線920、數(shù)據(jù)加載總線922及數(shù)據(jù)加載/存儲(chǔ)總線924將存儲(chǔ)器910耦合到DSP 930。
存儲(chǔ)器910存儲(chǔ)數(shù)據(jù)及指令(以具有一個(gè)到四個(gè)指令的VLIW包的形式)。存 儲(chǔ)器910中的指令經(jīng)由指令加載總線920加載到DSP930。在某些實(shí)施例中,每一指 令均具有經(jīng)由具有4個(gè)字寬度的128位指令加載總線920加載到DSP 930的32位字 寬度。在某些實(shí)施例中,存儲(chǔ)器910是統(tǒng)一的字節(jié)可尋址存儲(chǔ)器,具有可存儲(chǔ)指令及 數(shù)據(jù)兩者的32位地址空間,且以小端模式來操作。
DSP 930包括定序器935、用于四個(gè)邏輯執(zhí)行單元945的四個(gè)管線940、通用 寄存器堆950 (其中包括多個(gè)通用寄存器)及控制寄存器堆960。通常,當(dāng)存在四個(gè) 可用管線940時(shí),從編程器的角度來說,存在四個(gè)可供用于處理指令的"狹槽"。然 而,從硬件的角度來說,還存在供用于處理分支類型指令的額外執(zhí)行單元,其中所述 額外執(zhí)行單元可從所述"狹槽"的一個(gè)子集中產(chǎn)生。定序器935從存儲(chǔ)器910接收指 令包并為每一所接收包的每一指令確定適當(dāng)?shù)墓芫€940/執(zhí)行單元945 (使用所述指令 中含有的信息)。在為包的每一指令做出此確定后,定序器935將所述指令輸入到適 當(dāng)?shù)墓芫€940中以由適當(dāng)?shù)膱?zhí)行單元945進(jìn)行處理。
執(zhí)行單元945包括向量移位單元、向量MAC單元(用于相乘指令)、加載單元 及加載/存儲(chǔ)單元。所述向量移位單元執(zhí)行移位指令,例如S型(移位及位處理)、 A64型(復(fù)雜算術(shù))、A32型(簡單算術(shù))、J型(流變化或跳躍/分支)及CR型(涉 及控制寄存器)指令。所述向量MAC單元執(zhí)行相乘指令,例如M型(相乘)、A64 型、A32型、J型及JR型(涉及寄存器的流變化指令)指令。所述加載單元將來自存 儲(chǔ)器910的數(shù)據(jù)加載并讀取到通用寄存器堆950并執(zhí)行加載型及A32型指令。所述加 載/存儲(chǔ)單元將來自通用寄存器堆950的數(shù)據(jù)讀取并存儲(chǔ)回到所述存儲(chǔ)器并執(zhí)行加載 型、存儲(chǔ)型及A32型指令。另外,每一執(zhí)行單元945通常均可執(zhí)行許多常見的算術(shù)及邏輯運(yùn)算。
接收指令的每一執(zhí)行單元945均使用由四個(gè)執(zhí)行單元945共享的通用寄存器堆 950來執(zhí)行所述指令。在某些實(shí)施例中,通用寄存器堆950包括可作為單個(gè)寄存器或 作為經(jīng)對準(zhǔn)的64位的寄存器對來存取(使得指令可對32位或64位的值進(jìn)行操作) 的32個(gè)32位寄存器。指令所需要的數(shù)據(jù)經(jīng)由64位的數(shù)據(jù)加載總線922加載到通用 寄存器堆950。在由執(zhí)行單元945執(zhí)行包的指令之后,將所得數(shù)據(jù)存儲(chǔ)到通用寄存器 堆950且然后經(jīng)由64位數(shù)據(jù)加載/存儲(chǔ)總線924將其加載并存儲(chǔ)到存儲(chǔ)器910。通常 包的一個(gè)到四個(gè)指令由四個(gè)執(zhí)行單元945在一個(gè)時(shí)鐘循環(huán)中并行執(zhí)行(其中在每一時(shí) 鐘循環(huán)中管線940接收并處理最多一個(gè)指令)。
為執(zhí)行指令,執(zhí)行單元945還可使用控制寄存器堆960??刂萍拇嫫鞫?60包括 一組特殊寄存器,例如,變址寄存器、狀態(tài)寄存器及判定寄存器。控制寄存器960還 可用于存儲(chǔ)關(guān)于硬件循環(huán)的信息,例如,循環(huán)計(jì)數(shù)(迭代計(jì)數(shù))及開始循環(huán)(開始包) 地址。如某些實(shí)施例中所描述,控制寄存器960中所存儲(chǔ)的硬件循環(huán)信息可與已編碼 結(jié)束循環(huán)(結(jié)束包)信息結(jié)合使用以執(zhí)行特定數(shù)目的迭代的硬件循環(huán)。
所屬技術(shù)領(lǐng)域的技術(shù)人員應(yīng)了解,可使用各種不同技法及技術(shù)中的任一者來表示 信息及信號。例如,上文通篇可能提及的數(shù)據(jù)、指令、命令、信息、信號、位、符號 及碼片可由電壓、電流、電磁波、磁場或磁粒子、光場或光粒子或其任何組合表示。
所屬技術(shù)領(lǐng)域的技術(shù)人員應(yīng)進(jìn)一步了解,結(jié)合本文所揭示實(shí)施例而描述的各種說 明性邏輯塊、模塊、電路及算法步驟均可實(shí)施為電子硬件、計(jì)算機(jī)軟件或二者的組合。 為清除地圖解說明硬件及軟件的此可互換性,上文就其功能大體描述了各種說明性組 件、塊、模塊、電路及步驟。此功能實(shí)施為硬件還是軟件取決于施加在整體系統(tǒng)上的 特定應(yīng)用及設(shè)計(jì)約束條件。所屬技術(shù)領(lǐng)域的技術(shù)人員可針對每一特定應(yīng)用以不同方式
實(shí)施上文描述的功能,但是,此類實(shí)施方案決定不應(yīng)被解釋為背離本發(fā)明的范圍。 與本文所揭示實(shí)施例結(jié)合描述的各種說明性邏輯塊、模塊及電路均可由下列裝置
實(shí)施或執(zhí)行通用處理器、數(shù)字信號處理器(DSP)、專用集成電路(ASIC)、現(xiàn)場 可編程門陣列(FPGA)或其它可編程邏輯裝置、離散門或晶體管邏輯、離散硬件組 件或其經(jīng)設(shè)計(jì)以執(zhí)行上文描述的功能的任何組合。通用處理器可以是微處理器,但另 一選擇為,所述處理器可以是任何常規(guī)的處理器、控制器、微控制器或狀態(tài)機(jī)。處理 器還可實(shí)施為計(jì)算裝置的組合,例如,DSP與微處理器的組合、多個(gè)微處理器的組合、 一個(gè)或一個(gè)以上微處理器與DSP核心的聯(lián)合,或任何其它此類配置。
結(jié)合本文所揭示實(shí)施例描述的方法或算法的步驟可直接實(shí)施于硬件中、實(shí)施于由 處理器執(zhí)行的軟件模塊中或?qū)嵤┯诙叩慕M合中。軟件模塊可駐留在RAM存儲(chǔ)器、 閃存存儲(chǔ)器、ROM存儲(chǔ)器、EPROM存儲(chǔ)器、EEPROM存儲(chǔ)器、寄存器、硬磁盤、 可裝卸磁盤、CD-ROM或所屬技術(shù)領(lǐng)域中已知的任何其它形式的存儲(chǔ)媒體中。例示 性存儲(chǔ)媒體耦合到所述處理器,以使所述處理器可從所述存儲(chǔ)媒體讀取信息及向所述 存儲(chǔ)媒體寫入信息?;蛘?,存儲(chǔ)媒體可以是處理器的一部分。處理器及存儲(chǔ)媒體可駐留在ASIC中。ASIC可駐留在用戶終端中?;蛘?,處理器及存儲(chǔ)媒體可作為離散組
件駐留在用戶終端中。
提供上文對所揭示實(shí)施例的說明旨在使所屬技術(shù)領(lǐng)域的技術(shù)人員能夠制作或使 用本發(fā)明。所屬技術(shù)領(lǐng)域的技術(shù)人員將易于得知這些實(shí)施例的各種修改方式,且本文 所界定的一般原理還可適用于其它實(shí)施例,此并不背離本發(fā)明的精神或范圍。因此, 本發(fā)明不打算限于本文所示實(shí)施例,而應(yīng)符合與本文所揭示原理及新穎特征相一致的 最大范圍。
權(quán)利要求
1、一種計(jì)算機(jī)程序產(chǎn)品,其具有上面存儲(chǔ)有指令的計(jì)算機(jī)可讀媒體,所述指令在被執(zhí)行時(shí)對關(guān)于至少一個(gè)硬件循環(huán)的信息進(jìn)行編碼,所述至少一個(gè)硬件循環(huán)包括將被執(zhí)行特定數(shù)目的迭代的一組包,每一包包括一個(gè)或一個(gè)以上指令,每一指令包括一組位,所述計(jì)算機(jī)程序產(chǎn)品包括用于以下操作的若干組指令將硬件循環(huán)信息編碼到所述組包中的至少一個(gè)經(jīng)指定指令的一個(gè)或一個(gè)以上所保留位位置處的一個(gè)或一個(gè)以上位中,其中所述至少一個(gè)經(jīng)指定指令包括不用于規(guī)定硬件循環(huán)的指令。
2、 如權(quán)利要求l所述的計(jì)算機(jī)程序產(chǎn)品,其中 所述已編碼硬件循環(huán)信息包括硬件循環(huán)結(jié)束包信息;且所述至少一個(gè)經(jīng)指定指令包括不用于規(guī)定所述硬件循環(huán)的結(jié)束包的指令。
3、 如權(quán)利要求2所述的計(jì)算機(jī)程序產(chǎn)品,其中編碼在特定包的經(jīng)指定指令中的所述循環(huán)結(jié)束信息指示所述特定包是所述硬件 循環(huán)的結(jié)束包或指示所述特定包不是所述硬件循環(huán)的結(jié)束包。
4、 如權(quán)利要求l所述的計(jì)算機(jī)程序產(chǎn)品,其中所述硬件循環(huán)信息被編碼在所述 經(jīng)指定指令的所述位內(nèi),使得規(guī)定所述經(jīng)指定指令的位處于所述已編碼硬件循環(huán)信息 的所述位之前及之后。
5、 如權(quán)利要求4所述的計(jì)算機(jī)程序產(chǎn)品,其中 每一指令包括32個(gè)位;所述硬件循環(huán)信息被編碼在所述經(jīng)指定指令的第15個(gè)及第16個(gè)位中;且所述經(jīng)指定指令的第1個(gè)到第14個(gè)位及第17個(gè)到第32個(gè)位規(guī)定所述經(jīng)指定指令。
6、 如權(quán)利要求l所述的計(jì)算機(jī)程序產(chǎn)品,其中 所述組包是一組極長指令字(VLIW)包;且所述硬件循環(huán)信息被編碼到所述組VLIW包的每一 VLIW包中的相同預(yù)定位置 處的指令中。
7、 如權(quán)利要求1所述的計(jì)算機(jī)程序產(chǎn)品,其中所述至少一個(gè)硬件循環(huán)包括包括將被執(zhí)行特定數(shù)目的迭代的第一組包的第一循環(huán)及包括將被執(zhí)行特定數(shù)目的迭代的第二組包的第二循環(huán);關(guān)于所述第一循環(huán)的硬件循環(huán)信息被編碼到所述組包中的每一包中的第一預(yù)定 位置處的指令中;且關(guān)于所述第二循環(huán)的硬件循環(huán)信息被編碼到所述第二組包中的每 一包中的第二預(yù)定位置處的指令中。
8、 如權(quán)利要求l所述的計(jì)算機(jī)程序產(chǎn)品,其進(jìn)一步包括用于以下操作的一組指令將結(jié)束指令信息編碼到所述組包中不具有已編碼硬件循環(huán)信息的至少一個(gè)指令 中,所述結(jié)束指令信息被編碼在為所述己編碼硬件循環(huán)信息保留的相同位位置中,其 中所述已編碼結(jié)束指令信息指示指令是否是包的最后指令且指示包的長度。
9、 一種用于對關(guān)于至少一個(gè)硬件循環(huán)的信息進(jìn)行編碼的方法,所述至少一個(gè)硬件循環(huán)包括將被執(zhí)行特定數(shù)目的迭代的一組包,每一包均包括一個(gè)或一個(gè)以上指令,每一指令均包括一組位,所述方法包括將硬件循環(huán)信息編碼到所述組包中的至少一個(gè)經(jīng)指定指令的一個(gè)或一個(gè)以上所 保留位位置處的一個(gè)或一個(gè)以上位中,其中所述至少一個(gè)經(jīng)指定指令包括不用于規(guī)定 硬件循環(huán)的指令。
10、 如權(quán)利要求9所述的方法,其中所述己編碼硬件循環(huán)信息包括硬件循環(huán)結(jié)束包信息;且所述至少一個(gè)經(jīng)指定指令包括不用于規(guī)定所述硬件循環(huán)的結(jié)束包的指令。
11、 如權(quán)利要求IO所述的方法,其中編碼在特定包的經(jīng)指定指令中的所述循環(huán)結(jié)朿信息指示所述特定包是所述硬件 循環(huán)的結(jié)束包或指示所述特定包不是所述硬件循環(huán)的結(jié)束包。
12、 如權(quán)利要求9所述的方法,其中在所述經(jīng)指定指令的所述位內(nèi)對所述硬件循 環(huán)信息進(jìn)行編碼,使得規(guī)定所述經(jīng)指定指令的位處于所述己編碼硬件循環(huán)信息的所述 位之前及之后。
13、 如權(quán)利要求12所述的方法,其中 每一指令包括32個(gè)位;將所述硬件循環(huán)信息編碼在所述經(jīng)指定指令的第15個(gè)及第16個(gè)位中;且所述經(jīng)指定指令的第1個(gè)到第14個(gè)位及第17個(gè)到第32個(gè)位規(guī)定所述經(jīng)指定指令。
14、 如權(quán)利要求9所述的方法,其中所述組包是一組極長指令字(VLIW)包;且將所述硬件循環(huán)指令編碼到所述組VLIW包中的每一 VLIW包中的相同預(yù)定位 置處的指令中。
15、 如權(quán)利要求9所述的方法,其中所述至少一個(gè)硬件循環(huán)包括包括將被執(zhí)行特定數(shù)目的迭代的第一組包的第一循環(huán)及包括將被執(zhí)行特定數(shù)目的迭代的第二組包的第二循環(huán);將關(guān)于所述第一循環(huán)的硬件循環(huán)信息編碼到所述第一組包中的每一包中的第一 預(yù)定位置處的指令中;且將關(guān)于所述第二循環(huán)的硬件循環(huán)信息編碼到所述第二組包中的每一包中的第二 預(yù)定位置處的指令中。
16、 如權(quán)利要求9所述的方法,其進(jìn)一步包括將結(jié)束指令信息編碼到所述組包中不具有己編碼硬件循環(huán)信息的至少一個(gè)指令 中,在為所述已編碼硬件循環(huán)信息保留的所述相同位位置中對所述結(jié)束指令信息進(jìn)行 編碼,其中所述已編碼結(jié)束指令信息指示指令是否是包的最后指令且指示包的長度。
17、 一種用于處理指令的設(shè)備,所述設(shè)備包括用于存儲(chǔ)包括一個(gè)或一個(gè)以上指令的包的存儲(chǔ)器,每一指令包括一組位,規(guī)定至 少一個(gè)硬件循環(huán)的所述指令包括將被執(zhí)行特定數(shù)目的迭代的一組包,其中硬件循環(huán)信 息被編碼到所述組包中的至少一個(gè)經(jīng)指定指令的一個(gè)或一個(gè)以上所保留位位置處的 一個(gè)或一個(gè)以上位中,其中所述至少一個(gè)經(jīng)指定指令包括不用于規(guī)定硬件循環(huán)的指令;及處理單元,其耦合到所述存儲(chǔ)器以接收及執(zhí)行所述指令包,其中可并行處理包中 的所述指令。
18、 如權(quán)利要求17所述的設(shè)備,其中 所述己編碼硬件循環(huán)信息包括硬件循環(huán)結(jié)束包信息;且 所述至少一個(gè)經(jīng)指定指令包括不用于規(guī)定所述硬件循環(huán)的結(jié)束包的指令。
19、 如權(quán)利要求18所述的設(shè)備,其中編碼在特定包的經(jīng)指定指令中的所述循環(huán)結(jié)束信息指示所述特定包是所述硬件 循環(huán)的結(jié)束包或指示所述特定包不是所述硬件循環(huán)的結(jié)束包。
20、 如權(quán)利要求17所述的設(shè)備,其中所述硬件循環(huán)信息被編碼在所述經(jīng)指定指令的所述位內(nèi),使得規(guī)定所述經(jīng)指定指令的位處于所述已編碼硬件循環(huán)信息的所述位 之前及之后o
21、 如權(quán)利要求20所述的設(shè)備,其中 每一指令包括32個(gè)位;所述硬件循環(huán)信息被編碼在所述經(jīng)指定指令的第15個(gè)及第16個(gè)位中;且所述經(jīng)指定指令的第1個(gè)到第14個(gè)位及第17個(gè)到第32個(gè)位規(guī)定所述經(jīng)指定指令。
22、 如權(quán)利要求17所述的設(shè)備所述組包是一組極長指令字(VLIW)包;且所述硬件循環(huán)信息被編碼到所述組VLIW包中的每一 VLIW包中的相同預(yù)定位 置處的指令中。
23、 如權(quán)利要求17所述的設(shè)備所述至少一個(gè)硬件循環(huán)包括包括將被執(zhí)行特定數(shù)目的迭代的第一組包的第一循 環(huán)及包括將被執(zhí)行特定數(shù)目的迭代的第二組包的第二循環(huán);關(guān)于所述第一循環(huán)的硬件循環(huán)信息被編碼到所述第一組包中的每一包中的第一 預(yù)定位置處的指令中;且關(guān)于所述第二循環(huán)的硬件循環(huán)信息被編碼到所述第二組包中的每一包中的第二 預(yù)定位置處的指令中。
24、 如權(quán)利要求17所述的設(shè)備,其中結(jié)束指令信息被編碼到所述組包中不具有己編碼硬件循環(huán)信息的至少一個(gè)指令中,所述結(jié)束指令信息被編碼在為所述已編碼硬 件循環(huán)信息保留的相同位位置中,其中所述己編碼結(jié)束指令信息指示指令是否是包的 最后指令且指示包的長度。
25、 一種經(jīng)配置以對關(guān)于至少一個(gè)硬件循環(huán)的信息進(jìn)行編碼的設(shè)備,所述至少一 個(gè)硬件循環(huán)包括將被執(zhí)行特定數(shù)目的迭代的一組包,每一包均包括一個(gè)或一個(gè)以上指令,每一指令均包括一組位,所述設(shè)備包括用于將硬件循環(huán)信息編碼到所述組包中的至少一個(gè)經(jīng)指定指令的一個(gè)或一個(gè)以 上所保留位位置處的一個(gè)或一個(gè)以上位中的裝置,其中所述至少一個(gè)經(jīng)指定指令包括 不用于規(guī)定硬件循環(huán)的指令。
26、 如權(quán)利要求25所述的設(shè)備,其中 所述已編碼硬件循環(huán)信息包括硬件循環(huán)結(jié)束包信息;且所述至少一個(gè)經(jīng)指定指令包括不用于規(guī)定所述硬件循環(huán)的結(jié)束包的指令。
27、 如權(quán)利要求26所述的設(shè)備,其中編碼在特定包的經(jīng)指定指令中的所述循環(huán)結(jié)束信息指示所述特定包是所述硬件 循環(huán)的結(jié)束包或指示所述特定包不是所述硬件循環(huán)的結(jié)束包。
28、 如權(quán)利要求25所述的設(shè)備,其中所述硬件循環(huán)信息被編碼在所述經(jīng)指定指 令的所述位內(nèi),使得規(guī)定所述經(jīng)指定指令的位處于所述已編碼硬件循環(huán)信息的所述位 之前及之后。
29、 如權(quán)利要求28所述的設(shè)備,其中 每一指令包括32個(gè)位;所述硬件循環(huán)信息被編碼在所述經(jīng)指定指令的第15個(gè)及第16個(gè)位中;且 所述經(jīng)指定指令的第1個(gè)到第14個(gè)位及第17個(gè)到第32個(gè)位規(guī)定所述經(jīng)指定指令。
30、 如權(quán)利要求25所述的設(shè)備,其中 所述組包是一組極長指令字(VLIW)包;且所述硬件循環(huán)信息被編碼到所述組VLIW包中的每一 VLIW包中的相同預(yù)定位 置處的指令中。
31、 如權(quán)利要求25所述的設(shè)備,其中所述至少一個(gè)硬件循環(huán)包括包括將被執(zhí)行特定數(shù)目的迭代的第一組包的第一循 環(huán)及包括將被執(zhí)行特定數(shù)目的迭代的第二組包的第二循環(huán);關(guān)于所述第一循環(huán)的硬件循環(huán)信息被編碼到所述第一組包中的每一包中的第一 預(yù)定位置處的指令中;且關(guān)于所述第二循環(huán)的硬件循環(huán)信息被編碼到所述第二組包中的每一包中的第二 預(yù)定位置處的指令中。
32、 如權(quán)利要求25所述的設(shè)備,其進(jìn)一步包括用于將結(jié)束指令信息編碼到所述組包中不具有己編碼硬件循環(huán)信息的至少一個(gè) 指令中的裝置,所述結(jié)束指令信息被編碼在為所述已編碼硬件循環(huán)信息保留的所述相 同位位置中,其中所述巳編碼結(jié)束指令信息指示指令是否是包的最后指令且指示包的 長度。
全文摘要
本發(fā)明提供用于對關(guān)于一組包的硬件循環(huán)的信息進(jìn)行編碼的方法及設(shè)備,每一包(400)均含有指令。將所述信息編碼到所述組包中的至少一個(gè)指令(300)的一個(gè)或一個(gè)以上位中。所述信息可指示包是不是所述循環(huán)的結(jié)束包。可對關(guān)于兩個(gè)硬件循環(huán)的信息進(jìn)行編碼,其中將關(guān)于第一循環(huán)的信息編碼到每一包中的第一位置處的指令中,且將關(guān)于第二循環(huán)的信息編碼到每一包中的第二位置處的指令中。可將結(jié)束指令信息編碼到為已編碼循環(huán)信息保留的相同位位置處不具有已編碼循環(huán)信息的指令中,所述結(jié)束指令信息指示指令是否是包的最后指令以及包的長度。
文檔編號G06F9/38GK101438235SQ200780016391
公開日2009年5月20日 申請日期2007年4月20日 優(yōu)先權(quán)日2006年5月10日
發(fā)明者盧奇安·科德雷斯庫, 埃里克·普隆德克, 穆罕默德·艾哈邁德, 羅伯特·艾倫·萊斯特 申請人:高通股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1