TW201346509A - 包含在可變喚醒率下之最佳化c-狀態選擇之高效節能方法、設備與系統 - Google Patents
包含在可變喚醒率下之最佳化c-狀態選擇之高效節能方法、設備與系統 Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3275—Power saving in memory, e.g. RAM, cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3243—Power saving in microcontroller unit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3246—Power saving characterised by the action undertaken by software initiated power-off
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3296—Power saving characterised by the action undertaken by lowering the supply or operating voltage
-
- 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
- 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
本申請案係申請於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項所述之處理器,其中該電源管理單元用來:追蹤該處理器在該第三省電狀態中的該睡眠期間,並在該低中斷週期期間,增加從一個省電狀態轉至一甚至更深之省電狀態的速率。
- 如申請專利範圍第3項所述之處理器,其中該電源管理單元用來在一零中斷週期期間增加從一個省電狀態轉至一甚至更深之電源狀態的速率。
- 如申請專利範圍第4項所述之處理器,其中該電源管理單元反應於發生高中斷率而增加從一個省電狀態轉至一較淺之省電狀態的速率。
- 如申請專利範圍第5項所述之處理器,其中該電源管理單元更包含一降級計數器,用來追蹤該睡眠期間,其中若該處理器在該第二電源狀態中的該睡眠期間低於該降級臨界,則該電源管理單元將該處理器降至該較淺之省電狀態。
- 如申請專利範圍第6項所述之處理器,其中該電源管理單元用來:以一降級差量值增量該降級計數器,其中該降級差量值表示增量或減量該降級計數器的速率,並重置該降級計數器,以清除已發生在一視窗週期外的中斷。
- 一種支援在處理器中之節能技術的方法,該方法包含:從作業系統接收請求,其中該請求包括該處理器待進入的第一省電狀態;若該處理器的低活動週期與高中斷率的發生重疊,則將該處理器降至第二電源狀態,其為比該第一電源狀態更淺的省電狀態;及 反應於判斷中斷率為低而不將該處理器降至第三省電狀態,其為比該第一省電狀態更深的省電狀態;其中即使沒有來自作業系統的喚醒中斷,該電源管理單元仍預防性地將該處理器轉成較深的省電狀態。
- 如申請專利範圍第8項所述之方法,包含若該處理器在該第三省電狀態中的睡眠期間超過降級臨界,即使未從作業系統收到中斷,仍不將該處理器降至第四省電狀態,其比該第三省電狀態更深。
- 如申請專利範圍第9項所述之方法,包含:追蹤該處理器在該第三省電狀態中的該睡眠期間;及在該低中斷週期期間,增加從一個省電狀態轉至一甚至更深之省電狀態的速率。
- 如申請專利範圍第10項所述之方法,包含在零中斷週期期間增加從一個省電狀態轉至一甚至更深之電源狀態的速率。
- 如申請專利範圍第11項所述之方法,包含反應於發生高中斷率而增加從一個省電狀態轉至一較淺之省電狀態的速率。
- 如申請專利範圍第12項所述之方法,包含:追蹤該睡眠期間;及若該處理器在該第二電源狀態中的該睡眠期間低於該降級臨界,則將該處理器降至該較淺之省電狀態。
- 如申請專利範圍第13項所述之方法,包含:以一降級差量值增量該降級計數器,其中該降級差量 值表示增量或減量該降級計數器的速率;及重置該降級計數器以清除已發生在一視窗週期外的中斷。
- 一種支援節能技術的電腦系統,包含:複數個輸入輸出裝置;耦接該複數個輸入輸出裝置之邏輯;顯示裝置,耦接該邏輯;機器可讀儲存媒體,耦接該邏輯;及處理器,耦接該邏輯,其中該處理器更包括:複數個處理核心;非核心區;及電源管理單元,其中該電源管理單元用來:從作業系統接收請求,其中該請求包括該處理器待進入的第一省電狀態;若該處理器的低活動週期與高中斷率的發生重疊,則將該處理器降至第二電源狀態,其為比該第一電源狀態更淺的省電狀態;及反應於判斷中斷率為低而不將該處理器降至第三省電狀態,其為比該第一省電狀態更深的省電狀態;其中即使沒有來自作業系統的喚醒中斷,該電源管理單元仍預防性地將該處理器轉成較深的省電狀態。
- 如申請專利範圍第15項所述之電腦系統,其中若該處理器在該第三省電狀態中的睡眠期間超過降級臨界,即使未從作業系統收到中斷,該電源管理單元仍不將 該處理器降至第四省電狀態,其比該第三省電狀態更深。
- 如申請專利範圍第16項所述之電腦系統,其中該電源管理單元用來:追蹤該處理器在該第三省電狀態中的該睡眠期間,並在該低中斷週期期間,增加從一個省電狀態轉至一甚至更深之省電狀態的速率。
- 如申請專利範圍第17項所述電腦系統,其中該電源管理單元用來在一零中斷週期期間增加從一個省電狀態轉至一甚至更深之電源狀態的速率。
- 如申請專利範圍第18項所述之電腦系統,其中該電源管理單元反應於發生高中斷率而增加從一個省電狀態轉至一較淺之省電狀態的速率。
- 如申請專利範圍第19項所述之電腦系統,其中該電源管理單元更包含一降級計數器,用來追蹤該睡眠期間,其中該電源管理單元用來:若該處理器在該第二電源狀態中的該睡眠期間低於該降級臨界,則將該處理器降至該較淺之省電狀態;以一降級差量值增量該降級計數器,其中該降級差量值表示增量或減量該降級計數器的速率;及重置該降級計數器以清除已發生在一視窗週期外的中斷。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111522587A (zh) * | 2019-02-01 | 2020-08-11 | 新唐科技股份有限公司 | 电子装置及装置唤醒方法 |
Families Citing this family (27)
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)
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 | レノボ・シンガポール・プライベート・リミテッド | プロセッサの電圧制御の方法 |
-
2011
- 2011-12-28 US US13/339,284 patent/US8799687B2/en not_active Expired - Fee Related
-
2012
- 2012-12-27 WO PCT/US2012/071776 patent/WO2013101906A2/en active Application Filing
- 2012-12-28 TW TW101151080A patent/TWI603184B/zh active
-
2014
- 2014-06-27 US US14/317,239 patent/US8996895B2/en not_active Expired - Fee Related
Cited By (2)
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) | 一种降低集群作业系统运行功耗的方法、节点及系统 |