TW201346509A - 包含在可變喚醒率下之最佳化c-狀態選擇之高效節能方法、設備與系統 - Google Patents

包含在可變喚醒率下之最佳化c-狀態選擇之高效節能方法、設備與系統 Download PDF

Info

Publication number
TW201346509A
TW201346509A TW101151080A TW101151080A TW201346509A TW 201346509 A TW201346509 A TW 201346509A TW 101151080 A TW101151080 A TW 101151080A TW 101151080 A TW101151080 A TW 101151080A TW 201346509 A TW201346509 A TW 201346509A
Authority
TW
Taiwan
Prior art keywords
processor
state
saving state
power saving
power
Prior art date
Application number
TW101151080A
Other languages
English (en)
Other versions
TWI603184B (zh
Inventor
Alon Naveh
Eliezer Weissmann
Ofer Nathan
Nadav Shulman
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 TW201346509A publication Critical patent/TW201346509A/zh
Application granted granted Critical
Publication of TWI603184B publication Critical patent/TWI603184B/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
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • 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
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • 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/3243Power saving in microcontroller unit
    • 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/3246Power saving characterised by the action undertaken by software initiated power-off
    • 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
    • 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)
  • Power Sources (AREA)

Abstract

一種處理器可包括電源管理技術,用以動態地選擇用於處理核心的一最佳化C-狀態。在OS上的真正工作量之測量顯示兩個重要觀察:(1)高中斷率的發生係落在低中斷率週期和高活動級之長週期之間;及(2)中斷率可能突然下降至一般為目前作業系統(OS)的中斷率(例如,1毫秒)之下。電源控制邏輯非但沒有基於儲存在計數器中的過期資料來決定C-狀態,反而可藉由覆蓋OS或任何其他電源監控邏輯所決定的C-狀態來決定一最佳化C-狀態。電源控制邏輯可基於CPU閒置常駐次數和可變率喚醒事件,來動態地決定一最佳化C-狀態,以與預期之喚醒事件率相配。

Description

包含在可變喚醒率下之最佳化C-狀態選擇之高效節能方法、設備與系統 相關申請案之相互參照
本申請案係申請於2010/2/16的美國申請案第12/706,631號之部分延續案,其係申請於2005/12/30的美國申請案第11/323,254號,現在為核准於2010/2/16的美國專利第7,664,970號之延續,特此藉由引用來合併其內容於本案。
本揭露關於積體電路中的高效節能,以及用來執行於其上的代碼,尤其是,但不完全是關於在可變喚醒率下之最佳化C-狀態選擇。
半導體處理和邏輯設計方面的進展已允許可存在於積體電路裝置上的邏輯數量增加。因此,電腦系統組態已從系統中的單一或多個積體電路發展成多個硬體執行緒、多個核心、多個裝置、及/或個別積體電路上的完整系統。另外,隨著積體電路的密度已增長,對於計算裝置(從內嵌系統至伺服器)的電源需求也已逐步增加。此外,軟體無效率、及其硬體需求也已造成了計算裝置能量消耗的增加。實際上,有些研究指出電腦消耗了約為供應給美國之整個電力的13%。由此,對於與積體電路關聯之高效節能有重大的需要。且隨著伺服器、桌上型電腦、筆記型電 腦、輕薄筆電、平板電腦、行動電話、處理器、內嵌系統等變得更加普遍(從包括典型計算機、汽車、和電視至生物科技),計算裝置銷售的結果在能源消耗的領域之外良好地延伸對美國經濟的實質、直接影響,因為計算裝置相關銷售與美國國內生產總值已具有很大的因果關係。雖然在此已提出了與美國相關的特定統計,但對於提高能量效率並降低能量或功率消耗的需要都可適用於整個世界。
例如,電腦系統可包含處理器,其可包括核心區和非核心區。核心區可包括一或更多處理核心、快取(例如,L1和L2)、滿行緩衝區且非核心區可包含最後一級快取、記憶體控制器、及上述其他區塊。處理器電源管理技術的目標在於基於如處理器之活動時間或睡眠時間的一些準則,藉由改變處理器內之核心的電源狀態(例如C0、C1、C2、C3、C4、C6)來降低核心區所消耗的功率。
然而,如C6之較深的省電狀態(C-狀態)可關聯於用於轉換的高能量成本,且因為由於即時需要的高中斷率或由於I/O流量所造成的高中斷率導致的C-狀態收縮之常駐次數,上述成本可變得更加顯著。不正確的C-狀態使用將導致電池壽命的減少而不是增加。另外,不正確的選擇省電狀態可能增加中斷反應時間,其可能影響效能。省電狀態(或C-狀態)之選擇因此是關聯於電源狀態的節能與由於離開延遲時間所造成的效能損失之間的平衡。而且,若此較深的睡眠狀態中之常駐時間沒有長到足以證明進入較深的睡眠狀態,則進入較深的睡眠狀態可能不是節能 (或節省成本)的活動。因此這種嘗試進入較深的睡眠狀態可能是無效的。如ACPI的目前方法沒有C-狀態選擇之能量成本的概念且目前作業系統(OS)基於平均主動時間常駐或預期之睡眠期間和狀態離開延遲時間來選擇C-狀態。
接下來的說明描述了宣佈微弱有序的處理之技術的實施例。在接下來的說明中,提出許多具體細節,例如邏輯實作、資源分割、或共享、或複製實作、系統元件的類型和相互關係、及邏輯分割或整合選擇以提供對於本發明的更全面性了解。然而,本領域之熟知技術者將清楚明白無需這些具體細節便可實行本發明。在其他實例中,並未詳細顯示控制結構、邏輯閘等級電路、和全軟體指令序列以免模糊本發明。本領域之通常技術者藉由所包括的說明將能夠實作適當的功能而無須過度實驗。
在本說明書中提到的「一個實施例」、「一實施例」、「一示範實施例」表示所述之實施例可能包括一特定特徵、結構、或特性,但每個實施例可能不必包括此特定特徵、結構、或特性。此外,這樣的說法不一定係指相同的實施例。又,當說明與實施例關聯之特定特徵、結構、或特性時,應認為無論是否明確地說明,其在本領域之熟知技藝者的理解內能影響這類與其他實施例關聯之特徵、結構、或特性。
本發明之實施例可以硬體、韌體、軟體、或以上之任 何組合來實作。本發明之實施例亦可實作成儲存在機器可讀媒體上的指令,其可由一或更多處理器讀取和執行。機器可讀媒體可包括用來儲存或傳輸為機器(例如,計算裝置)可讀之形式之資訊的任何機制。
例如,機器可讀媒體可包括唯讀記憶體(ROM)、隨機存取記憶體(RAM)、磁碟儲存媒體、光學儲存媒體、快閃記憶體裝置、電子、光學、聲波或其他類似的信號。另外,韌體、軟體、常式、和指令在本文中可被說明為進行某些活動。然而,應了解上述說明僅為了方便起見且這類活動實際上由計算裝置、處理器、控制器、及執行韌體、軟體、常式、和指令的其他裝置引起。
雖然下面說明有關在如計算平台或微處理器之專用積體電路中的節能高效的實施例,但其他實施例可適用於其他類型的積體電路和邏輯裝置。本文所述實施例的類似技術和教示可施用於亦可因較佳高效節能而受益之其他類型的電路或半導體裝置。例如,所揭露之實施例並不限於桌上型和膝上型電腦系統且亦可使用在如手持裝置、單晶片系統(SOC)、及嵌入式應用的其他裝置中。手持裝置的一些實例包括行動電話、網際網路協定裝置、數位相機、個人數位助理(PDA)、及手持PC。嵌入式應用通常包括微控制器、數位信號處理器(DSP)、單晶片系統、網路電腦(NetPC)、機上盒、網路集線器、廣域網路(WAN)交換器、或能進行下面所教之功能和操作的任何其他系統。此外,本文所述之設備、方法、與系統並不限於實體計算裝 置,而是亦可涉及用於節能高效的軟體最佳化。如將在下面說明中變得顯而易見,本文所述之方法、設備、與系統的實施例(無論是指硬體、韌體、軟體、或以上之組合)對於「綠色科技」的未來而言是至關重要的,例如關於在包含大部分US或世界經濟之產品方面的節能高效。
例如,處理器形成重要部分的計算系統且這類處理器以作業系統來操作以進行工作量。作業系統(OS)可監控睡眠狀態並每隔一定時間產生中斷以喚醒處理器所支援的核心或執行緒。然而,這裡所描述的實施例揭露用來最佳化對可變喚醒率之C-狀態選擇的選擇技術。在目前和未來無滴答作業系統上真正工作量的測量顯示如201之發生的中斷率行為,其可顯示(1)高中斷率的發生(例如,第2圖之220-1、220-2、和220-k)可落在低中斷率(例如第2圖之230-1)或沒有或具有零中斷率的長期間(例如第2圖之250-1)之間。在一實施例中,閒置狀態(260-0、260-1、和260-2)可落在低活動之長週期(例如,第2圖之210-1和210-2)之間且低活動之長週期210-1和210-2可分別服務中斷220-1和220-2的發生。在低活動(210-1和210-2)的週期期間,OS可反應於完成每個中斷(在高中斷率220-1和220-2的發生內)而選擇深的C-狀態(如由區域271-1和271-2中的睡眠狀態轉換所示)。然而,進入深的C-狀態並頻率地從深狀態醒來以服務中斷可能對效能和省電造成不利影響。由於增加的延遲時間且由於頻率的深狀態進入和離開流之省電可能會影響效能。因此,在一實施例中, 可啟動降級流使得降級計數器可減量至一點,其中淺的C-狀態被降級邏輯覆蓋。於是,在完成低活動之長週期且當進入閒置週期(260-1或260-2)時,降級計數器可反映出造成淺的C-狀態(例如C1或C2)而不是較深的C-狀態(例如C6或C7)被選擇之高中斷率(220-1和220-2)的狀態。由於在低活動週期(210-1和210-2)期間已服務中斷,上述降級計數器中的值可能是過期的。
由於高中斷率的發生係落在低(230-1)或零中斷率(250-1)和長閒置週期(260-1或260-2)之間,處理器(處於閒置狀態)仍然可保持高中斷率的發生作為在其計數器中的資料。但,高中斷率220-1的發生係在低中斷週期(例如,230-1)之前且目前技術基於儲存在計數器中的資料(高中斷率220-1的發生)來決定處理核心待升級或降級的電源狀態。上述決定可將處理核心推向較淺的C狀態(例如,由省電狀態線圖203之270-1所示的C1)而不是較深的省電狀態(例如,由線圖204之280-6所示的C6)。因此可能會失去省電的絕佳機會。可容易看出由於倚賴計數器中的過期資料而失去了省電的絕佳機會。下述實施例使用C-狀態選擇技術以基於統計老化和不降級方法來選擇最佳C-狀態。根據下述選擇技術,電源管理區塊可使用C-狀態限制(CST_lim)和降級計數器值來加速轉換(或不降級)率。
而且,如上所述,中斷率每15毫秒(ms)可能突然下降(例如,第2圖之250-1)至一般為目前OS的中斷率之 下。儘管中斷率(例如,15ms以下)和重疊的低活動級(250-1)下降,目前技術仍可繼續將處理核心降至較淺的C-狀態(例如,由270-2所示的C2)而接著保持較淺的C-狀態一段較長的時間。目前技術甚至可能不會偵測到睡眠期間係長到足以停止降級。因此,失去了省電機會。
為了克服上述問題,在一實施例中,儘管中斷率是零,C-狀態選擇技術仍可預防性地進行不降級,且上述不降級可無需等待作業系統中斷處理器而發生。在一實施例中,下述技術可避免基於過期資料來決定電源狀態。在一實施例中,下述方法可動態地追蹤CPU或處理核心閒置常駐和喚醒(或干擾)事件並接著動態地使C-狀態覆蓋適應於與預期之可變喚醒率最佳地相配。在一實施例中,處理核心閒置常駐的動態追蹤和喚醒事件且接著動態地使C-狀態覆蓋適應於與預期之可變喚醒率最佳地相配可使用統計老化和不降級技術。因此,下述方法可覆蓋作業系統(OS)所決定的C-狀態且可接著取消(或停止)降級以動態地適應於最佳C-狀態來提高處理器中的高效節能之機會。在一實施例中,即使當處理核心或處理器是閒置的或處於如由線圖204之轉換280-1至280-3和280-4至280-6所示的低電源狀態,仍可藉由預防性地啟動處理來實現C-狀態轉換的動態適應。由此,處理核心可置於較深的C-狀態(例如,C6或C7)而不是較淺的C-狀態(例如,C2或C3)中且適當選擇C-狀態所造成的省電或節電可提高處理器和使用這類處理器之系統中的整體省電。可節省或保存 處理核心所利用的平均功率而不會影響效能。
在可變率喚醒事件下可支援能量最佳選擇C-狀態的處理器100之實施例係繪示在第1圖中。在一實施例中,處理器100可包含核心區105和非核心區150。在一實施例中,核心105和非核心150可支援點對點的雙向匯流排以提高處理核心(p-核心)110之間和核心區105與非核心區150之間的通訊。在一實施例中,核心區105可包含如p-核心110-A至110-N的處理核心、分別與p-核心110-A至110-N關聯的每核心快取120-A至120-N、及分別與p-核心110-A至110-N關聯的中級快取130-A至130-N。在一實施例中,p-核心110可包括指令佇列106、節流器107、活動累積邏輯AAL 108、指令提取單元IFU 112、解碼單元113、保留站RS 114、執行單元EU 115、浮點數執行單元FPU 116、重排序緩衝區ROB 117、及引退單元RU 118。
在一實施例中,每個處理器核心110-B至110-N可包括類似於處理核心110-A中所示之方塊的方塊且為了簡單起見而未顯示處理核心110-B至110-N之各者的內部細節。在一實施例中,每核心快取120可包括可支援較高存取速度的記憶體技術,例如,其可減少指令和資料提取的延遲時間。在一實施例中,非核心區150可包括記憶體控制器155、最後一級快取LLC 160、本地代理器HA 161、快取代理器CA 162、路由代理器RA 163、全域時脈/PLL 164、介面165、及電源管理單元168。
在一實施例中,活動感測器179可感測發生在方塊IFU 112、DU 113、RS 114、EU 115、FPU 116、ROB 117、和RU 118內的活動並提供活動級(架構和資料活動值)給活動累積邏輯。在一實施例中,活動感測器179可設置在處理核心110-A內的每個方塊之資料路徑中以使活動感測器179能偵測架構和資料活動值。在一實施例中,為了控制核心區105所消耗的功率,AAL 108可收集多個活動感測器179所感測到的活動級並產生累積的活動值。在一實施例中,活動累積邏輯AAL 108可提供累積的活動值給設置在電源管理單元168中的PCL 109。在其他實施例中,PCL 109可設置在每個處理核心110內。
在一實施例中,PCL 109可以硬體、韌體、或軟體或以上之組合來實作。在一實施例中,PCL 109可包括可程式暫存器109-A、電源邏輯109-B、計時器109-C、計數器109-D、及PLL 109-E。在此列出的PCL 109之內容僅僅是實例且PCL 109可包括許多其他硬體、韌體、和軟體元件。在一實施例中,可程式暫存器可以如用於每個C-狀態[C(n)]之睡眠臨界(Slp_threshold)值、降級差量值、長期間差量值、降級臨界(dem_threshold)值、老化逾時值(aging_timeout)、老化差量(aging_delta)值、不降級逾時值(un-demotion_timeout)、不降級差量值、及C-狀態限制值(CST_lim)的值來組態。
在一實施例中/電源邏輯109-B可反應於以可變(或不一致)率發生的喚醒事件而使用臨界、差量、和逾時值 及每個C-狀態中的處理核心之實際睡眠期間來動態地決定最佳C-狀態。在一實施例中,PCL 109可基於可被PCL 109動態地決定之最佳C-狀態來控制電壓、頻率、指令率及上述其他參數之一或更多者。在一實施例中,PCL 109可使用節流器107來改變電源控制參數以適合最佳C-狀態。
對真正工作量測量的作業系統之中斷率行為的表示之實施例係繪示在第2圖中。在一實施例中,線圖201可表示如OS對真正工作量所測得的中斷率行為,線圖202可表示處理核心的活動狀態,線圖203可表示沒有下述省電狀態選擇技術下的省電狀態轉換圖,而線圖204可描繪反應於使用下述省電狀態選擇技術的省電狀態轉換圖。
在一實施例中,在OS上的真正工作量之測量(如由線圖201所示)顯示兩個重要特性-(1)高中斷率的發生(220-1和220-2)係落在低中斷率週期(230-1)之間;及(2)中斷率(由週期250-1所表示)可能突然下降至一般為目前作業系統(OS)的中斷率(15毫秒)之下。
如可容易觀察到的,低活動之長週期210-1和210-2可分別至少部分地與高中斷率的發生220-1和220-2重疊。但,暫存器109-A可基於一段特定過去期間(歷史)中的發生(例如,高中斷率週期220-1和220-2)來儲存值。基於儲存在109-A之暫存器中的資料之歷史,CPU可在沒有下述技術的情況下判斷較淺的C-狀態(例如,如由線圖203之270-1或270-2所示的C1或C2)為用於處理核心 110-A的適當C-狀態。然而,當密切觀察事件時,低活動210-1之長週期已反應於高中斷率220-1的發生而發生,且高中斷率的發生220-1已被低活動210-1服務。因此,暫存器109-A中的值可能是舊(或過期)的且可能無關於決定C-狀態。
另外,低中斷率週期230-1在高中斷率220-1的發生之後且藉由選擇較深的C-狀態(例如,C6)可能存在絕佳的省電機會。在一實施例中,下述技術藉由停止將處理核心110-A降至如C1或C2或C3之較淺的C-狀態,使得上述絕佳的省電機會能被有效地利用。在降級的地方,電源管理單元可進行不降級(或增加轉換率,即使CPU處於低活動狀態時)以快速地不將CPU降至如C6或C7之較深的C-狀態。此外,下述技術可使PCL 109能覆蓋OS所決定的C-狀態並可將CPU動態地降級和不降至最佳C-狀態以利用由於可變喚醒事件率而發生的省電機會。
第3圖中繪示了顯示可在可變喚醒率下最佳化C-狀態選擇的處理器100之操作的流程圖。在方塊301中,可將aging_duration初始化成零且可將last_aging_wake-up初始化成Current_time值。在方塊302中,PCL 109可啟動aging_timeout()函數。在方塊305中,處理核心110-A可處於主動或初始電源狀態或C0狀態。在方塊310中,PCL 109可檢查是否收到例如C(n)進入請求之第一電源狀態,且控制可反應於收到請求而傳至方塊315以及若未收到C(n)狀態進入請求則可傳至方塊305。在一實施例中, C(n)進入請求可由作業系統(OS)或電源管理單元168或可進行電源管理功能之任何其他上述區塊中的韌體產生。在一實施例中,OS可基於活動級、在每個省電狀態中的常駐次數和上述其他試探來產生請求。然而,OS可基於歷史資料產生上述請求,且僅基於OS所產生的請求來從一個省電狀態轉成其他省電狀態可能不會是有效的,例如,由於目標C-狀態或低轉換率轉成或來自於從一個省電狀態轉成其他省電狀態的目標C-狀態之過期資料。在一實施例中,下述降級技術可覆蓋OS所傳送的請求並將處理器(或核心)推入較淺的省電狀態且不降級技術可設定暫存器的狀態,使得可終止先前的降級操作且可藉由硬體(或PCL 109)來達到OS所請求電源狀態。在一實施例中,覆蓋技術可使用不降級和下述統計老化方法。
在一實施例中,基於暫存器109-A中的過期資料可決定第一電源狀態[C(n)]狀態。因此,PCL 109可進行最佳C-狀態決定或選擇技術來判斷C(n)是否是最佳C-狀態,且若C(n)不是最佳C-狀態,則PCL 109可決定除了OS或其他電源管理區塊所決定之C(n)狀態以外的最佳C-狀態。
在方塊315中,PCL 109可停止aging_timeout()。在方塊320中,PCL 109可以Slp_start值來啟動睡眠計數器。在一實施例中,PCL 109可使用計數器109-C之其一者作為睡眠計數器。在方塊325中,PCL 109可判斷C(n)是否大於CST_lim(C-狀態限制),且若C(n)小於 CST_lim,則控制傳至方塊328,而若C(n)大於CST_lim,則控制傳至方塊330。在一實施例中,CST_lim可用來強施降級。例如,可能有三個省電狀態C1、C3、和C6,而每個省電狀態可與降級有限狀態機(FSM)關聯。在一實施例中,C6降級FSM可判斷是否應到降級,若C3降級FSM判斷不需要從C3降級,則可將CST_lim設成C3,而若C3降級FSM判斷需要從C3降級,則可將CST_lim設成C1。在一實施例中,CST_lim可表示可允許處理核心110-A由於降級過程而到達之最深的C-狀態。在一實施例中,CST_lim可判斷是否正在實行降級並達到允許降級的程度(狀態)。
在方塊328中,PCL 109可將目標CST設成C(n)。在一實施例中,目標CST可等於包括在C-狀態進入請求中的OS所提供之最小的第一C-狀態。在一實施例中,當目標CST等於(C(n))時,可能沒有任何降級,或者請求的C-狀態可能比電源管理方塊(或硬體)所設定的CST_lim更淺。在方塊330中,PCL 109可將目標CST設成CST_lim且將un_demotion_flg設成邏輯1。在一實施例中,因為可基於所使用的降級技術將目標CST設成CST_lim,因此可能發生降級,而在這種請況下的目標CST(即,CST_lim)可能不同於OS所傳送的請求。在方塊335中,PCL 109可檢查是否設定un_demotion_flg,且若設定un_demotion_flg(=1),則控制傳至方塊338,否則傳至方塊345。
在方塊338中,PCL 109可初始化降級計數器並將un-demotion_duration設成0,且PCL 109亦可將last_un-demotion_wake-up變數設成Current_time。在一實施例中,可將demotion_duration設成零以清除儲存在變數demotion_duration中的過期資料。在一實施例中,PCL 109可重置降級計數器以清除已發生在一視窗週期外的高中斷資料。在一實施例中,PCL 109可由此允許降級計數器記住小視窗內的中斷(或睡眠期間)。上述方法可提高反應性或增加一或更多省電狀態間的轉換率。在方塊340中,PCL 109可啟動un-demotion_timeout()函數,且在方塊345中,可將C-狀態設成目標C-狀態。在方塊350中,PCL 109可判斷是否已發生喚醒事件,且控制反應於喚醒事件的發生而傳至方塊352,否則傳至方塊345。在方塊352中,PCL 109可檢查是否設定不降級旗標(un-demotion_flg),且若設定un_demotion_flg,則控制傳至方塊355,否則傳至方塊360。
在方塊355中,PCL 109可停止un-demotion_timeout()函數,且在方塊360中,PCL 109可停止在方塊320中啟動的睡眠計數器。而且,暫存在睡眠計數器上的計數(Slp_end value)可被儲存並用來計算處理核心110-A的實際睡眠期間。
在方塊365中,PCL 109可使用Slp_start和Slp_end值來決定睡眠期間。在一實施例中,睡眠期間可能等於(Slp_end-Slp_start-un_demotion_duration)。在一實施例 中,這裡所描述的選擇技術可允許PMU 168預防性地檢查睡眠期間,且若睡眠期間超過特定級(降級臨界),則CPU或處理器100或處理核心110可不被降級或轉成較深的省電狀態以節省能源。在一實施例中,上述不降級(或轉成較深的省電狀態)可在無需從OS中斷下發生。在方塊367中,PCL 109可基於睡眠期間來決定demotion_delta值。在一實施例中,demotion_delta可能等於slp_dueation*閒置斜率。在一實施例中,閒置斜率可代表一線性常數,其可被定義為在一段指定時間內降級計數器中的增量。在方塊370中,PCL 109可將demotion_counter設成等於(demotion_count-Exit_Const+demotion_delta)的值。在一實施例中,當停止un-demotion timeout()時,demotion_count可能等於計數器所暫存的值(在方塊355中)。在一實施例中,在清除demotion_count(在方塊338中)的時間點和demotion_timeout()(如在方塊355中)之間測得的demotion_count和降級計數可能很小且可基於demotion_count來進行省電狀態間的轉換。於是,轉換率可增加且PCL 109可使得CPU快速進入所希望(或最佳)的省電狀態,且OS所選擇的C-狀態可被PCL 109覆蓋。在一實施例中,Exit_Const可代表當每次離開C-狀態時可用來減量降級計數器的值。在一實施例中,demotion_delta可代表用來基於睡眠期間是否夠長來更新降級計數器的值。在一實施例中,demotion_delta值可代 表增量或減量降級計數器的速率。在一實施例中,可統計地或基於如由OS所指示的使用者偏好來決定demotion_delta。
在方塊385中,PCL 109可判斷demotion_counter中的值是否低於降級臨界(dem_threshold),且若demotion_counter中的值低於降級臨界(dem_threshold),則控制傳至方塊390,否則傳至方塊392。在一實施例中,降級臨界(dem_threshold)可代表一參考點,其可設定用於可進行降至下個較淺狀態的降級計數器。
在方塊390中,PCL 109可將CST_lim設成C(n-1)。在方塊392中,PCL 109可將CST_lim設成C(n)且控制傳至啟動aging_timeout()函數的方塊302。為了克服OS不足以快速反應於中斷率的變化,選擇技術可覆蓋OS所作的C-狀態決定且可將CPU或處理器100降級或不降至最佳的省電狀態。在一實施例中,上述選擇技術(例如,使用CST_lim)所決定之最佳的電源狀態能以比OS所支援的轉換率更高的速率從一個省電狀態轉成另一個省電狀態。在一實施例中,即使未從OS收到任何中斷,上述降級技術仍可進行省電狀態轉換。在一實施例中,若OS所提供的C-狀態本身是最佳的省電狀態,則可逐漸移除覆蓋。在一實施例中,可例如使用降級計數器可被更新或反應於不降級計時器或老化計時器的中止之C-狀態離開流來關閉降級。在一實施例中,這裡所描述的選擇技術可允許PMU 168預防性地檢查睡眠期間,且若睡眠期間超過特定 級,則CPU或處理器100或處理核心110可不被降級並轉成較深的省電狀態以節省能源。在一實施例中,上述不降級並轉成較深的省電狀態可在無需從OS中斷下發生。
統計-老化技術400之實施例係繪示在第4圖之流程圖中。在方塊410中,PCL 109可將如其中一個計時器190-E的老化計時器設成低於或等於aging_timeout值的值。在一實施例中,aging_timeout值可儲存在其中一個暫存器109-A中。在一實施例中,使用者可組態aging_timeout值或PCL 109可動態地決定此值並週期性地組態暫存器。在方塊420中,PCL 109可檢查是否達到逾時,且若達到逾時,則控制傳至方塊425,否則迴圈返回。
在方塊425中,PCL 109可將aging_duration設成等於last_aging_wake-up與目前時間之差的值。在一實施例中,aging_duration可能等於(目前時間-last_aging_wake-up)。在方塊430中,PCL 109可基於aging_duration來決定demotion_delta。在一實施例中,demotion_delta可能等於aging_duration*aging_slope。在一實施例中,老化期間可能等於(目前時間-最後老化喚醒),其中目前時間代表PCL 109可決定demotion_delta之瞬間的時間,而最後老化喚醒代表發生即刻的先前喚醒事件之時間點。在一實施例中,當CPU進入C0狀態時,last_aging_wake-up可以第3圖之方塊301中的目前時間來啟動。在一實施例中,aging_slope可代表常數,當處理器處於C0狀態時, 其可定義在一段指定時間內降級計數器的增量。在方塊435中,PCL 109可將last_aging_wake-up設成目前時間。在方塊440中,PCL 109可將降級計數器設成(demotion_counter+demotion_delta),或換言之,PCL 109可以將等於demotion_delta的值增加至降級計數器。在一實施例中,demotion_delta可代表降級資訊可能衰退的速率或高中斷週期可能隨著時間而慢慢被遺忘。在一實施例中,可以用「aging_timeout」間隔來增量降級計數器。
在方塊460中,PCL 109可檢查demotion_counter值是否低於降級臨界(dem_threshold)值,且若demotion_counter值低於降級臨界(dem_threshold)值,則控制傳至方塊470,而若demotion_counter值大於降級臨界(dem_threshold)值,則控制傳至方塊490。在方塊470中,PCL 190可能不會改變CST_lim,且在方塊490中,PCL 190可將CST_lim設成C(n)。
不降級技術500之實施例係繪示在第5圖之流程圖中。在方塊510中,PCL 109可將不降級計時器設成un-demotion timeout()值。在方塊520中,PCL 109可檢查是否達到逾時,且若達到逾時,則控制傳至方塊525,否則迴圈返回。在方塊525中,PCL 109可將un-demotion_duration設成基於Last_un-demotion_wake-up和目前時間的值。在一實施例中,un-demotion_duration可等於(目前時間-Last_un-demotion_wake-up)。
在方塊530中,PCL 109可基於不降級期間來設定 demotion_delta。在一實施例中,demotion_delta可能等於(un-demotion_duration*idle_slope)。在一實施例中,不降級期間可能等於(目前時間-最後不降級喚醒),其中目前時間可代表PCL 109可決定demotion_delta之瞬間的時間,而最後不降級喚醒可代表發生即刻的先前喚醒事件之時間點。在一實施例中,當CPU進入降級C-狀態時,PCL 109可以方塊338中的目前時間來啟動最後不降級喚醒。在一實施例中,閒置斜率可代表常數,其可被定義為在一段指定時間內降級計數器的增量。在方塊535中,PCL 109可將Last_un-demotion_wake-up設成與目前時間相等。在方塊540中,PCL 109可將降級計數器設成(demotion_counter+demotion_delta),或換言之,PCL 109可基於un-demotion_delta來增量降級計數器。在一實施例中,un-demotion_delta可代表基於不中斷的閒置期間之用於降級計數器的衰退率。
在方塊560中,PCL 109可檢查demotion_counter值是否小於最大臨界值(Max_threshold_value),且若demotion_counter值小於最大臨界值(Max_threshold_value),則控制傳至方塊570,而若demotion_counter值大於最大臨界值(Max_threshold_value),則控制傳至方塊590。在一實施例中,即使在PCL 109判斷處理器的目前條件是穩定的之後,基於demotion_counter值與最大臨界值間之比較所採取的行動可支援不降級。上述方法可避免遲滯,其可能不 一定造成降級和不降級。在方塊570中,PCL 190可能不會改變CST_lim值,而在方塊590中,PCL 190可將CST_lim設成C(n)。在方塊595中,PCL 109可產生喚醒事件。
參考第6圖,電腦系統600可包括包括單指令多資料(SIMD)處理器的通用處理器602、多個處理核心601-1至601-m、及圖形處理器單元(GPU)605。在一實施例中,除了進行各種其他任務或儲存一串指令之外,處理器602還可進行增強操作以在機器可讀儲存媒體625中提供增強操作。然而,指令序列亦可儲存在記憶體620中或在任何其他適當的儲存媒體中。
儘管繪示圖形處理器單元605被整合在第12圖之處理器602內,但在一些實施例中,將圖形處理器單元605可單獨設置在處理器602外部且可用來進行增強操作,作為另一實例。操作電腦系統600的處理器602可以是一或更多耦接邏輯630的處理器核心。邏輯630可耦接一或更多I/O裝置660,其可提供連接電腦系統600。在一實施例中,邏輯630例如可以是晶片組邏輯。邏輯630係耦接記憶體620,其會是任何一種儲存器,包括光學、磁性、或半導體儲存器。圖形處理器單元605係透過訊框緩衝器耦接顯示器640。
在一實施例中,處理器602可包括多個處理核心601-1至601-m且每一個可包括核心區603和非核心區604。在一實施例中,當喚醒事件發生在不一致或可變模 式中時,處理器602之核心區603所消耗的功率可動態地決定最佳C-狀態。在一實施例中,設置在核心區603中的電源控制邏輯可覆蓋OS或任何其他電源監控邏輯所決定的C-狀態。在一實施例中,電源控制邏輯可基於CPU閒置常駐次數和可變率喚醒事件,來動態地決定最佳C-狀態,以與如上述的預期之喚醒事件率相配。
已說明關於示範實施例的本發明之某些特徵。然而,本說明不打算被解釋為限制意義。涉及本發明的本領域之熟知技術者將清楚明白示範實施例以及本發明之其他實施例的各種修改被視為是落在本發明之精神和範圍內。
100‧‧‧處理器
105‧‧‧核心區
106‧‧‧指令佇列
107‧‧‧節流器
108‧‧‧活動累積邏輯
110-A-110-N‧‧‧處理核心
112‧‧‧指令提取單元
113‧‧‧解碼單元
114‧‧‧保留站
115‧‧‧執行單元
116‧‧‧浮點數執行單元
117‧‧‧重排序緩衝區
118‧‧‧引退單元
109‧‧‧PCL
109-A‧‧‧暫存器
109-B‧‧‧電源邏輯
109-C‧‧‧計時器
109-D‧‧‧計數器
109-E‧‧‧PLL
120-A-120-N‧‧‧每核心快取
130-A-130-N‧‧‧中級快取
150‧‧‧非核心區
155‧‧‧記憶體控制器
160‧‧‧最後一級快取
161‧‧‧本地代理器
162‧‧‧快取代理器
163‧‧‧路由代理器
164‧‧‧全域時脈
165‧‧‧介面
168‧‧‧電源管理單元
179‧‧‧活動感測器
201‧‧‧線圖
202‧‧‧線圖
203‧‧‧線圖
204‧‧‧線圖
210-1‧‧‧低活動之長週期
210-2‧‧‧低活動之長週期
220-1‧‧‧高中斷率
220-2‧‧‧高中斷率
220-k‧‧‧高中斷率
230-1‧‧‧低中斷率
250-1‧‧‧長期間
260-0‧‧‧閒置週期
260-1‧‧‧閒置週期
260-2‧‧‧閒置週期
300‧‧‧流程圖
305-392‧‧‧方塊
400‧‧‧流程圖
410-490‧‧‧方塊
500‧‧‧流程圖
510-590‧‧‧方塊
600‧‧‧電腦系統
601-1-601-m‧‧‧處理核心
602‧‧‧處理器
603‧‧‧核心區
604‧‧‧非核心區
605‧‧‧圖形處理器單元
620‧‧‧記憶體
625‧‧‧機器可讀儲存媒體
630‧‧‧邏輯
640‧‧‧顯示器
660‧‧‧I/O裝置
本文所述的發明僅經由在附圖中的舉例,而非限定來說明。為求說明之簡單和清楚起見,圖中所示之元件不一定按比例繪製。例如,為求清楚起見,有些元件的維度相對於其他元件可能被擴大。再者,在適當考量下,已在圖式之間重覆參考標記以指示出對應或類似的元件。
第1圖繪示依照一實施例之處理器100,其可支援用以在可變喚醒率下選擇最佳化C-狀態的技術。
第2圖繪示依照一實施例之代表可變喚醒率的線圖200。
第3圖繪示依照一實施例之處理器100在可變喚醒率下可最佳化C-狀態選擇之流程圖300。
第4圖係依照一實施例之流程圖400,其繪示用以決 定統計老化值的技術。
第5圖係依照一實施例之流程圖500,其繪示不將處理器降至(不降級)較淺的C-狀態的技術。
第6圖繪示依照一實施例之電腦系統600,其可支援用以在可變喚醒率下選擇最佳化C-狀態的技術。

Claims (20)

  1. 一種處理器,用來支援節能技術,包含:複數個處理核心;非核心區;及電源管理單元,其中該電源管理單元用來:從作業系統接收請求,其中該請求包括該處理器待進入的第一省電狀態;若該處理器的低活動週期與高中斷率的發生重疊,則將該處理器降至第二電源狀態,其為比該第一電源狀態更淺的省電狀態;及反應於判斷中斷率為低而不將該處理器降至第三省電狀態,其為比該第一省電狀態更深的省電狀態;其中即使沒有來自作業系統的喚醒中斷,該電源管理單元仍預防性地將該處理器轉成較深的省電狀態。
  2. 如申請專利範圍第1項所述之處理器,其中若該處理器在該第三省電狀態中的睡眠期間超過降級臨界,即使未從作業系統收到中斷,該電源管理單元仍不將該處理器降至第四省電狀態,其比該第三省電狀態更深。
  3. 如申請專利範圍第2項所述之處理器,其中該電源管理單元用來:追蹤該處理器在該第三省電狀態中的該睡眠期間,並在該低中斷週期期間,增加從一個省電狀態轉至一甚至更深之省電狀態的速率。
  4. 如申請專利範圍第3項所述之處理器,其中該電源管理單元用來在一零中斷週期期間增加從一個省電狀態轉至一甚至更深之電源狀態的速率。
  5. 如申請專利範圍第4項所述之處理器,其中該電源管理單元反應於發生高中斷率而增加從一個省電狀態轉至一較淺之省電狀態的速率。
  6. 如申請專利範圍第5項所述之處理器,其中該電源管理單元更包含一降級計數器,用來追蹤該睡眠期間,其中若該處理器在該第二電源狀態中的該睡眠期間低於該降級臨界,則該電源管理單元將該處理器降至該較淺之省電狀態。
  7. 如申請專利範圍第6項所述之處理器,其中該電源管理單元用來:以一降級差量值增量該降級計數器,其中該降級差量值表示增量或減量該降級計數器的速率,並重置該降級計數器,以清除已發生在一視窗週期外的中斷。
  8. 一種支援在處理器中之節能技術的方法,該方法包含:從作業系統接收請求,其中該請求包括該處理器待進入的第一省電狀態;若該處理器的低活動週期與高中斷率的發生重疊,則將該處理器降至第二電源狀態,其為比該第一電源狀態更淺的省電狀態;及 反應於判斷中斷率為低而不將該處理器降至第三省電狀態,其為比該第一省電狀態更深的省電狀態;其中即使沒有來自作業系統的喚醒中斷,該電源管理單元仍預防性地將該處理器轉成較深的省電狀態。
  9. 如申請專利範圍第8項所述之方法,包含若該處理器在該第三省電狀態中的睡眠期間超過降級臨界,即使未從作業系統收到中斷,仍不將該處理器降至第四省電狀態,其比該第三省電狀態更深。
  10. 如申請專利範圍第9項所述之方法,包含:追蹤該處理器在該第三省電狀態中的該睡眠期間;及在該低中斷週期期間,增加從一個省電狀態轉至一甚至更深之省電狀態的速率。
  11. 如申請專利範圍第10項所述之方法,包含在零中斷週期期間增加從一個省電狀態轉至一甚至更深之電源狀態的速率。
  12. 如申請專利範圍第11項所述之方法,包含反應於發生高中斷率而增加從一個省電狀態轉至一較淺之省電狀態的速率。
  13. 如申請專利範圍第12項所述之方法,包含:追蹤該睡眠期間;及若該處理器在該第二電源狀態中的該睡眠期間低於該降級臨界,則將該處理器降至該較淺之省電狀態。
  14. 如申請專利範圍第13項所述之方法,包含:以一降級差量值增量該降級計數器,其中該降級差量 值表示增量或減量該降級計數器的速率;及重置該降級計數器以清除已發生在一視窗週期外的中斷。
  15. 一種支援節能技術的電腦系統,包含:複數個輸入輸出裝置;耦接該複數個輸入輸出裝置之邏輯;顯示裝置,耦接該邏輯;機器可讀儲存媒體,耦接該邏輯;及處理器,耦接該邏輯,其中該處理器更包括:複數個處理核心;非核心區;及電源管理單元,其中該電源管理單元用來:從作業系統接收請求,其中該請求包括該處理器待進入的第一省電狀態;若該處理器的低活動週期與高中斷率的發生重疊,則將該處理器降至第二電源狀態,其為比該第一電源狀態更淺的省電狀態;及反應於判斷中斷率為低而不將該處理器降至第三省電狀態,其為比該第一省電狀態更深的省電狀態;其中即使沒有來自作業系統的喚醒中斷,該電源管理單元仍預防性地將該處理器轉成較深的省電狀態。
  16. 如申請專利範圍第15項所述之電腦系統,其中若該處理器在該第三省電狀態中的睡眠期間超過降級臨界,即使未從作業系統收到中斷,該電源管理單元仍不將 該處理器降至第四省電狀態,其比該第三省電狀態更深。
  17. 如申請專利範圍第16項所述之電腦系統,其中該電源管理單元用來:追蹤該處理器在該第三省電狀態中的該睡眠期間,並在該低中斷週期期間,增加從一個省電狀態轉至一甚至更深之省電狀態的速率。
  18. 如申請專利範圍第17項所述電腦系統,其中該電源管理單元用來在一零中斷週期期間增加從一個省電狀態轉至一甚至更深之電源狀態的速率。
  19. 如申請專利範圍第18項所述之電腦系統,其中該電源管理單元反應於發生高中斷率而增加從一個省電狀態轉至一較淺之省電狀態的速率。
  20. 如申請專利範圍第19項所述之電腦系統,其中該電源管理單元更包含一降級計數器,用來追蹤該睡眠期間,其中該電源管理單元用來:若該處理器在該第二電源狀態中的該睡眠期間低於該降級臨界,則將該處理器降至該較淺之省電狀態;以一降級差量值增量該降級計數器,其中該降級差量值表示增量或減量該降級計數器的速率;及重置該降級計數器以清除已發生在一視窗週期外的中斷。
TW101151080A 2011-12-28 2012-12-28 包含在可變喚醒率下之最佳化c-狀態選擇之高效節能方法、設備與系統 TWI603184B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13/339,284 US8799687B2 (en) 2005-12-30 2011-12-28 Method, apparatus, and system for energy efficiency and energy conservation including optimizing C-state selection under variable wakeup rates

Publications (2)

Publication Number Publication Date
TW201346509A true TW201346509A (zh) 2013-11-16
TWI603184B TWI603184B (zh) 2017-10-21

Family

ID=48698804

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101151080A TWI603184B (zh) 2011-12-28 2012-12-28 包含在可變喚醒率下之最佳化c-狀態選擇之高效節能方法、設備與系統

Country Status (3)

Country Link
US (2) US8799687B2 (zh)
TW (1) TWI603184B (zh)
WO (1) WO2013101906A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111522587A (zh) * 2019-02-01 2020-08-11 新唐科技股份有限公司 电子装置及装置唤醒方法

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7664970B2 (en) 2005-12-30 2010-02-16 Intel Corporation Method and apparatus for a zero voltage processor sleep state
US8635469B2 (en) * 2009-12-22 2014-01-21 Intel Corporation Method and apparatus for I/O devices assisted platform power management
US8560749B2 (en) * 2011-02-11 2013-10-15 Intel Corporation Techniques for managing power consumption state of a processor involving use of latency tolerance report value
US8812761B2 (en) * 2011-10-28 2014-08-19 Apple Inc. System and method for adjusting power usage to reduce interrupt latency
US9009367B2 (en) 2012-08-03 2015-04-14 Intel Corporation Adaptive interrupt moderation
US9535483B2 (en) * 2012-12-19 2017-01-03 Intel Corporation Adaptively disabling and enabling sleep states for power and performance
US9158357B2 (en) * 2012-12-28 2015-10-13 Intel Corporation System and method for conveying service latency requirements for devices connected to low power input/output sub-systems
US20140244273A1 (en) * 2013-02-27 2014-08-28 Jean Laroche Voice-controlled communication connections
WO2014141140A1 (en) * 2013-03-14 2014-09-18 Lsi Corporation Device power control
WO2014209395A1 (en) * 2013-06-28 2014-12-31 Intel Corporation Adaptive interrupt coalescing for energy efficient mobile platforms
JP6162329B2 (ja) * 2013-06-28 2017-07-12 インテル コーポレイション マルチコンポーネントプラットフォームにおけるアクティビティ管理のための技術およびシステム
US9508345B1 (en) 2013-09-24 2016-11-29 Knowles Electronics, Llc Continuous voice sensing
US9501128B2 (en) 2013-10-30 2016-11-22 Globalfoundries Inc. Cooperative reduced power mode suspension for high input/output (‘I/O’) workloads
US9134780B2 (en) 2013-11-11 2015-09-15 Symbol Technologies, Llc Apparatus and method for providing adaptive power state control based on ignition input
US9532155B1 (en) 2013-11-20 2016-12-27 Knowles Electronics, Llc Real time monitoring of acoustic environments using ultrasound
US9437188B1 (en) 2014-03-28 2016-09-06 Knowles Electronics, Llc Buffered reprocessing for multi-microphone automatic speech recognition assist
KR20160054850A (ko) * 2014-11-07 2016-05-17 삼성전자주식회사 다수의 프로세서들을 운용하는 장치 및 방법
US10324519B2 (en) * 2016-06-23 2019-06-18 Intel Corporation Controlling forced idle state operation in a processor
US10445107B2 (en) 2016-07-14 2019-10-15 Huawei Technologies Co., Ltd. Security design for a wake up frame
US10171277B2 (en) 2016-07-14 2019-01-01 Huawei Technologies Co., Ltd. Frame format and design of wake-up frame for a wake-up receiver
US10524304B2 (en) * 2016-07-14 2019-12-31 Huawei Technologies Co., Ltd. MAC frame design of wake-up frame for wake-up receiver
US10379596B2 (en) * 2016-08-03 2019-08-13 Intel Corporation Providing an interface for demotion control information in a processor
TWI626535B (zh) * 2017-02-15 2018-06-11 新唐科技股份有限公司 電源管理系統和控制器
US10146288B2 (en) 2017-02-15 2018-12-04 Vigyanlabs Innovations Private Limited Adaptive power consumption management in smart devices
KR102480017B1 (ko) * 2017-08-11 2022-12-21 삼성전자 주식회사 입출력 장치의 성능 및 전력소모를 조절하는 메모리 컨트롤러, 어플리케이션 프로세서 및 메모리 컨트롤러의 동작방법
US11216276B2 (en) * 2018-12-27 2022-01-04 Intel Corporation Controlling power state demotion in a processor
WO2023097426A1 (en) * 2021-11-30 2023-06-08 Intel Corporation Methods and apparatus to improve sleep state demotion with hardware power monitor

Family Cites Families (74)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5163153A (en) 1989-06-12 1992-11-10 Grid Systems Corporation Low-power, standby mode computer
DE479887T1 (de) * 1989-06-30 1992-12-17 Poqet Computer Corp., Santa Clara, Calif., Us Stromversorgungsmanagementsystem fuer rechner.
US5522087A (en) 1994-03-22 1996-05-28 Verifone Inc. System for selectively operating in different modes depending upon receiving signal from a host computer within a time window upon power up
US5590341A (en) 1994-09-30 1996-12-31 Intel Corporation Method and apparatus for reducing power consumption in a computer system using ready delay
US5621250A (en) 1995-07-31 1997-04-15 Ford Motor Company Wake-up interface and method for awakening an automotive electronics module
US5926640A (en) * 1996-11-01 1999-07-20 Digital Equipment Corporation Skipping clock interrupts during system inactivity to reduce power consumption
US5931950A (en) 1997-06-17 1999-08-03 Pc-Tel, Inc. Wake-up-on-ring power conservation for host signal processing communication system
US6823516B1 (en) 1999-08-10 2004-11-23 Intel Corporation System and method for dynamically adjusting to CPU performance changes
US7010708B2 (en) 2002-05-15 2006-03-07 Broadcom Corporation Method and apparatus for adaptive CPU power management
US7539885B2 (en) 2000-01-13 2009-05-26 Broadcom Corporation Method and apparatus for adaptive CPU power management
JP2001318742A (ja) 2000-05-08 2001-11-16 Mitsubishi Electric Corp コンピュータシステムおよびコンピュータ読み取り可能な記録媒体
KR100361340B1 (ko) 2000-05-15 2002-12-05 엘지전자 주식회사 씨피유 클럭 제어 방법
US6411157B1 (en) 2000-06-29 2002-06-25 International Business Machines Corporation Self-refresh on-chip voltage generator
US6792392B1 (en) 2000-06-30 2004-09-14 Intel Corporation Method and apparatus for configuring and collecting performance counter data
US6748546B1 (en) 2000-09-26 2004-06-08 Sun Microsystems, Inc. Method and apparatus for reducing power consumption
US6829713B2 (en) 2000-12-30 2004-12-07 Intel Corporation CPU power management based on utilization with lowest performance mode at the mid-utilization range
US7058824B2 (en) 2001-06-15 2006-06-06 Microsoft Corporation Method and system for using idle threads to adaptively throttle a computer
US20030061383A1 (en) 2001-09-25 2003-03-27 Zilka Anthony M. Predicting processor inactivity for a controlled transition of power states
US7111179B1 (en) 2001-10-11 2006-09-19 In-Hand Electronics, Inc. Method and apparatus for optimizing performance and battery life of electronic devices based on system and application parameters
US6996728B2 (en) 2002-04-26 2006-02-07 Hewlett-Packard Development Company, L.P. Managing power consumption based on utilization statistics
US7080267B2 (en) 2002-08-01 2006-07-18 Texas Instruments Incorporated Methodology for managing power consumption in an application
US7051227B2 (en) 2002-09-30 2006-05-23 Intel Corporation Method and apparatus for reducing clock frequency during low workload periods
TW575803B (en) 2002-10-17 2004-02-11 Uniwill Comp Corp The method of managing portable computer power cord
US6898689B2 (en) 2002-11-15 2005-05-24 Silicon Labs Cp, Inc. Paging scheme for a microcontroller for extending available register space
US7043649B2 (en) 2002-11-20 2006-05-09 Portalplayer, Inc. System clock power management for chips with multiple processing modules
US7191349B2 (en) * 2002-12-26 2007-03-13 Intel Corporation Mechanism for processor power state aware distribution of lowest priority interrupt
US6971033B2 (en) 2003-01-10 2005-11-29 Broadcom Corporation Method and apparatus for improving bus master performance
WO2004066092A2 (en) 2003-01-23 2004-08-05 University Of Rochester Multiple clock domain microprocessor
JP4061492B2 (ja) 2003-02-10 2008-03-19 ソニー株式会社 情報処理装置および消費電力制御方法
US7093147B2 (en) 2003-04-25 2006-08-15 Hewlett-Packard Development Company, L.P. Dynamically selecting processor cores for overall power efficiency
US7272732B2 (en) 2003-06-30 2007-09-18 Hewlett-Packard Development Company, L.P. Controlling power consumption of at least one computer system
TW200502847A (en) 2003-07-08 2005-01-16 Benq Corp Control device and method for reducing number of interrupts in a processor
US7146514B2 (en) 2003-07-23 2006-12-05 Intel Corporation Determining target operating frequencies for a multiprocessor system
US7272730B1 (en) 2003-07-31 2007-09-18 Hewlett-Packard Development Company, L.P. Application-driven method and apparatus for limiting power consumption in a processor-controlled hardware platform
US7194643B2 (en) 2003-09-29 2007-03-20 Intel Corporation Apparatus and method for an energy efficient clustered micro-architecture
US7770034B2 (en) 2003-12-16 2010-08-03 Intel Corporation Performance monitoring based dynamic voltage and frequency scaling
US7401240B2 (en) 2004-06-03 2008-07-15 International Business Machines Corporation Method for dynamically managing power in microprocessor chips according to present processing demands
US7451333B2 (en) 2004-09-03 2008-11-11 Intel Corporation Coordinating idle state transitions in multi-core processors
US20070156992A1 (en) 2005-12-30 2007-07-05 Intel Corporation Method and system for optimizing latency of dynamic memory sizing
US7711966B2 (en) * 2004-08-31 2010-05-04 Qualcomm Incorporated Dynamic clock frequency adjustment based on processor load
US9001801B2 (en) 2004-09-07 2015-04-07 Broadcom Corporation Method and system for low power mode management for complex Bluetooth devices
US7941585B2 (en) 2004-09-10 2011-05-10 Cavium Networks, Inc. Local scratchpad and data caching system
US7426648B2 (en) 2004-09-30 2008-09-16 Intel Corporation Global and pseudo power state management for multiple processing elements
US7434073B2 (en) 2004-11-29 2008-10-07 Intel Corporation Frequency and voltage scaling architecture
US7472289B2 (en) * 2004-12-21 2008-12-30 Intel Corporation Audio noise mitigation for power state transitions
US7502948B2 (en) 2004-12-30 2009-03-10 Intel Corporation Method, system, and apparatus for selecting a maximum operation point based on number of active cores and performance level of each of the active cores
US8041967B2 (en) 2005-02-15 2011-10-18 Hewlett-Packard Development Company, L.P. System and method for controlling power to resources based on historical utilization data
US7454632B2 (en) 2005-06-16 2008-11-18 Intel Corporation Reducing computing system power through idle synchronization
US7430673B2 (en) 2005-06-30 2008-09-30 Intel Corporation Power management system for computing platform
US8301868B2 (en) 2005-09-23 2012-10-30 Intel Corporation System to profile and optimize user software in a managed run-time environment
US20070079294A1 (en) 2005-09-30 2007-04-05 Robert Knight Profiling using a user-level control mechanism
US20070106827A1 (en) 2005-11-08 2007-05-10 Boatright Bryan D Centralized interrupt controller
US20070245163A1 (en) 2006-03-03 2007-10-18 Yung-Hsiang Lu Power management in computer operating systems
US7437270B2 (en) 2006-03-30 2008-10-14 Intel Corporation Performance state management
US7752468B2 (en) 2006-06-06 2010-07-06 Intel Corporation Predict computing platform memory power utilization
US7529956B2 (en) 2006-07-17 2009-05-05 Microsoft Corporation Granular reduction in power consumption
US7930564B2 (en) 2006-07-31 2011-04-19 Intel Corporation System and method for controlling processor low power states
US7953032B2 (en) 2006-10-06 2011-05-31 Verisilicon, Inc. Method, system and apparatus for a dual mode mobile device
US7730340B2 (en) 2007-02-16 2010-06-01 Intel Corporation Method and apparatus for dynamic voltage and frequency scaling
WO2008117133A1 (en) 2007-03-26 2008-10-02 Freescale Semiconductor, Inc. Anticipation of power on of a mobile device
JP2008257578A (ja) 2007-04-06 2008-10-23 Toshiba Corp 情報処理装置、スケジューラおよび情報処理置のスケジュール制御方法
US7971074B2 (en) 2007-06-28 2011-06-28 Intel Corporation Method, system, and apparatus for a core activity detector to facilitate dynamic power management in a distributed system
US8024590B2 (en) 2007-12-10 2011-09-20 Intel Corporation Predicting future power level states for processor cores
US20090150696A1 (en) 2007-12-10 2009-06-11 Justin Song Transitioning a processor package to a low power state
US7966506B2 (en) 2007-12-12 2011-06-21 Intel Corporation Saving power in a computer system
US8442697B2 (en) 2007-12-18 2013-05-14 Packet Digital Method and apparatus for on-demand power management
KR101459140B1 (ko) 2007-12-26 2014-11-07 엘지전자 주식회사 전원관리 제어 장치 및 방법
US8156362B2 (en) 2008-03-11 2012-04-10 Globalfoundries Inc. Hardware monitoring and decision making for transitioning in and out of low-power state
US8112647B2 (en) * 2008-08-27 2012-02-07 Globalfoundries Inc. Protocol for power state determination and demotion
US8954977B2 (en) 2008-12-09 2015-02-10 Intel Corporation Software-based thread remapping for power savings
US8291249B2 (en) * 2009-09-25 2012-10-16 Advanced Micro Devices, Inc. Method and apparatus for transitioning devices between power states based on activity request frequency
KR20110034729A (ko) * 2009-09-29 2011-04-06 삼성전자주식회사 프로세서를 포함하는 장치의 전력 관리 방법
US8700943B2 (en) 2009-12-22 2014-04-15 Intel Corporation Controlling time stamp counter (TSC) offsets for mulitple cores and threads
JP5134022B2 (ja) * 2010-01-17 2013-01-30 レノボ・シンガポール・プライベート・リミテッド プロセッサの電圧制御の方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111522587A (zh) * 2019-02-01 2020-08-11 新唐科技股份有限公司 电子装置及装置唤醒方法
CN111522587B (zh) * 2019-02-01 2023-09-01 新唐科技股份有限公司 电子装置及装置唤醒方法

Also Published As

Publication number Publication date
US8996895B2 (en) 2015-03-31
WO2013101906A3 (en) 2013-08-22
US20140317430A1 (en) 2014-10-23
US8799687B2 (en) 2014-08-05
WO2013101906A2 (en) 2013-07-04
US20120191995A1 (en) 2012-07-26
TWI603184B (zh) 2017-10-21
US20130097437A9 (en) 2013-04-18

Similar Documents

Publication Publication Date Title
TWI603184B (zh) 包含在可變喚醒率下之最佳化c-狀態選擇之高效節能方法、設備與系統
US9292068B2 (en) Controlling a turbo mode frequency of a processor
EP2771765B1 (en) System and method for managing clock speed based on task urgency
CN101379453B (zh) 使用动态工作负载特征来控制cpu频率和电压调节的方法和装置
US9904346B2 (en) Methods and apparatus to improve turbo performance for events handling
US8291249B2 (en) Method and apparatus for transitioning devices between power states based on activity request frequency
US8156362B2 (en) Hardware monitoring and decision making for transitioning in and out of low-power state
TWI439850B (zh) 電子裝置及平台管理方法
US7689849B2 (en) Reduction of power consumption by throttling processor requests
US20100058078A1 (en) Protocol for Power State Determination and Demotion
US8812761B2 (en) System and method for adjusting power usage to reduce interrupt latency
US20090235260A1 (en) Enhanced Control of CPU Parking and Thread Rescheduling for Maximizing the Benefits of Low-Power State
CN110574014B (zh) 节能的高速缓存存储器使用
JP5764150B2 (ja) パワー・オン状態から省電力状態に移行させる方法およびコンピュータ
TW201239609A (en) Computing platform power management with adaptive cache flush
EP3717987B1 (en) Dynamic interrupt rate control in computing systems
JP2000039937A (ja) コンピュータシステムおよびそのパワーセーブ制御方法
EP1975763B1 (en) Resource power controller
US9075609B2 (en) Power controller, processor and method of power management
WO2013086054A2 (en) A method, apparatus, and system for energy efficiency and energy conservation including determining an optimal power state of the apparatus based on residency time of non-core domains in a power saving state
US20140344596A1 (en) Controlling Power Consumption Of A Processor Using Interrupt-Mediated On-Off Keying
US20230315188A1 (en) Using a hardware-based controller for power state management
CN102118407A (zh) 一种降低集群作业系统运行功耗的方法、节点及系统