TWI564707B - 用於控制電流之設備、方法及系統 - Google Patents
用於控制電流之設備、方法及系統 Download PDFInfo
- Publication number
- TWI564707B TWI564707B TW103124992A TW103124992A TWI564707B TW I564707 B TWI564707 B TW I564707B TW 103124992 A TW103124992 A TW 103124992A TW 103124992 A TW103124992 A TW 103124992A TW I564707 B TWI564707 B TW I564707B
- Authority
- TW
- Taiwan
- Prior art keywords
- power
- value
- instructions
- credits
- counter
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 47
- 238000012545 processing Methods 0.000 claims description 23
- 230000004044 response Effects 0.000 claims description 14
- 230000008859 change Effects 0.000 claims description 6
- 230000001419 dependent effect Effects 0.000 claims description 5
- 230000000977 initiatory effect Effects 0.000 claims description 4
- 230000008569 process Effects 0.000 claims description 2
- 230000000903 blocking effect Effects 0.000 claims 6
- 230000015654 memory Effects 0.000 description 30
- 238000000605 extraction Methods 0.000 description 19
- 238000013519 translation Methods 0.000 description 16
- 230000014616 translation Effects 0.000 description 16
- 239000013598 vector Substances 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000013461 design Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 2
- 238000001816 cooling Methods 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 241000700605 Viruses Species 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000004146 energy storage Methods 0.000 description 1
- 230000005294 ferromagnetic effect Effects 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 230000005291 magnetic effect Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003071 parasitic effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
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
-
- 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
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
-
- 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/3287—Power saving characterised by the action undertaken by switching off individual functional units in the computer system
-
- 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
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
- G06F9/4893—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues taking into account power or heat criteria
-
- 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)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Power Sources (AREA)
Description
本發明係關於運算系統,且更特定而言係關於經由對所選擇之有問題指令進行節流來有效地減少功率消耗。
每一代半導體處理器核心上之裝置及金屬線路的幾何尺寸都在減低。因此,在給定晶粒上面積中提供更多功能性。結果,諸如膝上型電腦、平板電腦、智慧型電話、視訊攝影機及其類似者的行動裝置越來越風行。通常,此等行動裝置自包括一或多個電化電池芯的電池接收電力。由於電池具有有限容量,因此其週期性地連接至外部能量源以再充電。此等行動裝置之極重要問題為功率消耗。隨著功率消耗增加,此等裝置之電池壽命被減少,且再充電之頻率增加。
隨著裝置之密度在具有多個管線、較大快取記憶體及更複雜之邏輯的積體電路上增加,在給定時脈循環中可經充電或放電的電容之量顯著增加,從而導致較高功率消耗。另外,軟體應用程式可執行可使得硬體達到高功率耗散值的特定電腦程式碼。此程式碼可無意或故意地(例如,功率病毒)進行此情形。功率耗散可歸因於在程式碼內給定指令類型的多次出現而上升,且功率耗散可達到或超出積體電路之熱設計功耗(thermal design power,TDP)或(在一些狀況下)最大功率耗散。
除以上內容外,行動裝置之冷卻系統亦可針對給定TDP或熱設計點加以設計。冷卻系統可能能夠耗散TDP值而不超出積體電路的最大接面溫度。然而,給定指令類型之多次出現可使得功率耗散超出積體電路的TDP。另外,電源供應器之電流限制亦可能被超出。若功率模式並不改變積體電路之操作模式或關斷積體電路內的特定功能區塊,則電池可被快速放電。此外,可發生實體損害。管理峰值功率耗散之一種方法可係簡單地將指令發佈限制至預定臨限值,此情形可導致不可接受的運算效能。
鑒於以上內容,需要用於經由所選擇指令之發佈節流來減少功率消耗的有效方法及機制。
揭示用於實施指令節流的電路及方法之各種實施例。總而言之,預期到控制電路耦接至第一計數器及第二計數器的設備及方法。第二計數器可經組態以回應於處理器之處理循環的完成而遞增。控制電路可經組態以初始化第一及第二計數器,偵測由處理器進行之指令的發佈,取決於對所發佈指令之偵測而使第一計數器遞減,且取決於第一計數器的值而阻止處理器發佈指令。控制電路可經進一步組態以取決於第二計數器之值而重設第一計數器,且回應於判定第二計數器之值大於預定值而重設第二計數器。
在一個實施例中,控制電路可經進一步組態以將最大功率信用額度值載入至第一計數器中。
在另一實施例中,控制電路可經進一步組態以將至少一信號發送至包括於處理器中的保留站中。
100‧‧‧系統單晶片(SoC)
101‧‧‧處理器
102‧‧‧記憶體區塊
103‧‧‧類比/混合式信號區塊
104‧‧‧I/O區塊
105‧‧‧內部匯流排
200‧‧‧處理器
201‧‧‧提取控制單元
202‧‧‧指令快取記憶體
203‧‧‧指令轉譯後備緩衝器(ITLB)
204‧‧‧解碼單元
206‧‧‧排程器
207‧‧‧暫存器檔案
208‧‧‧執行核心
209‧‧‧映射器
210‧‧‧資料轉譯後備緩衝器(DTLB)
211‧‧‧介面單元
212‧‧‧分支預測器
213‧‧‧節流邏輯
300‧‧‧系統
301‧‧‧處理器核心
302‧‧‧節流電路
303‧‧‧處理器核心
304‧‧‧節流電路/保留站
305‧‧‧節流電路/保留站
400‧‧‧節流控制電路
402‧‧‧平均功率計算器
403‧‧‧控制邏輯
404‧‧‧功率計數器
405‧‧‧循環計數器
408‧‧‧移動平均值
409‧‧‧最大功率信號
410‧‧‧功率信用額度信號
412‧‧‧循環窗完成信號
413‧‧‧阻止發佈命令
以下詳細描述參看現被簡要描述之隨附圖式。
圖1說明系統單晶片之實施例。
圖2說明處理器的實施例。
圖3說明具有節流控制之多處理器系統的實施例。
圖4說明節流控制電路的實施例。
圖5說明描繪一種用於操作節流控制電路之方法之實施例的流程圖。
圖6說明描繪一種用於調整功率信用額度之最大數目的方法之實施例的流程圖。
圖7說明描繪另一種用於調整功率信用額度之最大數目的方法之實施例的流程圖。
雖然本發明易受各種修改及替代形式之影響,但在附圖中以舉例方式展示了其特定實施例,且將在本文中對該等特定實施例進行詳細描述。然而應理解,該等圖式及對其之詳細描述並非意欲將本發明限於所說明的特定形式,而正相反,本發明意欲涵蓋屬於本發明之由附屬申請專利範圍所界定的精神及範疇內的所有修改、等效物及替代例。本文中所使用之標題僅為達成組織性目的,且不意謂用來限制此描述之範疇。如貫穿本申請案所使用,詞「可」係以許可之意義(亦即,意謂有可能)而非強制性之意義(亦即,意謂必須)來使用。類似地,詞「包括」意謂包括但不限於。
各種單元、電路或其他組件可描述為「經組態以」執行一或多項任務。在此等上下文中,「經組態以」為大體上意謂「具有在操作期間執行該或該等任務的電路」的結構之廣泛敍述。因此,甚至在單元/電路/組件當前未接通時,該單元/電路/組件仍可經組態以執行該任務。一般而言,形成對應於「經組態以」之結構的電路可包括硬體電路。類似地,為便於描述,可將各種單元/電路/組件描述為執行一或多項任務。此等描述應解釋為包括片語「經組態以」。敍述經組態以執行一或多個任務之一單元/電路/組件明確地不意欲援引35 U.S.C.
§ 112第六段對於該單元/電路/組件之解釋。更一般而言,對任何元素之敍述明確地不意欲援引35 U.S.C.§ 112第六段對於該元素的解釋,除非具體地敍述語言「用於……之構件」或「用於……之步驟」。
為了改良運算效能,系統單晶片(SoC)可包括多個處理器。在提供額外運算資源的同時,由於由處理器產生之對電流需求的快速改變在SoC及隨附封裝或其他掛接設備內的電感寄生電路元件內相互作用,因此由每一處理器在執行指令的同時消耗之額外功率可導致電源供應器電壓的下降。一些系統試圖經由使用晶粒上解耦電容器來補償電流需求的快速改變,該等晶粒上解耦電容器提供用於晶粒上局部能量儲存的機構。其他系統限制處理器的會導致大量切換活動及動態功率的指令之數目(通稱為「節流」)。
然而,對處理器進行節流可導致運算效能的不可接受之減少。對於限制某些指令之發佈之時機的判定係困難的,且多個處理器之添加進一步使該問題複雜化。圖式中所說明且下文所描述之實施例可提供用於對一或多個處理器進行節流同時限制運算效能之任何降級的技術。
SoC之方塊圖說明於圖1中。在所說明實施例中,SoC 100包括處理器101,該處理器101經由內部匯流排105耦接至記憶體區塊102及類比/混合式信號區塊103及I/O區塊104。在各種實施例中,SoC 100可經組態用於行動運算應用中,諸如平板電腦或蜂巢式電話。可根據各種通信協定中之一者而編碼內部匯流排105上之異動。
舉例而言,記憶體區塊102可包括任何合適類型之記憶體,諸如動態隨機存取記憶體(DRAM)、靜態隨機存取記憶體(SRAM)、唯讀記憶體(ROM)、電可抹除可程式化唯讀記憶體(EEPROM)、快閃記憶
體、相變記憶體(PCM),或鐵磁隨機存取記憶體(FeRAM)。請注意,在說明於圖1中之SoC的實施例中,描繪單一記憶體區塊。在其他實施例中,可使用任何合適數目個記憶體區塊。
如下文更詳細地描述,在各種實施例中,處理器101可表示執行運算操作的通用處理器。舉例而言,處理器101可為中央處理單元(CPU),諸如,微處理器、微控制器、特殊應用積體電路(ASIC)或場可程式化閘陣列(FPGA)。
類比/混合式信號區塊103可包括多種電路,包括(例如)晶體振盪器、鎖相迴路(PLL)、類比轉數位轉換器(ADC)及數位轉類比轉換器(DAC)(皆未圖示)。在其他實施例中,類比/混合式信號區塊103可經組態以藉由包括晶片上電源供應器及電壓調節器來執行功率管理任務。在一些實施例中,類比/混合式信號區塊103亦可包括可經組態以用於在蜂巢式電話網路中操作的射頻(RF)電路。
I/O區塊104可經組態以協調SoC 100與一或多個周邊裝置之間的資料傳送。此等周邊裝置可包括(不限於)儲存裝置(例如,基於磁性或光學媒體之儲存裝置,包括硬碟機、磁帶機、CD光碟機、DVD光碟機等)、音訊處理子系統,或任何其他合適類型之周邊裝置。在一些實施例中,I/O區塊104可經組態以實施一版本的通用串列匯流排(USB)協定或IEEE 1394(Firewire®)協定。
I/O區塊104亦可經組態以協調SoC 100與經由網路耦接至SoC 100之一或多個裝置(例如,其他電腦系統或SoC)之間的資料傳送。在一個實施例中,例如,I/O區塊104可經組態以執行實施諸如十億位元乙太網路或百億位元乙太網路之乙太網路(IEEE 802.3)網路連接標準所必要的資料處理,儘管預期到可實施任何合適網路連接標準。在一些實施例中,I/O區塊104可經組態以實施多個離散網路介面埠。
包括於SoC 100中之功能區塊中的每一者可被包括於分離的功率
及/或時脈域中。在一些實施例中,功能區塊可被進一步劃分成較小功率及/或時脈域。在一些實施例中,每一功率及/或時脈域可被分開控制,藉此選擇性地去啟動(藉由停止時脈信號抑或斷電)個別功能區塊或其部分。
現轉至圖2,展示處理器200之實施例的方塊圖。在所說明實施例中,處理器200包括提取控制單元201、指令快取記憶體202、解碼單元204、映射器209、排程器206、暫存器檔案207、執行核心208及介面單元211。提取控制單元201經耦接以提供用於自指令快取記憶體202進行提取的程式計數器位址(PC)。指令快取記憶體202經耦接以提供指令(與PC一起)至解碼單元204,解碼單元204經耦接以將經解碼指令操作(操作,再次與PC一起)提供至映射器205。指令快取記憶體202經進一步組態以提供命中指示及ICache PC至提取控制單元201。映射器205經耦接以提供操作、排程器編號(SCH#)、源運算元編號(SO#)、一或多個相依性向量及PC至排程器206。排程器206經耦接以自執行核心208接收重新執行、誤預測及異常指示,經耦接以提供重導向指示且重導向PC至提取控制單元201及映射器205,經耦接至暫存器檔案207,且經耦接以提供用於執行的操作至執行核心208。暫存器檔案經耦接以提供運算元至執行核心208,且經耦接以自執行核心208接收待寫入至暫存器檔案207的結果。執行核心208耦接至介面單元211,其進一步耦接至處理器200之外部介面。
提取控制單元201可經組態以產生針對指令快取記憶體202的提取PC。在一些實施例中,提取控制單元201可包括一或多個類型之分支預測器212。舉例而言,提取控制單元202可包括經組態以預測間接分支指令之目標位址的間接分支目標預測器、經組態以預測條件分支之結果的條件分支預測器,及/或任何其他合適類型之分支預測器。
在操作期間,提取控制單元201可基於所選擇之分支預測器的輸出來產生提取PC。若預測稍後證明為不正確的,則提取控制單元201可經重導向以自不同位址進行提取。當產生提取PC時,在缺少非順序分支目標(亦即,至非順序位址的分支或其他重導向,不管為推測式抑或非推測式的)情況下,提取控制單元201可產生作為當前PC值的順序函數的提取PC。舉例而言,取決於在給定時間自指令快取記憶體202提取多少個位元組,提取控制單元201可藉由將已知偏移添加至當前PC值來產生順序提取PC。
指令快取記憶體202可為用於儲存待由處理器200執行之指令的快取記憶體。指令快取記憶體202可具有任何容量及構造(例如,直接映射、集合關聯性的,完全關聯性的等)。指令快取記憶體202可具有任何快取行大小。舉例而言,可在一實施例中實施64位元組快取行。其他實施例可使用較大或較小快取行大小。回應於來自提取控制單元201之給定PC,指令快取記憶體202可輸出高達最大數目個指令。預期到,處理器200可實施諸如PowerPCTM或x86 ISA的任何合適指令集架構(ISA),或其組合。
在一些實施例中,處理器200可實施使得一或多個虛擬位址空間對於執行軟體可見的轉譯方案。(例如)使用頁表集合、區段或其他虛擬記憶體轉譯方案,將虛擬位址空間內之記憶體存取轉譯成對應於可用於系統之實際實體記憶體的實體位址空間。在使用位址轉譯的實施例中,指令快取記憶體14可使用實體位址位元而非虛擬位址位元來部分或完全定址。舉例而言,指令快取記憶體202可將虛擬位址位元用於快取編索引且將實體位址位元用於快取標籤。
為了在執行快取記憶體存取時避免執行完全記憶體轉譯的成本,處理器200可將一組新近及/或頻繁使用之虛擬至實體位址轉譯儲存於轉譯後備緩衝器(TLB),諸如指令TLB(ITLB)203中。在操作期
間,ITLB 203(其可實施為快取記憶體、實施為內容可定址記憶體(CAM)或使用任何其他合適電路結構實施)可接收虛擬位址資訊,且判定有效轉譯是否存在。若有效轉譯存在,則ITLB 203可提供對應實體位址位元至指令快取記憶體202。若有效轉譯不存在,則ITLB 203可例如藉由引發虛擬記憶體異常來使得轉譯被判定。
解碼單元204可通常經組態以將指令解碼成指令操作(op)。通常,指令操作可係包括於執行核心208中之硬體能夠執行的操作。每一指令可轉譯至一或多個指令操作,該等操作在執行時導致針對該指令定義的根據藉由處理器200實施之指令集架構執行的操作。在一些實施例中,每一指令可解碼成單一指令操作。解碼單元204可經組態以識別指令類型、源運算元等,且經解碼指令操作可包括指令連同解碼資訊中的一些。在每一指令轉譯成單一操作的其他實施例中,每一操作可僅係對應指令或其部分(例如,指令的一或多個作業碼欄位)。在指令與操作之間存在一對一對應的一些實施例中,解碼單元204及映射器205可經組合,及/或解碼及映射操作可在一個時脈循環中發生。在其他實施例中,一些指令可解碼成多個指令操作。在一些實施例中,解碼單元204可包括電路及/或微編碼之任何組合以便產生指令的操作。舉例而言,相對簡單之操作產生(例如,每指令一或兩個操作)可在硬體中處置,而更廣泛之操作產生(例如,一指令有三個以上操作)可以微碼來處置。
由解碼單元204產生之操作可經提供至映射器205。映射器205可實施重新命名以將來自操作的源暫存器位址映射至識別經重新命名的源暫存器的源運算元編號(SO#)。另外,映射器205可經組態以指派排程器輸入項以儲存由SCH#識別的每一操作。在實施例中,SCH#亦可經組態以識別指派給操作之目的地的重新命名暫存器。在其他實施例中,映射器205可經組態以指派單獨的目的地暫存器編號。另外,映
射器205可經組態以產生操作的相依性向量。相依性向量可識別給定操作依賴於的操作。在實施例中,相依性由對應操作的SCH#來指示,且相依性向量位元位置可對應於SCH#。在其他實施例中,可基於暫存器編號來記錄相依性,且相依性向量位元位置可對應於暫存器編號。
映射器205可提供操作連同針對每一操作之SCH#、SO#、PC及相依性向量至排程器206。排程器206可經組態以將操作儲存於由各別SCH#連同SO#及PC識別的排程器輸入項中。排程器可經組態以將相依性向量儲存於相依性陣列中,該相依性陣列評估哪些操作對於排程係合格的。排程器206可經組態以排程操作以供在執行核心208中執行。當排程操作時,排程器206可經組態以自暫存器檔案207讀取其源運算元,且源運算元可經提供至執行核心208。執行核心208可經組態以將更新暫存器的操作之結果傳回至暫存器檔案207。在一些狀況下,執行核心208可轉遞結果,該結果將被寫入至暫存器檔案207,替代自暫存器檔案207讀取的值(例如,在相依操作之背對背排程的狀況下)。
執行核心208亦可經組態以在操作之執行期間偵測可被報告給排程器的各種事件。分支操作可能被誤預測,且一些載入/儲存操作可被重新執行(例如,在正被寫入/讀取之資料發生基於位址之衝突時)。可偵測到各種異常(例如,針對記憶體存取或以非特權模式執行之特權指令的保護異常、針對無位址轉譯之異常等)。異常可使得執行對應異常處置常式。
執行核心208可經組態以執行預測分支操作,且可接收所預測目標位址,該等目標位址最初被提供至提取控制單元201。執行核心208可經組態以自分支操作之運算元計算目標位址,且比較所計算之目標位址與所預測目標位址以偵測正確預測或誤預測。執行核心208亦可
評估關於分支操作進行的任何其他預測,諸如,分支操作之方向的預測。若偵測到誤預測,則執行核心208可發信:提取控制單元201應被重導向至正確提取目標。諸如排程器206、映射器205及解碼單元204的其他單元可清空來自推測式指令串流的在誤預測分支之後或依賴於誤預測分支的待決操作/指令。
執行核心可包括資料快取記憶體209,其可係用於儲存待由處理器200處理的資料之快取記憶體。類似於指令快取記憶體202,資料快取記憶體209可具有任何合適容量、構造或行大小(例如,經直接映射、集合關聯性的、完全關聯性的等)。此外,資料快取記憶體209在此等細節中之任一者上可不同於指令快取記憶體202。如同指令快取記憶體202一樣,在一些實施例中,資料快取記憶體209可使用實體位址位元來部分或完全地定址。對應地,可提供資料TLB(DTLB)210以快取虛擬至實體位址轉譯,從而用於以類似於上文關於ITLB 203所描述的方式來存取資料快取記憶體209。請注意,儘管ITLB 203及DTLB 210可執行類似功能,但在各種實施例中,ITLB 203及DTLB 210可不同地實施。舉例而言,ITLB 203及DTLB 210可儲存不同數目個轉譯及/或不同轉譯資訊。
暫存器檔案207可通常包括可用以儲存運算元及在處理器200中執行之操作之結果的任何暫存器集合。在一些實施例中,暫存器檔案207可包括實體暫存器集合,且映射器205可經組態以將邏輯暫存器映射至實體暫存器。邏輯暫存器可包括由處理器200實施之指令集架構所指定的架構化暫存器及可用作操作之臨時結果的目的地(且亦為後續操作的源)的臨時暫存器兩者。在其他實施例中,暫存器檔案207可包括以下兩者:含有邏輯暫存器之經提交狀態的架構化暫存器集合,及含有推測式暫存器狀態的推測式暫存器集合。
節流邏輯213可通常包括用於判定正經由排程器206發佈之某些
類型之指令的數目及經由節流介面將所收集資料發送至節流控制電路的電路。在一些實施例中,節流邏輯213可包括含有對應於待計數之指令類型之輸入項的表。表可實施為暫存器檔案、本端記憶體,或任何其他合適儲存電路。另外,節流邏輯213可經由節流介面自節流控制電路接收控制信號。控制信號可允許節流邏輯213調整在排程器206內排程指令的方式,以便限制可執行的某些類型之指令的數目。
介面單元211可通常包括用於將處理器200介接至在外部介面上的其他裝置的電路。外部介面可包括任何類型之互連件(例如,匯流排、封包等)。若處理器200與一或多個其他組件整合(例如,系統單晶片組態),則外部介面可為晶片上互連件。若處理器200並未與其他組件整合,則外部介面可係至外部電路之晶片外互連件。在各種實施例中,處理器200可實施任何指令集架構。
轉至圖3,說明多處理器系統的實施例。在所說明實施例中,系統300包括處理器核心301、處理器核心303及節流電路302。舉例而言,在一些實施例中,系統300可包括於SoC中,諸如如說明於圖1中的SoC 100。在其他實施例中,處理器核心301及303可對應於如描繪於在圖1中說明之實施例中的SoC 100之處理器101。
處理器核心301包括節流電路304,且處理器核心包括節流電路305。在一些實施例中,節流電路304及節流電路305可分別偵測處理器核心301及處理器核心303中高功率指令的發佈。高功率指令可包括來自由處理器支援之指令集中的先前已識別為在執行期間產生高功率消耗的一或多個指令。舉例而言,浮點(FP)、單一指令多資料(SIMD)指令類型可具有用於在多循環潛時期間處理向量元素的廣泛資料單工通道。此等廣泛資料單工通道上之資料轉變可在此指令之執行期間造成高切換功率。
保留站304及305可分別傳輸指示處理器核心301及303的待決指令之數目及類型的資訊至節流電路302。節流電路302可基於自節流電路304及305接收之資訊估計由處理器核心301及處理器核心303消耗的功率。基於功率估計,節流電路302限制(本文中亦稱作「節流」)在處理器核心301及處理器核心303中發佈之高功率指令的數目。在一些實施例中,節流電路302可取決於接收自保留站304及305之資訊而調整可在即將來臨之循環中發佈的指令之數目。指令之數目可回應於待決指令而增加或減低,以便限制功率消耗的快速改變。經由限制功率消耗之快速改變,一些實施例可避免封裝子系統中的諧振點,藉此減少電源供應器電壓的瞬時減少(通稱為「下降」或「電源供應下降」)。
在一些實施例中,節流控制電路302可針對處理器核心301及處理器核心303兩者的待發佈指令數目設定相同限制。在其他實施例中,節流控制電路302可針對處理器核心301的待發佈指令數目設定一個限制,且針對處理器核心303的待發佈指令數目設定不同限制。
請注意,說明於圖3中之系統的實施例僅為實例。在其他實施例中,可使用不同數目個處理器核心及節流控制電路。
在圖4中說明節流控制電路的實施例。在一些實施例中,節流控制電路400可對應於如說明於圖3中之系統300的節流控制電路302。在所說明實施例中,節流控制電路400包括平均功率計算器402、控制邏輯403、功率計數器404,及循環計數器405。
在各種實施例中,平均值計算器402可經組態以基於由一或多個處理器核心(例如,如說明於圖3中的處理器核心301及303)發佈之指令來維持所消耗功率的移動平均值。在一些實施例中,每一所接收指令的功率資訊亦可接收自保留站,諸如如說明於圖3中的保留站304或305。移動平均值408可在預定數目個處理器循環上進行累積。在一些
實施例中,累積移動平均值所在之循環的數目可在操作期間發生變化。在一些實施例中,線性回饋移位暫存器(LFSR)或任何其他合適順序邏輯電路可由平均值計算器402使用,以避免混淆效應(亦即,不能在所發佈指令之功率值之間進行區分)。在各種實施例中,平均值計算器402可實施為專用順序邏輯電路或任何其他合適處理元件。
在各種實施例中,功率計數器404可經組態以追蹤在循環窗期間消耗的功率信用額度之數目。循環窗可包括處理器的一或多個處理循環。在各種實施例中,包括於循環窗中之循環的數目可係可在單一循環內執行的指令之最大數目的函數。在一些實施例中,功率計數器404可經組態以自功率信用額度之預定數目倒數,該預定計數可藉由諸如控制電路403之控制電路產生,且經由功率信用額度信號410發送至功率計數器404。在其他實施例中,功率計數器404可經組態以計數至預定值。當功率計數器404偵測到諸如預定功率信用額度已遞減至零的結束條件時,最大功率信號409可被確證。
如本文中所描述且使用之計數器可為順序邏輯電路的特定實施例,該順序邏輯電路經設計而以預定次序在一組預定義邏輯狀態之間轉變,以便記錄特定事件或程序已發生的次數。計數器可根據諸如非同步漣波計數器、同步計數器、環式計數器及其類似者的各種設計樣式中的一者來實施。在一些實施例中,計數器可經組態,使得計數器之值可被重設或初始化為已知值。在各種實施例中,重設或初始化可以同步或非同步方式執行。
在各種實施例中,循環計數器405可經組態以記錄處理器之處理循環已發生的次數。在一些實施例中,循環計數器405可在完成每一處理循環時遞增,直至已完成了預定數目個循環(「循環窗」),在該點處,循環計數器405可確證循環窗完成信號412。在各種實施例中,循環之預定數目可由控制電路403調整。
在各種實施例中,控制電路403可經組態以回應於功率計數器404經由最大功率信號409發信而產生阻止發佈命令413。在一些實施例中,阻止發佈命令413可發信至一或多個保留站以防止處理器內指令的進一步發佈。如下文參看圖6及圖7將描述,控制電路403可經進一步組態以調整在給定循環窗期間可被消耗之功率信用額度的預定最大數目。在一些實施例中,控制電路403可接收移動平均值408,可結合時脈發佈命令413之當前狀態、來自先前循環窗之阻止發佈命令413的狀態及當前功率模式而使用移動平均值408以判定對功率信用額度之預定最大數目的調整。
可根據各種設計式樣中的一者來實施控制電路403。在一些實施例中,控制電路403可實施為專用邏輯電路,而在其他實施例中,控制電路403可實施為執行儲存於記憶體(圖中未示)中之程式指令的通用處理器。
請注意,說明於圖4中之實施例僅為實例。在其他實施例中,不同功能區塊或功能區塊的不同組態係可能的,且被預期到。
轉至圖5,說明描繪一種操作包括於運算系統中的諸如節流電路400之節流電路之方法的流程圖。共同參考如說明於圖4中之節流電路400及描繪於圖5中的流程圖,方法於區塊501中開始。循環計數器405可接著經初始化(區塊502)。在一些實施例中,控制電路403可將開始值載入至循環計數器405中,而在其他實施例中,循環計數器405可經組態以回應於來自控制電路403的命令而重設。
一旦循環計數器403已被初始化,便可接著初始化功率計數器404(區塊503)。在各種實施例中,功率信用額度之預定最大數目可由控制電路403載入至功率計數器404中。可針對每一循環窗將功率信用額度之不同最大數目載入至功率計數器404(亦即,兩個或兩個以上處理循環的集合)中。方法接著取決於已被處理的循環之數目(區塊
504)。
當循環計數器405之值等於循環之預定數目時,循環窗已完成,且方法可自如上文所描述的區塊502繼續。當循環計數器405之值小於循環之預定數目時,方法可接著取決於控制電路403是否已啟動阻止發佈命令413(區塊505)。當阻止發佈命令413已被啟動時,可接著使循環計數器405遞增(區塊509)。在一些實施例中,可以同步方式使循環計數器405遞增,而在其他實施例中,可以非同步方式使循環計數器405遞增。一旦已使循環計數器405遞增,方法便可接著如上文參看區塊504所描述而繼續。
當尚未確證阻止發佈命令413時,可接著發佈指令(區塊506)。在一些實施例中,可發佈來自包括於各別處理器內之各別保留站的多個指令。可接著回應於指令之發佈而使功率計數器404遞減(區塊507)。在各種實施例中,所發佈指令亦可由平均值計算器402使用,以更新由運算系統消耗的功率之運行平均值,如下文參看圖7更詳細地描述。
一旦功率計數器404已被遞減,控制電路403可確證阻止發佈命令413以防止在當前循環窗之剩餘部分期間發佈任何其他指令(區塊508)。在一些實施例中,阻止發佈命令413可保持被確證,直至當前循環窗的結束,在該點處,諸如正反器或鎖存器的儲存電路之邏輯狀態可被改變以指示阻止發佈命令413已被確證。儲存電路之狀態可接著用於調整功率信用額度之最大數目的值,如下文參看圖7更詳細地描述。一旦已確證了阻止發佈命令413,方法便可接著自如上文所描述之區塊509繼續。
請注意,說明於圖5中之方法僅為實例。在其他實施例中,不同操作及不同操作次序係可能的,且被預期到。
在圖6中描繪一種用於調整諸如如說明於圖4中之節流電路400之
節流電路的最大功率信用額度之數目以調整功率臨限值的方法之實施例。共同參考節流電路及說明於圖6中的流程圖,方法在區塊601中開始。可接著處理循環窗(區塊602)以判定指令之進一步發佈是否需要被阻止或中斷。在一些實施例中,可使用描繪於在圖5中所說明之流程圖中的方法來處理循環窗。在其他實施例中,可使用處理循環窗的其他方法。
一旦已處理了循環窗,控制邏輯403便可接著檢查,以判定是否已阻止了指令發佈(區塊603)。當判定在循環窗(例如,諸如如在圖1中說明之SoC 100之處理器101的一或多個處理器的數個處理循環)期間,無指令被阻止,則方法終止(區塊606)。在一些實施例中,判定指令之發佈是否被阻止可係回應於功率信用額度之數目大於預定臨限值。在各種實施例中,預定臨限值可為零信用額度,或任何其他合適臨限值。
當判定在循環窗之過程期間阻止了指令之發佈,則方法可取決於在背對背循環中量測之功率信用額度的數目是否大於預定臨限限制(區塊604)。在一些實施例中,背對背臨限值可為零,或任何其他合適值。當背對背功率信用額度之數目小於預定臨限限制時,方法可終止(區塊606)。
當背對背功率信用額度之數目大於或等於預定臨限限制時,下一循環窗之功率信用額度的數目可接著得以增加(區塊604)。在一些實施例中,功率信用額度的新數目可被載入至功率計數器404中,或能夠隨著信用額度經由指令之執行被消耗而追蹤功率信用額度之數目的任何其他合適邏輯電路。
在一些實施例中,功率信用額度之數目可增加預定值。在各種實施例中,預定值可取決於在給定處理器循環內可執行的指令之最大數目。在其他實施例中,最大功率位準可被劃分成數個功率位準(本
文中亦被稱作「臨限位準」或「功率臨限值」),使得每一功率位準可對應於一數目之功率信用額度。
一旦已判定出了功率信用額度之新數目,則方法可接著在區塊605中終止。請注意,描繪於在圖6中說明之流程圖中的方法僅為實例。在其他實施例中,不同操作及不同操作次序係可能的,且被預期到。
轉至圖7,描繪用於調整諸如包括於運算系統中之節流電路400的節流電路的功率信用額度之最大數目的另一方法。共同參考圖4之節流電路400及說明於圖7中的流程圖,方法在區塊701中開始。平均值計算器402可接著更新當前功耗的移動平均值(區塊702)。在一些實施例中,平均值計算器402可接收已自保留站發佈的指令,而在其他實施例中,亦可接收每一所接收指令的功率值。在各種實施例中,平均值計算器402可使用線性回饋移位暫存器或其他合適順序邏輯以使計算運行平均值所在的循環之數目發生變化。在一些實施例中,使用判定運行平均值所在之變化數目個循環可減少各種所發佈指令之功率數變得不可區分(通稱為「混淆效應」)的情形。
一旦已更新了功率之運行平均值,方法便可接著取決於系統之當前操作狀態(區塊703)。當控制電路402判定系統已以其最低功率模式操作時,方法可接著在區塊708中終止。當控制電路403判定系統並非正以其最低功率模式操作時,方法可接著取決於在先前循環窗中是否執行了指令節流(亦即,一或多個指令之發佈被阻止)(區塊704)。在一些實施例中,可在判定中使用緊接在當前循環窗之前的循環窗,而在其他實施例中,可在多個先前循環窗中檢驗指令節流。
當控制電路402判定在先前循環窗中執行了指令節流時,方法可接著在區塊708中終止。當控制電路403判定並未在先前循環窗中執行指令節流時,方法可接著取決於在當前循環窗中是否正執行指令節流
(區塊705)。在控制電路403判定在當前循環窗中正在執行指令節流的狀況下,方法可接著在區塊708中終止。
在並非正在當前循環窗中執行指令節流的情形下,方法可接著取決於功率之運行平均值與較低功率模式之間的比較(區塊706)。在一些實施例中,較低功率模式可係多個功率模式中的一者,該等功率模式中之每一者可對應於可在循環窗內消耗之功率信用額度的最大數目。功率信用額度之每一可能最大數目可對應於可在循環窗內發佈之指令的數目。當控制電路403判定功率之運行平均值大於或等於所要較低功率位準時,方法可接著在區塊707中終止。然而,若控制電路403判定,功率之運行平均值小於所要較低功率位準,則控制電路403可接著降低功率臨限值(區塊707)。在一些實施例中,較低功率臨限值可對應於可在循環窗期間消耗的功率信用額度之最大數目。在各種實施例中,控制電路403在下一循環窗開始時可將對應於較低功率臨限值之功率信用額度的最大數目載入至功率計數器404中。一旦已減低了功率臨限值,方法便可在區塊708中終止。
請注意,在圖7之流程圖中說明的方法之操作被描繪為以順序方式執行。在其他實施例中,操作中之一或多者可並行地執行。
對於熟習此項技術者而言,一旦已完全瞭解上述揭示內容,眾多變化及修改便將變得顯而易見。意欲將以下申請專利範圍解釋為涵蓋所有此等變化及修改。
400‧‧‧節流控制電路
402‧‧‧平均功率計算器
403‧‧‧控制邏輯
404‧‧‧功率計數器
405‧‧‧循環計數器
408‧‧‧移動平均值
409‧‧‧最大功率信號
410‧‧‧功率信用額度信號
412‧‧‧循環窗完成信號
413‧‧‧阻止發佈命令
Claims (20)
- 一種用於控制電流之設備,其包含:一第一計數器,其經組態以對功率信用額度之一數目進行計數;一第二計數器,其經組態以回應於一處理器之一處理循環的完成而遞增;一控制電路,其耦接至該第一計數器及該第二計數器,其中該控制電路經組態以:初始化該第一計數器至一最大功率信用額度值;初始化該第二計數器;偵測該處理器中一指令的一發佈;取決於偵測到該指令之該發佈而使該第一計數器遞減;取決於該第一計數器之一值達到一預定最小值而阻止該處理器發佈指令;取決於該第二計數器之一值而重設該第一計數器;及回應於判定該第二計數器之該值大於一預定值而重設該第二計數器;及一平均功率計算單元,其經組態以:取決於由該處理器在一數目個處理循環上所發佈之一或多個指令而計算一運行平均功率值;及在該運行平均功率值之連續計算之間變化該等處理循環之該數目;其中該控制電路經進一步組態以取決於該運行平均功率值而調整該最大功率信用額度值。
- 如請求項1之設備,其中為了取決於該一或多個指令而計算該平 均功率值,該平均功率計算單元經進一步組態以取決於相關聯於該一或多個指令之每一者之功率資訊而計算該運行平均功率值。
- 如請求項1之設備,其中為了阻止該處理器發佈指令,該控制電路經進一步組態以發送至少一信號至包括於該處理器中的一保留站。
- 如請求項1之設備,其中該平均功率計算單元經進一步組態以使用一線性回饋移位暫存器所產生之一值以判定該運行平均功率值之該連續計算之間之該等處理循環之該數目。
- 如請求項1之設備,其中為調整該最大功率信用額度值,該控制電路經進一步組態以取決於阻止該處理器發佈指令之一判定而增加該最大功率信用額度值。
- 如請求項1之設備,其中為調整該最大功率信用額度值,該控制電路經進一步組態以取決於該運行平均功率值及一電流操作模式而減低該最大功率信用額度值。
- 如請求項1之設備,其進一步包含一功率權重單元,該功率權重單元耦接至該平均功率計算單元,其中該功率權重單元經組態以按比例調整該一或多個指令之一功率值。
- 一種用於控制電流之方法,其包含:藉由功率信用額度之一最大數目初始化功率信用額度的一數目;判定一循環窗尚未完成;判定指令發佈未被阻止;取決於該判定該循環窗尚未完成及該判定指令發佈未被阻止而發佈一或多個指令;回應於該一或多個指令之該發佈而使功率信用額度之該數目 遞減;回應於判定功率信用額度之該數目小於或等於一預定臨限值而啟動指令的阻止;回應於判定該循環窗已完成而重設功率信用額度之該數目為功率信用額度的該最大數目;取決於在一數目個處理循環上之該一或多個指令而計算一運行平均功率值;在該運行平均功率值之連續計算之間變化該等處理循環之該數目;及取決於該平均功率值而調整功率信用額度之該最大數目。
- 如請求項8之方法,其中取決於該一或多個指令而計算該運行平均功率值進一步包含取決於相關聯於該一或多個指令之每一者之功率資訊而計算該運行平均功率值。
- 如請求項8之方法,其中計算該運行平均功率值包含:按比例調整該一或多個指令中之每一指令的一功率值。
- 如請求項8之方法,其中調整功率信用額度之該最大數目包含回應於啟動指令發佈之該阻止而使功率信用額度之該最大數目增加。
- 如請求項8之方法,其中變化該等處理循環之該數目包含基於一線性回饋移位暫存器所產生之一值判定該處理循環之該數目。
- 如請求項12之方法,其中使功率信用額度之該最大數目減低進一步取決於啟動指令發佈之該阻止是否在一先前循環窗期間發生。
- 如請求項13之方法,其中使功率信用額度之該最大數目減低進一步取決於在一當前循環窗期間判定啟動指令發佈之該阻止。
- 一種用於控制電流之系統,其包含: 一第一處理器;一第二處理器;及一節流控制電路,其中該節流控制電路經組態以:判定一循環窗尚未完成;判定指令發佈未被阻止;取決於該判定該循環窗尚未完成且該判定指令發佈未被阻止而發佈一或多個指令;回應於該一或多個指令之該發佈而使可用功率信用額度的一數目遞減;回應於判定可用功率信用額度之該數目小於一預定臨限值而啟動指令發佈的阻止;回應於判定該循環窗已完成而重設可用功率信用額度的該數目至功率信用額度之一最大數目;取決於在一數目個處理循環上之該一或多個指令而計算一運行平均功率值;在該運行平均功率值之連續計算之間變化該等處理循環之該數目;及取決於該運行平均功率值而調整功率信用額度之該最大數目。
- 如請求項15之系統,其中為了使該等處理循環之該數目變化,該節流控制電路經進一步組態以使用一線性回饋移位暫存器產生一值以作為該處理循環之該數目而使用。
- 如請求項15之系統,其中為了重設可用功率信用額度的該數目,該節流控制電路經進一步組態以重設該第一處理器之可用功率信用額度的該數目至功率信用額度之一第一最大數目及重設該第二處理器之可用功率信用額度的該數目至功率信用額度 之一第二最大數目,其中該第一最大數目與該第二最大數目是不同的。
- 如請求項15之系統,其中為了判定該循環窗已完成,該節流控制電路經進一步組態以比較一第二計數器的一值與一最大循環數目。
- 如請求項15之系統,其中為取決於該一或多個指令而計算該運行平均功率值,該節流控制電路經進一步組態以取決於相關聯於該一或多個指令之每一者之功率資訊而計算該運行平均功率值。
- 如請求項15之系統,其中為了計算該平均功率值,該節流電路經進一步組態以按比例調整該所發佈之一或多個指令中之每一指令的一功率值。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/948,843 US20150033045A1 (en) | 2013-07-23 | 2013-07-23 | Power Supply Droop Reduction Using Feed Forward Current Control |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201516649A TW201516649A (zh) | 2015-05-01 |
TWI564707B true TWI564707B (zh) | 2017-01-01 |
Family
ID=51298980
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW103124992A TWI564707B (zh) | 2013-07-23 | 2014-07-21 | 用於控制電流之設備、方法及系統 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20150033045A1 (zh) |
TW (1) | TWI564707B (zh) |
WO (1) | WO2015013080A1 (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9134778B2 (en) * | 2012-11-21 | 2015-09-15 | International Business Machines Corporation | Power distribution management in a system on a chip |
US9134779B2 (en) * | 2012-11-21 | 2015-09-15 | International Business Machines Corporation | Power distribution management in a system on a chip |
US10114435B2 (en) * | 2013-12-23 | 2018-10-30 | Intel Corporation | Method and apparatus to control current transients in a processor |
US9606602B2 (en) * | 2014-06-30 | 2017-03-28 | Intel Corporation | Method and apparatus to prevent voltage droop in a computer |
US9916087B2 (en) | 2014-10-27 | 2018-03-13 | Sandisk Technologies Llc | Method and system for throttling bandwidth based on temperature |
US9880605B2 (en) * | 2014-10-27 | 2018-01-30 | Sandisk Technologies Llc | Method and system for throttling power consumption |
US9847662B2 (en) | 2014-10-27 | 2017-12-19 | Sandisk Technologies Llc | Voltage slew rate throttling for reduction of anomalous charging current |
US10073659B2 (en) * | 2015-06-26 | 2018-09-11 | Intel Corporation | Power management circuit with per activity weighting and multiple throttle down thresholds |
US10345883B2 (en) * | 2016-05-31 | 2019-07-09 | Taiwan Semiconductor Manufacturing Co., Ltd. | Power estimation |
US10613611B2 (en) | 2016-06-15 | 2020-04-07 | Intel Corporation | Current control for a multicore processor |
US10452117B1 (en) * | 2016-09-22 | 2019-10-22 | Apple Inc. | Processor energy management system |
US10656700B2 (en) * | 2017-07-10 | 2020-05-19 | Oracle International Corporation | Power management in an integrated circuit |
US11409349B2 (en) | 2019-05-23 | 2022-08-09 | Arm Limited | Power management |
US11397458B2 (en) * | 2019-05-23 | 2022-07-26 | Arm Limited | Balancing high energy events |
US11416056B2 (en) | 2020-09-18 | 2022-08-16 | Apple Inc. | Power sense correction for power budget estimator |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6262603B1 (en) * | 2000-02-29 | 2001-07-17 | National Semiconductor Corporation | RC calibration circuit with reduced power consumption and increased accuracy |
US7930578B2 (en) * | 2007-09-27 | 2011-04-19 | International Business Machines Corporation | Method and system of peak power enforcement via autonomous token-based control and management |
US20120254595A1 (en) * | 2009-12-14 | 2012-10-04 | Fujitsu Limited | Processor, information processing apparatus and control method thereof |
US20120331282A1 (en) * | 2011-06-24 | 2012-12-27 | SanDisk Technologies, Inc. | Apparatus and methods for peak power management in memory systems |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6507530B1 (en) * | 2001-09-28 | 2003-01-14 | Intel Corporation | Weighted throttling mechanism with rank based throttling for a memory system |
US6931559B2 (en) * | 2001-12-28 | 2005-08-16 | Intel Corporation | Multiple mode power throttle mechanism |
US7174469B2 (en) * | 2003-09-30 | 2007-02-06 | International Business Machines Corporation | Processor power and energy management |
US20090171646A1 (en) * | 2004-08-31 | 2009-07-02 | Freescale Semiconductor , Inc. | Method for estimating power consumption |
US8074057B2 (en) * | 2005-03-08 | 2011-12-06 | Hewlett-Packard Development Company, L.P. | Systems and methods for controlling instruction throughput |
US7353414B2 (en) * | 2005-03-30 | 2008-04-01 | Intel Corporation | Credit-based activity regulation within a microprocessor based on an allowable activity level |
US7669071B2 (en) * | 2006-05-05 | 2010-02-23 | Dell Products L.P. | Power allocation management in an information handling system |
JP4794370B2 (ja) * | 2006-06-20 | 2011-10-19 | 株式会社日立製作所 | 省電力とパフォーマンスを両立したストレージシステム及び記憶制御方法 |
US8050177B2 (en) * | 2008-03-31 | 2011-11-01 | Intel Corporation | Interconnect bandwidth throttler |
US7937563B2 (en) * | 2008-05-27 | 2011-05-03 | Advanced Micro Devices, Inc. | Voltage droop mitigation through instruction issue throttling |
US8510582B2 (en) * | 2010-07-21 | 2013-08-13 | Advanced Micro Devices, Inc. | Managing current and power in a computing system |
US8862924B2 (en) * | 2011-11-15 | 2014-10-14 | Advanced Micro Devices, Inc. | Processor with power control via instruction issuance |
US9081504B2 (en) * | 2011-12-29 | 2015-07-14 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Write bandwidth management for flash devices |
US9430242B2 (en) * | 2012-04-02 | 2016-08-30 | Nvidia Corporation | Throttling instruction issue rate based on updated moving average to avoid surges in DI/DT |
CN102789439B (zh) * | 2012-06-16 | 2016-02-10 | 北京忆恒创源科技有限公司 | 控制数据传输过程中的中断的方法与存储设备 |
US9235665B2 (en) * | 2012-10-10 | 2016-01-12 | Sandisk Technologies Inc. | System, method and apparatus for handling power limit restrictions in flash memory devices |
US9411395B2 (en) * | 2013-04-18 | 2016-08-09 | Intel Corporation | Method and apparatus to control current transients in a processor |
-
2013
- 2013-07-23 US US13/948,843 patent/US20150033045A1/en not_active Abandoned
-
2014
- 2014-07-16 WO PCT/US2014/046865 patent/WO2015013080A1/en active Application Filing
- 2014-07-21 TW TW103124992A patent/TWI564707B/zh active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6262603B1 (en) * | 2000-02-29 | 2001-07-17 | National Semiconductor Corporation | RC calibration circuit with reduced power consumption and increased accuracy |
US7930578B2 (en) * | 2007-09-27 | 2011-04-19 | International Business Machines Corporation | Method and system of peak power enforcement via autonomous token-based control and management |
US20120254595A1 (en) * | 2009-12-14 | 2012-10-04 | Fujitsu Limited | Processor, information processing apparatus and control method thereof |
US20120331282A1 (en) * | 2011-06-24 | 2012-12-27 | SanDisk Technologies, Inc. | Apparatus and methods for peak power management in memory systems |
Also Published As
Publication number | Publication date |
---|---|
US20150033045A1 (en) | 2015-01-29 |
TW201516649A (zh) | 2015-05-01 |
WO2015013080A1 (en) | 2015-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI564707B (zh) | 用於控制電流之設備、方法及系統 | |
US9383806B2 (en) | Multi-core processor instruction throttling | |
US9471322B2 (en) | Early loop buffer mode entry upon number of mispredictions of exit condition exceeding threshold | |
EP2674858B1 (en) | Loop buffer learning | |
TWI517043B (zh) | 處理器指令發佈節流 | |
EP2674857B1 (en) | Loop buffer packing | |
US8555040B2 (en) | Indirect branch target predictor that prevents speculation if mispredict is expected | |
US11210099B2 (en) | Persistent commit processors, methods, systems, and instructions | |
US9672037B2 (en) | Arithmetic branch fusion | |
US10001998B2 (en) | Dynamically enabled branch prediction | |
US9996127B2 (en) | Method and apparatus for proactive throttling for improved power transitions in a processor core | |
US9311100B2 (en) | Usefulness indication for indirect branch prediction training | |
US9823723B2 (en) | Low-overhead process energy accounting | |
CN110637285A (zh) | 用于低功率定序器的高级直通机制 |