專利名稱:調(diào)節(jié)電壓和頻率來使多處理器系統(tǒng)功耗最小的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般地涉及微處理器和計(jì)算機(jī)系統(tǒng)的領(lǐng)域。更具體地,本發(fā)明涉及調(diào)節(jié)電壓和頻率來使多處理器系統(tǒng)中的功耗最小的一種方法和裝置。
背景技術(shù):
近年來,個人計(jì)算機(jī)(PC)的價(jià)格已快速下降。于是,越來越多的消費(fèi)者已能夠利用更新和更快的機(jī)器。計(jì)算機(jī)系統(tǒng)在我們的社會中已變得更加普遍。但是隨著新處理器的速度的增大,功率消耗也增大了。另外,由于必須從計(jì)算機(jī)系統(tǒng)散熱,所以高功耗還導(dǎo)致熱的問題。而且不像由交流電源供電的桌面計(jì)算機(jī),筆記本計(jì)算機(jī)通常使用有限的電池電源。如果移動計(jì)算機(jī)在與桌面機(jī)器相同的性能水平下工作,那電源就會相對很快地耗盡。
為了在不加大與桌面計(jì)算機(jī)之間的性能差距的情況下,延長移動計(jì)算機(jī)的電池壽命,并且為了降低桌面機(jī)器的功耗,計(jì)算機(jī)制造商和設(shè)計(jì)者已提出了節(jié)省功率技術(shù)。一種降低功耗的嘗試要求使用低功率電路器件。另一種節(jié)省功率的方法是使用軟件,來控制系統(tǒng)功率和關(guān)掉不需要的系統(tǒng)設(shè)備。已經(jīng)發(fā)展了幾種電壓/頻率調(diào)節(jié)方案來使移動處理器的電池壽命最長,包括Intel的SpeedStepTM技術(shù)。
但是即使設(shè)計(jì)者慢慢地降低整個系統(tǒng)的功率需求,處理器的功率要求通常還是保持不變。另外,現(xiàn)有的方案通常針對移動產(chǎn)品。使得處理器工作頻率大大降低的現(xiàn)有方法,是通過調(diào)節(jié)總線比率來做到的。由于顯著的性能影響,這種方法在服務(wù)器產(chǎn)品中并不可行。必須針對桌面和服務(wù)器部分處理器的功率降低來發(fā)展新的方案。
本發(fā)明在附圖的圖中通過示例而非限制地來圖示本發(fā)明,附圖中類似的標(biāo)號指示類似的元件,其中圖1是形成有處理器的多處理器計(jì)算機(jī)系統(tǒng)的方框圖,所述處理器包括根據(jù)本發(fā)明的、調(diào)節(jié)電壓和頻率來使功耗最小的機(jī)制;圖2是處理器的方框圖,所述處理器包括根據(jù)本發(fā)明的、調(diào)節(jié)電壓和頻率的機(jī)制;和圖3的流程圖表示了根據(jù)本發(fā)明的一種方法實(shí)施例,其用于調(diào)節(jié)電壓和頻率來使多處理器系統(tǒng)中的功耗最小。
具體實(shí)施例方式
公開了一種方法和裝置,其調(diào)節(jié)電壓和頻率來使多處理器系統(tǒng)中的功耗最小。這里描述的實(shí)施例是在微處理器的上下文中進(jìn)行描述的,但并不限于此。雖然參考處理器來描述以下的實(shí)施例,但其他實(shí)施例可應(yīng)用到其他集成電路或邏輯器件。本發(fā)明的相同技術(shù)和教導(dǎo)可以輕易地應(yīng)用到,可從節(jié)省功率受益的其他類型的電路或半導(dǎo)體設(shè)備。
在以下說明中,為了解釋而給出了大量具體細(xì)節(jié),以提供對本發(fā)明的透徹理解。但是,本領(lǐng)域普通技術(shù)人員將意識到這些具體細(xì)節(jié)并不是實(shí)現(xiàn)本發(fā)明所必須的。在其他情況下,未具體詳細(xì)地給出公知的電子結(jié)構(gòu)和電路,以免不必要地混淆本發(fā)明。
當(dāng)今的許多微處理器在正常工作期間消耗大量的功率。這種功耗還導(dǎo)致了功率耗散的問題。處理器和系統(tǒng)一般都設(shè)計(jì)成在設(shè)定的熱限值(envelope)中工作。隨著性能和功率要求的增加,該限值通??赡軙煌频綐O限,甚至超過。在移動領(lǐng)域,已經(jīng)發(fā)展了多種不同方案來解決這個問題。但是,由于系統(tǒng)和性能要求,這些方案同樣都不能應(yīng)用到桌面和服務(wù)器環(huán)境。
例如,開發(fā)來使移動處理器的電池壽命最長的幾種電壓/頻率調(diào)節(jié)方案,通過調(diào)節(jié)總線比率來使得處理器工作頻率大大降低。這樣大大降低頻率在服務(wù)器產(chǎn)品中并不可行,因?yàn)楹艽蟮念l率降低會有顯著的性能影響。更小的頻率降低范圍使得調(diào)節(jié)總線比率不切實(shí)際,因?yàn)楦〉姆秶鸁o法提供足夠的粒度(granularity)。另外,一般通過將系統(tǒng)電源由電池變?yōu)橹麟娫磥碛|發(fā)移動處理器電壓/頻率調(diào)節(jié)方案,反之亦然。大多數(shù)這些調(diào)節(jié)方案也在軟件控制下工作,而其他的還需要用戶控制。
另一方面,服務(wù)器環(huán)境無法簡化用戶輸入的需要。服務(wù)器還在沒有恒定主電源的情況下工作。在多處理器實(shí)現(xiàn)中,軟件難以完全控制系統(tǒng)中每個處理器的電壓和頻率。需要一種新技術(shù)來解決這些需求,該技術(shù)中每個獨(dú)立處理器可對其本身的電壓和頻率工作點(diǎn)具有本地、獨(dú)立的控制。本發(fā)明實(shí)施例中的電壓/頻率工作點(diǎn)由片上控制器確定,而不像某些現(xiàn)有方法中由軟件小程序確定??刂破鞯囊粋€實(shí)施例選擇工作點(diǎn),以最大化性能同時又不超過熱功率極限。這樣,系統(tǒng)就能夠更快地響應(yīng)服務(wù)器處理器中的電涌(power surge)。
本發(fā)明的實(shí)施例為多處理器服務(wù)器提供電源管理能力。本發(fā)明實(shí)施例的應(yīng)用可以使N路多處理器服務(wù)器的總功耗最小,同時還提供所需的性能。對于增大機(jī)架安裝服務(wù)器的處理器密度,該特征可能是重要的。每個處理器管理其自身的功率耗散,而系統(tǒng)軟件對于在N路多處理器系統(tǒng)中如何消耗功率,具有高級別的控制。
其他實(shí)施例也可在單處理器桌面系統(tǒng)中使用。本發(fā)明的頻率/電壓調(diào)節(jié)機(jī)制可允許單個處理器設(shè)計(jì)在多個頻率下工作。這些不同的頻率可對應(yīng)于顧客所要的不同性能水平。一個處理器管芯可被設(shè)置成在1.6千兆赫(GHz)下工作,而來自相同晶片的另一個管芯可被設(shè)置成在1.5GHz下工作,另一個在1.4GHz。例如,可以在制造過程中生產(chǎn)一種處理器設(shè)計(jì)。然后,在制造后被交付給顧客之前,處理器被設(shè)置成在一個特定頻率下工作。有效的工作點(diǎn)被編程到熔斷器陣列(fuse array)或存儲器中。這樣處理器就能夠提供該特定計(jì)算機(jī)系統(tǒng)所需的性能了。
現(xiàn)在參考圖1,示出了一種示例的計(jì)算機(jī)系統(tǒng)100。系統(tǒng)100包括諸如處理器的部件,其根據(jù)本發(fā)明,采用對其電壓和頻率的調(diào)節(jié)來使功耗最小,如這里所描述實(shí)施例中那樣。系統(tǒng)100代表了這樣的處理系統(tǒng),其基于可從加利福尼亞Santa Clara的英特爾公司獲得的PENTIUMIII、PENTIUM4、ItaniumTM微處理器,雖然也可使用其他系統(tǒng)(包括具有其他微處理器的PC、工程工作站、機(jī)頂盒等等)。在一個實(shí)施例中,示例系統(tǒng)100可運(yùn)行可從華盛頓Redmond的微軟公司獲得的一種版本的WINDOWSTM操作系統(tǒng),雖然也可使用例如其他的操作系統(tǒng)和圖形用戶界面。這樣,本發(fā)明就不限于任何特定的硬件電路和軟件的組合。
本改進(jìn)不限于計(jì)算機(jī)系統(tǒng)。本發(fā)明的其他實(shí)施例可在其他設(shè)備中使用,例如手持設(shè)備和嵌入式應(yīng)用。手持設(shè)備的一些例子包括蜂窩電話、互聯(lián)網(wǎng)協(xié)議設(shè)備、數(shù)字照相機(jī)、個人數(shù)字助理(PDA)以及手持PC。嵌入式應(yīng)用可包括微控制器、數(shù)字信號處理器(DSP)、片上系統(tǒng)、網(wǎng)絡(luò)計(jì)算機(jī)(NetPC)、機(jī)頂盒、網(wǎng)絡(luò)集線器、廣域網(wǎng)(WAN)交換機(jī)、或使用其他實(shí)施例的最小化功耗機(jī)制的任何其他系統(tǒng)。
圖1是形成有處理器102的多處理器計(jì)算機(jī)系統(tǒng)100的一個實(shí)施例的方框圖,處理器102包括根據(jù)本發(fā)明用于調(diào)節(jié)電壓和頻率來最小化功耗的機(jī)制。在多處理器系統(tǒng)的上下文中描述本實(shí)施例,但其他實(shí)施例可包括在單處理器桌面或服務(wù)器系統(tǒng)中。系統(tǒng)100是中心體系結(jié)構(gòu)的一個示例。計(jì)算機(jī)系統(tǒng)100包括處理數(shù)據(jù)信號的處理器102。處理器102可以是復(fù)雜指令集計(jì)算機(jī)(CISC)微處理器、精簡指令集計(jì)算(RISC)微處理器、超長指令字(VLIW)微處理器、實(shí)現(xiàn)指令集組合的處理器、或諸如數(shù)字信號處理器的其他處理器設(shè)備。圖1示出了在多處理器系統(tǒng)100中實(shí)現(xiàn)的本發(fā)明實(shí)施例的一個示例。但是,應(yīng)理解其他實(shí)施例也可以實(shí)施為具有單處理器的系統(tǒng)。處理器102耦合到處理器總線110,處理器總線110在處理器102和系統(tǒng)100中的其他部件之間傳輸數(shù)據(jù)信號。系統(tǒng)100的元件執(zhí)行其在本領(lǐng)域熟知的傳統(tǒng)功能。
在一個實(shí)施例中,處理器102包括內(nèi)部高速緩沖存儲器104。取決于體系結(jié)構(gòu),處理器102可具有單個內(nèi)部高速緩存,或者諸如一級(L1)和二級(L2)高速緩存的多級內(nèi)部高速緩存。傳感器106和頻率/電壓控制器單元108也位于處理器102中。傳感器監(jiān)控芯片的總功耗,并且如果需要可以觸發(fā)電壓/頻率調(diào)節(jié)。傳感器106可位于管芯或處理器模塊上。頻率/電壓控制器機(jī)構(gòu)108的其他實(shí)施例也可用于微控制器、嵌入式處理器、圖形設(shè)備、DSP和其他類型的邏輯電路中。
對于圖1中的多處理器系統(tǒng)100的實(shí)施例,每個處理器102都能夠通過管芯上功率傳感器106和硬件控制器108,來控制其自身的電壓和頻率工作點(diǎn)。本實(shí)施例的功率傳感器106監(jiān)控處理器102的功耗,并向控制器108發(fā)送數(shù)字編碼的值。傳感器106可測量處理器的當(dāng)前消耗或者芯片的溫度??刂破?08可根據(jù)當(dāng)前的工作電壓和電流來計(jì)算功耗。功率傳感器106的另一個實(shí)施例可通過監(jiān)控進(jìn)入處理器執(zhí)行流水線的指令,來監(jiān)控處理器計(jì)算負(fù)荷或活動。控制器108還可從處理器102之外的傳感器接收輸入。
系統(tǒng)100包括存儲器120。存儲器120可以是動態(tài)隨機(jī)訪問存儲器(DRAM)設(shè)備、靜態(tài)隨機(jī)訪問存儲器(SRAM)設(shè)備、閃存設(shè)備或其他存儲器設(shè)備。存儲器120可存儲由可被處理器102執(zhí)行的數(shù)據(jù)信號代表的指令和/或數(shù)據(jù)。高速緩沖存儲器104可位于處理器102中,其存儲存在存儲器120中的數(shù)據(jù)信號?;蛘?,在另一個實(shí)施例中,高速緩沖存儲器可位于處理器102之外。
系統(tǒng)邏輯芯片116耦合到處理器總線110和存儲器120。圖示實(shí)施例中的系統(tǒng)邏輯芯片116是存儲器控制器中心(memory controller hub,MCH)。處理器102經(jīng)由處理器總線110來與MCH 116通信。MCH 116向存儲器120提供高帶寬的存儲器通路118,以用于指令和數(shù)據(jù)存儲以及圖形命令、數(shù)據(jù)和結(jié)構(gòu)的存儲。MCH 116指揮處理器102、處理器120和系統(tǒng)100中的其他部件之間的數(shù)據(jù)信號,并橋接處理器總線110、處理器120和系統(tǒng)I/O 122之間的數(shù)據(jù)信號。在一些實(shí)施例中,系統(tǒng)邏輯芯片116提供圖形端口,用于耦合到圖形控制器112。MCH 116通過存儲器接口118耦合到存儲器120。圖形卡112通過加速圖形端口(AGP)互連114耦合到MCH 116。
系統(tǒng)100使用專用中心接口總線122來將MCH 116耦合到I/O控制器中心(ICH)130。ICH 130提供對某些I/O設(shè)備的直接連接。一些例子是音頻控制器、固件中心(快速BIOS)128、數(shù)據(jù)存儲124、包含用戶輸入和鍵盤接口的傳統(tǒng)I/O控制器、諸如通用串行總線(USB)的串行擴(kuò)展端口、和網(wǎng)絡(luò)控制器134。數(shù)據(jù)存儲設(shè)備124可包括硬盤驅(qū)動器、軟盤驅(qū)動器、CD-ROM設(shè)備、閃存設(shè)備或其他大容量存儲設(shè)備。系統(tǒng)100還包括可向上述部件供應(yīng)電流和吸入電流的電源。
對于系統(tǒng)的另一個實(shí)施例,頻率/電壓調(diào)節(jié)功耗機(jī)制的一種實(shí)現(xiàn)可以使用在片上系統(tǒng)中。片上系統(tǒng)的一個實(shí)施例包括處理器和存儲器。這樣一個系統(tǒng)的存儲器是閃存。閃存可以位于與處理器和其他系統(tǒng)部件相同的管芯上。此外,其他邏輯塊也可位于片上系統(tǒng)上,例如存儲器控制器或圖形控制器。通過在片上系統(tǒng)上包括本發(fā)明的一個實(shí)施例,頻率/電壓控制器可調(diào)節(jié)處理器頻率和電壓來最小化功耗。
圖2是處理器102的方框圖,處理器102包括根據(jù)本發(fā)明的調(diào)節(jié)電壓和頻率的機(jī)制。處理器電壓和頻率必須一起來調(diào)節(jié)以保持正確操作。不降低時鐘頻率就無法降低電壓。如果不改變頻率就降低電壓水平,那么可能產(chǎn)生速度通路錯誤(speed path error)。可以基本上即時地調(diào)節(jié)時鐘頻率。另一方面,電壓對調(diào)節(jié)的響應(yīng)時間較慢。該機(jī)制需要在調(diào)節(jié)期間監(jiān)控頻率和電壓水平,以保證性能不受影響。
在本實(shí)施例中,處理器102包括管芯/封裝傳感器106和控制器108。本實(shí)施例的傳感器106監(jiān)控處理器102中正消耗的電流量??刂破?08可根據(jù)此電流消耗來計(jì)算正被處理器102消耗的功率。處理器還可具有多于一個的管芯上或封裝上的傳感器。對于其他實(shí)施例,傳感器106可監(jiān)控溫度和/或處理負(fù)荷。另外,傳感器106可與處理器模塊相分離。來自傳感器106的輸出通過濾波器208而被傳播到控制器108。濾波器208是低通濾波器,其保證控制器108不對可能來自傳感器106的任何小干擾作反應(yīng)。濾波器208保證在激活控制器108采取行動之前,傳感器106可靠地指示傳感器106處情況的變化。本實(shí)施例的濾波器208有可編程的閾值,并可對不同設(shè)置來被調(diào)節(jié)。
本實(shí)施例的控制器108可接收來自多個來源的輸入。外部硬件引腳201提供引腳信號202。此外部引腳允許用戶或系統(tǒng)繞開軟件控制,而將控制信號直接發(fā)送到頻率/電壓控制器108。此引腳信號202可以是硬件或軟件中斷。引腳信號202通過濾波器204耦合到控制器108。濾波器204是低通濾波器,其保證控制器108不對可能來自引腳信號202的任何小干擾作反應(yīng)。濾波器204保證在激活控制器108采取行動之前,傳感器106可靠地指示引腳信號202上情況的變化。本實(shí)施例的濾波器204有可編程的閾值,并可對不同設(shè)置來被調(diào)節(jié)??刂破?08還接收軟件輸入210。系統(tǒng)管理軟件可提供軟件輸入210來改變控制器108的操作。系統(tǒng)可以告知各單個處理器102,其是否需要慢下來并降低功耗。
本實(shí)施例的控制器108獨(dú)立于用戶控制操作,但也可通過控制寄存器來接收來自系統(tǒng)軟件的命令。軟件可通過該控制寄存器中的一個位來禁止自動電壓/頻率調(diào)節(jié)。類似地,軟件可覆蓋(override)傳感器輸入。軟件也可通過降低電壓/頻率的工作點(diǎn)來促使處理器102到達(dá)更低的功率狀態(tài)。為了維持高的性能,需要保持處理器頻率盡可能地高。通過操縱該控制寄存器中的位來進(jìn)行這種調(diào)節(jié)。一些現(xiàn)有技術(shù)方案在檢測到并超過觸發(fā)溫度時使時鐘停止。即使系統(tǒng)繼續(xù)工作,處理器也關(guān)閉進(jìn)入睡眠狀態(tài)。本發(fā)明的方法使時鐘保持運(yùn)行在更低的頻率下。
對于本發(fā)明的這個實(shí)施例,作為安全措施,不允許軟件控制提高處理器的工作點(diǎn)。提高處理器工作點(diǎn)可使得處理器超過熱限制或者損壞處理器。但是,如果用戶在測試其他的熱保護(hù)機(jī)制,或者如果系統(tǒng)軟件例如通過系統(tǒng)管理熱監(jiān)控功能而具有關(guān)于管芯溫度的精確信息,本發(fā)明的另一個實(shí)施例可允許軟件控制提高工作點(diǎn)。
在處理器102中還包含熔斷器陣列214和輸出寄存器216、218。本實(shí)施例的熔斷器陣列214是位于處理器102上的存儲器,并包含與基于不同頻率和電壓點(diǎn)的工作點(diǎn)有關(guān)的信息??刂破?08在啟動期間加載該數(shù)據(jù),并根據(jù)當(dāng)前的功率情況使用此信息來調(diào)節(jié)處理器工作點(diǎn)。本實(shí)施例的控制器108讀取熔斷器陣列214,其對以下參數(shù)的最小、最大、和缺省或喚醒值進(jìn)行二進(jìn)制編碼工作電壓、工作頻率和電壓/頻率調(diào)節(jié)步長。電壓/頻率調(diào)節(jié)步長是控制器被設(shè)計(jì)來步進(jìn)通過的成對工作電壓/頻率點(diǎn)。在正常操作期間,控制器108讀入傳感器值并確定處理器102正消耗多少功率??刂破?08將此功耗值與從熔斷器陣列214加載的所存儲工作點(diǎn)比較,以確定維持在允許或可承受的功率和熱限值內(nèi)的同時,什么樣的處理器頻率和電壓點(diǎn)將允許最優(yōu)性能。
控制器108將所選工作頻率和電壓,在本實(shí)施例中作為8個控制位輸出到輸出寄存器216、218。其他的實(shí)施例可按需要具有不同數(shù)量的控制位。更多的位允許頻率和電壓調(diào)節(jié)中更精細(xì)的粒度。這樣不同的比率都是可以的。例如,某些位設(shè)置可使得頻率從5%變化到10%到15%。輸出位的高4位被驅(qū)動到電壓標(biāo)識(VID)寄存器216。VID寄存器216中的值被用來調(diào)節(jié)由電壓調(diào)整器模塊(VRM)220所提供的電壓。VRM向處理器102供應(yīng)功率。取決于VID值,VRM可增大或降低供應(yīng)電壓。輸出位的低4位被驅(qū)動到頻率控制寄存器218。頻率控制寄存器218中的值被用來調(diào)節(jié)時鐘信號的頻率,該時鐘信號由主鎖相環(huán)(PLL)中的電壓控制振蕩器(VCO)222生成。取決于頻率寄存器218中的值,PLL/VCO 222可增大或降低時鐘頻率。本實(shí)施例的輸出寄存器216、218還是軟件可見的,并實(shí)時反映電壓和頻率值。電壓和頻率兩者都在處理器102繼續(xù)正常工作的同時來調(diào)節(jié)。這樣不會導(dǎo)致性能損失。
本示例的時鐘生成器電路222能夠在未鎖定時改變頻率。這樣這里的PLL調(diào)節(jié)不會產(chǎn)生重鎖定時間的不利。不必等待PLL重鎖定就調(diào)節(jié)時鐘頻率。這對于必須在任何時間內(nèi)都可用的服務(wù)器是很關(guān)鍵的。不同于現(xiàn)有方案的頻率調(diào)節(jié)方法,本發(fā)明的此方法不改變總線比率??偩€比率的改變將引起服務(wù)器環(huán)境中處理器的性能顯著下降。在PLL頻率慢慢調(diào)節(jié)變大或變小的同時,本方法的總線比率保持相同。
來自外部引腳201的輸入和軟件輸入210可驅(qū)使控制器。引腳信號202可促使控制器108向寄存器216、218輸出特定的頻率和電壓設(shè)置。類似地,軟件輸入210可使得控制器108選擇不同于根據(jù)傳感器值而確定的工作點(diǎn)。對于當(dāng)前實(shí)施例,引腳信號202和軟件輸入210被允許來將頻率和電壓設(shè)置,移動到比熔斷器陣列所存儲的工作點(diǎn)中所指示的更小的值。作為安全措施,本實(shí)施例的硬件輸入202和軟件輸入210被限制不能促使控制器將頻率和電壓調(diào)節(jié)到更高的工作點(diǎn)。在比所允許的更高的頻率和電壓下操作處理器,可能使得處理器102超過安全功率和熱限值,可能導(dǎo)致錯誤或損壞。
對于本實(shí)施例,控制器108在獨(dú)立于主處理器時鐘的低頻率時鐘上工作。在正常操作期間,控制器讀取功率傳感器值和軟件控制寄存器。傳感器值和寄存器內(nèi)容用熔斷器表來評估,以計(jì)算處理器的新電壓/頻率工作點(diǎn)。新的電壓/頻率時鐘隨后被載入輸出寄存器來生效。本實(shí)施例的控制器108可通過控制寄存器而被關(guān)閉。用戶可經(jīng)由外部軟件控制來重寫輸出寄存器。
圖3的流程圖表示了根據(jù)本發(fā)明的一種方法實(shí)施例,其用于調(diào)節(jié)電壓和頻率來使多處理器系統(tǒng)中的功耗最小。此例子一般地描述了一個實(shí)施例的頻率/電壓調(diào)節(jié)機(jī)制的操作。在步驟302,控制器在啟動時加載來自存儲器的頻率和電壓數(shù)據(jù)。這些數(shù)據(jù)包括對于不同工作點(diǎn)的有效頻率/電壓對。這樣,該機(jī)制可以根據(jù)當(dāng)前給定的功耗水平,來查找頻率和電壓控制位應(yīng)該被設(shè)置成什么。對于本實(shí)施例,此頻率/電壓信息存儲在處理器上的熔斷器陣列中。這些數(shù)據(jù)也可存儲在處理器之外或者在另一個存儲器中。
在控制器被配置之后,該機(jī)制進(jìn)入正常操作。在步驟304,查詢傳感器。所使用傳感器的數(shù)量和類型取決于具體實(shí)施例。例如,傳感器可傳感電流、功率、溫度或處理負(fù)荷。類似地,多于一種類型的傳感器可被用在處理器上。在步驟306查詢硬件輸入。硬件輸入可以是來自系統(tǒng)的外部硬件引腳。在步驟308,查詢軟件輸入。一個實(shí)施例的軟件輸入是來系統(tǒng)管理軟件或操作系統(tǒng)的軟件信號。
在步驟310評估傳感器值以及硬件和軟件輸入。該機(jī)制確定處理器正在消耗多少功率。根據(jù)處理器功耗,控制器可為處理器找到合適的工作點(diǎn)。在步驟312,該機(jī)制決定處理器的工作點(diǎn)是否應(yīng)被調(diào)節(jié)。本實(shí)施例的控制器將功耗值與存儲在存儲器中的值表比較,來確定頻率和電壓應(yīng)該被設(shè)置成多少。如果頻率和電壓值和當(dāng)前值相同或相近,或者在可接受的范圍內(nèi),那么不應(yīng)調(diào)節(jié)處理器的工作點(diǎn)。該機(jī)制繼續(xù)監(jiān)控處理器并查詢傳感器和輸入。如果頻率和電壓值不同于當(dāng)前值,那么就應(yīng)該調(diào)節(jié)處理器工作點(diǎn)。
在步驟314該機(jī)制輸出新的頻率和電壓設(shè)置。已根據(jù)所需的工作點(diǎn)挑出這些設(shè)置。對于一個實(shí)施例,選擇這些設(shè)置以在最小化處理器功耗的同時,提供最優(yōu)的處理器效率。在步驟316,新的頻率和電壓設(shè)置分別在時鐘生成器和電源處生效。該機(jī)制繼續(xù)監(jiān)控處理器,并評估傳感器和輸入進(jìn)一步的變化。
已在單處理器的上下文中描述了圖3的示例。在多處理器系統(tǒng)中,本方法可在每個處理器中并行運(yùn)行。例如,每個處理器可獨(dú)立于系統(tǒng)中的其他處理器,來調(diào)節(jié)其自身的頻率和電壓設(shè)置。但是,整個系統(tǒng)軟件可具有控制所有處理器的能力,這或者通過硬件引腳或軟件輸入,例如步驟306和308中的那些。
在以上說明中,已參考其具體示例實(shí)施例描述了本發(fā)明。但是很清楚,可做出其各種改進(jìn)和變化,而不偏離所附權(quán)利要求中給出的本發(fā)明更廣泛的精神和范圍。于是,說明書和附圖應(yīng)認(rèn)為是說明性的而非限制性的。
權(quán)利要求
1.一種方法,包括確定功耗值;評估所述功耗值以獲得新的工作點(diǎn);比較所述新工作點(diǎn)與當(dāng)前工作點(diǎn);以及如果所述新工作點(diǎn)不同于所述當(dāng)前工作點(diǎn),則對應(yīng)于所述新工作點(diǎn)來調(diào)節(jié)頻率設(shè)置和電壓設(shè)置。
2.如權(quán)利要求1所述的方法,還包括從存儲器加載多個工作點(diǎn)的頻率和電壓數(shù)據(jù),其中每對頻率和電壓數(shù)據(jù)對應(yīng)于單個工作點(diǎn)。
3.如權(quán)利要求1所述的方法,其中確定功耗值的步驟還包括查詢傳感器。
4.如權(quán)利要求3所述的方法,其中所述傳感器將獲得指示正消耗多少功率的功耗值。
5.如權(quán)利要求3所述的方法,其中所述傳感器將獲得指示正消耗多少電流的電流值。
6.如權(quán)利要求5所述的方法,其中所述電流值被用來計(jì)算功耗值。
7.如權(quán)利要求1所述的方法,其中所述評估步驟還包括查詢系統(tǒng)和用戶輸入,所述輸入覆蓋所述功耗值并影響所述新工作點(diǎn)的選擇。
8.如權(quán)利要求2所述的方法,其中所述評估步驟還包括使用所述功耗值,來在所述頻率和電壓數(shù)據(jù)中為所述新工作點(diǎn)查找頻率設(shè)置和電壓設(shè)置。
9.如權(quán)利要求8所述的方法,其中所述調(diào)節(jié)步驟還包括將所述頻率設(shè)置和所述電壓設(shè)置輸出到控制寄存器,所述頻率設(shè)置調(diào)節(jié)時鐘生成器的信號輸出,所述電壓設(shè)置調(diào)節(jié)電源的電壓輸出。
10.如權(quán)利要求9所述的方法,其中所述評估步驟還包括確定所述功耗值是否在允許范圍內(nèi)。
11.如權(quán)利要求10所述的方法,其中所述新工作點(diǎn)被選擇為具有在所述允許范圍內(nèi)的新功耗值。
12.如權(quán)利要求3所述的方法,其中所述傳感器監(jiān)控溫度和工作負(fù)荷。
13.一種處理器,包括控制器,用于調(diào)節(jié)處理器電壓和處理器頻率;耦合到所述控制器的傳感器,所述傳感器測量所述處理器的功耗并提供功耗值;耦合到所述控制器的存儲器,所述存儲器存儲多個對應(yīng)于具體工作點(diǎn)的頻率和電壓設(shè)置;和耦合到所述控制器的控制寄存器,所述控制寄存器從所述控制器接收頻率設(shè)置和電壓設(shè)置。
14.如權(quán)利要求13所述的處理器,其中所述控制寄存器以所述頻率設(shè)置來驅(qū)動時鐘生成器,所述頻率設(shè)置調(diào)節(jié)所述時鐘生成器的時鐘信號輸出。
15.如權(quán)利要求14所述的處理器,其中所述控制寄存器還以所述電壓設(shè)置來驅(qū)動耦合到所述處理器的電源,所述電壓設(shè)置調(diào)節(jié)所述電源的電壓輸出。
16.如權(quán)利要求15所述的處理器,還包括耦合到所述控制器的硬件引腳,所述引腳提供硬件中斷信號來改變所述控制器的操作。
17.如權(quán)利要求16所述的處理器,還包括接收到所述控制器的軟件輸入的軟件寄存器,所述軟件輸入提供對所述控制器的軟件控制并改變所述控制器的操作。
18.如權(quán)利要求17所述的處理器,其中所述存儲器是存儲數(shù)據(jù)表的熔斷器陣列,所述數(shù)據(jù)表包括對應(yīng)于所述具體工作點(diǎn)的多對頻率和電壓設(shè)置。
19.如權(quán)利要求18所述的處理器,其中所述控制器包括邏輯,所述邏輯評估所述功耗值,選擇新的工作點(diǎn),并確定是否將所述處理器的當(dāng)前工作點(diǎn)改變到所述新的工作點(diǎn)。
20.如權(quán)利要求19所述的處理器,其中所述當(dāng)前工作點(diǎn)包括第一頻率設(shè)置和第一電壓設(shè)置,而所述新的工作點(diǎn)包括第二頻率設(shè)置和第二電壓設(shè)置。
21.如權(quán)利要求20所述的處理器,其中所述控制器包括邏輯,所述邏輯將所述第二頻率設(shè)置和所述第二電壓設(shè)置輸出到所述控制寄存器。
22.如權(quán)利要求21所述的處理器,還包括耦合到所述控制器的第二傳感器,所述第二傳感器測量所述處理器的電流消耗;耦合到所述控制器的第三傳感器,所述第三傳感器測量所述處理器的溫度;和耦合到所述控制器的第四傳感器,所述第四傳感器測量所述處理器的處理負(fù)荷。
23.一種系統(tǒng),包括耦合到總線的第一存儲器;耦合到所述總線的處理器,所述處理器還包括控制器,用于調(diào)節(jié)處理器電壓和處理器頻率;耦合到所述控制器的傳感器,所述傳感器測量所述處理器的功耗并提供功耗值;耦合到所述控制器的第二存儲器;和耦合到所述控制器的控制寄存器,所述控制寄存器從所述控制器接收頻率設(shè)置和電壓設(shè)置;耦合到所述處理器的電源,所述電源從所述控制寄存器接收所述電壓設(shè)置,所述電源響應(yīng)于所述電壓設(shè)置來調(diào)節(jié)其電壓輸出。
24.如權(quán)利要求23所述的系統(tǒng),其中所述處理器還包括時鐘生成器,所述時鐘生成器接收來自所述控制寄存器的所述頻率設(shè)置,所述時鐘生成器響應(yīng)于所述頻率設(shè)置來調(diào)節(jié)其時鐘信號輸出。
25.如權(quán)利要求24所述的系統(tǒng),其中所述處理器還包括耦合到所述控制器的硬件引腳,所述引腳提供硬件中斷信號來改變所述控制器的操作。
26.如權(quán)利要求25所述的系統(tǒng),其中所述處理器還包括接收到所述控制器的軟件輸入的軟件寄存器,所述軟件輸入提供對所述控制器的軟件控制并改變所述控制器的操作。
27.如權(quán)利要求26所述的系統(tǒng),其中所述控制器包括邏輯,所述邏輯評估所述功耗值,選擇新的工作點(diǎn),并確定是否將所述處理器的當(dāng)前工作點(diǎn)改變到所述新的工作點(diǎn)。
28.如權(quán)利要求27所述的系統(tǒng),其中所述當(dāng)前工作點(diǎn)包括第一頻率設(shè)置和第一電壓設(shè)置,而所述新的工作點(diǎn)包括第二頻率設(shè)置和第二電壓設(shè)置。
29.如權(quán)利要求28所述的系統(tǒng),其中所述第一存儲器存儲多個對應(yīng)于具體工作點(diǎn)的頻率和電壓設(shè)置。
30.如權(quán)利要求28所述的系統(tǒng),其中所述第二存儲器存儲多個對應(yīng)于具體工作點(diǎn)的頻率和電壓設(shè)置。
全文摘要
一種方法,用于調(diào)節(jié)電壓和頻率以使處理器中功耗最小。一個實(shí)施例的方法包括確定功耗值。功耗值被評估來獲得新的工作點(diǎn)。新工作點(diǎn)與當(dāng)前工作點(diǎn)比較。如果新工作點(diǎn)不同于當(dāng)前工作點(diǎn),則調(diào)節(jié)頻率設(shè)置和電壓設(shè)置來對應(yīng)于新工作點(diǎn)。
文檔編號G06F1/08GK1739080SQ02819236
公開日2006年2月22日 申請日期2002年9月27日 優(yōu)先權(quán)日2001年9月28日
發(fā)明者戴維·艾爾斯, 斯特凡·魯蘇, 詹姆斯·伯恩斯 申請人:英特爾公司