TWI388974B - 根據工作溫度的變化來動態改變功率損耗的微處理器及方法 - Google Patents
根據工作溫度的變化來動態改變功率損耗的微處理器及方法 Download PDFInfo
- Publication number
- TWI388974B TWI388974B TW097106819A TW97106819A TWI388974B TW I388974 B TWI388974 B TW I388974B TW 097106819 A TW097106819 A TW 097106819A TW 97106819 A TW97106819 A TW 97106819A TW I388974 B TWI388974 B TW I388974B
- Authority
- TW
- Taiwan
- Prior art keywords
- operating
- microprocessor
- temperature
- voltage
- frequency
- Prior art date
Links
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Power Sources (AREA)
- Microcomputers (AREA)
Description
本發明涉及微型電腦中功率損耗與性能的相互影響問題,尤其是可根據微型電腦的工作溫度變化來減少功率損耗和提高性能。
對移動PC、筆記本電腦、桌上型電腦和工作站等不同類型的電腦系統來說,功率損耗的管理都是非常的重要的問題。比如,對大部分的筆記本電腦用戶來說,電池的壽命問題至關重要。而據報導,在很多資料中心,運行伺服器所需要消耗的能源比購買伺服器本身更加昂貴。因此,才會有對“綠色“電腦的需求。在電腦系統中,大部分的功率損耗是被微處理器消耗的。所以,減少電腦系統功率損耗的關鍵在於減少微處理器的功率損耗。
在已有的微處理器設計中,微處理器的性能,比方說在給定時間內微處理器所能處理的指令數,主要由時脈主頻來決定。許多系統對微處理器的性能有一定的要求,而且這個要求在時間上會隨著系統工作狀態的不同而有所變化。比如,許多現代的微處理器中的一些系統軟體,例如BIOS或者作業系統具有透過調整微處理器的工作頻率來動態的調整其性能指標的能力。
微處理器的動態功率損耗是與時脈主頻和與工作電壓的平方成正比的。然而,對大部分的現代微處理器來說,在每一個工作頻率下,都有一個相對應的工作電壓最小值,當電壓小於這個幅值時,微處理器將不能正常工作。因此,我們需要透過降低一定性能或是一定頻率下的工作電壓來降低微處理器的功率損耗。
此外,用戶對處理器的性能是有一定要求的。而由上面的討論可知,在其他參數相同的情況下,微處理器工作的頻率越高,其性能越好。因此,一個很常用的提高微處理器性能的方法是超頻。在傳統方法中,電腦透過增加前端匯流排的頻率來進行超頻,這使得微處理器和其他連接到前端匯流排的電路工作在一個較高的時脈頻率下。超頻本身也是有一些缺點的。首先,系統超頻總是要求電腦製造商要提高標準製冷系統的性能或者用具有更高製冷能力的製冷系統來替代原來的標準製冷系統,比如採用轉速更高的風扇,更多的散熱片,液態冷卻液,相變製冷甚至是液氮製冷。第二,超頻可能導致微處理器運行的不穩定,潛在的影響是資料的丟失或者損壞,以及對微處理器甚至是整個系統的損害。這時因為超頻一般是超過了製造商的產品規格的,製造商可能並沒有測試在超頻頻率下微處理器的運行狀況,因此不能保證在此頻率下微處理器能正常工作。第三,在將前端匯流排超頻時,其餘的設備可能也與前端匯流排相連,比方說記憶體,晶片組,顯示卡等,這些設備也可能會工作在一個較高的頻率下,這也就存在了上文中提到的需要附加的製冷系統和性能不穩定的問題。因此,需要找到一個改進的方法,可以在增加微處理器頻率的同時避免傳統的超頻所帶來的問題。
此外,如前文所述,一些微處理器為一些系統軟體,例如BIOS或者作業系統提供了改變微處理器的工作頻率的能力。例如,在高級配置和電源介面(Advanced Configuration and Power Interface,ACPI)規範3.0版本中,依照CPU的工作主頻規定了P狀態,並且為系統軟體提供了一種使微處理器轉換到指定的P狀態的方法。在頻率增加的情況下,根據微處理器的物理特性,微處理器必須透過增加其工作電壓來適應頻率的增加。完成電壓轉換所需要的時間可能會很長,這取決於所需增加的電壓的幅度。如第4圖和前文所述,傳統的微處理器增加電壓到預定要求並且簡單地將頻率從現有頻率值增加到所要求達到的頻率值。根據傳統的從現在的P狀態轉換到新的P狀態的方法,微處理器在整個P狀態轉換期間工作在一個較低的頻率,此時性能比較差。因此,需要找到一種改進方法來提高在P狀態轉換期間微處理器的性能。
最後,一些微處理器包含熱監控和保護裝置。例如,如第1圖所示,不同的Intel的處理器都具有增強節電功能,其包含了熱監控(Thermal Monitor 2,TM2)自動熱保護裝置。TM2被應用於Pentium M的處理器,也被包含進了Pentium 4家族的新模型中。英代爾的Pentium 4處理器具有2MB的二級緩存和533MHZ的前端資料匯流排,其2005年7月的晶片手冊中寫道:“當內建感測器監測到核心溫度過高時,微處理器能夠根據軟體可編程的特別模組暫存器(Model Specific Registers,MSR)自動地轉換到一個較低頻率或是較低電壓。等待一段固定的時間後,如果核心溫度降低到可接受值,微處理器的頻率或者電壓將被提高到原來的幅值”。第11圖為此操作的例圖。
微處理器採用的TM2自動熱保護裝置僅依據兩個工作點,即內定工作點和系統軟體指定的工作點來工作是存在缺陷的。特別是,如果這兩個工作點之間距越大,那麼由於工作量和環境的綜合影響,微處理器可能不能工作在理想的頻率和電壓下。從另一方面來說,兩個工作點的間距越小,在工作量大和高溫環境下,熱保護裝置所能提供的熱保護能力越小。此外,如果轉換的時間太長,工作在較小頻率和電壓下的微處理器的性能將受影響。因此,需要的是一個高性能的熱監測和保護裝置。
本發明的目的在於提供一種可以根據其工作溫度的變化來動態改變功率損耗的微處理器,此微處理器包括:一核心邏輯電路,根據一工作核心時脈工作以執行程式指令;一溫度感測器,用來監測核心邏輯電路的工作溫度;一時脈產生電路,用於產生工作核心時鐘以提供給核心邏輯電路;以及一控制電路,連接於溫度感測器以監測核心邏輯電路的工作溫度,並包含了微處理器可以穩定工作在一第一溫度的多個第一工作點,每一個第一工作點都有其各自對應的工作電壓和工作頻率;該控制電路使核心邏輯電路在多個第一工作點間轉換運行。
本發明的另一目的在於提供一種根據工作溫度的變化來動態改變微處理器功率損耗的方法,該方法包括:選擇一第一溫度值;依據第一溫度值確定多個第一工作點,每一個工作點都有其各自對應的工作電壓和工作頻率;監測微處理器運行時的工作溫度;以及控制微處理器於多個第一工作點間轉換工作,以使被監測的微處理器運行時的工作溫度能保持在第一溫度值內。
本發明所述的根據工作溫度的變化來動態改變功率損耗的微處理器及方法,可根據微型電腦的工作溫度變化來減少功率損耗和提高性能。
為讓本發明之上述和其他目的、特徵、和優點能更明顯易懂,下文特舉出較佳實施例,並配合所附圖式,作詳細說明如下:
第1圖是本發明電腦系統的模組示意圖。電腦系統100包含了一個連接於微處理器102的穩壓器模組(Voltage regulator module,VRM)108。穩壓器模組108具有一輸入端用以接收來自微處理器102的電壓識別信號(voltage identifier,VID)144,一輸出端用以提供電壓鎖定信號(Vlock)156給微處理器102,以及一輸出端用以提供電源電壓輸出信號(Vdd)142給微處理器102。微處理器102輸出電壓識別信號144以控制穩壓器模組108輸出特定的電源電壓輸出信號142來作為微處理器102的電源。當輸入的電壓識別信號144的幅值改變時,穩壓器模組108逐步調整電源電壓輸出信號142以達到預期的幅值,此時,穩壓器模組108輸出一個穩壓器模組的電壓鎖定信號156以表明電源電壓輸出信號142的幅值已經穩定。在一個實施例中,當電壓識別信號144的輸入值改變時,穩壓器模組108大約需要15微秒才能達到穩定。在另一個實施例中,電壓識別信號144的幅值每增加一次,穩壓器模組108將電源電壓輸出信號142的幅值增加16mV。
微處理器102中包含了核心邏輯電路106,溫度感測器132,電壓及頻率控制電路104,兩個平行工作的鎖相迴路(PLL)112A和112B以及選擇器114。電壓及頻率控制電路104包含了一個倍頻控制(clock ratio control)電路128,一個電壓識別(voltage identification;VID)控制電路126,一個偏壓設定值(bias bit)124以及一個記憶體用來儲存工作點數據122。電壓識別控制電路126產生電壓識別信號144給穩壓器模組108,並且從穩壓器模組108中接收電壓鎖定信號156。偏壓設定值124表明了微處理器102是否有低功率損耗或者是高性能的選擇。在一個實施例中,偏壓設定值124是被系統軟體(如系統的BIOS或者是作業系統)進行編程的。
溫度感測器132監測微處理器102的溫度並且輸出工作溫度134給電壓及頻率控制電路104。在一個實施例中,溫度感測器132包含了多個溫度感測器,它們監測微處理器102不同元件的溫度值,並且提供一個最高工作溫度134給電壓及頻率控制電路104。在一個實施例中,溫度感測器132一般位於微處理器中製造商所知的工作溫度最高的位置上。
鎖相迴路112A和鎖相迴路112B分別輸出時脈信號152A和152B來作為選擇器114的輸入信號。倍頻控制電路128提供鎖相迴路選擇信號(PLL select)118,作為選擇器114的輸入選擇信號。根據輸入的鎖相迴路選擇信號118的值,選擇器114選擇鎖相迴路112A或者鎖相迴路112B中的時脈信號152A或者152B來作為工作核心時脈信號116。工作核心時脈信號116是核心邏輯電路106的時脈信號。鎖相迴路112A和鎖相迴路112B接收一個匯流排時脈信號148,此匯流排時脈信號148是微處理器102從外部匯流排接收進來的,比如匯流排時脈信號148是由電腦系統100產生的。倍頻控制電路128也產生了兩個倍數信號146A和146B,這兩個信號分別提供給了鎖相迴路112A和鎖相迴路112B。鎖相迴路112A和鎖相迴路112B分別產生出時脈信號152A和152B。時脈信號152A和152B與匯流排時脈信號148具有倍數關係。此倍數關係的改變過程如第3圖所示。鎖相迴路112A及112B將各自所接收的倍數信號146A和146B來作為係數與匯流排時脈信號148相乘。當輸入的倍數信號146的值改變時,鎖相迴路112A和鎖相迴路112B逐漸改變輸出的時脈信號152A和152B直到能夠達到要求的幅值,此時,鎖相迴路112A或鎖相迴路112B輸出一個倍頻控制電路的頻率鎖定信號(Rlock)154A或154B,以表示時脈信號152A或時脈信號152B已經被鎖定在了預定的頻率上。根據已知的鎖相迴路的運行,輸出的時脈信號152A及152B是鎖相迴路112A及112B的回授信號,以使工作核心時脈信號116與匯流排時脈信號148的頻率同步。在一個實施例中,當輸入的倍數信號146A或146B改變,鎖相迴路112A或112B大約需要10微秒的時間來鎖存信號。在另一個實施例中,鎖相迴路112A及112B可以與匯流排時脈信號148的頻率相乘的系數值範圍是整數2到12。
核心邏輯電路106主要用來提取和執行指令以及資料。比如,核心邏輯電路106一般包含了快取記憶體,取指令和發佈指令的邏輯,結構性的和非結構性的暫存器檔,分支預測單元,位址生成單元,結果寫回邏輯,匯流排介面單元,以及一些執行單元,例如算術單元,整數單元,浮點單元,單指令單元等已知的微處理器結構設計。在一個實施例中,核心邏輯電路106包含了X86結構的微處理器。
核心邏輯電路106一般包含了多個不同的可編程暫存器,包括可編程暫存器158,系統軟體可對其進行編程以使微處理器102工作在一個新的工作點,新的工作溫度範圍或者是其他條件下。工作點是電壓和頻率的數對(pair)組合,在此條件下,微處理器102可以穩定工作在一個預定的溫度下。比如,在一個實施例中,微處理器102在攝氏100°時,可穩定工作在工作點頻率為1.0GHz和工作點電壓為0.75V。對微處理器102不同工作點的資料描述儲存在工作點數據122中,它的用途將在下文中做進一步的闡述。在另一個實施例中,系統軟體由按照高級配置和電源管理介面(ACPI)規範的3.0版本定義的P狀態值對可編程暫存器158編程。ACPI規範按照CPU的工作頻率制定了P狀態。雖然ACPI的P狀態並沒有指明一個工作電壓的值,但根據ACPI規範,在每一個支援的P狀態下,CPU報告一個微處理器消耗的典型功率損耗值。可編程暫存器158輸出預先確定的電壓識別信號136和預先確定的倍頻(requested ratio)信號138予電壓及頻率控制電路104。可編程暫存器158也可以將工作溫度範圍作為編程的依據。可編程暫存器158透過信號162將溫度範圍傳送到電壓及頻率控制電路104,這將在下文的第9圖和第10圖有更詳細的闡述。根據預先確定的電壓識別信號136,預先確定的倍頻信號138以及溫度範圍信號162的值,電壓識別控制電路126和倍頻控制電路128生成了電壓識別信號144,倍數信號146和鎖相迴路選擇信號118。
工作點數據122包含有相對每一個工作溫度下微處理器102可以穩定工作的工作點設定值(比如電壓和頻率的數對組合)。第13圖是一個實施例中確定工作資料的流程圖。在一個實施例中,工作點數據122包含了一個在每一個工作溫度下所對應的工作點的表格。表格中的每個條目包含了微處理器可穩定工作在預定的電壓識別信號144和預定的工作溫度下,鎖相迴路112的最大頻率倍數值。在一個實施例中,此表格包含了穩壓器模組108能輸出的所有電源電壓輸出信號142的幅值以及相對應的工作溫度與頻率倍數值。在一個實施例中,工作點數據122包含的頻率倍數只對應到部分可能的電源電壓輸出信號142的幅值,這時微處理器102透過工作點數據122包含的資料來計算其他可能的電源電壓輸出信號142的幅值的相對應的頻率倍數值。在另一個實施例中,透過推斷電源電壓輸出信號142的最大幅值和最小幅值,微處理器102計算出其他可能的電源電壓輸出信號142的幅值的相對應的頻率倍數。在另一個實施例中,根據預先儲存在微處理器102中的多項式,微處理器102計算出其他可能的電源電壓輸出信號142的幅值的相對應的頻率倍數。
在一個實施例中,製造商在製造過程中,將工作點數據122儲存在微處理器102中,比方說在微處理器102的硬體邏輯中。相應地,在微處理器102的製造過程中,比方說在測試微處理器102的各元件後,生產微處理器架構時,或者是透過微處理器運行時的一些系統軟體,工作點的資訊被編程進微處理器102的可編程的熔絲,可編程的邏輯,或者非揮發性的記憶體中。
第2圖是本發明將第1圖中的微處理器102用一種性能優化的方法,從現在的P狀態或者是工作點,轉換到一個新的P狀態或者是工作點的流程圖。
在步驟202中,微處理器102從系統軟體接收一個從當前P狀態轉換到一個新的P狀態的請求信號。在一個實施例中,系統軟體用一個改變到新的P狀態的請求信號給第1圖中的可編程暫存器158編程。因此,預先確定的電壓識別信號136和預先確定的核心倍頻信號138被傳送給第1圖中的電壓及頻率控制電路104。在另一個實施例中,只有預先確定的核心倍頻信號138被傳送給電壓及頻率控制電路104,新的電源電壓輸出信號142的值是由工作點數據122確定的。在另外的實施例中,電壓及頻率控制電路104透過工作點的資訊來預先確定溫度,比如最高工作溫度,以便確定微處理器102可穩定工作在預先確定的核心倍頻信號138時的最小電源電壓輸出信號的值。
在步驟204,第1圖中的電壓及頻率控制電路104判斷在步驟202中新的P狀態給定的工作頻率是否比現在的工作頻率高。若否,則流程進入步驟226,若是,則流程進入步驟206。
在步驟206,電壓識別控制電路126增加電壓識別信號144的值以使穩壓器模組108開始增加電源電壓輸出信號142的值。也就是說,電壓識別控制電路126輸出一個比當前的電壓識別信號144的值高的電壓值。並且,穩壓器模組108能夠用一種平穩的方法逐漸增加電源電壓輸出信號的值到一個新的幅值,因此,微處理器102能夠在電源電壓輸出信號轉換期間正常運行。也就是說,在穩壓器模組108改變電源電壓輸出信號142的過程中,微處理器102的運行不需要中斷。流程進入到步驟208。
在步驟208,如果工作電壓電源電壓輸出信號142被升高到了臨近的比較高的電壓識別信號144,電壓及頻率控制電路104從工作點數據122及相關的工作溫度最高工作溫度來判斷是否能夠增加工作核心時脈信號116的頻率。如果能夠增加工作核心時脈信號116的頻率,流程進入步驟216,否則,流程進入步驟212。
在步驟212,電壓識別控制電路126等待穩壓器模組的電壓鎖定信號156,此信號表明電源電壓輸出信號已經增加到了步驟206中的預定值。流程進入到步驟214。
在步驟214,電壓及頻率控制電路判斷是否已經進入了步驟202中新的P狀態。如果沒有進入,流程返回到步驟206中以繼續增加電壓電源電壓輸出信號142,如果需要的話,還將增加工作核心時脈信號116,直到能夠進入步驟202中新的P狀態;否則,流程返回到步驟202,等待下一個P狀態轉換請求。
在步驟216,倍頻控制電路128輸出新的倍數信號146A及146B給尚未運行的鎖相迴路112A及112B,以啟動鎖相迴路112A及112B鎖存下一個匯流排時脈信號148的最高倍數值,而不是根據當前的工作核心時脈信號116,當前的工作核心時脈信號116是透過即將更新的電源電壓輸出信號142的值確定的,此電源電壓輸出信號142的值應與步驟206輸出的電壓識別信號144相對應。一般說來,並未運行的鎖相迴路112A及112B的新頻率倍數信號比當前運行中的鎖相迴路112A及112B的頻率倍數信號大一等級。然而,如果工作點曲線的斜率很大,新的倍數可能是當前倍數的大兩等級甚至更多等級。如果鎖相迴路112A的輸出時脈信號152A被選擇器114選為工作核心時脈信號116,那麼鎖相迴路112A處於運行狀態,鎖相迴路112B並未運行。或者鎖相迴路112B的輸出時脈信號152B被選擇器114選為工作核心時脈信號116,那麼鎖相迴路112B處於運行狀態,鎖相迴路112A並未運行。接下來,流程進入到步驟218。
在步驟218,電壓識別控制電路126等待穩壓器模組的電壓鎖定信號156,此信號表明電源電壓輸出信號142已經增加到了預定的幅值。流程進入到步驟222。
在步驟222,等待鎖相迴路112A及112B輸出頻率鎖定信號154A及154B。這表示時脈信號152A及152B已經被鎖定在新的頻率要求上。流程進入到步驟224。
在步驟224,倍數信號146切換鎖相迴路選擇信號118,以選擇未運行的鎖相迴路112A或112B輸出時脈信號152A或152B來作為工作核心時脈信號116,這使原來未運行的鎖相迴路112A或112B進入運行狀態而原來運行中的鎖相迴路112B或112A進入未運行狀態。當鎖相迴路的倍頻改變時,鎖相迴路112A及112B的輸出信號不能被使用,直到鎖相迴路被鎖存在一個新的頻率下。更進一步說,由於微處理器102包含兩個鎖相迴路即鎖相迴路112A和鎖相迴路112B,因此它們可以交替運行在工作狀態和未工作狀態,工作核心時脈信號116能夠有效地快速進行改變,在本文以及美國專利申請10/816004(CNTR.2216),申請日為4/1/2004卷中都有闡述。在一個實施例中,工作核心時脈信號116在處理器匯流排轉換期間是不發生變化的,因此,在切換鎖相迴路選擇信號118以前,倍頻控制電路128會做一個輔助的監測並等待匯流排轉換階段的完成。如第2圖中的實施例,步驟206到224期間,微處理器能夠正常運行就是因為電壓識別信號144的增加量非常小,比如只有16mV的增加。但是,在其他實施例中,電壓識別信號144的預計增加量可能會相當大,在此情況下,流程返回到216和218以便在啟動未運行的鎖相迴路112A或112B並將其鎖定在一個較高倍數以前,穩壓器模組108能夠先穩定運行。然後流程進入到步驟214。
在步驟226,電壓及頻率控制電路104判斷是否已經進入步驟202中的P狀態,如果已經進入了P狀態,流程進入到步驟202以等待下一個P狀態請求信號的到來;如果沒有進入,流程進入到步驟228。
在步驟228,當電源電壓輸出信號142將要降低到最低的電壓識別信號144時,電壓及頻率控制電路104由工作點數據122以及最高工作溫度來判斷工作核心時脈信號116的頻率是否需要降低。如果不需要降低頻率,流程進入到步驟238,否則,流程進入到步驟232。
在步驟232,倍頻控制電路128輸出一個新的倍數信號146給未運行的鎖相迴路112A或112B以啟動未運行的鎖相迴路112A或112B並鎖存在下一個匯流排時脈信號148的最低倍數值上,而不是鎖存在當前的核心時脈信號116的頻率上,這是由即將更新的電源電壓輸出信號142所要求的,電源電壓輸出信號142與步驟238輸出的電壓識別信號144的值相對應。一般說來,未運行的鎖相迴路112A或112B的倍數信號146A或146B的新幅值比當前運行的鎖相迴路112B或112A的倍數信號的幅值小一等級。然而,如果工作點曲線的斜率很大,新的倍數幅值可能比當前幅值小兩等級甚至更多。流程進入到步驟234。
在步驟234,等待鎖相迴路112A及112B輸出頻率鎖定信號154A及154B。這表示時脈信號152A及152B已經被鎖定在新的頻率要求上。在一個實施例中,在步驟202中等待接收一個向新P狀態改變的請求信號時,未運行的鎖相迴路112A或112B被預鎖存在了下一個倍數最低值上。這是一種優化,因為當轉換到一個更高的P狀態時,電壓及頻率控制電路104必須等待一個很長的時間,以使穩壓器模組108完成增加電源電壓輸出信號142幅值的轉換,這個轉換時間比將未運行的鎖相迴路112A及112B鎖存在下一個最高倍數的時間要長;然而,當轉換到一個較低的P狀態時,電壓及頻率控制電路104能夠立刻降低倍數,而不用等待穩壓器模組108完成降低電源電壓輸出信號142幅值的轉換。流程進入到步驟236。
在步驟236,倍數信號146切換鎖相迴路選擇信號118,以選擇未運行的鎖相迴路112A或112B輸出時脈信號152A或152B來作為工作核心時脈信號116,這使原來未運行的鎖相迴路112A或112B進入運行狀態而原來運行中的鎖相迴路112B或112A進入未運行狀態。流程進入到步驟238。
在步驟238,電壓識別控制電路126減少電壓識別信號144的值以使穩壓器模組108開始降低電源電壓輸出信號142的值。也就是說,電壓識別控制電路126輸出一個新的電壓識別信號144的值,此新的電壓識別信號144的值比現在的幅值少一等級。並且,穩壓器模組108能夠用一種平穩的方法降低電源電壓輸出信號142的值,因此,微處理器102能夠在電源電壓輸出的幅值轉換期間正常工作。流程進入到步驟242。
在步驟242,電壓識別控制電路126等待穩壓器模組108的電壓鎖定信號156,此信號表明電源電壓輸出信號142已經增加到了預定的幅值。流程進入到步驟226。
參照第3圖,這是第1圖中的微處理器102根據第2圖中的實施例進行P狀態轉換時的示意圖。圖中橫軸的引數是以微秒為單位的時間量以及以伏特為單位的工作電壓電源電壓輸出信號142。時間的範圍是從0到375微秒,它與電壓識別信號144增加電源電壓輸出信號142的量用同一座標軸表示,對應的電源電壓輸出信號142範圍是0.7V到1.1V,每一次電壓識別信號144的增加量是16mV。圖中縱軸的引數是以GHz為單位的工作核心時脈信號116的頻率。如第3圖所示,匯流排時脈頻率是200MHz,匯流排時脈倍數的範圍是從2倍到10倍,這使得對應的核心時脈頻率範圍是從400MHz到2GHz。第3圖是依據第2圖的流程所示的從最低的400MHz(2倍),相應的電源電壓輸出信號142為0.7V時的P狀態31到最高的2GHz(10倍),相應的電源電壓輸出信號142為1.1V時的P狀態32的轉換圖。在整個的375微秒狀態轉換期間,微處理器102的性能是在這狀態轉換期間內核心時脈的個數,也就是在第3圖中從最低P狀態31到最高P狀態32的曲線下的長方形的面積。每個長方形是工作核心時脈信號116的頻率與時間的乘積所形成,隨著電源電壓輸出信號142幅值的增加和工作核心時脈信號116的頻率增加,這些長方形面積亦逐漸增加。第3圖的實施例是根據第2圖的流程圖進行狀態轉換,狀態轉換期間的微處理器性能大約是408,000個核心時脈週期。
另外,在全部約375微秒內,從最低P狀態31至最高P狀態32的P狀態轉換需要25次電壓識別信號的改變,其中每次電壓識別信號的改變量是16mV,並需要大約15微秒的時間。
第3圖所做的是從一個P狀態到一個更高的P狀態的轉變,它根據第2圖的流程以優化狀態轉換期間的性能。如第2圖所示,此流程也可以被用作是從一個P狀態到一個更低的P狀態的轉變,以優化狀態轉換期間的性能。然而,在實際情況中,是當轉換到一個更低的P狀態時,運行將被優化以降低功率損耗,也就是,當電壓值被轉換到指定的幅值時,立刻轉換到較低的P狀態以降低工作頻率並保持在較低P狀態的工作頻率下。
參照第4圖,這是微處理器在傳統方法下進行P狀態轉換時的圖像。第4圖與第3圖大體相同,但是在供給電壓逐漸升高到最高P狀態時的1.1V以前,微處理器一直工作在400MHz頻率(2倍)下,直到達到1.1V時,核心時脈頻率直接上升到了2.0GHz(10倍)。因此,如第4圖所示的實例,性能大約只有150,000個核心時脈週期。
從第3圖和第4圖可知,從當前的P狀態到另外一個P狀態所需的時間可能相當的長,一般在幾百個微秒的數量級。第1圖中的微處理器102根據第2圖中的流程運行,其優點是依據雙鎖相迴路112A及112B的設計,在進行P狀態轉換時,不需要停止傳送到核心邏輯電路電路106的工作核心時脈信號116,這使得工作核心時脈信號116的瞬間轉換變的可行。也就是說,電壓及頻率控制電路104能夠完成工作點倍乘的轉換,而不需要中斷核心邏輯電路106執行程式指令。這與傳統的微處理器不同,對傳統的微處理器來說,它必須至少在單鎖相迴路112鎖存新的頻率期間停止運行,例如,這個時間可能是10微秒。另外,透過比較第3圖和第4圖可知,微處理器102中的核心邏輯電路106依照第2圖中的流程運行時,在P狀態轉換期間,它比傳統的方法可獲得3倍的執行指令的時脈週期數,這可能是幾百微秒。這兩種性能優化是相當大的,特別是在溫度變化比較大的環境下,工作系統要求的P狀態轉換比較頻繁。
由第2圖中,從步驟206到步驟224或者是從步驟228到步驟242的流程中可以看出,隨著電壓識別信號144的增加或者減少,電壓及頻率控制電路104可能不會進行相應的倍數的增加或者減少,而反之亦然。這取決於電壓識別信號144的每次的改變量,比如16mV,取決於倍數變化時的頻率改變量,比如200MHz,取決於儲存在工作點數據122中的有效工作點數值或者是從工作點數據122中計算得到的有效工作點數值。因此,比如假設在轉換到一個更高的P狀態期間,微處理器102當前工作在1.2GHz(6倍)和0.9V。電壓及頻率控制電路104將運行步驟206以增加電源電壓輸出信號142到0.916V。如果工作點數據122表明在0.916V時,微處理器102能穩定工作在1.2GHz(6倍),但不能穩定工作在1.4GHz(7倍),那麼電壓及頻率控制電路104放棄運行步驟216到步驟224並且繼續工作在1.2GHz直到電源電壓輸出信號達到一個工作點數據表明可以穩定工作在1.4GHz時的新幅值,此時,電壓及頻率控制電路104反覆運行步驟216到步驟224。在第3圖所示的實例中,電壓及頻率控制電路104發生了25次電壓識別信號144的改變和8次工作核心時脈信號116倍數的改變,因此,大約每3次電壓識字信號144的改變後,電壓及頻率控制電路104進行1次工作核心時脈信號116倍數的改變。
如第3圖所示的實例中,假定了一條單一的最高工作溫度的曲線。然而,第2圖中的步驟將被第5圖的實例所用,以實現一個包含了多個工作溫度時的工作點的轉換。
參照第5圖,這是當微處理器102的工作溫度低於某一溫度幅值,根據本發明,為了節省功率損耗,第1圖中的微處理器102減少工作電壓時的流程圖。流程開始於步驟502。
在步驟502,微處理器102的製造商選擇一個最高工作溫度(Tmax),使用者將微處理器102工作在此溫度下,並將最高工作溫度的值儲存在工作點數據122中。最高工作溫度是由裝置的技術規格,客戶的要求,由電腦製造商提供的製冷系統以及其他一些因素決定的。在一個實施例中,選擇的最高工作溫度是攝氏100°,雖然其他的值可能也可以被選擇。在另一個實施例中,製造商根據市場的需求選擇最高工作溫度。而有時,製造商為了保證用戶可以穩定運行微處理器102而選擇最高工作溫度,在此溫度下,微處理器終生可以穩定運行。在另外的實例中,製造商提供一個10年的保證,雖然其他的值也可以被選擇。在另一個實施例中,製造商根據微處理器的加速壽命測試法來確定最高工作溫度。在一個實例中,最高工作溫度的值被編程進了微處理器102的可編程熔絲(programmable fuse)中。流程進入到步驟504。
在步驟504中,微處理器102的製造商為微處理器102至少選擇一個可替換的工作溫度(Talt),它比最高工作溫度的值要低,並且要將可替換工作溫度包含進工作點數據122中。在一個實施例中,微處理器102的生產製造商可能會選擇多個可替換工作溫度的值以便確定在步驟506中以及第14和15圖中所涉及到的工作點的資訊,在另一個實施例中,微處理器102可能工作在一個內定的可替換工作溫度下,此時,系統軟體將透過程式替換另一個最高工作溫度的值到電壓及頻率控制電路104所使用的暫存器中。在另外的實施例中,內定的可替換工作溫度的值被編程進了微處理器102的可編程熔絲中。流程進入步驟506。
在步驟506,微處理器102的製造商為每一個最高工作溫度和可替換工作溫度確定其工作點資訊。(例如,每一工作頻率的電壓值表,或至少兩個頻率的電壓值,其中可從這兩個頻率的電壓值計算出其他頻率中間電壓值。)在一個實施例中,最高工作溫度和可替換工作溫度的工作點資訊是由第13圖流程所決定的。流程進入到步驟508。
在步驟508,當微處理器102工作在一個預定的工作頻率時,微處理器102的工作溫度將被監測。也就是說,溫度感測器132監測當前的工作溫度134並將此溫度傳送給第1圖中的電壓及頻率控制電路104。在一個實施例中,預定的工作頻率是一個內定值,它只是一個微處理器102能夠工作的頻率。在另一個實施例中,系統軟體使微處理器工作在一個指定的工作頻率下,比如,系統軟體可能是系統的BIOS或者是作業系統。在另外的實施例中,系統軟體透過將性能狀態(P狀態)的值編程進微處理器102中來使微處理器工作在一個指定的工作頻率下。在另一個實施例中,P狀態的值遵守高級配置和電源管理介面(ACPI)規範,比方說ACPI的3.0規範。流程進入到步驟512。
在步驟512,電壓及頻率控制電路104判斷當前溫度是否比可替換工作溫度的幅值低。由於各種原因,當前溫度可能會比可替換工作溫度的幅值低,比如,由於執行程式而導致的微處理器工作量減少,或者是運行環境的改變,例如,機房空調開啟或者拿走了微處理器102附近阻礙空氣流通的障礙物。更進一步說,如第5圖所示,電壓及頻率控制電路104透過減少電源電壓輸出信號142來減少工作溫度134,以便減少微處理器的功率損耗。另外,由於微處理器102工作在較低電壓下時,消耗的功率比較小,它的工作溫度134便能夠一直低於可替換工作溫度的值,因此,更有利於長時間的工作在較低溫度下以節省功率損耗。如果當前的工作溫度134不低於可替換工作溫度的值,流程進入到步驟522,否則,流程進入到步驟514。
在步驟514,電壓及頻率控制電路104透過微處理器102工作在當前頻率和可替換工作溫度時的工作點資訊來確定轉換電壓的值。電壓及頻率控制電路104可能從一個表中查詢電壓值或者是透過儲存在工作點資訊122中的工作點數據來確定電壓值。流程進入到步驟516。
在步驟516,電壓及頻率控制電路104判斷微處理器102當前是否工作在步驟514中確定的工作電壓下。如果是,流程返回到步驟508,否則,流程進入到步驟518。
在步驟518,電壓及頻率控制電路104減少工作電壓到步驟514中確定的電壓幅值,也就是輸出合適的電壓識別信號144的值給第1圖中的穩壓器模組108,這相應地提供了一個降低的電源電壓輸出信號142的值給微處理器102。在實施例中,電壓及頻率控制電路104透過相當小的幅度來減少電源電壓輸出信號142,例如幅度為16mV,直到其達到步驟514中所確定的幅值。流程進入步驟508。
在步驟522,電壓及頻率控制電路104判斷微處理器102是否工作在當前頻率的最高電壓下,例如,當前頻率在最高工作溫度下的電壓值。如果是,流程進入到步驟508,否則,流程進入到步驟524。
在步驟524,電壓及頻率控制電路104提高工作電壓到最大值。在一個實施例中,電壓及頻率控制電路104透過相當小的幅度來增加工作電壓電源電壓輸出信號142,例如幅度為16mV,直到其達到最大值。流程返回到步驟508。
根據第14和15圖所示的另一個實施例,微處理器102的製造商確定了多個替換溫度,而不僅是只有一個替換溫度,並儲存了對應於多個替換溫度的工作點資訊。在此實施例中,隨著由於工作量和工作環境的不同而引起的溫度的變化,微處理器102的運行電壓可能在最高溫度的電壓和多個替換溫度的電壓中轉換。因此,要根據所要求的頻率或者性能來使微處理器運行在較低的功率損耗下,比如,可能由作業系統或者其他的軟體來確定頻率和性能要求。
參照第6圖,這是與第5圖的實例相對應的微處理器的運行圖像。圖中橫軸的引數是以伏特為單位的電源電壓輸出信號142。圖中縱軸的引數是以GHz為單位的工作核心時脈信號116。如第6圖所示,匯流排時脈頻率是200MHz,匯流排時脈倍數的範圍是從2倍到10倍,這使得對應的工作核心時脈信號116範圍是從400MHz(2倍)到2GHz(10倍)。圖像中有兩條電壓及頻率曲線,一條是最高工作溫度下的,在此實例中為攝氏100°,一條是可替換工作溫度下的,在此實例中為攝氏60°。如第6圖所示的實例,1.1V的工作點對應的在最高工作溫度下的工作頻率為2.0GHz,0.972V的工作點對應的在可替換工作溫度下的工作頻率為2.0GHz。因此,在第6圖所示的實例中,當工作在2.0GHz時,如果電壓及頻率控制電路104判斷工作溫度134低於60攝氏度,電壓及頻率控制電路104可能會將電源電壓輸出信號142的值從1.1V降低到0.972V。如第6圖所示,如果工作溫度134低於可替換工作溫度的值,電源電壓輸出信號142可能會根據每一個工作核心時脈信號116的值而降低到一個比較低的幅值,此時所能節省的微處理器102的功率損耗比工作在電源電壓輸出信號142的最高值和工作核心時脈信號116時所能節省的功率損耗要多。
由第5圖和第6圖可知,此實例可以在所要求的性能水平下,降低微處理器102消耗的功率。下面的例子將做進一步的闡述。假定電腦系統100只被用來看DVD,則作業系統相應地判斷只需要一個較低的性能要求和能夠降低功率損耗。因此,作業系統可以透過編程使微處理器102工作在1.2GHz的時脈頻率上。假定微處理器102的工作溫度134低於可替換工作溫度的幅值60攝氏度,則電壓及頻率控制電路104降低電源電壓輸出信號142到一個較低的幅值上,以進一步減少微處理器102的功率損耗。
第5圖和第6圖所示的實例的另一個優點並不僅僅是潛在地降低了微處理器102的動態功率損耗,而是潛在地降低了微處理器102的靜態功率損耗。靜態功率損耗的主要是因為即使沒有狀態轉換時,電晶體中也會有相當大的漏電。漏電與工作電壓成正比。因此,根據第5圖和第6圖的實例來降低電源電壓輸出信號142也可以減少靜態功率損耗。更進一步說,即使是電源電壓輸出信號142的值減小的幅度很小,都能節省相當大的功率損耗。
參照第7圖,這是根據本發明,當微處理器102的工作溫度低於某一幅值時,第1圖中的微處理器102增加其性能的流程圖。第7圖中所提到的方法在這裏被稱作“超載”或者是“超載態”以區別於傳統的超頻。在傳統的超頻中,其微處理器102並不監測其工作溫度並根據工作溫度而在最高倍數和超載倍數間調整其工作頻率的倍數值。流程進入到步驟704。
在步驟704,製造商挑選出一個最高工作溫度,在此工作溫度下,微處理器102可正常工作,此溫度被稱為是最高工作溫度並被包含進了工作點數據122中。最高工作溫度是由裝置的技術規格,客戶的要求,由電腦製造商提供的製冷系統以及其他一些因素決定的。在一個實施例中,選擇的最高工作溫度是攝氏100°,雖然其他的值可能也可以被選擇。在另一個實施例中,製造商根據市場的需求選擇最高工作溫度。而有時,製造商為了保證用戶可以穩定運行微處理器102而選擇最高工作溫度,在此溫度下,微處理器終生可以穩定運行。在另外的實例中,製造商提供一個10年的保證,雖然其他的值也可以被選擇。在另外的例子中,製造商根據微處理器的加速壽命測試法來確定最高工作溫度。在一個實例中,最高工作溫度的值被編程進了微處理器102的可編程熔絲中。流程進入到步驟706。
在步驟706中,製造商確定一個最高工作頻率(Fmax),在此頻率下,微處理器102可穩定工作在最高工作溫度下。製造商還會確定一個最高工作電壓(Vmax),這是微處理器102在最高工作頻率和最高工作溫度下工作時的電壓。在此實施例中,最高工作溫度的工作點數據是由第13圖的實例確定的。在第8圖所示的實例中,最高工作電壓和最高工作頻率的值分別為1.1V和2.0GHz(10倍)。流程進入到步驟708。
在步驟708,製造商挑選出一個超載時的工作溫度(Tov)並被包含進了工作點數據122中。超載工作溫度的值比最高工作溫度的值要低。超載工作溫度也是由裝置的技術規格,客戶的要求,由電腦製造商提供的製冷系統以及其他一些因素決定的。在一個實施例中,如第8圖所示,選擇的超載工作溫度是攝氏75°,雖然其他的值可能也可以被選擇。流程進入到步驟712。
在步驟712中,製造商確定最高超載工作頻率(Fov),在此頻率下,微處理器102可穩定工作在超載工作溫度下。製造商還會確定一個最高超載工作電壓(Vov),這是微處理器102在最高超載工作頻率和超載工作溫度下工作時的電壓。在此實施例中,超載工作溫度的工作點數據是由第13圖的實例確定的。在第8圖所示的實例中,最高超載工作電壓和最高超載工作頻率的值分別為1.132V和2.4GHz(12倍)。不同的幅值要求使微處理器102工作在超載狀態,而最高工作溫度、超載工作溫度、最高工作頻率、最高超載工作頻率、最高工作電壓、最高超載工作電壓等資料值被儲存進微處理器102並被當作是第1圖中工作點數據122的一部分。流程進入到步驟714。
在步驟714,監測微處理器102的工作溫度。也就是說,溫度感測器132監測微處理器102當前的工作溫度,並把工作溫度134傳送給第1圖中的電壓及頻率控制電路104。開始時,微處理器102工作在最高工作電壓和最高工作頻率。在一個實施例中,系統軟體透過編程微處理器102而控制微處理器102可以或者不可以工作在超載狀態下。流程進入到步驟716。
在步驟716,電壓及頻率控制電路104判斷當前工作溫度134是否比步驟708中確定的超載工作溫度的幅值低。由於各種原因,當前溫度可能會比超載工作溫度的幅值低,比如,由於執行程式而導致的微處理器工作量減少,或者是運行環境,或是製冷系統的改變。更進一步說,如第7圖所示,電壓及頻率控制電路104透過減少工作核心時脈信號116以減少當前的工作溫度134,以便減少微處理器102的功率損耗。如果當前的工作溫度134不低於超載工作溫度的值,流程進入到步驟724,否則,流程進入到步驟718。
在步驟718,電壓及頻率控制電路104判斷工作核心時脈信號116是否已經達到了最高超載工作頻率。如果達到了,流程返回到步驟714以繼續監測環境溫度;否則,流程進入到步驟722。
在步驟722,如第8圖所示,電壓及頻率控制電路104控制穩壓器模組108和鎖相迴路112A及112B以使微處理器102工作在最高超載工作頻率和最高超載工作電壓下。並且,在這裏所描述的電壓及頻率控制電路104使微處理器在最高超載工作頻率和最高超載工作電壓下轉換的方法與第2圖中從步驟206到步驟224的轉換過程相類似,依據超載工作溫度曲線,微處理器102能夠穩定工作在超載工作溫度下。流程返回到步驟714以繼續監測當前的工作溫度134。
在步驟724,電壓及頻率控制電路104判斷工作核心時脈信號116是否已經達到了最高工作頻率。如果達到了,流程返回到步驟714以繼續監測環境溫度;否則,流程進入到步驟726。在此,第9圖中的TM3裝置可能與第7圖中的超載裝置結合使用,因此,流程也可能從步驟724進入到第9圖中的步驟918。
在步驟726,如第8圖所示,電壓及頻率控制電路104控制穩壓器模組108和鎖相迴路112A及112B以使微處理器102工作在最高工作頻率和最高工作電壓下。並且,在這裏所描述的電壓及頻率控制電路104使微處理器在最高工作頻率和最高工作電壓下轉換的方法與第2圖中從步驟226到步驟242的轉換過程相類似,依據最高工作溫度曲線,微處理器102能夠穩定工作在溫度最高的工作溫度下。由於步驟716中所提及的各種原因,當前溫度可能會比超載工作溫度的幅值高,比如,微處理器102工作量的增加,或者是運行環境的改變。更進一步說,根據步驟724到726,電壓及頻率控制電路在需要的情況下,可能會透過當前的工作溫度134的增加和降低工作核心時脈信號116以避免微處理器102的溫度過高,在可能的情況下,可以在其他時間啟動微處理器102以工作在超載狀態。流程返回到步驟714以繼續監測當前的工作溫度134。
參照第8圖,這是第1圖中的微處理器102根據第7圖中的實施例而工作在超載狀態時的圖像。圖中橫軸的引數是以伏特為單位的電源電壓輸出信號142。電源電壓輸出信號142範圍是從0.7V到1.1V。圖中縱軸的引數是以GHz為單位的工作核心時脈信號116。如第8圖所示,匯流排時脈頻率是200MHz,匯流排時脈倍數的範圍是從2倍到10倍,這使得對應的核心時脈頻率範圍是從400MHz到2GHz。第8圖是對應於第7圖的流程的,從工作點數據為最高工作電壓和最高工作頻率即1.1V和2.0GHz,溫度為最高工作溫度即攝氏100°轉換到超載工作點,也就是最高超載工作電壓和最高超載工作頻率即1.132V和2.4GHz,溫度為超載工作溫度即75攝氏度時的轉換曲線81。
超載狀態下運行的一個優點是可以在傳統的包含微處理器102的電腦系統100所提供的製冷系統下工作。超載狀態可以使微處理器102動態運行在超載頻率下或者是低於超載頻率下,這主要取決於工作量和運行環境的不同,因此,傳統的製冷系統對於微處理器102來說,製冷性能是足夠的。相反的,傳統的超頻方法沒有監測微處理器102的工作溫度以便自動動態調整頻率。也就是說,頻率被固定在了超頻上,或者是最好情況下,可以由用戶透過BIOS來調整頻率,這並不能確保微處理器的穩定運行。超載狀態與超頻相比,提供了一個相似的優點,那就是可以將一些電子觸點連接到微處理器的週邊以便啟動匯流排頻率倍數,比如由一些AMD Athlon元件提供。超載的另一個優點是連接到前端匯流排的其他元件不需要工作在一個較高的時脈頻率下,因此,不會產生傳統的製冷系統不能滿足要求以及性能不穩定的問題。超載的另外的優點是由於頻率的變化是在微處理器102內部的,因此在頻率變化時,不需要中斷外部的處理器匯流排。超載的優點還包括由於超載方法能夠使微處理器102製造商測試在超載狀態時的工作狀況,因此可以保證微處理器在超載工作點下穩定工作,這是傳統的超頻方法不能實現的。
參照第9圖,根據本發明,一種可以使第1圖中的微處理器在一個特定的溫度範圍內動態工作在最高性能或者最高性能左右的方法。第9圖中的方法被稱作是“TM3”,因為它是對Intel的“TM2”的改進。流程從步驟902開始。
在步驟902,選擇了一個工作溫度的範圍。這個工作範圍是微處理器102可以在最高性能下運行的範圍。工作範圍是由最低工作溫度(Tmin)和最高工作溫度(Tmax)確定。在一個實施例中,最低工作溫度和最高工作溫度可能是只給定最低工作溫度或者最高工作溫度其中一個溫度和一個增量,或者是一個範圍,或者是最低工作溫度和最高工作溫度的值。在一個實施例中,系統軟體將此範圍編程進了可編程暫存器158。在另一個實施例中,可編程值可能是由用戶來選擇的。溫度範圍162被提供給第1圖中的電壓及頻率控制電路104。在另外的實施例中,溫度範圍162由微處理器102的製造商決定。在一個實施例中,預先指定的工作範圍是內定溫度範圍,可以被可編程暫存器158改變。而在另一個實施例中,最高工作溫度的值由微處理器102的製造商預先指定而最低工作溫度的值是由系統軟體編程確定。在另外的實施例中,TM3的特性由系統軟體來決定是否應用。流程進入到步驟904。
在步驟904,監測微處理器102的工作溫度。也就是說,溫度感測器132監測微處理器102當前的工作溫度134並將此溫度傳送給第1圖中的電壓及頻率控制電路104。開始時,微處理器102工作在內定的工作核心時脈信號116與電源電壓輸出信號142工作點。然而,過一段時間後,隨著工作溫度134的變化,電壓及頻率控制電路104在許多不同的工作點間轉換。許多原因例如工作量,外部環境以及製冷系統的變化,都會導致工作溫度134的不同。流程進入到步驟906。
在步驟906,電壓及頻率控制電路104判斷當前溫度是否比步驟902中確定的最高工作溫度高。如果不高的話,流程進入步驟918,否則,流程進入步驟908。
在步驟908,電壓及頻率控制電路104判斷電源電壓輸出信號142是否已經是由穩壓器模組108提供的最低的電壓識別信號144。如第10圖所示,電源電壓輸出信號142在0.7V時是由穩壓器模組108提供的最低電壓。如果電源電壓輸出信號142已經是最低的電壓識別信號144,流程返回到步驟904以繼續監測微處理器溫度,否則,流程進入步驟912。
在步驟912,電壓及頻率控制電路104從工作點數據122判斷當工作電壓電源電壓輸出信號142降低到步驟916中的下一個最低電壓識別信號144時,是否工作核心時脈信號116的頻率需要被降低。如果不需要,流程進入到步驟916;否則,流程進入到步驟914.
在步驟914,倍頻控制電路128使工作核心時脈信號116的頻率轉換到比當前工作核心時脈信號116的頻率低的下一個匯流排時脈信號148的最低倍數,這是由將在步驟916輸出的新的電壓識別信號144所要求的。更進一步說,這裏的轉換由第2圖中的步驟226到242來實現,因此,避免了傳統方法中在等待鎖相迴路鎖存時停止核心時脈而引起的性能降低。也就是說,由於微處理器102能夠無損地有效地進行工作點轉換,例如,微處理器102可以透過雙鎖相迴路有效執行工作核心時脈信號116的頻率的瞬間轉換,也能夠在穩壓器模組108改變電源電壓輸出信號142的幅值的過程中繼續穩定工作,電壓及頻率控制電路104能夠在必要的條件下進行相當頻繁的工作點轉換。例如,當工作量頻繁地改變時,使微處理器102工作在步驟902指定的溫度範圍162裏。流程進入到步驟916。
在步驟916,電壓識別控制電路126減少電壓識別信號144的值以使穩壓器模組108轉換到下一個輸出的最低電源電壓輸出信號142的值上。並且,這裏的轉換由第2圖中的步驟226到242來實現,避免了性能的降低,因為在穩壓器模組108改變電源電壓輸出信號142的幅值的過程中,微處理器102能夠繼續穩定工作。因此,當需要使微處理器102工作在步驟902所確定的溫度範圍中時,電壓及頻率控制電路104能夠實現頻繁地工作點的轉換。流程返回到步驟904以繼續監測溫度134。
在步驟918,電壓及頻率控制電路104判斷當前溫度134是否比步驟902中確定的最低工作溫度小。如果不低的話,流程返回到步驟904以繼續監測當前的工作溫度134,否則,流程進入步驟922。
在步驟922,電壓及頻率控制電路14判斷工作核心時脈信號116是否達到了鎖相迴路所能提供的最高工作頻率。在第10圖所示的實例中,工作頻率2.0GHz(10倍)是由微處理器102提供的最高工作頻率。然而,由於第9圖是與第7圖相互關聯的,因此,微處理器102所提供的最高工作點是超載時的工作點,比如,第8圖中的超載工作點是在2.4GHz(12倍)和1.132V。如果工作核心時脈信號116已經在最高工作頻率,流程返回到步驟904以繼續監測當前的工作溫度134,否則,流程進入步驟924。
在步驟924,電壓識別控制電路126增加電壓識別信號144的值以使穩壓器模組108轉換到下一個輸出的最高的電源電壓輸出信號142值上。並且,這裏的轉換由第2圖中的步驟206到224來實現。流程進入步驟926。
在步驟926,電壓及頻率控制電路104從工作點數據122判斷當電源電壓輸出信號142升高到步驟916中的下一個最高電壓識別信號144時,是否工作核心時脈信號116的頻率需要被升高。如果不需要,流程返回到步驟904以繼續監測當前的工作溫度134,否則,流程進入步驟928。
在步驟928,倍頻控制電路128使工作核心時脈信號116的頻率轉換到比當前工作核心時脈信號116的頻率高的下一個匯流排時脈信號148的最高倍數,這是由將在步驟924輸出的新的電壓識別信號144所要求的。更進一步說,這裏的轉換由第2圖中的步驟206到224來實現,因此,避免了傳統方法中在等待鎖相迴路鎖存時停止核心時脈而引起的性能降低。流程返回到步驟904以繼續監測當前的工作溫度134。
參照第10圖,這是第1圖中的微處理器102根據第9圖中的實施例而動態工作在最優化性能及指定的溫度範圍時的圖像。圖中橫軸的引數是以伏特為單位的電源電壓輸出信號142。電源電壓輸出信號142範圍是從0.7V到1.1V。圖中縱軸的引數是以GHz為單位的工作核心時脈信號116。如第10圖所示,匯流排時脈頻率是200MHz,匯流排時脈倍數的範圍是從2倍到10倍,這使得對應的核心時脈頻率範圍是從400MHz到2GHz。根據第9圖,第10圖是在最高工作點1020和最低工作點1010間的多個中間工作點中轉換的示意圖。在一個實施例中,製造商測定微處理器在某一溫度和最高工作頻率下的最高工作電壓,由此可確定最高工作點,製造商還測定微處理器在同一溫度和最低工作頻率下的最低工作電壓,由此可確定最低工作點,而透過最高工作電壓和最低工作電壓可計算得到多個中間電壓,由此可確定多個中間工作點。如第10圖所示,在不中斷工作核心時脈信號116以保持工作溫度在一個指定範圍內的情況下,電壓及頻率控制電路104不斷地監測工作溫度134並且在不同的鄰近工作點間轉換。因此,第9圖中的實施例可以使微處理器102在給定的時間內,在一定的工作量,一定的外部環境和製冷系統的狀態下,工作性能接近最高性能要求。
第10圖中,A標示當工作溫度下降低於Tmin時,在工作點之間向上轉換,直到溫度下降至Tmin以下,或達到最高工作點為止。B標示當工作溫度上升超過Tmax時,在工作點之間向下轉換,直到溫度上升至Tmax以上,或達到最低工作點為止。
參照第11圖,此圖是TM2熱監控和自動熱保護裝置的工作圖。在Intel的說明文檔中,TM2的運行是在背景部分接近最後的位置提到的。第11圖所提供的工作點數據值並不能在特定的Intel處理器中使用。第11圖中提供的資料只是用來與第10圖中的資料作比較的。
按照TM2方法,系統軟體將低一點的工作點數據(如符號1110所示)編程到與其相鄰的高一點的工作點數(如符號11120所示)據中,因此,TM2裝置可能不能夠在工作量比較大或者是環境溫度比較高的情況下提供必要的熱保護。而如果系統軟體將低一點的工作點數據編程到位置更遠一點的高一點的工作點數據中,TM2裝置按照時脈週期來算,將會浪費大量的性能,因為,這只是兩個距離比較遠的工作點間的轉換。隨著狀態的轉換,TM2裝置迫使系統軟體在可能的熱狀態下,對工作點間隔(這將轉換為性能間隔)和熱保護能力做一個平衡。相反地,透過第9圖以及比較第10圖和第11圖可以得到,TM3裝置不會迫使系統軟體做這樣的性能和熱保護的平衡,TM3裝置能夠提供的是:捕獲較小間隔的工作點數據間轉換的性能和一個較大範圍的工作點數據以便在工作量比較大或者是環境溫度比較高的情況下提供必要的熱保護。隨著狀態轉換,一旦TM2達到其最高工作溫度,它立刻轉換到低性能的工作點數據,這是不必要的,因為一個到中間狀態點的轉換可能有效地降低工作溫度到最高溫度以下。與此相反,TM3裝置能夠透過只轉換到中間工作點來使工作溫度保持在給定的範圍內,因此可以有效地獲取附加性能。
TM3與TM2相比的另一個優點是,它不需要像TM2裝置那樣在轉換到一個較高的工作點以前,需要在較低的工作點運行一段固定的時間,這將花費一些潛在的功率損耗。當溫度達到一個較低的範圍時,TM3裝置將轉換到一個較高的工作點。並且,微處理器102包含一個被稱作是雙鎖相迴路結構的時脈產生電路,這方便在不停止微處理器運行的情況下,實現從當前工作頻率到一個新的工作頻率的轉換,因此,可以避免由於工作量和運行環境所引起的頻繁工作頻率轉換而帶來的對性能的負面影響。
TM3的另一個優點是當有一些不好的影響時,它可能會為現有的熱裝置提供一些替代的方法。例如,當微處理器的工作溫度超過一定值時,一些系統會提高具有多種風速的風扇的轉速以降低工作溫度。一般地,風扇加速的不良影響是增加噪音。TM3更提供了一種選擇方法來在不增加風扇噪音的情況下降低工作溫度。
此外,Intel的說明文檔中指出,溫度範圍是由TM2的製造商決定的。與此相反的是,根據TM3的實施例,溫度範圍是由用戶來選擇的。因此,比如,需要透過降低電池溫度來延長電池壽命時,會要求對微處理器產生的熱量進行比較,此時,TM3的實施例可以用系統軟體將微處理器編程在一個較低的溫度範圍以達到要求。
最後,本發明的發明人觀察到由於CMOS半導體積體電路的物理特性,在一塊生產好的元件上面,可能會有一些元件是不能工作在最高工作電壓和最低工作頻率下的。當從一個高的工作點轉換到一個低的工作點時,TM2裝置首先降低頻率,然後降低電壓。因為TM2裝置中電腦機制的問題,較低的工作點可能被編程進了一個最低頻率,一些壞了的元件可能需要從產量中去除,因為他們不能在TM2裝置下正常運行。因此,TM3的一個優點是產量將會增加,因為頻率的增加是分段式的,所以微處理器102在工作在最高電壓下時,並不是工作在最低頻率。
參照第12圖,這是將本發明的第5、7及9圖結合到一起的實施例的圖像。也就是說,第12圖是將第9圖的TM3技術,第7圖中的超載技術以及第5圖中降低功率損耗的技術結合到一起以提高微處理器102的性能同時降低微處理器102的功率損耗。更進一步說,在可能的情況下,為了改進微處理器102在工作點轉換期間的性能,可能會用與第2圖相似的方法來進行不同的工作點間的轉換。
在第12圖的實例中,工作溫度升高到了第9和10圖中提到的最高工作溫度。因此,當保持工作溫度在第8圖和第10圖中的TM3技術中提到的最高工作溫度和最低工作溫度之間時,電壓及頻率控制電路104使微處理器工作在介於最高工作點和最低工作點間的中間工作點,這個工作點是在工作量和環境溫度所能容許的最高工作性能或者此工作性能左右。之後,工作量或者工作環境改變導致溫度下降,則電壓及頻率控制電路104會根據第9圖的流程相應地將微處理器102轉換到第9圖所涉及的最高工作電壓/最高工作頻率的工作點。
之後,工作量或者工作環境改變導致溫度下降到第7圖和第8圖中提到的超載工作溫度以下,則電壓及頻率控制電路會104根據第7圖的流程相應地將微處理器102轉換到第7圖的超載技術所涉及的最高超載工作電壓/最高超載工作頻率的工作點。
之後,工作量或者工作環境改變導致溫度下降到第5圖和第6圖中提到的可替換工作溫度以下,則電壓及頻率控制電路104會根據第5圖的流程相應地將微處理器102轉換到第5圖的降低功率損耗技術所涉及的可替換工作電壓/可替換工作頻率的工作點。
第12圖中,(1)表示溫度在Tmax與Tmin之間,因此,工作在Tmax與Tmin之間最佳工作點;(2)表示溫度下降,因此轉換工作在Vmax,Fmax;(3)表示溫度下降至Tov以下,因此轉換工作在Vov,Fov;(4)表示溫度下降至Talt,因此轉換工作在Valt,Falt。
除了第12圖中將所有的技術特徵應用到同一個實施例之外,也可以不將所有的技術特徵都應用到一起。例如,在一個實施例中,第5圖中的流程和第7圖中的流程結合到一起使用。也就是說,微處理器102可以首先工作在超載工作點,如果可替換工作溫度的溫度低於超載溫度並且工作溫度達到了可替換工作溫度時,工作電壓將被從超載電壓降低到可替換工作溫度的工作點電壓,以便在降低功率損耗的同時可以享受到超載狀態下的功率損耗性能。在另一個實施例中,第7圖中的流程和第9圖中的流程結合到一起使用。也就是說,當微處理器102工作在由最高工作溫度和最低工作溫度的界定的可選擇溫度範圍時,如果可替換工作溫度的溫度低於最低工作溫度的溫度並且工作溫度達到了可替換工作溫度時,工作電壓將被從當前電壓降低到可替換工作溫度的工作點電壓,以便在降低功率損耗的同時可以享受到指定溫度範圍下的最優性能或者接近最優性能。
參照第13圖,這是根據本發明,產生第1圖中的微處理器102所包含的工作點的流程圖。流程從步驟1302開始。
在步驟1302,製造商選擇了一個微處理器102可以穩定工作的最高工作溫度,例如第5、7和9圖中所提到的最高工作溫度。流程進入步驟1304。
在步驟1304,製造商結合穩壓器模組108的電源電壓輸出信號142的範圍(比如電壓識別信號144)以及鎖相迴路112的時脈頻率的範圍(比如倍數信號146)來測試微處理器102在各個可能的工作點的運行狀況。當維持運行在已選擇的工作溫度下時,製造商將判斷微處理器102是否能夠在工作點和選擇的工作溫度下穩定工作。流程進入步驟1306。
在步驟1306,製造商為每一個電壓識別信號144選擇一個最高頻率倍數信號146,在此頻率倍數下,微處理器102可以正常工作。製造商可能會用選擇的工作點來為選擇的工作溫度製作一條曲線。工作點曲線一般被稱作“shmoo”曲線。第3、6、8、12以及15圖就是工作點曲線的示例圖,在這些圖中,曲線都是直線。透過判斷工作點數據122,製造商可以確定微處理器102是否可以穩定運行在工作點曲線上或者是曲線以下。特別是,微處理器102可以利用工作點數據122來管理功率損耗,比如第2圖中的步驟208、228和第9圖中的步驟912以及926。另外,製造商可能會利用步驟1304中的測試結果來將部件分類到不同的市場要求類別中。流程進入到步驟1308。
在步驟1308,製造商判斷是否還有工作溫度需要來測試運行的穩定性。如果是,流程進入到步驟1312,否則的話,流程結束。
在步驟1312,微處理器102的製造商為每一個需要獲得的工作點資訊選擇一個工作溫度。特別是,製造商可能會選擇第5圖中可替換工作溫度的值,第7圖中超載工作溫度的值以及第9圖中最低工作溫度的值。另外,製造商可能會為執行步驟1304到1306而選擇一些不同的工作溫度,也可能會在這些步驟的基礎上選擇超載工作溫度、可替換工作溫度和最低工作溫度的值,而不是由以前的經驗來選擇超載工作溫度、可替換工作溫度和最低工作溫度的值。流程返回到步驟1304。
參照第14圖,根據另一個實施例,這是第1圖中的微處理器102在工作溫度低於相應的低工作溫度閾值時,為了節省功率損耗而降低工作電壓的流程圖。與第5圖中只包含一個可替換的工作溫度值不同,第14圖中的實施例包含了多個可替換的工作溫度值以便在更小溫度變化的範圍內降低功率損耗。流程從步驟1402開始。
在步驟1402,製造商測試在給定頻率F和最高工作溫度T[N],也就是這裏提到的最高工作溫度下,微處理器102可以穩定工作的最小電壓V[N]。特別是,製造商確定在頻率F和溫度T[N]下,微處理器102可以穩定工作的電壓識別信號144的最高值。在這個實施例中,N是在頻率F下的不同電壓識別信號144值的個數,比如工作點的個數,在這N個值下,電壓及控制電路104可能會使微處理器102的工作溫度134低於N-1個不同的值。製造商為每一個工作核心時脈信號116的每一個可能的倍數信號146確定一個V[N]的值。流程進入到步驟1404。
在步驟1404,製造商測試在給定頻率F和可替換工作溫度T[1]下,微處理器102可以穩定工作的最小電壓V[1],其中,T[1]比T[N]的值要小。製造商為每一個工作核心時脈信號116確定一個V[1]的值。流程進入到步驟1406。
在步驟1406,製造商在步驟1402和步驟1404所確定的V[N]和V[1]幅值之間選擇N-2個中間的電壓識別信號144的值中的一個。在一個實施例中,製造商計算V[N]和V[1]的差值,並將其除以N-1以確定兩個相鄰中間電壓值間的間距。在另一個實施例中,製造商選擇的中間的N-2個電壓識別信號144的值之間甚至是沒有間隔的。在另外的實施例中,所有的V[N]和V[1]間的電壓識別信號144的值都被包含了。而對一些F值來說,V[N]和V[1]間的間距可能不足以包含N個不同的電壓識別信號144的值。一般情況下,對於不同的F來說,N的值是不同的。流程進入到步驟1408。
在步驟1408,製造商確定中間的N-2個的可替換溫度的值,在此溫度值下,微處理器可以穩定工作在頻率F,F是與在步驟1406中確定的電壓識別信號144相對應的。在一個實施例中,製造商計算相鄰的與T[N]和T[1]的值相對應的可替換電壓的間隔,此間隔與其相對應的V[N]和V[1]間的間隔值成正比。在另外的實施例中,根據測試實驗,溫度的間隔值並不是成比例的。在另一個實施例中,製造商測試每一個中間替換溫度值來確定中間替換電壓,而不是透過計算得到。流程進入到步驟1412.
在步驟1412,在步驟1402到1408確定的被稱作是V[i]和T[i]的電壓識別信號144及其對應的溫度值被包含進了第1圖中的工作點數據122列表中。工作點數據122包含了對應於每一個F值的表格。在這裏,索引是透過索引值“i”輸入進表格的,其中,當i=N時,表明了表格的入口為最高工作溫度以及在步驟1402確定的與其對應的V[N]電壓識別信號144;當i=1時,表明了表格的入口為在步驟1404確定的值;當i在1到N之間時,表明了表格的入口為在步驟1406和1408確定的中間值V[i]/T[i]。流程進入到步驟1414。
在步驟1414,當微處理器102重新啟動時,索引值被初始化為N,因此,電壓及頻率控制電路104可以使微處理器102工作在V[N]電壓下。流程進入到步驟1416。
在步驟1416,當工作在頻率F和電壓V[i]時,微處理器102監測當前的工作溫度134,而V[i]是在電壓識別控制電路126輸出一個電壓識別信號144後,第1圖中的穩壓器模組108相應輸出的電源電壓輸出信號142的值,電壓識別信號144由在步驟1414初始化的索引值從工作點數據122的表格中挑選出來的。流程進入到步驟1418。
在步驟1418,電壓及頻率控制電路104判斷索引值是否等於1。如果是等於1,流程進入到步驟1426,否則,流程進入到步驟1422。
在步驟1422,電壓及頻率控制電路104判斷當前溫度134是否比索引值從工作點數據122的表格中挑選出來的工作溫度T[i-1]的值小。如果當前溫度134不比T[i-1]的值小,流程進入到步驟1426;否則,流程進入到步驟1424。
在步驟1424,電壓及頻率控制電路輸出由索引值i減1後從工作點數據122的表格中挑選出來的穩壓器模組108的電壓識別信號144的值,以降低電源電壓輸出信號142到V[i-1]。同時,電壓及頻率控制電路104將索引值i減1。流程返回到步驟1416。
在步驟1426,電壓及頻率控制電路判斷索引值是否等於N。如果是,流程返回到步驟1416;否則,流程進入到步驟1428。
在步驟1428,電壓及頻率控制電路判斷當前溫度134是否比索引值加1後從工作點數據122的表格中挑選出來的工作溫度T[i+1]的值大。如果當前溫度134不比T[i+1]的值大,流程返回到步驟1416;否則,流程進入到步驟1432。
在步驟1432,電壓及頻率控制電路輸出由索引值加1後從工作點數據122的表格中挑選出來的第1圖中的穩壓器模組108的電壓識別信號144的值,以增加工作電壓電源電壓輸出信號142到V[i+1]。同時,電壓及頻率控制電路將索引值i加1。流程返回到步驟1416。
參照第15圖,這是微處理器102根據第14圖中的實施例而運行的圖像。圖中橫軸的引數是以伏特為單位的電源電壓輸出信號142。圖中縱軸的引數是以GHz為單位的工作核心時脈信號116。在第6圖的實施例中,匯流排時脈頻率是200MHz,匯流排時脈倍數的範圍是從2倍到10倍,這使得對應的核心時脈頻率範圍是從400MHz到2.0GHz。而在第15圖中只有2.0GHz時的資料值。在第15圖中有5個可能的工作點數值,即T[1]=60℃、T[2]=70℃、T[3]=80℃、T[4]=90℃以及T[5]=100℃,和與他們對應的5個工作電壓值V[1]=0.972V、V[2]=1.004V、V[3]=1.036V、V[4]=1.068V以及V[5]=1.10V。圖中有兩條電壓及頻率曲線,一條是相應於最高工作溫度的,另外一條是相應於最低工作溫度的。在第15圖的實施例中,當工作在2.0GHz,1.1V時,如果電壓及頻率控制電路判斷工作溫度134低於90℃,則電壓及頻率控制電路104將電源電壓輸出信號142的值從1.1V降低到1.068V;如果工作溫度134低於80℃,則電壓及頻率控制電路104將電源電壓輸出信號142的值降低到1.036V;如果工作溫度134低於70℃,則電壓及頻率控制電路104將電源電壓輸出信號142的值降低到1.004V;如果工作溫度134低於60℃,則電壓及頻率控制電路104將電源電壓輸出信號142的值降低到0.972V。相反的,當工作在2.0GHz,0.972V時,如果電壓及頻率控制電路104判斷工作溫度134高於70℃,則電壓及頻率控制電路104將電源電壓輸出信號142的值升高到1.004V;如果工作溫度134高於80℃,則電壓及頻率控制電路104將電源電壓輸出信號142的值升高到1.036V;如果工作溫度134高於90℃,則電壓及頻率控制電路104將電源電壓輸出信號142的值升高到1.068V;如果工作溫度134高於100℃,則電壓及頻率控制電路104將電源電壓輸出信號142的值升高到1.10V。如第15圖所示,根據第14圖的實施例而運行的微處理器102其優點與第5圖實施例的優點相類似。另外,第14圖的實施例與第5圖的實施例相比,當工作溫度134低於T[i]的值,特別是工作在第5圖中的可替換工作溫度不能達到的值時,此實施例可以透過提供在較小範圍內向低一點的電源電壓輸出信號142的轉換而節省附加的功率消耗。更進一步說,微處理器102的雙鎖相迴路112的設計使得第14圖的實施例在相當頻繁的工作點間轉換時,也不會有多餘的性能消耗,因為在轉換期間,核心邏輯電路106的工作核心時脈信號116並不需要停止。
雖然本發明以及其物件、特徵和優點都已經做了詳細的闡述,但是,本發明並不局限於這些實施例。例如,這些實施例是從不同的工作頻率、電壓及工作溫度來說明的,其他的實施例可能會使用一些不同的值。
雖然在本發明中有許多的實施例,但他們只是本發明的方法的一些例子,並沒有局限性。任何本領域的普通技術人員,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾。例如,除了用硬體實現,如在CPU中或連接與CPU,微處理器,微控制器,數位信號處理器,核心處理器,單晶片(SOC)系統或者是其他的設備,也可以用軟體實現,比如電腦的可讀程式,可編程代碼,或者是任意形式的指令,比如源、物件或者是機器語言,例如,儲存於軟體的可用(如可讀)介質。這樣的軟體可以應用於,比如是功能,構造,模型,類比,描述或者是對裝置或者方法的測試。例如這種方法可以由一般的程式語言如C,C++,硬體描述語言(HDL)包括Verilog HDL,VHDL等,或者是其他的可用程式來實現。這樣的軟體能夠被配置在任何的已知電腦可用介質,如半導體,磁片,或者是光碟,如CD-ROM,DVD-ROM。這些軟體也可以被當作電腦資料信號配置在電腦可移動介質中,例如,載波或者是其他的介質,包括數位的,光學的以及類比的介質。本發明的實施例包含了一種方法,此方法是提供一個微處理器,透過軟體來對微處理器的設計進行編程,然後將軟體當作是一個電腦信號來透過網路傳輸。這裏的裝置和方法可能都包含了知識產權,比如核心微處理器和積體電路的硬體變換。另外,本發明的裝置和方法可以透過軟體和硬體相結合來實現。
雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
100...電腦系統
102...微處理器
104...電壓及頻率控制電路
106...核心邏輯電路
108...穩壓器模組
112A、112B...鎖相迴路
114...選擇器
116...核心時脈信號
118...鎖相迴路選擇信號
122...工作點數據
124...偏壓設定值
126...電壓識別控制電路
128...倍頻控制電路
132...溫度感測器
134...工作溫度
136...預先確定的電壓識別信號
138...預先確定的倍頻信號
142...電源電壓輸出信號
144...電壓識別信號
146A...倍數信號
146B...倍數信號
148...匯流排時脈信號
152A...時脈信號
152B...時脈信號
154A...倍數控制電路的頻率鎖定信號
154B...倍數控制電路的頻率鎖定信號
156...穩壓器模組的電壓鎖定信號
158...可編程暫存器
162...溫度範圍
202~242、502~524、704~726、902~928、1302~1312、1402~1432...步驟
第1圖為本發明的包含微處理器的電腦系統模組示意圖;第2圖為本發明將第1圖中的微處理器102用一種性能優化的方法,從現在的P狀態或者是工作點,轉換到一個新的P狀態或者是工作點的流程圖;第3圖為本發明將第1圖中的微處理器102根據第2圖中的實施例進行P狀態轉換時的圖像;第4圖是微處理器在傳統方法下進行P狀態轉換時的圖像;第5圖為根據本發明,當微處理器102的工作溫度低於某一溫度幅值,為了節省功率損耗,第1圖中的微處理器102減少工作電壓時的流程圖;第6圖是第1圖中的微處理器102根據第5圖中的實施例而運行的圖像;第7圖是根據本發明,當微處理器102的工作溫度低於某一幅值時,第1圖中的微處理器102增加其性能的流程圖;第8圖為第1圖中的微處理器102根據第7圖中的實施例而工作在超載狀態時的圖像;第9圖為本發明的一種可以使第1圖中的微處理器在一個特定的溫度範圍內動態工作在最高性能或者最高性能左右的方法;第10圖是第1圖中的微處理器102根據第9圖中的實施例而動態工作在最優化性能及特定的溫度範圍時的圖像;第11圖是TM2熱監控和自動熱保護裝置的運行圖像;第12圖是將本發明的第5、7以及9圖結合到一起的實施例的圖像;第13圖是根據本發明,產生第1圖中的微處理器102所包含的工作點的流程圖;第14圖為根據另一個實施例,第1圖中的微處理器102在工作溫度低於相應的低工作溫度閾值時,為了節省功率損耗而降低工作電壓的流程圖;第15圖是第1圖中的微處理器102根據第14圖中的實施例而運行的圖像。
100...電腦系統
102...微處理器
104...電壓及頻率控制電路
106...核心邏輯電路
108...穩壓器模組
112A、112B...鎖相迴路
114...選擇器
116...核心時脈信號
118...鎖相迴路選擇信號
122...工作點數據
124...偏壓設定值
126...電壓識別控制電路
128...倍頻控制電路
132...溫度感測器
134...工作溫度
136...預先確定的電壓識別信號
138...預先確定的倍頻信號
142...電源電壓輸出信號
144...電壓識別信號
146A、146B...倍數信號
148...匯流排時脈信號
152A、152B...時脈信號
154A、154B...倍數控制電路的頻率鎖定信號
156...穩壓器模組的電壓鎖定信號
158...可編程暫存器
162...溫度範圍
Claims (17)
- 一種根據工作溫度的變化來動態改變功率損耗的微處理器,包括:一核心邏輯電路,根據一工作核心時脈工作以執行程式指令;一溫度感測器,用來監測該核心邏輯電路的工作溫度;一時脈產生電路,用於產生該工作核心時脈以提供給該核心邏輯電路;以及一控制電路,接收該溫度感測器所傳送的溫度以監測該核心邏輯電路的工作溫度,並包含了該微處理器可以穩定工作在一第一溫度的複數第一工作點,每一個第一工作點都有其各自對應的工作電壓和工作頻率;其中,該控制電路使該核心邏輯電路在該等第一工作點間轉換運行,其中該時脈產生電路包含了:兩鎖相迴路,每一個鎖相迴路分別產生具有多個可能的工作核心時脈頻率中的一工作核心時脈頻率的時脈信號;以及一選擇電路,該選擇電路用來選擇兩鎖相迴路中的一個鎖相迴路的時脈信號作為核心邏輯電路的工作核心時脈;其中,在每一次頻率轉換時,該控制電路控制一未運行的鎖相迴路產生具有新頻率的時脈信號,當未運行的鎖相迴路鎖存新的時脈頻率後,該控制電路選擇未運行的鎖 相迴路提供其時脈信號作為核心邏輯電路的工作核心時脈。
- 如申請專利範圍第1項所述的根據工作溫度的變化來動態改變功率損耗的微處理器,其中該控制電路更包含了該微處理器可以穩定工作在一第二溫度的一第二工作點,該等第一工作點其中之一具有一第一電壓和一第一頻率,使該微處理器可以在該第一電壓、該第一頻率和該第一溫度下穩定地工作;該第二工作點具有一第二電壓和該第一頻率,使該微處理器可以在該第二電壓、該第一頻率和該第二溫度下穩定地工作,且該第二溫度低於該第一溫度,該第二電壓小於該第一電壓;其中,如果該微處理器工作在該第一電壓和該第一頻率下,且該核心邏輯電路的工作溫度低於該第二溫度時,則該控制電路使該微處理器工作在該第二工作點下。
- 如申請專利範圍第2項所述的根據工作溫度的變化來動態改變功率損耗的微處理器,其中該控制電路更包含了該微處理器可以穩定工作在一第三溫度的一第三工作點,該第三工作點具有一第三電壓和該第一頻率,使該微處理器可以在該第三電壓、該第一頻率和該第三溫度下穩定地工作,且該第三溫度低於該第二溫度,該第三電壓也比該第二電壓要低;其中,如果該微處理器工作在該第一頻率和該第二電壓下,且工作溫度低於該第三溫度時,則該控制電路使該微處理器工作在該第一頻率和該第三電壓下。
- 如申請專利範圍第1項所述的根據工作溫度的變化來動態改變功率損耗的微處理器,其中該控制電路更包含了該微處理器可以穩定工作在一第二溫度的一第二工作點,且該等第一工作點其中之一具有一第一電壓和一第一頻率,使該微處理器可以在該第一電壓、該第一頻率和該第一溫度下穩定地工作;該第二工作點具有一第二電壓和該第一頻率,使該微處理器可以在該第二工作點和該第二溫度下穩定地工作,且該第二溫度低於該第一溫度,該第二電壓小於該第一電壓;其中,如果該微處理器工作在該第二工作點下,且該核心邏輯電路的工作溫度高於該第一溫度時,則該控制電路使該微處理器工作在該第一電壓和該第一頻率下。
- 如申請專利範圍第1項所述的根據工作溫度的變化來動態改變功率損耗的微處理器,其中該等第一工作點中包含了一最高工作點,該最高工作點具有一第一電壓和一第一頻率;該控制電路更包含了該微處理器可以穩定工作在一第二溫度的一第二工作點,該第二工作點具有一第二電壓和一第二頻率,該第二頻率高於該第一頻率,該第二溫度低於該第一溫度;其中,如果該微處理器工作在該最高工作點下,且該核心邏輯電路的工作溫度低於該第二溫度時,則該控制電路使該微處理器工作在該第二工作點下。
- 如申請專利範圍第5項所述的根據工作溫度的變化來動態改變功率損耗的微處理器,其中該控制電路更包含了該微處理器可以穩定工作在一第三溫度的一第三工作 點,該第三工作點具有一第三電壓和該第二頻率,該第三溫度低於該第二溫度,該第三電壓小於該第二電壓;其中,如果該微處理器工作在該第二工作點下工作,且該核心邏輯電路的工作溫度低於該第三溫度時,則該控制電路使該微處理器工作在該第三工作點下。
- 如申請專利範圍第1項所述的根據工作溫度的變化來動態改變功率損耗的微處理器,其中該等第一工作點包含了一最高工作點和一最低工作點和至少一個中間工作點,該最高工作點具有一第一電壓和一第一頻率,該最低工作點具有一第二電壓和一第二頻率;該控制電路根據第一電壓和第二電壓的值計算一中間工作點的第三電壓。
- 如申請專利範圍第1項所述的根據工作溫度的變化來動態改變功率損耗的微處理器,更包含一暫存器,暫存器透過軟體編程來向該控制電路發出請求信號,使該微處理器在該等第一工作點間轉換運行。
- 如申請專利範圍第1項所述的根據工作溫度的變化來動態改變功率損耗的微處理器,其中該控制電路在不停止該微處理器運行的情況下,控制該時脈產生電路完成從產生一第一頻率的工作核心時脈到產生一第二頻率的工作核心時脈的轉變。
- 一種根據工作溫度的變化來動態改變一微處理器功率損耗的方法,包括:選擇一第一溫度值;依據該第一溫度值確定複數第一工作點,每一第一工 作點都有其各自對應的工作電壓和工作頻率;監測該微處理器運行時的一工作溫度;以及控制該微處理器於該等第一工作點間轉換工作,以使被監測的該微處理器運行時的該工作溫度能保持在一第一溫度值內;其中所述控制該微處理器於該等第一工作點間轉換工作的步驟包括:接收一請求信號,該請求信號具有一預定頻率;在接收到該請求信號以後,生成工作核心時脈的新的頻率,新的頻率比當前頻率更接近於該預定頻率;以及不斷地產生新的頻率,直到新的頻率達到該預定頻率;其中所述生成工作核心時脈的新的頻率的步驟包括:使兩鎖相迴路中未運行的鎖相迴路產生新的頻率;以及選擇兩鎖相迴路中未運行的鎖相迴路來提供其時脈信號作為該微處理器的工作核心時脈,其中,產生和選擇信號是在不停止該微處理器運行的情況下執行的。
- 如申請專利範圍第10項所述的根據工作溫度的變化來動態改變微處理器功率損耗的方法,其中該等第一工作點中包含了一最高工作點,該最高工作點具有一第一工作電壓和一第一工作頻率;且該方法還包括:選擇一第二溫度值,該第二溫度值低於該第一溫度值;依據該第二溫度值確定一第二工作點,該第二工作點具有一第二工作電壓和一第二工作頻率,該第二工作頻率 高於該第一工作頻率;以及判斷是否該微處理器工作在該最高工作點且被監測的該微處理器運行時的該工作溫度是否低於該第二溫度值,若是則控制該微處理器工作於該第二工作點。
- 如申請專利範圍第10項所述的根據工作溫度的變化來動態改變微處理器功率損耗的方法,該等第一工作點其中之一具有一第一工作電壓和一第一工作頻率;且該方法還包括:選擇一第二溫度值,該第二溫度值低於該第一溫度值;依據該第二溫度值確定一第二工作點,該第二工作點具有一第二工作電壓和該第一工作頻率,該第二電壓小於該第一電壓;以及判斷是否該微處理器工作在該第一電壓和該第一頻率下且被監測的該微處理器運行時的該工作溫度是否低於該第二溫度值,若是則控制該微處理器工作在該第二工作點。
- 如申請專利範圍第12項所述的根據工作溫度的變化來動態改變微處理器功率損耗的方法,更包括:判斷是否該微處理器工作在該第二工作點且被監測的該微處理器運行時的該工作溫度是否高於該第二溫度值,若是則控制該微處理器工作在該第一工作頻率和該第一工作電壓。
- 如申請專利範圍第10項所述的根據工作溫度的變化來動態改變微處理器功率損耗的方法,其中該等第一工作點中包含了一最高工作點,一最低工作點和至少一中間工作點;且該方法還包括: 根據該最高工作點和該最低工作點來計算中間工作點。
- 如申請專利範圍第10項所述的根據工作溫度的變化來動態改變微處理器功率損耗的方法,其中該請求信號還具有一預定電壓值,且所述控制該微處理器於該等第一工作點間轉換工作的步驟還包括:不斷地產生新的電壓,直到新的電壓達到於該預定電壓值。
- 如申請專利範圍第10項所述的根據工作溫度的變化來動態改變微處理器功率損耗的方法,其中所述依據該第一溫度值確定該等第一工作點的步驟包括:選擇一工作電壓和一工作頻率;維持該微處理器工作在該工作電壓,該工作頻率和該第一溫度值下;以及判斷維持該微處理器是否穩定工作在該工作電壓,該工作頻率和該第一溫度值下。
- 如申請專利範圍第10項所述的根據工作溫度的變化來動態改變微處理器功率損耗的方法,其中所述控制該微處理器於該等第一工作點間轉換工作的步驟包括:判斷被監測的該微處理器運行時的該工作溫度是否高於該第一溫度值;若被監測的該微處理器運行時的該工作溫度高於該第一溫度值時,執行以下步驟:判斷該微處理器是否能在當前工作頻率和降低後的工 作電壓下穩定工作;如果該微處理器不能在當前工作頻率和降低後的工作電壓下穩定工作時,則降低該微處理器的工作頻率;以及如果該微處理器能在當前工作頻率和降低後的工作電壓下穩定工作時,則降低該微處理器的工作電壓。
Applications Claiming Priority (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US89230307P | 2007-03-01 | 2007-03-01 | |
US89230007P | 2007-03-01 | 2007-03-01 | |
US89230607P | 2007-03-01 | 2007-03-01 | |
US89254807P | 2007-03-02 | 2007-03-02 | |
US11/761,056 US7770042B2 (en) | 2002-10-03 | 2007-06-11 | Microprocessor with improved performance during P-state transitions |
US11/761,096 US7774627B2 (en) | 2002-10-03 | 2007-06-11 | Microprocessor capable of dynamically increasing its performance in response to varying operating temperature |
US11/761,044 US7698583B2 (en) | 2002-10-03 | 2007-06-11 | Microprocessor capable of dynamically reducing its power consumption in response to varying operating temperature |
US11/761,076 US7814350B2 (en) | 2002-10-03 | 2007-06-11 | Microprocessor with improved thermal monitoring and protection mechanism |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200837547A TW200837547A (en) | 2008-09-16 |
TWI388974B true TWI388974B (zh) | 2013-03-11 |
Family
ID=44820245
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW097106819A TWI388974B (zh) | 2007-03-01 | 2008-02-27 | 根據工作溫度的變化來動態改變功率損耗的微處理器及方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI388974B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI398757B (zh) * | 2008-10-03 | 2013-06-11 | Hon Hai Prec Ind Co Ltd | 電子設備及其電源連接模組 |
US8683243B2 (en) | 2011-03-11 | 2014-03-25 | Intel Corporation | Dynamic core selection for heterogeneous multi-core systems |
US9069555B2 (en) * | 2011-03-21 | 2015-06-30 | Intel Corporation | Managing power consumption in a multi-core processor |
KR101885857B1 (ko) * | 2012-01-04 | 2018-08-06 | 삼성전자주식회사 | 온도 관리 회로, 이를 포함하는 시스템 온 칩 및 온도 관리 방법 |
TW201403299A (zh) | 2012-07-04 | 2014-01-16 | Acer Inc | 中央處理器控制方法 |
-
2008
- 2008-02-27 TW TW097106819A patent/TWI388974B/zh active
Also Published As
Publication number | Publication date |
---|---|
TW200837547A (en) | 2008-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7774627B2 (en) | Microprocessor capable of dynamically increasing its performance in response to varying operating temperature | |
US8412962B2 (en) | Microprocessor with improved thermal monitoring and protection mechanism | |
US7698583B2 (en) | Microprocessor capable of dynamically reducing its power consumption in response to varying operating temperature | |
US7770042B2 (en) | Microprocessor with improved performance during P-state transitions | |
US7111178B2 (en) | Method and apparatus for adjusting the voltage and frequency to minimize power dissipation in a multiprocessor system | |
US8442697B2 (en) | Method and apparatus for on-demand power management | |
CN101241392B (zh) | 根据工作温度的变化来动态改变功耗的微处理器及方法 | |
US7529948B2 (en) | Methods and apparatuses for dynamic power estimation | |
US8942932B2 (en) | Determining transistor leakage for an integrated circuit | |
US8332665B2 (en) | Methods and apparatuses for dynamic power control | |
US8504854B2 (en) | Managing multiple operating points for stable virtual frequencies | |
EP3430496B1 (en) | System and method for intelligent thermal management in a system on a chip having a heterogeneous cluster architecture | |
JP2009522688A (ja) | 独立周波数及び/又は電圧で集積回路の構成要素を動作させるシステムならびに方法 | |
TWI388974B (zh) | 根據工作溫度的變化來動態改變功率損耗的微處理器及方法 | |
Daasch et al. | Design of VLSI CMOS circuits under thermal constraint | |
US20050022037A1 (en) | Method, system, and apparatus for an efficient power dissipation | |
EP1965286B1 (en) | Microprocessor with improved thermal monitoring and protection mechanism |