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

基于功率估算的指令調(diào)度的制作方法

文檔序號:6434698閱讀:104來源:國知局
專利名稱:基于功率估算的指令調(diào)度的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及電子器件。具體而言,本發(fā)明涉及基于功率估算為電子器件進(jìn)行指令調(diào)度。
背景技術(shù)
傳統(tǒng)的電子器件,例如微處理器,一般基于硬件資源和數(shù)據(jù)可用性對其內(nèi)部指令的執(zhí)行進(jìn)行調(diào)度,以最優(yōu)化其性能。但是,隨著由于處理技術(shù)的提高而引起的功耗增大,這些微處理器要抽取的電流可能多于微處理器的電壓調(diào)節(jié)器所能提供的。一種解決這些微處理器過度抽取電流的典型方法包括熱學(xué)和數(shù)字節(jié)流機(jī)構(gòu),其中進(jìn)入微處理器的指令流通過指令停滯(stall)的手段被攔截,從而減小了微處理器所消耗的功率。但是不足的是,攔截微處理器正處理的指令流降低了其性能。
此外,當(dāng)微處理器處理的指令數(shù)量變化很大時(shí),會向硬件中引入電流尖峰。例如,如果微處理器正在處理來自指令密集型應(yīng)用程序的一定數(shù)量的指令,之后一段時(shí)間沒有指令處理,然后返回處理來自另一指令密集型應(yīng)用程序的一定數(shù)量的指令,則微處理器抽取的電流量將相應(yīng)地變化。


本發(fā)明的實(shí)施例可以通過參考以下描述和圖示了這些實(shí)施例的附圖被最好地理解。這里所采用的附圖標(biāo)號方式是用于附圖中給定元件的最前面的標(biāo)號與該附圖的標(biāo)號相關(guān)聯(lián)。例如,系統(tǒng)100可能位于圖1中。但是,不同附圖之間用于相同元件的元件標(biāo)號是相同的。
在附圖中圖1圖示了根據(jù)本發(fā)明實(shí)施例的示例性系統(tǒng)100,該系統(tǒng)包括用于控制指令集體系結(jié)構(gòu)之間二進(jìn)制轉(zhuǎn)換的兼容性級別的處理器102和104。
圖2圖示了根據(jù)本發(fā)明實(shí)施例的處理器的更為詳細(xì)的示圖。
圖3圖示了根據(jù)本發(fā)明實(shí)施例的指令調(diào)度的流程圖。
圖4圖示了根據(jù)本發(fā)明實(shí)施例通過指令調(diào)度將處理器置于Di/Dt安全范圍內(nèi)的流程圖。
具體實(shí)施例方式
在以下描述中,為了說明的目的,陳述了很多具體細(xì)節(jié)以提供對本發(fā)明的全面的理解。但是,本發(fā)明可以在沒有這些具體細(xì)節(jié)的情況下被實(shí)現(xiàn)對于本領(lǐng)域的技術(shù)人員是明顯的。
本發(fā)明的實(shí)施例通過當(dāng)在例如微處理器的電子器件中調(diào)度指令用于執(zhí)行時(shí)在其內(nèi)部執(zhí)行給定指令而解決了功耗問題。具體而言,本發(fā)明的實(shí)施例通過指令調(diào)度確保了滿足給定電子器件的最小和最大功耗需求,其中該指令調(diào)度不僅基于硬件資源和數(shù)據(jù)可用性,而且還基于正被執(zhí)行和將被執(zhí)行的指令的功耗。
此外,本發(fā)明的實(shí)施例能夠確保電子器件所消耗的電流隨時(shí)間的變化在一個(gè)安全范圍之內(nèi),從而預(yù)防電流中的突然變化和電流中潛在的尖峰發(fā)生。因此,本發(fā)明的實(shí)施例提供更多的時(shí)間用于逐步勻速提高(ramp up)給定電子器件的抽取電流。如以下將更詳細(xì)地描述的,本發(fā)明的實(shí)施例可以被用來檢測系統(tǒng)非活動性(inactivity)和注入人工指令,以防止大的電流擺動,從而降低與這些電子器件相關(guān)的封裝成本。
圖1圖示了根據(jù)本發(fā)明實(shí)施例的示例性系統(tǒng)100,該系統(tǒng)包括用于控制指令集體系結(jié)構(gòu)之間二進(jìn)制轉(zhuǎn)換的兼容性級別的處理器102和104。盡管以系統(tǒng)100為例來描述,但是本發(fā)明可以實(shí)現(xiàn)于包括任何合適的一個(gè)或者多個(gè)集成電路的任何合適的計(jì)算機(jī)系統(tǒng)中。
如圖1所示,計(jì)算機(jī)系統(tǒng)100包括處理器102和處理器104。計(jì)算機(jī)系統(tǒng)100還包括處理器總線110和芯片組120。處理器102和104以及芯片組120耦合到處理器總線110。處理器102和104可以各自包括任何合適的處理器體系結(jié)構(gòu),對于一個(gè)實(shí)施例,各自可以包括適用于可從加利福尼亞州圣克拉拉的Intel公司購買到的例如Pentium系列處理器中的Intel體系結(jié)構(gòu)(IntelArchitecture)。對于其它實(shí)施例,計(jì)算機(jī)系統(tǒng)100可以包括一個(gè)、三個(gè)或者更多處理器,它們中的任何一個(gè)可以執(zhí)行根據(jù)本發(fā)明對于一個(gè)實(shí)施例,芯片組120包括存儲器控制器中心(MCH)130、輸入/輸出(I/O)控制器中心(ICH)140以及固件中心(FWH)170。MCH 130、ICH 140和FWH 170可以各自包括任何合適的電路,對于一個(gè)實(shí)施例,它們各自被形成為單獨(dú)的集成電路芯片。對于其他實(shí)施例,芯片組120可以包括任何合適的一個(gè)或者多個(gè)集成電路器件。
MCH 130可以包括任何合適的接口控制器,以提供至處理器總線110和/或與MCH 130通信的任何合適設(shè)備或部件的任何合適的通信鏈接。對于一個(gè)實(shí)施例,MCH 130提供對每個(gè)接口的合適的仲裁、緩沖和一致性管理。
MCH 130耦合到處理器總線110并通過處理器總線110提供對處理器102和104的接口。處理器102和/或處理器104或者可以與MCH 130結(jié)合以形成單個(gè)芯片。對于一個(gè)實(shí)施例,MCH 130還提供對各自耦合到MCH130的主存132和圖形控制器134的接口。主存132存儲例如用于計(jì)算機(jī)系統(tǒng)100的數(shù)據(jù)和/或指令,并且可以包括任何合適的存儲器,例如動態(tài)隨機(jī)訪問存儲器(DRAM)。圖形控制器134控制耦合到圖形控制器134的合適的顯示器136上的信息顯示,所述顯示器例如為陰極射線管(CRT)或者液晶顯示(LCD)。對于一個(gè)實(shí)施例,MCH 130通過加速圖形端口(AGP)與圖形控制器134連接。對于一個(gè)實(shí)施例,圖形控制器134或者可以與MCH結(jié)合以形成單個(gè)芯片。
MCH 130還耦合到ICH 140,以提供通過中心接口對ICH 140的訪問。ICH 140為計(jì)算機(jī)系統(tǒng)提供對I/O設(shè)備或外圍部件的接口。ICH 140可以包括任何合適的接口控制器以提供至MCH 130和/或至與ICH 140通信的任何合適的設(shè)備或部件的任何合適的通信鏈接。對于一個(gè)實(shí)施例,ICH140為各個(gè)接口提供合適的仲裁和緩沖。
對于一個(gè)實(shí)施例,ICH 140提供對一個(gè)或者多個(gè)合適的集成驅(qū)動電子設(shè)備(IDE)驅(qū)動器142、通過一個(gè)或者多個(gè)USB端口144的對一個(gè)或者多個(gè)合適的通用串行總線(USB)設(shè)備、對音頻編碼/解碼器(編碼解碼器)146以及對調(diào)制解調(diào)編碼解碼器148的接口,其中IDE驅(qū)動器142例如為硬盤驅(qū)動器(HDD)或只讀光盤存儲器(CD ROM)驅(qū)動器,用于例如存儲數(shù)據(jù)和/或指令。對于一個(gè)實(shí)施例,ICH 140還通過超級I/O控制器150提供對鍵盤151、對鼠標(biāo)152、通過一個(gè)或者多個(gè)并行端口153的對例如打印機(jī)的一個(gè)或者多個(gè)合適的設(shè)備、通過一個(gè)或者多個(gè)串行端口154的對一個(gè)或者多個(gè)合適的設(shè)備以及對軟盤驅(qū)動對155的接口。對于一個(gè)實(shí)施例,ICH 140還提供對通過PCI總線上的一個(gè)或者多個(gè)PCI插槽162耦合到ICH 140的一個(gè)或者多個(gè)合適的外圍部件互連(PCI)設(shè)備的接口,以及提供對通過ISA橋164被PCI總線耦合到ICH 140的一個(gè)或者多個(gè)合適的工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(ISA)設(shè)備的接口。ISA橋164通過ISA總線上的一個(gè)或者多個(gè)ISA插槽166與一個(gè)或者多個(gè)ISA設(shè)備連接。
ICH 140還耦合到FWH 170,以提供對FWH 170的接口。FWH 170可以包括任何合適的接口控制器以提供至ICH 140的任何合適的通信鏈接。對于一個(gè)實(shí)施例,F(xiàn)WH 170至少可以共享ICH 140和超級I/O控制器150之間的部分接口。FWH 170包括基本輸入/輸出系統(tǒng)(BIOS)存儲器172,用于存儲合適的系統(tǒng)和/或視頻BIOS軟件。BIOS存儲器172可以包括任何合適的非易失性存儲器,例如閃存。
相應(yīng)地,計(jì)算機(jī)系統(tǒng)100包括其上存儲了實(shí)現(xiàn)這里所描述的一個(gè)或者全部方法的一套指令(即,軟件)的機(jī)器可讀介質(zhì)。例如,軟件可以全部或者至少部分地駐存于主存132和/或處理器102/104中。為了說明的目的,術(shù)語“機(jī)器可讀介質(zhì)”應(yīng)該視為包括以機(jī)器(例如,計(jì)算機(jī))可讀的形式提供(即,存儲和/或傳輸)信息的任何機(jī)制。例如,機(jī)器可讀介質(zhì)包括只讀存儲器(ROM)、隨機(jī)訪問存儲器(RAM)、磁盤存儲介質(zhì)、光存儲介質(zhì)、閃存設(shè)備、電、光、聲或其它形式的傳播信號(例如,載波、紅外信號、數(shù)字信號等)等。
圖2圖示了根據(jù)本發(fā)明實(shí)施例的處理器的更詳細(xì)的示圖。具體而言,圖2圖示了處理器102/104中的一個(gè)(以下以“處理器102”為例)的更詳細(xì)的示圖。指令緩沖器202被耦合以從指令預(yù)取器(prefetcher)(未示出)接收指令,例如宏指令。如所示,這些指令具有相關(guān)聯(lián)的類型,對此以下將詳細(xì)說明。例如,指令1為類型B的,而指令3為類型C的。
譯碼器204耦合到指令緩沖器202,以便譯碼器204從指令緩沖器202取回指令。譯碼器204能夠接收這些宏指令并對這些宏指令進(jìn)行譯碼,以確定該給定指令以及還為每個(gè)宏指令產(chǎn)生若干的微操作。例如,乘法宏指令可以包括若干裝載和存儲微操作以及乘法微操作。譯碼器204還耦合到指令調(diào)度器208,以便指令調(diào)度器208能夠接收這些微操作用于由功能單元212~218進(jìn)行被經(jīng)過調(diào)度的執(zhí)行。
譯碼器204耦合到功率值查詢邏輯206,其中給定指令的類型從譯碼器204被傳送到功率值查詢邏輯206。在一個(gè)實(shí)施例中,存儲在功率值查詢邏輯206中的功率值是可編程的,以便這些值在處理器102的制造之后能夠被更新。在另一個(gè)實(shí)施例中,存儲在功率值查詢邏輯206中的功率值被硬連線到處理器102中。
功率值查詢邏輯206耦合到功率值查詢表208。功率值查詢表208可以是若干不同類型的存儲器中的一個(gè),所述不同類型的存儲器例如為不同類型的隨機(jī)訪問存儲器(RAM)。此外,功率值查詢表208可以是若干不同數(shù)據(jù)結(jié)構(gòu)中的任一種。此外,功率值查詢表208被示為處在處理器102內(nèi)部。在其它實(shí)施例中,功率值查詢表208可以存儲在處理器102外部。如以下將更詳細(xì)地描述的,功率值查詢邏輯206通過進(jìn)行對功率值查詢表208的查詢,根據(jù)接收到的指令確定給定指令的功率值。例如,類型A的指令包括的功率值為1101;類型B的指令包括的功率值為0010;類型C的指令包括的功率值為0100,類型D的指令包括的功率值為1001等等。
功率值查詢邏輯206耦合到指令調(diào)度器208,以便功率值查詢邏輯206將與給定指令相關(guān)聯(lián)的功率值210傳送給指令調(diào)度器208。指令調(diào)度器208還耦合到安全Di/Dt范圍查詢表224,其中指令調(diào)度器208可以查詢安全Di/Dt范圍查詢表224來確定處理器102所抽取的電流隨時(shí)間的變化的安全范圍。如以下將更詳細(xì)地描述的,指令調(diào)度器208能夠基于從安全Di/Dt范圍查詢表224接收到的安全Di/Dt范圍調(diào)度指令用于由功能單元212~218執(zhí)行,以便防止預(yù)定時(shí)間段內(nèi)的電流驟然起伏。
指令調(diào)度器208還耦合到功率控制邏輯222,其中功率控制邏輯222傳送指示了處理器102的當(dāng)前功率狀態(tài)是否低于功耗的最小閾值或者高于最大閾值的信號(對此以下將進(jìn)行更詳細(xì)的描述)。此外,指令調(diào)度器208耦合到分派邏輯226,以便指令調(diào)度器208傳送功能單元212~218要執(zhí)行的指令。分派邏輯226耦合到功能單元212~218,以便分派邏輯226傳送指令給功能單元212~218用于執(zhí)行。功能單元212~218可以是若干不同執(zhí)行單元中的一個(gè),其中若干不同執(zhí)行單元包括,但不限于整數(shù)算術(shù)邏輯單元(ALU)、浮點(diǎn)單元、存儲器裝載/存儲單元等。功能單元212~218還耦合到退休邏輯228,以便功能單元212~218執(zhí)行指令并將結(jié)果傳送給退休邏輯228。退休邏輯228可以將這些結(jié)果傳送給存儲器,其中該存儲器可以是處理器102內(nèi)部或者外部的,例如寄存器文件中的寄存器(處理器102內(nèi)部的)或者主存132(處理器外部的)。
另外如所示的,分派邏輯226耦合到加法邏輯250,以便當(dāng)給定指令被分派給給定功能單元212~218用于執(zhí)行時(shí),分派邏輯226將該指令的功率值傳送給加法邏輯250。加法邏輯250將該功率值與已經(jīng)被傳送給功能單元212~218用于執(zhí)行的其它指令的其它功率值求和。從而,加法邏輯250得到功能單元212~218要執(zhí)行和當(dāng)前正執(zhí)行的每個(gè)指令的功率值的總和。
退休邏輯228還耦合到加法邏輯252,以便當(dāng)給定功能單元完成了對給定指令的執(zhí)行時(shí),將該指令的功率值傳送給加法邏輯252。加法邏輯252將該功率值與已經(jīng)完成執(zhí)行的其他指令的其他功率值求和。相應(yīng)地,加法邏輯252得到已經(jīng)完成執(zhí)行的每個(gè)指令的功率值的總和。
為了執(zhí)行指令而訪問處理器102內(nèi)的不同高速緩存和處理器102外部的其他存儲器的功能單元212~218取決于數(shù)據(jù)的位置可以消耗不同水平的功率。例如,從第一級高速緩存取數(shù)據(jù)的存儲器裝載指令可以消耗第一量的功率,從第二級高速緩存取數(shù)據(jù)的存儲器裝載指令可以消耗第二量的功率,而從處理器102外部的存儲器,例如主存132,取數(shù)據(jù)的存儲器裝載指令可以消耗第三量的功率。相應(yīng)地,第一級高速緩存264、第二級高速緩存266和存儲器控制邏輯268耦合到加法邏輯250和加法邏輯252。存儲器控制邏輯268耦合到處理器102外部的存儲器以使得能夠從處理器102向此存儲器中裝載和存儲數(shù)據(jù)。因此,當(dāng)功能單元212~218中的一個(gè)從這些高速緩存或者存儲器取回?cái)?shù)據(jù)時(shí),這些取回操作的功率值被加到加法邏輯250和加法邏輯252(分別在執(zhí)行過程中和在完成執(zhí)行時(shí)),以計(jì)算與這些取回操作相關(guān)聯(lián)的額外的功耗。
加法邏輯250和加法邏輯252兩者都耦合到減法邏輯254,以便從要被執(zhí)行的指令的功率值的累計(jì)總和中減去已經(jīng)完成執(zhí)行的指令的功率值的累計(jì)總和,從而從減法邏輯254產(chǎn)生一個(gè)輸出值,該輸出值指示當(dāng)前的被消耗的功率是多少或者多少功率要被調(diào)度供未完成的指令所消耗。減法邏輯254耦合到功率狀態(tài)計(jì)數(shù)器220,以便將該輸出值存儲在功率狀態(tài)計(jì)數(shù)器220中。在一個(gè)實(shí)施例中,該存儲在功率狀態(tài)計(jì)數(shù)器220中的值在處理器102中的每個(gè)指令周期之后被更新。
功率狀態(tài)計(jì)數(shù)器220耦合到功率控制邏輯222,其中存儲在功率狀態(tài)計(jì)數(shù)器220中的值被功率控制邏輯222取回。在一個(gè)實(shí)施例中,功率控制邏輯222包括最小功率比較器260和最大功率比較器262。在操作中,最小功率比較器260可以接收存儲在功率狀態(tài)計(jì)數(shù)器220中的值,并可以將該值和與處理器102的操作相關(guān)聯(lián)的一個(gè)最小功率值比較。如以下將更詳細(xì)地描述的,該比較的結(jié)果可以被傳送給指令調(diào)度器208(以用于指令調(diào)度)。此外,最大功率比較器262可以接收存儲在功率狀態(tài)計(jì)數(shù)器220中的值,并可以將該值和與處理器102的操作相關(guān)聯(lián)的一個(gè)最大功率值比較。如以下將更詳細(xì)地描述的,該比較的結(jié)果可以被傳送給指令調(diào)度器208(以用于指令調(diào)度)。
關(guān)于與不同指令相關(guān)聯(lián)并且被存儲在功率值查詢表208中的功率值,若干不同實(shí)施例可以被用來確定這些功率值。在一個(gè)實(shí)施例中,可以由處理器102產(chǎn)生并執(zhí)行測試應(yīng)用程序,其中該測試應(yīng)用程序引起對單個(gè)指令的執(zhí)行。另外,功率測量設(shè)備可以耦合到處理器102以測量給定指令消耗的功率。因此,可以確定將在處理器102上執(zhí)行的指令集體系結(jié)構(gòu)內(nèi)的每個(gè)指令的功率。在另一個(gè)實(shí)施例中,可以進(jìn)行低級別的電路仿真來確定處理器102為給定指令消耗的功率。而且,可以定期地校準(zhǔn)(如果必要的話并且更新)這些功率數(shù)。例如,可以將電流表連同一組微代碼或固件結(jié)合在處理器102中,以使若干指令可以被執(zhí)行,其中讀取電流表以確定這些指令組是否消耗了期望的功率。相應(yīng)地,如果測量到的這些指令所消耗的功率不同于被存儲用于這些指令的功率值,則可以更新存儲在處理器102內(nèi)的功率值。
現(xiàn)在將結(jié)合圖3的流程圖更詳細(xì)地描述處理器102的操作。具體而言,圖3圖示了根據(jù)本發(fā)明實(shí)施例的指令調(diào)度的流程圖。流程圖300從在處理框302處指令調(diào)度器208從譯碼器204接收指令開始。如圖2所示,若干不同指令(例如,宏指令)是由譯碼器204從指令緩沖器202取回的。在實(shí)施例中,譯碼器204將這些指令譯碼成若干不同的微指令或操作,并將這些微操作傳送給指令調(diào)度器208。
另外,在處理框304處指令調(diào)度器208從功率值查詢邏輯206接收這些指令的功率值。在實(shí)施例中,每個(gè)指令都是給定的類型的。作為示例而非限制,圖2圖示了被分類為類型A、B、C或D的若干不同指令。在其他實(shí)施例中,分類的數(shù)目可以少于或者多于圖2所示的。在一個(gè)實(shí)施例中,該分類是基于指令的操作碼的。例如,密集型浮點(diǎn)指令,例如超越(transcendental)操作,會是類型A的,而簡單整數(shù)指令,例如加法操作,會是類型D的。此外,裝載/存儲指令可以是類型C的。
功率值查詢邏輯206從譯碼器204接收指令類型,并從功率值查詢表208取回這些指令的功率值。在實(shí)施例中,功率值查詢邏輯206基于指令的操作代碼(操作碼)取回給定指令的功率值。例如,一個(gè)操作碼可以包括整數(shù)加法操作,而不同的操作碼可以包括浮點(diǎn)乘法操作。但是,本發(fā)明的實(shí)施例并不受此限制。例如,在另一個(gè)實(shí)施例中,可以由其他邏輯來對每一個(gè)指令分配并附注類型,從而使得指令調(diào)度器208能夠獨(dú)立于功率值查詢邏輯206和/或功率值查詢表208接收功率值。例如,在另一實(shí)施例中,譯碼邏輯可以被用來確定給定指令的功率值(替代圖2中所示的功率值查詢邏輯和查詢表)。
關(guān)于給定指令的功率值分配,在一個(gè)實(shí)施例中,考慮指令間的依賴性以確定給定指令的功率值。例如,如果每個(gè)時(shí)鐘周期執(zhí)行一個(gè)浮點(diǎn)指令情況下的每個(gè)指令的功率不同于每個(gè)時(shí)鐘周期執(zhí)行兩個(gè)浮點(diǎn)指令情況下的每個(gè)指令的功率,則分派邏輯226可以基于執(zhí)行組中的浮點(diǎn)指令的數(shù)量給輸入的浮點(diǎn)指令分配不同的功率值。例如,分派邏輯226可以基于給定指令具有指令間依賴性而改變從功率值查詢表208取回的功率值。相應(yīng)地,在處理框304處,指令調(diào)度器208接收指令的功率值。
此外,在處理判定框306,指令調(diào)度器208基于當(dāng)前被調(diào)度要在下一個(gè)指令周期被執(zhí)行的指令確定處理器102消耗的功率是否會降到預(yù)定最小功率閾值。具體而言,功率狀態(tài)計(jì)數(shù)器220存儲一個(gè)值,這個(gè)值代表了當(dāng)前由于功能單元212~218執(zhí)行指令以及由于從高速緩存264和266或者其他存儲器取回?cái)?shù)據(jù)而正被消耗的功率量。對該值的更新將在以下更詳細(xì)地描述。功率狀態(tài)計(jì)數(shù)器220耦合到功率控制邏輯222。功率控制邏輯222存儲處理器102所消耗功率量的預(yù)定最小閾值(未示出)。另外,功率控制邏輯222包括最小比較器260,其輸出功率狀態(tài)計(jì)數(shù)器220中存儲的值與預(yù)定最小閾值之間的差值。指令調(diào)度器208接收該差值。在處理判定框310,如果被調(diào)度要在下一個(gè)指令周期被執(zhí)行的指令所消耗的功率加上處理器102當(dāng)前在消耗的功率大于預(yù)定最小閾值,則指令調(diào)度器208繼續(xù)處理(這在以下將更詳細(xì)地進(jìn)行描述)。
相反,如果被調(diào)度要在下一個(gè)指令周期執(zhí)行的指令所消耗的功率加上處理器102當(dāng)前在消耗的功率不大于預(yù)定最小閾值,則在處理框308指令調(diào)度器208將要在下一個(gè)指令周期執(zhí)行的指令的功率值增大。在一個(gè)實(shí)施例中,指令調(diào)度器208通過增大要在下一個(gè)指令周期執(zhí)行的指令的數(shù)量來增大此功率值。在一個(gè)實(shí)施例中,指令調(diào)度器208可以通過調(diào)度那些被調(diào)度要在下一個(gè)指令周期之后的指令周期中被執(zhí)行的指令來增大在所述下一個(gè)指令周期中要被執(zhí)行的指令的數(shù)量。例如,如果三個(gè)指令被調(diào)度要在指令周期10中被功能單元212~218所執(zhí)行,四個(gè)指令(它們不依賴于指令周期10中的這三個(gè)指令)被調(diào)度要在指令周期11中被功能單元212~218所執(zhí)行,并且如果指令周期10中將消耗的功率低于預(yù)定最小閾值,則指令調(diào)度器208可以將四個(gè)指令中的一個(gè)(從指令周期11)調(diào)度用于在指令周期10中執(zhí)行。
在實(shí)施例中,指令調(diào)度器208可以通過調(diào)度人工指令來增大要被執(zhí)行的指令的數(shù)量。換句話說,指令調(diào)度器208可以調(diào)度沒有被請求并插入到指令緩沖器202中的指令,從而保持所需的處理器功耗。
此外在實(shí)施例中,在處理判定框310,(如果功率不低于最小功率閾值)指令調(diào)度器208基于當(dāng)前被調(diào)度要在下一個(gè)指令周期被執(zhí)行的指令來確定處理器102在消耗的功率是否會高于預(yù)定最大閾值。如上所述,功率狀態(tài)計(jì)數(shù)器220存儲了一個(gè)值,這個(gè)值代表了當(dāng)前由于功能單元212~218執(zhí)行指令以及由于從高速緩存264和266或者其他存儲器取回?cái)?shù)據(jù)而正被消耗的功率量。功率狀態(tài)計(jì)數(shù)器220耦合到功率控制邏輯222。功率控制邏輯222存儲處理器所消耗功率的量的預(yù)定最大閾值(未示出)。另外,功率控制邏輯222包括最大比較器262,其輸出功率狀態(tài)計(jì)數(shù)器220中存儲的值與預(yù)定最大閾值之間的差值。指令調(diào)度器208接收該差值。
如果被調(diào)度要在下一個(gè)指令周期中被執(zhí)行的指令所消耗的功率小于從最大比較器262輸出的差值,則在處理框314,指令調(diào)度器208繼續(xù)處理(這將在以下更詳細(xì)地進(jìn)行描述)。相反,如果被調(diào)度要在下一個(gè)指令周期被執(zhí)行的指令所消耗的功率大于從最大比較器262輸出的差值,則在處理框312,指令調(diào)度器208減小下一個(gè)指令周期的被調(diào)度的若干指令的功率值。
在一個(gè)實(shí)施例中,指令調(diào)度器208通過減少被調(diào)度要在下一個(gè)指令周期中執(zhí)行的指令的數(shù)量來減小下一個(gè)指令周期的被調(diào)度的若干指令的功率值。例如,如果指令調(diào)度器208調(diào)度指令A(yù)、B和C用于執(zhí)行,但是確定在引入這些指令的功率值的情況下,總的功率將超過最大功率閾值,則指令調(diào)度器208可以查看指令A(yù)、B和C中每個(gè)的功率值。相應(yīng)地,如果去除指令B或C會將總功率減小至低于最大功率閾值,而去除指令A(yù)不能,則指令調(diào)度器208可以從下個(gè)指令周期的調(diào)度中去除指令B或C(使該指令在隨后的指令周期中執(zhí)行)。
在實(shí)施例中,指令調(diào)度器208通過將要在下一個(gè)指令周期中執(zhí)行的指令與被調(diào)度在該下一個(gè)指令周期之后的指令周期中執(zhí)行的指令交換來減小下一個(gè)指令周期的被調(diào)度的若干指令的功率值。例如,假設(shè)指令調(diào)度器208調(diào)度指令A(yù)、B和C用于在指令周期15中執(zhí)行,并調(diào)度指令D、E和F用于在指令周期16中執(zhí)行。如果指令調(diào)度器208確定在引入指令A(yù)、B和C的功率值的情況下總的功率將超過最大功率閾值,指令調(diào)度器208可以注意將指令A(yù)、B或C中的至少一個(gè)與指令D、E或F中的至少一個(gè)交換。例如,如果指令調(diào)度器208確定A、E和F的組合將使得處理器102的總功率能夠低于最大功率閾值,并且指令E和F可以在指令B和C的執(zhí)行之前與指令A(yù)一起執(zhí)行,則指令調(diào)度器208可以調(diào)度指令A(yù)、E和F用于指令周期15,并可以調(diào)度指令B、C和D用于指令周期16。
此外在實(shí)施例中(不論功率是否低于最大功率閾值),在處理框314,指令調(diào)度器208將處理器102置于Di/Dt的安全范圍內(nèi),以下將結(jié)合圖4的流程圖更詳細(xì)地對此進(jìn)行描述。在處理框316,指令調(diào)度器208調(diào)度要在下一個(gè)指令周期被執(zhí)行的指令并將其傳送給分派邏輯226,其中這些指令將被分派給適當(dāng)?shù)墓δ軉卧?12~218中的一個(gè)。
現(xiàn)在將描述將處理器102置于Di/Dt的安全范圍內(nèi)。具體而言,圖4圖示了根據(jù)本發(fā)明的實(shí)施例通過指令調(diào)度將處理器置于Di/Dt安全范圍內(nèi)的流程圖。流程圖400從處理框402處指令調(diào)度器208確定處理器的功率狀態(tài)開始。具體而言,指令調(diào)度器208從功率狀態(tài)計(jì)數(shù)器220(其指示了為了執(zhí)行指令處理器102當(dāng)前在消耗的功率)取回功率值。基于該值,指令調(diào)度器208確定處理器102處理什么狀態(tài)和什么水平。在一個(gè)實(shí)施例中,處理器102可以處于低功率狀態(tài)或者高功率狀態(tài),在一個(gè)這樣的實(shí)施例中,如果功率低于低功率狀態(tài)閾值(電流變化閾值)則處理器102處于低功率狀態(tài),如果功率高于高功率狀態(tài)閾值(電流變化閾值)則處理器102處于高功率狀態(tài)。
在處理框404,指令調(diào)度器208取回處理器102在消耗的功率的Di/Dt安全范圍。在一個(gè)實(shí)施例中,指令調(diào)度器208通過從安全Di/Dt范圍查詢表224取回該處理器102的Di/Dt安全范圍來確定低功率狀態(tài)閾值(電流變化閾值)和高功率閾值(電流變化閾值)。在一個(gè)這樣的實(shí)施例中,該Di/Dt安全范圍可以是指示電流隨時(shí)間的變化的允許量的單個(gè)值。
例如,如果處理器102的當(dāng)前功率值(存儲在功率狀態(tài)計(jì)數(shù)器220中)為“X”,且Di/Dt安全范圍為“Y”,則低功率狀態(tài)閾值會是“X-Y”,而高功率狀態(tài)閾值會是“X+Y”。因此當(dāng)前功耗為“X”的處理器102的Di/Dt安全范圍會是在“X-Y”和“X+Y”之間。
在處理判定框406,指令調(diào)度器208確定處理器102是否處于低功率狀態(tài)中。一旦確定處理器102處于低功率狀態(tài),在處理判定框408,指令調(diào)度器208確定被調(diào)度要被執(zhí)行的指令的功率值的總和是否大于預(yù)定閾值。一旦確定被調(diào)度的指令的功率總和大于閾值,在處理框410,指令調(diào)度器208減小被調(diào)度的指令的功率。
與超過最大功率閾值時(shí)的情況類似,在一個(gè)實(shí)施例中,指令調(diào)度器208通過減少被調(diào)度在下一個(gè)指令周期被執(zhí)行的指令的數(shù)量來減小該下一個(gè)指令周期的被調(diào)度的若干指令的功率值。例如,如果指令調(diào)度器208調(diào)度指令A(yù)、B和C用于執(zhí)行,但是確定在引入這些指令的功率值的情況下總功率會超過該閾值,則指令調(diào)度器208可以查看指令A(yù)、B和C的每一個(gè)的功率值。因此,如果去除指令B或C會將總功率減小到低于該閾值,而去除指令A(yù)則不會,則指令調(diào)度器208可以從用于下一個(gè)指令周期的調(diào)度中去除指令B或C(使該指令在隨后的指令周期執(zhí)行)。
在實(shí)施例中,指令調(diào)度器208通過將要在下一個(gè)指令周期中執(zhí)行的指令與被調(diào)度用于在該下一個(gè)指令周期之后的指令周期中執(zhí)行的指令交換,來減小下一個(gè)指令周期的被調(diào)度的若干指令的功率值。例如,假設(shè)指令調(diào)度器208調(diào)度指令A(yù)、B和C用于在指令周期15中執(zhí)行,并調(diào)度指令D、E和F用于在指令周期16中執(zhí)行。如果指令調(diào)度器208確定在引入指令A(yù)、B和C的功率值的情況下總的功率將超過該閾值,則指令調(diào)度器208可以注意將指令A(yù)、B或C中的至少一個(gè)與指令D、E或F中的至少一個(gè)交換。例如,如果指令調(diào)度器208確定A、E和F的組合將使得處理器102的總功率能夠低于該閾值,并且指令E和F可以在指令B和C的執(zhí)行之前與指令A(yù)一起執(zhí)行,則指令調(diào)度器208可以調(diào)度指令A(yù)、E和F用于指令周期15,并可以調(diào)度指令B、C和D用于指令周期16。
回到圖4,在處理框420,指令調(diào)度器208將被調(diào)度指令的功率隨時(shí)間增大至計(jì)劃的功率值。具體而言,計(jì)劃的功率值是一個(gè)包括了正被消耗的功率以及將要消耗的功率(被計(jì)劃中的被調(diào)度指令)的值。為了幫助說明,假設(shè)當(dāng)前在消耗的功率為X,而計(jì)劃中的被調(diào)度指令將消耗的功率為Y。相應(yīng)地,計(jì)劃的功率值等于X+Y。假設(shè)等于X+Y的功率值會導(dǎo)致超過Di/Dt閾值(由于電流隨時(shí)間的增大太大),指令調(diào)度器208可以通過調(diào)度指令將功耗從X逐漸增大至X+Y,以造成隨時(shí)間的逐漸變化。例如,如果每20個(gè)時(shí)鐘周期一個(gè)指令伴隨的功率值為X,而每20個(gè)時(shí)鐘周期20個(gè)指令伴隨的功率值為X+Y,則指令調(diào)度器208可以隨時(shí)間增大指令的數(shù)量(例如,每20個(gè)時(shí)鐘周期5個(gè)指令,之后每20個(gè)時(shí)鐘周期10個(gè)指令,之后每20個(gè)時(shí)鐘周期15個(gè)指令,并且之后每20個(gè)時(shí)鐘周期20個(gè)指令)。
一旦確定被調(diào)度的指令的功率總和不大于閾值,在處理框418,指令調(diào)度器208已完成將處理器102置于Di/Dt安全范圍內(nèi)。一旦確定處理器不處于低功率狀態(tài),在處理判定框412,指令調(diào)度器208確定處理器102是否處于高功率狀態(tài)。
一旦確定處理器102處于高功率狀態(tài),在處理判定框412,指令調(diào)度器208確定被調(diào)度執(zhí)行的指令的功率值總和是否小于預(yù)定閾值。一旦確定被調(diào)度指令的功率總和小于閾值,在處理框416,指令調(diào)度器208增大被調(diào)度指令的功率。
與沒有超過最小功率閾值時(shí)的情況類似,在一個(gè)實(shí)施例中,指令調(diào)度器208通過增大要在下一個(gè)指令周期執(zhí)行的指令的數(shù)量來增大該功率值。在一個(gè)實(shí)施例中,指令調(diào)度器208可以通過在下一個(gè)指令周期中調(diào)度那些被調(diào)度要在該下一個(gè)指令周期之后的指令周期執(zhí)行的指令,來增大要被執(zhí)行的指令的數(shù)量。例如,如果三個(gè)指令被調(diào)度要在指令周期10中被功能單元212~218所執(zhí)行,四個(gè)指令(它們不依賴于指令周期10中的這三個(gè)指令)被調(diào)度要在指令周期11中被功能單元212~218所執(zhí)行,并且如果指令周期10中將消耗的功率低于該小閾值,則指令調(diào)度器208可以將四個(gè)指令中的一個(gè)(從指令周期11)調(diào)度用于在指令周期10中執(zhí)行。
在實(shí)施例中,指令調(diào)度器208可以通過調(diào)度人工指令來增大要被執(zhí)行的指令的數(shù)量。換句話說,指令調(diào)度器208可以調(diào)度沒有被請求并插入到指令緩沖器202中的指令,從而保持所需的處理器功耗。
回到圖4,在處理框422,指令調(diào)度器208將被調(diào)度指令的功率隨時(shí)間減小至計(jì)劃的功率值。具體而言,計(jì)劃的功率值是一個(gè)包括了在消耗的功率以及將要消耗的功率(被計(jì)劃中的被調(diào)度指令)的值。為了幫助說明,假設(shè)當(dāng)前在消耗的功率為A,而計(jì)劃中的被調(diào)度指令加起來將消耗的功率為A-B。相應(yīng)地,計(jì)劃的功率值等于A-B。假設(shè)等于A-B的功率值會造成超過Di/Dt閾值(由于電流隨時(shí)間的增大太大),指令調(diào)度器208可以通過調(diào)度指令將功耗從A逐漸增大至A-B,以造成隨時(shí)間的逐漸變化。例如,如果每20個(gè)時(shí)鐘周期20個(gè)指令伴隨的功率值為A,而每20個(gè)時(shí)鐘周期5個(gè)指令伴隨的功率值為A-B,則指令調(diào)度器208可以隨時(shí)間減小指令的數(shù)量(例如,每20個(gè)時(shí)鐘周期15個(gè)指令,之后每20個(gè)時(shí)鐘周期10個(gè)指令,并且之后每20個(gè)時(shí)鐘周期5個(gè)指令)。一旦確定被調(diào)度指令的功率總和不大于閾值,在處理框418,指令調(diào)度器208已完成將處理器102置于Di/Dt安全范圍內(nèi)。
流程4所示的將處理器102置于電流隨時(shí)間變化的安全范圍內(nèi)是作為示例的,而不是限制。例如,在另一個(gè)實(shí)施例中,可以將電流隨時(shí)間變化的安全范圍與當(dāng)前功耗以及當(dāng)實(shí)施被調(diào)度指令時(shí)會出現(xiàn)的電流變化進(jìn)行比較。相應(yīng)地,獨(dú)立于確定處理器102是否處于例如低功率狀態(tài)或高功率狀態(tài)的給定狀態(tài)中,可以修改被調(diào)度指令的功率值來確保處理器處于電流隨時(shí)間變化的安全范圍內(nèi)。
而且,已經(jīng)對本發(fā)明的實(shí)施例進(jìn)行了這樣的描述,即電子器件同時(shí)采用了若干不同的方法。但是,本發(fā)明的實(shí)施例并不受此限制,因?yàn)槿舾刹煌姆椒梢詥为?dú)被結(jié)合到電子器件中。例如,在一個(gè)實(shí)施例中,電子器件可以基于最小和最大功率閾值來調(diào)度指令(示于圖3中),而不同的電子器件可以基于電子器件在消耗的電流隨時(shí)間的變化來調(diào)度指令(示于圖4中)。
如所示,本發(fā)明的實(shí)施例能夠有效地對抗功率—病毒(power-virus)應(yīng)用程序,該電源—病毒應(yīng)用程序在軟件代碼中具有很小的數(shù)據(jù)依賴性和很大的并行性,這造成相對于一般的應(yīng)用程序的異常高的功耗。而且,本發(fā)明的實(shí)施例使得能夠設(shè)計(jì)具有更高功率標(biāo)準(zhǔn)的微處理器,從而允許微處理器具有更大的管芯尺寸和更高的頻率。
這樣,已經(jīng)描述了基于功率估算調(diào)度指令的方法和裝置。盡管已經(jīng)參考具體示例性實(shí)施例描述了本發(fā)明,但是顯然,在不背離本發(fā)明的更寬泛的精神和范圍的情況下,可以對這些實(shí)施例作出各種修改和變化。因此,說明書和附圖被視為是示例說明性的,而不是限制性的。
權(quán)利要求
1.一種方法,包括接收若干指令;接收所述若干指令的若干功率值,所述功率值指示了電子器件執(zhí)行所述若干指令所需的功率量;以及基于所述若干功率值,調(diào)度所述若干指令用于被所述電子器件所執(zhí)行。
2.如權(quán)利要求1所述的方法,其中基于所述功率值調(diào)度所述指令用于被所述電子器件所執(zhí)行的步驟包括確定所述電子器件在消耗的功率是否處于最小功率閾值和最大功率閾值之間的范圍內(nèi);以及一旦確定所述電子器件在消耗的功率不處于所述最小功率閾值和所述最大功率閾值之間的所述范圍之內(nèi),修改用于執(zhí)行的指令的數(shù)量。
3.如權(quán)利要求2所述的方法,其中一旦確定所述電子器件在消耗的功率不處于所述最小功率閾值和所述最大功率閾值之間的所述范圍之內(nèi),修改用于執(zhí)行的指令的數(shù)量的步驟包括一旦確定所述電子器件在消耗的功率低于最小功率閾值,增大被調(diào)度要在下一個(gè)指令周期中執(zhí)行的指令的數(shù)量。
4.如權(quán)利要求3所述的方法,其中增大被調(diào)度要在下一個(gè)指令周期中執(zhí)行的指令的數(shù)量的步驟包括添加若干人工指令以被調(diào)度用于在所述下一個(gè)指令周期中執(zhí)行。
5.如權(quán)利要求2所述的方法,其中一旦確定所述電子器件在消耗的功率不處于所述最小功率閾值和所述最大功率閾值之間的所述范圍之內(nèi),修改用于執(zhí)行的指令的數(shù)量的步驟包括一旦確定所述電子器件在消耗的功率高于最大功率閾值,減少被調(diào)度要在下一個(gè)指令周期中被執(zhí)行的指令的數(shù)量。
6.如權(quán)利要求1所述的方法,其中基于所述功率值調(diào)度指令用于被所述電子器件所執(zhí)行的步驟包括基于被調(diào)度用于執(zhí)行的所述若干指令的所述功率值,確定所述電子器件所消耗的電流隨時(shí)間的變化是否大于閾值。
7.如權(quán)利要求1所述的方法,其中所述電子器件執(zhí)行所述若干指令所需的所述功率量包括所述電子器件中的若干功能單元執(zhí)行所述若干指令所需的功率量。
8.如權(quán)利要求1所述的方法,其中所述電子器件執(zhí)行所述若干指令所需的所述功率量包括從所述電子器件中的高速緩存取回?cái)?shù)據(jù)所需的功率量。
9.如權(quán)利要求1所述的方法,其中所述電子器件執(zhí)行所述若干指令所需的所述功率量包括從所述電子器件外部的存儲器取回?cái)?shù)據(jù)所需的功率量。
10.一種方法,包括接收若干指令;接收所述若干指令的若干功率值,所述功率值指示了處理器執(zhí)行所述若干指令所需的功率量;以及基于所述若干功率值,調(diào)度所述若干指令用于被所述處理器執(zhí)行;其中所述調(diào)度所述若干指令的步驟包括確定所述處理器在消耗的功率是否處于最小功率閾值和最大功率閾值之間的范圍內(nèi);基于被調(diào)度用于執(zhí)行的所述若干指令的功率值,確定所述處理器所消耗的電流隨時(shí)間的變化是否大于電流變化閾值;以及一旦確定所述電子器件在消耗的功率不處于所述最小功率閾值和所述最大功率閾值之間的所述范圍之內(nèi),并且一旦確定所述處理器所消耗的電流隨時(shí)間的變化大于所述電流變化閾值,修改用于執(zhí)行的指令的數(shù)量。
11.如權(quán)利要求10所述的方法,其中修改用于執(zhí)行的指令的數(shù)量的步驟包括增大被調(diào)度要在下一個(gè)指令周期中執(zhí)行的指令的數(shù)量。
12.如權(quán)利要求11所述的方法,其中增大被調(diào)度要在下一個(gè)指令周期中執(zhí)行的指令的數(shù)量的步驟包括添加若干人工指令以被調(diào)度用于在所述下一個(gè)指令周期中執(zhí)行。
13.如權(quán)利要求10所述的方法,其中所述修改用于執(zhí)行的指令的數(shù)量的步驟包括減少被調(diào)度要在下一個(gè)指令周期中執(zhí)行的指令的數(shù)量。
14.一種裝置,包括存儲器,用于包含與至少一個(gè)指令相關(guān)聯(lián)的至少一個(gè)功率值,所述至少一個(gè)功率值指示了所述裝置執(zhí)行所述至少一個(gè)相關(guān)聯(lián)的指令所需的功率量;和指令調(diào)度器,用于接收所述至少一個(gè)功率值和所述至少一個(gè)指令,以及用于基于所述至少一個(gè)相關(guān)聯(lián)的功率值調(diào)度所述至少一個(gè)指令用于被至少一個(gè)功能單元所執(zhí)行。
15.如權(quán)利要求14所述的裝置,包括耦合到所述存儲器和所述指令調(diào)度器的功率值查詢邏輯,所述功率值查詢邏輯用于基于與所述至少一個(gè)指令相關(guān)聯(lián)的所述至少一個(gè)功率值確定所述至少一個(gè)指令的功率值。
16.如權(quán)利要求15所述的裝置,包括耦合到所述功率值查詢邏輯和所述指令調(diào)度器的譯碼器,所述譯碼器用于從指令緩沖器取回所述至少一個(gè)指令,以及用于將所述至少一個(gè)指令傳送給所述功率值查詢邏輯。
17.如權(quán)利要求14所述的裝置,其中所述裝置執(zhí)行所述若干指令所需的所述功率量包括所述至少一個(gè)功能單元執(zhí)行所述若干指令所需的功率量。
18.如權(quán)利要求14所述的裝置,其中所述裝置執(zhí)行所述若干指令所需的所述功率量包括從所述裝置中的高速緩存取回?cái)?shù)據(jù)所需的功率量。
19.如權(quán)利要求14所述的裝置,其中所述裝置執(zhí)行所述若干指令所需的所述功率量包括從外部存儲器取回?cái)?shù)據(jù)所需的功率量。
20.一種系統(tǒng),包括存儲器,用于包含若干指令;和耦合到所述存儲器的處理器,所述處理器包括若干功能單元,用于執(zhí)行所述若干指令;查詢表存儲器,用于包含與所述若干指令中的至少一個(gè)相關(guān)聯(lián)的至少一個(gè)功率值;和指令調(diào)度器,用于接收所述至少一個(gè)功率值和所述若干指令中的至少一個(gè),所述指令調(diào)度器用于基于所述至少一個(gè)功率值調(diào)度所述若干指令中的所述至少一個(gè)用于被所述若干功能單元中的一個(gè)所執(zhí)行。
21.如權(quán)利要求20所述的系統(tǒng),其中所述至少一個(gè)功率值指示執(zhí)行所述相關(guān)聯(lián)的指令所需的功率量。
22.如權(quán)利要求21所述的系統(tǒng),其中所述處理器包括若干高速緩存,其中執(zhí)行所述相關(guān)聯(lián)的指令所需的所述功率量包括從所述若干高速緩存中的一個(gè)取回?cái)?shù)據(jù)所需的功率量。
23.如權(quán)利要求21所述的系統(tǒng),其中執(zhí)行所述相關(guān)聯(lián)的指令所需的所述功率量包括從所述存儲器取回?cái)?shù)據(jù)所需的功率量。
24.如權(quán)利要求21所述的系統(tǒng),其中執(zhí)行所述相關(guān)聯(lián)的指令所需的所述功率量包括所述若干功能單元中的一個(gè)執(zhí)行所述相關(guān)聯(lián)的指令所需的功率量。
25.一種提供指令的機(jī)器可讀介質(zhì),所述指令當(dāng)被機(jī)器執(zhí)行時(shí)使得所述機(jī)器執(zhí)行以下操作,包括接收若干指令;接收所述若干指令的若干功率值,所述功率值指示了電子器件執(zhí)行所述若干指令所需的功率量;以及基于所述若干功率值,調(diào)度所述若干指令用于被所述電子器件所執(zhí)行。
26.如權(quán)利要求25所述的機(jī)器可讀介質(zhì),其中基于所述功率值調(diào)度所述指令用于被所述電子器件所執(zhí)行的操作包括確定所述電子器件在消耗的功率是否處于最小功率閾值和最大功率閾值之間的范圍內(nèi);以及一旦確定所述電子器件在消耗的功率不處于所述最小功率閾值和所述最大功率閾值之間的所述范圍之內(nèi),修改用于執(zhí)行的指令的數(shù)量。
27.如權(quán)利要求26所述的機(jī)器可讀介質(zhì),其中一旦確定所述電子器件在消耗的功率不處于所述最小功率閾值和所述最大功率閾值之間的所述范圍之內(nèi)而修改用于執(zhí)行的指令的數(shù)量的操作包括一旦確定所述電子器件在消耗的功率低于最小功率閾值,增大被調(diào)度要在下一個(gè)指令周期中執(zhí)行的指令的數(shù)量。
28.如權(quán)利要求27所述的機(jī)器可讀介質(zhì),其中增大被調(diào)度要在下一個(gè)指令周期中執(zhí)行的指令的數(shù)量的操作包括添加若干人工指令以被調(diào)度用于在所述下一個(gè)指令周期中執(zhí)行。
29.如權(quán)利要求26所述的機(jī)器可讀介質(zhì),其中一旦確定所述電子器件在消耗的功率不處于所述最小功率閾值和所述最大功率閾值之間的所述范圍之內(nèi)而修改用于執(zhí)行的指令的數(shù)量的操作包括一旦確定所述電子器件在消耗的功率高于最大功率閾值,減少被調(diào)度要在下一個(gè)指令周期中被執(zhí)行的指令的數(shù)量。
30.如權(quán)利要求25所述的機(jī)器可讀介質(zhì),其中基于所述功率值調(diào)度指令用于被所述電子器件所執(zhí)行的操作包括基于被調(diào)度用于執(zhí)行的所述若干指令的所述功率值,確定所述電子器件所消耗的電流隨時(shí)間的變化是否大于閾值。
全文摘要
在實(shí)施例中,一種裝置包括存儲器,用于包含與至少一個(gè)指令相關(guān)聯(lián)的至少一個(gè)功率值。所述至少一個(gè)功率值指示裝置執(zhí)行所述至少一個(gè)相關(guān)聯(lián)的指令所需的功率量。該裝置還包括指令調(diào)度器,用于接收所述至少一個(gè)功率值和所述至少一個(gè)指令。指令調(diào)度器基于所述至少一個(gè)相關(guān)聯(lián)的功率值,調(diào)度所述至少一個(gè)指令用于被至少一個(gè)功能單元所執(zhí)行。
文檔編號G06F9/38GK1613055SQ02826721
公開日2005年5月4日 申請日期2002年12月30日 優(yōu)先權(quán)日2002年1月2日
發(fā)明者邁克爾·格林 申請人:英特爾公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1