專利名稱:邏輯電路裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種同時(shí)使用多個(gè)可編程邏輯電路的邏輯電路裝置。
背景技術(shù):
一種集成電路中所配置的電路可以執(zhí)行多個(gè)步驟的處理。有時(shí),需要快速處理性能的步驟,又需要低速處理性能的步驟。在這種情況下,集成電路的工作速度遵循快速處理性能的步驟。相應(yīng)地,在集成電路中,處理性能被保留,而功耗變大。
為了降低集成電路的功耗,一種降低時(shí)鐘信號(hào)頻率(時(shí)鐘頻率)的方法被認(rèn)為是有效的方法。通常,可操作電壓近似于工作頻率的基函數(shù),而功耗與電壓的平方和頻率的乘積成比例。因此,通過(guò)控制頻率和電壓,可以降低功耗。另一方面,降低時(shí)鐘信號(hào)頻率意味著降低集成電路的處理性能。
近來(lái),提出了一種在所要實(shí)現(xiàn)的功能的工作期間可變的可編程邏輯功能??删幊踢壿嫻δ茉陔娐饭ぷ髌陂g可以改變電路的全部或部分邏輯結(jié)構(gòu)。例如,現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)就具有快速可變邏輯結(jié)構(gòu)。以下,這種電路被稱為“可編程邏輯電路”。
在一種分時(shí)操作可編程邏輯電路的方法中,在長(zhǎng)時(shí)間內(nèi)操作快速處理性能所需的步驟的單元電路,而在短時(shí)間內(nèi)操作足以滿足慢處理性能的步驟的單元電路。在這種情況下,可以減輕處理性能的過(guò)剩。
如果一個(gè)邏輯電路裝置包括多個(gè)可編程邏輯電路,那么,為每個(gè)可編程邏輯電路分配一個(gè)單元電路(處理),以便均分每個(gè)可編程邏輯電路的總處理時(shí)間。除此之外,通過(guò)改變時(shí)鐘頻率和電源電壓,可以降低功耗。然而,如果每個(gè)可編程邏輯電路具有不同的工作特性(電壓和頻率),那么電路的工作特性具有最差的特性控制。相應(yīng)地,不可能有效利用較好功率效率的可編程邏輯電路。
另一方面,在日本專利公開(kāi)(Kokai)PH08-44581中,提出了一種具有自修復(fù)功能的可編程信息系統(tǒng)。在這種系統(tǒng)中,可以自動(dòng)重建其組件以免故障,這樣,可以再生正常功能。然而,如果故障出現(xiàn)在系統(tǒng)的任意可編程邏輯電路中,那么系統(tǒng)無(wú)法處理該故障。
發(fā)明內(nèi)容
本發(fā)明涉及一種邏輯電路裝置,用于即使每個(gè)可編程邏輯電路具有不同的工作特性,也可以通過(guò)為每個(gè)可編程邏輯電路提供適當(dāng)?shù)碾妷簛?lái)降低總功耗。
根據(jù)本發(fā)明的一個(gè)方面,提供了一種邏輯電路裝置,包括多個(gè)可編程邏輯電路,每個(gè)都具有基于電路數(shù)據(jù)的可變電路組件;電路數(shù)據(jù)存儲(chǔ)器,用于存儲(chǔ)多個(gè)電路數(shù)據(jù)和性能要求,電路數(shù)據(jù)表示處理的單元電路,性能要求表示單元電路的處理性能;提供單元,用于為多個(gè)可編程邏輯電路提供電壓;特性數(shù)據(jù)存儲(chǔ)器,用于存儲(chǔ)每個(gè)可編程邏輯電路的特性數(shù)據(jù),特性數(shù)據(jù)表示電壓的工作范圍;和控制單元,用于計(jì)算多個(gè)可編程邏輯電路的最小電壓以執(zhí)行基于性能要求的多個(gè)電路數(shù)據(jù),用于有選擇地將多個(gè)電路數(shù)據(jù)分配給多個(gè)可編程邏輯電路以便使分配給每個(gè)可編程邏輯電路的電路數(shù)據(jù)的性能要求以最小電壓落在可編程邏輯電路的工作范圍之內(nèi),和用于控制所述提供單元以便為多個(gè)可編程邏輯電路提供最小電壓。
根據(jù)本發(fā)明的另一個(gè)方面,還提供了一種邏輯電路裝置,包括多個(gè)可編程邏輯電路,每個(gè)都具有基于電路數(shù)據(jù)的可變電路組件,每個(gè)可編程邏輯電路具有不同的處理性能;電路數(shù)據(jù)存儲(chǔ)器,用于存儲(chǔ)多個(gè)電路數(shù)據(jù)和各自針對(duì)電路數(shù)據(jù)的性能要求;和控制單元,用于根據(jù)處理性能和性能要求有選擇地將多個(gè)電路數(shù)據(jù)分配給多個(gè)可編程邏輯電路。
根據(jù)本發(fā)明的又一個(gè)方面,還提供了一種計(jì)算機(jī)程序產(chǎn)品,包括所述產(chǎn)品中所含的計(jì)算機(jī)可讀程序代碼,用于使計(jì)算機(jī)可以使用其中每個(gè)都具有基于電路數(shù)據(jù)的可變電路組件的多個(gè)可編程邏輯電路,所述計(jì)算機(jī)可讀程序代碼包括第一程序代碼,用于存儲(chǔ)多個(gè)電路數(shù)據(jù)和性能要求,電路數(shù)據(jù)表示處理的單元電路,性能要求表示單元電路的處理性能;第二程序代碼,用于存儲(chǔ)每個(gè)可編程邏輯電路的特性數(shù)據(jù),特性數(shù)據(jù)表示電壓的工作范圍;第三程序代碼,用于計(jì)算多個(gè)可編程邏輯電路的最小電壓以執(zhí)行基于性能要求的多個(gè)電路數(shù)據(jù);第四程序代碼,用于有選擇地將多個(gè)電路數(shù)據(jù)分配給多個(gè)可編程邏輯電路以便使分配給每個(gè)可編程邏輯電路的電路數(shù)據(jù)的性能要求以最小電壓落在可編程邏輯電路的工作范圍之內(nèi);和第五程序代碼,用于為多個(gè)可編程邏輯電路提供最小電壓。
圖1是作為一個(gè)應(yīng)用例子的邏輯電路裝置的框圖。
圖2是可編程邏輯電路的第一種工作狀態(tài)的框圖。
圖3是可編程邏輯電路的第二種工作狀態(tài)的框圖。
圖4是可編程邏輯電路的第三種工作狀態(tài)的框圖。
圖5是可編程邏輯電路的第四種工作狀態(tài)的框圖。
圖6是可編程邏輯電路的內(nèi)部組成的框圖。
圖7是可編程邏輯電路的重配置處理的流程圖。
圖8是根據(jù)第一實(shí)施例的邏輯電路裝置的框圖。
圖9是邏輯電路裝置的一般處理的示意圖。
圖10是圖8中的控制單元15的分配處理的流程圖。
圖11是圖8的邏輯電路裝置的處理的流程圖。
圖12是圖8的邏輯電路裝置的另一處理的流程圖。
圖13是根據(jù)第二實(shí)施例的邏輯電路裝置的框圖。
圖14是每個(gè)可編程邏輯電路的單元電路的分配方法的示意圖。
圖15是圖13的邏輯電路裝置的處理的流程圖。
圖16是圖13的邏輯電路裝置的另一處理的流程圖。
圖17是圖13的邏輯電路裝置的另一處理的流程圖。
圖18是根據(jù)第三實(shí)施例的邏輯電路裝置的框圖。
圖19是圖18的邏輯電路裝置的處理的流程圖。
圖20是圖18的邏輯電路裝置的另一處理的流程圖。
圖21是根據(jù)第四實(shí)施例的邏輯電路裝置的框圖。
具體實(shí)施例方式
下面,將參照附圖來(lái)說(shuō)明本發(fā)明的各種實(shí)施例。在說(shuō)明實(shí)施例之前,先說(shuō)明含有多個(gè)可編程邏輯電路的邏輯電路裝置的概要。圖1是作為一個(gè)應(yīng)用例子的邏輯電路裝置的框圖。在這一應(yīng)用例子中,四個(gè)步驟(步驟A~步驟D)構(gòu)成的處理由一個(gè)可編程邏輯電路1521來(lái)執(zhí)行。為了簡(jiǎn)化說(shuō)明,將說(shuō)明一個(gè)可編程邏輯電路的情況。
通常,這一處理可以由專用電路A、B、C和D以及用于臨時(shí)保存每個(gè)專用電路的輸入/輸出的FIFO類存儲(chǔ)器1500、1501、1502、1503和1504來(lái)實(shí)現(xiàn)。不過(guò),在圖1中,沒(méi)有使用四個(gè)專用電路,而是使用含有可編程邏輯電路1521以及電路數(shù)據(jù)A、B、C和D的邏輯電路裝置1520。
此外,可編程邏輯電路1521具有電路的重配置特性。簡(jiǎn)單地說(shuō),通過(guò)從外部改變電路數(shù)據(jù),可編程邏輯電路可以改變其電路配置。例如,如圖2中所示,可編程邏輯電路1521起基于電路數(shù)據(jù)A的電路A的作用。在這種情況下,如圖3中所示,通過(guò)提供電路數(shù)據(jù)B,可編程邏輯電路1521起電路B的作用。
本實(shí)施例的邏輯電路1520利用可編程邏輯電路的重配置特性。如圖2~5中所示,可編程邏輯電路1521在第一定時(shí)起電路A的作用,在第二定時(shí)起電路B的作用,在第三定時(shí)起電路C的作用,而在第四定時(shí)起電路D的作用。相應(yīng)地,在第一定時(shí),只執(zhí)行電路A的處理,而停止其他電路B~D的處理。這樣,通過(guò)改變可編程邏輯電路1521所實(shí)現(xiàn)的一種電路,就可以有選擇地執(zhí)行步驟A、B、C和D的處理。
如果要改變所要處理電路,那么FIFO切換單元1522改變與可編程邏輯電路1521連接的FIFO類存儲(chǔ)器。例如,如果要使可編程邏輯電路1521起電路C的作用,那么將FIFO 1502連接到可編程邏輯電路1521的輸入端,并將FIFO 1503連接到可編程邏輯電路1521的輸出端。如果要使可編程邏輯電路1521起電路D的作用,那么將FIFO 1503連接到可編程邏輯電路1521的輸入端,并將FIFO 1504連接到可編程邏輯電路1521的輸出端。
可編程邏輯電路1521的每個(gè)電路的操作次序可以預(yù)先確定或動(dòng)態(tài)確定。
圖6是可編程邏輯電路1521的內(nèi)部組成的框圖??删幊踢壿嬰娐?521包括多個(gè)單元塊2000和多個(gè)用于連接每個(gè)單元塊的單元塊連接單元2010。單元塊2000包括用于執(zhí)行輸入數(shù)據(jù)的邏輯操作的LUT 2001和用于當(dāng)將LUT 2001的計(jì)算結(jié)果輸出到另一個(gè)單元塊時(shí)使輸出同步的D觸發(fā)器2002。單元塊2000包括用于存儲(chǔ)多個(gè)電路數(shù)據(jù)的RAM 2003和用于切換提供給LUT 2001的電路數(shù)據(jù)的切換單元2004。此外,單元塊2000還包括當(dāng)切換LUT 2001的電路數(shù)據(jù)時(shí)保存和恢復(fù)D觸發(fā)器2002中的瞬態(tài)(狀態(tài))數(shù)據(jù)的RAM 2005和用于切換所保存和恢復(fù)的瞬態(tài)數(shù)據(jù)的切換單元2006。
單元塊連接單元2010包括用于根據(jù)單元塊之間的連接關(guān)系的電路數(shù)據(jù)將操作結(jié)果從單元塊2000輸出到另一個(gè)單元塊,用于存儲(chǔ)多個(gè)規(guī)定單元塊之間的連接關(guān)系電路數(shù)據(jù)的RAM 2012,和用于切換提供給連接單元2011的電路數(shù)據(jù)的切換單元2013。
RAM 2003接收來(lái)自外部的與邏輯操作有關(guān)的電路數(shù)據(jù)并存儲(chǔ)這些電路數(shù)據(jù)。RAM 2012接收來(lái)自外部的與單元塊之間的連接關(guān)系有關(guān)的電路數(shù)據(jù)并存儲(chǔ)這些電路數(shù)據(jù)。RAM 2005與外部之間接收和發(fā)送瞬態(tài)數(shù)據(jù)。切換單元2004、2006和2013根據(jù)來(lái)自外部的控制信號(hào)執(zhí)行切換操作。
圖7是可編程邏輯電路1521工作期間重配置處理的流程圖。在這種情況下,重配置控制由一個(gè)在可編程邏輯電路1521之外的控制單元(圖6中未示出)來(lái)執(zhí)行。
在步驟S2101中,控制單元分別將(與所要操作的電路相應(yīng)的)電路數(shù)據(jù)2003-2和電路數(shù)據(jù)2012-2從外部提供給RAM 2003和RAM2012。此外,控制單元還將(與該電路相應(yīng)的)瞬態(tài)數(shù)據(jù)2005-2從外部提供給RAM 2005。
在步驟S2102中,控制單元停止向可編程邏輯電路1521提供時(shí)鐘信號(hào),從而停止可編程邏輯電路1521的處理。
在步驟S2103中,控制單元將FIFO(圖6中未示出)連接到可編程邏輯電路1521。
在步驟S2104中,控制單元向切換單元2006發(fā)送一個(gè)控制信號(hào),從而將D觸發(fā)單元2002中的瞬態(tài)數(shù)據(jù)保存到RAM 2005中。所保存的瞬態(tài)數(shù)據(jù)作為瞬態(tài)數(shù)據(jù)2005-1存儲(chǔ)在RAM 2005中。
在步驟S2105中,控制單元向切換單元2004發(fā)送一個(gè)控制信號(hào)。切換單元2004將(與所要操作的電路有關(guān)的)的電路數(shù)據(jù)2003-2從RAM 2003復(fù)制到LUT 2001中??刂茊卧蚯袚Q單元2013發(fā)送一個(gè)控制信號(hào)。切換單元2013將(與所要操作的電路的連接關(guān)系有關(guān)的)電路數(shù)據(jù)2012-2從RAM 2012復(fù)制到連接單元2011中。此外,控制單元還向切換單元2006發(fā)送一個(gè)控制信號(hào)。切換單元2006在D觸發(fā)單元2002上恢復(fù)(與所要操作的電路相應(yīng)的)瞬態(tài)數(shù)據(jù)2005-2。
在步驟S2107中,連接單元再一次開(kāi)始提供時(shí)鐘信號(hào)。此外,必要的話,在RAM 2005中保存的瞬態(tài)數(shù)據(jù)2005-1(步驟S2104中)可以保存到外部存儲(chǔ)器(圖6未示出)中。
這樣,便實(shí)現(xiàn)了邏輯電路的重配置。如果必要的數(shù)據(jù)已經(jīng)存儲(chǔ)在RAM 2003、2005和2012中,那么可以省略步驟S2101。
下面,將參照這些圖來(lái)說(shuō)明本發(fā)明的各種實(shí)施例。
圖8是根據(jù)第一實(shí)施例的邏輯電路裝置的框圖。通過(guò)參照?qǐng)D8,說(shuō)明使用多個(gè)操作可變電路的邏輯電路裝置(即多個(gè)可編程邏輯電路)。
可編程邏輯電路單元11包括多個(gè)可編程邏輯電路1,2,...m,并且由電路/電壓提供單元12來(lái)饋電。可編程邏輯電路1,2,...m實(shí)際上具有相同的配置,但具有不同的處理性能和工作特性。在第一實(shí)施例中,這些可編程邏輯電路的可操作處理速度的上限之間相差最大為30%。工作特性是指時(shí)鐘頻率與供電電壓之間的關(guān)系。在第一實(shí)施例中,即使可編程邏輯電路1,2,...m具有相同的頻率,它們也不一定總以相同的供電電壓來(lái)操作。
此外,可編程邏輯電路1,2,...m分別包括多個(gè)可編程邏輯單元和用于連接這些邏輯單元的連接單元。通過(guò)提供邏輯數(shù)據(jù),這些可編程邏輯單元可以起到諸如“與”單元、“或”單元和“或非”單元等邏輯單元的作用。此外,通過(guò)提供規(guī)定邏輯單元之間的連接關(guān)系的連接數(shù)據(jù),它們還可以執(zhí)行諸如算術(shù)四則運(yùn)算的各種操作處理。
電路數(shù)據(jù)存儲(chǔ)器13包括一個(gè)存儲(chǔ)區(qū),用于存儲(chǔ)多個(gè)電路數(shù)據(jù)1,2,...m。該電路數(shù)據(jù)包括用于重配置編程邏輯電路1,2,...m的每個(gè)邏輯單元的信息,即用于對(duì)可編程邏輯電路進(jìn)行編程的信息。具體地說(shuō),該電路數(shù)據(jù)包括上述邏輯數(shù)據(jù)和連接數(shù)據(jù)。在電路數(shù)據(jù)存儲(chǔ)器13中,性能要求存儲(chǔ)區(qū)附有各個(gè)電路數(shù)據(jù)存儲(chǔ)區(qū)。性能要求存儲(chǔ)區(qū)存儲(chǔ)了每個(gè)單元電路的性能要求(電路數(shù)據(jù))的指數(shù)。單元電路表示根據(jù)電路數(shù)據(jù)配置在可編程邏輯電路中的單一操作電路(處理)。作為性能要求1,2,...n的指數(shù),例如,當(dāng)利用單一可編程邏輯電路不變地操作單元電路時(shí),應(yīng)用不會(huì)使單元電路的處理失敗的最小時(shí)鐘頻率。
電路數(shù)據(jù)存儲(chǔ)器13與電路數(shù)據(jù)提供單元14連接。電路數(shù)據(jù)提供單元14根據(jù)來(lái)自控制單元15的控制信號(hào)有選擇地將電路數(shù)據(jù)存儲(chǔ)器13的電路數(shù)據(jù)1,2,...n提供給可編程邏輯電路單元11的可編程邏輯電路1,2,...m。簡(jiǎn)要地說(shuō),利用電路數(shù)據(jù)提供單元14和控單元15,將有選擇地對(duì)多個(gè)可編程邏輯電路進(jìn)行編程的邏輯數(shù)據(jù)輸入到多個(gè)可編程邏輯電路,并根據(jù)每個(gè)可編程邏輯電路的處理性能將預(yù)定處理分配給多個(gè)可編程邏輯電路,從而執(zhí)行該預(yù)定處理。
工作范圍存儲(chǔ)器17和瞬態(tài)數(shù)據(jù)管理單元18與控制單元15連接。工作范圍存儲(chǔ)器17存儲(chǔ)每個(gè)可編程邏輯電路的處理性能的上限和下限(可操作指數(shù))。具體地說(shuō),工作范圍存儲(chǔ)器17存儲(chǔ)表示每個(gè)可編程邏輯電路以多少電壓(功率)和多少M(fèi)Hz(時(shí)鐘頻率)工作的功率數(shù)據(jù)表。
瞬態(tài)數(shù)據(jù)管理單元18與瞬態(tài)數(shù)據(jù)存儲(chǔ)器19連接,并管理可編程邏輯電路單元11的工作狀態(tài)。例如,瞬態(tài)數(shù)據(jù)存儲(chǔ)器19包括用于存儲(chǔ)與可編程邏輯電路1,2,...m相應(yīng)的瞬態(tài)數(shù)據(jù)1,2,...M的存儲(chǔ)區(qū)。當(dāng)可編程邏輯電路的處理中斷時(shí),瞬態(tài)數(shù)據(jù)管理單元18臨時(shí)存儲(chǔ)與瞬態(tài)數(shù)據(jù)存儲(chǔ)器19的存儲(chǔ)區(qū)相應(yīng)的處理狀態(tài)(瞬態(tài)數(shù)據(jù))。處理狀態(tài)表示在可編程邏輯電路的處理的中斷時(shí)刻可編程邏輯電路中每個(gè)邏輯單元的輸出/輸入值。
此外,控制單元15與FIFO裝置20、輸入FIFO選擇單元21和輸出FIFO選擇單元22連接。當(dāng)輸入到FIFO裝置20的數(shù)據(jù)作為預(yù)定量被存儲(chǔ)時(shí),控制單元15對(duì)可編程邏輯電路單元11進(jìn)行操作。如圖8中所示,F(xiàn)IFO裝置20包括FIFO-1~FIFO-(N-1)、輸入FIFO-a和輸出FIFO-b。
下面,說(shuō)明第一實(shí)施例的邏輯電路裝置的功能。
圖9是在圖1的組件中的基本處理的示意圖。如圖9中所示,可編程邏輯電路1~m所配置的多個(gè)單元電路1~n執(zhí)行專用處理。每個(gè)單元電路都與一個(gè)FIFO連接,而控制單元15監(jiān)控每個(gè)FIFO中所存儲(chǔ)的數(shù)據(jù)量。這樣,可以確定所要執(zhí)行的單元電路。FIFO可以是專用硬件或是以先進(jìn)先出方式操作的通用存儲(chǔ)器。
例如,控制單元15判斷作為每個(gè)單元電路的輸入端的FIFO中的數(shù)據(jù)量是否大于預(yù)定閾值以及作為每個(gè)單元電路的輸出端的FIFO中的數(shù)據(jù)量是否小于預(yù)定閾值。根據(jù)判斷結(jié)果,控制單元15確定每個(gè)可編程邏輯電路所要操作的單元電路并重配置每個(gè)可編程邏輯電路。
如果執(zhí)行處理,那么從電路數(shù)據(jù)存儲(chǔ)器13中所存儲(chǔ)的多個(gè)電路數(shù)據(jù)1~n中提取出合適的電路數(shù)據(jù),并通過(guò)電路數(shù)據(jù)提供單元14將其加載到合適的可編程邏輯電路中。單元電路配置在可編程邏輯電路中。輸入FIFO選擇單元21將一個(gè)存有輸入數(shù)據(jù)(單元電路的處理對(duì)象)的FIFO選為輸入FIFO。輸出FIFO選擇單元22將一個(gè)存有輸出數(shù)據(jù)(單元電路的處理結(jié)果)的FIFO選為輸出FIFO。輸入數(shù)據(jù)從輸入FIFO提供到可編程邏輯電路,而單元電路的處理結(jié)果存儲(chǔ)在輸出FIFO中。
在上述組件中,控制單元15從電路數(shù)據(jù)存儲(chǔ)器13的性能要求存儲(chǔ)區(qū)中獲得每個(gè)單元電路的性能要求(電路數(shù)據(jù)),并將一個(gè)單元電路分配給可編程邏輯電路,這樣,在每個(gè)可編程邏輯電路的處理性能都不超過(guò)每個(gè)可編程邏輯電路的上限(存儲(chǔ)在工作范圍存儲(chǔ)器中)的情況下,使所有可編程邏輯電路的總功率最小。圖10是控制單元15的單元電路分配的處理的流程圖。
首先,通過(guò)查閱電路數(shù)據(jù)存儲(chǔ)器13中的性能要求存儲(chǔ)區(qū),控制單元15得到分配給每個(gè)可編程邏輯電路的每個(gè)單元電路的性能要求(例如,處理速度)(S11)。控制單元15得到每個(gè)可編程邏輯電路的功率數(shù)據(jù)(例如,時(shí)鐘頻率與電壓之間的關(guān)系)(S12)??刂茊卧?5根據(jù)分配給可編程邏輯電路的每個(gè)單元電路的性能要求,計(jì)算每個(gè)可編程邏輯電路的總性能要求。具體地說(shuō),每個(gè)可編程邏輯電路根據(jù)從電路數(shù)據(jù)1~n中選出的多個(gè)電路數(shù)據(jù)執(zhí)行多個(gè)處理,并計(jì)算執(zhí)行每個(gè)可編程邏輯電路的處理的總性能要求。然后,通過(guò)查閱工作范圍存儲(chǔ)器17,控制單元15確定每個(gè)可編程邏輯電路的處理性能以執(zhí)行預(yù)定時(shí)間內(nèi)的總性能要求,并根據(jù)該處理性能計(jì)算每個(gè)可編程邏輯電路的功耗(S13)。
此外,控制單元15比較每個(gè)可編程邏輯電路的功耗,選擇分配給具有最大功耗的可編程邏輯電路的單元電路之一(S14),并將這一單元電路重新分配給最小功耗的另一個(gè)可編程邏輯電路(S15)。
單元電路的分配可以按如下方式執(zhí)行。首先,通過(guò)查閱電路數(shù)據(jù)存儲(chǔ)器13中的性能要求存儲(chǔ)區(qū),控制單元15得到分配給每個(gè)可編程邏輯電路的每個(gè)單元電路的性能要求,并計(jì)算所有可編程邏輯電路的總性能要求??刂茊卧?5得到工作范圍存儲(chǔ)器17中所存儲(chǔ)的每個(gè)可編程邏輯電路的功率數(shù)據(jù)(表示性能要求與驅(qū)動(dòng)電壓之間的關(guān)系)。通過(guò)參照功率數(shù)據(jù),控制單元15計(jì)算所有可編程邏輯電路的最小驅(qū)動(dòng)電壓以實(shí)現(xiàn)總性能要求。假定每個(gè)可編程邏輯電路均通過(guò)最小驅(qū)動(dòng)電壓來(lái)操作,那么將每個(gè)單元電路都分配給可編程邏輯電路。如果分配了每個(gè)單元電路使得通常通過(guò)最小驅(qū)動(dòng)電壓可以操作所有可編程邏輯電路,那么可以采用這種分配。如果在最小驅(qū)動(dòng)電壓的操作期間任何可編程邏輯電路的時(shí)鐘頻率超過(guò)這一可編程邏輯電路的上限,那么將分配給該可編程邏輯電路的任何單元電路重新分配給另一個(gè)可編程邏輯電路。然而,如果在最小驅(qū)動(dòng)電壓的操作期間可編程邏輯電路的時(shí)鐘頻率仍然超過(guò)這一可編程邏輯電路的上限,那么控制單元15有選擇地再將每個(gè)單元電路分配給可編程邏輯電路,假定所有可編程邏輯電路在某個(gè)階段都以較高驅(qū)動(dòng)電壓工作(時(shí)鐘/電壓提供單元12可變的最小單位,例如0.1V)??刂茊卧?5重復(fù)上述處理,直到分配成功。
圖11是根據(jù)第一實(shí)施例的邏輯電路裝置的另一處理的流程圖。如圖11中所示,每一時(shí)鐘的功耗被定義為功率效率,并計(jì)算每個(gè)可編程邏輯電路的功率效率和功耗。通過(guò)比較每個(gè)可編程邏輯電路的功率效率,選擇分配給最差功率效率的可編程邏輯電路的單元電路之一,并將其分配給最好功率效率的另一個(gè)可編程邏輯電路。
例如,首先,得到分配給每個(gè)可編程邏輯電路的單元電路的性能要求(S21)。得到每個(gè)可編程邏輯電路的功率數(shù)據(jù)(S22)。根據(jù)每個(gè)可編程邏輯電路的性能要求和功率數(shù)據(jù),計(jì)算每個(gè)可編程邏輯電路的功耗值(S23)。再者,計(jì)算一個(gè)時(shí)鐘周期的功耗作為每個(gè)可編程邏輯電路的功率效率(S24)。根據(jù)這一計(jì)算結(jié)果,選擇分配給具有最差功率效率的可編程邏輯電路的單元電路之一(S25)。將這一單元電路重新分配給最好功率效率的另一個(gè)可編程邏輯電路(S26)。功率效率并不局限于每一時(shí)鐘周期,而可以是每多個(gè)時(shí)鐘周期。
圖12是根據(jù)第一實(shí)施例的邏輯電路裝置的另一處理的流程圖。首先,得到分配給可編程邏輯電路的每個(gè)單元電路的性能要求(S31)。得到每個(gè)可編程邏輯電路的功率數(shù)據(jù)(S32)。根據(jù)功率數(shù)據(jù),計(jì)算所有可編程邏輯電路的總功耗(S33)。然后,根據(jù)所有可編程邏輯電路的總功耗,計(jì)算每個(gè)可編程邏輯電路的最高性能的閾值(S34)。針對(duì)每個(gè)可編程邏輯電路,判斷閾值與性能要求之間的差值是否大于預(yù)定值(S35)。如果差值大于預(yù)定值(步驟S35中為“是”),那么選擇分配給性能要求大于閾值的可編程邏輯電路的單元電路之一(S36)。將這一單元電路重新分配給性能要求小于預(yù)定值的另一個(gè)可編程邏輯電路(S37)。如果差值不大于預(yù)定值(步驟S35中為“否”),那么處理結(jié)束。在S37中,可將這一單元電路分配給具有最好功率效率的可編程邏輯電路。
此外,根據(jù)所有可編程邏輯電路的總性能要求和功率數(shù)據(jù),在最小功率的理想分配的情況下,可以將每個(gè)可編程邏輯電路的處理性能設(shè)置為閾值。將一這理論值與每個(gè)可編程邏輯電路的總性能要求進(jìn)行比較。在這種情況下,選擇分配給總性能要求大于理論值的可編程邏輯電路的單元電路之一,并將其重新分配給總性能要求不大于理論值的另一個(gè)可編程邏輯電路??梢砸灶A(yù)定間隔執(zhí)行分配給可編程邏輯電路的單元電路的分配變化。此外,通過(guò)監(jiān)控每個(gè)可編程邏輯電路的總性能要求,可以在總性能要求變化時(shí)執(zhí)行單元電路的分配變化。
工作范圍存儲(chǔ)器17可以存儲(chǔ)一個(gè)表,該表相應(yīng)地存儲(chǔ)處理性能和功耗值作為功率數(shù)據(jù)。在這種情況下,如果控制單元15通過(guò)查閱使用處理性能的表計(jì)算功耗值,可以返回該功耗值。否則,工作范圍存儲(chǔ)器17可以存儲(chǔ)性能/功率轉(zhuǎn)換系數(shù)作為功率數(shù)據(jù)。在這種情況下,如果控制單元15通過(guò)利用性能/功率轉(zhuǎn)換系數(shù)計(jì)算處理性能來(lái)計(jì)算功耗值,可以返回(所計(jì)算的)功耗值。
如果在S14、S25和S36中選擇了一個(gè)單元電路,那么可以從分配給可編程邏輯電路的單元電路中選擇一個(gè)最高性能要求的單元電路。否則,可以選擇一個(gè)最低性能要求的單元電路,或者可以選擇預(yù)定單元電路。
通過(guò)測(cè)量每個(gè)單元電路的工作時(shí)間(例如,控制單元15包括一個(gè)如圖9中的工作時(shí)間測(cè)量單元中所示的時(shí)鐘),即使每個(gè)單元電路的處理負(fù)載動(dòng)態(tài)變化,也能估算每個(gè)單元電路的處理要求。例如,可以用工作時(shí)間與時(shí)鐘頻率的乘積作為表示定時(shí)上的性能要求的指數(shù)。通過(guò)根據(jù)所估算的性能要求適當(dāng)改變分配,即使每個(gè)可編程邏輯電路的工作特性有個(gè)別差異,也能降低系統(tǒng)的功耗。
圖13是根據(jù)第二實(shí)施例的邏輯電路裝置的框圖。在第二實(shí)施例中,可編程邏輯電路單元111包括可編程邏輯電路1~m和時(shí)鐘/電壓提供單元1~m,時(shí)鐘/電壓提供單元1~m每個(gè)都與可編程邏輯電路1~m連接并為可編程邏輯電路1~m提供時(shí)鐘信號(hào)/電壓??刂茊卧?5根據(jù)分配給每個(gè)可編程邏輯電路的單元電路的總性能要求,計(jì)算每個(gè)可編程邏輯電路的工作頻率,以執(zhí)行預(yù)定時(shí)間內(nèi)的所有處理。將工作頻率發(fā)送到時(shí)鐘/電壓提供單元。每個(gè)時(shí)鐘/電壓提供單元存儲(chǔ)一個(gè)表,該表相應(yīng)地存儲(chǔ)相應(yīng)可編程邏輯電路的時(shí)鐘頻率和電壓。通過(guò)查閱使用工作頻率的表,可以將時(shí)鐘信號(hào)和電壓提供給相應(yīng)的可編程邏輯電路。
在第二實(shí)施例中,根據(jù)處理負(fù)載,利用上述分配方法將單元電路分配給每個(gè)可編程邏輯電路,并分別為每個(gè)可編程邏輯電路執(zhí)行頻率/電壓的控制。
圖14是這樣一個(gè)示意圖在不考慮每個(gè)工作特性來(lái)分配單元電路以均分每個(gè)可編程邏輯電路的處理負(fù)載的情況下的平均功耗(上圖),和在考慮每個(gè)可編程邏輯電路的工作特性(利用本實(shí)施例的方法)來(lái)分配單元電路的情況下的平均功耗(圖下側(cè))。
在圖14中,可編程邏輯電路B與可編程邏輯電路A、C和D相比具有更好的功率效率。利用本實(shí)施例的單元電路的分配方法,最好功率效率的可編程邏輯電路B的總性能要求提高,而較差功率效率的可編程邏輯電路A、C和D的總性能要求相對(duì)降低。因此,與分配單元電路以均分每個(gè)處理負(fù)載的情況相比,在本實(shí)施例的分配方法中所有可編程邏輯電路的平均功耗較低。
圖15是根據(jù)第二實(shí)施例的邏輯電路裝置的處理的流程圖。首先,得到分配給每個(gè)可編程邏輯電路的單元電路的性能要求(S41)。然后,計(jì)算每個(gè)可編程邏輯電路的總性能要求(S42)。在單元電路的分配變化的情況下,控制單元15將每個(gè)可編程邏輯電路的總性能要求與每個(gè)可編程邏輯電路的處理性能的下限(存儲(chǔ)在工作范圍存儲(chǔ)器17中)進(jìn)行比較(S43)。如果總性能要求低于下限,那么,根據(jù)下限與總性能要求之間的差值計(jì)算可編程邏輯電路的停止時(shí)間(S44)。在這一可編程邏輯電路利用下限的處理性能執(zhí)行所分配的處理(所分配單元電路)后,該可編程邏輯電路被停止該段停止時(shí)間(S45)。
就可編程邏輯電路被停止而言,控制單元15可以在預(yù)定間隔后再次起動(dòng)時(shí)鐘的提供。再者,通過(guò)以預(yù)定間隔控制被停止的可編程邏輯電路的操作起動(dòng),控制單元15可以在任意時(shí)刻停止可編程邏輯電路。
圖16是根據(jù)第二實(shí)施例的邏輯電路裝置的另一處理的流程圖。首先,得到分配給每個(gè)可編程邏輯電路的單元電路的性能要求(S51)。然后,計(jì)算每個(gè)可編程邏輯電路的總性能要求(S52)。在單元電路的分配變化的情況下,控制單元15將每個(gè)可編程邏輯電路的總性能要求與每個(gè)可編程邏輯電路的處理性能的下限(存儲(chǔ)在工作范圍存儲(chǔ)器17中)進(jìn)行比較(S53)。如果可編程邏輯電路的總性能要求低于下限,并且如果另一可編程邏輯電路的處理性能低于上限,那么,控制單元15將分配給該可編程邏輯電路的單元電路轉(zhuǎn)變到另一可編程邏輯電路(S54),并停止該可編程邏輯電路(S55)。
在單元電路的分配變化的情況下,如果可編程邏輯電路的總性能要求大于處理性能的上限(存儲(chǔ)在工作范圍存儲(chǔ)器17中),并且如果此時(shí)存在另一被停止的可編程邏輯電路,那么,為所有可編程邏輯電路(包括另一被停止的可編程邏輯電路)執(zhí)行單元電路的分配變化,并起動(dòng)另一被停止的可編程邏輯電路的操作。圖17是根據(jù)第二實(shí)施例的邏輯電路裝置的這一處理的流程圖。
首先,得到分配給每個(gè)可編程邏輯電路的單元電路的性能要求(S61)。然后,計(jì)算每個(gè)可編程邏輯電路的總性能要求(S62)。然后,判斷總性能要求是否高于存儲(chǔ)在工作范圍存儲(chǔ)器17中的處理性能的上限(S63)。如果總性能要求高于上限,那么有選擇地將所有單元電路重新分配給包括被停止的可編程邏輯電路在內(nèi)的可編程邏輯電路(S64)。然后,被停止的可編程邏輯電路開(kāi)始操作(S65)。
在單元電路的分配變化的情況下,如果總性能要求不高于所有可編程邏輯電路的上限,并且如果此時(shí)存在至少一個(gè)被停止的可編程邏輯電路,那么,為所有可編程邏輯電路(該至少一個(gè)被停止的可編程邏輯電路除外)執(zhí)行單元電路的分配變化。
在停止至少一個(gè)可編程邏輯電路和為其他可編程邏輯電路(每個(gè)都在連續(xù)工作)重新分配單元電路的情況下,可以按功耗值降低的次序或當(dāng)前性能要求降低的次序來(lái)為其他可編程邏輯電路分配單元電路。否則,可以根據(jù)另一種方法來(lái)為預(yù)定可編程邏輯電路分配單元電路。
在停止至少一個(gè)可編程邏輯電路和為其他可編程邏輯電路(每個(gè)都在連續(xù)工作)重新分配單元電路的情況下,可以重復(fù)地從分配給最大功耗值的可編程邏輯電路的單元電路中選擇一個(gè)單元電路,并將其分配給另一個(gè)可編程邏輯電路以便起動(dòng)操作。分配給最高總性能要求的可編程邏輯電路的至少一個(gè)單元電路可以重新分配給另一個(gè)可編程電路以起動(dòng)操作。在起動(dòng)可編程邏輯電路的操作的情況下,(原來(lái)分配給該可編程邏輯電路的)被重新分配給另一可編程邏輯電路的單元電路可以返回給該可編程邏輯電路。可以從分配給每個(gè)都在操作的可編程邏輯電路的單元電路中選擇預(yù)定數(shù)量的單元電路,并將其分配給另一個(gè)可編程邏輯電路以便起動(dòng)操作。
在第二實(shí)施例中,如果可編程邏輯電路具有備用的處理性能,那么一個(gè)預(yù)定可編程邏輯電路停止而其他可編程邏輯電路繼續(xù)執(zhí)行處理。因此可以降低系統(tǒng)的功耗。
圖18是根據(jù)第三實(shí)施例的邏輯電路裝置的框圖。在第三實(shí)施例中,在圖13的邏輯電路裝置中增加了一個(gè)工作檢查單元23。針對(duì)每個(gè)可編程邏輯電路的(時(shí)鐘頻率和電壓的)上限和下限(存儲(chǔ)在工作范圍存儲(chǔ)器17中),工作檢查單元23利用檢查的單元電路檢查每個(gè)可編程邏輯電路是否在上限和下限范圍內(nèi)工作正常。如果檢測(cè)到工作正常,那么每個(gè)可編程邏輯電路返回到正常處理。
如果檢測(cè)到上限的工作反常,那么工作檢查單元23利用預(yù)定值或比率使上限降低,然后再進(jìn)行檢查。如果檢測(cè)到下限的工作反常,那么工作檢查單元23利用預(yù)定值或比率使下限提高,然后再進(jìn)行檢查。反復(fù)地重新確定上限和下限并進(jìn)行檢查直到可編程邏輯電路工作正常。如果通過(guò)檢查檢測(cè)到工作反常,可以改變頻率和電壓再進(jìn)行檢查。可以通過(guò)固定頻率改變電壓再進(jìn)行檢查,或可以通過(guò)固定電壓改變頻率再進(jìn)行檢查。
工作檢查單元23可以通過(guò)以預(yù)定間隔停止任意可編程邏輯電路的操作的方式來(lái)檢查該可編程邏輯電路。工作檢查單元23可以檢查所有的各自在啟動(dòng)后立即激活的可編程邏輯電路。否則,可執(zhí)行兩種檢查處理。
圖19是根據(jù)第三實(shí)施例的邏輯電路裝置的處理的流程圖。首先,將用于故障檢查的單元電路加載到可編程邏輯電路上(S71)。然后,對(duì)該可編程邏輯電路執(zhí)行故障檢查(S72),并判斷該可編程邏輯電路是否有故障(S73)。如果檢測(cè)到故障,那么將該可編程邏輯電路的時(shí)鐘頻率的上限(存儲(chǔ)在工作范圍存儲(chǔ)器17中)置為“0”(S74)。在這種情況下,可以將電壓的上限置為“0”。然后,將分配給該可編程邏輯電路的單元電路轉(zhuǎn)變到其他可編程邏輯電路(S75)。
如上所述,通過(guò)配置和操作每個(gè)可編程邏輯電路上的檢查電路,工作檢查單元23檢測(cè)到無(wú)論電壓/頻率工作反常的可編程邏輯電路。如果檢測(cè)到工作反常的可編程邏輯電路,工作檢查單元23將這一可編程邏輯電路的處理性能的上限(存儲(chǔ)在工作范圍存儲(chǔ)器中)置為“0”,然后將分配給該可編程邏輯電路的單元電路重新分配給其他可編程邏輯電路。
檢查電路可以為多個(gè)可編程邏輯電路執(zhí)行相同的操作,并檢測(cè)處理結(jié)果唯一不同的可編程邏輯電路。此外,還可以執(zhí)行可編程邏輯電路的專用測(cè)試,比如掃描測(cè)試。工作檢查單元23可以通過(guò)以預(yù)定間隔停止至少一個(gè)可編程邏輯電路的操作的方式進(jìn)行檢查,或可以檢查所有的各自在啟動(dòng)后立即激活的可編程邏輯電路。
圖20是根據(jù)第三實(shí)施例的邏輯電路裝置的另一處理的流程圖。首先,將用于故障檢查的單元電路加載到可編程邏輯電路上(S81)。然后,對(duì)該可編程邏輯電路執(zhí)行故障檢查(S82),并判斷該可編程邏輯電路是否有故障(S83)。如果可編程邏輯電路有故障,那么根據(jù)故障檢查結(jié)果確定該可編程邏輯電路中的故障部件(S84)。然后,掃描(檢查)所有電路數(shù)據(jù)(S85)。通過(guò)掃描,確定(該可編程邏輯電路中)未使用該故障部件的電路數(shù)據(jù)(單元電路)(S86)。然后,判斷是否沒(méi)有確定未使用該故障部件的單元電路或者這樣的單元電路的數(shù)量是否小于預(yù)定值(S87)。如果沒(méi)有確定單元電路或單元電路的數(shù)量小于預(yù)定值,那么,停止該可編程邏輯電路(S88),處理結(jié)束。如果確定了單元電路并且單元電路的數(shù)量不小于預(yù)定值,那么,判斷單元電路的總性能要求是否低于故障檢查前該可編程邏輯電路的總性能要求(S89)。如果單元電路的總性能要求低于故障檢查前該該可編程邏輯電路的總性能要求,那么,將所有這樣的單元電路全部分配給該可編程邏輯電路(S90)。然后,禁止該可編程邏輯電路的單元電路的分配變化(S91),處理結(jié)束。
如果單元電路的總性能要求不低于故障檢查前該該可編程邏輯電路的總性能要求,那么,將這樣的單元電路中的每一個(gè)按次序分配給該可編程邏輯電路(S92)。當(dāng)所分配的單元電路的總性能要求首次高于故障檢查前該該可編程邏輯電路的總性能要求時(shí),停止為該可編程邏輯電路分配單元電路(S93),處理轉(zhuǎn)至S91。
如上所述,在第三實(shí)施例中,新增加了停止所指定的可編程邏輯電路的單元電路的分配變化的控制。簡(jiǎn)單地說(shuō),如果檢測(cè)到可編程邏輯電路工作反常,或者如果在檢測(cè)到工作反常后進(jìn)行了詳細(xì)檢查,那么工作檢查單元23確定該可編程邏輯電路中的故障部件。然后,通過(guò)檢查電路數(shù)據(jù)存儲(chǔ)器13中所存儲(chǔ)的電路數(shù)據(jù),工作檢查單元23檢索未使用該故障部件的電路數(shù)據(jù)(單元電路)。這一檢索可以通過(guò)檢查電路數(shù)據(jù)中的預(yù)定位置的信息來(lái)實(shí)現(xiàn)。
檢查完所有電路數(shù)據(jù)(所有單元電路)后,計(jì)算所有未使用該故障部件的單元電路的總性能要求。將這些單元電路分配給這一可編程邏輯電路,這樣,所分配的單元電路的處理負(fù)載最大等于故障檢查前該處理負(fù)載。
再者,此后不再執(zhí)行該可編程邏輯電路的單元電路的分配變化,而執(zhí)行其他可編程邏輯電路的單元電路的分配變化。在為一個(gè)(有故障的)可編程邏輯電路分配了未使用故障部件的單元電路時(shí),如果分配給可編程邏輯電路的單元電路的性能要求小于該可編程邏輯電路的處理性能的下限(存儲(chǔ)在工作范圍存儲(chǔ)器中),那么停止這一可編程邏輯電路。在這種情況下,將分配給該可編程邏輯電路的所有單元電路都重新分配給其他可編程邏輯電路。
在第三實(shí)施例中,當(dāng)在某一可編程邏輯電路中出現(xiàn)故障時(shí),可以通過(guò)回避故障和通過(guò)利用與該故障部件無(wú)關(guān)的單元來(lái)繼續(xù)進(jìn)行處理。此外,可以將故障迅速通知給用戶。
圖21是根據(jù)第四實(shí)施例的邏輯電路裝置的框圖。在第四實(shí)施例中,在圖18的第三實(shí)施例中新增了異常通知單元(發(fā)光裝置控制單元24)作為一個(gè)外部裝置。如果工作檢查單元23檢測(cè)到故障,那么,發(fā)光裝置控制單元24控制發(fā)光裝置(圖21中未示出)發(fā)光。發(fā)光設(shè)備控制單元24可以為所有可編程邏輯電路共同地設(shè)置,或者為每個(gè)可編程邏輯電路不同地設(shè)置。在共同設(shè)置時(shí),根據(jù)各個(gè)有故障的可編程邏輯電路的數(shù)量,可以改變發(fā)光操作(比如色彩或閃爍)。
在上述邏輯電路裝置中,預(yù)定時(shí)間內(nèi)按預(yù)定速度執(zhí)行(比每個(gè)邏輯電路的處理速度更快)的處理內(nèi)容(單元電路)被分配到可編程邏輯電路中,這樣,可以使所有可編程邏輯電路的總功耗最小,并可以并行執(zhí)行。與均分每個(gè)可編程邏輯電路的處理負(fù)載的分配方法比較,這些處理內(nèi)容可以低功耗地按每個(gè)邏輯電路的處理速度來(lái)執(zhí)行。
下面,舉一個(gè)例子來(lái)說(shuō)明。假定,邏輯電路1在供電電壓為1.1V時(shí)以200MHz工作,而邏輯電路2在供電電壓為1.1V時(shí)以150MHz工作。此外,假定,邏輯電路1在供電電壓為1.2V時(shí)以250MHz工作,而邏輯電路2在供電電壓為1.2V時(shí)以200MHz工作。簡(jiǎn)單地說(shuō),工作頻率隨電壓的提高而提高。
在這種假定情況下,考慮這樣一種情況在預(yù)定時(shí)間內(nèi)可以按工作350MHz的處理速度來(lái)執(zhí)行處理內(nèi)容。如果處理內(nèi)容同等地分配給邏輯電路1和2,即如果處理內(nèi)容175MHz(350MHz的一半)分別分配給邏輯電路1和2,那么,邏輯電路1可以以175MHz執(zhí)行供電電壓1.1V的處理,因?yàn)檫壿嬰娐?在供電電壓1.1V時(shí)可以以200MHz執(zhí)行處理。另一方面,邏輯電路2不能在175MHz執(zhí)行供電電壓1.1V的處理,因?yàn)檫壿嬰娐?在供電電壓1.1V時(shí)最大可以以150MHz執(zhí)行處理。因此,邏輯電路2的供電電壓必須提高。
然而,對(duì)于供電電壓1.1V,邏輯電路1可以以200MHz執(zhí)行處理而邏輯電路2可以以150MHz執(zhí)行處理。如果處理內(nèi)容350MHz其中200MHz分配給邏輯電路1而其中150MHz分配給邏輯電路2,那么處理內(nèi)容350MHz可以作為一個(gè)整體來(lái)處理。在這種情況下,邏輯電路1和邏輯電路2兩者可以并行地以電壓1.1V來(lái)工作。簡(jiǎn)單地說(shuō),預(yù)定時(shí)間內(nèi)按預(yù)定速度執(zhí)行(比每個(gè)可編程邏輯電路的處理速度更快)的處理內(nèi)容被分配到各個(gè)可編程邏輯電路中,這樣,可以使所有可編程邏輯電路的總功耗最小。與均分每個(gè)可編程邏輯電路的處理負(fù)載的分配方法比較,這些處理內(nèi)容可以低功耗地按每個(gè)可編程邏輯電路的速度來(lái)執(zhí)行。功耗與供電壓成比例。因此,供電電壓越高,功耗越小。
此外,當(dāng)工作檢查單元檢測(cè)到任一可編程邏輯電路損壞時(shí),可以將該可編程邏輯電路設(shè)置為不使用,同時(shí)略微提升其他可編程邏輯電路的供電電壓。從而,可以彌補(bǔ)損壞的可編程邏輯電路所要執(zhí)行的處理。
如上所述,在本發(fā)明中,如果多個(gè)可編程邏輯電路各自具有不同的工作特性,那么可以為每個(gè)可編程邏輯電路實(shí)現(xiàn)低功耗,同時(shí)提高系統(tǒng)的功率效率。
對(duì)熟練技術(shù)人員而言,考慮到本文所公開(kāi)的本發(fā)明的說(shuō)明和實(shí)踐,顯然還能得出本發(fā)明的其他實(shí)施例。這里的說(shuō)明以及例子只是旨在舉例說(shuō)明,本發(fā)明的真實(shí)范圍和思想如隨后的權(quán)利要求書(shū)中所述。
權(quán)利要求
1.一種邏輯電路裝置,包括多個(gè)可編程邏輯電路,每個(gè)都基于電路數(shù)據(jù)具有可變電路組件;電路數(shù)據(jù)存儲(chǔ)器,用于存儲(chǔ)多個(gè)電路數(shù)據(jù)和性能要求,電路數(shù)據(jù)表示處理的單元電路,性能要求表示單元電路的處理性能;提供單元,用于為多個(gè)可編程邏輯電路提供電壓;特性數(shù)據(jù)存儲(chǔ)器,用于存儲(chǔ)每個(gè)可編程邏輯電路的特性數(shù)據(jù),該特性數(shù)據(jù)表示電壓的工作范圍;和控制單元,用于計(jì)算多個(gè)可編程邏輯電路的最小電壓以基于性能要求執(zhí)行多個(gè)電路數(shù)據(jù),用于有選擇地將多個(gè)電路數(shù)據(jù)分配給多個(gè)可編程邏輯電路以便使分配給每個(gè)可編程邏輯電路的電路數(shù)據(jù)的性能要求落在最小電壓下可編程邏輯電路的工作范圍之內(nèi),和用于控制所述提供單元以為多個(gè)可編程邏輯電路提供最小電壓。
2.如權(quán)利要求1所述的邏輯電路裝置,其中,所述提供單元提供與所述電壓關(guān)聯(lián)的時(shí)鐘信號(hào)。
3.如權(quán)利要求2所述的邏輯電路裝置,其中,特性數(shù)據(jù)包括時(shí)鐘頻率和電壓的上限和下限,作為每個(gè)可編程邏輯電路的工作范圍。
4.如權(quán)利要求3所述的邏輯電路裝置,其中,所述控制單元根據(jù)特性數(shù)據(jù)確定與最小電壓有關(guān)的時(shí)鐘頻率,并控制所述提供單元為多個(gè)可編程邏輯電路提供具有最小電壓的時(shí)鐘頻率的時(shí)鐘信號(hào)。
5.如權(quán)利要求1所述的邏輯電路裝置,其中,所述控制單元根據(jù)每個(gè)可編程邏輯電路的所分配單元電路的性能要求和電壓計(jì)算每個(gè)可編程邏輯電路的功耗值,并將最大功耗值的可編程邏輯電路的所分配單元電路之一重新分配給最小功耗值的另一可編程邏輯電路。
6.如權(quán)利要求1所述的邏輯電路裝置,其中,所述控制單元根據(jù)每個(gè)可編程邏輯電路的所分配單元電路的性能要求和電壓計(jì)算每個(gè)可編程邏輯電路的每一周期的功率效率,并將具有最低功率效率的可編程邏輯電路的所分配單元電路之一重新分配給具有最高功率效率的另一可編程邏輯電路。
7.如權(quán)利要求1所述的邏輯電路裝置,其中,所述控制單元根據(jù)每個(gè)可編程邏輯電路的所分配單元電路的性能要求和電壓計(jì)算所有可編程邏輯電路的總功耗值,根據(jù)總功耗值計(jì)算每個(gè)可編程邏輯電路的處理性能的閾值,并判斷每個(gè)可編程邏輯電路的閾值與性能要求之間的差值是否大于預(yù)定值。
8.如權(quán)利要求7所述的邏輯電路裝置,其中,如果差值大于預(yù)定值,那么所述控制單元選擇性能要求大于閾值的可編程邏輯電路的所分配單元電路之一,并將這一單元電路重新分配給性能要求不大于閾值的另一個(gè)可編程邏輯電路。
9.如權(quán)利要求3所述的邏輯電路裝置,其中,所述提供單元為每個(gè)可編程邏輯電路分別提供時(shí)鐘信號(hào)和電壓。
10.如權(quán)利要求9所述的邏輯電路裝置,其中,所述控制單元計(jì)算每個(gè)可編程邏輯電路的所分配單元電路的性能要求,如果性能要求低于可編程邏輯電路的下限則計(jì)算停止該可編程邏輯電路的時(shí)間,并停止該可編程邏輯電路達(dá)該時(shí)間段。
11.如權(quán)利要求9所述的邏輯電路裝置,其中,所述控制單元計(jì)算每個(gè)可編程邏輯電路的所分配單元電路的性能要求,如果性能要求低于可編程邏輯電路的下限則停止該可編程邏輯電路,并將該可編程邏輯電路的所分配單元電路重新分配給其他可編程邏輯電路。
12.如權(quán)利要求9所述的邏輯電路裝置,其中,所述控制單元計(jì)算每個(gè)可編程邏輯電路的所分配單元電路的性能要求,如果至少一個(gè)可編程邏輯電路的性能要求高于被停止的可編程邏輯電路的上限則有選擇地將所有單元電路重新分配給包括這一被停止的可編程邏輯電路在內(nèi)的所有可編程邏輯電路,并起動(dòng)這一被停止的可編程邏輯電路的操作。
13.如權(quán)利要求3所述的邏輯電路裝置,還包括工作檢查單元,用于將用于故障檢查的單元電路加載到每個(gè)可編程邏輯電路上,并用于操作該單元電路以在每個(gè)可編程邏輯電路中進(jìn)行故障檢查。
14.如權(quán)利要求13所述的邏輯電路裝置,其中,如果在可編程邏輯電路中檢測(cè)到故障,那么所述工作檢查單元將所述特性數(shù)據(jù)存儲(chǔ)器中的該可編程邏輯電路的上限置為零;和其中,所述控制單元將該可編程邏輯電路的所分配單元電路重新分配給其他可編程邏輯電路。
15.如權(quán)利要求14所述的邏輯電路裝置,其中,所述工作檢查單元根據(jù)故障檢查結(jié)果確定該可編程邏輯電路中的故障部件;和其中,所述控制單元從所述電路數(shù)據(jù)存儲(chǔ)器中選擇未使用該故障部件的單元電路,如果這樣的單元電路不存在或者其數(shù)量小于預(yù)定值則停止該可編程邏輯電路。
16.如權(quán)利要求15所述的邏輯電路裝置,其中,如果所述單元電路的數(shù)量不小于預(yù)定值并且所述單元電路的性能要求低于故障檢查前該可編程邏輯電路的性能要求,那么,所述控制單元將這些單元電路分配給該可編程邏輯電路,并禁止該可編程邏輯電路的單元電路的分配變化。
17.如權(quán)利要求16所述的邏輯電路裝置,其中,如果所述單元電路的性能要求不低于故障檢查前該可編程邏輯電路的性能要求,那么,所述控制單元將這些單元電路中的每一個(gè)按次序分配給該可編程邏輯電路,并且當(dāng)所分配的單元電路的性能要求首次高于故障檢查前該該可編程邏輯電路的性能要求時(shí),停止為該可編程邏輯電路分配每一單元電路。
18.如權(quán)利要求13所述的邏輯電路裝置,還包括發(fā)光控制單元,用于當(dāng)所述故障檢查單元檢測(cè)到可編程邏輯電路中的故障時(shí),通過(guò)外部發(fā)光裝置發(fā)光。
19.一種邏輯電路裝置,包括多個(gè)可編程邏輯電路,每個(gè)都基于電路數(shù)據(jù)具有可變電路組件,每個(gè)可編程邏輯電路具有不同的處理性能;電路數(shù)據(jù)存儲(chǔ)器,用于存儲(chǔ)多個(gè)電路數(shù)據(jù)和各自針對(duì)電路數(shù)據(jù)的性能要求;和控制單元,用于根據(jù)處理性能和性能要求有選擇地將多個(gè)電路數(shù)據(jù)分配給多個(gè)可編程邏輯電路。
20.一種計(jì)算機(jī)程序產(chǎn)品,包括所述產(chǎn)品中所含的計(jì)算機(jī)可讀程序代碼,用于使計(jì)算機(jī)可以使用其中每個(gè)都具有基于電路數(shù)據(jù)的可變電路組件的多個(gè)可編程邏輯電路,所述計(jì)算機(jī)可讀程序代碼包括第一程序代碼,用于存儲(chǔ)多個(gè)電路數(shù)據(jù)和性能要求,電路數(shù)據(jù)表示處理的單元電路,性能要求表示單元電路的處理性能;第二程序代碼,用于存儲(chǔ)每個(gè)可編程邏輯電路的特性數(shù)據(jù),特性數(shù)據(jù)表示電壓的工作范圍;第三程序代碼,用于計(jì)算多個(gè)可編程邏輯電路的最小電壓以執(zhí)行基于性能要求的多個(gè)電路數(shù)據(jù);第四程序代碼,用于有選擇地將多個(gè)電路數(shù)據(jù)分配給多個(gè)可編程邏輯電路以便使分配給每個(gè)可編程邏輯電路的電路數(shù)據(jù)的性能要求以最小電壓落在可編程邏輯電路的工作范圍之內(nèi);和第五程序代碼,用于為多個(gè)可編程邏輯電路提供最小電壓。
全文摘要
可編程邏輯電路是基于電路數(shù)據(jù)的可變電路組件。電路數(shù)據(jù)存儲(chǔ)器存儲(chǔ)多個(gè)電路數(shù)據(jù)和性能要求。特性數(shù)據(jù)存儲(chǔ)器存儲(chǔ)每個(gè)可編程邏輯電路的特性數(shù)據(jù)。控制單元計(jì)算多個(gè)可編程邏輯電路的最小電壓以執(zhí)行基于性能要求的多個(gè)電路數(shù)據(jù),并有選擇地將多個(gè)電路數(shù)據(jù)分配給多個(gè)可編程邏輯電路以便使分配給每個(gè)可編程邏輯電路的電路數(shù)據(jù)的性能要求落在最小電壓下可編程邏輯電路的工作范圍之內(nèi)。提供單元為多個(gè)可編程邏輯電路提供最小電壓。
文檔編號(hào)G06F1/08GK1700601SQ20051007263
公開(kāi)日2005年11月23日 申請(qǐng)日期2005年5月17日 優(yōu)先權(quán)日2004年5月17日
發(fā)明者大根田拓, 菅野伸一, 樽家昌也, 宮本幸昌, 小川陸 申請(qǐng)人:株式會(huì)社東芝