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