專利名稱:處理器和流水線重配置控制方法
技術(shù)領(lǐng)域:
本發(fā)明涉及可重配置硬件中的處理器和流水線重配置控制方法。
背景技術(shù):
近來,出現(xiàn)了動態(tài)可重配置技術(shù),用于動態(tài)地重配置硬件以適應(yīng)應(yīng)用,其通過使用可重配置硬件以使得在實(shí)際執(zhí)行處理時(shí)可以靈活地對待應(yīng)用。可重配置硬件的一個(gè)示例是算術(shù)和邏輯單元(ALU)模塊,它是執(zhí)行諸如四種算術(shù)運(yùn)算、邏輯運(yùn)算等處理的電路。通過使用可重配置網(wǎng)絡(luò)連接多個(gè)ALU模塊,并且通過ALU模塊執(zhí)行獲得同步并行運(yùn)算處理的流水線處理,可以提高性能。
具體地說,通過在執(zhí)行循環(huán)命令時(shí)使用流水線處理,可以有效減少執(zhí)行周期的數(shù)目。對于通過流水線處理執(zhí)行循環(huán)命令的情況,已經(jīng)公開了一種裝置,該裝置通過使用包括循環(huán)地址開始寄存器、循環(huán)地址結(jié)束寄存器、比較器和循環(huán)計(jì)數(shù)器的循環(huán)控制裝置,優(yōu)化了循環(huán)初始命令的安排,并且減少了循環(huán)開始處的開銷(日本專利申請?jiān)缙诠_第H9-237186號公報(bào))。
但是,當(dāng)流水線處理已經(jīng)被執(zhí)行時(shí),重要的是判斷切換可重配置硬件部分的安排(后文中稱為“配置”)的時(shí)機(jī),即,判斷一系列過程已經(jīng)結(jié)束的時(shí)間,因?yàn)楫?dāng)在這一系列過程結(jié)束后執(zhí)行重配置時(shí),切換時(shí)間變?yōu)檎麄€(gè)處理的開銷,并導(dǎo)致性能惡化。
發(fā)明內(nèi)容
本發(fā)明的目的是解決傳統(tǒng)技術(shù)中的至少這些問題。
根據(jù)本發(fā)明一個(gè)方面的處理器在切換多個(gè)算術(shù)和邏輯單元(ALU)模塊的連接配置時(shí)執(zhí)行預(yù)定運(yùn)算處理,其中ALU模塊具有多個(gè)ALU,該處理器包括執(zhí)行時(shí)間計(jì)算單元,其計(jì)算ALU模塊的每個(gè)連接配置的執(zhí)行時(shí)間;時(shí)鐘計(jì)數(shù)器,其對運(yùn)算處理的執(zhí)行周期進(jìn)行時(shí)鐘計(jì)數(shù);和配置控制單元,當(dāng)由時(shí)鐘計(jì)數(shù)器計(jì)數(shù)的時(shí)鐘數(shù)達(dá)到由執(zhí)行時(shí)間計(jì)算單元計(jì)算的執(zhí)行時(shí)間時(shí),該配置控制單元切換ALU模塊的連接配置。
根據(jù)本發(fā)明,可以通過使用時(shí)鐘周期來計(jì)算一個(gè)配置做出的運(yùn)算的執(zhí)行時(shí)間,并且不需要監(jiān)視ALU塊的實(shí)際數(shù)據(jù)處理狀態(tài)就可以判斷流水線處理的結(jié)束時(shí)間。
并且,根據(jù)本發(fā)明另一方面的處理器在切換多個(gè)算術(shù)和邏輯單元(ALU)模塊的連接配置時(shí)執(zhí)行預(yù)定運(yùn)算處理,其中ALU模塊具有多個(gè)ALU,該處理器包括設(shè)置單元,其設(shè)置對于ALU模塊的每個(gè)連接配置的被處理數(shù)據(jù)數(shù)目;計(jì)數(shù)器,其對ALU模塊的每個(gè)連接配置的被處理數(shù)據(jù)數(shù)目計(jì)數(shù);和配置控制單元,當(dāng)由計(jì)數(shù)器計(jì)數(shù)的被處理數(shù)據(jù)數(shù)目達(dá)到由設(shè)置單元設(shè)置的被處理數(shù)據(jù)數(shù)目時(shí),該配置控制單元切換ALU模塊的連接配置。
根據(jù)本發(fā)明,因?yàn)锳LU塊監(jiān)視目標(biāo)數(shù)據(jù),所以可以相應(yīng)于各種情況靈活地判斷流水線處理的結(jié)束時(shí)間,這些情況例如是當(dāng)從外部輸入或當(dāng)向外部輸出運(yùn)算結(jié)果,而無論存儲器讀出和寫入。
并且,根據(jù)本發(fā)明另一方面的重配置控制方法使用在切換多個(gè)算術(shù)和邏輯單元(ALU)模塊的連接配置時(shí)執(zhí)行預(yù)定運(yùn)算處理的處理器,其中ALU模塊具有多個(gè)ALU,該方法包括執(zhí)行時(shí)間計(jì)算步驟,該步驟計(jì)算ALU模塊的每個(gè)連接配置的執(zhí)行時(shí)間;時(shí)鐘計(jì)數(shù)步驟,該步驟對運(yùn)算處理的執(zhí)行周期進(jìn)行時(shí)鐘計(jì)數(shù);和配置控制步驟,當(dāng)在時(shí)鐘計(jì)數(shù)步驟中計(jì)數(shù)的時(shí)鐘數(shù)達(dá)到在執(zhí)行時(shí)間計(jì)算步驟中計(jì)算的執(zhí)行時(shí)間時(shí),該配置控制步驟切換ALU模塊的連接配置。
并且,根據(jù)本發(fā)明另一方面的重配置控制方法使用在切換多個(gè)算術(shù)和邏輯單元(ALU)模塊的連接配置時(shí)執(zhí)行預(yù)定運(yùn)算處理的處理器,其中ALU模塊具有多個(gè)ALU,該方法包括設(shè)置步驟,該步驟設(shè)置對于ALU模塊的每個(gè)連接配置的被處理數(shù)據(jù)數(shù)目;計(jì)數(shù)步驟,該步驟對ALU模塊的每個(gè)連接配置的被處理數(shù)據(jù)數(shù)目計(jì)數(shù);和配置控制步驟,當(dāng)在計(jì)數(shù)步驟中計(jì)數(shù)的被處理數(shù)據(jù)數(shù)目達(dá)到在設(shè)置步驟中設(shè)置的被處理數(shù)據(jù)數(shù)目時(shí),該配置控制步驟切換ALU模塊的連接配置。
當(dāng)結(jié)合附圖閱讀時(shí),在下面對本發(fā)明的詳細(xì)描述中具體地提出了或者從中將清楚地看到本發(fā)明的其他目的、特征和優(yōu)點(diǎn)。
圖1是根據(jù)第一實(shí)施例的可重配置處理器的框圖。
圖2是用于解釋一個(gè)配置的執(zhí)行時(shí)間的時(shí)序圖。
圖3是通過使用時(shí)鐘數(shù)確定一個(gè)配置的處理的流程圖。
圖4是通過時(shí)鐘計(jì)數(shù)執(zhí)行的流水線處理結(jié)束判斷過程的流程圖。
圖5是根據(jù)第二實(shí)施例的可重配置處理器的框圖。
圖6是通過計(jì)數(shù)被處理的數(shù)據(jù)的數(shù)目執(zhí)行流水線處理結(jié)束判斷過程的流程圖。
具體實(shí)施例方式
下面將參考附圖詳細(xì)解釋根據(jù)本發(fā)明的處理器和流水線重配置控制方法的示例實(shí)施例。
參考下面的實(shí)施例,將解釋從可重配置硬件開始執(zhí)行一個(gè)配置后判斷流水線處理的結(jié)束的配置。
首先,將解釋通過使用時(shí)鐘周期計(jì)數(shù)來判斷流水線處理結(jié)束的配置。圖1是根據(jù)第一實(shí)施例的可重配置處理器的框圖。
可重配置處理器100包括作為可重配置硬件單元的ALU塊101和監(jiān)視ALU塊101配置狀態(tài)的序列發(fā)生器102。
ALU塊101包括多個(gè)ALU 103和多個(gè)存儲器104,存儲器104存儲被ALU塊101運(yùn)算的數(shù)據(jù)。ALU 103和存儲器104連接到網(wǎng)絡(luò)105。從存儲器104讀取由序列發(fā)生器102指定的數(shù)據(jù),并經(jīng)由網(wǎng)絡(luò)105將該數(shù)據(jù)輸入至ALU塊101。ALU塊101執(zhí)行由配置信息指定的運(yùn)算,運(yùn)算結(jié)果經(jīng)由網(wǎng)絡(luò)105被存儲在存儲器104中。網(wǎng)絡(luò)105中ALU 103和存儲器104之間的連接可以改變,ALU 103和存儲器104之間的連接基于從序列發(fā)生器102提供的配置信息而被改變(被重配置)。
序列發(fā)生器102包括配置控制器106、配置存儲器107和計(jì)數(shù)器108。配置存儲器107存儲每個(gè)配置完成前所需的涉及時(shí)鐘周期的信息和硬件配置,該硬件配置設(shè)置ALU塊101的安排以及處理內(nèi)容。硬件配置被預(yù)先設(shè)置,并且在編譯硬件配置信息時(shí),時(shí)鐘周期被確定。
硬件配置信息被發(fā)送至ALU塊101,并且基于該信息,硬件被重配置。時(shí)鐘周期信息被發(fā)送至計(jì)數(shù)器108。計(jì)數(shù)器108通過將從配置存儲器107發(fā)送來的時(shí)鐘周期信息與實(shí)際時(shí)鐘數(shù)比較來判斷流水線處理的結(jié)束,并且通知配置控制器106流水線已經(jīng)結(jié)束。配置控制器106接收流水線已經(jīng)結(jié)束的通知,并向配置存儲器107發(fā)出命令以切換配置。
參考圖2和圖3,將解釋用于基于配置存儲器107中的硬件配置信息確定時(shí)鐘周期的序列。
圖2是一個(gè)配置的執(zhí)行時(shí)間的時(shí)序圖。處理一個(gè)數(shù)據(jù)需要四個(gè)運(yùn)算級A至D,一個(gè)時(shí)鐘內(nèi)執(zhí)行一級。在發(fā)射用于程序的循環(huán)命令時(shí),流水線處理同時(shí)處理多個(gè)數(shù)據(jù),并且每次將運(yùn)算塊移動一級。因此,當(dāng)M個(gè)數(shù)據(jù)進(jìn)行了N級運(yùn)算時(shí),流水線處理時(shí)間是N+M-1。實(shí)際上,從配置激活直到流水線處理開始之間總是存在一個(gè)處理時(shí)間(T1),并且在變?yōu)槟軌蚯袚Q到下一配置之前存在處理時(shí)間(T2),所以一個(gè)配置的執(zhí)行時(shí)間是N+M-1+T1+T2。
圖3用于解釋確定時(shí)鐘周期的流程,該流程由配置存儲器107在通過使用上述流水線特性進(jìn)行編譯時(shí)執(zhí)行。圖3是通過使用時(shí)鐘數(shù)確定一個(gè)配置的處理的流程圖。
首先,配置存儲器107判斷要被執(zhí)行的處理是否是循環(huán)命令,例如,程序是否是“for”語句(步驟S301)。當(dāng)處理是循環(huán)命令時(shí)(步驟S301是),從程序中的循環(huán)變量的初始值和結(jié)束條件,計(jì)算循環(huán)數(shù)M(步驟S302)。當(dāng)處理不是循環(huán)命令時(shí)(步驟S301否),過程返回步驟S301,并且變?yōu)榕袛嘞乱怀绦虻难h(huán)命令。值M代表用于執(zhí)行處理的數(shù)據(jù)的數(shù)目。
然后,從程序的一個(gè)循環(huán)命令中的執(zhí)行命令的數(shù)目,計(jì)算流水線級數(shù)N(步驟S303)。使用該計(jì)算值,由M+N-1計(jì)算流水線處理時(shí)間(步驟S304)。切換配置前后所需的時(shí)間(圖2中T1和T2)被加到流水線處理時(shí)間上(步驟S305)。通過以單位時(shí)鐘時(shí)間劃分以上述方式計(jì)算的配置執(zhí)行時(shí)間,確定時(shí)鐘數(shù)(步驟S306),并且操作結(jié)束。一個(gè)配置對應(yīng)于一個(gè)循環(huán)過程的執(zhí)行期。
下面將解釋通過使用由配置存儲器107確定的時(shí)鐘周期來判斷流水線處理結(jié)束的配置。圖4是通過時(shí)鐘計(jì)數(shù)執(zhí)行的流水線處理結(jié)束判斷過程的流程圖。
首先,通過從配置存儲器107接收到的時(shí)鐘周期信息,計(jì)數(shù)器108確認(rèn)配置完成,并且開始結(jié)束判斷操作(步驟S401)。判斷一個(gè)時(shí)鐘是否已經(jīng)過去(步驟S402),并且當(dāng)一個(gè)時(shí)鐘已經(jīng)過去時(shí)(步驟S402是),將由序列發(fā)生器102設(shè)置的寄存器值(時(shí)鐘周期數(shù))與計(jì)數(shù)值相比較(步驟S403)。
當(dāng)一個(gè)時(shí)鐘還沒有過去時(shí)(步驟S402否),再次判斷其是否過去。當(dāng)寄存器值與計(jì)數(shù)器值一致時(shí)(步驟S404是),流水線處理結(jié)束,向配置控制器106發(fā)送流水線結(jié)束通知(步驟S405),并且操作結(jié)束。當(dāng)它們不一致時(shí)(步驟S404否),操作再次返回判斷時(shí)鐘是否過去的步驟,并且將下一時(shí)鐘值與寄存器值相比較。
根據(jù)第一實(shí)施例,可以通過使用時(shí)鐘周期計(jì)算由一個(gè)配置執(zhí)行的運(yùn)算的執(zhí)行時(shí)間,并且不需要監(jiān)視ALU塊的實(shí)際數(shù)據(jù)處理狀態(tài)就可以判斷流水線結(jié)束時(shí)間。因此,不需要額外開銷就可以有效地重配置ALU塊。
下面將解釋通過對被處理數(shù)據(jù)的數(shù)目計(jì)數(shù)而做出的流水線處理結(jié)束的判斷。圖5是根據(jù)第二實(shí)施例的可重配置處理器的框圖。
可重配置處理器500包括作為可重配置硬件單元的ALU塊501和監(jiān)視ALU塊501配置狀態(tài)的序列發(fā)生器502。
ALU塊501包括ALU 503、存儲器504和網(wǎng)絡(luò)505,它們具有與第一實(shí)施例中的可重配置處理器100的對應(yīng)部分相同的功能和構(gòu)造,另外,ALU塊501還包括寄存器506、計(jì)數(shù)器507、比較器(COM)508和外部輸入/輸出,用于對被處理數(shù)據(jù)的數(shù)目計(jì)數(shù)。
從序列發(fā)生器502將硬件配置信息發(fā)送至寄存器506,并且基于該信息設(shè)置寄存器值。計(jì)數(shù)器507對四種類型的數(shù)據(jù)計(jì)數(shù),圖5中將這四種類型數(shù)據(jù)表示為a(外部輸入數(shù)據(jù))、b(外部輸出數(shù)據(jù))、c(存儲器讀出數(shù)據(jù))和d(存儲器寫入數(shù)據(jù))。硬件配置指定對哪種數(shù)據(jù)計(jì)數(shù)。比較器508將寄存器506的值與計(jì)數(shù)器507的值比較,并且通知序列發(fā)生器502流水線結(jié)束。
序列發(fā)生器502包括配置控制器509和配置存儲器510。配置存儲器510存儲每個(gè)配置的硬件配置。硬件配置信息被發(fā)送至ALU塊501,并且基于該信息重配置硬件。配置控制器509接收流水線已經(jīng)結(jié)束的通知,并且向配置存儲器510發(fā)出命令以切換配置。
在一個(gè)配置中判斷要被處理的數(shù)據(jù)的數(shù)目。因此,對要被處理的數(shù)據(jù)的數(shù)目計(jì)數(shù),并且當(dāng)達(dá)到預(yù)定的數(shù)據(jù)數(shù)目時(shí),判斷流水線處理已經(jīng)結(jié)束。如上所述,存在四種類型的被計(jì)數(shù)的數(shù)據(jù)a至d。每種數(shù)據(jù)被附加了有效性信息(也被稱作令牌位),該信息指示使用該數(shù)據(jù)的運(yùn)算處理是有效的。實(shí)際上,計(jì)數(shù)器507對在四種類型的數(shù)據(jù)上所附加的有效信息(valid)的數(shù)目進(jìn)行計(jì)數(shù)和累加。
下面將解釋通過使用上述特性,實(shí)際上由ALU塊501執(zhí)行的流水線處理結(jié)束判斷操作。圖6是通過對被處理數(shù)據(jù)的數(shù)目計(jì)數(shù)來執(zhí)行流水線處理結(jié)束判斷過程的流程圖。
基于從序列發(fā)生器502的配置存儲器510接收到的硬件重配置信息,確認(rèn)配置完成,并且開始結(jié)束判定操作(步驟S601)?;谂渲迷O(shè)定,選擇要被計(jì)數(shù)的有效信息(步驟S602)。然后判斷關(guān)于在步驟S602中所選擇的有效信息的信息是否已經(jīng)到達(dá)計(jì)數(shù)器507(步驟S603)。
當(dāng)所選擇的有效信息已經(jīng)到達(dá)計(jì)數(shù)器507時(shí)(步驟S603是),遞增計(jì)數(shù)器507的值,并且比較器508將其與寄存器506的值相比較,寄存器506的值已經(jīng)由硬件配置信息設(shè)置了(步驟S604)。當(dāng)有效信息還沒有到達(dá)計(jì)數(shù)器507時(shí)(步驟S603否),再次判斷有效信息是否已經(jīng)到達(dá)計(jì)數(shù)器507。當(dāng)計(jì)數(shù)器507的值與寄存器506的值相一致時(shí)(步驟S605是),流水線處理結(jié)束,并且向序列發(fā)生器502的配置控制器509發(fā)送流水線處理結(jié)束通知(步驟S606),由此操作結(jié)束。當(dāng)計(jì)數(shù)器507的值與寄存器506的值不一致時(shí)(步驟S605否),再次判斷有效信息是否已經(jīng)到達(dá)計(jì)數(shù)器507。
通過以上述方式對有效信息計(jì)數(shù),可以使結(jié)束時(shí)間適應(yīng)意外的輸入狀態(tài)。另外,可以高速切換配置??紤]有四個(gè)流水線級的示例,即,當(dāng)如在第一實(shí)施例中那樣執(zhí)行四種類型的過程A、B、C和D,由此結(jié)束關(guān)于一個(gè)輸入的一系列過程的情況。在這種情形中,通過對輸入數(shù)據(jù)的有效信息計(jì)數(shù),當(dāng)正在對最后的數(shù)據(jù)執(zhí)行過程B、C和D時(shí),可以通知序列發(fā)生器502處理結(jié)束,這使得切換配置處理能夠被提前激活。
根據(jù)第二實(shí)施例,因?yàn)锳LU塊監(jiān)視正被處理的數(shù)據(jù),所以可以相應(yīng)于各種情況靈活地判斷流水線處理的結(jié)束時(shí)間,這些情況例如是當(dāng)從外部輸入或者當(dāng)向外部輸出運(yùn)算結(jié)果,而不考慮存儲器讀出和寫入。
上面的實(shí)施例中所描述的流水線重配置時(shí)機(jī)控制方法可以通過使計(jì)算機(jī)的處理器執(zhí)行預(yù)先準(zhǔn)備的程序來實(shí)現(xiàn)。程序被存儲在計(jì)算機(jī)可讀記錄介質(zhì)上,諸如硬盤、軟盤、CD-ROM、MO或DVD,并且計(jì)算機(jī)通過從記錄介質(zhì)中讀取程序執(zhí)行該程序。該程序可以是傳輸介質(zhì),其可以經(jīng)由諸如因特網(wǎng)之類的網(wǎng)絡(luò)被分發(fā)。
根據(jù)本發(fā)明的處理器和流水線重配置控制方法,可以正確判斷流水線處理的結(jié)束時(shí)間,并且可以縮短重配置切換時(shí)間。
雖然為了完整和清楚的公開,已經(jīng)針對具體實(shí)施例描述了本發(fā)明,但是所附權(quán)利要求并不局限于此,而是應(yīng)該被理解為包括了本領(lǐng)域技術(shù)人員可以想到的那些完全落入這里所提出的基本教導(dǎo)范圍內(nèi)的所有修改和替換結(jié)構(gòu)。
本申請基于2004年6月30日提交的在先日本專利申請No.2004-193580,并要求享受其優(yōu)先權(quán),該申請的全部內(nèi)容通過引用結(jié)合于此。
權(quán)利要求
1.一種在切換多個(gè)算術(shù)和邏輯單元模塊的連接配置時(shí)執(zhí)行預(yù)定運(yùn)算處理的處理器,其中所述算術(shù)和邏輯單元模塊具有多個(gè)算術(shù)和邏輯單元,所述處理器包括執(zhí)行時(shí)間計(jì)算單元,所述執(zhí)行時(shí)間計(jì)算單元計(jì)算所述算術(shù)和邏輯單元模塊的每個(gè)連接配置的執(zhí)行時(shí)間;時(shí)鐘計(jì)數(shù)器,所述時(shí)鐘計(jì)數(shù)器對所述運(yùn)算處理的執(zhí)行周期進(jìn)行時(shí)鐘計(jì)數(shù);和配置控制單元,當(dāng)由所述時(shí)鐘計(jì)數(shù)器計(jì)數(shù)的時(shí)鐘數(shù)已經(jīng)達(dá)到由所述執(zhí)行時(shí)間計(jì)算單元計(jì)算的所述執(zhí)行時(shí)間時(shí),所述配置控制單元切換所述算術(shù)和邏輯單元模塊的連接配置。
2.根據(jù)權(quán)利要求1所述的處理器,包括存儲單元,所述存儲單元存儲與由所述執(zhí)行時(shí)間計(jì)算單元計(jì)算的所述算術(shù)和邏輯單元模塊的每個(gè)連接配置的執(zhí)行時(shí)間有關(guān)的信息,其中所述配置控制單元在從被存儲在所述存儲單元中的多條信息中讀取與下一連接配置有關(guān)的信息之后,切換所述算術(shù)和邏輯單元模塊的連接配置。
3.根據(jù)權(quán)利要求1所述的處理器,其中,所述執(zhí)行時(shí)間計(jì)算單元將所述執(zhí)行時(shí)間計(jì)算為通過將流水線處理時(shí)間加到等待時(shí)間上所得到的時(shí)間,其中所述流水線處理時(shí)間是通過使用所述多個(gè)算術(shù)和邏輯單元模塊執(zhí)行流水線處理所花費(fèi)的時(shí)間,所述等待時(shí)間是切換連接配置前后所花費(fèi)的時(shí)間。
4.根據(jù)權(quán)利要求3所述的處理器,其中,所述執(zhí)行時(shí)間計(jì)算單元基于所述運(yùn)算處理中所包含的循環(huán)處理中的執(zhí)行命令的數(shù)目,計(jì)算所述算術(shù)和邏輯單元模塊的一個(gè)連接配置的所述執(zhí)行時(shí)間。
5.一種在切換多個(gè)算術(shù)和邏輯單元模塊的連接配置時(shí)執(zhí)行預(yù)定運(yùn)算處理的處理器,其中所述算術(shù)和邏輯單元模塊具有多個(gè)算術(shù)和邏輯單元,所述處理器包括設(shè)置單元,所述設(shè)置單元設(shè)置對于所述算術(shù)和邏輯單元模塊的每個(gè)連接配置的被處理數(shù)據(jù)數(shù)目;計(jì)數(shù)器,所述計(jì)數(shù)器對所述算術(shù)和邏輯單元模塊的每個(gè)連接配置的被處理數(shù)據(jù)數(shù)目進(jìn)行計(jì)數(shù);和配置控制單元,當(dāng)由所述計(jì)數(shù)器計(jì)數(shù)的被處理數(shù)據(jù)數(shù)目達(dá)到由所述設(shè)置單元設(shè)置的被處理數(shù)據(jù)數(shù)目時(shí),所述配置控制單元切換所述算術(shù)和邏輯單元模塊的連接配置。
6.根據(jù)權(quán)利要求5所述的處理器,包括存儲單元,所述存儲單元存儲與由所述設(shè)置單元設(shè)置的所述算術(shù)和邏輯單元模塊的每個(gè)連接配置的被處理數(shù)據(jù)數(shù)目有關(guān)的信息,其中所述配置控制單元在從被存儲在所述存儲單元中的多條信息中讀取與下一連接配置有關(guān)的信息之后,切換所述算術(shù)和邏輯單元模塊的連接配置。
7.根據(jù)權(quán)利要求5所述的可重配置處理器,其中,所述計(jì)數(shù)器對下列數(shù)據(jù)中的任一種數(shù)據(jù)計(jì)數(shù)外部輸入數(shù)據(jù),從所述算術(shù)和邏輯單元模塊的外部輸入;外部輸出數(shù)據(jù),從所述算術(shù)和邏輯單元模塊輸出;寫入存儲器的數(shù)據(jù),由所述算術(shù)和邏輯單元模塊設(shè)置;和從存儲器讀取的數(shù)據(jù),由所述算術(shù)和邏輯單元模塊設(shè)置。
8.根據(jù)權(quán)利要求7所述的處理器,其中,所述存儲單元存儲將要由所述計(jì)數(shù)器計(jì)數(shù)的被處理數(shù)據(jù)的種類。
9.根據(jù)權(quán)利要求5所述的處理器,其中,所述計(jì)數(shù)器對附加了有效信息的數(shù)據(jù)計(jì)數(shù),所述有效信息指示對所述被處理數(shù)據(jù)的運(yùn)算是有效的。
10.一種重配置控制方法,所述方法使用在切換多個(gè)算術(shù)和邏輯單元模塊的連接配置時(shí)執(zhí)行預(yù)定運(yùn)算處理的處理器,其中所述算術(shù)和邏輯單元模塊具有多個(gè)算術(shù)和邏輯單元,所述方法包括執(zhí)行時(shí)間計(jì)算步驟,所述執(zhí)行時(shí)間計(jì)算步驟計(jì)算所述算術(shù)和邏輯單元模塊的每個(gè)連接配置的執(zhí)行時(shí)間;時(shí)鐘計(jì)數(shù)步驟,所述時(shí)鐘計(jì)數(shù)步驟對所述運(yùn)算處理的執(zhí)行周期進(jìn)行時(shí)鐘計(jì)數(shù);和配置控制步驟,當(dāng)在所述時(shí)鐘計(jì)數(shù)步驟中計(jì)數(shù)的時(shí)鐘數(shù)達(dá)到在所述執(zhí)行時(shí)間計(jì)算步驟中計(jì)算的所述執(zhí)行時(shí)間時(shí),所述配置控制步驟切換所述算術(shù)和邏輯單元模塊的連接配置。
11.根據(jù)權(quán)利要求10所述的重配置控制方法,其中,所述執(zhí)行時(shí)間計(jì)算步驟將所述執(zhí)行時(shí)間計(jì)算為通過將流水線處理時(shí)間加到等待時(shí)間上所得到的時(shí)間,其中所述流水線處理時(shí)間是通過使用所述多個(gè)算術(shù)和邏輯單元模塊執(zhí)行流水線處理所花費(fèi)的時(shí)間,所述等待時(shí)間是切換連接配置前后所花費(fèi)的時(shí)間。
12.一種流水線重配置控制方法,所述方法使用在切換多個(gè)算術(shù)和邏輯單元模塊的連接配置時(shí)執(zhí)行預(yù)定運(yùn)算處理的處理器,其中所述算術(shù)和邏輯單元模塊具有多個(gè)算術(shù)和邏輯單元,所述方法包括設(shè)置步驟,所述設(shè)置步驟設(shè)置對于所述算術(shù)和邏輯單元模塊的每個(gè)連接配置的被處理數(shù)據(jù)數(shù)目;計(jì)數(shù)步驟,所述計(jì)數(shù)步驟對所述算術(shù)和邏輯單元模塊的每個(gè)連接配置的被處理數(shù)據(jù)數(shù)目計(jì)數(shù);和配置控制步驟,當(dāng)在所述計(jì)數(shù)步驟中計(jì)數(shù)的被處理數(shù)據(jù)數(shù)目達(dá)到在所述設(shè)置步驟中設(shè)置的被處理數(shù)據(jù)數(shù)目時(shí),所述配置控制步驟切換所述算術(shù)和邏輯單元模塊的連接配置。
13.根據(jù)權(quán)利要求12所述的流水線重配置控制方法,其中,所述計(jì)數(shù)步驟對下列數(shù)據(jù)中的任一種數(shù)據(jù)計(jì)數(shù)外部輸入數(shù)據(jù),從所述算術(shù)和邏輯單元模塊的外部輸入;外部輸出數(shù)據(jù),從所述算術(shù)和邏輯單元模塊輸出;寫入存儲器的數(shù)據(jù),由所述算術(shù)和邏輯單元模塊設(shè)置;和從存儲器讀取的數(shù)據(jù),由所述算術(shù)和邏輯單元模塊設(shè)置。
全文摘要
本發(fā)明提供了一種處理器和流水線重配置控制方法??芍嘏渲锰幚砥鲝挠布渲眯畔⒂?jì)算用于執(zhí)行流水線處理的配置的執(zhí)行時(shí)間,并且確定處理結(jié)束前的時(shí)鐘周期。計(jì)數(shù)器將所確定的時(shí)鐘周期與實(shí)際已經(jīng)過去的時(shí)鐘數(shù)比較,并且當(dāng)已經(jīng)過去的時(shí)鐘數(shù)等于時(shí)鐘周期時(shí),判定流水線處理已經(jīng)結(jié)束,并且將其通知給配置控制器。
文檔編號G06F9/38GK1716184SQ200410103590
公開日2006年1月4日 申請日期2004年12月30日 優(yōu)先權(quán)日2004年6月30日
發(fā)明者瓜生士郎, 若吉光春, 河野哲雄, 古川浩, 笠間一郎, 今福和章, 鈴木俊明 申請人:富士通株式會社