專利名稱:信息處理裝置中的功率控制裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及信息處理裝置中的功率控制裝置。在所述信息處理裝 置中包含由一個(gè)或多個(gè)結(jié)構(gòu)所構(gòu)成的微處理器(包含微型計(jì)算機(jī)、微 控制器、數(shù)字信號處理器)、定序器、靜態(tài)構(gòu)成邏輯、動態(tài)可再構(gòu)成 邏輯等。在本說明書中,主要以處理器為例進(jìn)行處理,但是本發(fā)明一 般能應(yīng)用在所述信息處理裝置中。
背景技術(shù):
近年來,在便攜電話和數(shù)字電視等數(shù)字設(shè)備中,聲音、音頻、動 態(tài)圖像或編碼處理等各種數(shù)字處理的需要正在增加。為了實(shí)現(xiàn)這些處 理, 一般利用微處理器等信息處理裝置,但是隨著應(yīng)用需要的增加, 電路規(guī)模、工作頻率、裝載處理器數(shù)量增加,功耗日趨增加。以往,為了削減功耗, 一般實(shí)現(xiàn)基于硬件的時(shí)鐘選通控制、由軟 件使工作上不需要的塊停止的控制、由軟件或硬件以程序單位進(jìn)行頻率或電壓狀態(tài)的變更的控制(日本特開平8-152945號公報(bào))等。其 中,本說明書中被稱為"程序單位"的表達(dá)包含進(jìn)程單位、線程單位、 任務(wù)單位。此外,近年來,根據(jù)處理器的執(zhí)行狀態(tài)的長周期的平均負(fù)荷狀況, 而進(jìn)行變更頻率或電壓狀態(tài)的控制(日本特開平8-6681號公報(bào))。 專利文獻(xiàn)1:日本特開平8-152945號7>凈艮 專利文獻(xiàn)2:日本特開平8-6681號公報(bào)發(fā)明內(nèi)容但是,在上述以往的程序單位的功耗削減方法中,在多個(gè)程序同 時(shí)并行工作或者在時(shí)間上 一 邊切換 一 邊并行工作的系統(tǒng)中,無法進(jìn)行
高效的功庫毛削減。例如,在一個(gè)物理處理器中, 一邊在時(shí)間上切換2個(gè)程序一邊并 行工作的系統(tǒng)所存在的技術(shù)課題如下。在 一 個(gè)程序是需要高電源電壓 下的動作的狀態(tài)、另 一個(gè)程序是需要低電源電壓下的動作的條件下, 當(dāng)程序的切換頻繁發(fā)生時(shí),能夠想到用以往的程序單位的電源電壓變 更方法無法使電源電壓的變更跟蹤程序的切換時(shí)間。這時(shí),產(chǎn)生為了 電源電壓的變更完成的等待時(shí)間,但是在重視實(shí)時(shí)性的內(nèi)部用途中, 該等待時(shí)間成為系統(tǒng)性能的惡化或損害性能保證的致命問題。因此, 在這樣的用途中,應(yīng)用程序單位的單純的功率控制并不現(xiàn)實(shí)。它不僅 在電源電壓的變更中是相同的,在時(shí)鐘頻率的變更中也是相同的。圖32、圖33分別表示理想的功率狀態(tài)(在此為電壓)的變更、伴隨現(xiàn) 實(shí)的轉(zhuǎn)變時(shí)間的功率狀態(tài)的變更。而當(dāng)電源電壓或時(shí)鐘頻率的變更能跟蹤程序的切換頻度時(shí),在使 多個(gè)程序并行或并發(fā)工作的系統(tǒng)中,在程序單位的功率控制中,并不 一定能實(shí)現(xiàn)供給程序組整體的執(zhí)行時(shí)最適合的電源電壓或閾值電壓 等電壓而引起的功耗削減。例如,考慮在并發(fā)地使4個(gè)程序工作的系 統(tǒng)中,2個(gè)程序在高電壓下工作,其余的2個(gè)程序在低電壓下工作的 情形。這時(shí),功率效率最高的程序的執(zhí)行過程是連續(xù)執(zhí)行高電壓的2 個(gè)程序,連續(xù)執(zhí)行其余的低電壓的2個(gè)程序的形態(tài)持續(xù)的情形。但是, 在著眼于程序單位的功率控制方式中,有可能交替執(zhí)行高電壓設(shè)定的 程序和低電壓設(shè)定的程序,這時(shí),電壓狀態(tài)變更自身引起的功率損失 更多地發(fā)生,或者為了電壓狀態(tài)變更的等待次數(shù)更多地發(fā)生,從功耗 和系統(tǒng)性能的觀點(diǎn)來看,無法變成最適合的狀態(tài)。圖34、圖35分別 表示從功耗的觀點(diǎn)出發(fā)的有效率的調(diào)度和無效率的調(diào)度的轉(zhuǎn)變過程。為了解決上述課題,考慮不是程序單位的功率削減,而是按照較 長周期(例如毫秒級)的平均負(fù)荷狀態(tài)來變更供給功率或工作頻率的 方法。這時(shí),成為長周期下的功率控制,所以無法進(jìn)行適合于頻繁切 換程序的實(shí)時(shí)處理的、在更短時(shí)間中變更功率條件的高效的功率控 制。此外,功率控制與程序的執(zhí)行順序無關(guān),所以如上所述,并不一 定按最適合的順序執(zhí)行程序,在程序組整體中并不一定成為最適合的 功耗。因?yàn)槭腔谶^去的平均信息的功率控制,所以無法預(yù)先進(jìn)行功 率變更。雖然能根據(jù)利用平均信息的傾斜函數(shù)的預(yù)測來變更功率,但 是,即使存在將來確定要執(zhí)行的程序,也無法與其相適合地預(yù)先變更 成適當(dāng)?shù)墓β薁顟B(tài)。上述示出了在執(zhí)行一 個(gè)物理處理器的多個(gè)程序時(shí)以往的功率控 制所存在的問題,但是在具有多個(gè)物理處理器的系統(tǒng)中,用以往的功 率控制方法,也同樣無法根據(jù)程序單位的特性來有效地削減程序組整 體的功耗。例如,即使是存在2個(gè)物理處理器而能分別進(jìn)行功率控制,軟件 的執(zhí)行順序或執(zhí)行的處理器和功率狀態(tài)的變更的關(guān)系也不 一 定是最 有效率的。作為例子,考慮存在處理器A和處理器B,且存在需要高工作電 壓的程序PH1和PH2、需要低工作電壓的程序PL1和PL2的情形。 這里,如果考慮處理器A和處理器B都從高電壓開始動作的情形, 則在程序單位的功率控制方法中,無法判斷最適合的程序分配執(zhí)行和 功率控制。在系統(tǒng)整體功率效率變?yōu)樽詈玫氖鞘固幚砥鰽或B的單 側(cè)執(zhí)行低工作電壓的程序PL1和PL2的情形,但是,如果現(xiàn)在從最 近的電壓進(jìn)行程序分配,則PH1和PH2纟皮分配給處理器A和B,所 以此后PL1和PL2被分配給處理器A和B,電源狀態(tài)的變化發(fā)生2 次,變不成剛才所示的最佳狀態(tài)。PL1和PL2先分別分配給處理器A 和B的情況也是同樣的。只要以程序單位進(jìn)行功率控制,就無法充分 進(jìn)行考慮系統(tǒng)整體的功耗的削減。本發(fā)明的功率控制裝置控制在信息處理裝置的內(nèi)部消耗的功率, 其特征在于,包括功率上下文存儲單元,在用程序的識別信息區(qū)別 的存儲區(qū)域中存儲各程序的功率控制信息;功率上下文參照單元,利 用所述功率上下文存儲單元參照關(guān)于所希望的程序的功率控制信息; 以及功率狀態(tài)變更單元,根據(jù)由所述功率上下文參照單元參照的功率 控制信息,變更在所述信息處理裝置的內(nèi)部消耗的功率的狀態(tài)。
所述功率控制裝置還包括功率控制寄存器,其存儲關(guān)于在所述信 息處理裝置中正在執(zhí)行的程序的功率控制信息,所述功率上下文參照 單元包括功率上下文保存返回控制單元,其與所述信息處理裝置的命 令執(zhí)行并行地,在與功率上下文存儲單元之間把所述功率控制寄存器的內(nèi)容保存或返回;所述功率狀態(tài)變更單元根據(jù)所述功率控制寄存器中存儲的功率控制信息,變更在所述信息處理裝置內(nèi)部消耗的功率的狀態(tài)。據(jù)此,即使在頻繁切換處理多個(gè)程序的系統(tǒng)中,也不會使程序處理性能惡化,能保存和返回功率控制信息,能夠進(jìn)行極精細(xì)、更高 效的功率控制。在所述功率控制裝置中,優(yōu)選的是,所述功率控制參照單元包括 功率上下文預(yù)先參照單元,其在與所述信息處理裝置中正在執(zhí)行的程 序不同的第一程序的非執(zhí)行時(shí)參照所述第一程序的功率控制信息。。 據(jù)此,即使在執(zhí)行多個(gè)程序的系統(tǒng)中,也能在執(zhí)行前預(yù)先進(jìn)行用于功 率狀態(tài)的變更的處理或用于程序分配的調(diào)度處理,不會使程序處理性 能惡化,能實(shí)施功率控制。在所述功率控制裝置中,優(yōu)選的是,所述功率狀態(tài)變更單元根據(jù) 由所述功率上下文預(yù)先參照單元參照的所述第 一 程序的功率控制信 息,在所述第一程序的執(zhí)行之前,提前進(jìn)行功率狀態(tài)的變更。據(jù)此, 能把處理器更早地變更為能執(zhí)行第 一程序的功率狀態(tài),能抑制用于功 率狀態(tài)變更的等待引起的性能惡化。在所述功率控制裝置中,優(yōu)選的是,所述功率上下文預(yù)先參照單 元在所述第一程序的執(zhí)行之前,參照與所述第一程序?qū)?yīng)的功率控制 信息,根據(jù)功率狀態(tài)變更時(shí)間和程序分配時(shí)間的信息,在判斷為功率 狀態(tài)的變更不是有效時(shí),禁止功率狀態(tài)的變更。據(jù)此,能高效抑制處 理器狀態(tài)和功率控制狀態(tài)的不匹配引起的性能惡化。在所述功率控制裝置中,優(yōu)選的是,所述功率控制信息包含過去 的功率分配的成功率或失敗率;所述功率上下文參照單元包括猜測功 率狀態(tài)變更判定單元,其根據(jù)所述功率控制信息的成功率或失敗率, 確定是否變更執(zhí)行該程序時(shí)的功率狀態(tài)。據(jù)此,能高效抑制處理器狀
態(tài)和功率控制狀態(tài)的不匹配引起的性能惡化。在所述功率控制裝置中,優(yōu)選的是,所述功率上下文參照單元包使得當(dāng)前的功率狀態(tài)的功率變化成為最小的程序,分配給所述信息處 理裝置的程序調(diào)度單元。據(jù)此,能高效削減執(zhí)行多個(gè)程序時(shí)的總功耗。 在所述功率控制裝置中,所述功率上下文參照單元包括程序調(diào)度 單元,其從所述功率上下文存儲單元中存儲的各程序的功率控制信 息,將程序重新排列成各程序之間的功率變化成為最小的程序順序, 分配給所述信息處理裝置。據(jù)此,能高效削減執(zhí)行多個(gè)程序時(shí)的總功 耗。在所述功率控制裝置中,優(yōu)選的是,還包括負(fù)荷檢測單元,檢測所述信息處理裝置的當(dāng)前的工作狀況;功率狀態(tài)檢測單元,檢測所述 信息處理裝置的當(dāng)前的功率狀態(tài);負(fù)荷功率判定單元,根據(jù)所述負(fù)荷 檢測單元4全測出的負(fù)荷和所述功率狀態(tài)4企測單元檢測出的功率信息, 預(yù)先判斷無法繼續(xù)進(jìn)行當(dāng)前的程序的動作;以及程序調(diào)度單元,在判 斷為無法繼續(xù)進(jìn)行所述當(dāng)前的程序的動作時(shí),進(jìn)行程序的切換。據(jù)此, 能抑制功率狀態(tài)變更的等待引起的性能惡化,并且因?yàn)樾阅軔夯伲?所以能更積極地實(shí)施功率狀態(tài)的變更控制。本發(fā)明的其他功率控制裝置,控制多個(gè)物理處理器的內(nèi)部消耗的 功率,其特征在于,包括電源組存儲單元,存儲識別物理處理器在 物理上所屬的電源組的信息;程序調(diào)度單元,根據(jù)所述電源組存儲單 元的內(nèi)容,確定把各程序分配給哪個(gè)物理處理器。據(jù)此,在具有多個(gè) 物理處理器的系統(tǒng)中,能夠不依存于處理器的裝載數(shù),高效削減執(zhí)行 多個(gè)程序時(shí)的總功耗。根據(jù)本發(fā)明,在并發(fā)或并行執(zhí)行多個(gè)程序的信息處理系統(tǒng)中,既 能使系統(tǒng)的處理性能的惡化最小,又能更有效地實(shí)現(xiàn)程序組整體的執(zhí) 行時(shí)的功耗的削減。
圖1是表示本發(fā)明實(shí)施例1的功率控制裝置的結(jié)構(gòu)的框圖。圖2是表示功率上下文(context)存儲裝置的邏輯上的結(jié)構(gòu)例的圖。圖3是表示功率上下文存儲裝置的邏輯結(jié)構(gòu)例的圖。 圖4是表示功率控制信息的邏輯結(jié)構(gòu)例的圖。 圖5是表示功率狀態(tài)變更裝置的詳細(xì)結(jié)構(gòu)例的圖。 圖6是表示功率狀態(tài)變更裝置的詳細(xì)結(jié)構(gòu)例的圖。 圖7是表示本發(fā)明的實(shí)施例2的功率控制裝置的結(jié)構(gòu)的框圖。 圖8是表示本發(fā)明的實(shí)施例3的功率控制裝置的結(jié)構(gòu)的框圖。 圖9是表示功率預(yù)先控制裝置的詳細(xì)的結(jié)構(gòu)例的圖。 圖10是表示本發(fā)明的實(shí)施例3的功率控制裝置的動作定時(shí)的圖。 圖11是用于說明本發(fā)明的實(shí)施例3的功率控制裝置的動作步驟 的流程圖。圖12是表示本發(fā)明的實(shí)施例4的功率控制裝置的結(jié)構(gòu)的框圖。 圖13是表示猜測(speculative)功率狀態(tài)變更判定裝置的詳細(xì)結(jié) 構(gòu)例的圖。圖14是用于說明本發(fā)明的實(shí)施例4的功率控制裝置的動作步驟 的流程圖。圖15是表示計(jì)算過去的成功率的步驟的 一 個(gè)例子的流程圖。圖16是表示進(jìn)行成功率計(jì)算的裝置的結(jié)構(gòu)的框圖。圖17是表示在程序的切換時(shí),用與程序的動作狀態(tài)對應(yīng)的值更新功率上下文存儲裝置的信息的裝置的結(jié)構(gòu)的一個(gè)例子的框圖。 圖18是表示猜測功率狀態(tài)變更判定裝置的詳細(xì)結(jié)構(gòu)例的圖。 圖19是表示通常最小時(shí)間的計(jì)算步驟的 一 個(gè)例子的流程圖。 圖20是表示本發(fā)明的實(shí)施例6的功率控制裝置的結(jié)構(gòu)的框圖。 圖21是表示功率調(diào)度器的詳細(xì)結(jié)構(gòu)例的圖。 圖22是用于說明本發(fā)明的實(shí)施例6的功率控制裝置的動作步驟的流程圖。圖23是表示本發(fā)明的實(shí)施例6的功率控制裝置的動作定時(shí)的圖。 圖24是表示功率調(diào)度器的詳細(xì)結(jié)構(gòu)例的圖。 圖25是表示本發(fā)明的實(shí)施例8的功率控制裝置的結(jié)構(gòu)的框圖。 圖26是表示負(fù)荷功率判定裝置的詳細(xì)結(jié)構(gòu)例的圖。 圖27是用于說明本發(fā)明的實(shí)施例8的功率控制裝置的動作步驟 的流程圖。圖28是表示本發(fā)明的實(shí)施例9的功率控制裝置的結(jié)構(gòu)的框圖。圖29是表示電源組存儲裝置的邏輯結(jié)構(gòu)例的圖。圖30是表示處理器和電源組存儲裝置的物理配置例的圖。圖31是表示用于熱分散的程序分配的例子的圖。圖32是表示理想的電壓變更的例子的圖。圖3 3是表示伴隨現(xiàn)實(shí)的轉(zhuǎn)變時(shí)間的電壓變更的例子的圖。圖34是表示從功耗的觀點(diǎn)出發(fā)的有效率的調(diào)度的例子的圖。圖3 5是表示從功耗的觀點(diǎn)出發(fā)的無效率的調(diào)度的例子的圖。符號說明ZA101 —功率狀態(tài)變更裝置ZA102—功率控制寄存器ZA103 —功率控制信息Z A10 4—處理器總線訪問控制裝置ZA105 —功率上下文存儲裝置ZA106—功率上下文保存返回控制裝置ZB101 —功率上下文參照裝置ZC101 —功率預(yù)先控制裝置ZC101 —功率預(yù)先控制裝置ZD101 —猜測功率狀態(tài)變更裝置ZF101 —功率調(diào)度器ZF103 —程序分配裝置ZH101 —負(fù)荷功率判定裝置ZI101 —功率組存儲裝置
具體實(shí)施方式
以下,參照附圖詳細(xì)說明本發(fā)明的實(shí)施例。在附圖中對相同或相 當(dāng)?shù)牟糠謽?biāo)以相同的參考標(biāo)號,省略對其重復(fù)的說明。在以下的實(shí)施例中,說明對于信息處理裝置特別是微處理器的本 發(fā)明的應(yīng)用例。(實(shí)施例1 )圖1是表示實(shí)施例1的功率控制裝置100的結(jié)構(gòu)的框圖。在圖1中,示出功率控制裝置ioo設(shè)置在微處理器iooo(信息處理裝置)的內(nèi)部的情形,但是功率控制裝置100也能設(shè)置在微處理器1000 (信息處理裝置)的外部。功率上下文存儲裝置ZA105連接在處理器總線訪問控制裝置 ZA104上,從微處理器1000進(jìn)行讀寫。此外,功率上下文存儲裝置 ZA105連接在功率上下文參照裝置ZB101上,把從功率上下文參照 裝置ZB101請求的識別號碼所對應(yīng)的功率控制信息ZA103向功率上 下文參照裝置ZB101輸出。功率狀態(tài)變更裝置ZA101根據(jù)從功率上下文參照裝置ZB101所 供給的功率控制信息ZA103,為了削減功耗而變更功率控制裝置100 的功率狀態(tài)。在圖1中,示出的是功率上下文參照裝置ZB101與處理器總線訪 問控制裝置ZA104并行訪問功率上下文存儲裝置ZA105的結(jié)構(gòu),但 是也可以采用功率上下文參照裝置ZB101經(jīng)由處理器總線訪問控制 裝置ZA104訪問功率上下文存儲裝置ZA105的結(jié)構(gòu)。在本實(shí)施例中,與后面描述的實(shí)施例2(圖7)不同,并不一定 需要表示只對當(dāng)前的程序的功率控制信息的功率控制寄存器ZA102 (圖7),根據(jù)功率上下文存儲裝置ZA105的信息,進(jìn)行功率狀態(tài)變 更裝置ZA101的控制。在功率上下文存儲裝置ZA105存儲由一個(gè)或多個(gè)物理處理器執(zhí) 行的程序組的功率上下文,預(yù)先參照這些功率上下文按照必要進(jìn)行計(jì)
算,由此能有效削減系統(tǒng)整體的功耗。當(dāng)然,功率上下文存儲裝置ZA105能采用基于SRAM構(gòu)造的結(jié) 構(gòu),或由雙穩(wěn)態(tài)多諧振蕩器組構(gòu)成。此外,在微處理器1000可訪問 的存儲器空間也能與功率信息以外的信息公用配置。圖2表示功率上下文存儲裝置ZA105的結(jié)構(gòu)例。為了按各程序 存儲功率控制信息ZA103,由用于識別程序的識別號碼(ID)所對應(yīng) 的功率控制信息ZA103的存儲區(qū)域構(gòu)成。例如若使用SRAM ( Static Random Access Memory )構(gòu)成功率上 下文存儲裝置ZA105,則除了能功率控制信息ZA103的讀出,還能 進(jìn)行寫入。圖3表示在功率上下文存儲裝置ZA105,作為功率控制信息 ZA103,還存儲程序的識別號碼(ID)的例子。圖4表示功率控制信息ZA103的內(nèi)容例,但是不需要一定包含 全部,并且當(dāng)然也能存儲記載內(nèi)容以外的內(nèi)容。在圖4中,電源電壓信息例如表示用于信息處理裝置的電源供給 的電壓,在用于削減信息處理裝置動作時(shí)的功耗的控制中使用。閾值電壓信息在用于使用了半導(dǎo)體精細(xì)處理的信息處理裝置中 的泄漏功率削減的控制中使用。時(shí)鐘頻率信息表示對信息處理裝置供給的時(shí)鐘的頻率,通過使其 可變來實(shí)現(xiàn)功率削減。時(shí)鐘停止信息停止對動作上不需要的電路區(qū)域的時(shí)鐘供給,在不 需要的功耗的削減控制中使用。Tr停止信息為了抑制動作上不需要的信號的觸發(fā)器(toggle), 在輸出Tr的停止控制中使用,或?yàn)榱讼鳒p泄漏電流,在與MOS電路 串聯(lián)插入的功率選通用Tr的停止控制中使用??刂茖ο髩K信息用于確定實(shí)施功率控制信息ZA103表示的功率 控制的對象塊。狀態(tài)變更成功率信息如后所述,用于根據(jù)猜測的功率狀態(tài)變更的 過去的成功率來進(jìn)行功率控制。
預(yù)先狀態(tài)變更條件信息如后所述,指定用于在相應(yīng)的程序開始之 前預(yù)先變更功率狀態(tài)的起動條件。動作模式信息指定確定電壓或頻率的模式號碼。例如用模式號碼 識別以高電壓和高頻率工作的高速動作模式、以低電壓和低頻率工作 的低速模式,進(jìn)行信息量的削減和功率設(shè)定的簡易化。狀態(tài)變更條件信息指定用于相應(yīng)的程序進(jìn)行功率變更的信息處 理裝置的狀態(tài)條件。例如,指定相應(yīng)的程序執(zhí)行中的地址信息、特權(quán) 等級狀態(tài)或高速緩存訪問失敗等存儲器訪問狀態(tài),只在其一致時(shí)起動 功率變更。狀態(tài)變更允許信息指定禁止或允許相應(yīng)的程序進(jìn)行功率變更。圖5和圖6表示功率狀態(tài)變更裝置ZA101的一個(gè)例子。圖5是 對于提供的電源電壓條件和閾值電壓條件,使用DC-DC變換器變更 供給電壓的例子。圖6是根據(jù)作為時(shí)鐘頻率信息的倍增條件和分頻條 件來變更供給時(shí)鐘的例子。 (實(shí)施例2)圖7是表示實(shí)施例2的功率控制裝置200的結(jié)構(gòu)的框圖。在圖7 中,表示功率控制裝置200設(shè)置在微處理器1000的內(nèi)部的情形,但 是功率控制裝置200也能設(shè)置在微處理器1000的外部。功率狀態(tài)變更裝置ZA101連接在功率控制寄存器ZA102上,根 據(jù)從功率控制寄存器ZA102供給的功率控制信息ZA103的內(nèi)容,為 了削減功耗而進(jìn)行微處理器1000的功率狀態(tài)的變更。功率控制寄存器ZA102保持的功率控制信息ZA103能夠經(jīng)由連 接在功率控制寄存器ZA102上的處理器總線訪問控制裝置ZA104, 進(jìn)行讀出/改寫。微處理器1000用執(zhí)行的程序自身改寫功率控制寄存 器ZA102的內(nèi)容,把微處理器1000變更為適當(dāng)?shù)墓β薁顟B(tài),能削減 功耗。微處理器1000能夠把功率上下文存儲裝置ZA105的內(nèi)容經(jīng)由處 理器總線訪問控制裝置ZA104進(jìn)行讀出/改寫。由微處理器1000執(zhí)行的程序把功率控制寄存器ZA102的內(nèi)容更
換功率上下文存儲裝置ZA105中為各程序準(zhǔn)備的存儲區(qū)域的內(nèi)容, 由此能夠按各程序?qū)崿F(xiàn)個(gè)別條件下的功率控制。通過按各程序準(zhǔn)備功率控制信息,能夠極細(xì)致地進(jìn)行功率控制, 能更有效地實(shí)現(xiàn)功耗的削減。當(dāng)然,功率上下文存儲裝置ZA105能釆用基于SRAM枸造的結(jié) 構(gòu),或由雙穩(wěn)態(tài)多諧振蕩器群構(gòu)成。此外,在微處理器1000可訪問 的存儲器空間也能與功率信息以外的信息公用配置。功率狀態(tài)變更裝置ZA101包含功率上下文保存返回控制裝置 ZA106。功率上下文保存返回控制裝置ZA106連接在功率控制寄存器 ZA102和功率上下文存儲裝置ZA105上,能讀出/改寫各存儲內(nèi)容。 功率上下文保存返回控制裝置ZA106不占有處理器總線,能訪問功 率控制寄存器ZA102和功率上下文存儲裝置ZA105,所以不會降低 處理器的處理性能,能更換功率控制寄存器ZA102和功率上下文存 儲裝置ZA105的內(nèi)容。(實(shí)施例3 )圖8是表示實(shí)施例3的功率控制裝置300的結(jié)構(gòu)的框圖。該功率 控制裝置300與圖1、圖7所示的功率控制裝置100、 200同樣,既可 以設(shè)置在微處理器1000的內(nèi)部,也可設(shè)置在微處理器1000的外部。功率上下文參照裝置ZB101包含功率預(yù)先控制裝置ZC101。功率 預(yù)先控制裝置ZC101從功率上下文存儲裝置ZA105取得功率控制信 息ZA103,基于此進(jìn)行用于功率狀態(tài)變更的計(jì)算,把功率控制信息 ZA103提供給功率狀態(tài)變更裝置ZAIOI。功率狀態(tài)變更裝置ZA101根據(jù)所供給的功率控制信息ZA103, 進(jìn)行微處理器1000的功率狀態(tài)變更。圖9表示功率預(yù)先控制裝置ZC101的內(nèi)部結(jié)構(gòu)的一個(gè)例子。功率預(yù)先控制裝置ZC101通過基于硬件的程序調(diào)度器或基于操 作系統(tǒng)的程序調(diào)度器,取得接著要由微處理器IOOO執(zhí)行的程序的識 別號碼ZC201,存儲到識別號碼保持寄存器ZC202中。識別號碼保持寄存器ZC202的內(nèi)容作為識別號碼ZC203,提供給
功率上下文存儲裝置ZA105,從功率上下文存儲裝置ZA105取得與 識別號碼ZC203對應(yīng)的功率控制信息ZA103,纟巴它記錄到功率控制 信息保持寄存器ZC204中。比較器ZC205比較微處理器1000的功率狀態(tài)ZC206和功率控制 信息ZA103的內(nèi)容,把結(jié)果通知給功率變更定時(shí)控制器ZC207。這 里,功率狀態(tài)ZC206和功率控制信息ZA103表示電源電壓。通過功率狀態(tài)ZC206和功率控制信息ZA103的比較,功率狀態(tài) ZC206表示的電壓更大時(shí),選擇器ZC208選擇來自程序調(diào)度器的程序 切換請求ZC209 —側(cè)。即等待程序發(fā)生切換的定時(shí),把電壓狀態(tài)的變 更請求ZC210通知給功率狀態(tài)變更裝置ZAIOI。據(jù)此,來防止在需 要高工作電壓的程序的執(zhí)行中,由于向可工作的電壓以下的狀態(tài)變更 導(dǎo)致微處理器IOOO錯誤工作。比較器ZC205的比較結(jié)果是功率狀態(tài)ZC206更低時(shí),功率變更 定時(shí)控制器ZC207開始在程序切換之前進(jìn)行功率變更的準(zhǔn)備。在該例 子中,進(jìn)行減計(jì)數(shù)器ZC211的起動,該結(jié)果變?yōu)轭A(yù)定值(這里為0) 時(shí),經(jīng)由選擇器ZC208把電壓狀態(tài)的變更請求ZC210通知給功率狀 態(tài)變更裝置ZAIOI。據(jù)此,能在切換為相應(yīng)的程序之前變更為相應(yīng)的 程序所需要的功率狀態(tài)。圖IO表示本實(shí)施例的動作定時(shí)。這里,例示為程序A和程序B 指定電壓VI作為功率控制信息ZA103,程序C和程序D指定電壓 V2作為功率控制信息的情形。在程序B的執(zhí)行中,功率狀態(tài)ZC206是電壓VI,程序C的功率 控制信息ZA103表示電壓V2。比較器ZC205作為功率狀態(tài)ZC206 和功率控制信息ZA103的比較結(jié)果,判斷功率狀態(tài)ZC206更大時(shí), 使選擇器ZC208選擇程序切換請求ZC209 —側(cè)。在程序切換時(shí)聲明 程序切換請求ZC209,所以在程序切換時(shí)之前不通知功率切換請求 ZC210。作為結(jié)果,在程序B執(zhí)行中斷的定時(shí)之前,等待功率狀態(tài)的 變更。相反,在執(zhí)行程序D時(shí),比較器ZC205的比較結(jié)果判斷為功率
控制信息ZA103 —側(cè)大,所以功率變更定時(shí)控制器ZC207在計(jì)數(shù)器 的計(jì)數(shù)后,在程序切換之前,開始功率狀態(tài)的變更。如程序A和程序C的執(zhí)行中那樣,當(dāng)執(zhí)行下一程序時(shí),在功率 條件相同的情況下,無論在程序切換后進(jìn)行功率變更,還是在程序切 換之前進(jìn)行功率變更,功率狀態(tài)都相同。當(dāng)然,考慮到在比較結(jié)果相 同時(shí),不實(shí)施功率變更控制。圖11表示本實(shí)施例的實(shí)施步驟的一個(gè)例子。在步驟ZC301中,取得與接著分配的程序的識別號碼對應(yīng)的功率 控制卩言息ZA103。接著,在步驟ZC302中,比較功率控制信息ZA103和微處理器 1000的功率狀態(tài)ZC206。在假定電壓作為功率狀態(tài)的本例子中,如果 功率狀態(tài)ZC206 —側(cè)低,就選擇步驟ZC303,如果高,就選擇步驟 ZC304。在步驟ZC303中,在基于通常的調(diào)度的程序的切換之前,等待功 率變更。在步驟ZC304中,開始變更功率條件的定時(shí)的計(jì)算。在本例子中 表示基于定時(shí)器ZC211的定時(shí)調(diào)整的例子。在步驟ZC305中,在定時(shí)條件結(jié)束之前,等待功率變更。在本例 子中把定時(shí)器ZC211的計(jì)數(shù)值變?yōu)轭A(yù)定值作為條件表示。在等待結(jié)束后的步驟ZC306,根據(jù)功率控制信息ZA103,向功率 狀態(tài)變更裝置ZA101請求功率狀態(tài)的變更。 (實(shí)施例4)圖12是表示實(shí)施例4的功率控制裝置400的結(jié)構(gòu)的框圖。該功 率控制裝置400與圖1、圖7所示的功率控制裝置100、 200同樣,也 可以設(shè)置在微處理器1000的內(nèi)部,也能設(shè)置在微處理器1000的外部。功率上下文參照裝置ZB101包含猜測功率狀態(tài)變更裝置ZDIOI。 猜測功率狀態(tài)變更裝置ZD101從功率上下文存儲裝置ZA105取得功 率控制信息ZA103,根據(jù)它,進(jìn)行用于功率狀態(tài)變更的計(jì)算,把功率 控制信息ZA103對功率狀態(tài)變更裝置ZA101供給。
功率狀態(tài)變更裝置ZA101根據(jù)供給的功率控制信息ZA103,進(jìn) 行微處理器1000的功率變更。圖13表示猜測功率狀態(tài)變更裝置ZD101的內(nèi)部結(jié)構(gòu)的一個(gè)例子。猜測功率狀態(tài)變更裝置ZD101通過基于硬件的程序調(diào)度器或基 于操作系統(tǒng)的程序調(diào)度器,取得接著要由微處理器1000執(zhí)行的程序 的識別號碼ZD201,存儲到識別號碼保持寄存器ZD202中。識別號碼保持寄存器ZD202的內(nèi)容作為識別號碼ZD203,提供 給功率上下文存儲裝置ZA105,從功率上下文存儲裝置ZA105取得 與識別號碼ZD203對應(yīng)的功率控制信息ZA103, 4巴它記錄到功率控 制信息保持寄存器ZD204中。比較器ZD205,比較功率控制信息ZA103的內(nèi)容中過去的功率 變更的成功率ZD206和成功率的指定臨界值ZD207。例如,過去的 功率變更的成功率ZD206由功率變更連續(xù)失敗的次數(shù)構(gòu)成,指定臨 界值ZD207采用表示3次的結(jié)構(gòu)時(shí),如果過去的成功率ZD206為3 次以內(nèi),則聲明比較器ZD205的輸出。這里,比較器ZD205的輸出與功率控制信息ZD204中的功率變 更允許位在邏輯上取AND( ZD208 ),把結(jié)果作為功率變更請求ZD209 通知給功率狀態(tài)變更裝置ZAIOI。能夠根據(jù)過去的功率變更的成功率,在一定條件以上的失敗時(shí), 抑制功率狀態(tài)的變更。圖14表示本實(shí)施例的實(shí)施步驟的一個(gè)例子。在步驟ZD301中,取得與接著分配的程序的識別號碼對應(yīng)的功 率控制信息ZA103。接著,在步驟ZD302中,從功率控制信息ZA103的狀態(tài)變更允 許位的內(nèi)容判定是否為允許功率控制的程序,在不是允許功率控制的 程序時(shí),不進(jìn)行功率狀態(tài)的變更請求,結(jié)束步驟。判定為允許功率控制時(shí),接著在步驟ZD303中,從功率控制信
抑制功率狀態(tài)的變更控制,在判定為要抑制時(shí),不進(jìn)行功率狀態(tài)的變更請求,結(jié)束步驟。相反,在判定為要實(shí)施變更時(shí),在步驟ZD304 中,根據(jù)功率控制信息ZA103的內(nèi)容,向功率狀態(tài)變更裝置ZA101 通知功率狀態(tài)的變更請求。圖15表示在本實(shí)施例中計(jì)算過去的成功率的例子。這里,表示 作為成功率,進(jìn)行基于失敗次數(shù)的計(jì)算的例子。在步驟ZD401中,根據(jù)余裕度,計(jì)算判定在當(dāng)前的功率狀態(tài)和 負(fù)荷狀態(tài)的組合下,微處理器1000是否能發(fā)生錯誤動作(該步驟示 于實(shí)施例8)。在步驟ZD401中判定為功率狀態(tài)中沒有余裕的狀態(tài)(功率危險(xiǎn) 狀態(tài))時(shí),在步驟ZD402中,使相當(dāng)于功率控制信息的狀態(tài)變更成 功率的值增加。作為簡單的例子,每當(dāng)檢測到功率危險(xiǎn)狀態(tài),就增加 1,但是根據(jù)余裕度而加上加權(quán)的值的方法也能容易構(gòu)成。在步驟ZD403中,按照安裝方法而采用進(jìn)入等待狀態(tài)直到功率 狀態(tài)中產(chǎn)生余?;蚯袚Q為可分配的程序的方法。在步驟ZD401中判定為功率狀態(tài)中有余裕時(shí),在步驟ZD404中 收到程序的切換請求的情況下,在接著的步驟ZD405中計(jì)算成功率。在步驟ZD405中,作為安裝方法之一,有簡單地將值減去的方 法。在該方法中,與失敗或成功的連續(xù)程度無關(guān),能以合計(jì)值是否超 過某閾值計(jì)算成功率。此外,作為其他安裝方法,能在步驟ZD405中功率分配成功時(shí), 采用把成功率的值清除為初始值(例如O)的方法。這時(shí),能構(gòu)成只 在連續(xù)失敗N次時(shí)作為超過閾值的值的判定方法。圖16是表示進(jìn)行成功率計(jì)算的裝置的結(jié)構(gòu)的框圖。在本例子中,選擇器ZD501在功率危險(xiǎn)狀態(tài)時(shí),供給作為失敗 數(shù)加法值的值(+l),在不是功率危險(xiǎn)狀態(tài)時(shí),供給作為成功數(shù)減法 值的值(-1 )。加法器ZD502把從功率控制信息ZD204供《會的當(dāng)前的狀態(tài)變更 成功率的值和從選擇器ZD501供給的加減法值相加。19
失敗率信息寄存器ZD503在聲明程序切換信息時(shí),寫入從加法 器ZD502供給的值。進(jìn)而,根據(jù)該值,更新功率上下文存儲裝置ZA105 的狀態(tài)變更成功率的字段。另外,在圖17中,列舉如本實(shí)施例那樣切換程序時(shí),按照與程 序的動作狀態(tài)對應(yīng)的值,更新功率上下文存儲裝置ZA105的信息的 裝置的結(jié)構(gòu)。另外,在本實(shí)施例中,列舉是否猜測地進(jìn)行功率變更,但是如果 使用功率分配的成功和失敗的判定機(jī)構(gòu),就能更安全地進(jìn)行功率的削 減。例如,在功率分配成功時(shí),能進(jìn)行功率狀態(tài)的余裕度的計(jì)算,更 新功率上下文存儲裝置ZA105的用于相應(yīng)的程序的功率控制信息。 例如,功率分配成功,如果能判定當(dāng)前的電壓對于動作條件具有充分 余裕,就能用更低的電壓值更新功率上下文存儲裝置ZA105的功率 控制信息。相反,在余裕度小時(shí),就能夠用更高的電壓值更新。據(jù)此, 能夠減少功率分配的失敗引起的性能惡化,并且能動態(tài)實(shí)現(xiàn)功耗的削 減。(實(shí)施例5)圖18表示猜測功率狀態(tài)變更判定裝置ZD101的內(nèi)部結(jié)構(gòu)的另外 一個(gè)例子。猜測功率狀態(tài)變更判定裝置ZD101通過基于硬件的程序調(diào)度器 或基于操作系統(tǒng)的程序調(diào)度器,取得接著要由微處理器1000執(zhí)行的 程序的識別號碼ZD201,存儲到識別號碼保持寄存器ZD202。識別號碼保持寄存器ZD202的內(nèi)容作為識別號碼ZD203提供給 功率上下文存儲裝置ZA105,從功率上下文存儲裝置ZA105取得與 識別號碼ZD203對應(yīng)的功率控制信息ZA103,把它記錄到功率控制 信息保持寄存器ZD204。差量計(jì)算器ZE101計(jì)算微處理器1000的功率狀態(tài)ZE102和功率 控制信息ZA103的功率信息的差量。這里,作為功率狀態(tài),列舉電 源電壓。這時(shí),差量計(jì)算器ZE101計(jì)算兩者的電壓差并輸出。功率-轉(zhuǎn)變時(shí)間表ZE103計(jì)算輸入的功率狀態(tài)值的變更所需的時(shí)間并輸出。
例如,用表的形式存儲電壓差0.1 mV的變更所需的轉(zhuǎn)變時(shí)間并輸出。 當(dāng)然,表也可以由可改寫的寄存器或存儲器構(gòu)成,還可以由組合邏輯 構(gòu)成。比較器ZE104比較功率-轉(zhuǎn)變時(shí)間表ZE103的輸出和功率控制信 息ZA103的內(nèi)容中的通常時(shí)最小時(shí)間ZE105,在通常時(shí)最小時(shí)間 ZE105較小時(shí),4巴功率變更請求ZE106通知給功率狀態(tài)變更裝置 ZAIOI。通常時(shí)最小時(shí)間ZE105,在除了相應(yīng)的程序中斷等緊急時(shí)候的通 常時(shí),保存按各切換單位執(zhí)行的最小的時(shí)間單位。相應(yīng)的程序的切換時(shí)間比向作為目標(biāo)的功率狀態(tài)的轉(zhuǎn)變時(shí)間短 時(shí),能抑制功率狀態(tài)的變更。圖19表示通常最小時(shí)間ZE105的計(jì)算步驟。在步驟ZE201中,在程序的切換后進(jìn)行使用定時(shí)器的程序分配而 開始時(shí)間的計(jì)測。它可以是新初始化定時(shí)器而進(jìn)行計(jì)數(shù)的方法,或4吏 用總處于工作的公用定時(shí)器來記錄程序開始時(shí)的定時(shí)器值的方法。在步驟ZE202中,在新的程序的切換之前,使處理等待。在步驟ZE202中,檢測到程序的切換后,在步驟ZE203中,判 定這次的程序切換是通常的切換,還是基于中斷的緊急的切換。不是 通常的切換時(shí),不進(jìn)行使用本次的程序分配時(shí)間的最小時(shí)間ZE105 的計(jì)算和記錄。據(jù)此,能排除不是通常的程序動作中的切換的特別情形的影響。在步驟ZE203中,判定這次的程序切換是通常的切換后,在步驟 ZE204中,計(jì)算程序分配時(shí)間。把新的定時(shí)器初始化時(shí),^使用該時(shí)刻 的定時(shí)器值,當(dāng)使用總工作的公用定時(shí)器時(shí),從當(dāng)前的定時(shí)器值減去 記錄完畢的程序開始時(shí)的定時(shí)器值來計(jì)算時(shí)間。在步驟ZE205中,比較功率控制信息保持寄存器ZD204中存儲 的通常最小時(shí)間ZE105的值和在所述ZE204中計(jì)算的本次的程序分 配時(shí)間,在步驟ZE206中把更小一側(cè)的值作為通常最小時(shí)間存儲到功 率上下文存儲裝置ZA105的相應(yīng)字段中。 (實(shí)施例6)圖20是表示本發(fā)明的實(shí)施例6的功率控制裝置600的結(jié)構(gòu)的框 圖。該功率控制裝置600與圖1、圖7所示的功率控制裝置100、 200 同樣,可以設(shè)置在微處理器1000的內(nèi)部,也可以設(shè)置在微處理器1000 的外部。功率上下文參照裝置ZB101包含功率調(diào)度器ZFIOI。功率調(diào)度器 ZF101從功率上下文存儲裝置ZA105取得與程序的識別號碼對應(yīng)的 功率控制信息ZA103,據(jù)此進(jìn)行用于功率狀態(tài)變更的計(jì)算,把功率控 制信息ZA103提供給功率狀態(tài)變更裝置ZA101,把程序分配信息 ZF102提供給程序分配裝置ZF103。功率狀態(tài)變更裝置ZA101對微處理器IOOO分配以所供給的程序 分配信息ZF102識別的程序。圖21表示功率調(diào)度器ZFIOI的內(nèi)部結(jié)構(gòu)的一個(gè)例子。功率調(diào)度器ZFIOI通過保存要分配給微處理器IOOO的程序信息, 并且進(jìn)行分配控制的狀態(tài)控制機(jī)ZF201, 4巴可分配的各程序的識別號 碼經(jīng)由ID保持寄存器ZF201向功率上下文存儲裝置ZA105供給,取 得功率控制信息ZA103,存儲在功率控制信息保持寄存器ZD204中。減法器ZF203計(jì)算從功率控制信息保持寄存器ZD204輸出的功 率控制信息ZA103和微處理器1000的功率狀態(tài)ZF204的差量。這里, 假定供給電壓(電源電壓)作為功率控制信息時(shí),輸出電壓差。同樣,減法器ZF206計(jì)算功率狀態(tài)ZF20和最小差候選保持寄存 器ZF205的差量。比較器ZF207比較減法器ZF203的輸出和減法器ZF206的輸出, 在減法器ZF203的輸出值更小時(shí),聲明寫入請求ZF208。寫入請求ZF208取與來自狀態(tài)控制才幾ZF201的定時(shí)調(diào)整信號的 邏輯積(AND),通知給最小差候選保持寄存器ZF205,最小差候選 保持寄存器ZF205把該時(shí)刻的功率控制信息ZA103作為新的最小差 候選進(jìn)行存儲。通過對分配候選的程序識別號碼進(jìn)行以上的步驟,能在最小差候
選保持寄存器ZF205中存儲與當(dāng)前的功率信息具有最小差量值的程 序識別號碼、功率控制信息ZA103。伴隨狀態(tài)控制機(jī)ZF201的程序檢索結(jié)束,聲明功率變更請求 ZF209、程序切換請求ZF210,作為功率和程序的變更請求通知給功 率狀態(tài)變更裝置ZA101和程序分配裝置ZF103,功率和程序分配狀態(tài) 分別變更。圖22表示本實(shí)施例的實(shí)施步驟的一個(gè)例子。在步驟ZF301中,取得與接著分配的程序的識別號碼對應(yīng)的功率 控制信息ZA103。接著在步驟ZF302中,比較功率控制信息ZA103的功率值與微 處理器1000當(dāng)前的功率狀態(tài)值ZF204是否是最接近的,在更接近的 情況下,在步驟ZF303中,把相應(yīng)的程序識別號碼和功率控制信息 ZA103作為接著要分配的候選保存到最小差候選保持寄存器ZF205 中。通過步驟ZF3 04,確認(rèn)對全部程序的識別號碼是否進(jìn)行了最小差 比較,全部程序的比較檢索結(jié)束時(shí),通過步驟ZF305,作為接著要分 配的程序,根據(jù)最小差候選保持寄存器ZF205的內(nèi)容,對功率狀態(tài)變 更裝置ZA101請求功率狀態(tài)的變更,在步驟ZF305中,根據(jù)最小差 候選保持寄存器ZF205的內(nèi)容,對裝置ZF103請求對于接著要分配 的程序的分配請求。另外,也可以#^居安裝方式替換步驟ZF305和ZF306。圖23表示本實(shí)施例的動作定時(shí)。在程序A的執(zhí)行中,功率調(diào)度器ZF101對于可分配的程序B、 C、 D,檢索與當(dāng)前的功率狀態(tài)(這里,電壓狀態(tài))的差量最小的程序。 判定為程序B的功率差最小,把程序B作為下一程序切換對象通知 給裝置ZF103,并且把功率狀態(tài)的變更通知給功率狀態(tài)變更裝置 ZAIOI。同樣,在各自的時(shí)刻對程序C、 D進(jìn)行探索,適時(shí)進(jìn)行程序分配 和功率變更。
可分配的程序A D全部執(zhí)行后,程序A D作為程序分配的候選, 再度重新由調(diào)度器識別。在一周期最終的程序D的執(zhí)行中,功率調(diào)度 器ZFIOI根據(jù)功率狀態(tài)的比較判定功率差第二小的程序?yàn)镈,并分配 程序D。在接著的程序D的執(zhí)行中,作為接著要執(zhí)行的候選,同樣選擇功 率狀態(tài)的差成為最小的程序C。這時(shí),如圖23的定時(shí)所示,能使用 實(shí)施例3中表示的功率預(yù)先控制裝置ZCIOI,在切換為程序C之前變 更功率狀態(tài),抑制性能惡化。 (實(shí)施例7)圖24表示功率調(diào)度器ZF101的內(nèi)部結(jié)構(gòu)的另外一個(gè)例子。功率調(diào)度器ZF101通過保存要分配給微處理器1000的程序信息, 并且進(jìn)行分配控制的狀態(tài)控制機(jī)ZF201 ,把可分配的各程序的識別號 碼經(jīng)由ID保持寄存器ZF201向功率上下文存儲裝置ZA105供給,取 得功率控制信息ZA103,存儲在功率控制信息保持寄存器ZD204中。減法器ZG101計(jì)算保持上次確定的最小差的前最小值寄存器 ZG103和功率控制信息ZA103的差。同樣,減法器ZG102計(jì)算保持上次確定的最小差的前最小值寄 存器ZG103和保持當(dāng)前的最小差的最小差候選保持寄存器ZF205的 差。比較器ZG103進(jìn)行減法器ZG101和減法器ZG102的結(jié)果比較, 在減法器ZG101的值小時(shí),把寫入請求向最小差候選保持寄存器 ZF205通知,最小差候選保持寄存器ZF205記錄當(dāng)前檢索中的功率控 制信息ZA103。如果能分配給微處理器1000的程序大致檢索結(jié)束,狀態(tài)控制機(jī) ZF201就把最小差候選保持寄存器ZF205的內(nèi)容對前最小值寄存器 ZG103進(jìn)行寫入控制,把前最小值寄存器ZG103的內(nèi)容對重新排列 完畢程序表ZG104進(jìn)行寫入控制。用以上的步驟能進(jìn)行功率差最小的程序的抽取,接著,如功率差 第二小的程序那樣,依次繼續(xù)功率差小的程序的抽取。結(jié)果,在重新
排列完畢程序表ZG104中按功率差由小到大的程序的順序記錄程序識別信息。當(dāng)然,通過變更比較方法,也能按功率差由大到小的順序 重新排列。此外,也可以不用硬件進(jìn)行排列處理,而通過軟件處理進(jìn) 行重新排列處理。最終,狀態(tài)控制才幾ZF201按照重新排列完畢程序表ZG104的順 序,4巴功率控制狀態(tài)的變更請求ZA103、程序分配請求ZF102通知給 功率狀態(tài)變更裝置ZAIOI、程序分配裝置ZF103,進(jìn)行功率狀態(tài)變更 和程序切換。(實(shí)施例8)圖25是表示實(shí)施例8的功率控制裝置800的結(jié)構(gòu)的框圖。該功 率控制裝置800與圖I、圖7所示的功率控制裝置100、 200同樣,可 以設(shè)置在微處理器IOOO的內(nèi)部,也可以設(shè)置在微處理器1000的外部^功率上下文參照裝置ZB101包含功率調(diào)度器ZFIOI。功率調(diào)度器 ZF101從功率上下文存儲裝置ZA105取得與程序的識別號碼對應(yīng)的 功率控制信息ZA103,基于此進(jìn)行用于功率狀態(tài)變更的計(jì)算,把功率 控制信息ZA103提供給功率狀態(tài)變更裝置ZAIOI,把程序分配信息 ZF102提供給程序分配裝置ZF103。功率狀態(tài)變更裝置ZA101根據(jù)所供給的功率控制信息ZA103, 進(jìn)行微處理器1000的功率變更。功率控制信息ZA103 4巴以所供給的 程序分配信息ZF102識別的程序分配給微處理器1000。負(fù)荷功率判定裝置ZH101把微處理器1000的功率狀態(tài)ZH102和 負(fù)荷狀態(tài)作為輸入,通過兩者的比較判定處理,判定為在當(dāng)前的功率 狀態(tài)和負(fù)荷狀態(tài)的組合下,微處理器1000能產(chǎn)生錯誤動作時(shí),把功 率控制危險(xiǎn)通知ZH104對功率調(diào)度器ZF101輸出。它還具有對功率 調(diào)度器ZF101的程序切換請求的意思,功率調(diào)度器ZF101如果收到 功率控制危險(xiǎn)通知ZH104,就檢索以當(dāng)前的功率狀態(tài)可分配的程序, 把程序分配通知給程序分配裝置ZF103。如果可能,把用于降低功率 的功率狀態(tài)的變更通知對功率狀態(tài)變更裝置ZA101通知。圖26表示負(fù)荷功率判定裝置ZH101的內(nèi)部結(jié)構(gòu)的一個(gè)例子。 負(fù)荷功率變換表ZH201按照輸入的負(fù)荷狀態(tài)ZH103輸出可工作 的功率狀態(tài)值。負(fù)荷狀態(tài)ZH101表示微處理器1000的當(dāng)前的動作狀 況,包含存儲器訪問數(shù)、命令執(zhí)行數(shù)、工作頻率。例如,作為負(fù)荷狀 態(tài)ZH101,假定存儲器訪問數(shù)、命令執(zhí)行數(shù)、工作頻率時(shí),輸出在各 執(zhí)行負(fù)荷狀態(tài)下微處理器100可不進(jìn)行錯誤動作地工作的電源電壓 值。當(dāng)然,表ZH201可以由可改寫的寄存器或存儲器構(gòu)成,也可以 由組合邏輯構(gòu)成。比較器ZH202比較負(fù)荷功率變換表ZH201的輸出和微處理器 1000當(dāng)前的功率狀態(tài)ZH102,如果當(dāng)前的功率狀態(tài)較小,就把功率 控制危險(xiǎn)ZH104通知給功率調(diào)度器ZF101。功率調(diào)度器ZF101能夠不產(chǎn)生用于向功率狀態(tài)不發(fā)生錯誤動作 的狀態(tài)轉(zhuǎn)變的等待狀態(tài),而執(zhí)行其他的程序,能防止等待引起的系統(tǒng) 的性能惡化。在具有基于負(fù)荷狀態(tài)的功率控制方式的微處理器1000中,能夠 不引起微處理器1000的錯誤動作,并且能夠進(jìn)行抑制性能惡化的功率控制。圖27表示本實(shí)施例的實(shí)施步驟的一個(gè)例子。在步驟ZH301中,隨時(shí)比較微處理器1000的功率狀態(tài)和負(fù)荷狀 態(tài),監(jiān)視不接近引起錯誤動作的功率狀態(tài)。在功率狀態(tài)中沒有余裕時(shí), 進(jìn)入步驟ZH302,檢索可在當(dāng)前的功率狀態(tài)工作的程序是否存在。在可于當(dāng)前的功率狀態(tài)工作的程序不存在時(shí),在步驟ZH303進(jìn) 行等待,直到功率狀態(tài)對于動作負(fù)荷變?yōu)檫m合。在可于當(dāng)前的功率狀態(tài)工作的程序存在時(shí),在步驟ZH304,對能 工作的程序變更分配,繼續(xù)微處理器1000的執(zhí)行。對于通過當(dāng)前的功率狀態(tài)的判定判斷為能發(fā)生錯誤動作的程序, 為了在下次的程序分配時(shí)更安全地工作,也可以用安全的值更新功率 上下文存儲裝置ZA105的內(nèi)容。例如,考慮在功率上下文存儲裝置ZA105中以0.9V記錄用于相 應(yīng)的程序的功率控制信息中的電壓信息的情形。這時(shí),相應(yīng)的程序產(chǎn)
生功率控制危險(xiǎn)時(shí),通過把所述電壓信息改寫為更安全的功率條件 1.0V,能在下次的辟呈序分配時(shí)更安全地工作。這種動態(tài)的功率條件的變更容易與例如實(shí)施例4中表示的功率分配的成功和失敗判定才幾構(gòu)組合。(實(shí)施例9)圖28是表示實(shí)施例9的功率控制裝置900的結(jié)構(gòu)的框圖。該功 率控制裝置900是用于在具有多個(gè)物理處理器的系統(tǒng)中,不依存于處 理器的裝載數(shù),而高效削減多個(gè)程序執(zhí)行時(shí)的總功耗的裝置。功率調(diào)度器ZF101取得來自功率組存儲裝置ZI101的電源組信息 ZI102,基于此決定要執(zhí)行的處理器,把要分配的程序信息通知給程 序分配裝置ZF103,把功率狀態(tài)的變更通知給功率狀態(tài)變更裝置 ZAIOI。圖29表示電源組信息ZI102的存儲構(gòu)成方法的例子。圖29 (a)是按物理的處理器的各識別號碼準(zhǔn)備存儲區(qū)域,是表 示相應(yīng)的處理器屬于哪個(gè)電源組的方式。在圖29 (a)的例子中,處 理器編號0和處理器編號3的處理器在物理上屬于電源組0,處理器 編號1的處理器屬于電源組1,處理器編號2的處理器屬于電源組2。 在該方式下,需要與物理處理器的個(gè)數(shù)對應(yīng)的存儲區(qū)。在該例子中, 4個(gè)處理器以3種電源組在物理上設(shè)計(jì)安裝,表示能獨(dú)立進(jìn)行狀態(tài)變 更控制的電源組有3種。例如在該例子中,無法單個(gè)變更處理器編號 O和處理器編號3的電源電壓。因此,對處理器編號O和處理器編號 3分配采用接近的功率條件的程序成為功耗削減上的對策。圖29 (b)是為各電源組準(zhǔn)備存儲區(qū)域,表示哪個(gè)處理器編號屬 于相應(yīng)的電源組的方式。在圖29 (b)中,存儲值為1時(shí),表示相應(yīng) 的處理器屬于相應(yīng)的電源組。因此,例如處理器編號O和處理器編號 3屬于電源組編號0。圖29 (a)、圖29 (b)中,存儲的信息的內(nèi)容都相同,考慮存 儲區(qū)域或處理器數(shù)、電源組數(shù)的擴(kuò)展性,能應(yīng)用任意一個(gè)。圖30表示多個(gè)物理處理器和電源組存儲裝置的物理配置例。圖
30 (a)表示與圖29 (a)對應(yīng)的結(jié)構(gòu)例,在各處理器內(nèi)具有電源組的 存儲裝置。而圖30 (b)是與圖29 (b)對應(yīng)的結(jié)構(gòu)例,具有在處理 器組中公共的電源組的存儲裝置。圖30(a) 、 (b)的結(jié)構(gòu)例記載了 在同一 LSI上裝載多個(gè)處理器的例子,但是也可以是不同的LSI之間 的處理器組。此外,其他邏輯部也可以是不包含在結(jié)構(gòu)例中。在上述的例子中,在具有多個(gè)物理處理器的系統(tǒng)中,為了高效削 減多個(gè)程序執(zhí)行時(shí)的總功耗,而確定要分配執(zhí)行各程序的處理器,但 是在具有多個(gè)物理處理器的系統(tǒng)中,為了高效分散多個(gè)程序執(zhí)行時(shí)的 發(fā)熱量,按以下那樣決定要分配執(zhí)行各程序的處理器。第一個(gè)方法是當(dāng)物理處理器編號的排列如以往那樣時(shí),按如下那 樣根據(jù)功率狀態(tài)來交替分配程序的方法。在該方法中,如圖31 (a) 所示,把功率最高的分配到糾,把功率最低的分配到#1,功率第二高 的分配到#2,功率第二低的分配到#3 . .如此來進(jìn)行分配。第二個(gè)方法是不連續(xù)地設(shè)計(jì)配置物理處理器編號的方法。在該方 法中,如圖31 (b)所示,把物理處理器編號在行方向或列方向不連 續(xù)地(不是固定值的增加關(guān)系)配置。而且,程序的分配按功耗的大 小順序依次分配給物理處理器編號。由于處理器編號不連續(xù),所以程 序自然分布。工業(yè)上的可利用性本發(fā)明能廣泛應(yīng)用于由單一或多個(gè)結(jié)構(gòu)所構(gòu)成的微處理器(包含 微型計(jì)算機(jī)、微控制器、數(shù)字信號處理器)、定序器、靜態(tài)構(gòu)成邏輯、 動態(tài)可再構(gòu)成邏輯等信息處理裝置中。
權(quán)利要求
1.一種功率控制裝置,控制在信息處理裝置的內(nèi)部消耗的功率,其特征在于,包括功率上下文存儲單元,在用程序的識別信息來區(qū)別的存儲區(qū)域中存儲各程序的功率控制信息;功率上下文參照單元,利用所述功率上下文存儲單元參照關(guān)于所希望的程序的功率控制信息;以及功率狀態(tài)變更單元,根據(jù)由所述功率上下文參照單元參照的功率控制信息,變更在所述信息處理裝置的內(nèi)部消耗的功率的狀態(tài)。
2. 根據(jù)權(quán)利要求1所述的功率控制裝置,其特征在于還包括功率控制寄存器,其存儲關(guān)于在所述信息處理裝置中正在執(zhí)行的程序的功率控制信息,所述功率上下文參照單元包括功率上下文保存返回控制單元,其與所述信息處理裝置的命令執(zhí)行并行地,在與功率上下文存儲單元之間進(jìn)行所述功率控制寄存器的內(nèi)容的保存或返回;所述功率狀態(tài)變更單元根據(jù)所述功率控制寄存器中存儲的功率控制信息,變更在所述信息處理裝置內(nèi)部消耗的功率的狀態(tài)。
3. 根據(jù)權(quán)利要求1所述的功率控制裝置,其特征在于 所述功率控制參照單元包括功率上下文預(yù)先參照單元,其在與所述信息處理裝置中正在執(zhí)行的程序不同的第 一程序的非執(zhí)行時(shí)參照 所述第 一程序的功率控制信息。
4. 根據(jù)權(quán)利要求3所述的功率控制裝置,其特征在于照的所述第一程序的功率控制信息,在所述第一程序的執(zhí)行之前,提 前進(jìn)行功率狀態(tài)的變更。
5. 根據(jù)權(quán)利要求3所述的功率控制裝置,其特征在于 所述功率上下文預(yù)先參照單元在所述第一程序的執(zhí)行之前,參照與所述第 一 程序?qū)?yīng)的功率控制信息,根據(jù)功率狀態(tài)變更時(shí)間和程序分配時(shí)間的信息,在判斷為功率狀態(tài)的變更不是有效時(shí),禁止功率狀 態(tài)的變更。
6. 根據(jù)權(quán)利要求1所述的功率控制裝置,其特征在于 所述功率控制信息包含過去的功率分配的成功率或失敗率; 所述功率上下文參照單元包括猜測性功率狀態(tài)變更判定單元,其根據(jù)所述功率控制信息的成功率或失敗率,確定是否變更執(zhí)行該程序 時(shí)的功率狀態(tài)。
7. 根據(jù)權(quán)利要求1所述的功率控制裝置,其特征在于 所述功率上下文參照單元包括程序調(diào)度單元,其根據(jù)所述功率上下文存儲單元中存儲的各程序的功率控制信息選擇使得當(dāng)前的功率 狀態(tài)的功率變化成為最小的程序,分配給所述信息處理裝置。
8. 根據(jù)權(quán)利要求1所述的功率控制裝置,其特征在于 所述功率上下文參照單元包括程序調(diào)度單元,其根據(jù)所述功率上下文存儲單元中存儲的各程序的功率控制信息,將程序重新排列成各 程序之間的功率變化成為最小的程序順序,分配給所述信息處理裝 置。
9. 根據(jù)權(quán)利要求1所述的功率控制裝置,其特征在于 還包括負(fù)荷檢測單元,檢測所述信息處理裝置的當(dāng)前的工作狀況;功率狀態(tài)檢測單元,檢測所述信息處理裝置的當(dāng)前的功率狀態(tài);負(fù)荷功率判定單元,根據(jù)所述負(fù)荷檢測單元才企測出的負(fù)荷和所述功率狀態(tài)檢領(lǐng)'J單元檢測出的功率信息,預(yù)先判斷無法繼續(xù)進(jìn)行當(dāng)前的程序的動作;以及程序調(diào)度單元,在判斷為無法繼續(xù)進(jìn)行所述當(dāng)前的程序的動作時(shí),進(jìn)行程序的切換。
10. —種功率控制裝置,控制在多個(gè)物理處理器的內(nèi)部消耗的功 率,其特征在于,包括電源組存儲單元,存儲識別物理處理器在物理上所屬的電源組的 信息;以及程序調(diào)度單元,根據(jù)所述電源組存儲單元的內(nèi)容,確定把各程序 分配給哪個(gè)物理處理器。
全文摘要
本發(fā)明提供一種功率控制裝置(100),控制在信息處理裝置(1000)的內(nèi)部消耗的功率,包括功率上下文存儲單元(ZA105)、功率上下文參照單元(ZB101)、以及功率狀態(tài)變更單元(ZA101)。功率上下文存儲單元(ZA105)在由程序的識別信息所區(qū)別的存儲區(qū)域中存儲各程序的功率控制信息。功率上下文參照單元(ZB 101)利用功率上下文存儲單元(ZA105)參照關(guān)于所需的程序的功率控制信息。功率狀態(tài)變更單元(ZA101)根據(jù)由功率上下文參照單元(ZB 101)參照的功率控制信息,變更在信息處理裝置(1000)的內(nèi)部消耗的功率的狀態(tài)。
文檔編號G06F9/48GK101167055SQ200680014188
公開日2008年4月23日 申請日期2006年3月28日 優(yōu)先權(quán)日2005年4月27日
發(fā)明者谷丈暢 申請人:松下電器產(chǎn)業(yè)株式會社