專利名稱:運算裝置和運算裝置控制方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種運算裝置和運算裝置控制方法,具體地說涉及用于所謂的可重配置運算設(shè)備單元組的狀態(tài)轉(zhuǎn)換目標確定方法,其中定序器為所述運算設(shè)備單元組控制該運算設(shè)備單元組的狀態(tài),以使得可控制該運算設(shè)備單元組所執(zhí)行的運算處理內(nèi)容,本發(fā)明具體地說還涉及一種運算裝置,其包括執(zhí)行上述狀態(tài)轉(zhuǎn)換目標確定方法的可重配置運算設(shè)備單元組。
背景技術(shù):
作為包括這種可重配置運算設(shè)備單元組的運算裝置,日本在先公開專利申請No.2001-312481公開了一種陣列型處理器。在該處所公開的技術(shù)中,當產(chǎn)生運算設(shè)備單元組的后續(xù)狀態(tài)時,使用一個所謂的CAM(上下文地址存儲器),運算設(shè)備單元組的后續(xù)狀態(tài)由CAM的輸出值確定。
圖1示出了該陣列型處理器。如圖所示,陣列型處理器1包括狀態(tài)轉(zhuǎn)換管理部件,其中,操作控制總線2103、事件通知總線2104和外部事件總線2107電連接到該狀態(tài)轉(zhuǎn)換管理部件;以及數(shù)據(jù)路徑部件2102,在其中,多個在來自狀態(tài)轉(zhuǎn)換管理部件2101的控制下執(zhí)行運算處理的處理器元件(PE)2105和多個執(zhí)行電連接的可編程開關(guān)元件(PSE)2106電連接到一起,以形成二維陣列。獨立地提供上述狀態(tài)轉(zhuǎn)換管理部件2101和數(shù)據(jù)路徑部件2102。狀態(tài)轉(zhuǎn)換管理部件2101用作為管理操作狀態(tài)的轉(zhuǎn)換的狀態(tài)轉(zhuǎn)換裝置。
圖3示出了寫在上述陣列型處理器的狀態(tài)轉(zhuǎn)換表存儲器2202(如圖2所示)中的狀態(tài)轉(zhuǎn)換示例。下面描述這一狀態(tài)轉(zhuǎn)換示例。首先,根據(jù)圖3,當當前狀態(tài)號2204是ST-01(見圖3)時,后續(xù)狀態(tài)號2205無條件地確定為ST-02。為了在狀態(tài)轉(zhuǎn)換表2202中描述這一狀態(tài)轉(zhuǎn)換,創(chuàng)建一個條目,其中的內(nèi)容‘當前狀態(tài)號2204是ST-01;后續(xù)狀態(tài)號1107是ST-02’被寫在默認狀態(tài)轉(zhuǎn)換表1102中。
在實際操作時,由于當當前狀態(tài)號2204是ST-01時事件狀態(tài)轉(zhuǎn)換表1101中不存在對應(yīng)的條目,因此不輸出事件一致信號1104,同時在默認狀態(tài)轉(zhuǎn)換表1102中正確無誤地使具有當前狀態(tài)號2204為ST-01的條目有效,后續(xù)狀態(tài)號1107因此變?yōu)镾T-02,其然后被輸出為后續(xù)狀態(tài)號2205。
然后,當當前狀態(tài)號是ST-02時,根據(jù)給定的條件,后續(xù)狀態(tài)號應(yīng)變?yōu)镾T-02、ST-03、ST-05或ST-11中的任一個,如圖3所示。當輸入事件EV-10時,該狀態(tài)應(yīng)該變?yōu)镾T-03。為了實現(xiàn)這一狀態(tài)轉(zhuǎn)換,創(chuàng)建一個條目,在其中寫入內(nèi)容‘當前狀態(tài)號2204是ST-02;事件標識碼2206是EV-10;后續(xù)狀態(tài)號1106是ST-03’。
類似地,當輸入事件EV-18時,該狀態(tài)應(yīng)變?yōu)镾T-05。為了實現(xiàn)這一狀態(tài)轉(zhuǎn)換,創(chuàng)建一個條目,在其中寫入內(nèi)容‘當前狀態(tài)號2204是ST-02;事件標識碼2206是EV-18;后續(xù)狀態(tài)號1106是ST-05’。類似地,當輸入事件EV-21時,該狀態(tài)應(yīng)變?yōu)镾T-11。為了實現(xiàn)這一狀態(tài)轉(zhuǎn)換,創(chuàng)建一個條目,在其中寫入內(nèi)容‘當前狀態(tài)號2204是ST-02;事件標識碼2206是EV-21;后續(xù)狀態(tài)號1106是ST-11’。這些條目創(chuàng)建在圖2所示的事件狀態(tài)轉(zhuǎn)換表1101中。
在另一種情形下,狀態(tài)應(yīng)變?yōu)镾T-02,如圖3所示。為了實現(xiàn)這一狀態(tài)轉(zhuǎn)換,在默認狀態(tài)轉(zhuǎn)換表1102中創(chuàng)建一個條目,在其中寫入‘當前狀態(tài)號2204是ST-02;后續(xù)狀態(tài)號1107是ST-02’。
根據(jù)上述表描述,當在當前狀態(tài)號2204是ST-02的條件下將EV-21輸入到事件標識碼2206時,在事件狀態(tài)轉(zhuǎn)換表1101中使與這二者的組合相一致的條目有效。因此,使指向ST-11的條目有效,因此將ST-11輸出為后續(xù)狀態(tài)號2205。此時,由于在事件狀態(tài)轉(zhuǎn)換表1101中發(fā)生出現(xiàn)一致,因此輸出事件一致信號1104,結(jié)果,在默認狀態(tài)轉(zhuǎn)換表1102中從ST-02(當前狀態(tài)號2204)引出的后續(xù)狀態(tài)號ST-02被丟棄。
另一方面,如果當前狀態(tài)號是ST-02,并且沒有向事件標識碼2206輸入EV-10、EV-18或EV-21,則不輸出事件一致信號1104,因此,從默認狀態(tài)轉(zhuǎn)換表1102輸出在其中從ST-02(當前狀態(tài)號2204)引出的后續(xù)狀態(tài)號ST-02,作為后續(xù)狀態(tài)號2205。
而且,在任一上述情形中,如果IRQ-01輸入到強制事件標識碼2210,則將強制狀態(tài)轉(zhuǎn)換表1103中對應(yīng)于IRQ-01的ST-01輸出為后續(xù)狀態(tài)號2205(見圖2)。在此情形下,輸出強制一致信號1105,因而丟棄事件狀態(tài)轉(zhuǎn)換表1101的輸出和默認狀態(tài)轉(zhuǎn)換表1102的輸出,只使得來自強制狀態(tài)轉(zhuǎn)換表1103的后續(xù)狀態(tài)號1109的ST-01有效。
發(fā)明內(nèi)容
在上述現(xiàn)有技術(shù)中,如參考圖2所述,利用CAM來確定處理器元件的狀態(tài)轉(zhuǎn)換目標。然而,一般地說,這種CAM作為存儲器來說具有很大的容量,因此成本很高。而且,一般地說,這種CAM比起普通存儲器例如ROM或RAM來說具有較低的訪問速率。因此,確定運算設(shè)備單元組中后續(xù)狀態(tài)所需的延遲可能會增大得產(chǎn)生問題。
為了解決這一問題而設(shè)計了本發(fā)明,本發(fā)明的目的在于提供一種用于可重配置運算設(shè)備單元組的狀態(tài)轉(zhuǎn)換目標確定方法,在該可重配置運算設(shè)備單元組中未應(yīng)用大容量存儲器例如一般難于提高其訪問速率的CAM來確定該可重配置運算設(shè)備單元組的狀態(tài)轉(zhuǎn)換目標,而是將普通存儲器例如RAM、ROM等等用于相同目的,并且應(yīng)用了一種預(yù)定方案,在其中通過邏輯運算來確定轉(zhuǎn)換目標地址,因此可用相對簡單的配置來實現(xiàn)狀態(tài)轉(zhuǎn)換目標的快速確定。本發(fā)明的另一個目的在于提供一種執(zhí)行該方法的運算裝置。
根據(jù)本發(fā)明,控制運算設(shè)備單元組中狀態(tài)轉(zhuǎn)換的定序器具有輸出轉(zhuǎn)換目標地址的功能,該地址從配置信息當中指定被提供來指定運算設(shè)備單元組的狀態(tài)以執(zhí)行給定任務(wù)的信息,所述配置信息是針對運算設(shè)備單元組的每個預(yù)定狀態(tài)而提供的。配置信息預(yù)先存儲在配置存儲器中。也就是說,為了執(zhí)行給定任務(wù),定序器基于預(yù)先注冊的信息(存儲在狀態(tài)表等中的操作代碼(以下可簡稱為‘操作碼’)等等)以及從運算設(shè)備單元組輸出的轉(zhuǎn)變條件信號來執(zhí)行操作。因而,定序器產(chǎn)生轉(zhuǎn)換目標地址以輸出到配置存儲器。
通過這一方案,為了執(zhí)行給定任務(wù),輸出到配置存儲器的轉(zhuǎn)換目標地址初始地是根據(jù)基于預(yù)先注冊的信息以及從運算設(shè)備單元組輸出的轉(zhuǎn)變條件信號而執(zhí)行的操作產(chǎn)生的。因此,可以避免應(yīng)用大容量存儲器例如CAM,可以快速確定狀態(tài)轉(zhuǎn)換目標地址,可以簡化定序器的配置,可以降低整個運算裝置的尺寸,因而可以降低其成本。
結(jié)合附圖閱讀時,從下面的詳細描述可更清楚地理解本發(fā)明的其他目的和特征圖1的方框圖示出了現(xiàn)有技術(shù)的一個示例中的陣列型處理器;圖2示出了圖1所示的狀態(tài)管理部件中包含的狀態(tài)轉(zhuǎn)換表存儲器(CAM)中設(shè)置的內(nèi)容;圖3示出了圖2所示的狀態(tài)轉(zhuǎn)換存儲器中設(shè)置的狀態(tài)轉(zhuǎn)換示例;圖4的方框圖示出了根據(jù)本發(fā)明實施例的運算裝置的基本配置;圖5示出了圖4所示的狀態(tài)轉(zhuǎn)換表的配置;圖6示出了圖4所示的轉(zhuǎn)換目標地址產(chǎn)生部件的配置;圖7的方框圖示出了根據(jù)本發(fā)明第一實施例的運算裝置的一般配置;圖8示出了應(yīng)用到本發(fā)明第一實施例的操作碼的功能;圖9的方框圖示出了根據(jù)本發(fā)明第二實施例的運算裝置的一般配置;圖10示出了應(yīng)用到本發(fā)明第二實施例的操作碼的功能;圖11示出了根據(jù)本發(fā)明實施例的地址轉(zhuǎn)換操作示例;圖12示出了根據(jù)本發(fā)明實施例的轉(zhuǎn)換目標地址產(chǎn)生部件的操作時序圖;圖13的方框圖示出了根據(jù)本發(fā)明第三實施例的運算裝置的一般配置;圖14到18根據(jù)本發(fā)明的實施例,分別示出了應(yīng)用于分支條件發(fā)生檢測以及從其處發(fā)生的轉(zhuǎn)變條件碼產(chǎn)生的配置;圖19到22示出了圖14到18所示的配置示例的操作的流程圖;
圖23A和23B示出了根據(jù)圖10所示的操作碼而執(zhí)行的轉(zhuǎn)換目標地址確定操作的流程圖;圖24A、24B和25示出了在圖23A和23B之外,包括應(yīng)用所確定的轉(zhuǎn)換目標地址在內(nèi)的操作的流程圖;圖26的方框圖示出了根據(jù)本發(fā)明第四實施例的運算裝置的一般配置;圖27A和27B示出了應(yīng)用到本發(fā)明第四實施例的操作碼的功能;圖28A和28B示出了根據(jù)圖27A和27B所示的操作碼而執(zhí)行的轉(zhuǎn)換目標地址確定操作的流程圖;圖29A、29B、30、31A、31B和32示出了在圖28A和28B之外,包括應(yīng)用所確定的轉(zhuǎn)換目標地址在內(nèi)的操作的流程圖;圖33到38示出了根據(jù)本發(fā)明實施例的轉(zhuǎn)變條件信號產(chǎn)生部件的配置;圖39到45示出了圖33到38所示的配置中的操作流程圖;并且圖46A、46B、47A和47B示出了可應(yīng)用到本發(fā)明每個實施例的配置信息的示例。
具體實施例方式
圖4的方框圖示出了根據(jù)本發(fā)明實施例的包括可重配置運算設(shè)備單元組的運算裝置。如圖所示,該運算裝置包括運算設(shè)備部件200,其包括實際執(zhí)行給定運算處理的運算設(shè)備單元組230-1到230-n;以及定序器100,其執(zhí)行對上述運算設(shè)備單元組的狀態(tài)控制,即執(zhí)行諸如對每個運算設(shè)備單元而確定改變狀態(tài)等控制,藉此來配置所述運算設(shè)備單元組以執(zhí)行預(yù)定運算處理。包括在運算設(shè)備單元組230-1到230-n中的每個運算設(shè)備單元203-i具有可響應(yīng)于外部指令(稱為配置信息)來改變其狀態(tài)的所謂的可重配置配置,因此,單個運算設(shè)備單元可選擇性地在任何時刻執(zhí)行各種類型的運算處理,即可選擇性地執(zhí)行加法/減法運算、乘法/除法運算等等(如下面參考圖46A到47B所述)。
而且,在運算設(shè)備單元組230-1到230-n之外,運算設(shè)備部件200還包括運算設(shè)備單元間連接網(wǎng)絡(luò)220,其選擇性地并可控制地在這些運算設(shè)備單元之間執(zhí)行電連接。而且,運算設(shè)備部件200包括配置存儲器210。配置存儲210在其中的每個地址處預(yù)先存儲了配置信息,用于控制運算設(shè)備部件200的狀態(tài),包括運算設(shè)備單元組230-1到230-n以及運算設(shè)備單元間連接網(wǎng)絡(luò)220的狀態(tài)。響應(yīng)于地址指令即用于轉(zhuǎn)換目標地址的指令,從其處將存儲在相關(guān)地址處的配置信息提供給運算設(shè)備單元組230-1到230-n或運算設(shè)備單元間連接網(wǎng)絡(luò)220,以向其實際應(yīng)用相關(guān)配置。
運算設(shè)備單元230-1到230-n中每一個的狀態(tài)由上述配置信息確定,因此運算設(shè)備單元可執(zhí)行預(yù)定類型的運算處理,或可實際開始運算處理。同時,根據(jù)該配置信息,可確定運算設(shè)備單元間連接網(wǎng)絡(luò)220在各個運算設(shè)備單元230-1到230-n之間的電連接狀態(tài)。因此,運算設(shè)備部件200進入的狀態(tài)使得各個運算設(shè)備單元230-1到230-n協(xié)同執(zhí)行一系列或多個處理的運算處理,以實現(xiàn)給定的任務(wù),或者進一步實際啟動其執(zhí)行。為實現(xiàn)所述任務(wù)的運算處理的執(zhí)行由上述配置信息啟動并繼續(xù)下去,或者響應(yīng)于作為觸發(fā)器因素外部給出的數(shù)據(jù)而被啟動并繼續(xù)下去。
定序器100包括狀態(tài)表120,其中存儲了用于一個或多個給定任務(wù)中的每一個任務(wù)的信息;轉(zhuǎn)換目標地址產(chǎn)生部件130,其基于從狀態(tài)表120讀出的任務(wù)信息來執(zhí)行邏輯運算,并輸出配置存儲器的轉(zhuǎn)換目標地址;狀態(tài)號寄存器140,其存儲當前根據(jù)從配置存儲器的上述轉(zhuǎn)換目標地址輸出的配置信息而在運算設(shè)備部件200中應(yīng)用的狀態(tài)的狀態(tài)號;以及狀態(tài)控制部件110,其從狀態(tài)表120讀取預(yù)定條件信息,并將之提供給轉(zhuǎn)換目標地址產(chǎn)生部件130。狀態(tài)控制部件110基于預(yù)定轉(zhuǎn)變條件信號(下面將參考圖14和后續(xù)附圖進行描述)和上述狀態(tài)號,讀取存儲在狀態(tài)表120中關(guān)于預(yù)定任務(wù)的條件信息,并將這樣讀取的條件信息提供給轉(zhuǎn)換目標地址產(chǎn)生部件130。
下面將詳細描述每個部件的操作。圖5示出了狀態(tài)表120的配置,圖6示出了轉(zhuǎn)換目標地址產(chǎn)生部件130的配置。根據(jù)本發(fā)明的實施例,與上述參考圖1到3所描述的現(xiàn)有技術(shù)的不同之處在于未使用CAM,而是使用了配置存儲器中表明當前狀態(tài)的轉(zhuǎn)換目標地址(即狀態(tài)號寄存器140的輸出),來作為向狀態(tài)表120給出的地址,用于確定運算設(shè)備單元組230-1到230-n的后續(xù)狀態(tài)。然后,根據(jù)本發(fā)明的實施例,為了可根據(jù)這樣給出的當前狀態(tài)地址來從多個狀態(tài)轉(zhuǎn)換目標中進行選擇,轉(zhuǎn)換目標地址產(chǎn)生部件130執(zhí)行邏輯運算以產(chǎn)生轉(zhuǎn)換目標地址。
如圖5所示,狀態(tài)表120的每個條目都具有操作碼和跳轉(zhuǎn)地址偏移值。操作碼意味著用于指定轉(zhuǎn)換模式的代碼。具體地說,例如,操作碼指定了下述3中轉(zhuǎn)換模式中的任一種,即(a)增加;(b)無條件跳轉(zhuǎn);和(c)條件分支。其中,(a)增加模式對應(yīng)于順序執(zhí)行模式,即在此模式中,向當前狀態(tài)號加1,因此選擇實際應(yīng)用緊鄰的后續(xù)號碼轉(zhuǎn)換目標地址。(b)無條件跳轉(zhuǎn)模式是這樣一種模式,其中將地址無條件地增加給定的跳轉(zhuǎn)偏移值,并將這樣獲得的地址應(yīng)用為轉(zhuǎn)換目標地址。(c)條件分支執(zhí)行是這樣一種模式,其中當滿足預(yù)定條件時,執(zhí)行與上述(b)模式中相同的分支(下面將參考圖14和后續(xù)附圖進行詳細描述),而當不滿足預(yù)定條件時,如上述(a)模式那樣僅將地址增加。
跳轉(zhuǎn)地址偏移值表示當發(fā)生上述條件分支時(上述(b)或(c)模式中),應(yīng)用為轉(zhuǎn)換目標地址的基底的基址,或者表示無條件跳轉(zhuǎn)目標地址。在上述(c)條件分支執(zhí)行中,滿足分支條件時的分支目標地址被計算為基址(跳轉(zhuǎn)地址偏移值)和編碼分支條件信號值(例如圖4所示的‘轉(zhuǎn)變條件信號’中所包括的轉(zhuǎn)變條件碼)二者的和,其中所述基址是在狀態(tài)轉(zhuǎn)換表120的相關(guān)條目中進行了描述,并被應(yīng)用為轉(zhuǎn)換目標地址的基底。另一方面,當不滿足分支條件時,僅執(zhí)行‘狀態(tài)號+1’的操作(順序執(zhí)行模式)。
下面將參考圖6詳細描述狀態(tài)表120和轉(zhuǎn)換目標地址產(chǎn)生部件130的操作。在狀態(tài)表120中,如上所述,每個條目中都注冊了操作碼和跳轉(zhuǎn)地址偏移值。作為上述狀態(tài)控制部件110的地址譯碼器從狀態(tài)號寄存器140讀取當前狀態(tài)號(配置存儲器地址),并據(jù)此指定狀態(tài)表120的相關(guān)條目。
狀態(tài)表120響應(yīng)于此,并因而將來自所述相關(guān)條目的操作碼和跳轉(zhuǎn)地址偏移值提供給轉(zhuǎn)換目標地址產(chǎn)生部件130。而且,從運算設(shè)備部件200提供的轉(zhuǎn)變條件信號中包括的轉(zhuǎn)變條件碼和轉(zhuǎn)變條件產(chǎn)生信號也被提供給轉(zhuǎn)換目標地址產(chǎn)生部件130(見圖6)。而且,將當前狀態(tài)號(當前狀態(tài)地址)從狀態(tài)號寄存器140提供給轉(zhuǎn)換目標地址產(chǎn)生部件130。
轉(zhuǎn)換目標地址產(chǎn)生部件130接收所述數(shù)據(jù),圖6所示的選擇器131根據(jù)所給出的操作碼確定應(yīng)該應(yīng)用上述轉(zhuǎn)換模式(a)、(b)和(c)中的哪一個。如果得到了順序執(zhí)行模式(a),則加法器132向當前狀態(tài)地址加‘1’,并將結(jié)果從選擇器131原樣輸出到配置存儲器210,作為指定了后續(xù)狀態(tài)的轉(zhuǎn)換目標地址。
另一方面,如果從給定操作碼中得到了無條件跳轉(zhuǎn)模式(b),則選擇器131將所提供的跳轉(zhuǎn)地址偏移值輸出到配置存儲器210,作為指定了后續(xù)狀態(tài)的轉(zhuǎn)換目標地址。
另一方面,如果從給定的操作碼得到了條件分支執(zhí)行(c),則加法器133將所提供的跳轉(zhuǎn)地址偏移值和包括在上述轉(zhuǎn)變條件信號中的轉(zhuǎn)變條件碼所表明的值相加到一起,選擇器131將這一結(jié)果輸出到配置存儲器210,作為指定后續(xù)狀態(tài)的轉(zhuǎn)換目標地址。此時,響應(yīng)于接收到包括在轉(zhuǎn)變條件信號中的轉(zhuǎn)變條件產(chǎn)生信號,將這樣獲得的轉(zhuǎn)換目標地址輸出到配置存儲器210。在運算設(shè)備部件200的運算處理的過程中,當滿足預(yù)定條件時產(chǎn)生所述轉(zhuǎn)變條件產(chǎn)生信號(見下述)。
下面將參考圖14和后續(xù)附圖詳細描述上述轉(zhuǎn)變條件信號的產(chǎn)生。
圖7示出了根據(jù)本發(fā)明第一實施例的運算裝置的配置。在所示出的配置中,向與上面已參考圖4描述的部件相同的部件給出相同的標號,并省略了重復(fù)性的描述。另外,在本示例中,與圖4的情形相同,提供了定序器100、運算設(shè)備單元組230-1到230-n和配置存儲器210。
與上述相同,定序器100包括狀態(tài)控制部件110、狀態(tài)表120、狀態(tài)號寄存器140和轉(zhuǎn)換目標地址產(chǎn)生部件130。狀態(tài)表120具有用于從外部取得狀態(tài)表信息(上述任務(wù)信息)的輸入端,并且,狀態(tài)表信息由所示出的預(yù)定狀態(tài)表信息加載部件150所加載。
另外,對于配置存儲器210,配置信息可通過配置信息加載部件240從外部加載到其中。
運算設(shè)備部件200包括多個運算設(shè)備單元230-1到230-n,以及在這些運算設(shè)備單元之間進行電連接的網(wǎng)絡(luò)220。而且,雖然省略了指示,但是還包括了多個基本元件,例如數(shù)據(jù)存儲器、數(shù)據(jù)I/O等等,它們對于基本的數(shù)據(jù)處理來說通常都是需要的。
如上所述,各個運算設(shè)備單元230-1到230-n的操作模式以及這些運算設(shè)備單元之間的連接狀態(tài)由配置信息設(shè)定。從配置存儲器210讀出配置信息,并提供給運算設(shè)備單元230-1到230-n中的各個單元以及網(wǎng)絡(luò)220,因此,確定了各個運算設(shè)備單元的操作模式以及網(wǎng)絡(luò)220的連接狀態(tài)。所述讀時序以及從其處讀取配置信息的配置存儲器地址是由上述定序器100產(chǎn)生的(下面還將描述)。
另外,從運算設(shè)備單元組輸出在運算設(shè)備單元組中產(chǎn)生的上述轉(zhuǎn)變條件信號。下面將描述,轉(zhuǎn)變條件信號的輸出發(fā)生在運算設(shè)備單元組中預(yù)定分支條件發(fā)生時、預(yù)定循環(huán)處理完成時等等。圖5所示的狀態(tài)表120的配置還示出了根據(jù)本發(fā)明第一實施例的狀態(tài)表120的配置。而且,圖8示出了使用根據(jù)本發(fā)明第一實施例的操作碼的轉(zhuǎn)換目標地址產(chǎn)生方法。而且,圖6所示的轉(zhuǎn)換目標地址產(chǎn)生部件130的配置還示出了根據(jù)本發(fā)明第一實施例的轉(zhuǎn)換目標地址產(chǎn)生部件130的配置。
在圖7所示的配置中,當前應(yīng)用的配置存儲器中的轉(zhuǎn)換目標地址是由狀態(tài)控制部件110從狀態(tài)號寄存器140讀出的,并據(jù)此讀取注冊在狀態(tài)表120的相關(guān)地址處的操作碼和跳轉(zhuǎn)地址偏移值。將這樣讀取的操作碼和跳轉(zhuǎn)地址偏移值提供給圖6所示的轉(zhuǎn)換目標地址產(chǎn)生部件130。
轉(zhuǎn)換目標地址產(chǎn)生部件130根據(jù)給出的指令對給出的信息執(zhí)行邏輯運算,所述信息即當前應(yīng)用的配置存儲器中的轉(zhuǎn)換目標地址(當前狀態(tài)地址)、上述跳轉(zhuǎn)地址偏移值和轉(zhuǎn)變條件信號,并將運算結(jié)果輸出到配置存儲器210。具體地說,如圖8所示,當操作碼是00時,向當前狀態(tài)地址加‘1’,并如此輸出后續(xù)地址。當操作碼是01時,無條件輸出根據(jù)跳轉(zhuǎn)地址偏移值的分支目標地址值。如果操作碼是11,那么,如上所述,當預(yù)定分支條件滿足時,將轉(zhuǎn)變條件碼值加到跳轉(zhuǎn)地址偏移值,并輸出如此獲得的分支目標地址值,而當不滿足上述預(yù)定分支條件時,與操作碼是00的情形相同,僅向當前狀態(tài)地址加‘1’并輸出結(jié)果(對應(yīng)于順序執(zhí)行模式)。
圖9示出了根據(jù)本發(fā)明第二實施例的配置。圖9具體地示出了轉(zhuǎn)換目標地址產(chǎn)生部件130的細節(jié)。根據(jù)第二實施例,在上述第一實施例的配置之外,增加了基址寄存器138-2和跳轉(zhuǎn)寄存器138-3?;芳拇嫫?38-2保持當前執(zhí)行的應(yīng)用的基址。因此,即使由于對當前應(yīng)執(zhí)行哪個應(yīng)用作出臨時的切換,因而中斷應(yīng)用的執(zhí)行時,在中斷被取消后,也可從中斷發(fā)生時的狀態(tài)重新啟動該應(yīng)用,這是因為可從基址寄存器保持的地址重新啟動執(zhí)行。
跳轉(zhuǎn)寄存器138-3是這樣一個寄存器,其中寫入了運算設(shè)備單元組230執(zhí)行的運算處理的結(jié)果,因此,可以根據(jù)運算處理的結(jié)果動態(tài)指定跳轉(zhuǎn)目標。而且,跳轉(zhuǎn)寄存器138-3可在其中寫入上述轉(zhuǎn)變條件碼值。
圖10示出了根據(jù)第二實施例的每個操作碼的操作示例。當操作碼是000時,向當前狀態(tài)地址(當前狀態(tài)號)加‘1’,因而獲得將要應(yīng)用的轉(zhuǎn)換目標地址。此時,忽略狀態(tài)表的跳轉(zhuǎn)地址偏移字段中的值。
當操作碼是001時,應(yīng)用無條件跳轉(zhuǎn)模式(1)。在此情形下,將上述基址值(即基址寄存器中的值)加到狀態(tài)表120中的跳轉(zhuǎn)地址偏移值,從而獲得所應(yīng)用的轉(zhuǎn)換目標。
當操作碼是010時,應(yīng)用條件分支執(zhí)行(1)。在此情形下,運算設(shè)備單元組的處理期間滿足預(yù)定分支條件時,將這一信息發(fā)送到上述轉(zhuǎn)變條件信號產(chǎn)生部件250。轉(zhuǎn)變條件信號產(chǎn)生部件250中設(shè)置有對應(yīng)于每個預(yù)定配置的要執(zhí)行的操作(下面將描述),并基于所設(shè)置的信息,產(chǎn)生上述轉(zhuǎn)變條件碼信號和轉(zhuǎn)變條件產(chǎn)生信號。然后,將轉(zhuǎn)變條件產(chǎn)生信號發(fā)送到狀態(tài)控制部件140和轉(zhuǎn)換目標地址產(chǎn)生部件130,還將轉(zhuǎn)變條件碼從其處發(fā)送到轉(zhuǎn)換目標地址產(chǎn)生部件130。轉(zhuǎn)換目標地址產(chǎn)生部件130執(zhí)行運算‘基址+跳轉(zhuǎn)地址偏移+轉(zhuǎn)變條件碼’,如是計算將要實際應(yīng)用的轉(zhuǎn)換目標地址。當不滿足分支條件時,執(zhí)行與操作碼是000時相同的操作(對應(yīng)于順序執(zhí)行模式)。
當操作碼是011時,應(yīng)用條件分支執(zhí)行(2)。在此情形下,運算設(shè)備單元組的處理期間滿足預(yù)定分支條件時,將這一信息發(fā)送到上述轉(zhuǎn)變條件信號產(chǎn)生部件250。如上所述,轉(zhuǎn)變條件信號產(chǎn)生部件250中設(shè)置有對應(yīng)于每個預(yù)定配置的要執(zhí)行的操作,并基于所設(shè)置的信息,產(chǎn)生轉(zhuǎn)變條件產(chǎn)生信號。然后,將轉(zhuǎn)變條件產(chǎn)生信號發(fā)送到狀態(tài)控制部件140和轉(zhuǎn)換目標地址產(chǎn)生部件130。轉(zhuǎn)換目標地址產(chǎn)生部件130執(zhí)行運算‘基址+跳轉(zhuǎn)地址偏移+跳轉(zhuǎn)寄存器值’,如是計算將要實際應(yīng)用的轉(zhuǎn)換目標地址。從運算設(shè)備單元方將跳轉(zhuǎn)寄存器值寫入跳轉(zhuǎn)寄存器138-3,這發(fā)生在滿足分支條件之前或同時。當不滿足分支條件時,執(zhí)行與操作碼是000時相同的操作(對應(yīng)于順序執(zhí)行模式)。
當操作碼是101時,應(yīng)用無條件跳轉(zhuǎn)模式(2)。在此情形下,將基址和跳轉(zhuǎn)寄存器值加到跳轉(zhuǎn)地址偏移值,如是獲得將要應(yīng)用的轉(zhuǎn)換目標地址。
圖11示出了在一項處理中確定的轉(zhuǎn)換目標地址的實際轉(zhuǎn)換示例。在該示例中,假設(shè)基址是0x000。在圖11中,由于一直到第3行操作碼都是000,因此應(yīng)用順序執(zhí)行模式,因而將應(yīng)用到配置存儲器的地址依次加1(0x00到0x02)。
由于在第4行操作碼是010,因此應(yīng)用條件分支執(zhí)行模式(1),在此情形下,在運算設(shè)備單元組中未滿足預(yù)定條件。因此,實際應(yīng)用順序執(zhí)行模式,忽略跳轉(zhuǎn)偏移值0x080,并將地址0x03應(yīng)用到配置存儲器。
之后,由于在第5和6行操作碼是000,因此應(yīng)用順序執(zhí)行模式,因而將應(yīng)用到配置存儲器的地址依次加1,從0x04到0x05。然后,狀態(tài)表120給出操作碼010。在此情形下,運算設(shè)備單元組中滿足預(yù)定條件,因此從運算“基址+轉(zhuǎn)變條件碼+跳轉(zhuǎn)地址偏移”獲得將應(yīng)用的轉(zhuǎn)換目標地址。實際中,由于‘0+1+100’=101,因此應(yīng)用地址0x101(在圖11中,見‘條件跳轉(zhuǎn)’)。在此情形下,可根據(jù)所給出的‘轉(zhuǎn)變條件碼’選擇地址0x100到0x103中任意之一。
然后,給出操作碼001,因此應(yīng)用無條件跳轉(zhuǎn)模式,結(jié)果從運算‘跳轉(zhuǎn)地址偏移+基址’獲得將應(yīng)用的轉(zhuǎn)換目標地址。實際中,由于0x140+0=0x140,因此轉(zhuǎn)換得到地址0x140。然后,給出操作碼000,應(yīng)用順序執(zhí)行模式,因此所應(yīng)用的地址依次從0x140改變到0x143。之后,給出操作碼011。
因而應(yīng)用條件分支執(zhí)行模式(2)。在此情形下,從運算‘跳轉(zhuǎn)地址偏移+基址+跳轉(zhuǎn)寄存器值’獲得轉(zhuǎn)換目標地址。在此情形下,假設(shè)運算設(shè)備單元組中滿足預(yù)定條件,并且此時跳轉(zhuǎn)寄存器(138-3)值是0x180。因此0x000+0+0x180=0x180。因此,轉(zhuǎn)換得到地址0x180。然后,由于操作碼是000而應(yīng)用順序執(zhí)行模式,因此,地址依次從0x180改變到0x181,如圖11所示。
圖12示出了上述轉(zhuǎn)換目標地址產(chǎn)生部件130的操作流程圖的一個示例。這對應(yīng)于圖11所示的示例,并示出了從狀態(tài)號寄存器140中的值即當前狀態(tài)號從0x006改變到0x007時(圖12的第1行上,左側(cè))開始的操作。狀態(tài)控制部件110讀該值,然后從狀態(tài)表120的相關(guān)條目讀操作碼010和跳轉(zhuǎn)地址偏移0x100,并將它們提供給轉(zhuǎn)換目標地址產(chǎn)生部件130(本圖第2行)。轉(zhuǎn)換目標地址產(chǎn)生部件130接收它們,并如上所述地對其執(zhí)行運算。結(jié)果它獲得轉(zhuǎn)換目標地址0x101,然后提供給配置存儲器210(本圖第3到6行)。然后,從配置存儲器210將注冊在如是提供的地址中的配置信息提供給運算設(shè)備單元組230(本圖的最底行)。因此,運算設(shè)備單元組的狀態(tài)改變?yōu)橄嚓P(guān)的狀態(tài)。
在此操作期間,狀態(tài)號寄存器140的值由轉(zhuǎn)換目標地址產(chǎn)生部件130的輸出更新為0x101(返回到圖12的頂行)。因此,將狀態(tài)表120的相關(guān)條目中的操作碼001和跳轉(zhuǎn)地址偏移0x140提供給轉(zhuǎn)換目標地址產(chǎn)生部件130(第2行)。因此,通過上述運算,從轉(zhuǎn)換目標地址產(chǎn)生部件130輸出轉(zhuǎn)換目標地址0x140(未示出)。
雖然第二實施例中使用了基址寄存器138-2,但是當未執(zhí)行將多個應(yīng)用的必要信息同時設(shè)置在狀態(tài)表和配置存儲器中這樣的操作時這不是必須的。而且,雖然跳轉(zhuǎn)地址偏移值被定義為將要增加到基址上的一個值,但是也可以應(yīng)用一種不同的方式,在其中將跳轉(zhuǎn)地址偏移值增加到當前狀態(tài)地址以獲得轉(zhuǎn)換目標地址。
圖13示出了本發(fā)明第三實施例。在本實施例中,與上述圖9所示的第二實施例的不同之處在于轉(zhuǎn)變條件信號被輸入到跳轉(zhuǎn)寄存器138-3。在此情形下,操作碼所確定的操作模式是操作碼010的模式和操作碼011的模式之間的組合。也就是說,在此情形下,從運算‘基址+跳轉(zhuǎn)地址偏移+跳轉(zhuǎn)寄存器值‘的結(jié)果獲得轉(zhuǎn)換目標地址。
參考圖14到18描述每個實施例中轉(zhuǎn)變條件信號產(chǎn)生部件250的具體配置示例。圖14示出了可應(yīng)用到每個實施例的分支條件發(fā)生檢測和轉(zhuǎn)變條件碼產(chǎn)生的第一配置示例。在本示例中,未提供專用的運算設(shè)備單元來用于分支條件發(fā)生檢測和轉(zhuǎn)變條件碼產(chǎn)生,但是,通過設(shè)置存儲在配置存儲器210中的配置信息,可將包括在運算設(shè)備單元組230中的預(yù)定運算設(shè)備單元230-a、230-b和230-c以及一個開關(guān)(可以利用包括在運算設(shè)備單元間網(wǎng)絡(luò)220中的開關(guān))應(yīng)用于此目的。在此情形下,不必在運算設(shè)備單元組230中提供專用/附加的功能/設(shè)備。
圖15示出了可應(yīng)用到每個實施例的分支條件發(fā)生檢測和轉(zhuǎn)變條件碼產(chǎn)生的第二配置示例。在本示例中,在預(yù)定運算設(shè)備單元(230-a)中提供了條件確定功能,并利用其來執(zhí)行分支條件發(fā)生檢測和轉(zhuǎn)變條件碼產(chǎn)生。例如,可在運算設(shè)備單元230-a中提供這樣一種配置,即當運算結(jié)果是0時,從其輸出條件確定結(jié)果。
圖16示出了可應(yīng)用到每個實施例的分支條件發(fā)生檢測和轉(zhuǎn)變條件碼產(chǎn)生的第三配置示例。在本示例中,與上述第二示例相同,在預(yù)定運算設(shè)備單元230-a和230-b中提供了條件確定功能,并利用其來執(zhí)行分支條件發(fā)生檢測和轉(zhuǎn)變條件碼產(chǎn)生。然而,在本示例中監(jiān)控來自多個運算設(shè)備單元230-a和230-b的條件確定輸出。然后,運算設(shè)備單元230-c根據(jù)已從所述源中的哪一個提供了相關(guān)條件確定輸出,選擇性地產(chǎn)生不同的轉(zhuǎn)變條件碼。
圖17示出了可應(yīng)用到每個實施例的分支條件發(fā)生檢測和轉(zhuǎn)變條件碼產(chǎn)生的第四配置示例。在本示例中,與上述示例不同,提供了專用的轉(zhuǎn)變條件信號產(chǎn)生部件250。轉(zhuǎn)變條件信號產(chǎn)生部件250響應(yīng)于給定的條件確定輸出A或B,以根據(jù)所應(yīng)用的配置信息而確定的方式,產(chǎn)生轉(zhuǎn)變條件碼。
圖18示出了可應(yīng)用到每個實施例的分支條件發(fā)生檢測和轉(zhuǎn)變條件碼產(chǎn)生的第五配置示例。在本示例中,應(yīng)用了專用的比較器單元230-k來用于分支條件發(fā)生檢測。根據(jù)本示例,可以減小為此目的而所需的運算設(shè)備單元的總數(shù)量。
下面參考附圖描述參考圖14到18所描述的配置示例中的操作流程。圖19示出了應(yīng)用了單個條件確定單元(即圖14、15和18的情形)時的操作流程圖。圖20示出了應(yīng)用了單個條件確定單元,并且該單元還用作為向定序器100輸出轉(zhuǎn)變條件碼的單元時的操作流程圖。
在圖19的情形中,在步驟S1,對于用作為條件確定單元或比較器的運算設(shè)備單元,即分別用于圖14、15或18的運算設(shè)備單元230-b、230-a或比較器230-k,用于比較的參考值由配置信息事先設(shè)置。在步驟S2,該運算設(shè)備單元或比較器接收來自另一個運算設(shè)備單元的預(yù)定運算處理結(jié)果。在步驟S3,該運算設(shè)備單元或比較器執(zhí)行對所述運算處理結(jié)果和上述比較參考值之間的比較。然后,如果比較結(jié)果是‘一致’,則在步驟S4輸出‘一致標志’。
另一個運算設(shè)備單元即分別用于圖14、15或18的運算設(shè)備單元230-c、230-b或230-c在步驟S5接收所述一致標志。同時,延遲設(shè)備230-d也在步驟S8接收該一致標志。在步驟S6,該另一個運算設(shè)備單元產(chǎn)生預(yù)定轉(zhuǎn)變條件碼,并在步驟S7將該碼輸出到定序器100。在步驟S9,所述延遲設(shè)備產(chǎn)生一個延遲,其對應(yīng)于所述另一個運算設(shè)備單元在步驟S6和S7中執(zhí)行轉(zhuǎn)變條件碼產(chǎn)生處理所需的延遲,在如是產(chǎn)生的延遲之后,延遲設(shè)備將轉(zhuǎn)變條件產(chǎn)生信號輸出到定序器100。
在圖20的流程圖中,步驟S21到S24的操作與上述步驟S1到S4相同。之后,作為條件確定單元的運算設(shè)備單元將一致標志作為轉(zhuǎn)變條件碼直接輸出到定序器100,并將轉(zhuǎn)變條件產(chǎn)生信號輸出到定序器100,而不使用所述另一個運算設(shè)備單元、延遲設(shè)備等等。
圖21和22示出了應(yīng)用兩個條件確定單元(即圖16和17的情形)時的操作流程。具體地說,圖21示出了這兩個條件確定單元的轉(zhuǎn)變條件滿足條件彼此獨立時的示例。也就是說,這一情形是當下述處理中發(fā)生分支時,發(fā)生配置轉(zhuǎn)變的情形if(x=A){…}if(y=B){…}另一方面,圖22示出了下述示例,其中,一個轉(zhuǎn)變條件滿足條件依賴于另一個,即根據(jù)下述處理中的‘if…else’嵌套內(nèi)部狀態(tài)而應(yīng)用不同配置內(nèi)容if(x=A){if(y=B){}else{}.
.
}else{if(y=B){}else{}.
.
}在圖21和22中,步驟S31到S34中的處理、步驟S35到S38的處理、步驟S51到S54的處理以及步驟S55到S58的處理當中的每一個都與圖19的步驟S1到S4的處理相同。在步驟S39,產(chǎn)生轉(zhuǎn)變條件碼的運算設(shè)備單元從步驟S34或S38接收一致標志A或B,在步驟S40產(chǎn)生轉(zhuǎn)變條件碼,并在步驟S41將其提供給定序器100。另一方面,在步驟S42,產(chǎn)生轉(zhuǎn)變條件碼的運算設(shè)備單元從步驟S34或S38接收一致標志A或B,在步驟S43執(zhí)行運算‘一致標志A或一致標志B’,即在接收一致標志A或B時提供“真”輸出。在步驟S44,響應(yīng)于此,在從步驟S43獲得的“真”輸出的情形下,將轉(zhuǎn)變條件產(chǎn)生信號提供給定序器100。
在圖22的步驟S59到S61以及步驟S62到S64也分別與步驟S39到S41以及步驟S42到S44基本相同。然而,在圖22中,轉(zhuǎn)變條件碼產(chǎn)生運算設(shè)備單元中的轉(zhuǎn)變條件碼產(chǎn)生方法根據(jù)if語句和條件確定后發(fā)生的配置內(nèi)容之間的轉(zhuǎn)變方式而不同。也就是說,如上所述,可根據(jù)‘if…else’嵌套內(nèi)發(fā)生的操作內(nèi)容而應(yīng)用不同的配置。因此,可以在步驟S60中各異地設(shè)置轉(zhuǎn)變條件碼產(chǎn)生操作的內(nèi)容,以使得可相應(yīng)地選擇性應(yīng)用不同的配置。
圖23A和23B示出了使用圖10所示的操作碼的轉(zhuǎn)換目標地址確定操作的操作流程圖。在步驟S71,確定給定的操作碼是否表明順序執(zhí)行模式。如果結(jié)果是“是”,則將當前應(yīng)用的配置存儲器地址加‘1’,并因此在步驟S72獲得后續(xù)轉(zhuǎn)換目標地址。如果結(jié)果是“否”,則在步驟S73確定操作碼是否表明上述無條件跳轉(zhuǎn)模式(1)。如果結(jié)果是“是”,則在步驟S74從運算‘跳轉(zhuǎn)地址偏移值+基址值’獲得轉(zhuǎn)換目標地址。如果結(jié)果是“否”,則在步驟S75確定操作碼是否表明上述無條件跳轉(zhuǎn)模式(2)。
如果結(jié)果是“是”,則在步驟S76從運算‘跳轉(zhuǎn)地址偏移值+基址值+跳轉(zhuǎn)寄存器值’獲得后續(xù)轉(zhuǎn)換目標地址。如果結(jié)果是“否”,則在步驟S77確定操作碼是否表明上述條件分支執(zhí)行模式(1)。如果結(jié)果是“是”,則在步驟S78確定是否發(fā)生了預(yù)定分支條件。如果結(jié)果是“是”,則在步驟S79從運算‘跳轉(zhuǎn)地址偏移值+基址值+轉(zhuǎn)變條件碼值’獲得后續(xù)轉(zhuǎn)換目標地址。如果結(jié)果是“否”,則在步驟S80從將當前地址加‘1’,以獲得后續(xù)轉(zhuǎn)換目標地址。
如果步驟S77的結(jié)果是“否”,則在步驟S81確定操作碼是否表明上述條件分支執(zhí)行模式(2)。如果結(jié)果是“是”,則在步驟S78確定是否已發(fā)生分支條件。如果結(jié)果是“是”,則在步驟S82從運算‘跳轉(zhuǎn)地址偏移值+基址值+跳轉(zhuǎn)寄存器值’獲得后續(xù)轉(zhuǎn)換目標地址。如果結(jié)果是“否”,則在步驟S83將當前地址加1,以獲得后續(xù)轉(zhuǎn)換目標地址。
圖24A、24B和25的流程圖除了示出了包括在圖23A和23B的操作流程中的操作,還示出了圖9所示的狀態(tài)保持計數(shù)器136的操作。在這些附圖中,步驟S91、S92、S95、S99、S100、S103、S104、S105、S108、S111、S112和S115分別和圖23A和23B所示的步驟S71到S83相同。這里,在步驟S92中獲得轉(zhuǎn)換目標地址之后,在步驟S93執(zhí)行狀態(tài)保持計數(shù)器檢查。也就是說,在圖25的步驟S121,參考狀態(tài)保持計數(shù)器136中的數(shù)值,如果該值是0,則執(zhí)行圖24A中的后續(xù)步驟。然而,如果該值非零,則將該計數(shù)器的數(shù)值遞減1,即從其減‘1’(步驟S122)。重復(fù)步驟S121和S122的循環(huán),直到計數(shù)器中的值變?yōu)?。因此,可以任意控制將后續(xù)轉(zhuǎn)換目標地址實際應(yīng)用到配置存儲器210的定時。
在如是執(zhí)行上述狀態(tài)保持計數(shù)器檢查處理后,將相關(guān)轉(zhuǎn)換目標地址提供給配置存儲器210,因此從配置存儲器210將相關(guān)配置信息提供給預(yù)定運算設(shè)備單元230-n。因此,實際應(yīng)用了相關(guān)配置信息。另外,在步驟S97,執(zhí)行相同的狀態(tài)保持計數(shù)器檢查處理,之后,在步驟S98實際應(yīng)用相關(guān)轉(zhuǎn)換目標地址。
步驟S107和S110與上述步驟S121和S122相同。然而,在此情形下,每次遞減狀態(tài)保持計數(shù)器136中的數(shù)值時,都在步驟S104確定是否發(fā)生了預(yù)定分支條件。然后,如果在計數(shù)器中的數(shù)值變?yōu)榱阒鞍l(fā)生了預(yù)定分支條件,則在步驟S105和S106實際執(zhí)行發(fā)生預(yù)定分支條件時應(yīng)執(zhí)行的預(yù)定處理。類似地,在步驟S114和S117的情形下,每次遞減狀態(tài)保持計數(shù)器136中的數(shù)值時,也在步驟S111確定是否發(fā)生了預(yù)定分支條件。然后,如果在計數(shù)器中的數(shù)值變?yōu)榱阒鞍l(fā)生了預(yù)定分支條件,則在步驟S112和S113實際執(zhí)行發(fā)生預(yù)定分支條件時應(yīng)執(zhí)行的預(yù)定處理。
圖26示出了根據(jù)本發(fā)明第四實施例的運算裝置的配置。在本實施例中,與圖9所示的第三實施例不同,從轉(zhuǎn)變條件信號產(chǎn)生部件250將預(yù)定循環(huán)結(jié)束信號提供給定序器100中的轉(zhuǎn)換目標地址產(chǎn)生部件130。圖27A和27B示出了使用根據(jù)第四實施例的操作碼時的轉(zhuǎn)換目標地址確定方式。在圖27A中,根據(jù)操作碼0000,應(yīng)用與圖10的操作碼000相同的順序執(zhí)行模式。在此情形下,確定狀態(tài)保持計數(shù)器136具有值0時,僅僅實際應(yīng)用后續(xù)轉(zhuǎn)換目標地址。操作碼0001、0010、0011和0101各自的模式與圖10所示的操作碼001、101、011和101的模式相同。
另一方面,根據(jù)圖27B所示的操作碼1000,當轉(zhuǎn)換目標地址產(chǎn)生部件130已接收到上述循環(huán)結(jié)束信號時,實際應(yīng)用相關(guān)轉(zhuǎn)換目標地址。這一點與上述操作碼0000的情形不同。類似地,在操作碼1001、1010、1011和1101各自的情形中,與上述操作碼0001、0010、0011和0101不同之處在于,不是‘在確定狀態(tài)保持計數(shù)器是0之后’,而是‘在已接收到循環(huán)結(jié)束信號后’,輸出后續(xù)轉(zhuǎn)換目標地址。
圖28A、28B、29A、29B、30、31A、31B和32示出了根據(jù)第四實施例,確定并應(yīng)用轉(zhuǎn)換目標地址的操作流程圖。在圖28A和28B中,步驟S131到步驟S143與圖23A和23B中的步驟S71到S83相同。然而,在步驟S138和S 141中,與步驟S72和S81的不同之處在于,不是確定‘是否已發(fā)生分支條件’,而是確定是否已滿足條件‘已發(fā)生轉(zhuǎn)變條件并且尚未接收到循環(huán)結(jié)束信號’。然后,如果確定結(jié)果是“是”,則在步驟S139或S142執(zhí)行當滿足分支條件時應(yīng)執(zhí)行的預(yù)定處理。如果結(jié)果是“否”,則在步驟S140或S143執(zhí)行順序執(zhí)行模式的處理。
圖29A、29B、30、31A、31B和32示出的流程圖除了包括圖28A和28B中的轉(zhuǎn)換目標地址確定操作之外,還包括向配置存儲器210實際應(yīng)用如是確定的轉(zhuǎn)換目標地址的操作,以使得可在運算設(shè)備單元230-n中設(shè)置相關(guān)配置信息并向其應(yīng)用該配置信息。圖30與圖25相同,因而省略了對其重復(fù)的描述。而且,在圖29A和29B中,步驟S151到S170分別與圖24A和24B中的步驟S91到S110相同,另外,步驟S172到S178分別與步驟S111到S117相同,因而省略了對其重復(fù)的描述。
如果在步驟S163確定操作碼未表明條件分支執(zhí)行模式(1),即如果確定操作碼不是0010,則執(zhí)行步驟S171。在步驟S171,確定操作碼是否表明條件分支執(zhí)行模式(2),即確定操作碼是否是0011。如果其結(jié)果是“是”,則執(zhí)行從步驟S172開始的條件分支執(zhí)行模式(2)的預(yù)定處理。如果結(jié)果是“否”,則執(zhí)行圖31A中的步驟S191。
圖31A和31B中的處理示出了圖27B所示的操作碼1000到1101的情形下的操作。圖31A和31B中的步驟S191到S215分別對應(yīng)于圖24A和24B的步驟S91到S117中的操作。其間的差別將在下面描述。也就是說,取代于在圖24A的步驟S93中檢查狀態(tài)保持計數(shù)器,執(zhí)行圖31A的步驟S193中的循環(huán)結(jié)束檢查。如圖32所示,該處理在步驟S221確定是否已接收到上述預(yù)定循環(huán)結(jié)束信號。然后,當已接收到該信號時,執(zhí)行后續(xù)步驟即步驟S194,因此應(yīng)用后續(xù)轉(zhuǎn)換目標地址的相關(guān)配置信息。也在步驟S201中執(zhí)行與步驟S101對應(yīng)的相同處理。
而且,取代于在圖24B的步驟S107確定狀態(tài)保持計數(shù)器是否是零,在步驟S205確定是否已接收到循環(huán)結(jié)束信號。當結(jié)果是尚未接收到該信號時,在步驟S206和S207執(zhí)行滿足分支條件(轉(zhuǎn)變條件發(fā)生)后的處理。另一方面,如果已接收到循環(huán)結(jié)束信號,則在步驟S208和S209執(zhí)行對應(yīng)于順序執(zhí)行模式的處理。類似地,在步驟S211確定是否已接收到循環(huán)結(jié)束信號。如果結(jié)果是尚未接收到該信號,則在步驟S212和S213執(zhí)行滿足分支條件(轉(zhuǎn)變條件發(fā)生)后的處理。如果已接收到循環(huán)結(jié)束信號,則在步驟S214和S215執(zhí)行對應(yīng)于順序執(zhí)行模式的處理。
參考圖33到45,詳細描述可應(yīng)用到本發(fā)明每個實施例的轉(zhuǎn)變條件碼信號和轉(zhuǎn)變條件產(chǎn)生信號的產(chǎn)生的配置。圖33示出了與在運算設(shè)備單元組230中產(chǎn)生轉(zhuǎn)變條件碼信號和轉(zhuǎn)變條件產(chǎn)生信號相關(guān)的電路圖。圖34在此之外還示出了與下面將描述的數(shù)據(jù)使能信號獲得處理相關(guān)的配置。圖35、36、37和38更詳細地示出了與產(chǎn)生轉(zhuǎn)變條件碼信號和轉(zhuǎn)變條件產(chǎn)生信號相關(guān)的電路配置。圖39到45示出了這些電路配置執(zhí)行的處理的流程圖。
在圖33中,將從包括在運算設(shè)備單元組230中的運算設(shè)備單元230-0到230-3當中的運算設(shè)備單元230-2獲得的信號提供給轉(zhuǎn)變條件信號產(chǎn)生部件250。轉(zhuǎn)變條件信號產(chǎn)生部件250執(zhí)行預(yù)定邏輯運算,并因此產(chǎn)生上述轉(zhuǎn)變條件碼信號、轉(zhuǎn)變條件產(chǎn)生信號、循環(huán)結(jié)束信號等等,并提供給定序器100。
而且,如圖34所示,在運算設(shè)備單元組230中提供了數(shù)據(jù)使能信號選擇開關(guān)281。開關(guān)281的狀態(tài)設(shè)置根據(jù)上述配置信息執(zhí)行。根據(jù)該設(shè)置內(nèi)容,提供給開關(guān)281的許多數(shù)據(jù)使能信號之一被選擇來提供給轉(zhuǎn)變條件信號產(chǎn)生部件250。提供給開關(guān)281的許多數(shù)據(jù)使能信號包括伴隨外部輸入數(shù)據(jù)、RAM地址輸入信號等等的使能信號,如圖所示。
圖35示出了上述轉(zhuǎn)變條件信號產(chǎn)生部件250的電路圖。如圖所示,產(chǎn)生部件250包括循環(huán)結(jié)束確定部件250A和轉(zhuǎn)變條件碼產(chǎn)生單元250B。例如,當由于ALU執(zhí)行運算設(shè)備單元230-i中的比較處理而獲得‘一致’時,從其輸出‘條件滿足信號’。從所述運算設(shè)備單元輸出的這些信號然后被提供給轉(zhuǎn)變條件信號產(chǎn)生部件250。轉(zhuǎn)變條件信號產(chǎn)生部件250然后對這些信號進行邏輯運算,并因而產(chǎn)生轉(zhuǎn)變條件產(chǎn)生信號、循環(huán)結(jié)束信號、轉(zhuǎn)變條件碼信號等等,并提供給定序器100。
圖36示出了上述循環(huán)結(jié)束確定部件250A的電路圖。這包括數(shù)據(jù)使能計數(shù)器251,其接收并計數(shù)上述數(shù)據(jù)使能信號;預(yù)期循環(huán)次數(shù)保持部件252,其中根據(jù)配置信息等而設(shè)置了一個參考值,作為根據(jù)運算設(shè)備單元組230中的運算處理的結(jié)果而設(shè)置的循環(huán)操作的次數(shù);比較器253,其在計數(shù)器251和保持部件252的值之間進行比較;周期計數(shù)器254,其在從比較器253接收到‘一致’結(jié)果后,以預(yù)定次數(shù)對所述裝置內(nèi)準備的時鐘脈沖進行計數(shù);循環(huán)結(jié)束偏移保持部件255,其設(shè)置上述預(yù)定次數(shù);比較器256,其在計數(shù)器254和保持部件255的值之間進行比較;或設(shè)備258,其在比較器256的比較結(jié)果(預(yù)轉(zhuǎn)變條件產(chǎn)生通知信號0)和預(yù)轉(zhuǎn)變條件產(chǎn)生通知信號1之間進行或運算;以及與設(shè)備257,其在預(yù)轉(zhuǎn)變條件產(chǎn)生通知信號0與預(yù)轉(zhuǎn)變條件產(chǎn)生通知信號1的逆值之間進行與運算。通過這一配置,可以與將在運算裝置中執(zhí)行的數(shù)據(jù)處理的每個具體給定的設(shè)置條件相匹配的時序來產(chǎn)生循環(huán)結(jié)束信號和轉(zhuǎn)變條件產(chǎn)生信號。
圖37示出了上述轉(zhuǎn)變條件碼產(chǎn)生單元250B的電路圖。如圖所示,該產(chǎn)生單元250B包括開關(guān)265到268,用于接收由運算設(shè)備單元組230提供的上述條件滿足信號,根據(jù)配置信息的設(shè)置從其中進行選擇,并向轉(zhuǎn)變條件碼產(chǎn)生部件260到263輸出如是選擇的信號;轉(zhuǎn)變條件碼產(chǎn)生部件260到263,其響應(yīng)于來自開關(guān)265到268的輸出,輸出唯一的轉(zhuǎn)變條件碼;優(yōu)先權(quán)選擇器264(210),其向如是輸出的轉(zhuǎn)變條件碼給出優(yōu)先權(quán),執(zhí)行最終的選擇,并如是輸出最終的轉(zhuǎn)變條件碼信號;以及或設(shè)備269,其接收上述條件滿足信號,對其進行或運算,并將運算結(jié)果輸出為上述預(yù)轉(zhuǎn)變條件產(chǎn)生通知信號1。
圖38示出了每個上述轉(zhuǎn)變條件碼產(chǎn)生部件的電路圖。如圖所示,每個轉(zhuǎn)變條件碼產(chǎn)生部件都包括ROM,接收到輸入其中的條件滿足信號時,從其讀出唯一的數(shù)據(jù)作為轉(zhuǎn)變條件碼。在本示例中,響應(yīng)于具有4個輸入端的條件信號,輸出2位的轉(zhuǎn)變條件碼,如圖37所示。然而,在這一配置之外,也可應(yīng)用另一種配置,其中,響應(yīng)于具有5到8個輸入端的的條件滿足信號,產(chǎn)生3位的轉(zhuǎn)變條件碼。而且,可應(yīng)用基于RAM的配置來取代上述基于ROM的配置。
下面將參考附圖描述上述轉(zhuǎn)變條件產(chǎn)生部件250的操作流程。在圖39中,在步驟S230應(yīng)用配置信息以設(shè)置轉(zhuǎn)變條件產(chǎn)生部件250的狀態(tài)。在步驟S231,當運算設(shè)備單元組230的操作開始時,在步驟S232確定是否應(yīng)該應(yīng)用上述循環(huán)結(jié)束確定部件250A。如果結(jié)果是“是”,則執(zhí)行步驟S233,因此確定是否應(yīng)該應(yīng)用上述轉(zhuǎn)變條件碼產(chǎn)生單元250B。如果結(jié)果是“是”,則在步驟234執(zhí)行循環(huán)結(jié)束信號以及轉(zhuǎn)變條件產(chǎn)生信號的產(chǎn)生,如下所述。該處理對應(yīng)于圖27A和27B所示的條件分支執(zhí)行模式(3)或(4)。
如果步驟S233的結(jié)果是“否”,則執(zhí)行步驟S235,如下所述地執(zhí)行產(chǎn)生循環(huán)結(jié)束信號的處理。該處理對應(yīng)于圖27A和27B所示的順序執(zhí)行模式或無條件跳轉(zhuǎn)模式(3)或(4)。而且,如果步驟S232的結(jié)果是“否”,則執(zhí)行步驟S236,因而確定是否應(yīng)該應(yīng)用轉(zhuǎn)變條件碼產(chǎn)生單元250B。如果結(jié)果是“是”,則執(zhí)行步驟S237,因而如下所述地執(zhí)行循環(huán)結(jié)束信號和轉(zhuǎn)變條件產(chǎn)生信號的產(chǎn)生。該處理對應(yīng)于圖27A和27B所示的無條件跳轉(zhuǎn)(1)或(2)。然后,如果步驟S236的結(jié)果是“否”,則執(zhí)行步驟S238,因而執(zhí)行不操作轉(zhuǎn)變條件產(chǎn)生部件250的處理。該處理對應(yīng)于圖27A和27B的順序執(zhí)行模式(1)或無條件跳轉(zhuǎn)模式(1)或(2)。
圖40示出了通過配置信息而對轉(zhuǎn)變條件產(chǎn)生部件250的設(shè)置操作。在步驟S241,基于所設(shè)置的配置信息,確定是否應(yīng)該應(yīng)用循環(huán)結(jié)束確定部件250A。如果結(jié)果是“是”,則在步驟S242執(zhí)行循環(huán)結(jié)束確定部件250A的模式設(shè)置。即執(zhí)行如圖36所示的預(yù)期循環(huán)操作次數(shù)的設(shè)置、循環(huán)結(jié)束偏移值的設(shè)置等等。在步驟S243,確定轉(zhuǎn)變條件碼產(chǎn)生單元是否應(yīng)執(zhí)行轉(zhuǎn)變條件碼的產(chǎn)生。如果結(jié)果是“是”,則在步驟S244執(zhí)行轉(zhuǎn)變條件碼產(chǎn)生單元的模式設(shè)置。即執(zhí)行如圖37所示的步驟S265到S268中的設(shè)置操作。
圖41詳細示出了步驟S242中的循環(huán)結(jié)束確定部件的模式設(shè)置。在步驟S251,應(yīng)用配置信息以設(shè)置上述數(shù)據(jù)使能信號選擇開關(guān)281;在步驟S252執(zhí)行上述預(yù)期循環(huán)操作次數(shù)的設(shè)置;在步驟S253執(zhí)行循環(huán)結(jié)束偏移值的設(shè)置;在步驟S254執(zhí)行數(shù)據(jù)使能計數(shù)器251的重置;并在步驟S255執(zhí)行周期計數(shù)器254的重置。
如圖42所示,轉(zhuǎn)變條件碼產(chǎn)生單元的設(shè)置包括在步驟S261設(shè)置上述開關(guān)265到268;以及在步驟S262設(shè)置上述優(yōu)先權(quán)選擇器264。
圖43示出了轉(zhuǎn)變條件產(chǎn)生部件250中上述循環(huán)結(jié)束信號產(chǎn)生和轉(zhuǎn)變條件碼產(chǎn)生的細節(jié)。如圖所示,在步驟S271,確定是否將數(shù)據(jù)使能信號輸入到轉(zhuǎn)變條件碼產(chǎn)生單元。如果結(jié)果是輸入了該信號,則在步驟S272將數(shù)據(jù)使能計數(shù)器251加1,并在步驟S273將計數(shù)值與預(yù)期循環(huán)操作次數(shù)進行比較。如果比較結(jié)果是‘一致’,則在步驟S274在下一時鐘定時處將周期計數(shù)器254加1。然后,如果如是遞增的計數(shù)值與循環(huán)結(jié)束偏移值一致(步驟S275中的“是”),則在步驟S276產(chǎn)生上述預(yù)轉(zhuǎn)變條件產(chǎn)生通知信號0。
之后,在步驟S280確定是否產(chǎn)生了預(yù)轉(zhuǎn)變條件產(chǎn)生通知信號1。如果確定產(chǎn)生了該信號1,則在步驟S283產(chǎn)生轉(zhuǎn)變條件產(chǎn)生信號。然后,在步驟S284,從轉(zhuǎn)變條件信號產(chǎn)生部件250輸出轉(zhuǎn)變條件碼產(chǎn)生單元250B產(chǎn)生的轉(zhuǎn)變條件碼信號。如果步驟S280的結(jié)果是“否”,則在步驟S281輸出轉(zhuǎn)變條件產(chǎn)生信號,并在步驟S282輸出循環(huán)結(jié)束信號。
在步驟S277,轉(zhuǎn)變條件碼產(chǎn)生單元250B確定是否輸入了條件滿足信號。如果結(jié)果是“是”,則在步驟S278產(chǎn)生轉(zhuǎn)變條件碼,并且產(chǎn)生上述預(yù)轉(zhuǎn)變條件產(chǎn)生通知信號1。
圖44示出了循環(huán)結(jié)束信號產(chǎn)生處理。在步驟S291,確定是否將數(shù)據(jù)使能信號輸入到轉(zhuǎn)變條件碼產(chǎn)生單元。如果結(jié)果是輸入了該信號,則在步驟S292將數(shù)據(jù)使能計數(shù)器251加1。然后,在步驟S293將該計數(shù)值與預(yù)期循環(huán)操作次數(shù)進行比較。然后,如果比較結(jié)果是‘一致’,則在步驟S294在后續(xù)時鐘定時處將周期計數(shù)器254加1。如果該計數(shù)值與循環(huán)結(jié)束偏移值一致(步驟S295中的“是”),則在步驟S296產(chǎn)生上述預(yù)轉(zhuǎn)變條件產(chǎn)生通知信號0。然后,在步驟S297輸出轉(zhuǎn)變條件產(chǎn)生信號,并在步驟S298輸出循環(huán)結(jié)束信號。
圖45示出了循環(huán)結(jié)束信號和轉(zhuǎn)變條件碼的產(chǎn)生。在步驟S301,當輸入條件滿足信號時,在步驟S302產(chǎn)生轉(zhuǎn)變條件碼。然后,在步驟S303,產(chǎn)生預(yù)轉(zhuǎn)變條件產(chǎn)生通知信號1;在步驟S304,輸出轉(zhuǎn)變條件產(chǎn)生信號;在步驟S305,輸出轉(zhuǎn)變條件碼信號。
參考圖46A、46B、47A和47B,下面描述可應(yīng)用到本發(fā)明每個實施例的上述配置信息的示例。圖46A示出了用于設(shè)置具有如圖46B所示的電路配置的運算設(shè)備單元230-i的狀態(tài)的配置信息的示例。在圖46A中,項目‘操作模式’表示用于設(shè)置圖46B所示的運算設(shè)備A(ALU(A))的狀態(tài)的指令內(nèi)容,由4位數(shù)據(jù)構(gòu)成,并表示下述指令。也就是說,例如,該項目的0000表示相關(guān)運算設(shè)備不應(yīng)操作;0001表示該運算設(shè)備應(yīng)工作為加法器;0010表示該運算設(shè)備應(yīng)工作為減法器;0011表示該運算設(shè)備應(yīng)工作為比較器;0100表示該運算設(shè)備應(yīng)將給定值與立即數(shù)值比較;0101表示該運算設(shè)備應(yīng)工作為MUL;…,1000表示該運算設(shè)備應(yīng)執(zhí)行條件加法功能,……下一項目‘操作模式B’以與上述首項目‘操作模式A’相同的方式表示如何設(shè)置運算設(shè)備B(ALU(B))的狀態(tài)。再下一個項目‘操作模式C’還表示如何設(shè)置運算設(shè)備C(ALU(C))的狀態(tài)。然而,該項目有1位,具體地說,‘0’表示該運算設(shè)備不應(yīng)操作;‘1’表示該運算設(shè)備應(yīng)執(zhí)行加法運算。下一項目‘輸入選擇信息’有1位。具體地說,‘0’表示應(yīng)分別執(zhí)行到上述運算設(shè)備A和B的輸入?!?’表示運算設(shè)備A的運算結(jié)果然后應(yīng)輸入到運算設(shè)備A和B中的每一個。
下一項目‘輸出選擇信息’具有1位?!?’表示運算設(shè)備A和B的運算結(jié)果應(yīng)分別輸出?!?’表示運算設(shè)備C的運算結(jié)果應(yīng)輸出。下一項目‘ACC模式’表示累加器(圖46B中的ACC)的模式,具有1位?!?’表示不應(yīng)使用該累加器?!?’表示應(yīng)使用該累加器。
‘立即數(shù)值A(chǔ)’是用于運算設(shè)備A的立即數(shù)輸入數(shù)據(jù)(16位);‘立即數(shù)值B’是用于運算設(shè)備B的立即數(shù)輸入數(shù)據(jù)(16位)?!刂菩畔ⅰ硎究刂茦酥灸J?,具有2位?!?0’表示該標志不應(yīng)使用;‘01’表示它應(yīng)工作為‘進位’;‘10’表示它應(yīng)工作為‘判斷’。
圖47A和47B示出了用于設(shè)置包含在上述操作設(shè)備單元間連接網(wǎng)絡(luò)220中的選擇開關(guān)(或作為示例在圖47B中示出的選擇器)的配置信息的示例。在圖47A中,‘選擇器1設(shè)置位’(4位)、‘選擇器3設(shè)置位’(3位)和‘選擇器3設(shè)置位’(1位)是圖47B所示的選擇器1、2和3中每一個的配置保持部件(示出為實線矩形)中保持的配置信息。這一選擇器設(shè)置配置信息具有的數(shù)據(jù)格式例如使得它具有用于二輸入選擇器的1位信息、用于3或4輸入選擇器的2位信息或用于16輸入選擇器的4位信息。
因此,根據(jù)本發(fā)明,所述運算裝置被配置為包括狀態(tài)表120,其由簡單的單端口存儲器(RAM或ROM)構(gòu)成,存儲操作碼和跳轉(zhuǎn)地址偏移值;以及轉(zhuǎn)換目標地址產(chǎn)生部件130,其以反饋的方式對狀態(tài)表120的信息以及從操作設(shè)備單元組230發(fā)送來的轉(zhuǎn)變條件信號等進行運算處理。因此,可以有效地減小為容納整個裝置而所需的芯片面積,因為沒有應(yīng)用CAM或這種大容量存儲設(shè)備。
而且,由于可以預(yù)先計算分支目標候選者,因此幾乎隱藏了配置狀態(tài)表的存儲器的訪問延遲,因此可以提高處理效率。也就是說,如上所述,轉(zhuǎn)變條件信號(轉(zhuǎn)變條件產(chǎn)生信號、轉(zhuǎn)變條件碼信號、循環(huán)結(jié)束信號等等)主要是通過轉(zhuǎn)變條件信號產(chǎn)生部件250的邏輯運算,同時考慮配置信息所設(shè)置的附加條件而產(chǎn)生的。另一方面,狀態(tài)表120中注冊的操作碼被應(yīng)用來確定與如何應(yīng)用如是產(chǎn)生的轉(zhuǎn)變條件信號有關(guān)(包括與實際是否應(yīng)用該信號有關(guān))的方式,并且,根據(jù)如是確定的方式,通過由轉(zhuǎn)換目標地址產(chǎn)生部件130執(zhí)行的邏輯運算來確定應(yīng)提供給配置存儲器210的后續(xù)轉(zhuǎn)換目標地址。因此,在實際應(yīng)用轉(zhuǎn)變條件信號的時間之前,即在到達根據(jù)轉(zhuǎn)變條件信號而在操作設(shè)備單元組230中實際應(yīng)用狀態(tài)轉(zhuǎn)換(包括分支(地址跳轉(zhuǎn)))的時間之前,通過轉(zhuǎn)變條件信號產(chǎn)生部件250和/或轉(zhuǎn)換目標地址產(chǎn)生部件130預(yù)先進行與轉(zhuǎn)變條件信號的產(chǎn)生相關(guān)的運算處理。因此,可以在實際應(yīng)用轉(zhuǎn)變條件信號時實現(xiàn)快速狀態(tài)轉(zhuǎn)換,因此,可以有效地實現(xiàn)操作設(shè)備單元組230執(zhí)行的運算處理的平滑進展。
而且,本發(fā)明并不局限于上述實施例,可作出多種變體和修正而不會偏離要求保護的本發(fā)明的基本原理。
本發(fā)明基于2004年6月30日遞交的日本優(yōu)先權(quán)申請No.2004-194798,這里通過引用而包含其全部內(nèi)容。
權(quán)利要求
1.一種運算裝置,包括多個運算設(shè)備單元;存儲設(shè)置信息的配置存儲器,所述設(shè)置信息被提供來用于設(shè)置所述多個運算設(shè)備單元的每個預(yù)定狀態(tài);以及定序器,其通過輸出指定了存儲在所述配置存儲器中的配置信息當中的相關(guān)信息的轉(zhuǎn)換目標地址,來控制所述多個運算設(shè)備單元,所述配置信息包括提供來用于設(shè)置所述運算設(shè)備單元的每個狀態(tài)的設(shè)置信息,其中所述定序器基于預(yù)先加載的任務(wù)信息和從所述多個運算設(shè)備單元輸出的轉(zhuǎn)變條件信號來執(zhí)行操作,并產(chǎn)生到所述配置存儲器的轉(zhuǎn)換目標地址。
2.如權(quán)利要求1所述的運算裝置,包括轉(zhuǎn)變條件信號產(chǎn)生部件,其在作為所述多個運算設(shè)備單元的運算結(jié)果而檢測到預(yù)定分支條件時產(chǎn)生到所述定序器的所述轉(zhuǎn)變條件信號。
3.如權(quán)利要求2所述的運算裝置,其中所述轉(zhuǎn)變條件信號產(chǎn)生部件設(shè)置在所述多個運算設(shè)備單元內(nèi)部。
4.如權(quán)利要求1所述的運算裝置,其中所述定序器包括狀態(tài)表,其具有輸入到其中的所述配置存儲器的當前轉(zhuǎn)換目標地址,并輸出操作碼,用于確定預(yù)定轉(zhuǎn)換目標地址產(chǎn)生方法,并根據(jù)所述操作碼的內(nèi)容輸出跳轉(zhuǎn)偏移值;并且通過基于所述操作碼、來自所述狀態(tài)表的跳轉(zhuǎn)偏移值以及所述轉(zhuǎn)變條件信號的操作,轉(zhuǎn)換目標地址產(chǎn)生部件確定后續(xù)將應(yīng)用的轉(zhuǎn)換目標地址。
5.如權(quán)利要求1所述的運算裝置,其中提供了一個部件來從外部向所述配置存儲器輸入所述提供來用于設(shè)置所述多個運算設(shè)備單元的每個狀態(tài)的設(shè)置信息。
6.如權(quán)利要求1所述的運算裝置,其中輸出到所述定序器的轉(zhuǎn)變條件信號包括轉(zhuǎn)變條件碼和轉(zhuǎn)變條件產(chǎn)生信號,所述轉(zhuǎn)變條件碼表明從所述多個運算設(shè)備單元內(nèi)部產(chǎn)生的預(yù)定轉(zhuǎn)變條件的內(nèi)容,所述轉(zhuǎn)變條件產(chǎn)生信號表明實際應(yīng)用所述轉(zhuǎn)變條件的定時。
7.如權(quán)利要求1所述的運算裝置,包括網(wǎng)絡(luò)部件,其根據(jù)來自所述配置信息當中的所述轉(zhuǎn)換目標地址所指定的信息,開關(guān)控制所述多個運算設(shè)備單元之間的電連接。
8.如權(quán)利要求4所述的運算裝置,其中所述狀態(tài)表包括RAM或ROM。
9.如權(quán)利要求4所述的運算裝置,其中所述確定所述預(yù)定轉(zhuǎn)換目標地址產(chǎn)生方法的操作碼指定了下述模式中的任一種順序模式,用于向預(yù)定地址值加1;無條件跳轉(zhuǎn)模式,用于將地址無條件地改變相關(guān)跳轉(zhuǎn)偏移值;以及條件分支執(zhí)行模式,用于在接收到所述轉(zhuǎn)變條件信號時將所述地址改變所述跳轉(zhuǎn)偏移值,或者在未接收到所述轉(zhuǎn)變條件信號時,僅將所述預(yù)定地址值加1。
10.如權(quán)利要求4所述的運算裝置,其中提供了一種模式來用于通過將所述跳轉(zhuǎn)偏移值加到由所述多個運算設(shè)備單元確定的跳轉(zhuǎn)寄存器值,來產(chǎn)生所述轉(zhuǎn)換目標地址。
11.如權(quán)利要求4所述的運算裝置,其中存儲在所述狀態(tài)表中的跳轉(zhuǎn)偏移值表示與設(shè)置在預(yù)定基址寄存器中的值相關(guān)的偏移值。
12.一種運算裝置控制方法,用于控制下述運算裝置,該運算裝置包括多個運算設(shè)備單元、配置存儲器和定序器,所述配置存儲器存儲的設(shè)置信息被提供來用于設(shè)置所述多個運算設(shè)備單元的每個預(yù)定狀態(tài),所述定序器通過輸出指定了存儲在所述配置存儲器中的配置信息當中的相關(guān)信息的轉(zhuǎn)換目標地址,來控制所述多個運算設(shè)備單元,所述配置信息包括提供來用于設(shè)置所述運算設(shè)備單元的每個狀態(tài)的設(shè)置信息,所述方法包括由所述定序器執(zhí)行的下述步驟a)基于預(yù)先加載的任務(wù)信息和從所述多個運算設(shè)備單元輸出的轉(zhuǎn)變條件信號來執(zhí)行操作;以及b)產(chǎn)生到所述配置存儲器的轉(zhuǎn)換目標地址。
13.如權(quán)利要求12所述的運算裝置控制方法,包括下述步驟c)當作為所述多個運算設(shè)備單元的運算結(jié)果而檢測到預(yù)定分支條件時,產(chǎn)生到所述定序器的所述轉(zhuǎn)變條件信號。
14.如權(quán)利要求13所述的運算裝置控制方法,其中所述步驟c)在所述多個運算設(shè)備單元內(nèi)部執(zhí)行。
15.如權(quán)利要求12所述的運算裝置控制方法,其中所述步驟b)包括下述步驟b-1)響應(yīng)所述配置存儲器的當前轉(zhuǎn)換目標地址,以輸出操作碼,用于確定預(yù)定轉(zhuǎn)換目標地址產(chǎn)生方法,并根據(jù)所述操作碼的內(nèi)容輸出跳轉(zhuǎn)偏移值;以及b-2)通過基于所述操作碼、由所述狀態(tài)表提供的跳轉(zhuǎn)偏移值以及所述轉(zhuǎn)變條件信號的操作,來確定后續(xù)轉(zhuǎn)換目標地址。
16.如權(quán)利要求12所述的運算裝置控制方法,包括下述步驟c)向所述配置存儲器輸入所述提供來用于設(shè)置所述多個運算設(shè)備單元的每個狀態(tài)的設(shè)置信息。
17.如權(quán)利要求12所述的運算裝置控制方法,其中輸出到所述定序器的轉(zhuǎn)變條件信號包括轉(zhuǎn)變條件碼和轉(zhuǎn)變條件產(chǎn)生信號,所述轉(zhuǎn)變條件碼表明從所述多個運算設(shè)備單元內(nèi)部產(chǎn)生的預(yù)定轉(zhuǎn)變條件的內(nèi)容,所述轉(zhuǎn)變條件產(chǎn)生信號表明實際應(yīng)用所述轉(zhuǎn)變條件的定時。
18.如權(quán)利要求12所述的運算裝置控制方法,還包括下述步驟c)根據(jù)來自所述配置信息當中的所述轉(zhuǎn)換目標地址所指定的信息,開關(guān)控制所述多個運算設(shè)備單元之間的電連接。
19.如權(quán)利要求15所述的運算裝置控制方法,其中所述步驟b)包括下述步驟b-1)確定所述預(yù)定轉(zhuǎn)換目標地址產(chǎn)生方法,所述方法指定了下述模式中的任一種順序模式,用于向預(yù)定地址值加1;無條件跳轉(zhuǎn)模式,用于將地址無條件地改變相關(guān)跳轉(zhuǎn)偏移值;以及條件分支模式,用于在接收到所述轉(zhuǎn)變條件信號時將所述地址改變所述跳轉(zhuǎn)偏移值,或者在未接收到所述轉(zhuǎn)變條件信號時,將所述預(yù)定地址值加1。
20.如權(quán)利要求15所述的運算裝置控制方法,還包括下述步驟d)通過將所述跳轉(zhuǎn)偏移值加到由所述多個運算設(shè)備單元確定的跳轉(zhuǎn)寄存器值,產(chǎn)生所述轉(zhuǎn)換目標地址。
21.如權(quán)利要求15所述的運算裝置控制方法,其中存儲在所述狀態(tài)表中的跳轉(zhuǎn)偏移值表示與設(shè)置在預(yù)定基址寄存器中的值相關(guān)的偏移值。
全文摘要
運算裝置,包括多個運算設(shè)備單元;存儲設(shè)置信息的配置存儲器,所述設(shè)置信息被提供來用于所述多個運算設(shè)備單元的每個預(yù)定狀態(tài);以及定序器,其通過輸出指定了存儲在配置存儲器中的配置信息當中的相關(guān)信息的轉(zhuǎn)換目標地址,控制所述多個運算設(shè)備單元,所述配置信息包括提供來用于所述運算設(shè)備單元的每個狀態(tài)的設(shè)置信息,其中定序器基于預(yù)先加載的任務(wù)信息和從所述多個運算設(shè)備單元輸出的轉(zhuǎn)變條件信號來執(zhí)行操作,并產(chǎn)生輸出到配置存儲器的轉(zhuǎn)換目標地址。
文檔編號G06F15/80GK1716230SQ20051000774
公開日2006年1月4日 申請日期2005年2月16日 優(yōu)先權(quán)日2004年6月30日
發(fā)明者齊藤美壽, 藤沢久典 申請人:富士通株式會社