TW201443631A - 經由微架構頻寬節流之處理器電力消耗控制及電壓降 - Google Patents

經由微架構頻寬節流之處理器電力消耗控制及電壓降 Download PDF

Info

Publication number
TW201443631A
TW201443631A TW103102751A TW103102751A TW201443631A TW 201443631 A TW201443631 A TW 201443631A TW 103102751 A TW103102751 A TW 103102751A TW 103102751 A TW103102751 A TW 103102751A TW 201443631 A TW201443631 A TW 201443631A
Authority
TW
Taiwan
Prior art keywords
processor
voltage
state
lfm
value
Prior art date
Application number
TW103102751A
Other languages
English (en)
Other versions
TWI524175B (zh
Inventor
Sanjeev Jahagirdar
Edward Gamsaragan
Scott E Siers
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of TW201443631A publication Critical patent/TW201443631A/zh
Application granted granted Critical
Publication of TWI524175B publication Critical patent/TWI524175B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Power Sources (AREA)

Abstract

本發明揭示了一種方法、裝置、及系統。在一實施例中,該方法包含下列步驟:將一第一電壓供應到一處理器。該方法亦包含下列步驟:可讓該處理器在該第一電壓下於一增強式處理器暫停狀態內工作。該第一電壓是低於該增強式處理器暫停狀態的最低相容電壓之一電壓。該方法可藉由節流在該處理器中執行的指令之最大通量速率,而讓該處理器在該第一電壓下自該增強式處理器暫停狀態被喚醒時執行指令。

Description

經由微架構頻寬節流之處理器電力消耗控制及電壓降
本發明係有關用於特定處理器電源狀態之微架構頻寬節流。
諸如Intel®架構處理器或另一品牌的處理器等的現代處理器通常有多個電源狀態,可在該處理器不忙碌時省電。處理器通常有被稱為C0的一完全操作電源狀態。C0通常有一高頻模式(High Frequency Mode;簡稱HFM)、及一低頻模式(Low Frequency Mode;簡稱LFM)。另一常見的處理器電源狀態是C1E。在該C1E狀態中,處理器可進行監聽(snoop)服務,但是無法執行或引退任何指令。監聽服務需要足以將處理器的快取記憶體保持在操作狀態的某一電壓。
本發明揭示了一種方法、裝置、及系統。在一實施例 中,該方法包含下列步驟:將一第一電壓供應到一處理器。該方法亦包含下列步驟:可讓該處理器在該第一電壓下於一增強式處理器暫停狀態內工作。該第一電壓是低於該增強式處理器暫停狀態的最低相容電壓之一電壓。該方法可藉由節流在該處理器中執行的指令之最大通量速率,而讓該處理器在該第一電壓下自該增強式處理器暫停狀態被喚醒時執行指令。
100‧‧‧處理器
102,104‧‧‧核心
110‧‧‧快取記憶體
134,136‧‧‧排程單元
106,108‧‧‧引退單元
112‧‧‧記憶體控制器
114‧‧‧系統記憶體
116‧‧‧輸入/輸出組
118‧‧‧電壓調整器
120‧‧‧電源狀態進入及退出邏輯
122‧‧‧基本輸入/輸出系統
124‧‧‧作業系統
126‧‧‧進階組態設定及電源介面
128‧‧‧電源管理微控制器
130‧‧‧電壓修改邏輯
132‧‧‧時脈產生器電路
200‧‧‧軟體頻率值
202‧‧‧低頻模式頻率值
204‧‧‧軟體電壓值
206‧‧‧低頻模式電壓值
208‧‧‧深C1E差量值
210‧‧‧加法邏輯
212,214,216‧‧‧閘
218‧‧‧深C1E控制值
226‧‧‧節流除錯控制暫存器
已參照各圖式而以舉例但非限制之方式說明了本發明,在該等圖式中,相似的代號表示類似之元件,其中: 第1圖示出能夠使用微架構頻寬節流而可在低於與一增強式處理器暫停狀態相容的供應電壓下在該狀態中操作的一電腦系統之一實施例。
第2圖示出用來實施深C1E電壓的電源管理邏輯之一實施例。
第3圖是一處理器進入及退出一深C1E處理器電源管理狀態的一實施例之一流程圖。
本發明揭示了一種藉由實施處理器頻寬節流而在低於C1E電源狀態的電壓位準的一電壓下在該C1E電源狀態中操作處理器的方法、裝置、及系統之實施例。
現代處理器通常有多個電源狀態,可在該處理器不忙 碌時省電。在許多處理器中,那些狀態中之一狀態包括C0狀態,C0狀態是一種處理器完全地操作之狀態。在正常操作期間,處理器在C0狀態中之高頻模式(HFM)或低頻模式(LFM)下操作。在HFM中及LFM中係以不同的電壓供應到處理器,其中LFM電壓通常是低於HFM電壓之一電壓。
另一處理器電源狀態是C1E狀態,該C1E狀態要求處理器可提供監聽服務。在許多實施例中,可將該C1E狀態稱為“增強式處理器暫停狀態”。該C1E狀態要求將較C0 HFM狀態的電壓低之一電壓供應到處理器。
在標準LFM電壓下,處理器能夠排程且引退每一時脈週期中之最大數目的指令。一般而言,C1E狀態使用與該LFM電壓相同的電壓,這是因為處理器自C1E狀態被喚醒時可立即轉變到最大執行及指令引退速率。為了減少C1E狀態中之電力消耗,深C1E電壓可實施比標準CIE(亦即,LFM)電壓低之一電壓。該深C1E電壓與最大指令排程及引退速率不相容。因此,為了在該深C1E電壓下退出C1E狀態時維持與可能指令排程及引退速率間之電壓相容性,處理器可在退出C1E狀態時立即諸如以節流指令排程速率或指令引退速率等的方式實施微架構頻寬節流。因為節流限制了指令通過處理器的頻寬,所以也減少了處理器的電力消耗限制。
當處理器在該深C1E電壓下退出C1E狀態時,將發生兩件事情。首先,電壓位準將開始斜線上升到該標準 LFM電壓,這是因為該電壓與最大處理器執行及指令引退速率相容。此外,在退出C1E狀態之後且在電壓到達該LFM電壓之前的一段過渡期間中,該處理器可實施一微架構頻寬節流機制,因而可減少可能的最大電力消耗,且因而將所需的電壓至少降低到該深C1E電壓。
此種方式可在C1E狀態期間將該深C1E電壓供應到該處理器,且於退出C1E狀態而電壓開始斜線上升到該LFM電壓時,維持電壓相容性。供應電壓的降低量係根據特定的處理器及實施方式。例如,節流愈多時,可降低的電壓量將愈大。
在下文的說明及申請專利範圍中提及被揭示的技術之“一個實施例”或“一實施例”時,意指參照該實施例而述及的一特定特徵、結構、或特性被包含在該等被揭示的技術之至少一實施例中。因此,在本說明書中之各部分中出現詞語“在一實施例中”時,不必然都參照到相同的實施例。
在下文的說明及申請專利範圍中,可使用術語“包括”及“包含”以及其派生詞,且該等術語將被視為彼此的同義字。此外,在下文的說明及申請專利範圍中,可使用術語“被耦合”及“被連接”以及其派生詞。我們應可了解:這些術語將不作為彼此的同義字。當然,在特定實施例中,“被連接”可被用來指示兩個或更多個元件相互在實體上或電氣上直接接觸。“被耦合”可意指:兩個或更多個元件在實體上或電氣上直接接觸。然而,“被耦合”亦可意指:兩個或更多個元件沒有相互直接接觸,但仍然相互配合或作 用。
第1圖示出在低於與一增強式處理器暫停狀態相容的供應電壓位準下退出該狀態時能夠將微架構頻寬節流用來使操作賦能的一電腦系統之一實施例。
在不同的實施例中,該電腦系統可以是一桌上型電腦、一伺服器電腦、一膝上型電腦、一手持電子裝置、一電視機上電腦、一設備或車輛內之一整合式電腦、或在將於下文中說明的各實施例範圍內之任何其他類型的可想到之電腦系統。
在許多實施例中,該電腦系統包含一處理器100。該處理器可包含諸如核心102等的一單一核心,或具有諸如核心102及104(或更多個核心)等的多個核心。一快取記憶體110亦可被設置在該處理器晶粒中。快取記憶體110可包含諸如一第1階快取記憶體及一第2階快取記憶體等的多階快取記憶體。此外,當該處理器中設有多個核心時,在不同的實施例中,可共用快取記憶體110的不同階的快取記憶體中之每一快取記憶體,或者每一核心可以有一快取記憶體。
在某些實施例中,處理器100可以是一Intel®架構微處理器。在某些實施例中,處理器100可包含Intel SpeedStep®技術或提供兩個或更多個電壓/頻率工作點之另一與電源管理有關的技術。在某些實施例中,處理器100可以是諸如一嵌入式處理器或一數位信號處理器等的一不同類型之處理器。
微架構節流機制可採用數種形式。在某些實施例中,該微架構節流機制可限制處理器執行的指令之引退速率。在其他實施例中,該微架構節流機制可限制被傳送到用來把將要被執行的指令排程之一排程器的指令之分配。例如,將指令排程之一排程器可在用來將指令排程的各時脈週期之間強制插入不將任何指令排程的一或多個無效時脈週期。
在某些實施例中,該微架構頻寬節流機制限制一精簡指令集電腦(Reduced Instruction Set Computer;簡稱RISC)架構中指令的排程及(或)引退。在其他實施例中,該微架構頻寬節流機制限制一複雜指令集電腦(Complex Instruction Set Computer;簡稱CISC)架構中指令的排程及(或)引退。在CISC實施例中,係將被處理器執行的指令分成一或多個微架構運算(uops)。微架構運算通常是不可分割的,且構成CISC處理器的指令管線。
因此,在許多RISC及CISC實施例中,該處理器包含用來將該處理器的執行單元將要執行的指令排程之一排程單元、以及將已被推送通過該執行單元的指令引退之一引退單元。處理器的指令排程速率及引退速率部分地決定了該處理器的電力消耗。大部分的處理器具有在每一時脈週期中將一個以上的指令排程及引退之能力。例如,許多處理器可在每一時脈週期中將多達四個指令排程及引退。
如果限制核心在每一時脈週期中將小於最大數目的指 令排程或引退,則可進行處理器的頻寬節流。例如,如果該引退單元可正常地在每一時脈週期中將四個指令排程,且處理器內之邏輯將引退速率限制為每一時脈週期有一指令,則該處理器實質上被節流,同時導致較低的效能及較低的可能電力散逸。
每一核心可分別包含諸如核心102的排程單元(Scheduling Unit;簡稱SU)134及核心104的SU 136等的一SU。此外,每一核心可分別包含諸如核心102的引退單元(Retirement Unit;簡稱RU)106及核心104的RU 108等的一RU。
SU內之邏輯將核心將要執行的指令排程。在一CISC架構中,SU可以非循序方式將指令排程,以便加速管線內之執行。此外,在一CISC架構中,RU可包含一重新排序緩衝區(ReOrder Buffer;簡稱ROB)。CISC架構的RU內之該ROB在(可能以非循序方式)執行了各微架構運算之後,將該等微架構運算放回原始程式順序。
如前文所述,大部分的處理器具有在每一時脈週期中將一個以上的指令排程及引退之能力,例如,在許多處理器中,每一核心可在每一核心時脈期間將四個指令排程及引退。因此,如果SU、RU、或以上兩者內之邏輯將指令的排程速率及(或)引退速率限制為每一核心時脈有少於四個指令,則可進行微架構頻寬節流。
在某些實施例中,當SU內之邏輯將排程速率限制為每一核心時脈有一個指令,以取代每一核心時脈有四個指 令之可能最大速率時,則發生節流。在其他實施例中,當SU內之邏輯將指令排程限制為每隔一個核心時脈排程一次,以取代每一核心時脈排程一次時,則發生節流。因此,如果最大排程速率是每一時脈有四個指令,則只要在每隔一個時脈才進行排程之情形中,有效的最大排程速率被減少到每一核心時脈有兩個指令。
在其他實施例中,當RU內之邏輯將引退速率限制為每一核心時脈有一個指令,以取代每一核心時脈有四個指令之可能最大速率時,則發生節流。可實施許多其他的標準微架構頻寬節流機制,或者可實施一些機制之一組合。任何節流機制之結果為:一段時間中之指令的通量被限制為小於核心能夠產生的通量。因而產生了小於最佳的通過一核心之指令流頻寬,且該核心因而在節流期間將不會到達需要最大指定供應電壓之狀態。
因此,在微架構頻寬節流期間,可降低至核心的供應電壓。
此外,在許多實施例中,處理器也具有一整合式記憶體控制器112。在並未示出之其他實施例中,記憶體控制器112是一分立式裝置,或被整合到一橋接裝置中,或被整合到與處理器100分離的其他系統晶片中。記憶體控制器112經由一處理器-記憶體互連而被耦合到系統記憶體114。記憶體控制器112使處理器100以及該電腦系統中之任何其他裝置能夠存取系統記憶體114。在許多實施例中,系統記憶體114可包含諸如動態隨機存取記憶體 (Dynamic RAM;簡稱DRAM)等的隨機存取記憶體(Random Access Memory;簡稱RAM)形式、快閃記憶體、或另一形式的記憶體。
在許多實施例中,該處理器也被耦合到一分立式輸入/輸出(Input/Output;簡稱I/O)組116。在並未示出之其他實施例中,該I/O組可被整合到該處理器中。I/O組116可包含一或多個(圖中未示出之)整合式I/O主控制器(host controller),該一或多個整合式I/O主控制器可讓諸如鍵盤及大量儲存裝置等的I/O裝置被連接到該電腦系統。
該系統亦包含被耦合到處理器100之一電壓調整器(voltage regulator;簡稱VR)118。VR 118將一電源工作電壓供應到該處理器,且可根據諸如IMVP-6規格等的Intel®行動式電壓定位(Intel® Mobile Voltage Positioning;簡稱IMVP)規格而操作。VR 118可包含用來回應一或多個信號而將被供應到處理器100之電壓降低到一或多個低電壓狀態之邏輯。VR 118的邏輯亦可在處理器100退出一低電壓狀態之後將被供應到處理器100之電壓再度斜線上升回去。此外,在並未示出之其他實施例中,VR 118可被整合到處理器100中。
處理器100亦包含電源狀態進入及退出邏輯120,用以控制進入及退出一或多個電壓狀態。每一電源狀態包含被用來作為自VR 118饋送到該處理器的電源工作電壓之一特定電壓。在某些實施例中,該處理器可使用一電壓識 別(Voltage ID;簡稱VID)值而將一電壓值傳送到VR 118。在其他實施例中,該處理器可使用VID以外的其他資訊而將電壓值傳送到該VR。由於不同的平台使用了接受不同格式的電壓修改指令/資訊之不同類型的VR,所以被傳送到該VR的資訊是與特定實施方式相關的。
在使用VID的許多實施例中,係將一電源狀態VID與一特定的處理器工作頻率配對。因此,在許多實施例中,用來儲存電壓/頻率配對值之一電源狀態表被儲存在該電腦系統中。該表可被設置在處理器100中之微碼內、I/O組116內之儲存單元中、基本輸入/輸出系統(Basic Input/Output System;簡稱BIOS)122中、或該系統的其他韌體中。在許多實施例中,該電源狀態表包含線性方式之遞增電壓值。例如,第一表條目可對應於最低電壓量,且各後續的條目中之每一條目可將電壓線性地遞增一個一致的量。在其他實施例中,第一表條目可對應於該處理器的最高電壓量,且各後續的條目中之每一條目可將電壓線性地遞減一個一致的量。
在許多實施例中,當該電腦系統操作時,一作業系統124被載入系統記憶體114中。該作業系統可包含用來支援一進階組態設定及電源介面(Advanced Configuration and Power Interface;簡稱ACPI)126之碼。使用該碼時,該作業系統可存取該電源狀態表,且命令該ACPI介面進入及退出不同的電源狀態。
在許多實施例中,I/O組116亦包含一電源管理微控 制器128。電源管理微控制器128包含狀態控制邏輯,該狀態控制邏輯可控制與處理器100相關聯的電源管理狀態與正常操作狀態間之轉變。每一電源管理狀態具有至少一特定電壓位準及頻率組合。該電壓位準是被供應到該處理器之電壓位準,且該頻率是該處理器之工作頻率。電源管理微控制器128可將資訊提供給VR 118內之電壓修改邏輯130,以便設定被供應到處理器100之電壓。電源管理微控制器128亦可將資訊提供給一時脈產生器電路132,以便將一時脈信號提供給處理器100。在許多實施例中,時脈產生器電路132是一鎖相迴路(Phase Locked Loop;簡稱PLL)。在許多實施例中,電源狀態進入/退出邏輯120亦可控制對該處理器在不同電源狀態下的頻率之修改。通常有多個電源管理狀態。
下文中將說明在深C1E電壓狀態期間以及在深C1E電壓狀態與LFM電壓狀態間之轉變期間利用微架構頻寬節流將處理器100自一完全操作C0電源狀態轉變到一C1E電源狀態且再轉變回去之實施例。
在該處理器於C0電源狀態下工作時,來自作業系統或來自該電腦系統的其他組件之一ACPI或其他命令可能被傳送到電源管理微控制器128,以便使處理器100下降到該C1E狀態。在某些實施例中,如果處理器100正在HFM頻率下工作,則首先使該處理器下降到LFM頻率/電壓配對,該配對是一較低支援頻率及對應的電壓。為了將該處理器轉變到該LFM頻率,電源狀態進入/退出邏 輯120可修改頻率。在替代實施例中,時脈產生器132可在外部修改被供應到處理器100之時脈,此種方式將額外地修改處理器100之頻率。
在許多實施例中,當該頻率被改變為LFM頻率時,電源管理微控制器128可將諸如一VID等的電壓資訊傳送到VR 118,以便將電壓將低到該LFM電壓位準。該LFM電壓位準與該處理器在標準C1E狀態下使用的電壓位準相同。
在某些實施例中,一旦頻率及電壓處於LFM位準之後,電源狀態進入/退出邏輯120可使該處理器進入C1E狀態。如前文所述,該C1E狀態要求該處理器可提供監聽服務,但是該處理器於該狀態下不執行任何指令。
於進入該C1E狀態時,電源管理微控制器128可將一命令傳送到VR 118內之電壓修改邏輯130,以便使電壓低於與該C1E/LFM頻率配對的電壓。在某些實施例中,可以該標準LFM/C1EVID值減掉一差量VID值,而降低壓位準。因此,可將所產生的該較低VID值傳送到VR 118,以便降低電壓。可將被降低到低於標準LFM/C1E電壓位準之該電壓位準稱為深C1E電壓位準。在(具有不同處理器之)不同的實施例中,可改變被供應到該處理器的電壓降低之量。
在許多實施例中,可在該深C1E電壓資訊被傳送到VR 118時,同時執行該微架構頻寬節流機制。在許多實施例中,指示VR 118降低一或多個核心的供應電壓之信 號與可被傳送到該處理器以指示該一或多個核心執行該節流機制之信號相同。因此,縱然該處理器目前並未執行指令,亦可在該C1E狀態下執行該微架構頻寬節流機制。此種方式可讓該處理器迅速地退出該C1E狀態,且回復到在C0LFM狀態下執行指令,而無須等候電壓完成自該深C1E電壓斜線上升到該標準LFM/C1E電壓位準。
換言之,該節流機制被用來在被供應到該處理器的電壓低於該LFM/C1E電壓位準的該LFM狀態之一些部分期間節流處理器的指令通量。具體而言,當該處理器退出該C1E狀態而進入該LFM狀態時,將有VR 118使電壓自該深C1E電壓位準斜線上升到該LFM/C1E電壓位準所需的一有限量之時間。因此,在這段時間中,縱然因為該節流機制限制該處理器不運作需要有LFM電壓位準之強力工作負載而電壓低於該LFM狀態指定的電壓,也容許該一或多個處理器核心以如同其處於C0LFM狀態之方式執行指令。
因此,在許多實施例中,在該處理器於該深C1E電壓位準下在該C1E電源狀態中運行時,可將用來將該處理器喚醒至完全操作C0電源狀態之一中斷傳送到電源管理微控制器128。在許多實施例中,一旦接收到該中斷之後,該一或多個核心將開始一喚醒程序,且將在LFM頻率下開始服務標準中斷。在自C1E轉變到C0開始時,電源管理微控制器128可將資訊傳送到VR 118(以及VR 118內之電壓修改邏輯130),以便開始將電壓自該深 C1E電壓位準斜線上升到該標準LFM/C1E電壓位準。
在某些實施例中,該微架構節流將持續到電壓位準到達LFM電壓位準為止。在這些實施例中,一旦到達了該LFM電壓位準之後,即停止節流。在其他實施例中,該處理器退出C1E狀態,且直接繼續進入C0 HFM狀態。在這些實施例中,節流至少持續到電壓位準在電壓斜線上升期間到達LFM電壓位準為止。在這些實施例中,一旦電壓位準上升到標準LFM電壓位準之後,在電壓斜線上升到C0 HFM電壓之其餘時間中將停止節流。
第2圖示出用來實施深C1E電壓的電源管理邏輯之一實施例。在許多實施例中,各值被輸入該邏輯中。在某些實施例中,該等值包括軟體頻率值200、LFM頻率值202、軟體電壓值204、以及LFM電壓值206,且該等值是來自用來儲存這些值的一或多種類型的記憶體儲存位置之值。在某些實施例中,可將這些值儲存在位於該處理器或該電腦系統內的其他組件之暫存器內。在其他實施例中,該等值被儲存在與該BIOS相關聯的一非揮發性記憶體中、系統記憶體中、或該電腦系統內的另一儲存位置中。在許多實施例中,該等值可包含與該電腦系統內的一或多個儲存位置中儲存的一或多個表中之位置對應的一些代表值。
例如,該等頻率值可對應於一頻率值表內之一列。該表可儲存該處理器能夠運行的整組頻率。表1示出一部分頻率表之一實施例。
該表開始時係在0GHz下對應於全都為零的一頻率值之頻率。然後,該表示出:開始於作為高頻率之3.0GHz,而在每一次遞增一個8位元的二進位頻率值時,對應的頻率減少100MHz。雖然該表只示出減少到1.9GHz之處理器頻率值,但是完整的表可使用二進位頻率值的進一步遞增以及處理器頻率的對應之進一步遞減,而繼續向下擴充。仍然可將該表設置在該電腦系統內具有足以儲存該表的空間之任何位置。因此,在許多實施例中,軟體頻率值200參照到該系統內之軟體正要求處理器電壓將要被設定的現行值,而該軟體頻率值200可包含與諸如表1等的一頻率值表中之一列對應的一個8位元頻率值。
在另一例子中,該等電壓值可對應於儲存可被供應到該處理器的完整組的電壓位準的一電壓表內之各列。表2示出使用特定VID值而實施的一部分電壓值表之一實施例。
該表開始時係在VID值全都為零時之電壓關閉。然後,該表示出:開始於作為高電壓之1.6伏,而在每一次遞增一個8位元的二進位VID值時,對應的電壓減少0.0125伏。雖然該表只示出減少到1.4625伏之供應電壓值,但是完整的表可使用二進位值的進一步遞增以及供應電壓的對應之進一步遞減,而繼續向下擴充。仍然可將該表設置在該電腦系統內具有足以儲存該表的空間之任何位 置。因此,在許多實施例中,軟體VID值204參照到該系統內之軟體正要求處理器電壓將要被設定的現行值,而該軟體VID值204可包含與諸如表2等的一VID表中之一列對應的一個8位元VID值。
LFM頻率值202及LFM VID值206對應於該處理器處於LFM狀態時使用的處理器頻率以及處理器之供應電壓。因此,該等LFM電壓及頻率值可以是在電源管理邏輯決定使該處理器進入LFM狀態時所要使用之預設值。在許多實施例中,一深C1E差量值208也被提供給電源管理邏輯。該深C1E差量值208包含一標準LFM VID與對應於深C1E VID的較低電壓間之差異。例如,該LFM VID可以是對應於表2中之1.55伏之000010010b。該深C1E電壓值可以是對應於表2中之1.475伏之00010110b。因此,深C1E差量值208將對應於這兩個值間之差量,該差量是00001100b(亦即,000010010b+00001100b=00010110b)。
LFM VID值206及深C1E差量值208被輸入到加法邏輯210,而加法邏輯210將該等兩個值相加。結果是對應於深C1E VID值的表2中之值。
在許多實施例中,電源管理邏輯包含數個閘,用以決定要將兩個值中之哪一值傳送到該電腦系統內之各組件。閘212可在要將LFM VID值206或計算出的深C1E VID值傳送到閘214之間切換。閘214又可在要將軟體VID值204或來自閘212的結果VID值傳送到VR 118之間切 換。最後,閘216可在要將軟體頻率值200或LFM頻率值202傳送到PLL 132以便進行比率修改之間切換。
係由電源狀態進入/退出邏輯120作出要輸出閘214及216的哪一輸入之決定。電源狀態進入/退出邏輯120可在一軟體決定的VID值及頻率值與一LFM VID值及頻率值之間切換。在許多實施例中,一深C1E控制值218可決定是否不將LFM VID值206傳送到閘212而要將該深C1E VID值傳送到閘212。在某些實施例中,可將深C1E控制值218放置在一控制暫存器內、或該處理器中之其他儲存位置內、或該電腦系統之其他位置內。在不同的實施例中,可將深C1E控制值218放置在電源管理微控制器(第1圖中之128)內、電源狀態進入/退出邏輯120內、系統記憶體114中之一位置內、或其他位置內。
在許多實施例中,深C1E控制值218亦可將用來指示該核心內之微架構節流邏輯是否要執行對通過該核心的指令的節流之一輸入值提供給該核心內之該節流邏輯。在某些實施例中,深C1E控制值218是一單一位元。例如,如果深C1E控制值218是“1”,則將指示該深C1E電源管理處於現用狀態。該“1”將被傳送到閘212。因為閘212接收到該控制“1”,所以閘212又讓計算出的該深C1E VID值自加法邏輯210傳送到閘214。“1”之深C1E控制值218也被傳送到該微架構節流邏輯,而該微架構節流邏輯因所接收到的該“1”而執行節流機制。另一方面,如果深C1E控制值218是“0”,則將指示該深C1E電源管理處 於非現用狀態。該“0”將被傳送到閘212。因為閘212接收到該控制“0”,所以閘212又讓LFM VID值被傳送到閘214。“0”之深C1E控制值218也被傳送到該微架構節流邏輯,而該微架構節流邏輯因所接收到的該“0”而不執行節流機制。
在許多實施例中,微架構頻寬節流邏輯224包含一定時器,而當停止啟動該深C1E電源管理時,即開始該定時器。在停止執行該節流機制之前,該節流邏輯可等候到該定時器到達終點為止。該定時器之定時長度可與電壓自該深C1E電壓位準斜線上升到該LFM電壓位準所耗用之標準時間長度一致。在其他實施例中,核心或該VR內之邏輯可在被供應到該處理器的電壓在該電壓自該深C1E電壓位準斜線上升期間到達了該LFM電壓時,通知該微架構頻寬節流邏輯。提供給該節流邏輯之資訊將確認被供應到該一或多個核心的電壓至少為該LFM電壓位準。一旦該節流邏輯因該資訊而確認已到達了該LFM電壓位準之後,該節流邏輯隨即可停止執行該節流機制。
此外,在許多實施例中,對深C1E控制值218以一節流除錯控制暫存器226執行一邏輯“或”運算。該除錯暫存器亦可實施微架構頻寬節流。該暫存器可在不改變被傳送到VR 118的VID之情形下,讓核心節流指令通量速率。
第3圖是一處理器進入及退出一深C1E處理器電源管理狀態的一實施例之一流程圖。係由可包括硬體、軟 體、或以上兩者的組合之處理邏輯執行該程序。此外,在不同的實施例中,處理邏輯可被設置在該處理器內、與該處理器分離之一I/O組內、系統記憶體內、或該電腦系統的其他組件內。此外,可將用來執行該流程圖內的該等方塊之該處理邏輯設置在上述這些位置的一個以上之位置內。該程序開始時,係由處理邏輯在處理方塊300中決定是否有指定該處理器應進入一深C1E狀態之一命令、指令、或其他資訊。該深C1E狀態是一種前文中參照第1及2圖所述之處理器電源管理狀態,該深C1E狀態可讓處理器在低於C1E狀態(“增強式處理器暫停狀態”)的正常指定電壓之一供應電壓下於該C1E狀態中操作。
在第3圖所示之該程序的實施例中,該處理器係在C0狀態下的完全操作中開始該程序。回到處理方塊300,如果沒有進入該深C1E狀態之指示,則該處理器繼續在該C0狀態下工作,且處理方塊300再度檢查是否收到進入該深C1E狀態之一指示。在某些實施例中,一中斷通知處理邏輯進入該深C1E狀態。
如果有進入該深C1E狀態之一指示,則處理邏輯在處理方塊302中將處理器頻率及電壓改變為LFM頻率及電壓。當該處理器已在該C0狀態的HFM頻率及電壓下工作時,將執行該步驟。
一旦到達了該LFM頻率及電壓之後,處理邏輯隨即在處理方塊304中使該處理器進入該C1E處理器暫停狀態。一旦處於該C1E處理器暫停狀態之後,處理邏輯在 處理方塊306中開始使用前文所述之一或多種節流機制(例如,指令排程速率或指令引退速率等)以節流通過該處理器的指令通量速率。雖然該被節流之指令通量速率是在每一時脈中比未被節流的通量速率低之一通量速率,但是在節流及未節流模式下之特定指令通量速率是與特定實施方式有關的。
在流節了指令通量速率之後,處理邏輯隨即在處理方塊308中將被供應到該處理器之電壓減少到低於LFM電壓值。電壓之該改變可基於為了該新的較低電壓值而被加到(或自該LFM電壓值減去;視電壓表實施方式而定)該LFM電壓值之一被設定的差量。該新的電壓值被傳送到用來將電壓供應到該處理器之該VR,且該VR內之處理邏輯將該供應電壓降低到該新的電壓值。
此時,因為該處理器頻率被設定在LFM(亦即,C1E)頻率,且被供應到該處理器之電壓係處於該深C1E電壓位準,所以該處理器係在該深C1E狀態下工作。
在該處理器完全進入該深C1E狀態之後的某一時點上,可傳送一中斷,使該處理器退出該深C1E狀態。在許多實施例中,該中斷要求該處理器至少回到C0 LFM狀態。
處理邏輯在處理方塊310中等候該中斷,並決定該中斷是否要求自深C1E狀態退出。如果並非如此,則處理邏輯返回,且再度在方塊310中檢查是否有自深C1E狀態退出之事件。否則,如果接收到退出深C1E狀態之一 中斷,則處理邏輯將被供應到該處理器之電壓值改變為LFM電壓值。在處理方塊312中,該電壓值被傳送到該VR,且該VR開始將電壓斜線上升到該LFM電壓。當退出該深C1E狀態之一中斷到達該處理器時,該處理器可開始服務標準中斷。
處理邏輯然後在處理方塊314中檢查被供應到該處理器之電壓是否已上升到該LFM電壓值。如果並非如此,則處理邏輯繼續在方塊314中檢查是否已到達該LFM電壓值。當已到達該LFM電壓時,處理邏輯在處理方塊316中停止節流該處理器中之指令通量速率。
在並未示出之另一實施例中,一額外的方塊316可進一步將電壓及頻率斜線上升到其HFM位準。
雖然本發明所述之實施例將重點放在C1E狀態,而實施指令通量速率節流機制,以便可在該狀態下減少供應電壓的位準,但是在許多額外的實施例中,可將該節流機制用來降低該C1E狀態(亦即,“增強式處理器暫停狀態”)以外的一處理器狀態之電壓。
至此,揭示了一種藉由實施處理器頻寬節流而在低於C1E電源狀態電壓位準的電壓下於該C1E電源狀態中操作處理器的方法、裝置、及系統之實施例。已參照本發明之特定實施例而說明了這些實施例。在不脫離本發明所述該等實施例的廣義精神及範圍下,受益於本發明揭示的人士將可易於對這些實施例作出各種修改及改變。因此,本說明書及各圖式將被視為例示性而非限制性。
100‧‧‧處理器
102,104‧‧‧核心
110‧‧‧快取記憶體
134,136‧‧‧排程單元
106,108‧‧‧引退單元
112‧‧‧記憶體控制器
114‧‧‧系統記憶體
116‧‧‧輸入/輸出組
118‧‧‧電壓調整器
120‧‧‧電源狀態進入及退出邏輯
122‧‧‧基本輸入/輸出系統
124‧‧‧作業系統
126‧‧‧進階組態設定及電源介面
128‧‧‧電源管理微控制器
130‧‧‧電壓修改邏輯
132‧‧‧時脈產生器電路

Claims (1)

  1. 一種處理器,包括:電源管理邏輯,以使該處理器從低電源狀態轉變至高電源狀態後,以實質最大吞吐率執行指令,其中該處理器在一期間係操作在實質最小操作電壓,在該期間該處理器係處於低電源狀態,且該處理器在另一期間係操作在高操作電壓,在該另一期間該處理器係處於高電源狀態。
TW103102751A 2008-09-19 2009-09-16 經由微架構頻寬節流之處理器電力消耗控制及電壓降 TWI524175B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/284,303 US8028181B2 (en) 2008-09-19 2008-09-19 Processor power consumption control and voltage drop via micro-architectural bandwidth throttling

Publications (2)

Publication Number Publication Date
TW201443631A true TW201443631A (zh) 2014-11-16
TWI524175B TWI524175B (zh) 2016-03-01

Family

ID=41821470

Family Applications (2)

Application Number Title Priority Date Filing Date
TW103102751A TWI524175B (zh) 2008-09-19 2009-09-16 經由微架構頻寬節流之處理器電力消耗控制及電壓降
TW098131219A TWI432949B (zh) 2008-09-19 2009-09-16 經由微架構頻寬節流之處理器電力消耗控制及電壓降

Family Applications After (1)

Application Number Title Priority Date Filing Date
TW098131219A TWI432949B (zh) 2008-09-19 2009-09-16 經由微架構頻寬節流之處理器電力消耗控制及電壓降

Country Status (8)

Country Link
US (2) US8028181B2 (zh)
JP (1) JP5090569B2 (zh)
KR (1) KR101254878B1 (zh)
CN (1) CN101676833B (zh)
BR (1) BRPI0918558A2 (zh)
DE (1) DE102009041723B4 (zh)
TW (2) TWI524175B (zh)
WO (1) WO2010033446A2 (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8028181B2 (en) 2008-09-19 2011-09-27 Intel Corporation Processor power consumption control and voltage drop via micro-architectural bandwidth throttling
US8122270B2 (en) * 2008-09-29 2012-02-21 Intel Corporation Voltage stabilization for clock signal frequency locking
US8064197B2 (en) * 2009-05-22 2011-11-22 Advanced Micro Devices, Inc. Heat management using power management information
US9069555B2 (en) * 2011-03-21 2015-06-30 Intel Corporation Managing power consumption in a multi-core processor
CN102759980B (zh) * 2011-04-29 2016-01-20 晨星软件研发(深圳)有限公司 多核心电子系统及其速率调节装置
US9442732B2 (en) * 2012-03-19 2016-09-13 Via Technologies, Inc. Running state power saving via reduced instructions per clock operation
US9274580B2 (en) 2012-06-29 2016-03-01 Intel Corporation Voltage regulator supplying power exclusively to a non-core region of a processor having a supply capability threshold
US9128721B2 (en) 2012-12-11 2015-09-08 Apple Inc. Closed loop CPU performance control
US9081577B2 (en) 2012-12-28 2015-07-14 Intel Corporation Independent control of processor core retention states
US9459683B2 (en) * 2013-09-27 2016-10-04 Intel Corporation Techniques for entering a low power state
US9135472B2 (en) 2013-10-31 2015-09-15 Square, Inc. Systems and methods for secure processing with embedded cryptographic unit
US9678556B2 (en) 2014-02-10 2017-06-13 Qualcomm Incorporated Dynamic clock and voltage scaling with low-latency switching
US9785174B2 (en) 2014-10-03 2017-10-10 Microsoft Technology Licensing, Llc Predictive transmission power control for back-off
US20180113496A1 (en) * 2015-05-15 2018-04-26 Hewlett Packard Enterprise Development Lp Dynamically changing a power supply voltage to a system
US10410202B1 (en) * 2016-12-31 2019-09-10 Square, Inc. Expedited booting with brownout monitoring
DE102017007969B3 (de) 2017-08-23 2019-02-14 e.solutions GmbH Charakterisierung einer Bordnetz-Leistungsversorgung von Vorrichtungen in einem Fahrzeug
US10410189B2 (en) 2017-09-30 2019-09-10 Square, Inc. Scanning system with direct access to memory
US10481819B2 (en) * 2017-10-30 2019-11-19 Micron Technology, Inc. Memory devices with multiple sets of latencies and methods for operating the same

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4521619B2 (ja) * 1996-11-21 2010-08-11 ルネサスエレクトロニクス株式会社 低電力プロセッサ
TW382670B (en) * 1996-11-21 2000-02-21 Hitachi Ltd Low power processor
JP2000039937A (ja) * 1998-07-22 2000-02-08 Toshiba Corp コンピュータシステムおよびそのパワーセーブ制御方法
US7260731B1 (en) * 2000-10-23 2007-08-21 Transmeta Corporation Saving power when in or transitioning to a static mode of a processor
US6931559B2 (en) * 2001-12-28 2005-08-16 Intel Corporation Multiple mode power throttle mechanism
JP3851289B2 (ja) * 2003-04-22 2006-11-29 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報処理装置、プログラム、記録媒体、及び制御方法
US7299370B2 (en) * 2003-06-10 2007-11-20 Intel Corporation Method and apparatus for improved reliability and reduced power in a processor by automatic voltage control during processor idle states
JP4549652B2 (ja) * 2003-10-27 2010-09-22 パナソニック株式会社 プロセッサシステム
US7664970B2 (en) * 2005-12-30 2010-02-16 Intel Corporation Method and apparatus for a zero voltage processor sleep state
JP2007102323A (ja) * 2005-09-30 2007-04-19 Kyocera Mita Corp 情報処理装置
WO2008012874A1 (fr) * 2006-07-25 2008-01-31 National University Corporation Nagoya University Dispositif de traitement d'opération
US7941683B2 (en) * 2007-05-02 2011-05-10 Advanced Micro Devices, Inc. Data processing device with low-power cache access mode
US7599808B2 (en) * 2007-08-31 2009-10-06 International Business Machines Corporation Application of multiple voltage droop detection and instruction throttling instances with customized thresholds across a semiconductor chip
US8028181B2 (en) 2008-09-19 2011-09-27 Intel Corporation Processor power consumption control and voltage drop via micro-architectural bandwidth throttling

Also Published As

Publication number Publication date
DE102009041723B4 (de) 2013-05-29
JP2012503233A (ja) 2012-02-02
US20100077232A1 (en) 2010-03-25
US8028181B2 (en) 2011-09-27
DE102009041723A1 (de) 2010-04-15
KR101254878B1 (ko) 2013-04-15
TWI432949B (zh) 2014-04-01
CN101676833A (zh) 2010-03-24
US20120210105A1 (en) 2012-08-16
TW201024986A (en) 2010-07-01
CN101676833B (zh) 2012-12-05
BRPI0918558A2 (pt) 2015-12-01
JP5090569B2 (ja) 2012-12-05
KR20110055674A (ko) 2011-05-25
WO2010033446A2 (en) 2010-03-25
TWI524175B (zh) 2016-03-01
WO2010033446A3 (en) 2010-05-27

Similar Documents

Publication Publication Date Title
TWI524175B (zh) 經由微架構頻寬節流之處理器電力消耗控制及電壓降
US8078891B2 (en) Method, device, and system for guaranteed minimum processor power state dwell time
TWI527051B (zh) 記憶體控制器之調校、電力閘控與動態頻率改變
CN105183128B (zh) 强制处理器进入低功率状态
US7430673B2 (en) Power management system for computing platform
US8028185B2 (en) Protocol for transitioning in and out of zero-power state
US8966305B2 (en) Managing processor-state transitions
US7681057B2 (en) Power management of non-volatile memory systems
US20090172428A1 (en) Apparatus and method for controlling power management
TW200844750A (en) Direct memory access controller
US11455025B2 (en) Power state transitions
JP2012505468A (ja) プロセッサ及びプロセッサに電源電圧を与える電圧変換器を有するシステムにおける電力管理
TWI470410B (zh) 電子系統及其電源管理方法
US8423802B2 (en) Power scaling module and power scaling unit of an electronic system having a function unit in a standby state which is insensitive to change in frequency or voltage during synchronization
US9766685B2 (en) Controlling power consumption of a processor using interrupt-mediated on-off keying
US8127161B2 (en) Data processing apparatus
KR101285665B1 (ko) 수면 모드를 지원하는 멀티 코어 시스템 온 칩
US10338665B2 (en) Microcontroller power reduction system and method
CN114296800A (zh) 一种cpu中灵活设置指令间延迟时间的电路及方法

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees