TW201303573A - 管理多核心處理器中之功率消耗之技術 - Google Patents
管理多核心處理器中之功率消耗之技術 Download PDFInfo
- Publication number
- TW201303573A TW201303573A TW101109481A TW101109481A TW201303573A TW 201303573 A TW201303573 A TW 201303573A TW 101109481 A TW101109481 A TW 101109481A TW 101109481 A TW101109481 A TW 101109481A TW 201303573 A TW201303573 A TW 201303573A
- Authority
- TW
- Taiwan
- Prior art keywords
- value
- core region
- voltage
- processor
- activity
- 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/324—Power saving characterised by the action undertaken by lowering clock frequency
-
- 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/329—Power saving characterised by the action undertaken by task scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
-
- 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
-
- 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
-
- 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
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
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)
- Amplifiers (AREA)
- Microcomputers (AREA)
Abstract
一個處理器可包括一個核心和一個非核心區域。由核心區域所消耗的功率可藉由控制處理器的Cdyn使得Cdyn落於可容許Cdyn值中而受到控制,無關乎由核心區域所處理的應用程式。此功率管理技術包括量測數位活動因數(DAF)、監控架構和資料活動位準、以及藉由基於活動位準而節流指令來控制功率消耗。由於節流指令之故,係可在第3下垂和熱設計點(TDP)中實施節流。同時,在核心區域處於深度功率節省狀態中時由非核心區域所消耗的閒置功率可藉由改變參考電壓VR和被提供給非核心區域的VP而被減少。因此,可減少由非核心區域所消耗的閒置功率。
Description
本發明係有關功率消耗,更特別係有關管理多核心處理器中之功率消耗之技術。
一個電腦系統可包含一個處理器,其可包括一個核心區域和一個非核心區域。核心區域可包括一或多個處理核心、數個快取(例如,L1和L2)、數個填列緩衝器(line-fill buffer),且非核心區域可包含數個最末級快取、一個記憶體控制器、及此種其他方塊。處理器功率管理技術著眼於減少核心區域所消耗的功率。在一種先前途徑中,係量測在核心區域中的一個活動因數,並判定對應於此活動因數的一個功率值(實際功率消耗值)。接著,電壓和/或頻率操作點可基於在實際功率消耗值和一個可容許功率值之間所作的比較而被改變。此功率管理技術可在檢測出實際功率消耗值等於或高於可容許功率值時降低電壓和/或頻率操作點。然而,這會導致在檢測出高活動的時點與電壓和/或頻率操作點被實際降低的時點之間的一個特定時間量。在這兩個時點之間,電腦系統可能會是操作在高功率狀態以及高活動狀態中。為了避免這樣一種情況,處理器(或此部份)必須要被貯藏(bin)於較低電壓和頻率點(V/F)點。
在另一種先前途徑中,可係基於處理器功率保留(P)狀態和啟動模式而選擇電壓和/或頻率操作點,其可係基於實際功率消耗值而調整電壓和/或頻率操作點。這些上述途徑係仰賴電壓操作範圍來透過頻率增加或減少功率和效能。隨著處理器的各個新世代迭出,電壓範圍被減少了,因為VCCmax由於閘氧化物可靠度的關係被降低,而VCCmin幾乎維持不變。這些上述途徑本質上係對過功率情況作反應。上面所討論的功率管理技術僅在處理器已達到高熱或高功率狀態時作回應。因此,回應於在熱或功率狀態中之改變而改變電壓和/或頻率操作點實際上所花的時間(或潛時)是很實質的,並且潛時有需要被減少。
同時,另一方面,現代的處理器係著重在許多核心設計,並且這些核心被耦接至一個共用非核心區域。隨著處理技術的演進,處理器內的非核心區域尺寸越來越大。在現代處理器中的這些非核心區域可包括許多功能性和邏輯性方塊(例如,記憶體控制器、最末階快取、家庭代理器、路由代理器、快取代理器、功率控制單元、介面、及此種其他方塊),並可典型上係操作於與核心區域不同的功率平面。若要合乎心意,這些處理器需要是消耗低閒置功率,例如,以減少整體消耗能量和/或增進電池壽命。然而,由此種較大的非核心區域所消耗的功率已經達到了相當大的程度(接近處理器之整體消耗功率的50%)。
對於非核心區域中之功率消耗的管理已變得比以往更為重要。在非核心區域中的功率管理會造成額外的挑戰,
因為並沒有像是核心區域所具有的被完善定義的睡眠狀態(例如,C0到C6/C7)存在。特別是,當核心區域是處於深度睡眠狀態,例如C3、C6/C7或任何其他類似狀態(稱為套裝C狀態(package C-state))中時,核心架構狀態是被保留在非核心區域中,並且利用每核心功率閘電晶體(power gate transistor,PGT)或內嵌式功率閘(embedded power gate,EPG)而將核心電壓減少到一個實質上最小值。在這種情況下,由核心區域所作的閒置功率消耗幾乎為零,並且由非核心區域所消耗的閒置功率是很實質的。同時,不若核心區域,非核心區域必須被作動來服務在一個特定潛時內的任何外部請求。許多這些處理器是針對多插座(multi-socket)組態而被設計,具有耦接至這複數個插座的分散記憶體。利用功率最佳化技術,例如電壓和頻率縮放,可能會影響對同級插座或系統代理器回應潛時的監聽或記憶體存取回應。因此,目前的處理器並不使用電壓/頻率縮放技術來在核心區域處於套裝C狀態中時節省非核心區域中的功率。是故,處理器套裝閒置功率高達熱設計功率(thermal design power,TDP)的20~40%。因此,有需要改善在處理器之核心和非核心區域中的功率管理技術
依據本發明之一實施例,係特地提出一種處理器,其包含:一個非核心區域,其中該非核心區域包含一個功率管理單元和一個電壓調節器,其中該電壓調節器是用於提供
經調節電壓(VR)給該非核心區域,以及一個核心區域,其中該核心區域包括多個功能方塊、多個感測器、一個活動累積邏輯、一個節流邏輯、和一個節流器,其中該等多個感測器是用於從該等多個功能方塊收集多個活動位準,及將該等多個活動位準提供給該活動累積邏輯,其中該活動累積邏輯是用於產生一個累積活動值,及將該累積活動位準提供給該節流邏輯,其中該節流邏輯是用於產生一個信號,該信號指示要基於該累積活動值與一個目標值之比較而被採用的一個節流位準,其中該節流器是用於基於該節流位準而節流被提供給數個執行單元的該等指令。
依據本發明之另一實施例,係特地提出一種處理器,其包含:一個核心區域和一個非核心區域,其中該非核心區域包含一個功率管理單元和一個電壓調節器,其中該電壓調節器是用於提供經調節電壓(VR)給該非核心區域,其中該功率管理單元是用於檢測該核心區域所據以為基礎而進入一個深度功率節省狀態的一個事件,及回應地提供一第一電壓值給該電壓調節器,其中該電壓調節器是用於基於該第一電壓值而將該經調節電壓(VR)從一個正常參考電壓值減少至一個經減縮參考電壓值,其中減少該經調節電壓(VR)會致使被提供在該非核心區域的一個供應針腳處的一個針腳電壓值減少,其中減少該針腳電壓值是為了減少由該非核心區域所消耗的功率,其中該針腳電壓值被減少至足以維持要將該處理器操作在一個指定頻率值所需之最小針腳電壓值的一個位準。
依據本發明之又一實施例,係特地提出一種在處理器之核心區域中之方法,其包含下列步驟:利用多個感測器而從多個功能方塊收集活動位準,並將該等多個活動位準提供給一個活動累積邏輯,在一個累積活動邏輯中基於該等多個活動位準而產生一個累積活動值,利用一個節流邏輯而產生一個信號,該信號指示要基於對該累積活動值之比較而被採用的一個節流位準,以及基於由該信號所提供的該節流位準而節流被提供給數個執行單元的指令,其中該處理器包含一個核心區域,該核心區域包括該等多個功能方塊、該等多個感測器、該活動累積邏輯、該節流邏輯、和該節流器。
依據本發明之再一實施例,係特地提出一種在處理器之非核心區域中之方法,其包含下列步驟:檢測一個核心區域所據以為基礎而進入一個深度功率節省狀態的一個進入事件,其中該進入事件是利用一個功率管理單元而檢測,提供一第一電壓值給一個電壓調節器,其中該第一電壓值是利用該功率管理單元而產生,基於該第一電壓值而將一個經調節電壓從一個正常參考電壓值減少至一個經減縮參考電壓值,以及將該經減縮參考電壓提供給該非核心區域,其中減少該經調節電壓(VR)會致使被提供在該非核心區域的一個供應針腳處的一個針腳電壓值減少,其中減少該針腳電壓值是為了減少由該非核心區域所消耗的功率,其中該非核心區域耦接至該核心區域,其中該非核心區域包括該功率管理單元和一個電壓調節器。
於此係以隨附圖式中之範例方式而非以限制方式說明本發明。為求例示簡明,例示在這些圖中的元件並不必然係依比例繪製。例如,一些元件的尺寸可能會相對於其他元件被放大以求明晰。此外,在被認為是合適的地方,有些參考標號係於這些圖中被重複,以指出對應或類似的元件。
第1圖依據一個實施例,例示一個處理器100,其支援在核心區域中之以活動為基礎之功率節省技術以及在非核心區域中之以負載線IR壓降為基礎之功率節省技術。
第2圖依據一個實施例,例示以總電容值(Ctotal)和動態電容值(Cdyn)模示(model)的處理器核心區域。
第3圖依據一個實施例,例示Cdyn相關於在應用程式之工作負載中之改變的變化的一個作圖。
第4圖依據一個實施例,例示一個流程圖,其繪示用於核心區域中的一種以活動為基礎之功率節省技術。
第5圖依據一個實施例,例示一個方塊圖,其係用於實施用於核心區域中的此以活動為基礎之功率節省技術。
第6圖依據一個實施例,例示一個活動累積邏輯的方塊圖,其係用於實施用於核心區域中的此以活動為基礎之功率節省技術。
第7圖是依據一個實施例的一個圖,其例示此以活動為基礎之功率節省技術在核心區域中之瞬時活動上的效應。
第8圖是依據一個實施例的一個圖,其例示此以活動為
基礎之功率節省技術在核心區域中之平均活動上的效應。
第9圖是依據一個實施例的一個流程圖,其例示用於非核心區域中的一種以負載線IR壓降為基礎之功率節省技術。
第10(A)、10(B)和10(C)圖依據一個實施例,例示在使用一種以負載線IR壓降為基礎之功率節省技術時,於被提供給非核心區域的電壓上之減少。
第11(a)、11(b)和11(c)圖是依據一個實施例的時序圖,其例示回應於在非核心區域中使用以負載線IR壓降為基礎之功率節省技術而在電流、電壓和功率上的變化。
第12圖依據本發明的一個實施例,例示一個電腦系統之方塊圖。
下面的說明描述一種用於告示微弱排序異動之方法的數個實施例。在下面的說明中,係提出許多具體細節,像是邏輯實作、資源分割、或分享、或複本實作、類型和系統部件之相互關係以及邏輯分割或整合選擇,以提供對本發明更為通盤的瞭解。然而,熟於此技者會可識出,本發明係可在不具有此等具體細節的情況下實施。在其他情況中,係並未詳細示出控制結構、閘級電路、和全軟體指令序列,以免混淆本發明。配合包含在本文中的說明,熟於此技者將能夠在不需要過份實驗的情況下實施適當功能。
於本說明書中,對於「一個實施例」、「一實施例」、「一
示範實施例」的指涉係指所描述的這個實施例係可包括一個特定特徵、結構或特性,但並不必然每一個實施例都包括有這個特定特徵、結構或特性。此外,這些詞彙並不必然係指涉同一個實施例。另外,當配合一個實施例描述一個特定特徵、結構或特性時,係認為熟於此技者會知道係可配合其他無論有沒有清楚說明的實施例來實現此等特徵、結構或特性。
本發明的數個實施例係可實施在硬體、韌體、軟體或其當中之任何組合中。本發明的數個實施例可亦被實施為儲存在機器可讀媒體上的指令,這些指令可由一或多個處理器讀取和執行。一個機器可讀媒體可包括任何用於以可由機器(例如,一個運算裝置)讀取之形式儲存或發送資訊的機構。
例如,機器可讀媒體可包括唯讀記憶體(read only memory,ROM);隨機存取記憶體(random access memory,RAM);磁碟儲存媒體;光學儲存媒體;快閃記憶體裝置;電氣式、光學、聲學或其他類似信號。此外,於本文中,係可能將韌體、軟體、常式、和指令描述為進行某些動作。然而,應可識出,如此描述僅係為便利所為,並且此等動作事實上係由執行此韌體、軟體、常式、和指令的運算裝置、處理器、控制器、和其他裝置所致。
處理器形成運算系統的一個重要部份。今日,處理器具有包含有複數個處理核心和快取的核心區域以及很大的非核心區域。由處理器所消耗的功率在運算系統所消耗的
整體功率上有著衝擊。由處理器所消耗的動態功率(P)可係由P=Cdyn *(Vcc)2 * F給定。在一個實施例中,由處理器之核心區域所消耗的功率係可藉由控制處理器之Cdyn來控制。在一個實施例中,Cdyn可受控制以使得Cdyn落於一個可容許Cdyn值內,無關乎由核心區域所處理的應用程式(或碼)。在一個實施例中,此功率管理技術可包括衡量數位活動因數(digital activity factor,DAF)、監測架構和資料活動位準、以及基於活動位準而藉由節流指令來控制功率消耗。在一個實施例中,這樣的一種途徑可提供一種細緻的功率管理技術以及創造在碼被相較於啟動模式作處理時控制碼的啟動模式之能力,這可係反應於被處理的碼。在一個實施例中,啟動模式可係指以較高頻率和較高電壓操作點來操作這(些)碼或一個處理器,以針對較輕工作負載致能較高效能。
在一個實施例中,為了控制由核心區域所消耗的功率,處理器可包括,複數個活動感測器、一個活動累積邏輯、一個節流邏輯、以及一個節流器。在一個實施例中,這些活動感測器可感測發生在方塊(例如,指令提取和解碼單元、執行單元、和處理核心內的此種其他單元)內的活動,並提供活動位準(架構和資料活動值)給活動累積邏輯。在一個實施例中,這些活動感測器係可被提供在處理核心內之各個方塊的介面(或埠)中,以使得這些活動感測器能夠檢測架構和資料活動事件。在一個實施例中,活動累積邏輯可回應於收集到來自於活動感測器的活動
值,而產生一個累積活動值。在一個實施例中,此活動累積邏輯可提供累積活動位準給節流邏輯。在一個實施例中,此活動累積邏輯(activity accumulation logic,AAL)可包括加權邏輯和聚合器,並且此加權邏輯可對由活動感測器所提供的各個活動值分配一個權重,並且此聚合器可累積(或加總)這些活動值,以產生一個累積活動值。
在一個實施例中,節流邏輯可回應於接收到累積活動位準,而判定出一個Cdyn_actual。在一個實施例中,此節流邏輯可亦將Cdyn_actual校準成一個功率分數值。在一個實施例中,此節流邏輯可將功率分數與由一個功率控制單元所提供的一個目標值(可容許Cdyn值)作比較,並在當功率分數大於目標值時產生一第一信號,且在當功率分數小於目標值時產生一第二信號。在一個實施例中,此節流邏輯可基於第一信號判定一第一指令分散率(或值),以及基於第二信號判定一第二指令分散值。在一個實施例中,此節流邏輯提供第一或第二指令分散值其中一者給節流器。
在一個實施例中,節流器可改變(增加減少)對指令分散(或指令被提供給執行單元的速率)的節流,抑或是基於從節流邏輯所接收到的信號而維持先前節流位準。在一個實施例中,節流器可回應於接收到第一指令分散值而增加指令節流(即,較少的指令可被提供給執行單元),並且節流器可回應於接收到第二指令分散值而減少指令節流(即,容許較大量的指令抵達執行單元)。因此,在核心區
域中的(或在處理核心內的)功率消耗可藉由基於在處理核心中的活動位準來節流指令疏散而受到控制。因基於活動位準(或Cdyn_actual)而節流指令之故,係可在不同時間域中,例如第3下垂(1微秒)和熱設計點(thermal design point,TDP)(1毫秒),實施節流,其使得長期(即,TDP)和短期(即,第3下垂)操作能控制在處理器之核心區域中的功率消耗。
在今日的處理器中,非核心區域的大小持續增加,並且由處理器之非核心區域所消耗的功率亦然。尤其是,在一個實施例中,係可藉由改變被提供給非核心區域的電壓(即,參考電壓(reference voltage)VR)來減少由非核心區域所消耗的閒置功率(即,當核心區域處於深層功率節省狀態,例如套裝C狀態,中時由非核心區域所消耗的功率)。在一個實施例中,一個電壓調節器的輸出可透過一個負載電阻(load resistor,RL)被耦接至非核心區域的一個供應針腳。在非核心區域之供應針腳的電壓(VP)比VR小相當於IR壓降(=ICC * RL)的值,即,VP=[VR-(ICC * RL)]。
在一個實施例中,若非核心區域必須被操作在由此部份之製造商所指定的一個頻率值,則一個電壓最小值(VPmin)會被提供給非核心區域。在一個實施例中,若VR=X且ICC=ICC_peak,則VP_peak=(X-ICC_peak * RL)伏特。在一個實施例中,VP_peak應至少等於VPmin,以避免設計錯誤,且不可有將VP_peak減少至低於VPmin的
可能。在一個實施例中,若核心區域是處於套裝C狀態中,則ICC之值可係等於ICC_idle,且於非核心區域之供應針腳的電壓(VP_idle)可等於=(X-ICC_idle * RL)。因為ICC_idle小於ICC_peak,(ICC_idle * RL)之積會小於(ICC_peak * RL)之積。因此,VP_idle將會大於VP_peak。在一個實施例中,當核心區域處於套裝C狀態中時,在非核心之此針腳處提供一個最小電壓(VPmin)可便足夠。
但是,在欠缺於電流(ICC_idle)正流經負載電阻RL時改變參考電壓VR之技術的情況下,大於VPmin(或VP_peak)的電壓VP_idle被提供給非核心區域。等於(VP_idle-VP_peak)的一個額外電壓值被不必要地提供給非核心區域,即使是在ICC_idle正流經負載電阻RL時。因此,即使是在非核心區域閒置時,非核心區域也會消耗與等於(VP_idle-VP_peak)的電壓之平方成比例的一個過功率。在一個實施例中,當核心區域處於深度套裝C狀態中時,參考電壓(VR)可被改變,以減少在非核心區域之供應針腳處所提供的電壓(VP_idle)。在一個實施例中,參考電壓VR可被減少成VP_reduced,以使得VP_idle減少成比VPmin(或VP_peak)微高一點的一個值。在一個實施例中,若(VP_idle-VP_peak)趨向於零,則由非核心區域所消耗的閒置功率可為最小。在一個實施例中,當核心區域處於套裝C狀態中時,參考電壓(VR)可被改變,以節省或減少由非核心區域所消耗的閒置功率。
可支援功率節省技術以減少在處理器的核心和非核心
中所消耗之功率的一個處理器100的一個實施例係例示於第1圖中。在一個實施例中,處理器100可包含一個核心區域105和一個非核心區域150。在一個實施例中,核心105和非核心150可支援一個點對點雙向匯流排,以增強在處理核心(p核心)110間的和在核心區域105與非核心區域150間的通訊。在一個實施例中,係可對核心區域105提供一個電源層195,其可包括一個電壓調節器180,並且電壓調節器180之輸出101可透過一個負載電阻RL 102被耦接至一個供應針腳104。
在一個實施例中,核心區域105可包含數個處理核心(例如p核心110-A至110-N)、分別與p核心110-A至110-N相關聯的每核心快取(per-core cache)120-A至120-N、以及分別與p核心110-A至110-N相關聯的中階快取(mid-level cache)130-A至130-N。在一個實施例中,p核心110可包括一個指令佇列(instruction queue)106、一個節流器107、一個活動累積邏輯AAL 108、一個節流邏輯(throttling logic,TL)109、一個指令提取單元(instruction fetch unit,IFU)112、一個解碼單元(decoding unit)113、一個保留站(reservation station,RS)114、一個執行單元(execution unit,EU)115、一個浮動點執行單元(floating point execution unit,FPU)116、一個重新排序緩衝器(re-order buffer,ROB)117、和一個退役單元(retirement unit)RU 118。在一個實施例中,各個處理器核心110-B至110-N係可包括有類似於繪示在處理核心110-A中之方塊的方塊,為求簡潔,並未示
出處理器核心110-B至110-N各者的內部細節。在一個實施例中,每核心快取120可包括可支援較高存取速度的記憶體技術,這可,例如,減少指令和資料提取的潛時。
在一個實施例中,活動感測器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可將此累積活動值提供給節流邏輯TL 109。
在一個實施例中,TL 109可回應於接收到此累積活動位準而判定出一個Cdyn_actual。在一個實施例中,TL 109可亦將Cdyn_actual校準成一個功率分數值。在一個實施例中,TL 109可將此功率分數與一個目標值(可容許Cdyn值)作比較,並產生一個控制信號,其可指出是否要增加或減少或維持指令之節流位準或指令疏散率。在一個實施例中,節流器107可基於接收自TL 109的控制信號而改變(增加減少)或維持指令之節流或指令疏散率。在一個實施例中,節流器107可回應於接收到控制信號而增加指令節流(即,較少的指令可被提供給執行單元)或減少指令節流(即,較大量的指令被容許抵達執行單元)。
因此,在核心區域105中的(或在處理核心110內的)功率消耗可藉由基於在處理核心110中的活動位準(或處理核心110之Cdyn_actual)來節流指令而受到控制。在一個實施例中,指令之節流可係直接基於活動位準(或Cdyn)而進行,控制功率消耗的能力可較快。同時,藉由將Cdyn限制在一個設定值,對核心中之功率之消耗的控制可係以一種主動式(pro-active)基礎進行,而非反應於過功率消耗情況發生。由於基於活動位準(或Cdyn_actual)而節流指令之故,係可在不同時域,例如第3下垂(1微秒)和熱設計點(TDP)(1毫秒),實施節流,其使得長期(即,TDP)和短期(即,第3下垂)操作能控制在處理器100之核心區域105中的功率消耗。在一個實施例中,Cdyn及其相對於類型應用程式的關係係於下文中例示在第3圖中。
在核心區域105中的功率消耗可基於上文中所論述之技術,利用活動位準而受到控制或管理,而在非核心區域150中的功率消耗係可利用於下文中所說明的功率管理技術而受到管理。在一個實施例中,非核心區域150可包括一個記憶體控制器155、一個末階快取(last level cache,LLC)160、一個家庭代理器(home agent,HA)161、一個快取代理器(caching agent,CA)162、一個路由代理器(routing agent,RA)163、一個全球時鐘/PLL 164、一個介面165、和一個功率管理單元168。在一個實施例中,當核心區域105可係處於深度套裝C狀態(即,深度功率節省狀態,像是C3、C6/C7)中時,參考電壓VR可被改變,以減少,尤其
是,由非核心區域150所消耗的閒置功率。在一個實施例中,可對非核心區域150提供一個電源層197,並且此電源層197可包括一個電壓調節器195,且電壓調節器195之輸出196可透過一個負載電阻(load resistor,RL)192被耦接至非核心區域150之供應針腳194。在一個實施例中,當核心區域105處於套裝C狀態中時,在介面路徑199上的活動或異動可為零。
當核心區域105為作動中時,一個電流尖峰量(ICC_peak)可流經RL 192,且於非核心區域150之供應針腳194的電壓(VP_peak)可比(於電壓調節器195之輸出196處的)參考電壓VR小相當於IR壓降(=ICC_peak * RL)的值,即,VP_peak=[VR-(ICC_peak * RL)]。例如,若VR=1伏特,RL 192=1.4毫歐姆,且ICC 193=ICC_peak=50安培,則IR壓降可係等於(ICC * RL)=(50安培* 1.4毫歐姆)=70毫伏特(mv)。因此,在供應針腳194處所提供的電壓(VP_peak)可係等於[1伏特-70mv]=0.93伏特。在一個實施例中,若非核心區域150必須被操作在由此部份(即,處理器100)之製造商所指定的一個頻率值(或貯藏頻率),電壓最小值VPmin(在此範例中,其等於VP-peak)可被提供給非核心區域150。在一個實施例中,為了避免設計錯誤,不可有將參考電壓VR之值減少到低於一個指定值(在上面的範例中是1伏特)的可能。
在沒有改變參考電壓VR之技術的情況下,且當核心區域105係處於套莊C狀態中時,流經RL 192的電流(ICC 193)
可係等於ICC_idle,且在非核心區域150之供應針腳194處的電壓(VP_idle)可係等於[VR-(ICC_idle * RL)]。由於ICC_idle小於ICC_peak,(ICC_idle * RL)之積會小於(ICC_peak * RL)之積。因此,VP_idle將會大於VP_peak。例如,ICC_idle可係等於20安培,且VP=[1伏特-(20安培* 1.4毫歐姆)]=[1伏特-28mv]=0.972伏特,這大於VP_peak(0.93伏特)。因此,過電壓等於(VP_idle-VP_peak)=(0.792-0.93=0.042伏特)被不必要地提供給非核心區域150。因此,由非核心區域在閒置狀態中所消耗的功率(即,功率consumed_idle)可為normal_power_consumed_idle,其可係等於(=動態功率+漏洩功率={[Cdyn *(VP_idle)2 * f]+[(VP_idle)4之函數]}={[5nF *(0.972)2 * 2.53GhZ]+[5瓦特]}=16.95瓦特。
在一個實施例中,藉由基於核心區域105是否係處於深度功率節省狀態或套裝C狀態中而投機性地改變參考電壓VR可提供機會來在核心區域105的閒置狀態期間內節省功率消耗。在一個實施例中,被提供給核心區域105的電壓可利用功率閘電晶體(PGT)或內嵌式功率閘(EPG)而被實質上截斷。在一個實施例中,當核心區域105係操作於深度功率節省狀態中時,由核心區域105所注入到非核心區域150中的活動可係實質上很低。在一個實施例中,當核心區域105是處於套裝C狀態中時,於非核心區域150之供應針腳194處提供一個最小電壓(VPmin=0.93伏特)可便足夠。為了將VP_idle減少成VP_reduced,一個值(其可係接近
VPmin),功率管理單元168可檢測核心區域105之套裝C狀態條件,並且可以數位格式產生一個電壓值(VID_R)。在一個實施例中,VID_R值可被提供給電壓調節器195。在一個實施例中,電壓調節器195可回應於從功率管理單元168接收到VID_R而產生一個參考電壓VR,其可係小於VR_peak(=1伏特)。
在一個實施例中,由於VR之值從VR_peak(或VR_normal)減少至一個VR_reduced值,在供應針腳194處所提供的VP_idle(或VP_normal)可被減少。在一個實施例中,將參考電壓VR從VR_normal值減少到VR_reduced值可致使VP從VP_idle減少至VP_reduced。在一個實施例中,由非核心區域150所消耗的功率亦可回應於將VP之值從VP_idle減少至VP_reduced而減少。例如,回應於接收到VID,電壓調節器195可將VR從VR_normal(1伏特)減少到VR_reduced(0.96伏特),因此,VP可從VP_idle減少至VP_reduced[=0.96-(20安培* 1.4毫歐姆)=(0.96-0.028)=0.932伏特]。在一個實施例中,功率consumed_idle可被減少成Reduced_power_consumed_idle(即,P_idle_reduced=動態功率+漏洩功率={[Cdyn *(VP_reduced)2 * f]+[(VP_reduced)4之函數]}={例如,[5nF *(0.932)2 * 2.53GhZ]+[4瓦特]}=14.998瓦特)。因此,所節省的功率=[(normal_power_consumed_idle)-(Reduced_power_consume d_idle)=(16.95-14.998)=1.96瓦特)。因而,在一個實施例中,藉由投機性地改變參考電壓VR,由非核心區域150
所消耗的功率可反應於核心區域105進入一個套裝C狀態而從normal_power_consumed_idle被減少成reduced_power_consumed_idle。
在一個實施例中,功率管理單元168可檢測核心區域105之從套裝C狀態至正常模式的離開事件之肇始。回應於檢測到此離開事件之肇始,功率管理單元168可產生對應於一個正常參考電壓的一個VID_N值,且此VID_N值可被提供給電壓調節器195。在一個實施例中,回應於接收到VID_N值,電壓調節器195可將VR值從VR_reduced增加到VR_normal(或VR_peak)值。因此,在非核心區域150之供應針腳104處所提供的電壓可被維持在或微高於VPmin值。在一個實施例中,參考電壓從VR_reduced到VR_normal的改變和VP從VP_reduced到VP_idle(或VP_normal)的改變可在非核心150可看見由核心區域105所致之任何活動之前的離開潛時中良好發生。因此,最小電壓VPmin位準可被維持,而不影響處理器100之效能。
核心區域105及判定一個對應動態電容值Cdyn的一個實施例係例示在第2圖中,在一個實施例中,核心210可係由總電容值CTotal 220來表示,並且動態電容值Cdyn 240可係等於(CTotal *活動因數)。在一個實施例中,Cdyn 240可基於正被處理的應用程式(或碼)而改變。例如,相較於一些其他應用程式,例如主流應用程式,一些應用程式,像是功率病毒和HPC,可展現較高的活動位準。因此,Cdyn 240可為CTotal 220的一個分數。
Cdyn對多種應用程式類型之工作負載一個圖表300係繪示在第3圖中。圖表300包括一個Y軸310和一個X軸320,其可分別代表經標準化的Cdyn和基於多種應用程式類型之工作負載的可用應用程式之約略數量。在一個實施例中,圖表300包括多種應用程式,像是閒置應用程式330,其在數量上很大,接著是主流應用程式340、高效能運算(high performance computing,HPC)應用程式350、以及功率病毒應用程式360。在一個實施例中,可藉由將節流器設定至由直線345所指出的為0.55的一個較低應用程式率,而將處理器100針對主流應用程式340最佳化。然而,若處理器100係要針對HPC應用程式被最佳化,此節流器可係被設定成由直線355所指出的為0.633的一個較高應用程式率。在一個實施例中,應用程式率可係指一個給定應用程式之功率相較於由最高功率消耗應用程式所消耗之功率,例如功率病毒(power virus,PV),的一個比率。在其他實施例中,應用程式率可係指一個真實應用程式與功率病毒應用程式的比率。
在一個實施例中,若功率病毒應用程式360要被處理,則目標值(可容許Cdyn)可被設成一個值,以使得Cdyn_actual對目標值的比較可設定一個更為緊縮的(即,更高的)節流值,以在一段給定時間中容許(相較於在處理HPC應用程式350或主流應用程式340時而言)較少的指令抵達執行單元。在一個實施例中,於上文中所論述的功率管理技術可容許功率病毒應用程式被處理器100處理,然
而,對指令之節流可設定更為緊縮的(即,更高的)節流值以容許較少的指令被處理。這樣的一種途徑避免這樣的情況,即,高功率應用程式(例如,功率病毒)限制所有應用程式可被處理的頻率。此外,藉由節流高功率應用程式,在處理此高功率應用程式時所牽引的電流會被減少,容許最低操作電壓(因而電壓亦然)被節流器位準設定。同時,這樣的一種途徑可容許使用者即時地監控處理器和藉由組配特定機器暫存器(machine specific register,MSR)111來將處理器組配成針對HPC碼或主流碼而最佳化。
繪示出當進行上文中所述之功率管理器技術時的核心區域105之操作的一個流程圖係例示在第4圖中。在方塊410中,活動感測器179或資料型樣感測器505可基於被提供在一或多個功能單元,例如IFU 510、IQ 520和EU 550,之埠或資料路徑上的資料之型樣和架構事件而產生一個活動值/位準。在一個實施例中,這些活動值可被提供給一個活動累積邏輯AAL 570。
在方塊420中,活動累積邏輯ALL 570可自資料型樣(或活動)感測器接收活動值,並產生一個累積活動值。在一個實施例中,AAL 570可包括一個加權邏輯610、加總單元630、640、650和660,以及一個累積器670。在一個實施例中,加權邏輯610可包括加權元件610-A至610-H,並且加權元件610-A至610-H各可自功能單元,例如IFU 510、IQ 520和EU 550,接收資料輸入605-A至605-D,並且被如此接收的資料輸入605-A至605-D可包括正被完成的工作。在一個
實施例中,接收自功能單元510、520和550的資料輸入605-A至605-D可在每個週期被更新,並且此等資料輸入605-A至605-D的寬度可係小於128位元。在一個實施例中,接收自這些功能單元的資料輸入605-A至605-D可係表示一個操作功率,並可,例如,包括浮點單元數位活動因數(floating point unit digital activity factor,FPUDAF)、指令提取和引導數位活動因數(instruction fetch and resteer digital activity factor,IFRDAF)、以及此種其他類似輸入值。在一個實施例中,可在將經加權輸入提供給加總單元630之前基於一個預定邏輯而對資料輸入605-A至605-D提供一個權重值。在一個實施例中,加權元件610-E至610-H可從指出被消耗之資料的暫存器檔接收資料輸入605-E至605-H。在一個實施例中,資料輸入605-E至605-H可於每128個週期被更新,並且加權元件610-E至610-H可在提供經加權輸入給加總單元640之前提供權重值給資料輸入605-E至605-H。在一個實施例中,加總單元650和660及累積器670可一起產生一個適當寬度(例如,44個位元寬)的累積活動值。在一個實施例中,加總單元650可將來自640的資料輸入總和與來自650的活動輸入總和加總。在一個實施例中,累積器拴鎖670可透過累積器加總器660反饋此值,並可產生一個適當寬度的累積活動值。
在方塊430中,節流邏輯TL 560可接收由AAL 560所提供的累積活動值,並產生一個動態電容(Cdyn)值。在一個實施例中,節流邏輯TL 560可基於CTotal和累積活動值判
定Cdyn_actual。在方塊450中,節流邏輯TL 560可校準Cdyn_actual以表示一個功率分數值。
在方塊460中,節流邏輯TL 560可將基於Cdyn_actual值所產生的功率分數與由功率管理單元(power management unit,PMU)580所提供的一個目標值作比較。在一個實施例中,由PMU 580所提供的目標值可係表示被校準為功率分數的可容許Cdyn值。在一個實施例中,使用者可針對HPC應用程式350最佳化處理器,並且可容許Cdyn值可係等於為0.633的應用程式率,其可被校準至一個功率分數值。在一個實施例中,若核心區域105正處理一個功率病毒應用程式360,則活動位準、累積活動值、Cdyn_actual以及功率分數可係代表一個較高的值。
在方塊470中,TL 560可將對應於可容許Cdyn的功率分數和對應於Cdyn_actual的功率分數作比較,並且若功率分數小於目標值則控制權傳遞至方塊480,否則便傳遞至方塊490。在一個實施例中,TL 560可在當功率分數小於目標值時產生一第一信號,並在功率分數大於目標值時產生一第二信號。在上面的範例中,TL 560可將對應於功率病毒(power virus,PV)應用程式360的功率分數(即,被校準至Cdyn_actual)與目標值作比較,此目標值可係針對對應於HPC應用程式350的一個可容許Cdyn而被設定,並且TL 560可在功率分數可係大於目標值時產生一個第二信號。
在方塊480中,節流器530可回應於接收到第一信號而維持或減少指令之節流。在一個實施例中,此第一信號可
係指出有較多指令可被處理而不超出Cdyn封套或功率分數封套,並且節流器530可減少節流(或增加指令通量)。另一方面,若第一信號指出指令通量小於目標值但非常接近目標值,則節流器530可維持指令通量而不改變節流位準。
在方塊490中,節流器530可增加對指令之節流以確保功率消耗是落在TDP封套內。在一個實施例中,若功率分數大於目標值,則指令通量被藉由增加節流位準而減少,因而容許較少的指令抵達執行單元。在上面的範例中,節流器530可快速地增加節流位準以減少指令通量。由於基於活動位準(或Cdyn_actual)節流指令之故,係可在不同時域中,例如第3下垂(1微秒)和熱設計點(TDP)(1毫秒),實施節流,其可使得長期(即,TDP)和短期(即,第3下垂)操作能控制在處理器100之核心區域105中的功率消耗。
繪示對在有節流和無節流時之瞬時活動之作圖的一個圖表700係例示在第7圖中。圖表700包括代表應用程式率的Y軸710和代表時間(以微秒計)的X軸740。在一個實施例中,若一個突發活動(瞬時活動)(其可係發生達小於一個小型持續時間T1的期間)可在任何節流下被容許,並且可在不被節流的情況下被容許的這樣的一個突發活動750係繪示在圖表700中。然而,在一個實施例中,若發生一個持久活動(其可係超出持續時間T1的),則於上文中所述的功率管理技術可開始節流指令。圖表700繪示這樣的一個持久活動760,其可如由節流活動770所示地被節流。可觀察到,若任其不受節流,持久活動760可發生達持續時間
T2,然而,在一個實施例中,持久活動760可利用於上文中所述的功率管理技術被節流。由於節流之故,指令疏散或指令通量可被改變,且持久活動760可被散開在一段較長的持續時間T3上,並且這樣的一個經散開活動可被稱為是節流活動770。
繪示對平均需求活動和在一段時間中之平均准許活動之作圖的一個圖表800例示在第8圖中。圖表800包括代表應用程式率的Y軸810以及代表時間(以微秒計)的X軸840。在一個實施例中,平均需求活動可係由作圖830表示,並且平均准許活動可係由作圖820表示。在一個實施例中,在時段T5上的平均需求活動可係具有為1的尖峰應用程式率。然而,在一個實施例中,此尖峰應用程式率不可由在上文中所論述的功率管理技術准許。取而代之地,較低的應用程式率(例如為0.8)可被允許,並且這樣的一個節流平均准許活動820可發生的時段是T6,T6大於T5。
對於包括功率管理單元PMU 168與電壓調節器195以減少在核心區域105處於套裝C狀態中時由非核心區域150所消耗之閒置功率的功率管理路徑之操作的一個實施例係例示在第9圖中。
在方塊910中,PMU 168可檢查核心區域105是否已進入套裝C狀態,若核心區域105已進入套裝C狀態則控制權傳遞到方塊915,並且PMU 168可等待核心區域105進入深層功率節省狀態(或套裝C狀態)。
在方塊915中,PMU 168可產生要被提供給供應處理器
100之非核心區域150的一個電壓調節器195的一第一電壓值(FVID或於上文中所論述的VID_R)。在一個實施例中,此FVID或VID_R可表示一個數位值(9位元值),電壓調節器195可基於此數位值產生一個參考電壓VR(=VR_reduced)。在方塊920中,PMU 168可提供FVID給電壓調節器195。
在方塊930中,電壓調節器195可基於FVID值而將VR從一個正常參考電壓(VR_normal)改變成一個經減縮參考電壓(VR_reduced)。在一個實施例中,此VR可從為1伏特的VR_normal被減少成為0.96伏特的VR_reduced值。
在方塊940中,由於VR從VR_normal改變成VR_reduced之故,在供應針腳194處所提供的電壓VP可改變成VP_reduced。在一個實施例中,VP可如於上文中所論述地回應於VR從1伏特改變至0.96伏特,而從為0.972伏特的VP_idle被減少成0.932伏特。
在方塊945中,由於VP從VP_dile改變至VP_reduced(即,從0.972伏特改變至0.932伏特)之故,係可對非核心區域150之供應針腳194提供為VP_reduced(=0.932伏特)的針腳值。由於降低被提供給非核心區域150的電壓值之故,由非核心區域150所消耗的閒置功率亦可減少(例如,從16.95瓦特至14.988瓦特,導致如於上文中所述的1.96瓦特的功率節省)。
在方塊950中,PMU 168可針對核心的套裝C狀態離開事件作檢查,並且若PMU 168檢測出一個套裝C狀態離開事
件,控制權便傳遞給方塊960。在實施例中,由PMU 168在方塊950中所進行的操作可係平行且獨立於方塊915至945的操作而進行。
在方塊960中,PMU 168可在核心區域105或核心區域105中之任何處理核心110從套裝C狀態離開進入作動狀態之前進行方塊965至990。在方塊965中,PMU 168可產生要被提供給供應處理器100之非核心區域150的電壓調節器195的一第二電壓值(SVID或於上文中所論述的VID_N)。在一個實施例中,SVID或VID_D可係表示一個數位值(9位元值),電壓調節器195可基於此數位值產生一個參考電壓VR(=VR_reduced)。在方塊970中,PMU 168可提供SVID(或VID_N)給電壓調節器195。
在方塊975中,電壓調節器195可基於SVID值而將VR從VR_reduced改變成正常參考電壓(VR_normal)。在一個實施例中,此VR可係從為0.96伏特的VR_reduced值被加成為1伏特的VR_normal值。
在方塊980中,由於VR從VR_reduced改變成VR_normal之故,在供應針腳194處所提供的電壓VP可改變成VP_idle。在一個實施例中,VP可如於上文中所論述地回應於VR從0.96伏特改變至1伏特,而從VP_reduced(0.932)伏特被增加為0.972伏特。
在方塊990中,由於VP從VP_reduced改變成VP_idle(即,從0.932改變至0.972伏特)且電流從ICC_idle改變成ICC_peak之故,流經負載電阻RL 192的電流可從ICC_idle
(20安培)改變成ICC_peak(=50安培),可在非核心區域150之供應針腳194處提供電壓VP(=0.93伏特)。
在有使用和無使用於上文中所述的功率管理技術情形中電壓調節器195在正常和閒置情況下之操作的一個實施例係例示在第10(A)、10(B)和10(C)圖中。在第10(A)圖中,當非核心150正操作在尖峰時,參考電壓VR可係等於VR_normal,ICC 193可係等於ICC_peak;並且針腳電壓(pin voltage,VP)可係等於VP_idle。在一個實施例中,VP_idle可係等於{[VR_normal-(ICC_peak *RL 192)]}。
例如,若VR_normal=1伏特,ICC_peak=50安培,且RL 192=1.4微歐姆,則VP_idle=1-(50 * 1.4)=0.93V。若處理器100必須操作於針對此部件所指明的頻率F(例如,=2.53GhZ),則一個電壓最小值(=0.93伏特)會被提供作為VP_idle。
然而,當核心區域105處於套裝C狀態中時,如於第10(B)圖中所示,流經負載電阻RL 192的電流ICC 193可改變成ICC_idle(例如,=20A),則VP_idle等於[VR_normal-(ICC_idle *RL 192)],即,VP_idle=1-(20 * 1.4)=0.972V。但是,0.93V的VP_idle便足以於針對此部件所指明的頻率F操作處理器100,並且有(VP_idle-電壓最小值=0.972-0.93=0.042V)的過電壓被提供給非核心區域150。此過電壓可導致對多於所需之功率的過多消耗。因此,功率消耗,P_normal=動態功率+漏洩功率,P_normal=Cdyn * V2 * f+f(V4),=5nf *(0.972 *0.972)*2.53Ghz+5
瓦特,=(11.95+5)=16.95瓦特。
為了減少VR,VR會從VR_normal被減少至VR_reduced,如於第10(C)圖中所示。為了減少VR_uncore,PMU 168可產生一個FVID(如於方塊915中所述),並將此FVID提供(如於方塊920中所述)給電壓調節器195。回應於接收到FVID,電壓調節器195可將VR減少至VR_reduced(例如,=0.96V)。回應於VR從VR_normal改變至VR_reduced,VP_idle變成VP_reduced(=0.96-(20 *1.4)=0.96-0.028=0.932V)。因此,功率消耗P_reduced=Cdyn*V2*f+f(V4)=5nf*(0.932 *0.932)*2.53Ghz+4瓦特=(10.988+4)=14.988瓦特。因而,所節省的功率=P_normal-P_reduced=16.95-14.988=1.96瓦特。
圖表1100、1140和1160例示出回應於核心區域105進入深度功率節省狀態(套裝C狀態)的在非核心區域150上之效應係分別繪示在第11(a)、11(b)和11(c)圖中。在一個實施例中,第11(a)圖之圖表包括表示時間的X軸1101和表示電流(ICC 193)的Y軸1102。在一個實施例中,在核心區域105進入由先於進入點1105之區域所指出的套裝C狀態前,ICC 193可係等於ICC_peak 1106(例如,=50安培)。於進入點1105,核心區域105可開始進入套裝C狀態,並且回應於在點1105的進入事件,電流ICC 193可於點1108從ICC_peak改變成ICC_idle(=20安培),並且ICC_idle位準可係由ICC_idle 1107指出。在一個實施例中,於離開點1109,ICC 193可從ICC_idle 1107改變至ICC_peak 1106,並
且核心區域105之離開事件可係在時間點1110完成。在一個實施例中,在點1108與1105之間的時間差可表示進入潛時,並且在點1109與1110之間的時間差可表示離開潛時。
第11(b)圖例示回應電流從ICC_peak 1106至ICC_idle 1107及從ICC_idle 1107回到ICC_peak 1106的改變而在參考電壓VR與針腳電壓VP中之變化。在一個實施例中,第11(b)圖的圖表包括表示時間的X軸1111和表示電壓(VR和VP)的Y軸1112。在進入點1105之前,電壓參考VR和VP可分別是等於VR_normal 1113和VP_idle或VP_normal 1115。在離開點1109之後,電壓參考VR和VP可分別是等於VR_normal 1113和VP_idle 1115。回應於在點1105發生了進入事件,電壓調節器195可接收一個FVID(或VID_R),並且參考電壓VR可從VR_normal 1113(例如,=1伏特)改變至VR_reduced 1114(例如,=0.96伏特)。回應於參考電壓VR從VR_normal 1113改變至VR_reduced 1114,在供應針腳194處的針腳電壓VP可從VP_idle 1115(例如,=0.972伏特)減少到VP_reduced 1116(例如,=0.932伏特)。在一個實施例中,在時間點1108與1109之間(這可代表核心區域105維持在深度功率節省狀態中的持續時間),參考電壓VR和針腳電壓VP可分別係維持在VR_reduced 1114和VP_reduced 1116。
第11(c)圖例示回應於針腳電壓VP從VP_idle 1115變化到VP_reduced 1116的在所消耗的功率中之變化。在一個實施例中,第11(c)圖的圖表包括表示時間的X軸1121和表示
消耗功率的Y軸1122。在進入點1105前,功率Consumed_idle可係等於正常消耗功率1123。在一個實施例中,回應於核心區域105進入套裝C狀態,由非核心區域150所消耗的功率可減少至經減縮消耗功率1124(例如,=14.988瓦特)。在一個實施例中,當針腳電壓VP從VP_idle 1115減少至VP_reduced 1116時,由非核心區域150所消耗的功率可亦減少,並且由非核心區域150所消耗的功率可係與被提供在供應針腳164處的針腳電壓之平方成比例。在一個實施例中,所節省的功率之量可係等於(功率Consumed_idle-經減縮消耗功率)=(16.95-14.988)=1.95伏特。
請參考第12圖,一個電腦系統1200可包括一個一般用途處理器1202,其包括一個單指令多資料(single instruction multiple data,SIMD)處理器和一個圖形處理器單元(graphics processor unit,GPU)1205。在一個實施例中,處理器1202可進行(除了進行各種其他任務以外)增強操作,或儲存一連串的指令,以提供在一個機器可讀儲存媒體1225中的增強操作。然而,這串指令可亦係儲存在記憶體1220中,或是在任何其他合適的儲存媒體中。
雖然在第12圖中係繪示一個分立的圖形處理器單元,但在一些實施例中,舉另一個例子來說,係可使用圖形處理器單元來進行增強操作。操作電腦系統1200的處理器1202可為耦接至邏輯1230的一或多個處理器核心。邏輯1230可係耦接至一或多個I/O裝置1260,其可提供介面電腦系統1200。邏輯1230,例如,在一個實施例中,可為晶片
組邏輯。邏輯1230係耦接至記憶體1220,其可為任何類型的儲存體,包括光學、磁性、或半導體儲存體。圖形處理器單元1205係透過一個訊框緩衝器耦接至一個顯示器1240。
在一個實施例中,處理器1202可包括一個核心區域1203和一個非核心區域1204。在一個實施例中,由處理器1202之核心區域1203所消耗的功率可藉由控制處理器1202的Cdyn而受到控制。在一個實施例中,Cdyn可受控制而使得Cdyn是落在一個可容許Cdyn值內,無關乎正由核心區域1203所處理的應用程式(或碼)。在一個實施例中,此功率管理技術可包括量測數位活動因數(DAF)、監控架構和資料活動位準、以及藉由如於上文中所述地基於活動位準來節流指令而控制功率消耗。由於基於活動位準(或Cdyn_actual)而節流指令之故,係可在不同時間域中,例如第3下垂(1微秒)和熱設計點(TDP)(1毫秒),實施節流,其使得長期(即,TDP)和短期(即,第3下垂)操作能控制在處理器之核心區域中的功率消耗。在一個實施例中,這樣的一種途徑可提供一種細緻的功率管理技術以及創造在碼被相較於啟動模式作處理時控制碼的啟動模式之能力,這可係反應於被處理的碼。
在一個實施例中,可藉由改變被提供給非核心區域1204的電壓(即,參考電壓VR)而減少由非核心區域1204所消耗的閒置功率(即,在核心區域處於深度電力節省狀態,例如套裝C狀態,中時,由非核心區域所消耗的功率)。
在一個實施例中,電壓調節器1206的輸出可透過一個負載電阻而被耦接至非核心區域1204的一個供應針腳。當核心區域處於深度套裝C狀態中時,參考電壓VR和因其所致的在非核心區域1204之供應針腳處的針腳電壓(VP)可被減少。在一個實施例中,參考電壓VR可被減少,而使得VP_idle減少至微高於VPmin(或VP_peak)的一個值。是故,參考電壓(VR)可被改變,以節省或減少由非核心區域1204所消耗的閒置功率。
已參考數個範例實施例描述本發明的某些特徵。然而,本說明並非意欲要被解讀成一種限制型態。對這些範例實施例之對於熟於本發明所屬技藝者而言是很明顯可見的各種修改體以及本發明的其他實施例係落於本發明的精神與範疇中。
100、1202‧‧‧處理器
101、196‧‧‧輸出
102、192‧‧‧負載電阻(RL)
103、193‧‧‧ICC
104、194‧‧‧供應針腳
105‧‧‧核心區域/核心
106‧‧‧指令佇列(IQ)
107、530‧‧‧節流器
108、570‧‧‧活動累積邏輯(AAL)
109、560‧‧‧節流邏輯(TL)
110、110-A~110-N‧‧‧核心
111‧‧‧特定機器暫存器(MSR)
112‧‧‧指令提取單元(IFU)
113‧‧‧解碼單元(DU)
114‧‧‧保留站(RS)
115‧‧‧執行單元(EU)
116‧‧‧浮動點執行單元(FPU)
117‧‧‧重新排序緩衝器(ROB)
118‧‧‧退役單元(RU)
120-A~120-N‧‧‧每核心快取(PCC)
130-A~130-N‧‧‧中階快取(MLC)
150‧‧‧非核心區域/非核心
155‧‧‧記憶體控制器
160‧‧‧末階快取(LLC)
161‧‧‧家庭代理器(HA)
162‧‧‧快取代理器(CA)
163‧‧‧路由代理器(RA)
164‧‧‧全球時鐘/PLL
165‧‧‧介面
168‧‧‧功率管理單元(PMU)
179‧‧‧活動感測器
180、195、1206‧‧‧電壓調節器
195、197‧‧‧電源層
199‧‧‧介面路徑
210‧‧‧核心
220‧‧‧總電容值(CTotal)
240‧‧‧動態電容值(Cdyn)
300、700、800、1100、1140、1160‧‧‧圖表
310、710、810、1102、1112、1122‧‧‧Y軸
320、740、840、1101、1111、1121‧‧‧X軸
330‧‧‧閒置應用程式
340‧‧‧主流應用程式
345、355‧‧‧直線
350‧‧‧高效能運算(HPC)應用程式
360‧‧‧功率病毒(PV)應用程式
410~490、910~990‧‧‧方塊
505‧‧‧資料型樣感測器
510‧‧‧指令提取單元(IFU)/功能單元
520‧‧‧IQ/功能單元
550‧‧‧執行單元(EU)/功能單元
580‧‧‧功率管理單元(PMU)
605-A~605-H‧‧‧資料輸入
610‧‧‧加權邏輯
610-A~610-H‧‧‧加權元件
630~650‧‧‧加總單元
660‧‧‧加總單元/累積器加總器
670‧‧‧累積器/累積器拴鎖
750‧‧‧突發活動
760‧‧‧持久活動
770‧‧‧節流活動
820‧‧‧作圖/節流平均准許活動
830‧‧‧作圖
1105、1108、1109、1110‧‧‧點
1106‧‧‧ICC_peak
1107‧‧‧ICC_idle
1113‧‧‧VR_normal
1114‧‧‧VR_reduced
1115‧‧‧VP_idle或VP_normal
1116‧‧‧VP_reduced
1123‧‧‧正常消耗功率
1124‧‧‧經減縮消耗功率
1200‧‧‧電腦系統
1203‧‧‧核心區域
1204‧‧‧非核心區域
1205‧‧‧圖形處理器單元(GPU)
1210‧‧‧顯示引擎
1220‧‧‧記憶體
1225‧‧‧機器可讀儲存媒體
1230‧‧‧邏輯
1240‧‧‧顯示器
1260‧‧‧I/O裝置
T2、T3、T5、T6‧‧‧持續時間
第1圖依據一個實施例,例示一個處理器100,其支援在核心區域中之以活動為基礎之功率節省技術以及在非核心區域中之以負載線IR壓降為基礎之功率節省技術。
第2圖依據一個實施例,例示以總電容值(Ctotal)和動態電容值(Cdyn)模示(model)的處理器核心區域。
第3圖依據一個實施例,例示Cdyn相關於在應用程式之工作負載中之改變的變化的一個作圖。
第4圖依據一個實施例,例示一個流程圖,其繪示用於核心區域中的一種以活動為基礎之功率節省技術。
第5圖依據一個實施例,例示一個方塊圖,其係用於實
施用於核心區域中的此以活動為基礎之功率節省技術。
第6圖依據一個實施例,例示一個活動累積邏輯的方塊圖,其係用於實施用於核心區域中的此以活動為基礎之功率節省技術。
第7圖是依據一個實施例的一個圖,其例示此以活動為基礎之功率節省技術在核心區域中之瞬時活動上的效應。
第8圖是依據一個實施例的一個圖,其例示此以活動為基礎之功率節省技術在核心區域中之平均活動上的效應。
第9圖是依據一個實施例的一個流程圖,其例示用於非核心區域中的一種以負載線IR壓降為基礎之功率節省技術。
第10(A)、10(B)和10(C)圖依據一個實施例,例示在使用一種以負載線IR壓降為基礎之功率節省技術時,於被提供給非核心區域的電壓上之減少。
第11(a)、11(b)和11(c)圖是依據一個實施例的時序圖,其例示回應於在非核心區域中使用以負載線IR壓降為基礎之功率節省技術而在電流、電壓和功率上的變化。
第12圖依據本發明的一個實施例,例示一個電腦系統之方塊圖。
410~490‧‧‧方塊
Claims (30)
- 一種處理器,其包含:一個非核心區域,其中該非核心區域包含一個功率管理單元和一個電壓調節器,其中該電壓調節器是用於提供經調節電壓(VR)給該非核心區域,以及一個核心區域,其中該核心區域包括多個功能方塊、多個感測器、一個活動累積邏輯、一個節流邏輯、和一個節流器,其中該等多個感測器是用於從該等多個功能方塊收集多個活動位準,及將該等多個活動位準提供給該活動累積邏輯,其中該活動累積邏輯是用於產生一個累積活動值,及將該累積活動位準提供給該節流邏輯,其中該節流邏輯是用於產生一個信號,該信號指示要基於該累積活動值與一個目標值之比較而被採用的一個節流位準,其中該節流器是用於基於該節流位準而節流被提供給數個執行單元的該等指令。
- 如申請專利範圍第1項之處理器,其中該等多個感測器被提供在該等多個功能單元的一或多個埠中,以感測該等多個功能單元的資料活動及架構活動。
- 如申請專利範圍第1項之處理器,其中該節流邏輯是用於基於資料型樣觀察和該累積活動值而判定一個實際動態電容值。
- 如申請專利範圍第4項之處理器,其中該節流邏輯是用於將該實際動態電容(Cdyn)值校準至一個功率分數值。
- 如申請專利範圍第4項之處理器,其中該節流邏輯是用 於將該功率分數值與由該功率管理單元所提供的一個目標值作比較,其中該目標值是基於一個可容許動態電容值而被判定。
- 如申請專利範圍第3項之處理器,其中該節流邏輯是用於在該功率分數值大於該目標值時產生指示要增加該節流位準的該信號。
- 如申請專利範圍第6項之處理器,其中該節流器是用於回應於接收到指示要增加該節流位準的該信號而減少指令通量,其中減少該指令通量是為了將該實際動態電容維持為低於該可容許動態電容。
- 如申請專利範圍第3項之處理器,其中該節流邏輯是用於在該功率分數值小於該目標值時產生指示要減少該節流位準的該信號。
- 如申請專利範圍第8項之處理器,其中該節流器是用於回應於接收到指示要減少該節流位準的該信號而增加指令通量。
- 一種處理器,其包含:一個核心區域和一個非核心區域,其中該非核心區域包含一個功率管理單元和一個電壓調節器,其中該電壓調節器是用於提供經調節電壓(VR)給該非核心區域,其中該功率管理單元是用於檢測該核心區域所據以為基礎而進入一個深度功率節省狀態的一個事件,及回應地提供一第一電壓值給該電壓調節器, 其中該電壓調節器是用於基於該第一電壓值而將該經調節電壓(VR)從一個正常參考電壓值減少至一個經減縮參考電壓值,其中減少該經調節電壓(VR)會致使被提供在該非核心區域的一個供應針腳處的一個針腳電壓值減少,其中減少該針腳電壓值是為了減少由該非核心區域所消耗的功率,其中該針腳電壓值被減少至足以維持要將該處理器操作在一個指定頻率值所需之最小針腳電壓值的一個位準。
- 如申請專利範圍第10項之處理器,其中該非核心區域會在該核心區域處於該深度功率節省狀態之前消耗經減縮量的功率。
- 如申請專利範圍第11項之處理器,其中被提供給該核心區域的該電壓在該核心區域係操作在該深度功率節省狀態中時被實質上截斷,並且由該核心區域注入到該非核心區域的一個活動實質上為低。
- 如申請專利範圍第10項之處理器,其中該功率控制單元是用於回應於檢測到該核心區域所藉以離開該深度功率節省狀態的一個離開事件而產生一第二電壓值,並將該第二電壓值提供給該電壓調節器。
- 如申請專利範圍第13項之處理器,其中該電壓調節器是用於回應於接收到該第二電壓值而將該參考電壓(VR)從該經減縮參考電壓值增加至該正常參考電壓值。
- 如申請專利範圍第14項之處理器,其中將該參考電壓增加至該正常參考電壓值是為了在該非核心區域的該供應針腳處至少提供該最小電壓值,以使得該處理器能夠被操作在該指定頻率值。
- 一種在處理器之核心區域中之方法,其包含下列步驟:利用多個感測器而從多個功能方塊收集活動位準,並將該等多個活動位準提供給一個活動累積邏輯,在一個累積活動邏輯中基於該等多個活動位準而產生一個累積活動值,利用一個節流邏輯而產生一個信號,該信號指示要基於對該累積活動值之比較而被採用的一個節流位準,以及基於由該信號所提供的該節流位準而節流被提供給數個執行單元的指令,其中該處理器包含一個核心區域,該核心區域包括該等多個功能方塊、該等多個感測器、該活動累積邏輯、該節流邏輯、和該節流器。
- 如申請專利範圍第16項之方法,其包含下列步驟:在該等多個功能單元的一或多個埠中提供該等多個感測器,以感測該等多個功能單元的資料活動和架構活動。
- 如申請專利範圍第16項之方法,其包含下列步驟:在該節流邏輯中基於資料型樣觀察和該累積活動值而判定一個實際動態電容值。
- 如申請專利範圍第18項之方法,其包含下列步驟:在該節流邏輯中將該實際動態電容(Cdyn)值校準至一個功率分數值。
- 如申請專利範圍第18項之方法,其包含下列步驟:在該節流邏輯中將該功率分數值與由一個功率管理單元所提供的該目標值作比較,其中該目標值是基於一個可容許動態電容值而被判定。
- 如申請專利範圍第18項之方法,其包含下列步驟:在該節流邏輯中產生該信號,其中若該功率分數值大於該目標值,該信號係指示要增加該節流位準。
- 如申請專利範圍第21項之方法,其包含下列步驟:在一個節流器中,回應於接收到指示要增加該節流位準的該信號而減少指令通量,其中減少該指令通量是為了將該實際動態電容維持為低於該可容許動態電容。
- 如申請專利範圍第18項之方法,其包含下列步驟:在該節流邏輯中產生該信號,其中若該功率分數值小於該目標值,該信號係指示要減少該節流位準。
- 如申請專利範圍第23項之方法,其包含下列步驟:在該節流器中,回應於接收到指示要減少該節流位準的該信號而增加該指令通量。
- 一種在處理器之非核心區域中之方法,其包含下列步驟:檢測一個核心區域所據以為基礎而進入一個深度功率節省狀態的一個進入事件,其中該進入事件是利用 一個功率管理單元而檢測,提供一第一電壓值給一個電壓調節器,其中該第一電壓值是利用該功率管理單元而產生,基於該第一電壓值而將一個經調節電壓從一個正常參考電壓值減少至一個經減縮參考電壓值,以及將該經減縮參考電壓提供給該非核心區域,其中減少該經調節電壓(VR)會致使被提供在該非核心區域的一個供應針腳處的一個針腳電壓值減少,其中減少該針腳電壓值是為了減少由該非核心區域所消耗的功率,其中該非核心區域耦接至該核心區域,其中該非核心區域包括該功率管理單元和一個電壓調節器。
- 如申請專利範圍第25項之方法,其包含下列步驟:判定該第一電壓值,該第一電壓值是要將該針腳電壓值減少至足以維持要將該處理器操作在一個指定頻率值所需之最小針腳電壓值的一個位準。
- 如申請專利範圍第26項之方法,其中該非核心區域會在該核心區域處於該深度功率節省狀態之前消耗經減縮量的功率。
- 如申請專利範圍第27項之方法,其中在該核心區域係操作在深度功率節省狀態中時,由該核心區域注入到該非核心區域的一個活動實質上為低。
- 如申請專利範圍第26項之方法,其包含下列步驟:回應於檢測到該核心區域所藉以離開該深度功率節省狀態的一個離開事件而產生一第二電壓值,以及 將該第二電壓值提供給該電壓調節器。
- 如申請專利範圍第28項之方法,其包含下列步驟:回應於接收到該第二電壓值而將該參考電壓(VR)從該經減縮參考電壓值增加至該正常參考電壓值。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IN773DE2011 | 2011-03-21 | ||
IN773/DEL/2011 | 2011-03-21 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201303573A true TW201303573A (zh) | 2013-01-16 |
TWI628537B TWI628537B (zh) | 2018-07-01 |
Family
ID=54187870
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW101109481A TWI628537B (zh) | 2011-03-21 | 2012-03-20 | 管理多核心處理器中之功率消耗之技術 |
Country Status (8)
Country | Link |
---|---|
US (2) | US9069555B2 (zh) |
JP (2) | JP2014514641A (zh) |
KR (2) | KR101515318B1 (zh) |
CN (1) | CN103492976B (zh) |
DE (1) | DE112012001358B4 (zh) |
GB (1) | GB2503367B (zh) |
TW (1) | TWI628537B (zh) |
WO (1) | WO2012129147A2 (zh) |
Families Citing this family (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9069555B2 (en) | 2011-03-21 | 2015-06-30 | Intel Corporation | Managing power consumption in a multi-core processor |
US9594412B2 (en) * | 2012-03-30 | 2017-03-14 | Intel Corporation | Controlling power gate circuitry based on dynamic capacitance of a circuit |
US10990407B2 (en) * | 2012-04-24 | 2021-04-27 | Intel Corporation | Dynamic interrupt reconfiguration for effective power management |
US9218045B2 (en) * | 2012-06-30 | 2015-12-22 | Intel Corporation | Operating processor element based on maximum sustainable dynamic capacitance associated with the processor |
US9183144B2 (en) * | 2012-12-14 | 2015-11-10 | Intel Corporation | Power gating a portion of a cache memory |
US9075556B2 (en) | 2012-12-21 | 2015-07-07 | Intel Corporation | Controlling configurable peak performance limits of a processor |
US9335813B2 (en) * | 2013-05-28 | 2016-05-10 | Intel Corporation | Method and system for run-time reallocation of leakage current and dynamic power supply current |
US9250910B2 (en) * | 2013-09-27 | 2016-02-02 | Intel Corporation | Current change mitigation policy for limiting voltage droop in graphics logic |
KR20150050135A (ko) | 2013-10-31 | 2015-05-08 | 삼성전자주식회사 | 복수의 이종 코어들을 포함하는 전자 시스템 및 이의 동작 방법 |
US9514715B2 (en) * | 2013-12-23 | 2016-12-06 | Intel Corporation | Graphics voltage reduction for load line optimization |
US10108454B2 (en) * | 2014-03-21 | 2018-10-23 | Intel Corporation | Managing dynamic capacitance using code scheduling |
US9874927B2 (en) * | 2014-06-26 | 2018-01-23 | Intel Corporation | Method and apparatus for precision CPU maximum power detection |
US9864551B2 (en) * | 2014-08-29 | 2018-01-09 | Hewlett Packard Enterprise Development Lp | Determining throughput based on system busy level |
US10339023B2 (en) | 2014-09-25 | 2019-07-02 | Intel Corporation | Cache-aware adaptive thread scheduling and migration |
US9477243B2 (en) | 2014-12-22 | 2016-10-25 | Intel Corporation | System maximum current protection |
CN107077180B (zh) * | 2014-12-23 | 2021-11-19 | 英特尔公司 | 基于功率状态而调整电压调节器 |
US9880601B2 (en) | 2014-12-24 | 2018-01-30 | Intel Corporation | Method and apparatus to control a link power state |
US10234930B2 (en) | 2015-02-13 | 2019-03-19 | Intel Corporation | Performing power management in a multicore processor |
US9910481B2 (en) | 2015-02-13 | 2018-03-06 | Intel Corporation | Performing power management in a multicore processor |
US9760160B2 (en) * | 2015-05-27 | 2017-09-12 | Intel Corporation | Controlling performance states of processing engines of a processor |
KR20170000625A (ko) | 2015-06-24 | 2017-01-03 | 에스케이하이닉스 주식회사 | 메모리 장치 및 이를 포함하는 메모리 시스템 |
US9710041B2 (en) | 2015-07-29 | 2017-07-18 | Intel Corporation | Masking a power state of a core of a processor |
US9568982B1 (en) | 2015-07-31 | 2017-02-14 | International Business Machines Corporation | Management of core power state transition in a microprocessor |
US9952651B2 (en) | 2015-07-31 | 2018-04-24 | International Business Machines Corporation | Deterministic current based frequency optimization of processor chip |
US9874917B2 (en) | 2016-01-04 | 2018-01-23 | International Business Machines Corporation | Adaptive power capping in a chip |
US9971390B1 (en) | 2016-01-05 | 2018-05-15 | Apple Inc. | Processor energy consumption rate limiting system |
US10048738B2 (en) * | 2016-03-03 | 2018-08-14 | Intel Corporation | Hierarchical autonomous capacitance management |
US10209726B2 (en) * | 2016-06-10 | 2019-02-19 | Microsoft Technology Licensing, Llc | Secure input voltage adjustment in processing devices |
US10268255B2 (en) * | 2016-06-29 | 2019-04-23 | Intel Corporation | Management of system current constraints with current limits for individual engines |
US10234920B2 (en) | 2016-08-31 | 2019-03-19 | Intel Corporation | Controlling current consumption of a processor based at least in part on platform capacitance |
US10423206B2 (en) * | 2016-08-31 | 2019-09-24 | Intel Corporation | Processor to pre-empt voltage ramps for exit latency reductions |
US10423209B2 (en) * | 2017-02-13 | 2019-09-24 | Apple Inc. | Systems and methods for coherent power management |
KR20180098904A (ko) | 2017-02-27 | 2018-09-05 | 삼성전자주식회사 | 컴퓨팅 장치 및 컴퓨팅 장치에 포함된 복수의 코어들에 전력을 할당하는 방법 |
US10290289B2 (en) * | 2017-04-01 | 2019-05-14 | Intel Corporation | Adaptive multibit bus for energy optimization |
US10481014B2 (en) * | 2017-06-15 | 2019-11-19 | Micron Technology, Inc. | Adaptive throttling |
US10565079B2 (en) | 2017-09-28 | 2020-02-18 | Intel Corporation | Determination of idle power state |
US10627883B2 (en) * | 2018-02-28 | 2020-04-21 | Advanced Micro Devices, Inc. | Onboard monitoring of voltage levels and droop events |
US10969858B2 (en) | 2019-01-03 | 2021-04-06 | Apple Inc. | Operation processing controlled according to difference in current consumption |
US11054882B2 (en) | 2019-02-21 | 2021-07-06 | Apple Inc. | Externally-triggered throttling |
US10921872B2 (en) | 2019-03-29 | 2021-02-16 | Intel Corporation | Performing soft throttling and hard throttling in a processor |
US11079825B2 (en) * | 2019-08-13 | 2021-08-03 | Intel Corporation | Compiler guided power allocation in computing devices |
KR102372213B1 (ko) | 2019-09-09 | 2022-03-08 | 한국화학연구원 | 히알루론산 또는 그의 염 및 폴리페놀 화합물을 포함하는 수분해성 필름 |
CN114185838A (zh) * | 2020-09-15 | 2022-03-15 | 阿里巴巴集团控股有限公司 | 片上系统和调节电压和频率的方法 |
US11416056B2 (en) | 2020-09-18 | 2022-08-16 | Apple Inc. | Power sense correction for power budget estimator |
CN117296022A (zh) * | 2021-05-13 | 2023-12-26 | 华为技术有限公司 | 一种功耗调节方法及装置 |
US11989077B2 (en) * | 2021-12-06 | 2024-05-21 | Mediatek Inc. | Maximum current suppression for power management in a multi-core system |
Family Cites Families (89)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5163153A (en) | 1989-06-12 | 1992-11-10 | Grid Systems Corporation | Low-power, standby mode computer |
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 |
US6029006A (en) * | 1996-12-23 | 2000-02-22 | Motorola, Inc. | Data processor with circuit for regulating instruction throughput while powered and method of operation |
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 |
US6564328B1 (en) * | 1999-12-23 | 2003-05-13 | Intel Corporation | Microprocessor with digital power throttle |
US7539885B2 (en) | 2000-01-13 | 2009-05-26 | Broadcom Corporation | Method and apparatus for adaptive CPU power management |
US7010708B2 (en) | 2002-05-15 | 2006-03-07 | 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 | 엘지전자 주식회사 | 씨피유 클럭 제어 방법 |
US6636976B1 (en) * | 2000-06-30 | 2003-10-21 | Intel Corporation | Mechanism to control di/dt for a microprocessor |
US6792392B1 (en) | 2000-06-30 | 2004-09-14 | Intel Corporation | Method and apparatus for configuring and collecting performance counter data |
JP2002033457A (ja) | 2000-07-18 | 2002-01-31 | Hitachi Ltd | 半導体集積回路装置 |
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 |
US7281140B2 (en) | 2001-12-28 | 2007-10-09 | Intel Corporation | Digital throttle for multiple operating points |
US20030126477A1 (en) * | 2001-12-28 | 2003-07-03 | Zhang Kevin X. | Method and apparatus for controlling a supply voltage to a processor |
US7096145B2 (en) * | 2002-01-02 | 2006-08-22 | Intel Corporation | Deterministic power-estimation for thermal control |
US6996728B2 (en) | 2002-04-26 | 2006-02-07 | Hewlett-Packard Development Company, L.P. | Managing power consumption based on utilization statistics |
US7051227B2 (en) | 2002-09-30 | 2006-05-23 | Intel Corporation | Method and apparatus for reducing clock frequency during low workload periods |
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 |
US6971033B2 (en) | 2003-01-10 | 2005-11-29 | Broadcom Corporation | Method and apparatus for improving bus master performance |
KR20050115227A (ko) | 2003-01-23 | 2005-12-07 | 유니버시티 오브 로체스터 | 다중 클록 도메인 마이크로프로세서 |
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 |
TW591372B (en) * | 2003-05-15 | 2004-06-11 | High Tech Comp Corp | Power control method of portable electronic device, portable electronic device and electronic system |
US20050046400A1 (en) * | 2003-05-21 | 2005-03-03 | Efraim Rotem | Controlling operation of a voltage supply according to the activity of a multi-core integrated circuit component or of multiple IC components |
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 |
US20070156992A1 (en) | 2005-12-30 | 2007-07-05 | Intel Corporation | Method and system for optimizing latency of dynamic memory sizing |
US7451333B2 (en) | 2004-09-03 | 2008-11-11 | Intel Corporation | Coordinating idle state transitions in multi-core processors |
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 |
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 |
JP4555140B2 (ja) * | 2005-04-22 | 2010-09-29 | 株式会社日立製作所 | 複合型計算機装置およびその管理方法 |
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 |
US7634678B2 (en) * | 2006-02-07 | 2009-12-15 | Omx Technology Ab | Application software initiated speedup |
US20070245163A1 (en) | 2006-03-03 | 2007-10-18 | Yung-Hsiang Lu | Power management in computer operating systems |
US7397703B2 (en) | 2006-03-21 | 2008-07-08 | Freescale Semiconductor, Inc. | Non-volatile memory with controlled program/erase |
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 |
US7673160B2 (en) | 2006-10-19 | 2010-03-02 | International Business Machines Corporation | System and method of power management for computer processor systems |
US7949887B2 (en) | 2006-11-01 | 2011-05-24 | Intel Corporation | Independent power control of processing cores |
US7793125B2 (en) * | 2007-01-10 | 2010-09-07 | International Business Machines Corporation | Method and apparatus for power throttling a processor in an information handling system |
US7730340B2 (en) | 2007-02-16 | 2010-06-01 | Intel Corporation | Method and apparatus for dynamic voltage and frequency scaling |
TWI388974B (zh) * | 2007-03-01 | 2013-03-11 | Via Tech Inc | 根據工作溫度的變化來動態改變功率損耗的微處理器及方法 |
US8510581B2 (en) | 2007-03-26 | 2013-08-13 | Freescale Semiconductor, Inc. | Anticipation of power on of a mobile device |
US7900069B2 (en) | 2007-03-29 | 2011-03-01 | Intel Corporation | Dynamic power reduction |
JP2008257578A (ja) | 2007-04-06 | 2008-10-23 | Toshiba Corp | 情報処理装置、スケジューラおよび情報処理置のスケジュール制御方法 |
US7870407B2 (en) * | 2007-05-18 | 2011-01-11 | Advanced Micro Devices, Inc. | Dynamic processor power management device and method thereof |
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 | 엘지전자 주식회사 | 전원관리 제어 장치 및 방법 |
US7949889B2 (en) * | 2008-01-07 | 2011-05-24 | Apple Inc. | Forced idle of a data processing system |
US8977790B2 (en) * | 2008-02-15 | 2015-03-10 | Freescale Semiconductor, Inc. | Peripheral module register access methods and apparatus |
US8156362B2 (en) | 2008-03-11 | 2012-04-10 | Globalfoundries Inc. | Hardware monitoring and decision making for transitioning in and out of low-power state |
US8010822B2 (en) * | 2008-03-28 | 2011-08-30 | Microsoft Corporation | Power-aware thread scheduling and dynamic use of processors |
US8028181B2 (en) | 2008-09-19 | 2011-09-27 | Intel Corporation | Processor power consumption control and voltage drop via micro-architectural bandwidth throttling |
US8386807B2 (en) | 2008-09-30 | 2013-02-26 | Intel Corporation | Power management for processing unit |
US8402290B2 (en) | 2008-10-31 | 2013-03-19 | Intel Corporation | Power management for multiple processor cores |
US8954977B2 (en) | 2008-12-09 | 2015-02-10 | Intel Corporation | Software-based thread remapping for power savings |
US8219831B2 (en) * | 2009-01-28 | 2012-07-10 | Oracle America, Inc. | Reducing temperature and power by instruction throttling at decode stage of processor pipeline in time constant duration steps |
US8700943B2 (en) | 2009-12-22 | 2014-04-15 | Intel Corporation | Controlling time stamp counter (TSC) offsets for mulitple cores and threads |
US8356194B2 (en) * | 2010-01-28 | 2013-01-15 | Cavium, Inc. | Method and apparatus for estimating overshoot power after estimating power of executing events |
US8943334B2 (en) | 2010-09-23 | 2015-01-27 | Intel Corporation | Providing per core voltage and frequency control |
US9069555B2 (en) | 2011-03-21 | 2015-06-30 | Intel Corporation | Managing power consumption in a multi-core processor |
US8949637B2 (en) | 2011-03-24 | 2015-02-03 | Intel Corporation | Obtaining power profile information with low overhead |
-
2012
- 2012-03-16 US US13/422,476 patent/US9069555B2/en not_active Expired - Fee Related
- 2012-03-19 GB GB1316089.0A patent/GB2503367B/en not_active Expired - Fee Related
- 2012-03-19 WO PCT/US2012/029604 patent/WO2012129147A2/en active Application Filing
- 2012-03-19 KR KR1020137024802A patent/KR101515318B1/ko not_active IP Right Cessation
- 2012-03-19 DE DE112012001358.1T patent/DE112012001358B4/de not_active Expired - Fee Related
- 2012-03-19 JP JP2014501164A patent/JP2014514641A/ja active Pending
- 2012-03-19 CN CN201280020735.XA patent/CN103492976B/zh active Active
- 2012-03-19 KR KR1020147036961A patent/KR101591811B1/ko not_active IP Right Cessation
- 2012-03-20 TW TW101109481A patent/TWI628537B/zh not_active IP Right Cessation
-
2013
- 2013-03-01 US US13/782,492 patent/US9075614B2/en not_active Expired - Fee Related
-
2015
- 2015-06-12 JP JP2015118774A patent/JP5985708B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
KR101515318B1 (ko) | 2015-04-24 |
US9069555B2 (en) | 2015-06-30 |
US9075614B2 (en) | 2015-07-07 |
JP5985708B2 (ja) | 2016-09-06 |
KR20130124575A (ko) | 2013-11-14 |
GB2503367B (en) | 2020-10-21 |
US20120254643A1 (en) | 2012-10-04 |
DE112012001358B4 (de) | 2016-08-18 |
JP2015165434A (ja) | 2015-09-17 |
WO2012129147A2 (en) | 2012-09-27 |
KR101591811B1 (ko) | 2016-02-05 |
GB201316089D0 (en) | 2013-10-23 |
GB2503367A (en) | 2013-12-25 |
CN103492976B (zh) | 2017-11-07 |
JP2014514641A (ja) | 2014-06-19 |
KR20150016614A (ko) | 2015-02-12 |
DE112012001358T5 (de) | 2013-12-24 |
CN103492976A (zh) | 2014-01-01 |
WO2012129147A3 (en) | 2013-03-14 |
TWI628537B (zh) | 2018-07-01 |
US20130232368A1 (en) | 2013-09-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI628537B (zh) | 管理多核心處理器中之功率消耗之技術 | |
US11513585B1 (en) | Power management for a graphics processing unit or other circuit | |
EP2596413B1 (en) | Managing current and power in a computing system | |
US8443209B2 (en) | Throttling computational units according to performance sensitivity | |
US7870407B2 (en) | Dynamic processor power management device and method thereof | |
US8261112B2 (en) | Optimizing power consumption by tracking how program runtime performance metrics respond to changes in operating frequency | |
US8924758B2 (en) | Method for SOC performance and power optimization | |
US8447994B2 (en) | Altering performance of computational units heterogeneously according to performance sensitivity | |
US7917772B1 (en) | Dynamic chip control | |
CN107646106B (zh) | 具有每个活动加权和多个节流下降阈值的功率管理电路 | |
TW201346770A (zh) | 多層級中央處理單元(cpu)高電流保護技術 | |
US20110022356A1 (en) | Determining performance sensitivities of computational units | |
US9377833B2 (en) | Electronic device and power management method | |
US10120430B2 (en) | Dynamic reliability quality monitoring | |
WO2023081054A1 (en) | Performance management during power supply voltage droop | |
CN117546121A (zh) | 用于通过减少每周期指令数来控制多处理器核心系统中的电流供应的系统和方法 | |
CN118484076A (zh) | 功率管理 | |
WO2023122583A1 (en) | Default boost mode state for devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |