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

可重配置處理器和半導體器件的制作方法

文檔序號:6510553閱讀:212來源:國知局
專利名稱:可重配置處理器和半導體器件的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及可重配置處理器和半導體器件,更具體而言,涉及包括算術(shù)邏輯單元組和序列器的可重配置處理器和半導體器件,所述算術(shù)邏輯單元組包含多個算術(shù)邏輯單元,所述序列器用于控制算術(shù)邏輯單元組的操作。
背景技術(shù)
產(chǎn)品發(fā)貨之后可能進行規(guī)格變更、功能添加、新服務添加等等。傳統(tǒng)地,提供了可重配置處理器以在不重新制造器件的條件下改變功能。傳統(tǒng)的可重配置處理器可以僅通過替換電路配置信息就滿足上述情形。
例如,IP-Flex公司制造的數(shù)字應用處理器/分布式網(wǎng)絡(luò)體系結(jié)構(gòu)(注冊商標)(DAP/DNA)和NEC公司制造的動態(tài)可重配置處理器(DRP)是公知的這類可重配置處理器。
DAP/DNA包含二維布置的多個復合的算術(shù)邏輯單元模塊以及其中描述了算術(shù)邏輯單元之間的連接和每個模塊中的配置的多條信息,并且通過對這些條信息進行切換來操縱不同的算法。
DRP包括二維布置的多個算術(shù)邏輯單元模塊,每個算術(shù)邏輯單元模塊包含指令存儲器、指令譯碼器和算術(shù)邏輯單元。多個算術(shù)邏輯單元模塊的操作由狀態(tài)轉(zhuǎn)移管理部件管理。狀態(tài)轉(zhuǎn)移管理部件具有狀態(tài)轉(zhuǎn)移表。通過根據(jù)狀態(tài)轉(zhuǎn)移表指定指令存儲器中要被每個算術(shù)邏輯單元模塊執(zhí)行的地址,狀態(tài)轉(zhuǎn)移管理部件選擇任何指令并且讓每個算術(shù)邏輯單元模塊執(zhí)行該指令。
如上所述,傳統(tǒng)的可重配置處理器具有算術(shù)邏輯單元組,該算術(shù)邏輯單元組包含布置的多個算術(shù)邏輯單元(ALU)??梢愿鶕?jù)設(shè)置信息重新配置包含于算術(shù)邏輯單元組中的每個算術(shù)邏輯單元的操作以及算術(shù)邏輯單元之間的連接。用于保持輸入值的寄存器連接到每個算術(shù)邏輯單元。圖7示出了傳統(tǒng)的可重配置處理器中含有的算術(shù)邏輯單元和寄存器的結(jié)構(gòu)。
傳統(tǒng)可重配置處理器中含有的ALU 901和902經(jīng)由總線910交換數(shù)據(jù)并且進行預定的操作處理。用于保持經(jīng)由總線910輸入的輸入值的寄存器903和904固定地連接到ALU 901。類似地,用于保持經(jīng)由總線910輸入的輸入值的寄存器905和906固定地連接到ALU 902。即,寄存器903和904分別固定地連接到ALU 901的兩個輸入端口,而寄存器905和906分別固定地連接到ALU 902的兩個輸入端口。采用傳統(tǒng)的可重配置處理器,一個寄存器以這種方式固定地連接到ALU的一個輸入端口。
同時,作為其中多個寄存器被連接到ALU的示例,公開了一種精簡指令集計算機(RISC)處理器,在所述RISC處理器中,能夠被外部協(xié)處理器訪問的多組寄存器文件被連接到ALU(例如,參見PCT國際公布專利申請No.2002-512399已公布的日文譯文,圖3)。
采用傳統(tǒng)的可重配置處理器,在消耗時間的情況下切換正在運行的算術(shù)邏輯單元組的配置使性能降低。圖8示出了傳統(tǒng)的可重配置處理器中進行配置切換的時序。算術(shù)邏輯單元組的配置根據(jù)應用1和2進行的處理的內(nèi)容而被切換。
采用傳統(tǒng)的可重配置處理器,為每個算術(shù)邏輯單元置備的寄存器的數(shù)目總是一。從而,為了從用于應用1(921)的配置切換到用于應用2(922)的配置,在應用1(921)終止之后,作為導出數(shù)據(jù)(931)的結(jié)果,要從寄存器輸出應用1(921)產(chǎn)生的數(shù)據(jù),然后進行到用于應用2(922)的配置的切換。為了從用于應用2(922)的配置切換到用于應用1(921)的配置,要進行同樣的處理然后進行到用于應用1(921)的配置的切換。
如上所述,當切換應用時,額外的時間對導出數(shù)據(jù)是必要的。結(jié)果,在精細時間劃分的基礎(chǔ)上切換應用降低了性能。此外,為了保持通過執(zhí)行應用1獲得的結(jié)果從而在再次執(zhí)行該應用1時使用該數(shù)據(jù),數(shù)據(jù)必須被保存在諸如存儲器之類的存儲設(shè)備中。這對性能具有很大的影響。
此外,采用傳統(tǒng)的可重配置處理器,很難調(diào)試算術(shù)邏輯單元組。在某些情況下,為了調(diào)試,需要知道任意時刻下輸入到算術(shù)邏輯單元或者從算術(shù)邏輯單元輸出的狀態(tài)。但是,要取出數(shù)據(jù),操作必須完全停止或者停止后的數(shù)據(jù)和電路的狀態(tài)必須全部丟棄。但是,采用傳統(tǒng)的可重配置處理器,寄存器被置于算術(shù)邏輯單元之間,所以寄存器的值只能經(jīng)由算術(shù)邏輯單元輸出到外部。每個算術(shù)邏輯單元連接一個寄存器。因此,為了在某時刻將寄存器的數(shù)據(jù)取出到外部,所發(fā)給所有算術(shù)邏輯單元的操作必需暫時改變到無操作(NOP)以使得數(shù)據(jù)順序流動。在這種情況下,在操作改變之前由操作獲得的數(shù)據(jù)進行流動。從而,在取出用于調(diào)試的數(shù)據(jù)之后,不可能恢復操作。
同時,采用其中通過進行上下文切換而對多組寄存器文件進行切換的傳統(tǒng)器件,在一個塊(block)中所有寄存器文件被同時切換。從而,不可能根據(jù)算術(shù)邏輯單元、算術(shù)邏輯單元組等進行精細切換。

發(fā)明內(nèi)容
本發(fā)明提供了一種具有算術(shù)邏輯單元組和定序器的可重配置處理器,其中算術(shù)邏輯單元組包含多個算術(shù)邏輯單元,定序器用于控制算術(shù)邏輯單元組的操作。該可重配置處理器包括寄存器組,該寄存器組位于多個算術(shù)邏輯單元的輸入端口和數(shù)據(jù)被從其輸入到多個算術(shù)邏輯單元的前級(preceding stage)之間,并且每個寄存器組包含多個寄存器,所述多個寄存器用于保持從前級輸入到多個算術(shù)邏輯單元的數(shù)據(jù);以及選擇器,用于根據(jù)來自定序器的指令從寄存器組中選擇要被連接到多個算術(shù)邏輯單元的寄存器,以及用于將所選擇的寄存器連接到多個算術(shù)邏輯單元的輸入端口。
此外,本發(fā)明提供了一種半導體器件,該半導體器件具有包含多個算術(shù)邏輯單元的算術(shù)邏輯單元組和用于控制算術(shù)邏輯單元組操作的定序器,其中算術(shù)邏輯單元組的操作狀態(tài)由所述定序器重新配置。該半導體器件包括寄存器組,該寄存器組位于多個算術(shù)邏輯單元的輸入端口和數(shù)據(jù)被從其輸入到多個算術(shù)邏輯單元的前級之間,并且每個寄存器組包含多個寄存器,所述多個寄存器用于保持從前級輸入到多個算術(shù)邏輯單元的數(shù)據(jù);以及選擇器,用于根據(jù)來自定序器的指令從寄存器組中選擇要被連接到多個算術(shù)邏輯單元的寄存器,以及用于將所選擇的寄存器連接到多個算術(shù)邏輯單元的輸入端口。
由下面的說明以及接合附圖,本發(fā)明的上述和其他目標、特征和優(yōu)點將變得清楚,其中附圖通過示例圖示了本發(fā)明的優(yōu)選實施例。


圖1是應用到實施例上的本發(fā)明的示意圖。
圖2是示出了根據(jù)本發(fā)明實施例的可重配置處理器的整體結(jié)構(gòu)的框圖。
圖3示出了根據(jù)本發(fā)明實施例的配置存儲器的結(jié)構(gòu)的示例。
圖4示出了根據(jù)實施例的窗口寄存器部件的結(jié)構(gòu)的示例。
圖5示出了根據(jù)實施例的窗口結(jié)構(gòu)的示例。
圖6是示出了根據(jù)實施例的窗口寄存器部件切換示例的時序圖。
圖7示出了在傳統(tǒng)的可重配置處理器中包含的算術(shù)邏輯單元和寄存器的結(jié)構(gòu)。
圖8示出了在傳統(tǒng)的可重配置處理器中進行配置切換的時序。
具體實施例方式
本發(fā)明的目標是提供一種可重配置處理器和半導體器件,該可重配置處理器和半導體器件可以在以時間劃分為基礎(chǔ)切換應用的時候或者調(diào)試的時候,精細地控制操作而不會對其他功能施加影響。
現(xiàn)將參考附圖描述本發(fā)明的實施例。首先將給出應用到實施例上的本發(fā)明的概述,然后將描述實施例的具體內(nèi)容。
圖1是應用到實施例上的本發(fā)明的示意圖。根據(jù)本發(fā)明實施例的可重配置處理器包括算術(shù)邏輯單元(ALU)組和用于控制ALU組操作的定序器2,其中算術(shù)邏輯單元組包含例如象矩陣那樣布置的多個ALU。例如,包含于ALU組中的ALU 1的兩個輸入端口分別經(jīng)由選擇器4和6連接到寄存器組3和5。
ALU 1在定序器2的控制下經(jīng)由寄存器組3和5以及選擇器4和6接受從前級輸出的數(shù)據(jù),并且進行諸如算術(shù)運算和邏輯運算等預定操作。輸出數(shù)據(jù)的前級例如是由定序器2連接到ALU 1的另一ALU。
定序器2保持多條設(shè)置信息,通過切換設(shè)置信息來切換ALU組的狀態(tài),以及執(zhí)行期望的應用,在所述多條設(shè)置信息中描述了為執(zhí)行任何應用所必需的ALU組的配置,所述ALU組的配置例如是包含于ALU組中的每個ALU的操作和ALU之間的連接。此外,定序器2根據(jù)所選擇的狀態(tài)控制選擇器4和6,并且選擇要被連接到ALU 1的包含于寄存器組3和5中的寄存器。
寄存器組3和5中的每個包含可以彼此獨立操作的多個寄存器。寄存器組3包含寄存器1(3a)、寄存器2(3b)和寄存器3(3c)。寄存器組5包含寄存器1(5a)、寄存器2(5b)和寄存器3(5c)。包含于寄存器組3中的寄存器之一被選擇器4選擇并且被連接到ALU 1。類似地,包含于寄存器組5中的寄存器之一被選擇器6選擇并且被連接到ALU 1。所選擇的寄存器連接于ALU 1的輸入端口和前級之間,保持從前級輸出的數(shù)據(jù)(輸入到ALU 1的數(shù)據(jù)),并且將數(shù)據(jù)輸出到ALU 1。在下一操作計時前此數(shù)據(jù)一直被保持。寄存器的長度對應于輸入到與該寄存器相連接的ALU1的數(shù)據(jù)的長度。即,如果輸入到ALU 1的數(shù)據(jù)長度是八位,則寄存器的長度是八位。如果輸入到ALU 1的數(shù)據(jù)長度是十六位,則寄存器的長度是十六位。如果輸入到ALU 1的數(shù)據(jù)長度是三十二位,則寄存器的長度是三十二位。每個寄存器組可以包含任意數(shù)目的寄存器。
在定序器2的控制下,選擇器4和6分別從它們所連接的寄存器組3和5選擇一個寄存器,并且將所選擇的寄存器連接到ALU 1。即,選擇器4連接到寄存器組3并且將寄存器1(3a)、寄存器2(3b)和寄存器3(3c)中的一個連接到ALU 1。選擇器6連接到寄存器組5并且將寄存器1(5a)、寄存器2(5b)和寄存器3(5c)中的一個連接到ALU 1。
現(xiàn)將描述具有上述結(jié)構(gòu)的可重配置處理器的操作。
在ALU組的各種狀態(tài)下要被選擇并且被連接到ALU 1的兩個輸入端口的寄存器被注冊在定序器2所保持的設(shè)置信息中。定序器2不僅控制ALU組的操作狀態(tài)而且根據(jù)所選擇的狀態(tài)控制寄存器的切換?,F(xiàn)在將描述當ALU組的狀態(tài)被切換時進行的寄存器切換。
在切換之前ALU組正在執(zhí)行應用。在定序器2的控制下,此時,選擇器4和6分別從寄存器組3和5選擇任何寄存器并且將所選擇的寄存器連接到ALU 1。例如,包含于寄存器組3中的寄存器1(3a)和包含于寄存器組5中的寄存器1(5a)被選擇,并且形成下述數(shù)據(jù)流,通過該數(shù)據(jù)流,從恰好在ALU 1之前的級(stage)輸出的數(shù)據(jù)(輸入到ALU 1的數(shù)據(jù))經(jīng)由寄存器1(3a)和寄存器1(5a)被輸入到ALU 1。
當定序器2確定切換ALU組的狀態(tài)時,切換寄存器的指令也被發(fā)出。根據(jù)定序器2所發(fā)出的指令,選擇器4和6斷開當前連接的寄存器并且把所指定的寄存器連接到ALU 1。例如,包含于寄存器組3中的寄存器2(3b)和包含于寄存器組5中的寄存器2(5b)被選擇。結(jié)果,從恰好在ALU 1之前級輸出的數(shù)據(jù)經(jīng)由寄存器2(3b)和寄存器2(5b)被輸入到ALU 1,從而形成了通過新寄存器的數(shù)據(jù)流。這使得在在前數(shù)據(jù)流終止之后不必導出所產(chǎn)生的數(shù)據(jù)。即,數(shù)據(jù)流可以在切換應用的時刻立刻被切換。從而,性能不會下降。
當寄存器被切換時,在切換之前輸入的最后數(shù)據(jù)被遺留在寄存器1(3a)和寄存器1(5a)中。該數(shù)據(jù)由定位鎖存(locating latch)機制保持。該數(shù)據(jù)可以通過預先形成專用數(shù)據(jù)通路從外部取出。結(jié)果,在數(shù)據(jù)流被切換以及進行了預定的處理之后,ALU組可以恢復到切換之前的狀態(tài)。并且,取出數(shù)據(jù)以用于例如調(diào)試可以被更容易地進行。此外,為從調(diào)試返回,應該選擇原始寄存器。因此,調(diào)試并不對其他功能施加影響。
現(xiàn)將參考附圖詳細描述本發(fā)明的實施例。
圖2是示出了根據(jù)本發(fā)明實施例的可重配置處理器的整體結(jié)構(gòu)的框圖。
可重配置處理器包括ALU組10和定序器20,其中ALU組10包含所布置的多個ALU,定序器20用于控制包含于ALU組10中的每個ALU模塊的操作。
ALU組10包含配置存儲器11、布線與開關(guān)(wiring and switch)12、ALU 13a、13b、…和13C、數(shù)據(jù)存儲設(shè)備13d、13e等、計數(shù)器13f和窗口寄存器部件14。
配置存儲器11存儲用于設(shè)置ALU組10的操作的設(shè)置信息,諸如要由包含于ALU組10中的每個ALU模塊執(zhí)行的內(nèi)容、ALU模塊之間的布線路徑以及操作所需的數(shù)據(jù)。一條信息對應于ALU組10的一個電路配置的“狀態(tài)”。在配置存儲器11中設(shè)置了多個狀態(tài)。ALU組10在定序器20指定的狀態(tài)下操作。每個ALU和布線與開關(guān)12根據(jù)配置存儲器11中所設(shè)置的內(nèi)容進行操作。布線與開關(guān)12包含布線部件和開關(guān)部件,布線部件用于根據(jù)配置存儲器11中設(shè)置的內(nèi)容在ALU之間進行連接,開關(guān)部件用于根據(jù)配置存儲器11中設(shè)置的內(nèi)容來切換連接。ALU 13a、13b、…和13C中的每個對經(jīng)由布線與開關(guān)12和窗口寄存器部件14而輸入的輸入信號進行預定的操作,并且經(jīng)由布線與開關(guān)12輸出結(jié)果。每個ALU模塊包含存儲用于數(shù)據(jù)處理的數(shù)據(jù)的數(shù)據(jù)存儲設(shè)備13d、13e等和計數(shù)器13f,該數(shù)據(jù)存儲設(shè)備為存儲器或者寄存器。此外,每個ALU模塊包含用于和外部單元交換數(shù)據(jù)和地址的接口、地址產(chǎn)生器等等。窗口寄存器部件14包含寄存器組和選擇器,該寄存器組由用于保持數(shù)據(jù)的多個寄存器組成,選擇器用于從寄存器組中選擇一個寄存器并且將所選擇的寄存器連接到ALU。窗口寄存器部件14位于包含于ALU組10中的ALU的輸入端口的對面。窗口寄存器部件14根據(jù)配置存儲器11中設(shè)置的內(nèi)容為全部ALU、一個ALU或者一組ALU切換寄存器。
在圖2中,窗口寄存器部件14位于布線與開關(guān)12和ALU 13a、13b、…和13C之間。但是,窗口寄存器部件14可以位于布線與開關(guān)12或者ALU 13a、13b、…和13C之內(nèi)。此外,窗口寄存器部件14可以被拆分以使之位于布線與開關(guān)12和ALU 13a、13b、…和13C之內(nèi)。在圖2中,配置存貯器11位于ALU組10中。但是,配置存儲器11可以位于定序器20中或者位于ALU組10和定序器20的外部。此外,配置存儲器11可以被拆分以使之位于ALU組10和定序器20之內(nèi)。
定序器20包含狀態(tài)控制部件21、狀態(tài)表22、當前狀態(tài)地址寄存器23以及窗口設(shè)置控制部件24。
狀態(tài)控制部件21設(shè)置下述狀態(tài),ALU組10將響應于從ALU組10輸入的切換條件信號而接下來進行到該狀態(tài)的轉(zhuǎn)移。該切換條件信號包括切換條件碼和切換條件發(fā)生的通知。狀態(tài)表22中使用的地址和配置存儲器11中使用的地址相同。狀態(tài)表22中的每個條目存貯操作碼和可能被選擇的條目的地址,其中操作碼指示在轉(zhuǎn)移到下一條目時的行為。當前狀態(tài)地址寄存器23存儲指示當前狀態(tài)的地址(在狀態(tài)表22和配置存儲器11中)。窗口設(shè)置控制部件24根據(jù)狀態(tài)控制部件21設(shè)置的狀態(tài)來控制由窗口寄存器部件24選擇的寄存器。
在上述可重配置處理器中,ALU組10在基于下述設(shè)置信息的狀態(tài)下操作,其中該設(shè)置信息位于由定序器20所指定的配置存儲器11中的特定地址處。當ALU組10確定切換條件已成立時,ALU組10向定序器20發(fā)送切換條件碼和切換條件信號。在定序器20中,狀態(tài)控制部件21被切換條件信號啟動,由切換條件碼和狀態(tài)表22中的條目確定ALU組10接下來要轉(zhuǎn)移到的狀態(tài),計算指示狀態(tài)的設(shè)置信息被注冊的地址(目標地址),并且在當前狀態(tài)地址寄存器23、狀態(tài)表22和配置存儲器11中設(shè)置所計算出的目標地址。結(jié)果,配置存儲器11中的特定地址被改變?yōu)槟繕说刂凡⑶褹LU組10轉(zhuǎn)移到該狀態(tài)。此時,窗口設(shè)置控制部件24根據(jù)狀態(tài)控制部件21設(shè)置的狀態(tài)發(fā)出指令以切換寄存器并且指定要被選擇的寄存器。這些指令被發(fā)出以切換包含于窗口寄存器部件14中的所有寄存器、對應于預先設(shè)置的每組ALU的多個寄存器、或者特殊場合下對應于每個ALU的寄存器。
現(xiàn)將描述配置存儲器11。在配置存儲器11中,描述了用于執(zhí)行應用的ALU組10和寄存器中的數(shù)據(jù)流。圖3示出了根據(jù)本發(fā)明實施例的配置存儲器的結(jié)構(gòu)示例。
配置存儲器11存儲配置數(shù)據(jù),其確定在每種狀態(tài)下ALU組10的操作。在此示例中,配置數(shù)據(jù)111、112、113、114等根據(jù)狀態(tài)而被存儲。每種狀態(tài)由地址來管理。
對于每種狀態(tài)存儲有操作模式111a、可重配置電路設(shè)計信息111b、狀態(tài)1(111c)、狀態(tài)2(111d)、狀態(tài)3(111e)和狀態(tài)4(111f)。操作模式111a是用于標識該狀態(tài)的信息??芍嘏渲秒娐吩O(shè)計信息111b是用于指示在此操作模式下ALU之間的連接和可重配置電路中每個ALU的操作的設(shè)計信息。當產(chǎn)生了設(shè)計信息時,自動且唯一地確定為特定數(shù)據(jù)流使用的特定寄存器。此電路配置的下一狀態(tài)的候選者被描述為狀態(tài)1(111c)、狀態(tài)2(111d)、狀態(tài)3(111e)和狀態(tài)4(111f)。實際上,直接描述了配置存儲器11中的地址或者描述了通過進行操作從其可以直接產(chǎn)生這些地址的數(shù)據(jù)。每個候選狀態(tài)和切換條件相關(guān)聯(lián)。當切換條件成立時,進行轉(zhuǎn)移到對應狀態(tài)的處理。在這種情況下,根據(jù)存儲于配置存儲器11中的信息來設(shè)置每個ALU的操作、ALU之間的連接以及連接到每個ALU的寄存器。被注冊為候選者的狀態(tài)的數(shù)目可以任意選擇。
現(xiàn)在將描述窗口寄存器部件14的結(jié)構(gòu)。圖4示出了根據(jù)實施例的窗口寄存器的結(jié)構(gòu)示例。在圖4中,和圖2中所示相同的組件用相同的標號來標記,并且省略了對它們的說明。
在窗口寄存器部件14中,為ALU 13a和13b置備了多個寄存器組和選擇器,該選擇器用于從每個寄存器組選擇一個寄存器并且將所選擇的寄存器連接到ALU。在此示例中,ALU 13a和13b中的每個具有兩個輸入端口。寄存器組和選擇器連接到這些端口中的每個。即,包含窗口1(141a)、窗口2(142a)和窗口3(143a)的寄存器組和選擇器144a連接到ALU 13a的第一輸入端口。包含窗口1(141b)、窗口2(142b)和窗口3(143b)的寄存器組和選擇器144b連接到ALU 13a的第二輸入端口。包含窗口1(141c)、窗口2(142c)和窗口3(143c)的寄存器組和選擇器144c連接到ALU 13b的第一輸入端口。包含窗口1(141d)、窗口2(142d)和窗口3(143d)的寄存器組和選擇器144d連接到ALU 13b的第二輸入端口。
這些寄存器組中被同時選擇的寄存器形成集合。例如,如果窗口1(141a)、窗口1(141b)、窗口1(141c)和窗口1(141d)被選擇用于執(zhí)行應用,則這些窗口形成集合。類似地,如果窗口2(142a)、窗口2(142b)、窗口2(142c)和窗口2(142d)形成集合,以及窗口3(143a)、窗口3(143b)、窗口3(143c)和窗口3(143d)形成集合。可以任意選擇這些寄存器組中形成集合的窗口。形成集合的窗口被串聯(lián)起來。在下文中,通過將形成集合的寄存器串聯(lián)而形成的路徑被稱作虛路徑(dummy path)。通過將包含于同一集合中的寄存器串聯(lián)而預先形成虛路徑,不僅預定數(shù)據(jù)可以根據(jù)配置存儲器11中描述的數(shù)據(jù)流被發(fā)送,而且存儲于未被選作數(shù)據(jù)流的寄存器中的數(shù)據(jù)也可以經(jīng)由虛路徑被發(fā)送。
現(xiàn)在將描述包含于窗口寄存器部件14中的每個窗口的詳細結(jié)構(gòu)。圖5示出了根據(jù)實施例的窗口的結(jié)構(gòu)示例。圖5示出了包含于窗口寄存器部件中的窗口之一。
窗口1(141a)包含寄存器1412a和用于切換輸入的開關(guān)1411a。總計3條信號線被連接到開關(guān)1411a的輸入側(cè),共3條信號線被連接到開關(guān)1411a的輸入側(cè),所述3條信號線為來自連接到鄰近ALU的窗口151中的寄存器1512的信號線、來自布線與開關(guān)12的信號線、以及連接到寄存器1412a輸出側(cè)的信號線。彼此連接的寄存器1512和寄存器1412a被包含于同一集合中。
開關(guān)1411a根據(jù)窗口1(141a)和ALU 13之間連接的狀態(tài)來選擇將其自身連接到何處。例如,當窗口1(141a)由選擇器連接到ALU 13并且處于活動狀態(tài)時,開關(guān)1411a的輸入側(cè)連接到布線與開關(guān)12。通過如此做法,經(jīng)由布線與開關(guān)12輸入的數(shù)據(jù)可以被輸出到ALU 13并且被保存于寄存器1412a中。當窗口1(141a)與ALU 13斷開連接并且進入不活動狀態(tài)時,開關(guān)1411a的輸入側(cè)連接到寄存器1412a的輸出側(cè)。通過如此做法,在窗口1(141a)處于活動狀態(tài)期間最后輸入的數(shù)據(jù)被保持于窗口1(141a)中。當窗口1(141a)處于不活動狀態(tài)時,開關(guān)1411a的輸入側(cè)可以連接到寄存器1512的輸出側(cè)。寄存器1512和寄存器1412a被包含于同一集合中并且相互串聯(lián)。當特定條件成立時,諸如當控制調(diào)試的調(diào)試塊或者定序器給出調(diào)試指令時,開關(guān)1411a的輸入側(cè)連接到寄存器1512的輸出側(cè)。通過如此做法,在處于不活動狀態(tài)的窗口1(141a)中保持的數(shù)據(jù)可以被經(jīng)由虛路徑輸出到外部,其中虛路徑是通過將寄存器1512和寄存器1412a串聯(lián)而形成的。
窗口2和窗口3的結(jié)構(gòu)和窗口1(141a)的結(jié)構(gòu)相同。
現(xiàn)將描述具有上述結(jié)構(gòu)的窗口寄存器部件14的操作。
例如,配置數(shù)據(jù)被預先設(shè)置在配置存儲器11中,使得寄存器窗口1將被用于執(zhí)行應用1并且使得寄存器窗口2將被用于執(zhí)行應用2。每次預定條件成立時,進行切換并且交替執(zhí)行應用1和應用2。
首先,執(zhí)行應用1,并且窗口寄存器部件14中的選擇器144a、144b、144c和144d分別選擇寄存器窗口1(141a)、窗口1(141b)、窗口1(141c)和窗口1(141d)。當執(zhí)行應用1時,窗口1被以這種方式加入到數(shù)據(jù)流中,并且進行處理。
如果在應用1正被執(zhí)行期間切換條件成立,則定序器20將配置存儲器11中的地址指定切換到應用2,并且改變ALU組的配置以執(zhí)行應用2。這時選擇器144a、144b、144c和144d直接從定序器20或者經(jīng)由配置存儲器11被給予指令,分別斷開寄存器窗口1(141a)、窗口1(141b)、窗口1(141c)和窗口1(141d),并且分別將寄存器窗口2(142a)、窗口2(142b)、窗口2(142c)和窗口2(142d)連接到ALU 13a和13b。被斷開的寄存器窗口1(141a)、窗口1(141b)、窗口1(141c)和窗口1(141d)中的每個進入不活動狀態(tài),轉(zhuǎn)移到輸入自身輸出的鎖存模式,從而保持在執(zhí)行應用1時最后輸入的數(shù)據(jù)。
接下來,在正在執(zhí)行應用2時切換條件成立,從而進行從應用2到應用1的切換。此時,斷開寄存器窗口2(142a)、窗口2(142b)、窗口2(142c)和窗口2(142d),并且將寄存器窗口1(141a)、窗口1(141b)、窗口1(141c)和窗口1(141d)連接到ALU 13a和13b。這是為從應用1切換到應用2而進行的操作的反過程。進入活動狀態(tài)的寄存器窗口1(141a)、窗口1(141b)、窗口1(141c)和窗口1(141d)中的每個再次保持在應用1被執(zhí)行時最后輸入的數(shù)據(jù)從而可以在特殊場合需要時使用該數(shù)據(jù)。寄存器窗口2(142a)、窗口2(142b)、窗口2(142c)和窗口2(142d)中的每個轉(zhuǎn)移到鎖存模式。這和上面的從應用1到應用2的切換相同。從而,當應用1被再次切換到應用2時,可以使用保持在寄存器窗口2(142a)、窗口2(142b)、窗口2(142c)和窗口2(142d)中的數(shù)據(jù)。
現(xiàn)在將使用時序圖來說明上述切換操作。圖6是示出了根據(jù)實施例的窗口寄存器部件的切換示例的時序圖。在此示例中,周期性地進行應用1(使用寄存器窗口1(141a)、窗口1(141b)、窗口1(141c)和窗口1(141d))和應用2(使用寄存器窗口2(142a)、窗口2(142b)、窗口2(142c)和窗口2(142d))之間的切換。
如上所述,定序器可以在其切換應用(ALU組的狀態(tài))的同時發(fā)出切換寄存器的指令。在這種情況下,無需進行臨時保存數(shù)據(jù)的處理。在圖6中,當開始一個序列塊的處理時,切換寄存器,選擇窗口1(W1),并且立刻執(zhí)行應用1。類似地,在開始下一序列塊時,選擇窗口2(W2)并且立刻執(zhí)行應用2。如上所述,多個數(shù)據(jù)流隨時間流逝輪流出現(xiàn)從而可以高速執(zhí)行應用。
在上述示例中,切換是在寄存器窗口1和寄存器窗口2之間進行的。但是,可以使用例如寄存器窗口3。如同上述示例一樣,通過切換寄存器可以容易地對應用進行切換。
在上述示例中,對形成集合的所有寄存器進行切換。但是,取決于應用,對于每個ALU可以產(chǎn)生若干寄存器組,并且可以由寄存器組來控制寄存器切換。對于一個ALU可以產(chǎn)生多個寄存器組。
為了進行例如調(diào)試,可以通過使用由將包含于同一集合中的寄存器串聯(lián)形成的虛路徑來傳遞數(shù)據(jù)。該虛路徑不同于基于配置存儲器11的數(shù)據(jù)流。
在本發(fā)明中,置備了用于保持輸入到ALU的數(shù)據(jù)的多個寄存器,并且根據(jù)來自定序器的指令來選擇寄存器。結(jié)果,可以根據(jù)定序器的操作狀態(tài)動態(tài)地切換所使用的寄存器。即,根據(jù)例如來自定序器用以切換操作狀態(tài)的指令,動態(tài)地進行從下述切換從在一種操作狀態(tài)下被用于數(shù)據(jù)流的寄存器切換到在該操作狀態(tài)被切換之后要使用的寄存器。結(jié)果,在前數(shù)據(jù)流中的數(shù)據(jù)可以被保持從而可以立刻改變數(shù)據(jù)流。此外,可以根據(jù)ALU來操作寄存器組和選擇器,可以只有數(shù)據(jù)流上的特定數(shù)據(jù)路徑被動態(tài)改變,而改變之前數(shù)據(jù)路徑上的數(shù)據(jù)可以被保持。操作可以通過這種方式被精細控制,而不會對其他功能施加影響。
前述內(nèi)容僅被視作本發(fā)明原理的解釋性說明。此外,由于本領(lǐng)域技術(shù)人員可以容易地想出多種修改和改變,所以不要將本發(fā)明限定于所示出和描述的確切構(gòu)造和應用,因此,所有適當?shù)男薷暮偷葍r物都可以被視為落入權(quán)利要求和權(quán)利要求的等價物中的本發(fā)明范圍內(nèi)。
權(quán)利要求
1.一種具有算術(shù)邏輯單元組和定序器的可重配置處理器,其中所述算術(shù)邏輯單元組包含多個算術(shù)邏輯單元,所述定序器用于控制所述算術(shù)邏輯單元組的操作,所述處理器包括寄存器組,所述寄存器組位于所述多個算術(shù)邏輯單元的輸入端口與數(shù)據(jù)被從其輸入到所述多個算術(shù)邏輯單元的前級之間,并且每個所述寄存器組包含多個寄存器,用于保持從所述前級輸入到所述多個算術(shù)邏輯單元的數(shù)據(jù);和選擇器,所述選擇器用于根據(jù)來自所述定序器的指令,從所述寄存器組選擇要被連接到所述多個算術(shù)邏輯單元的寄存器,并且用于將所述被選擇的寄存器連接到所述多個算術(shù)邏輯單元的所述輸入端口。
2.根據(jù)權(quán)利要求1所述的可重配置處理器,其中根據(jù)設(shè)置信息要從所述寄存器組選擇的寄存器是預先確定的,在所述設(shè)置信息中,描述了用于執(zhí)行任何應用的所述算術(shù)邏輯單元組的狀態(tài);以及所述選擇器根據(jù)由所述定序器設(shè)置的所述算術(shù)邏輯單元組的狀態(tài)的切換來選擇所述寄存器。
3.根據(jù)權(quán)利要求1所述的可重配置處理器,其中被包含在寄存器組中的寄存器與被包含在所有其他寄存器組中并且與被包含在所述寄存器中的所述寄存器同時被選擇的寄存器相關(guān)聯(lián),并且與被包含在所述所有其他寄存器組中的所述被選擇的寄存器一起形成集合;以及所有所述選擇器根據(jù)來自所述定序器的指令來選擇形成所述集合的所述寄存器。
4.根據(jù)權(quán)利要求1所述的可重配置處理器,其中被包含在寄存器組中的寄存器與被包含在其他寄存器組中并且與被包含在所述寄存器中的所述寄存器同時被選擇的寄存器相關(guān)聯(lián),并且與被包含在所述其他寄存器組中的所述被選擇的寄存器一起形成集合,其中所述其他寄存器組被包含在預定的更大組中;以及與被包含在所述預定的更大組中的所述寄存器組相連接的選擇器根據(jù)來自所述定序器的指令來選擇形成所述集合的所述寄存器。
5.根據(jù)權(quán)利要求1所述的可重配置處理器,其中,被包含在所述寄存器組中的每個寄存器在所述寄存器沒有被選擇器連接到算術(shù)邏輯單元的狀態(tài)下,選擇來自所述寄存器的輸出作為輸入。
6.根據(jù)權(quán)利要求1所述的可重配置處理器,其中被包含在寄存器組中的寄存器和被包含在鄰近寄存器組中的預定寄存器相串聯(lián);以及被包含在所述寄存器組中的所述寄存器在所述寄存器被選擇器連接到算術(shù)邏輯單元的狀態(tài)下,被連接到所述前級,并且在所述寄存器沒有被所述選擇器連接到所述算術(shù)邏輯單元的狀態(tài)下,與所述鄰近寄存器組串聯(lián)。
7.根據(jù)權(quán)利要求1所述的可重配置處理器,其中,被包含在所述寄存器組中的每個寄存器的長度對應于被輸入到與所述寄存器組相連接的所述多個算術(shù)邏輯單元中的每個的數(shù)據(jù)長度。
8.一種具有算術(shù)邏輯單元組和定序器的半導體器件,其中所述算術(shù)邏輯單元組包含多個算術(shù)邏輯單元,所述定序器用于控制所述算術(shù)邏輯單元組的操作,所述算術(shù)邏輯單元組的操作狀態(tài)由所述定序器重新配置,所述器件包括寄存器組,所述寄存器組位于所述多個算術(shù)邏輯單元的輸入端口與數(shù)據(jù)被從其輸入到所述多個算術(shù)邏輯單元的前級之間,并且每個所述寄存器組包含多個寄存器,用于保持從所述前級輸入到所述多個算術(shù)邏輯單元的數(shù)據(jù);和選擇器,所述選擇器用于根據(jù)來自所述定序器的指令,從所述寄存器組選擇要被連接到所述多個算術(shù)邏輯單元的寄存器,并且用于將所述被選擇的寄存器連接到所述多個算術(shù)邏輯單元的所述輸入端口。
全文摘要
本發(fā)明公開了一種精細控制操作而不會對其他功能施加影響的可重配置處理器。寄存器組經(jīng)由選擇器連接到ALU的輸入端口。在定序器的控制下,輸入到ALU的數(shù)據(jù)被保持在選擇器所選擇的寄存器中。例如,假定一個寄存器被選擇用于執(zhí)行應用。為了將此應用切換到下一應用,在應用終止之后,選擇器根據(jù)來自定序器的指令將寄存器切換到要被使用的另一寄存器。在這種情況下,在應用正被執(zhí)行時所輸入的數(shù)據(jù)繼續(xù)留在寄存器中,從而下一應用可以被立刻執(zhí)行而無需在應用終止之后導出數(shù)據(jù)。
文檔編號G06F15/00GK1716229SQ200510001829
公開日2006年1月4日 申請日期2005年1月13日 優(yōu)先權(quán)日2004年6月28日
發(fā)明者笠間一郎 申請人:富士通株式會社
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1