專利名稱:操作系統(tǒng)的協(xié)調(diào)熱管理的制作方法
背景技術(shù):
本發(fā)明涉及基于處理器的系統(tǒng)的熱管理(thermal management)。
目前已經(jīng)有硬件和軟件控制的技術(shù)用于基于處理器的系統(tǒng)的電源和熱管理。軟件解決方案主要用于移動平臺。
軟件控制技術(shù)包括當(dāng)超過處理器溫度設(shè)定時產(chǎn)生中斷。通過查詢處理器溫度,在檢測到過溫條件時,調(diào)節(jié)(throttle)處理器。通常,軟件控制的解決方案比硬件控制的解決方案具有更慢的響應(yīng)時間。另外,軟件控制解決方案還有過沖(overshoot)和負(fù)向過沖(undershoot)的問題。在軟件控制解決方案中使用的傳感器相對較慢和不精確。電路片上(on-die)的傳感器(通常為二極管)并不處于處理器電路片上的最熱部分。
在移動系統(tǒng)以外的系統(tǒng)中所使用的硬件控制解決方案包括一個處理器,該處理器可以自動執(zhí)行處理器調(diào)節(jié),當(dāng)超過溫度條件時降低有效時鐘頻率,當(dāng)處理器足夠冷卻時就取消調(diào)節(jié)。硬件控制的解決方案基于電路片上的二進(jìn)制傳感器,該傳感器可以指示處理器是熱還是不熱。操作系統(tǒng)也有中斷能力,但是通常并不使用,這是因?yàn)榕_式系統(tǒng)中主要使用硬件控制的解決方案,調(diào)節(jié)情況很少發(fā)生。因此,操作系統(tǒng)可以不考慮硬件控制的調(diào)節(jié)。
軟件控制的解決方案主要基于這樣的前提,即平臺在操作系統(tǒng)使用了多種斷路點(diǎn)。一個斷路點(diǎn)就是當(dāng)需要采取某些操作時對應(yīng)特定高溫區(qū)域的溫度。隨著溫度高于或低于任何斷路點(diǎn),平臺負(fù)責(zé)通知操作系統(tǒng)該事件發(fā)生,然后操作系統(tǒng)執(zhí)行對應(yīng)的操作。
當(dāng)溫度經(jīng)過一被動斷路點(diǎn)時,操作系統(tǒng)負(fù)責(zé)執(zhí)行用于降低處理器溫度的算法。這可以通過以變化的頻率產(chǎn)生周期性事件來實(shí)現(xiàn)。操作系統(tǒng)然后監(jiān)視當(dāng)前溫度和最終溫度,并執(zhí)行算法以改變性能從而將處理器保持在目標(biāo)溫度。
目前的硬件控制的調(diào)節(jié)手段是通過快速停止和啟動處理器來降低處理器的頻率,而將來硬件控制調(diào)節(jié)的手段可以通過同時降低頻率和電壓來降低處理器的性能狀態(tài)。由于硬件控制的調(diào)節(jié)是直接啟動的且具有非常快的響應(yīng)時間,因此將用于觸發(fā)被動熱管理的斷路點(diǎn)設(shè)定為靠近處理器的高溫度規(guī)范(稱為結(jié)溫),從而使大多數(shù)系統(tǒng)設(shè)計(jì)實(shí)現(xiàn)了高性能。
軟件控制的調(diào)節(jié)可用于操作系統(tǒng),從而允許操作系統(tǒng)全程了解處理器性能。這對于未來操作系統(tǒng)非常重要,可以保證在執(zhí)行應(yīng)用程序時基于處理器性能的服務(wù)質(zhì)量。這個概念被稱為有保障的帶寬分配并基于處理器的當(dāng)前性能水平。
硬件控制的調(diào)節(jié)的優(yōu)點(diǎn)在于它可以在任何給定的熱解決方案中實(shí)現(xiàn)最佳的可能性能,具有快速響應(yīng)時間且不會過早調(diào)節(jié)。硬件控制的調(diào)節(jié)的缺點(diǎn)在于操作系統(tǒng)完全不考慮處理器性能已經(jīng)改變。因此,人們希望硬件控制的調(diào)節(jié)可以使未來的操作系統(tǒng)實(shí)現(xiàn)有保障的帶寬計(jì)劃。
因此,需要一種熱管理解決方案,從而可以實(shí)現(xiàn)硬件和軟件控制技術(shù)的雙重優(yōu)點(diǎn)。
圖1示出根據(jù)本發(fā)明實(shí)施例的系統(tǒng)方塊圖;圖2示出圖1的系統(tǒng)中的一個電源管理模塊的流程圖;圖3示出圖1的系統(tǒng)中的另一個模塊的流程圖。
詳細(xì)說明參照圖1,根據(jù)本實(shí)施例的基于處理器的系統(tǒng)10包括一個或更多處理器12。該系統(tǒng)10可包括通用或?qū)S糜?jì)算機(jī)、微處理器或基于微控制器的系統(tǒng),手持計(jì)算設(shè)備、機(jī)頂盒、電器、游戲系統(tǒng)或任何基于可編程的控制器的設(shè)備。
一個或更多溫度傳感器單元15監(jiān)視一個或更多對應(yīng)高溫區(qū)域中的系統(tǒng)溫度,當(dāng)所檢測到的溫度超過預(yù)設(shè)的目標(biāo)溫度Tt或低于目標(biāo)溫度Tt時,每個傳感器單元都可以發(fā)出中斷,例如系統(tǒng)管理中斷(SMI)、系統(tǒng)控制器中斷(SCI)、或其他通知。
在一個實(shí)施例中,當(dāng)所監(jiān)視到的溫度高于Tt時,產(chǎn)生熱接合(thermalengage)SMI。相反,當(dāng)所監(jiān)視到的溫度低于Tt時,產(chǎn)生熱分離(thermaldisengage)SMI。當(dāng)所監(jiān)視到的溫度保持高于或低于Tt時,熱接合和熱分離SMI將以周期性間隔產(chǎn)生,從而使軟件或硬件可以管理處理器的性能水平。
在另一實(shí)施例中,系統(tǒng)中的其它部件(例如橋控制器芯片,外圍控制器)可以在不同性能狀態(tài)之間或之中轉(zhuǎn)換,同時也可以將其調(diào)節(jié)以便實(shí)現(xiàn)系統(tǒng)熱管理。另外,可以分別獨(dú)立地對多個高溫區(qū)域執(zhí)行系統(tǒng)10中的熱管理。
在圖1中,溫度傳感器單元15產(chǎn)生的中斷事件可以直接被路由到處理器12或主橋18,該主橋18耦合在處理器12和系統(tǒng)總線22之間,該系統(tǒng)總線22在一個實(shí)施例中可以是外設(shè)部件互連(PCI)總線,該P(yáng)CI總線在1995年6月1日公布的PCI局域總線說明,產(chǎn)品版本,修訂版2.1中進(jìn)行了說明。或者,可以將該中斷事件作為存儲器或I/O映象寄存器位存儲,由軟件或硬件模塊對其輪詢。
為了執(zhí)行調(diào)節(jié),根據(jù)預(yù)定的占空因數(shù)來啟動或停止時鐘控制輸入(例如,輸入到80×86或英特爾公司的奔騰系列處理器的停止時鐘輸入,該停止時鐘輸入在圖1中被示為G_STPCLK#)。熱管理控制邏輯電路產(chǎn)生信號G_STPCLK#,并將其發(fā)送到例如英特爾公司制造的處理器的STPCLK#輸入針。該STPCLK#可以內(nèi)部地選通輸入到處理器核心的時鐘。啟動時鐘控制輸入(例如通過驅(qū)動G_STPCLK#低電位)使得處理器12進(jìn)入顯著節(jié)能模式,此時處理器的內(nèi)部時鐘停止且大多數(shù)功能不能使用。通過在特定比例的時間內(nèi)啟動時鐘控制輸入來禁止處理器的活動,同時在剩余的時間內(nèi)允許處理器的活動,可以實(shí)現(xiàn)這種調(diào)節(jié)。
系統(tǒng)10的其它部件包括時鐘發(fā)生器50和電壓調(diào)節(jié)器52,該時鐘發(fā)生器50可以產(chǎn)生輸入到處理器12的主時鐘BCLK,該電壓調(diào)節(jié)器52可以調(diào)節(jié)處理器12的電源電壓。在一個實(shí)施例中,可以控制時鐘發(fā)生器50、處理器12和電壓調(diào)節(jié)器52,從而使系統(tǒng)10在不同性能狀態(tài)之間或之中變化。
緩沖存儲器14與處理器14連接且系統(tǒng)存儲器16由主橋18中的存儲器控制器來控制。系統(tǒng)總線22可以與其它部件耦合,這些其它部件包括與顯示器26耦合的視頻控制器24和通過插槽28耦合的外圍設(shè)備。第二或擴(kuò)展總線46通過系統(tǒng)橋34與系統(tǒng)總線22耦合。系統(tǒng)橋34可以包括用于不同端口的接口電路,這些端口包括通用串行總線(USB)端口36(如1996年1月公開的通用串行總線說明修訂版1.0中所述)和可以與大容量存儲設(shè)備耦合的大容量存儲端口38,這些大容量存儲設(shè)備例如硬盤驅(qū)動器、壓縮盤(CD)或數(shù)字視頻光盤(DVD)驅(qū)動器等。
與第二總線46耦合的其它部件包括輸入/輸出(I/O)電路40,它可以與并行端口、串行端口、軟盤驅(qū)動器、和紅外端口連接。用于存儲基本輸入/輸出系統(tǒng)(BIOS)程序的非易失性存儲器32可以位于總線46上,就像鍵盤設(shè)備42和音頻控制設(shè)備44一樣。系統(tǒng)10中的主電源電壓由電源電路56來提供,該電源電路56與電池60和外部電源插座58連接。對系統(tǒng)10中的這些特定部件的說明是示意性的,應(yīng)當(dāng)理解系統(tǒng)10還可以有很多其它實(shí)施例。
在系統(tǒng)的一個或更多存儲介質(zhì)中可以存儲多種不同軟件或固件層(例如由模塊或程序形成),這些軟件或固件層包括應(yīng)用程序、操作系統(tǒng)模塊、設(shè)備驅(qū)動、BIOS模塊和中斷處理程序。存儲介質(zhì)包括硬盤驅(qū)動器、CD或DVD驅(qū)動器、軟盤驅(qū)動器、非易失性存儲器和系統(tǒng)存儲器。存儲在存儲介質(zhì)中的這些模塊、程序或其它層包含多個指令,當(dāng)執(zhí)行這些指令時,系統(tǒng)10就會執(zhí)行這些程控的操作(programmed act)。
可以利用很多不同方法中的一種,將軟件或固件層例如熱中斷(thermal interrupt)軟件50和周期性計(jì)時軟件70載入到系統(tǒng)10中。例如,可以將存儲在軟盤、CD或DVD介質(zhì)、硬盤中的代碼段或者通過網(wǎng)絡(luò)接口卡、調(diào)制解調(diào)器、或其它接口部件傳輸來的代碼段載入到系統(tǒng)10中,并作為對應(yīng)的軟件或固件層執(zhí)行。在載入或傳輸過程中,以載波(通過電話線、網(wǎng)絡(luò)線、無線鏈路、電纜等)形式的數(shù)據(jù)信號可以實(shí)現(xiàn)將代碼段傳輸給系統(tǒng)10。
如菱形框52所示,熱中斷軟件50初始判斷是否已經(jīng)接收到頻率變化、高溫或低溫中斷。高溫和低溫中斷是傳統(tǒng)的軟件控制的中斷。頻率變化中斷是硬件控制的中斷,但它不同于傳統(tǒng)的硬件控制中斷的地方在于可以在適當(dāng)?shù)臅r間通知操作系統(tǒng),從而例如可以實(shí)現(xiàn)有保證的帶寬分配。
在某些系統(tǒng)中,可以直接控制處理器12的性能狀態(tài),而不是簡單地調(diào)節(jié)該處理器。該性能狀態(tài)包括頻率和電壓。在這種情況下,當(dāng)處理器12超過或低于電路片上傳感器15的斷路點(diǎn)時,調(diào)節(jié)可以直接降低或增加性能狀態(tài)。
在向較低性能狀態(tài)轉(zhuǎn)變的過程中(由于處理器變得更熱),在降低處理器電壓之前,處理器的頻率已經(jīng)被降低。如操作系統(tǒng)看到的,處理器的性能將立刻下降。即,頻率一降低性能就隨著降低。
在向較高性能狀態(tài)轉(zhuǎn)變的過程中(由于處理器冷卻),直到電壓變?yōu)楦唠娖?,處理器的頻率才會增加。通常,電壓改變需要花費(fèi)一些時間。因此,即使在電壓改變時就產(chǎn)生了中斷事件,性能的變化也會落后中斷事件。
或者,可以在處理器的鎖相環(huán)(PLL)重新鎖定在新的頻率水平時,產(chǎn)生中斷事件。因此,當(dāng)中斷出現(xiàn)時,操作系統(tǒng)可以讀取處理器的性能狀態(tài),確定處理器的新的性能水平,重新計(jì)劃所請求的有保障的帶寬分配,然后重新開始正常操作。
參照圖2,如果在菱形框中檢測到事件,則讀取處理器性能狀態(tài)。這可以通過訪問處理器寄存器以確定事件原因以及采取進(jìn)一步行動來實(shí)現(xiàn)。編碼的量很小并且有限,因此在某些實(shí)施例中可以頁面鎖定(pagelocked)在物理存儲器中。
如菱形框52中所確定的那樣,當(dāng)操作系統(tǒng)接收到熱管理中斷向量的三個源中的任何一個時,如方塊54所示,處理器可以根據(jù)已經(jīng)定義的寄存器,檢查處理器是熱還是冷并查詢當(dāng)前性能狀態(tài),然后采取適當(dāng)?shù)膭幼?。典型的寄存器可以包括電路片上調(diào)節(jié)控制和性能狀態(tài)情況寄存器。
根據(jù)本發(fā)明的一個實(shí)施例,可以在用于熱和冷中斷發(fā)生的已知中斷模型中,加入新的中斷。該頻率改變中斷可以具有一個使能位,從而通知操作系統(tǒng)允許或禁止該事件,但是在有些實(shí)施例中不需要狀態(tài)寄存器。
然后,在菱形框56中進(jìn)行檢查來判斷根據(jù)當(dāng)前處理器性能狀態(tài)是否需要調(diào)節(jié)帶寬合同。如果需要,則按照方塊58所示調(diào)節(jié)該合同。然后如方塊60所示,重新開始計(jì)劃帶寬。菱形框62中的檢查可以判斷是否需要實(shí)現(xiàn)周期性計(jì)時器。如方塊64所示,如果中斷表示處理器熱(thermal)事件,則操作系統(tǒng)可以啟動周期性計(jì)時器事件操作從而開始監(jiān)視處理器溫度。
如圖3所示,按照方塊72所示,通過增加時間,開始周期性計(jì)時器軟件70。菱形74中的檢查判斷是否出現(xiàn)超時。如果出現(xiàn)超時,則在菱形框76中的檢查判斷處理器是否仍然是熱的。如果是,則如方框78所示,操作系統(tǒng)可以決定降低處理器性能狀態(tài)和/或開始電路片上調(diào)節(jié)和/或增加電路片上調(diào)節(jié)的內(nèi)部有效頻率。
菱形框80中的檢查判斷處理器現(xiàn)在是否已經(jīng)冷卻。如果是,則如方塊82中所示,操作系統(tǒng)可以決定增加處理器性能狀態(tài)和/或禁止電路片上調(diào)節(jié)和/或增加電路片上調(diào)節(jié)的內(nèi)部有效頻率。然后,如方塊84所示重新設(shè)定時間,循環(huán)執(zhí)行流程。
特別是在移動平臺的情況下,可以利用上述的軟件和硬件控制解決方案來實(shí)現(xiàn)性能增加。在一些實(shí)施例中,通過使硬件控制的調(diào)節(jié)共享操作系統(tǒng)調(diào)度算法,可以在保證帶寬分配目標(biāo)的情況下,快速、有效地實(shí)現(xiàn)熱管理。
本發(fā)明是參照有限實(shí)施例說明的,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)可以對其進(jìn)行多種修改和變化。附加權(quán)利要求覆蓋了不脫離本發(fā)明精神和范圍內(nèi)的所有這些修改和變化。
權(quán)利要求
1.一種方法,包括響應(yīng)于處理器冷卻,檢測處理器的頻率已經(jīng)改變;和響應(yīng)于頻率變化的檢測,產(chǎn)生中斷。
2.如權(quán)利要求1所述的方法,包括向操作系統(tǒng)提供中斷。
3.如權(quán)利要求1所述的方法,包括響應(yīng)該中斷,讀取處理器的性能狀態(tài)。
4.如權(quán)利要求3所述的方法,包括確定新的性能狀態(tài)。
5.如權(quán)利要求4所述的方法,包括計(jì)劃帶寬分配。
6.如權(quán)利要求2所述的方法,包括設(shè)定周期性計(jì)時器。
7.如權(quán)利要求6所述的方法,包括以周期性間隔監(jiān)視處理器溫度。
8.如權(quán)利要求1所述的方法,包括檢測高溫或低溫中斷,根據(jù)高溫或低溫中斷的檢測,讀取處理器性能狀態(tài)。
9.如權(quán)利要求1所述的方法,檢測頻率變化包括檢測處理器鎖相環(huán)事件。
10.如權(quán)利要求1所述的方法,包括使用硬件控制調(diào)節(jié)。
11.一種產(chǎn)品,包括存儲指令的介質(zhì),該指令可以使基于處理器的系統(tǒng)響應(yīng)于處理器冷卻,檢測處理器的頻率是否已經(jīng)改變;和響應(yīng)于頻率變化的檢測,產(chǎn)生中斷。
12.如權(quán)利要求11所述的產(chǎn)品,還包括存儲指令,該指令使基于處理器的系統(tǒng)向操作系統(tǒng)提供中斷。
13.如權(quán)利要求11所述的產(chǎn)品,還包括存儲指令,該指令可以使基于處理器的系統(tǒng)根據(jù)該中斷讀取處理器的性能狀態(tài)。
14.如權(quán)利要求13所述的產(chǎn)品,還包括存儲指令,該指令可以使基于處理器的系統(tǒng)確定新的性能狀態(tài)。
15.如權(quán)利要求14所述的產(chǎn)品,還包括存儲指令,該指令可以使基于處理器的系統(tǒng)計(jì)劃帶寬分配。
16.如權(quán)利要求12所述的產(chǎn)品,還包括存儲指令,該指令可以使基于處理器的系統(tǒng)設(shè)定周期性計(jì)時器。
17.如權(quán)利要求16所述的產(chǎn)品,還包括存儲指令,該指令可以使基于處理器的系統(tǒng)以周期性間隔監(jiān)視處理器溫度。
18.如權(quán)利要求11所述的產(chǎn)品,還包括存儲指令,該指令可以使基于處理器的系統(tǒng)檢測高溫或低溫中斷,根據(jù)高溫或低溫中斷的檢測,讀取處理器性能狀態(tài)。
19.如權(quán)利要求11所述的產(chǎn)品,還包括存儲指令,該指令可以使基于處理器的系統(tǒng)檢測處理器鎖相環(huán)事件。
20.如權(quán)利要求11所述的產(chǎn)品,還包括存儲指令,該指令可以使基于處理器的系統(tǒng)使用硬件控制調(diào)節(jié)。
21.一種系統(tǒng),包括處理器;與所述處理器耦合的溫度傳感器;存儲指令的存儲器,這些指令可以使處理器響應(yīng)于處理器冷卻來檢測處理器頻率已經(jīng)改變,并根據(jù)頻率改變的檢測來產(chǎn)生中斷。
22.如權(quán)利要求21所述的系統(tǒng),包括存儲操作系統(tǒng)的存儲器,所述中斷可以提供給操作系統(tǒng)。
23.如權(quán)利要求21所述的系統(tǒng),其中所述存儲器存儲指令,該指令可以使處理器根據(jù)中斷來讀取處理器的性能狀態(tài)。
24.如權(quán)利要求21所述的系統(tǒng),其中所述處理器確定新的性能狀態(tài)。
25.如權(quán)利要求24所述的系統(tǒng),其中所述存儲器存儲指令,這些指令可以使處理器計(jì)劃帶寬分配。
26.如權(quán)利要求22所述的系統(tǒng),其中所述存儲器存儲指令,這些指令可以使處理器設(shè)定周期性計(jì)時器。
27.如權(quán)利要求26所述的系統(tǒng),其中所述處理器存儲指令,這些指令可以使處理器以周期性間隔監(jiān)視處理器溫度。
28.如權(quán)利要求21所述的系統(tǒng),其中所述存儲器存儲指令,該指令可以使處理器檢測高溫或低溫中斷,并根據(jù)高溫或低溫中斷的檢測,讀取處理器性能狀態(tài)。
29.如權(quán)利要求21所述的系統(tǒng),其中所述存儲器存儲指令,該指令可以使處理器檢測處理器鎖相環(huán)事件。
30.如權(quán)利要求21所述的系統(tǒng),包括硬件控制的調(diào)節(jié)。
全文摘要
可以根據(jù)處理器溫度來調(diào)節(jié)處理器(12)的性能狀態(tài)。在由于處理器(12)變熱而使其向較低性能狀態(tài)轉(zhuǎn)變的過程中,在降低處理器電壓之前,降低處理器的頻率。這樣,正如操作系統(tǒng)所看到的,處理器的性能將立刻下降。相反,在由于處理器冷卻而使其向較高性能狀態(tài)轉(zhuǎn)變的過程中,直到電壓變?yōu)楦唠娖剑幚砥鞯念l率才會增加??梢栽谔幚砥鞯逆i相環(huán)重新鎖定在新的頻率水平時,產(chǎn)生中斷事件。這樣,當(dāng)中斷出現(xiàn)時,操作系統(tǒng)可以讀取處理器的性能狀態(tài)。因此,不產(chǎn)生會使處理器性能落后于中斷事件的中斷。
文檔編號G06F1/32GK1602460SQ02824858
公開日2005年3月30日 申請日期2002年11月15日 優(yōu)先權(quán)日2001年12月12日
發(fā)明者B·庫珀 申請人:英特爾公司