本發明專利技術公開了一種超長指令處理的方法,包括:根據指令編碼中的功能單元類型標識任意選擇一個同類型的功能單元,并向所述功能單元分發所述指令編碼;將所述指令編碼進行譯碼,獲知所述功能單元所要執行的操作指令和所述功能單元所要訪問的寄存器堆;根據所述操作指令從所述寄存器堆讀取數據進行操作。本發明專利技術實施例不對功能單元分組,避免經過交叉訪問結構訪問寄存器堆,提高了數據交換的能力,增加了功能單元的數據訪問靈活性。
【技術實現步驟摘要】
本專利技術涉及電子
,特別涉及一種超長指令字處理的方法和裝置。
技術介紹
隨著高性能計算需求的增長,計算機體系結構發生了很大變化。作為計算機核心部件的處理器,其性能和復雜性也在增長。處理器性能的改善在很大程度上歸功于處理器架構的發展和VLSI(Very?Large?Scale?Intergration,大規模集成電路)工藝的改進。目前處理器架構正在發生很大的變化,而這種變化無不體現出市場需求的強大動力。現代處理器,無論是通用處理器還是數字信號處理器其架構正在趨于融合。通用處理器通過增加媒體處理指令來提高數據處理器能力;而數字信號處理器也借鑒了通用處理器的體系結構,使得數字信號處理器的數據處理器能力更加強大、管理更加靈活。目前現代處理器架構的發展主要體現在三個方面,即超流水、多指令發射和多指令操作。其中,VLIW(Very?Long?Instruction?Word,超長指令字)架構是目前廣泛采用的數字信號處理器架構。超長指令字是指供處理器同時執行的最大指令條數超過1條,超過1條的指令組合在一起構成了一個超常指令字。該超常指令字通過處理器指令獲取,譯碼,分發和執行階段完成指令定義的功能。為了同時執行多條指令,處理器需要提供特殊的分發和執行單元。分發單元是將一條超常指令字中多個指令分發給不同的執行單元。多個執行單元構成了處理器的執行單元組。多個執行單元組構成了處理器的執行級。現有的一種超長指令處理架構中,功能單元被分為兩組,其中,L1、S1、W1和D1四個功能單元組成第一個功能單元組;L2、S2、W2和D2四個功能單元組成第二個功能單元組。在指令的分發階段,分發電路根據每條指令中的某一位分發到第一個功能單元組或者第二個功能單元組。如果第一個功-->能單元組的功能單元要訪問第二個寄存器堆B或者第二個功能單元組的功能單元要訪問第一個寄存器堆A均需要經過一個交叉訪問結構。在實現本專利技術的過程中,專利技術人發現現有技術至少存在以下問題:現有超長指令處理架構對功能單元進行分組,如果第一個功能單元組的功能單元要訪問第二個寄存器堆B或者第二個功能單元組的功能單元要訪問第一個寄存器堆A需要經過一個交叉訪問機制,因此其數據吞吐量受限。另外,該處理架構的功能單元和寄存器堆連接是固定的,降低了數據訪問的靈活性。
技術實現思路
本專利技術實施例提供一種超長指令字處理的方法和裝置,不對功能單元進行分組,避免經過交叉訪問結構機制實現數據交換,提高數據交換的能力,增加功能單元的數據訪問靈活性。為達到上述目的,本專利技術實施例一方面提供一種超長指令字處理的方法,包括:根據指令編碼中的功能單元類型標識任意選擇一個同類型的功能單元,并向所述功能單元分發所述指令編碼;將所述指令編碼進行譯碼,獲知所述功能單元所要執行的操作指令和所述功能單元所要訪問的寄存器堆;根據所述操作指令從所述寄存器堆讀取數據進行操作。另一方面,本專利技術實施例還提供一種超長指令字處理的裝置,包括:選擇單元,用于根據指令編碼中的功能單元類型標識任意選擇一個同類型的功能單元;分發單元,用于向所述選擇單元選擇的功能單元分發所述指令編碼;譯碼單元,用于對分發給所述功能單元的指令編碼進行譯碼,獲知所述功能單元所要執行的操作指令和所述功能單元所要訪問的寄存器堆;功能單元,用于根據所述譯碼單元的譯碼出的操作指令從所述譯碼單元譯碼出的所述功能單元所要訪問的寄存器堆讀取數據進行操作。與現有技術相比,本專利技術實施例具有以下優點:本專利技術實施例不對功能單元分組,避免了經過交叉訪問結構機制實現數據交換,因此提高了數據交換的能力,增加了功能單元的數據訪問靈活性。-->附圖說明圖1為本專利技術實施例的方法流程圖;圖2為本專利技術實施例超長指令處理架構圖;圖3為本專利技術實施例的裝置結構圖。具體實施方式下面就本專利技術實施例的具體實施方式作進一步的描述,如圖1所示為本專利技術實施例的方法流程圖,具體包括以下步驟:步驟S101,獲取指令編碼。在指令編碼的獲取階段,處理器從指令編碼存儲器中,讀取指令編碼包,緩存到指令編碼緩存寄存器中,并根據指令編碼并行機制,把可同時并行執行的指令編碼組成執行包。步驟S102,根據功能單元類型標識任意選擇一個功能單元,并向其分發指令編碼。在指令編碼的分發階段,處理器根據各個執行包中的各個指令編碼中的功能單元類型標識,從同類型的功能單元中任意選擇一個功能單元,并將對應于該類型功能單元的指令編碼分發給該功能單元。步驟S103,將指令編碼進行譯碼,獲取操作指令和所要訪問的寄存器堆。在指令編碼的譯碼階段,處理器通過將功能單元收到的指令編碼進行譯碼,獲知所述功能單元所要執行的操作指令和所述功能單元所要訪問的寄存器堆。步驟S104,根據操作指令從所要訪問的寄存器堆讀取數據進行操作。上述被選中的功能單元根據譯碼出的操作指令從所述寄存器堆讀取數據進行操作。當上述數據存放在第一寄存器堆或第二寄存器堆時,根據操作指令從第一寄存器堆或第二寄存器堆讀取數據進行操作。當上述數據分別存放在第一寄存器堆和第二寄存器堆時,所述從所要訪問的寄存器堆中讀取數據進行操作的操作步驟分三種方式。其中,第一種方式為從第一寄存器堆讀取數據進行操作,步驟如下:1、所述功能單元通過選擇開關將所述數據在所述第二寄存器堆的部分轉-->移到全局寄存器堆;2、所述功能單元通過選擇開關將所述第二寄存器堆轉移到所述全局寄存器堆的數據轉移到所述第第一寄存器堆;3、所述功能單元根據所述操作指令,通過選擇開關從所述第一寄存器堆讀取數據進行操作。其中,第二種方式為從第二寄存器堆讀取數據進行操作,步驟如下:1、所述功能單元通過選擇開關將所述數據在所述第一寄存器堆的部分移動到所述全局寄存器堆;2、所述功能單元通過選擇開關將所述第一寄存器堆轉移到所述全局寄存器堆的數據轉移到所述第二寄存器堆;3、所述功能單元關根據所述操作指令,通過交叉開從所述第二寄存器堆讀取數據進行操作。其中,第三種方式為從全局寄存器堆讀取數據進行操作,步驟如下:1、所述功能單元通過選擇開關將所述數據在所述第一寄存器堆的部分和所述數據在所述第二寄存器堆的部分轉移到全局寄存器堆;2、所述功能單元根據所述操作指令從所述全局寄存器堆讀取數據進行操作。至于上述方式具體采用哪種,根據具體的操作指令而定。上述專利技術實施例不對功能單元分組,只是一個組,各個功能單元間只有類型的區別,如圖2所示,分發的時候處理器根據指令編碼中的功能單元類型標識,從同類型的功能單元組中任意選擇一個功能單元分發指令編碼,將指令編碼譯碼后,該功能單元根據譯碼出的操作指令和所要訪問的寄存器堆進行操作,從而避免了經過交叉訪問結構機制實現數據交換,提高了數據交換的能力,增加了功能單元的數據訪問靈活性。如圖3所示為本專利技術實施例的裝置結構圖,包括:選擇單元1,用于根據指令編碼中的功能單元類型標識任意選擇一個同類型的功能單元4;分發單元2,用于向選擇單元1選擇的功能單元4分發指令編碼;譯碼單元3,用于對分發給功能單元4的指令編碼進行譯碼,獲知功能單元4所要執行的操作指-->令和功能單元4所要訪問的寄存器堆;功能單元4,用于根據譯碼單元3的譯碼出的操作指令從譯碼單元3譯碼出的功能單元4所要訪問的寄存器堆讀取數據進行操作。其中,功能單元4可以包括:第一操作功能子單元本文檔來自技高網...
【技術保護點】
一種超長指令處理的方法,其特征在于,包括: 根據指令編碼中的功能單元類型標識任意選擇一個同類型的功能單元,并向所述功能單元分發所述指令編碼; 將所述指令編碼進行譯碼,獲知所述功能單元所要執行的操作指令和所述功能單元所要訪問的寄存 器堆; 根據所述操作指令從所述寄存器堆讀取數據進行操作。
【技術特征摘要】
CN 2007-12-27 200710198646.51、一種超長指令處理的方法,其特征在于,包括:根據指令編碼中的功能單元類型標識任意選擇一個同類型的功能單元,并向所述功能單元分發所述指令編碼;將所述指令編碼進行譯碼,獲知所述功能單元所要執行的操作指令和所述功能單元所要訪問的寄存器堆;根據所述操作指令從所述寄存器堆讀取數據進行操作。2、如權利要求1所述的超長指令處理的方法,其特征在于,所述根據所述操作指令從所述寄存器堆讀取數據進行操作,包括:根據所述操作指令從第一寄存器堆,或者第二寄存器堆讀取數據進行操作。3、如權利要求1所述超長指令處理的方法,其特征在于,當所述數據分別存放在第一寄存器堆和第二寄存器堆時,所述根據操作指令從所述寄存器堆讀取數據進行操作,包括:將所述數據在所述第一寄存器堆的部分和所述數據在所述第二寄存器堆的部分轉移到全局寄存器堆;根據所述操作指令從所述全局寄存器堆讀取數據進行操作。4、如權利要求1所述超長指令處理的方法,其特征在于,當所述數據分別存放在第一寄存器堆和第二寄存器堆時,所述根據操作指令從所述寄存器堆讀取數據進行操作,包括:將所述數據在所述第一寄存器堆的部分轉移到全局寄存器堆,將所述第一寄存器堆轉移到所述全局寄存器堆的數據轉移到所述第二寄存器堆,根據所述操作指令從所述第二寄存器堆讀取數據進行操作;或者將所述數據在所述第二寄存器堆的部分移動到所述全局寄存器堆,將所述第二寄存器堆轉移到所述全局寄存器堆的數據轉移到所述第一寄存器堆,根據所述操作指令從所述第一寄存器堆讀取數據進行操作。5、如權利要求1所述超長指令處理的方法,其特征在于,所述第一寄存器堆,第二寄存器堆和全局寄存器堆中的寄存器的數量由各自寄存器堆的端口數量決定。6、一...
【專利技術屬性】
技術研發人員:何虎,陳震,范文奇,程由猛,
申請(專利權)人:華為技術有限公司,清華大學,
類型:發明
國別省市:94[中國|深圳]
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。