TW202318152A - Power management based on limiting hardware-forced power control - Google Patents
Power management based on limiting hardware-forced power control Download PDFInfo
- Publication number
- TW202318152A TW202318152A TW111132676A TW111132676A TW202318152A TW 202318152 A TW202318152 A TW 202318152A TW 111132676 A TW111132676 A TW 111132676A TW 111132676 A TW111132676 A TW 111132676A TW 202318152 A TW202318152 A TW 202318152A
- Authority
- TW
- Taiwan
- Prior art keywords
- power
- circuit
- power control
- components
- integrated circuit
- Prior art date
Links
- 230000000670 limiting effect Effects 0.000 title description 6
- 230000004044 response Effects 0.000 claims description 57
- 238000012545 processing Methods 0.000 claims description 14
- 238000001514 detection method Methods 0.000 claims description 13
- 230000003247 decreasing effect Effects 0.000 claims description 5
- 230000009467 reduction Effects 0.000 abstract description 40
- 238000000034 method Methods 0.000 abstract description 22
- 230000011664 signaling Effects 0.000 abstract description 5
- 230000007246 mechanism Effects 0.000 description 47
- 230000006854 communication Effects 0.000 description 46
- 238000004891 communication Methods 0.000 description 46
- 238000007726 management method Methods 0.000 description 45
- 230000002093 peripheral effect Effects 0.000 description 36
- 230000000694 effects Effects 0.000 description 27
- 238000010586 diagram Methods 0.000 description 24
- 239000004744 fabric Substances 0.000 description 24
- 239000000872 buffer Substances 0.000 description 23
- 230000008901 benefit Effects 0.000 description 18
- 230000006870 function Effects 0.000 description 18
- 230000002829 reductive effect Effects 0.000 description 13
- 238000013461 design Methods 0.000 description 12
- 238000004519 manufacturing process Methods 0.000 description 12
- 238000012546 transfer Methods 0.000 description 12
- 230000000116 mitigating effect Effects 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 8
- 230000036541 health Effects 0.000 description 8
- 230000001419 dependent effect Effects 0.000 description 7
- 230000005611 electricity Effects 0.000 description 6
- 230000003068 static effect Effects 0.000 description 6
- 230000001360 synchronised effect Effects 0.000 description 6
- 230000015556 catabolic process Effects 0.000 description 4
- 230000001427 coherent effect Effects 0.000 description 4
- 238000006731 degradation reaction Methods 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012806 monitoring device Methods 0.000 description 4
- 230000001105 regulatory effect Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 3
- 230000001276 controlling effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 230000001052 transient effect Effects 0.000 description 3
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000003542 behavioural effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 230000007257 malfunction Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 238000004378 air conditioning Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 230000001351 cycling effect Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000010438 heat treatment Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003137 locomotive effect Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000003446 memory effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000013021 overheating Methods 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000029305 taxis Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
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/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
-
- 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/28—Supervision thereof, e.g. detecting power-supply failure by out of limits supervision
-
- 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
- G06F1/3228—Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
-
- 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/3293—Power saving characterised by the action undertaken by switching to a less power-consuming processor, e.g. sub-CPU
-
- 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
Description
本文所述之實施例係關於積體電路中的電力管理,且更具體而言,係關於用於控制至積體電路之電力輸送的觸發電路。Embodiments described herein relate to power management in integrated circuits, and more specifically, to trigger circuits for controlling power delivery to integrated circuits.
無none
無none
圖1係包括耦合至記憶體120及電力管理單元(PMU) 140之系統單晶片(SOC) 110的系統之一個實施例的方塊圖。PMU 140可經組態以供應電力至SOC 110及可包括在系統中的其他組件(諸如,記憶體120)。例如,PMU 140可經組態以產生一或多個供應電壓以供電SOC 110,且可進一步經組態以產生用於圖1未顯示之系統之其他組件的供應電壓。此外,PMU 140(或耦合至PMU 140之伴隨電路系統)可經組態以監測供應電壓,並偵測暫態欠電壓條件、過電流條件、電力限制條件、溫度條件、或可導致SOC 110中之錯誤操作的其他條件。當此類條件發生(例如,SOC 110的電負載超過PMU 140的容量)時,PMU 140可確立至SOC 110的觸發輸出信號。作為一實例,對於電力限制條件,電力可就不同電力常數求取平均數,其中針對不同時間常數有不同電力限制(例如,短平均時間常數可具有高於較長時間平均時間常數的限制),且可基於超過用於不同時間常數之電力限制的任何者而確立觸發。在一些實施例中,可使用電流平方(I
2) RMS約束條件施加電力限制。
FIG. 1 is a block diagram of one embodiment of a system including a system-on-chip (SOC) 110 coupled to memory 120 and a power management unit (PMU) 140 . PMU 140 may be configured to supply power to SOC 110 and other components that may be included in the system, such as memory 120 . For example, PMU 140 may be configured to generate one or more supply voltages to power
在各種實施例中,可經由有線傳輸(例如,兩個組件之間的硬連線介面)或串列通訊介面(例如,雙向通訊介面)將觸發輸出信號傳達至SOC 110。可將有限觸發信號傳輸提供至併入SOC 110中的全域電力控制電路130,可在串列觸發信號傳輸可經由串列控制器124及/或通訊組構170直接提供至處理器引擎(諸如,處理器叢集150、GPU 160、或周邊設備180)的同時接收觸發輸入。串列控制器124可係系統電力管理介面(SPMI),其提供處理器引擎與PMU 140之間的雙向通訊。雖然串列控制器124在圖1中係顯示為通過通訊組構170與處理器引擎通訊,但在各種實施例中,串列控制器124可直接與處理器引擎之一或多者通訊。下文針對圖2所描繪之PMU 140的實施例更詳細地討論有線觸發信號傳輸及串列觸發信號傳輸。雖然SOC實施例係用作本文中之一實例,但可將包含耦合至通訊組構之多個積體電路的系統用於其他實施例中。In various embodiments, the trigger output signal may be communicated to the
顧名思義,SOC 110之組件可整合至單一半導體基材上作為積體電路「晶片」。在所繪示之實施例中,SOC 110之組件包括至少一個處理器叢集150、至少一個圖形處理單元(GPU) 160、一或多個周邊組件(諸如,周邊組件180(更簡短地,「周邊設備」)、至少一個記憶體控制器122、全域電力控制電路130、及通訊組構170。組件150、160、180、122、及130可全部耦合至通訊組構170。記憶體控制器122在使用期間可耦合至記憶體120。在一些實施例中,可存在多於一個經耦合至對應記憶體的記憶體控制器。在此類實施例中,記憶體位址空間可以任何所欲方式跨記憶體控制器映射。在所繪示之實施例中,處理器叢集150可包括複數個處理器(P) 152。處理器152可形成SOC 110的中央處理單元(CPU)。處理器叢集150可進一步包括一或多個處理器(例如,圖1中之共處理器154),該處理器可針對處理器指令集之子集最佳化,且可由處理器152使用以執行子集中之指令。例如,共處理器154可係經最佳化以執行向量及矩陣操作的矩陣引擎。As the name implies, the components of the
如上文所述,處理器叢集150可包括一或多個處理器152,其可充當SOC 110之CPU。系統的CPU包括執行系統之主控制軟體(諸如,作業系統)的(多個)處理器。通常,在使用期間藉由CPU所執行的軟體可控制系統的其他組件,以實現系統的所欲功能。處理器亦可執行其他軟體,諸如應用程式。應用程式可提供使用者功能,且可依靠作業系統以用於較低階的裝置控制、排程、記憶體管理等。因此,處理器亦可稱為應用處理器。As noted above,
通常,處理器可包括任何電路系統及/或微代碼,其經組態以執行由處理器實施之指令集架構中所定義的指令。處理器可涵蓋經實施在積體電路上的處理器核心,其中其他組件作為系統單晶片(SOC 110)或其他積體層級。處理器可進一步涵蓋離散微處理器、處理器核心、及/或經整合至多晶片模組實施方案中之微處理器、經實施為多個積體電路之處理器等。In general, a processor may include any circuitry and/or microcode configured to execute instructions defined in the instruction set architecture implemented by the processor. A processor may encompass a processor core implemented on an integrated circuit with other components as a system-on-chip (SOC 110 ) or other levels of integration. A processor may further encompass discrete microprocessors, processor cores, and/or microprocessors integrated into multi-chip module implementations, processors implemented as multiple integrated circuits, and the like.
記憶體控制器122通常可包括用於從SOC 110之其他組件接收記憶體操作及用於存取記憶體120以完成記憶體操作的電路系統。記憶體控制器122可經組態以存取任何類型的記憶體120。例如,記憶體120可係靜態隨機存取記憶體(SRAM)、動態RAM (DRAM),諸如同步DRAM(SDRAM),其包括雙資料速率(DDR、DDR2、DDR3、DDR4等)DRAM。可支援DDR DRAM之低功率/行動版本(例如,LPDDR、mDDR等)。記憶體控制器122可包括用於記憶體操作的佇列,其等用於將操作排序(及可能重新排序)及將操作提交至記憶體120。記憶體控制器122可進一步包括資料緩衝器,以儲存等候寫入至記憶體的寫入資料及讀取等候返回至記憶體操作來源的資料。在一些實施例中,記憶體控制器122可包括記憶體快取,以儲存最近存取的記憶體資料。在SOC實施方案中,例如,記憶體快取可藉由避免從記憶體120重新存取資料(若預期不久將再次存取該資料)來降低SOC中的電力消耗。在一些情況下,相對於僅服務某些組件之私用快取(諸如L2快取或處理器中的快取),記憶體快取亦可稱為系統快取。額外地,在一些實施例中,系統快取不需位於記憶體控制器122內。
周邊設備180可係SOC 110中所包括的任一組額外硬體功能。例如,周邊設備180可包括視訊周邊設備,諸如經組態以處理來自攝影機或其他影像感測器之影像擷取資料的影像信號處理器、視訊編碼器/解碼器、縮放器、旋轉器、融合器、顯示控制器等。周邊設備可包括音訊周邊設備,諸如麥克風、揚聲器、至麥克風及揚聲器的介面、音訊處理器、數位信號處理器、混音器等。周邊設備可包括用於SOC 110外部之各種介面的介面控制器,其包括諸如通用串列匯流排(USB)的介面、包括快速PCI (PCI Express, PCIe)之周邊組件互連(PCI)、串列及並列埠等。至外部裝置的互連係由圖1的虛線箭頭繪示,其延伸至SOC 110的外部。周邊設備可包括連網周邊設備,諸如媒體存取控制器(MAC)。可包括任一組硬體。
通訊組構170可係任何通訊互連及協定,其用於在SOC 110的組件之間通訊。通訊組構170可係基於匯流排的,包括共用匯流排組態、叉線式(cross bar)組態、及具有橋接器之階層式匯流排。通訊組構170亦可係基於封包的,且可以橋接器、叉線、點對點、或其他互連而係階層式的。Communication fabric 170 may be any communication interconnect and protocol used to communicate between components of
注意:SOC 110之組件數(及圖1中所展示之該些者的子組件數目,諸如在各處理器叢集150中的處理器152)可隨著實施例而變化。此外,當包括多個處理器叢集時,一個處理器叢集150中之處理器152的數目可不同於另一處理器叢集150中之處理器152的數目。可存在比圖1所示之數目更多或更少的各組件/子組件。Note: The number of components of SOC 110 (and the number of subcomponents of those shown in Figure 1, such as
如本文所述,PMU 140可經組態以在偵測到可導致SOC 110中之錯誤操作的各種條件時確立一或多個觸發信號。圖2係PMU 140之一個實施例的方塊圖。在所繪示之實施例中,PMU 140包括電壓調節器142及電力輸送觸發電路144。在某些實施例中,電力輸送觸發電路144經組態以監測電壓調節器142中的供應電壓,且在電壓調節器中偵測到暫態欠電壓條件時提供(多個)觸發信號。例如,當由電壓調節器142提供的供應電壓下降至低於臨限(例如,欠電壓臨限)時,電力輸送觸發電路144可提供觸發信號。As described herein, PMU 140 may be configured to assert one or more trigger signals upon detection of various conditions that may result in erroneous operation in
圖3係PMU 140之另一實施例的方塊圖。在所繪示之實施例中,PMU 140包括電壓調節器142、有線電力輸送觸發電路144、及串列電力輸送觸發電路146。如圖3所示,PMU 140可包括多個電壓調節器142(例如,電壓調節器142A、142B、142C),其等經連接至多組電力輸送觸發電路(例如,有線電力輸送觸發電路144A、144B、144C及串列電力輸送觸發電路146A、146B、146C)。在PMU 140中,可設想任何數目的電壓調節器142、有線電力輸送觸發電路144、及串列電力輸送觸發電路146。電壓調節器142A、142B、142C可表示提供不同供應電壓至SOC 110之不同部分的不同電壓調節器。例如,電壓調節器142A可提供供應電壓至處理器叢集150,而電壓調節器142B提供供應電壓至GPU 160。在各種實施例中,電壓調節器142A、142B、142C可係階層式電力輸送系統(例如,圖9所述之階層式電力輸送系統900)的部分。FIG. 3 is a block diagram of another embodiment of the
如上文所述,有線電力輸送觸發電路144可直接佈線至SOC 110(例如,SOC 110中的全域電力控制電路130),而串列電力輸送觸發電路146可經由串列通訊介面(例如,SPMI)耦合至SOC 110(例如,SOC 110中的通訊組構170)。在各種實施例中,串列電力輸送觸發電路146包括用於(例如,經由串列控制器124)與SOC 110通訊的SPMI。因此,串列電力輸送觸發電路146可能夠與SOC 110雙向通訊,而有線電力輸送觸發電路144提供從有線電力輸送觸發電路144至SOC 110的單向通訊。As noted above, wired power delivery trigger circuit 144 may be routed directly to SOC 110 (eg, global
在某些實施例中,有線電力輸送觸發電路144及串列電力輸送觸發電路146經組態以監測電壓調節器142中之一或多個條件(例如,電壓、電流、或溫度),並在條件超過如由電力輸送觸發電路所判定之各種臨限時提供(多個)觸發信號。可在有線電力輸送觸發電路144或串列電力輸送觸發電路146之任一者中實施快速(大約奈秒)及慢(大約微秒或毫秒)回應之各種實施例。在某些實施例中,於有線電力輸送觸發電路144中實施快速回應,以利用有線連接的高傳輸速度。反之,可在串列電力輸送觸發電路146中實施慢回應,這係因為串列連接提供大約為慢回應的信號傳輸速度。In some embodiments, wired power delivery trigger circuit 144 and serial power delivery trigger circuit 146 are configured to monitor one or more conditions (e.g., voltage, current, or temperature) in
在各種實施例中,串列電力輸送觸發電路146與SOC 110之間的串列連接允許由SOC 110查詢條件。例如,當SOC 110的操作改變或另一事件發生時,則SOC 110可針對條件資訊提供請求。SOC 110可透過串列通訊介面將請求查詢提供給串列電力輸送觸發電路146。串列電力輸送觸發電路146可接著經由透過串列通訊介面回到SOC 110的觸發信號輸出提供條件狀態(諸如,條件值高於或低於臨限)。In various embodiments, a serial connection between the serial power transfer trigger circuit 146 and the
在一些實施例中,當電壓調節器142中所經歷的電負載超過臨限(例如,電壓下降至低於欠電壓臨限)時,提供觸發信號。可例如使用電壓感測元件(諸如,基於電壓之比較器電路)實施電壓臨限比較。基於電壓的比較器電路可係通常用在有線電力輸送觸發電路144中的快速回應電路。在一些實施例中,當電壓調節器142中所經歷的電流超過電流臨限(例如,當電流上升至高於預定義的電流限制)時,提供觸發信號。可藉由輸出電流比較器電路(例如,電流感測元件)來實施電流臨限比較,該等輸出電流比較器電路可係用在例如有線電力輸送觸發電路144中的快速回應電路。在一些預期的實施例中,電流感測能力係經實施以監測電流條件(例如,判定電流是否超過過電流臨限)。電流感測能力可包括例如過濾電流感測能力,其可在慢回應串列電力輸送觸發電路146中實施。在一些實施例中,當電壓調節器142中所經歷的溫度超過預定義溫度時,提供觸發信號,以便防止PMU 140中的過熱。溫度感測對於串列電力輸送觸發電路146一般係慢回應可在溫度感測方案中實施。In some embodiments, the trigger signal is provided when the electrical load experienced in the
上文的描述提供用於此處所述之不同條件之各種回應方案的實例實施例。然而,應理解,回應方案的位置及數目在電壓調節器142、有線電力輸送觸發電路144、及串列電力輸送觸發電路146之間可針對PMU 140及SOC 110的所欲操作改變。例如,在各種實施例中,有線電力輸送觸發電路144及串列電力輸送觸發電路146兩者可經實施以監測相同電壓調節器142中的類似操作條件(例如,電壓或電流)。在此類實施例中,有線電力輸送觸發電路144提供快速回應時間,而串列電力輸送觸發電路146提供較慢回應。The description above provides example embodiments of various response schemes for the different conditions described herein. It should be understood, however, that the location and number of response schemes between
在某些實施例中,有線電力輸送觸發電路144及串列電力輸送觸發電路146能夠基於不同回應時間及在SOC 110中發送觸發訊號之處而在電力管理中提供不同能力。作為一實例,如圖1及圖3所示,有線電力輸送觸發電路144提供有線觸發信號至全域電力控制電路130,而串列電力輸送觸發電路146提供串列觸發信號至通訊組構170,且接著至組件(諸如,處理器叢集150或GPU 160)。如本文所述,全域電力控制電路130能夠提供快速回應及快速時脈速率控制,以便防止SOC 110或PMU 140中的功能失效。然而,由串列電力輸送觸發電路146所提供的串列觸發信號可由SOC 110中的組件(例如,處理器叢集150或GPU 160)實施,以判定用於SOC 110的操作之更精確的控制(例如,藉由在SOC 110的組件中使用動態電壓及頻率控制)。In some embodiments, wired power delivery trigger circuit 144 and serial power delivery trigger circuit 146 can provide different capabilities in power management based on different response times and where trigger signals are sent in
因此,在某些實施例中,相較於用於串列電力輸送觸發電路146的臨限,用於有線電力輸送觸發電路144的臨限更接近SOC 110或PMU 140的功能失效點。用於有線電力輸送觸發電路144的臨限可更接近SOC 110或PMU 140的功能失效點,以便在操作條件可能預示SOC 110或PMU 140之功能失效時提供快速回應。反之,當SOC 110或PMU 140更遠離功能失效點時,較慢回應可更合適。作為一實例,相較於用於串列電力輸送觸發電路146的電壓臨限,用於有線電力輸送觸發電路144的電壓臨限可更接近導致SOC 110或PMU 140中之功能失效的欠電壓(例如,有限電壓臨限低於串列電壓臨限)。因此,若電壓開始緩慢下降,串列電壓臨限首先將交叉,且SOC 110可能在到達有限電壓臨限之前回應來自串列電力輸送觸發電路146的串列觸發信號。然而,若電壓迅速下降,即使在串列電壓臨限之後到達有線電壓臨限,由有線電力輸送觸發電路144及全域電力控制電路130所提供的快速回應可發生在SOC 110有機會回應串列觸發信號之前。對有線信號之回應可係保留功能,直到稍後執行串列觸發信號讀取,且SOC 110對該讀取起反應。此一階層式回應方案可提供SOC 110及PMU 140之改善性能,同時防止裝置中的功能失效。Thus, in some embodiments, the threshold for the wired power delivery trigger circuit 144 is closer to the point of functional failure of the
在一些實施例中,回應方案係基於電力輸送系統中的階層(例如,電壓調節器142A、142B、142C之間的階層)之階層式。例如,電壓調節器142A可具有高於電壓調節器142B的階層。因此,來自有線電力輸送觸發電路144A或串列電力輸送觸發電路146A的觸發信號在判定電力縮減時可具有高於有線電力輸送觸發電路144B或串列電力輸送觸發電路146B的階層(例如,較高優先序)。此外,在階層式電力輸送系統中,電力縮減回應(例如,組件或電力供應器的電力縮減)可在一個組件中由用於另一個組件之觸發信號觸發。例如,來自有線電力輸送觸發電路144B或串列電力輸送觸發電路146B的觸發信號可觸發電壓調節器142A中的電力縮減。In some embodiments, the response scheme is based on a hierarchy of hierarchies in the power delivery system (eg, hierarchies between
在各種實施例中,電壓調節器142的一或多者係耦合至電池組(或其他電力供應單元)以提供電力至SOC 110。在一些實施例中,有線電力輸送觸發電路144或串列電力輸送觸發電路146的一或多者經組態以監測電池組中的電壓。直接監測電池組中的電壓可幫助防止SOC 110中導因於低電池組充電狀態的暫時低壓。In various embodiments, one or more of the
回到圖1,在各種實施例中,全域電力控制電路130從PMU 140接收(多個)觸發信號。當發生與觸發信號相關聯的事件時,全域電力控制電路130可藉由迅速降低組件操作所處的時脈頻率來回應,以防止SOC 110或PMU 140中的功能失效。根據本揭露,積體電路(例如,SOC 110)可包含(經由通訊組構170)耦合至複數個組件的複數個組件(例如,處理器叢集150、GPU 160、周邊設備180)及全域電力控制電路130。Returning to FIG. 1 , in various embodiments, global
圖4係全域電力控制電路130之一個實施例的方塊圖。在所繪示之實施例中,全域電力控制電路130包括觸發邏輯電路132及速率控制電路134。全域電力控制電路130從PMU 140接收(多個)觸發信號。在某些實施例中,觸發信號相對於SOC 110之時脈循環係非同步觸發信號。例如,觸發信號可在SOC 110之時脈循環期間的任何時候由全域電力控制電路130接收。FIG. 4 is a block diagram of one embodiment of the global
在各種實施例中,觸發邏輯電路132從PMU 140接收觸發信號,並基於所接收的觸發信號判定電力縮減信號。電力縮減信號可係例如以SOC 110的時脈速率提供給SOC 110中之一或多個組件的同步信號。一或多個組件接著可基於所接收的電力縮減信號實施電力縮減或度量。在各種實施例中,觸發邏輯電路132包括啟用、遲滯、及同步器的組合,以將非同步觸發信號轉換成同步電力縮減信號。In various embodiments, trigger
由觸發邏輯電路132所實施以提供電力縮減信號的技術實例包括時脈抖動、時脈閘控、選擇性脈衝移除、時脈除法等。這些技術可有效地使SOC 110在無錯誤的情況下持續操作,因為降低的時脈頻率在調降電壓下補償更慢評估的電晶體。例如,將時脈頻率除以2(相對迅速的操作)使性能降低大約½。在一些情況下,性能降低可甚至更大(例如,75%或更大)以保證無錯誤的操作。全域電力控制電路130可因此耦合至SOC 110之各種組件(諸如,處理器152或GPU 160),或者至少可耦合至各種組件之時脈資源(例如,鎖相迴路(PLL)、延遲鎖定迴路(DLL)、時脈除法器、時脈閘控器、時脈樹等),以實施可幫助確保欠電壓操作期間之無錯誤操作(或正確操作)的頻率降低。Examples of techniques implemented by
雖然觸發邏輯電路132對來自PMU 140的觸發信號提供相對快速的電力縮減回應,在SOC 110的各種實施例中可需要用於降低時脈頻率之較快速的回應時間。例如,在SOC 110係多晶粒SOC(例如,SOC 110具有作為單晶片操作之多個晶片)的實施例中,可需要較快速的回應時間以降低時脈頻率以防止功能失效,因為大量的並列交易可能會使PMU 140超限。While the
在各種實施例中,全域電力控制電路130中的速率控制電路134對由全域電力控制電路所接收的觸發信號實施較快速的回應時間。速率控制電路134可包括例如組構或其他邏輯以基於所接收的觸發信號控制SOC 110中的時脈速率。例如,速率控制電路134可回應於接收觸發信號而迅速地降低通訊組構170中的時脈頻率。如圖4所示,速率控制電路134可從PMU 140接收所選的觸發信號。在某些實施例中,所選的觸發信號係使用所選的電力輸送觸發電路144(顯示於圖2及圖3中)與速率控制電路之間在適當位置的佈線提供給速率控制電路134。例如,至速率控制電路134的佈線可從所選的電力輸送觸發電路144與觸發邏輯電路132之間的佈線分枝出去。因此,速率控制電路134可從所選的電力輸送電路144非同步地接收所選的觸發信號。在一個預期實施例中,所選的觸發信號係接收自供應電力至通訊組構170之PMU 140中的一或多個電壓調節器142。In various embodiments, the rate control circuit 134 in the global
在某些實施例中,速率控制電路134基於接收所選的觸發信號控制SOC 110或SOC 110之一或多個組件的時脈速率。例如,速率控制電路134可基於接收所選的觸發信號降低時脈速率。由於所選的觸發信號係非同步地接收(自SOC 110的時脈循環),速率控制電路134能夠非同步地降低時脈速率,而非在縮減SOC 110中的電力之前等待另一時脈循環。降低時脈速率可減少SOC 110中的電力消耗,從而防止PMU 140或SOC 110中的功能失效。當接收觸發信號時,速率控制電路134提供快速、非同步的回應時間以用於降低時脈速率(例如,在數奈秒內)。由速率控制電路134所提供的回應時間比在SOC 110的組件中使用動態電壓及頻率控制之電力控制的回應時間快若干數量級(例如,用於速率控制電路134之回應的時間窗比用於SOC 110之組件的回應之時間窗小若干數量級)。此一快速回應時間可改善對用於多晶粒SOC系統之電力管理中的功能失效之保護。In some embodiments, rate control circuit 134 controls the clock rate of
在一些實施例中,如圖4所示,速率控制電路134從觸發邏輯132接收電力縮減信號。例如,在一個預期實施例中,速率控制電路134可接收意欲用於SOC 110中之CPU(處理器152)的電力縮減信號。如上文所述,電力縮減信號係與SOC 110之時脈循環同步。因此,速率控制電路134可基於電力縮減信號實施較慢但同步的時脈速率降低。然而,提供所選的觸發信號及電力縮減信號兩者至速率控制電路134中可在SOC 110中提供備援的電力縮減回應,以防止PMU 140或SOC 110中的功能失效。In some embodiments, as shown in FIG. 4 , rate control circuit 134 receives a power reduction signal from
在一些實施例中,如圖4所示,觸發邏輯132可從由PMU 140管理的另一SOC 110’(例如,另一晶片或晶粒)接收電力縮減信號。觸發邏輯132可實施來自SOC 110’的電力縮減信號以提供電力縮減信號至SOC 110中的組件。在一些實施例中,觸發邏輯132可提供電力縮減至由PMU 140管理的另一SOC 110’’。其他SOC 110’’接著可實施電力縮減方案(例如,使用SOC 110’’中的觸發邏輯電路),以根據所接收的電力縮減信號縮減電力。從其他SOC提供/接收電力縮減信號的實施方案允許觸發邏輯132及SOC 110作為多晶粒(例如,多晶片)電力縮減方案的部分。In some embodiments, as shown in FIG. 4 ,
回到圖1,在各種實施例中,可透過記憶體控制器122在SOC中提供速率限制。例如,記憶體控制器122可在與記憶體控制器相關聯之管線中實施交易速率監測,並依需要放慢交易。放慢交易可防止或減少由跨許多來源(例如,多晶粒組態中的多個SOC)之許多交易所導致之PMU 140中的電力供應衰減。Returning to FIG. 1 , in various embodiments, rate limiting may be provided in the SOC through the
圖5係記憶體控制器管線500之一個實施例的方塊圖。管線500之描繪係記憶體控制器管線之一個實施例的簡化方塊圖。應理解,管線500及記憶體控制器管線之組件可在不偏離本說明書及本文中之申請專利範圍的範疇之情況下變化為超出圖5之描繪的範疇。例如,可將額外的組件或元件包括在記憶體控制器管線中及/或組件或元件之位置可變化。FIG. 5 is a block diagram of one embodiment of a
記憶體控制器管線500可包括各種控制邏輯及資料結構以佇列記憶體請求、在請求之間進行仲裁、及傳輸記憶體請求至記憶體快取,且若記憶體快取漏失則最終傳輸至記憶體120。通訊介面550A至550B可係通訊組構170的一部分,且可從SOC 110的其他組件供應記憶體請求至記憶體控制器122。可接收請求至請求緩衝器540A及540C中,該等請求緩衝器可在請求流過記憶體控制器管線500並藉由在通訊介面550A至550B(用於讀取)上回傳資料或更新記憶體快取或記憶體120(用於寫入)來完成時追蹤該等請求。回應緩衝器540B及540D可係用於欲傳回至用於讀取交易之請求組件的讀取資料以及其他回應(例如,用於某些寫入交易之完成回應及用於同調交易之同調請求)之緩衝器。可存在更多用於其他通訊介面550(圖5中未圖示)之請求緩衝器及回應緩衝器。請求緩衝器540A及540C(及其他者)可將輸入提供至記憶體仲裁器525中,該記憶體仲裁器可仲裁請求至記憶體快取530中。由記憶體快取530所接收的請求可通過標籤及目錄管520,其可包括用於記憶體快取的標籤記憶體(儲存識別經快取在記憶體快取530中之快取區塊的位址標籤)。在一實施例中,標籤及目錄管520可包括同調目錄,其追蹤SOC 110中的哪些同調組件從記憶體快取快取區塊的複本。同調目錄及相關邏輯可產生同調請求,其可經由回應緩衝器540B及540D向外路由至組件。
若請求命中記憶體快取(例如,位址與標籤記憶體中的標籤中之一者匹配),則可將標籤及目錄管520請求放入資料管佇列560中以存取快取資料記憶體595。讀取仲裁器565A可在資料管佇列560中的讀取請求之間仲裁以讀取快取資料記憶體595,且寫入仲裁器565B可在資料管佇列560中的寫入請求之間仲裁以寫入快取資料記憶體595。可將來自快取資料記憶體595的讀取資料提供給記憶體輸出緩衝器580。對於使用回應的那些寫入請求,亦可將寫入回應放入記憶體輸出緩衝器580中。If the request hits the memory cache (e.g., the address matches one of the tags in the tag memory), the tag and
若請求未中記憶體快取(例如,位址與標籤記憶體中的標籤中不匹配),則標籤及目錄管520可將請求放入記憶體佇列570中以傳輸至記憶體120。記憶體佇列570可介接至存取記憶體120的記憶體通道控制器。資料(用於讀取請求)或可選的寫入完成(用於寫入請求)稍後可由記憶體通道控制器回傳至記憶體輸出緩衝器580。If the request misses the memory cache (eg, the address does not match what is in the tag's memory), the tag and
來自記憶體輸出緩衝器580的資料/寫入回應在欲將資料安裝在記憶體快取530中時可提供給標籤及目錄管520,且亦可提供給輸出仲裁器590B、590D,該等輸出仲裁器可仲裁以分別輸出資料/寫入回應至回應緩衝器540B、540D。資料/寫入回應隨後可透過通訊介面550A至550B提供給發出請求的組件。Data/write responses from memory output buffer 580 may be provided to tag and
記憶體快取530可包括多個區段或平面,其等處理映射至記憶體控制器122之記憶體位址空間的不同部分。平面可允許多個記憶體請求並列地進行。一個平面係繪示為圖5中的記憶體快取530,但其他平面可經類似地組態。可存在用於各平面之記憶體仲裁器525。
在各種實施例中,在管線500各處放置多個速率限制器510。例如,速率限制器510可放置在管線500內的各種仲裁點處。用於速率限制器510之位置的實例係顯示於圖5中。在所繪示之實施例中,速率限制器510A係放置在讀取仲裁器565A或寫入仲裁器565B與資料管佇列560之間的連接處,速率限制器510B係放置在標籤及目錄管520與記憶體仲裁器525之間的連接處,速率限制器510C係放置在輸出仲裁器590B及590D與回應緩衝器540B及540D之間的連接處,且速率限制器510D係放置在回應緩衝器540B及540D與通訊介面550A、550B之間的連接處。管線500中之速率限制器510的數目及位置(例如,仲裁點)可依據管線500中所欲的交易速率之控制而變化。In various embodiments, a plurality of rate limiters 510 are placed throughout
速率限制器510可經實施以主動在非典型高活動時為管線500中的峰值電力位準設上限。在各種實施例中,速率限制器510藉由在仲裁點處插入氣泡(例如,停頓)循環來減少命令流動。在某些實施例中,速率限制器510預設為禁用,但可由系統(例如,SOC 110或記憶體控制器122)組態以提供管線500所欲的電力消耗上限。例如,各速率限制器510之位置可具有與其相關聯之速率限制器介面工具集。Rate limiter 510 may be implemented to actively cap the peak power level in
圖6係速率限制器介面工具集600之一個實施例的方塊圖。速率限制器介面工具集600可以本文所述之速率限制器510的任一者實施。速率限制器介面工具集600可提供對用於速率限制器510之停頓控制信號之操作及產生的控制。在所繪示之實施例中,速率限制器介面工具集600包括速率限制器型樣產生610、局部活動偵測620、及速率限制器控制630。FIG. 6 is a block diagram of one embodiment of a rate
速率限制器型樣產生610可包括型樣仲裁器612、型樣暫存器614、及指標616。速率限制器型樣產生610可使用Vmin型樣輸入、Vnom型樣輸入、或Vmax型樣輸入程式化。速率限制器型樣輸出可基於提供給型樣仲裁器612之操作點輸入(例如,記憶體操作點)而判定。在各種實施例中,速率限制器型樣產生610藉由根據來自型樣仲裁器612之輸入循環通過型樣暫存器614而判定速率限制器型樣。例如,可針對具有比較低性能(較低電力)操作點更多停頓循環之較高性能(較高電力)操作點產生不同型樣。Rate
在某些實施例中,局部活動偵測620係經實施以追蹤局部記憶體活動。局部活動偵測620包括移位暫存器622,其接收歷史深度輸入及活動指示輸入;活動計數器624,其接收活動指示輸入;及活動臨限比較器626,其用於比較活動計數與活動臨限。活動指示可包括例如局部活動指示,諸如針對仲裁器之驗證、傳遞有效(例如,標籤管傳遞有效)、讀取啟用控制、寫入啟用控制、完成緩衝器寫入仲裁器授權、完成緩衝器略過、及下游介面仲裁器授權。In some embodiments,
移位暫存器622可係可組態暫存器以用於追蹤活動歷史。例如,在與活動臨限作出比較之前,歷史深度可程式化移位暫存器以針對一組循環數(例如,32、16、或8個循環)追蹤歷史。活動計數器624可在將一組循環數經程式化至移位暫存器622中的期間計數活動。彼時,活動數係在活動臨限比較器626中與活動臨限比較,以在活動高於預定義的活動臨限時產生原始停頓信號輸出。The shift register 622 may be a configurable register for tracking activity history. For example, the history depth can be programmed to shift a register to track the history for a set number of cycles (eg, 32, 16, or 8 cycles) before making a comparison with an active threshold. The activity counter 624 may count activity during programming a set of cycle numbers into the shift register 622 . At that time, the activity count is compared with the activity threshold in the activity threshold comparator 626 to generate a raw pause signal output when the activity is higher than the predefined activity threshold.
原始停頓信號係提供給速率限制器控制630,其可依據例如經程式化的速率限制器模式選擇性地阻斷或傳遞原始停頓信號。啟用仲裁器632可以速率限制器模式程式化,並對由速率限制器控制630所實施的模式作出判定。一個模式可係「靜態開啟」,其中原始停頓信號經傳遞,並以由速率限制器型樣產生610所判定的速率限制器型樣從速率限制器介面工具集600輸出停頓信號。另一模式可係「靜態關斷」,其中原始停頓信號經阻斷且未發生速率限制。例如,若已知給定的記憶體操作點之電力足夠低使其並非導致PMU電壓衰減的關注點,則可使用關斷模式。The raw pause signal is provided to a
可預期額外的實施例具有包括在本文所述之系統的任一者中之電力管理電路(PMGR)。圖7係包括耦合至記憶體120及電力管理單元(PMU) 140之系統單晶片(SOC) 110的系統之一個實施例的方塊圖。PMU 140可經組態以供應電力至SOC 110及可包括在系統中的其他組件(諸如,記憶體120)。例如,PMU 140可經組態以產生一或多個供應電壓以供電SOC 110,且可進一步經組態以產生用於圖7未顯示之系統其他組件的供應電壓。此外,PMU 140(或耦合至PMU 140之伴隨電路系統)可經組態以監測供應電壓,並偵測暫態欠電壓條件或可導致SOC 110中之錯誤操作的其他過載條件。當此類條件發生(一般導因於SOC 110的電負載超過PMU 140的容量)時,PMU 140可確立至SOC 110的觸發輸入。在所繪示之實施例中,併入SOC 110中的全域電力控制電路130可接收觸發輸入。雖然SOC實施例係用作本文中之一實例,但可將包含耦合至通訊組構之多個積體電路的系統用於其他實施例中。Additional embodiments are contemplated having power management circuitry (PMGR) included in any of the systems described herein. FIG. 7 is a block diagram of one embodiment of a system including a system-on-chip (SOC) 110 coupled to memory 120 and a power management unit (PMU) 140 .
顧名思義,SOC 110之組件可整合至單一半導體基材上作為積體電路「晶片」。在所繪示之實施例中,SOC 110之組件包括至少一個處理器叢集150、至少一個圖形處理單元(GPU) 160、一或多個周邊組件,諸如周邊組件(更簡單、「周邊設備」)、記憶體控制器122、電力管理電路(PMGR) 700、全域電力控制電路130、及通訊組構170。組件150、160、180、122、及700可全部耦合至通訊組構170。記憶體控制器122在使用期間可耦合至記憶體120。在一些實施例中,可存在多於一個經耦合至對應記憶體的記憶體控制器。在此類實施例中,記憶體位址空間可以任何所欲方式跨記憶體控制器映射。在所繪示之實施例中,處理器叢集150可包括複數個處理器(P) 152。處理器152可形成SOC 110的中央處理單元(CPU)。處理器叢集150可進一步包括一或多個處理器(例如,圖7中之共處理器154),該處理器可針對處理器指令集之子集最佳化,且可由處理器152使用以執行子集中之指令。例如,共處理器154可係經最佳化以執行向量及矩陣操作的矩陣引擎。As the name implies, the components of the
PMGR 700可經組態以管理SOC 110中的電力消耗。如圖7所繪示,PMGR 700可包括遙測表702、電力管理處理器(PMP) 704、及電力預算控制碼710,該控制碼可儲存在PMGR 700內之記憶體(例如,局部記憶體,諸如局部靜態隨機存取記憶體(SRAM)或唯讀記憶體)及/或記憶體120中。電力預算控制碼710可儲存在唯讀記憶體或其他形式的非揮發性記憶體中,且可在例如系統初始化期間載入PMGR 700/記憶體120中。遙測表702可係任何類型的記憶體(例如,靜態隨機存取記憶體(SRAM)、暫存器等)。SOC 110之各種組件可使用某一程度的規則性以「推送」模式向PMGR 700報告活動量、性能資訊、電力消耗資料等,且因此可用於在PMGR 700中進行分析而不需要PMGR 700輪詢各種組件以收集資訊。更具體地,在此實施例中,除了電力預算控制碼710以外,PMP 704可經組態以執行代碼以分析遙測表中的資料。
如先前所提及,PMU 140可經組態以在偵測到欠電壓事件時確立觸發信號。當發生此一事件時,SOC 110(且更具體地,全域電力控制電路130)可藉由迅速降低組件操作的時脈頻率而回應,降低時脈頻率係使用諸如時脈抖動、時脈閘控、選擇性脈衝移除、時脈除法、在各種組件內控制以降低處理性能從而減少電力等技術。雖然這些技術可有效地在無錯誤的情況下持續操作(因為降低的時脈頻率在調降電壓下補償更慢評估的電晶體),性能降低可係劇烈的。例如,將時脈頻率除以2(相對迅速的操作)使性能降低大約½。在一些情況下,性能降低可甚至更大(例如,75%或更大)以保證無錯誤的操作。全域電力控制電路130因此可耦合至SOC 110之各種組件(未明確描繪於圖7中)或至少可耦合至各種組件之時脈資源(例如,鎖相迴路(PLL)、延遲鎖定迴路(DLL)、時脈除法器、時脈閘控器、時脈樹等),以實施可幫助確保欠電壓操作期間之無錯誤操作(或正確操作)的頻率降低。在一實施例中,全域電力控制電路130可經組態以記錄觸發輸入在遙測表702中經確立至全域電力控制電路130的頻率(例如,多常)(或全域電力控制電路130的參與頻率,其與觸發輸入確立的頻率相依),經由圖7中的虛線箭頭繪示。As previously mentioned,
在許多情況下,較不劇烈的性能下降將足以充分降低負載,使得欠電壓事件將較不常發生。例如,若由於PMU 140稍微過載而發生欠電壓事件,則將防止事件發生之負載降低的量係相對小,且可藉由暫時降低系統中之一或多個可控組件的電力消耗、稍微降低性能但維持在PMU 140的容量內來達成。PMP 704及電力預算控制碼710可用以嘗試降低欠電壓事件的頻率,或更具體地用以降低調用全域電力控制電路以提供欠電壓控制的頻率。例如,在一實施例中,電力預算控制碼710可分析遙測表資料,且可判定給定時間窗期間之欠電壓事件的頻率,或者全域電力控制電路130參與降低電力消耗之期間的時間量。電力預算控制碼710可修改下一時間窗中至一或多個組件的電力預算,以嘗試減少欠電壓事件的發生。例如,可降低電力預算,且因此組件在下一時間窗中可消耗較少電力,降低PMU 140上的總體負載電流。雖然可在下一時間窗降低可由組件達成的性能,欠電壓事件減少且導因於欠電壓事件而發生的嚴重性能損失可降低,而總體性能可更高。例如,電力預算控制碼710可嘗試減少欠電壓觸發達指定百分比(例如,給定時間窗的1%)。下文將進一步提供額外細節。In many cases, a less severe performance degradation will be sufficient to reduce the load sufficiently that brownout events will occur less often. For example, if an undervoltage event occurs because the
組件之至少一些者可經組態以基於電力預算控制電力消耗。例如,處理器叢集150、GPU 160、及周邊設備180的一或多者可包括電力控制電路(PwrCtl) 720A至720C,其等包括各別的電力預算722A至722C。電力控制電路720A至720C可監測各別組件的操作及測量/估計電力消耗。電力控制電路720A至720C可比較所測量/估計的電力消耗與電力預算。若預算耗盡或降低至低於臨限,則電力控制電路720A至720C可調用各種電力消耗減輕機制。例如,電力控制電路720A可採用諸如停用處理器152之一或多者及/或停用處理器152中之一或多個管線之減輕機制。可降低指令發行速率,在管線中插入氣泡,使得對應的電路系統不主動評估各循環。可使用一或多個減輕機制之任一組。類似地,GPU 160可減少主動管線之數目、限制指令發行速率、及/或實施任何其他減輕機制。減輕機制可特定於所控制的給定組件,且不同組件可採用不同機制,或者依需要採用一些類似機制及一些特定機制。PMP 704/電力預算控制碼710可無關於特定機制,設定預算722A至722C及依循預算722A至722C的細節係由電力控制電路720A至720C實施。At least some of the components can be configured to control power consumption based on a power budget. For example, one or more of
若電力預算控制碼710降低電力控制電路720A至720C之一或多者中的電力預算722A至722C,而欠電壓事件的頻率在下一時間窗中仍高於所欲,則電力預算710可在接續的時間窗中進一步電力預算。可使用任何用於降低之演算法。例如,各預算可降低特定的量以使降低起效,使性能降低相對均等地散佈於可受控制的組件。在另一演算法中,可在不同時間窗中降低不同的預算722A至722C,在一或多個組件的不同子集之間輪流降低,並接著在隨後的時間窗中使降低的電力預算回復到原始值。If the power budget control code 710 reduces the
須注意,雖然一些實例實施例經描述為將電力預算控制實施為可由PMP 704執行的代碼710,其他實施例可以硬體(例如,狀態機及/或組合邏輯)實施電力預算控制的全部或一部分。Note that while some example embodiments are described as implementing power budget control as code 710 executable by
PMGR 700可經組態以控制請求自外部PMU 140的供應電壓量值。針對SOC 110可存在由PMU 140產生的多個供應電壓。例如,可存在用於處理器叢集150的供應電壓及用於處理器叢集150外的SOC 110之其餘者的至少一供應電壓。在一實施例中,相同的供應電壓可供給處理器叢集150外之SOC 110的組件,且電力閘控可用以控制由電力供應電壓供給之一或多個獨立的電力域。在一些實施例中,可存在用於SOC 110之其餘者的多個供應電壓。在一些實施例中,亦可存在用於處理器叢集150及/或SOC 110中之各種記憶體陣列的記憶體供應電壓。記憶體供應電壓可與供應至邏輯電路系統的電壓併用,其可具有低於所需的電壓量值以確保強健的記憶體操作。PMGR 700可直接受軟體控制(例如,軟體可直接請求組件的電力開啟及/或電力切斷),及/或可經組態以監測SOC 110並判定各種組件何時欲開啟電力或切斷電力。組件內的各種電力狀態(例如,處理器152之電力狀態)可經由PMGR 700以及對電力狀態、不同請求電壓及頻率等變化之定序控制。
如上文所提及,處理器叢集150可包括一或多個處理器152,其(等)可充當SOC 110之CPU。系統的CPU包括執行系統之主控制軟體(諸如,作業系統)的(多個)處理器。通常,在使用期間藉由CPU所執行的軟體可控制系統的其他組件,以實現系統的所欲功能。處理器亦可執行其他軟體,諸如應用程式。應用程式可提供使用者功能,且可依靠作業系統以用於較低階的裝置控制、排程、記憶體管理等。因此,處理器亦可稱為應用處理器。As mentioned above,
通常,處理器可包括任何電路系統及/或微代碼,其經組態以執行由處理器實施之指令集架構中所定義的指令。處理器可涵蓋經實施在積體電路上的處理器核心,其中其他組件作為系統單晶片(SOC 110)或其他積體層級。處理器可進一步涵蓋離散微處理器、處理器核心、及/或經整合至多晶片模組實施方案中之微處理器、經實施為多個積體電路之處理器等。In general, a processor may include any circuitry and/or microcode configured to execute instructions defined in the instruction set architecture implemented by the processor. A processor may encompass a processor core implemented on an integrated circuit with other components as a system-on-chip (SOC 110 ) or other levels of integration. A processor may further encompass discrete microprocessors, processor cores, and/or microprocessors integrated into multi-chip module implementations, processors implemented as multiple integrated circuits, and the like.
記憶體控制器122通常可包括用於從SOC 110之其他組件接收記憶體操作及用於存取記憶體120以完成記憶體操作的電路系統。記憶體控制器122可經組態以存取任何類型的記憶體120。例如,記憶體120可係靜態隨機存取記憶體(SRAM)、動態RAM (DRAM),諸如同步DRAM(SDRAM),其包括雙資料速率(DDR、DDR2、DDR3、DDR4等)DRAM。可支援DDR DRAM之低功率/行動版本(例如,LPDDR、mDDR等)。記憶體控制器122可包括用於記憶體操作的佇列,其等用於將操作排序(及可能重新排序)及將操作提交至記憶體120。記憶體控制器122可進一步包括資料緩衝器,以儲存等候寫入至記憶體的寫入資料及讀取等候返回至記憶體操作來源的資料。在一些實施例中,記憶體控制器122可包括記憶體快取,以儲存最近存取的記憶體資料。在SOC實施方案中,例如,記憶體快取可藉由避免從記憶體120重新存取資料(若預期不久將再次存取該資料)來降低SOC中的電力消耗。在一些情況下,相對於僅服務某些組件之私用快取(諸如L2快取或處理器中的快取),記憶體快取亦可稱為系統快取。額外地,在一些實施例中,系統快取不需位於記憶體控制器122內。
周邊設備180可係SOC 110中所包括的任一組額外硬體功能。例如,周邊設備180可包括視訊周邊設備,諸如經組態以處理來自攝影機或其他影像感測器之影像擷取資料的影像信號處理器、視訊編碼器/解碼器、縮放器、旋轉器、融合器、顯示控制器等。周邊設備可包括音訊周邊設備,諸如麥克風、揚聲器、至麥克風及揚聲器的介面、音訊處理器、數位信號處理器、混音器等。周邊設備可包括用於SOC 110外部之各種介面的介面控制器,包括的介面諸如通用串列匯流排(USB)、包括快速PCI (PCI Express, PCIe)之周邊組件互連(PCI)、串列及並列埠等。至外部裝置的互連係由圖7的虛線箭頭繪示,其延伸至SOC 110的外部。周邊設備可包括連網周邊設備,諸如媒體存取控制器(MAC)。可包括任一組硬體。
通訊組構170可係任何通訊互連及協定,其用於在SOC 110的組件之間通訊。通訊組構170可係基於匯流排的,包括共用匯流排組態、叉線式組態、及具有橋接器之階層式匯流排。通訊組構170亦可係基於封包的,且可以橋接器、叉線、點對點、或其他互連而係階層式的。Communication fabric 170 may be any communication interconnect and protocol used to communicate between components of
注意:SOC 110之組件數(及圖7中所展示之該些者的子組件數,諸如在各處理器叢集150中的處理器152)可隨著實施例而變化。此外,當包括多個處理器叢集時,一個處理器叢集150中之處理器152的數目可不同於另一處理器叢集150中之處理器152的數目。可存在比圖7所示之數目更多或更少的各組件/子組件。Note: The number of components of SOC 110 (and the number of subcomponents of those shown in Figure 7, such as
根據本揭露,積體電路(例如,SOC 110)可包含:複數個組件;全域電力控制電路,其經耦合至複數個組件;及電力管理電路。複數個組件之給定組件經組態以基於指派給該給定組件的預算量管理電力消耗。全域電力控制電路經組態以回應於至積體電路之觸發輸入而跨複數個組件施加電力控制。電力管理電路經組態以:偵測由全域電力控制電路施加之電力控制是否超過臨限;及基於由全域電力控制電路施加的電力控制超過臨限的偵測,減少指派給複數個組件中之至少一者的預算量。例如,臨限可包含由全域電力控制電路施加電力控制的時間之百分比。According to the present disclosure, an integrated circuit (eg, SOC 110 ) may include: a plurality of components; global power control circuitry coupled to the plurality of components; and power management circuitry. A given component of the plurality of components is configured to manage power consumption based on a budget amount assigned to the given component. The global power control circuit is configured to apply power control across the plurality of components in response to trigger inputs to the integrated circuit. The power management circuit is configured to: detect whether the power control applied by the global power control circuit exceeds a threshold; and based on the detection that the power control applied by the global power control circuit exceeds the threshold, reduce the number of components assigned to the plurality of components. A budget amount for at least one. For example, the threshold may include the percentage of time that power control is applied by the global power control circuit.
電力管理電路可經組態以測量固定時間窗內之時間百分比。例如,電力管理電路可經組態以偵測固定時間窗之第一例項期間的百分比,且可經組態以減少用於固定時間窗之下一例項的預算量,其中下一例項係接續第一例項。例如,電力管理電路可經組態以減少給定的固定時間窗中之至複數個組件之第一組件的預算量,並減少另一給定的固定時間窗中之至複數個組件之第二組件的預算量。The power management circuit can be configured to measure the percentage of time within a fixed time window. For example, the power management circuit can be configured to detect a percentage of the duration of the first instance of a fixed time window, and can be configured to reduce the amount of budget for an instance under the fixed time window, where the next instance is the next The first instance item. For example, the power management circuit can be configured to reduce the budget amount to a first component of the plurality of components in a given fixed time window, and reduce the budget amount to a second component of the plurality of components in another given fixed time window. The budget amount for the component.
圖8係繪示SOC 110之一個實施例中之各種電力管理機制的方塊圖。在圖8中基於機制可多迅速地回應電力管理需求而由左至右排序機制。左側係全域電力管理機制(元件符號800),基於觸發輸入進行操作以迅速地降低時脈頻率。全域電力管理機制主要聚焦於在發生欠電壓事件時確保正確性。如上文所提及,由於欠電壓事件的程度未知,機制可係相當粗略,且因此控制可經設計以針對最壞情況的事件確保正確性。FIG. 8 is a block diagram illustrating various power management mechanisms in one embodiment of the
次快機制可係PMP/電力預算控制機制(元件符號802)。PMP機制可慢於全域機制,但可具有更細緻且精確的控制。PMP機制可嘗試藉由採取行動以限制全域電力管理機制的參與而改善效率及性能。例如,如上文所提及,PMP機制可包括修改用於基於預算而實施電力管理之各種組件的電力預算。在另一實施例中,PMP機制可包括暫時修改至一或多個組件的時脈頻率及/或電力供應電壓。The second fastest mechanism may be a PMP/power budget control mechanism (element number 802). The PMP mechanism can be slower than the global mechanism, but can have more granular and precise control. The PMP mechanism can attempt to improve efficiency and performance by taking actions to limit the participation of global power management mechanisms. For example, as mentioned above, the PMP mechanism may include modifying the power budgets of various components used to implement power management on a budget basis. In another embodiment, the PMP mechanism may include temporarily modifying the clock frequency and/or power supply voltage to one or more components.
此外,可採用第三電力管理機制-基於CPU的電力控制(元件符號804)。基於CPU的電力控制機制可採用由處理器152執行的軟體,且因此可與作業系統及各種應用程式共用執行時間。基於CPU的電力控制機制可檢查許多度量,包括遙測表702中的遙測資料,還有系統中的各種性能測量。基於CPU的電力控制機制可採用動態電壓及頻率控制,降低PMGR 700中的電壓及頻率設定(例如,「電力狀態」),作為減輕由全域電力控制電路130及PMP電力控制機制參與之電力控制減輕量的機制,並依所欲使電力狀態回復到其原始設定以增加性能。例如,若將使全域及基於PMP的減輕減少至較低電力狀態將得出較高總體性能/效率的程度,即使系統運行得更緩慢,基於CPU的電力控制機制可降低電力狀態。通常,基於CPU的機制可採用全系統分析及電力管理。Additionally, a third power management mechanism - CPU based power control (element number 804 ) may be employed. The CPU-based power control mechanism can employ software executed by the
全域機制可具有大約數十至數百奈秒的時間尺度;PMP機制可具有大約數百微秒的時間窗;且基於CPU的機制可具有數百毫秒的時間尺度。亦即,PMP機制可使用比全域機制的時間尺度長一或多個十進位數量級的時間窗進行操作,且基於CPU的機制可具有比PMP機制長一或多個十進位數量級的時間窗。在一實施例中,用於基於CPU之機制的時間窗可係用於PMP機制之時間窗的整數倍。Global mechanisms can have timescales on the order of tens to hundreds of nanoseconds; PMP mechanisms can have time windows on the order of hundreds of microseconds; and CPU-based mechanisms can have timescales of hundreds of milliseconds. That is, PMP mechanisms may operate with time windows that are one or more decades longer than global mechanisms, and CPU-based mechanisms may have time windows that are one or more decades longer than PMP mechanisms. In one embodiment, the time window for the CPU-based mechanism may be an integer multiple of the time window for the PMP mechanism.
圖9繪示使用基於PMP的電力預算控制實施的電力控制窗(元件符號900A至900N)及CPU電力控制窗902之一實施例。在圖9中,時間以任意單位由右至左增加。如先前所指出,基於PMP之機制可測量給定的PMP窗(例如,窗900A)中之欠電壓事件及/或全域電力控制活動,並在下一個後續或緊鄰的窗(例如,窗900B)中針對一或多個組件修改電力預算。FIG. 9 illustrates an embodiment of a power control window (elements 900A-900N) and a CPU power control window 902 implemented using PMP-based power budget control. In Figure 9, time increases from right to left in arbitrary units. As noted previously, PMP-based mechanisms can measure under-voltage events and/or global power control activity in a given PMP window (e.g., window 900A) and in the next subsequent or immediately adjacent window (e.g., window 900B) Modify the power budget for one or more components.
圖10係繪示基於PMP之電力預算控制710之一個實施例之操作的流程圖。雖然為了易於理解而以特定順序顯示方塊,可使用其他順序。在基於硬體的實施例中,可於組合邏輯中並列地執行方塊。針對基於軟體的實施例,由PMP 704執行的指令可導致PMP 704實行指定操作。圖10中之操作可例如在圖9中之給定的PMP時間窗900A至900N的結束處或接近結束處執行。FIG. 10 is a flowchart illustrating the operation of one embodiment of PMP-based power budget control 710 . Although the blocks are shown in a particular order for ease of understanding, other orders may be used. In a hardware-based embodiment, the blocks may be executed in parallel in combinational logic. For software-based embodiments, instructions executed by
電力預算控制可從遙測表702讀取全域遙測(方塊1000)。基於遙測資料,電力預算控制710可判定在先前的時間窗900A至900N中之欠電壓事件/觸發的發生是否大於所欲臨限。例如,可就事件數、全域電力控制電路130參與減輕機制的時間百分比等測量臨限。臨限可依所欲固定或可程式化。The power budget control may read the global telemetry from the telemetry table 702 (block 1000). Based on the telemetry data, power budget control 710 may determine whether the occurrence of under voltage events/triggers in previous time windows 900A-900N is greater than a desired threshold. For example, thresholds may be measured in terms of number of events, percentage of time that global
若事件的發生大於所欲臨限(決策方塊1002,「是」分支),則電力預算控制710可在當前窗中針對一或多個組件減少電力預算(方塊1004)。若否(決策方塊1002,「否」分支),電力預算控制710可在當前窗中增加電力預算(方塊1006)。增加及/或減少可經受某一遲滯量。例如,若最近的變化係電力預算增加,則可延遲電力預算減少,直到在二或更多個接續的PMP時間窗內指示該減少為止。類似地,若最近的變化係電力預算減少,則可延遲增加,直到在二或更多個接續的PMP時間窗內指示該增加為止。If the occurrence of the event is greater than the desired threshold (
須注意,可以不同權重或量值執行電力預算減少及電力預算增加。例如,逐窗施加的減少可大於逐窗施加的增加。因此,若觀察到頻繁的欠電壓事件,則電力預算將更迅速地減少,以便使更粗略之基於正確性的控制迅速地達到較低速率。一旦達成較低速率,減緩增加電力預算可允許系統安定至某種程度的穩態。Note that power budget reductions and power budget increases can be performed with different weights or magnitudes. For example, the reduction applied window by window may be greater than the increase applied window by window. Therefore, if frequent undervoltage events are observed, the power budget will be reduced more rapidly, allowing the coarser correctness-based control to quickly reach a lower rate. Once the lower rate is achieved, increasing the power budget slowly allows the system to settle to some degree of steady state.
因此,在一實施例中,積體電路之組件中之至少一者可包含一或多個中央處理單元(CPU)處理器。CPU可經組態以執行複數個指令,以使用動態電壓及頻率控制在積體電路中實施電力控制。複數個指令可在大於電力管理電路所用之固定時間窗的第二固定時間窗內實施電力控制。例如,第二固定時間窗比固定時間窗長一或多個十進位數量級。在一實施例中,第二固定時間窗可係固定時間窗的整數倍。電力管理電路可經組態以:偵測由全域電力控制電路施加的電力控制小於臨限;及基於由全域電力控制電路施加的電力控制超過臨限的偵測,增加指派給複數個組件中之至少一者的預算量。預算量的增加可經限制為用於複數個組件中之至少一者的最大量。當在增加預算量與減少預算量之間變化時,電力管理電路可經組態以施加遲滯。如先前所提及,在一實施例中,電力管理電路可包含電力管理處理器及儲存複數個指令之經耦合至電力管理處理器的記憶體,該複數個指令在由電力管理處理器執行時,導致電力管理處理器實行包括上述用於電力管理電路之操作的操作。 實例方法 Thus, in one embodiment, at least one of the components of the integrated circuit may include one or more central processing unit (CPU) processors. The CPU can be configured to execute a plurality of instructions to implement power control in the integrated circuit using dynamic voltage and frequency control. The plurality of instructions can implement power control within a second fixed time window larger than the fixed time window used by the power management circuit. For example, the second fixed time window is one or more orders of magnitude longer than the fixed time window. In one embodiment, the second fixed time window may be an integer multiple of the fixed time window. The power management circuit can be configured to: detect that the power control applied by the global power control circuit is less than a threshold; and based on the detection that the power control applied by the global power control circuit exceeds the threshold, increase assignments to one of the plurality of components A budget amount for at least one. The increase in the budgeted amount may be limited to a maximum amount for at least one of the plurality of components. The power management circuit can be configured to apply hysteresis when changing between increasing and decreasing budget amounts. As previously mentioned, in one embodiment, a power management circuit may include a power management processor and a memory coupled to the power management processor storing a plurality of instructions that when executed by the power management processor , causing the power management processor to perform operations including the operations described above for the power management circuit. instance method
圖11係根據一些實施例之繪示用於積體電路中之電力縮減之方法的流程圖。方法1100可使用如本文所揭示之SOC之實施例的任一者連同積體電路中之任何電路系統或其他機制實施。11 is a flowchart illustrating a method for power reduction in integrated circuits, according to some embodiments.
在1102處,於所繪示的實施例中,積體電路從複數個電壓調節器接收複數個供應電壓,其中積體電路包括產生記憶體交易以存取記憶體之複數個組件、控制記憶體的複數個記憶體控制器電路、及包含將複數個組件與複數個記憶體控制器電路互連之複數個電路的通訊組構。At 1102, in the depicted embodiment, the integrated circuit receives a plurality of supply voltages from a plurality of voltage regulators, wherein the integrated circuit includes a plurality of components that generate memory transactions to access the memory, control the memory A plurality of memory controller circuits, and a communication fabric including a plurality of circuits interconnecting the plurality of components with the plurality of memory controller circuits.
在1104處,於所繪示的實施例中,經耦合至積體電路及複數個電壓調節器的複數個電力輸送觸發電路基於複數個電壓調節器所經歷的電負載產生複數個觸發信號。At 1104, in the depicted embodiment, a plurality of power delivery trigger circuits coupled to the integrated circuit and the plurality of voltage regulators generates a plurality of trigger signals based on an electrical load experienced by the plurality of voltage regulators.
在1106處,於所繪示的實施例中,經耦合至複數個電力輸送觸發電路的觸發邏輯電路基於接收自複數個電力輸送觸發電路的複數個觸發信號產生電力縮減信號。At 1106, in the depicted embodiment, trigger logic coupled to the plurality of power delivery trigger circuits generates a power curtailment signal based on the plurality of trigger signals received from the plurality of power delivery trigger circuits.
在1108處,於所繪示的實施例中,經耦合至複數個電力輸送觸發電路中之至少一者的速率控制電路控制用於通訊組構中之複數個電路的時脈速率,其中時脈速率係基於來自電力輸送觸發電路中之至少一者的複數個觸發信號中之至少一者而降低。At 1108, in the depicted embodiment, a clock rate for a plurality of circuits in a communication fabric is controlled via a rate control circuit coupled to at least one of a plurality of power delivery trigger circuits, wherein the clock The rate is decreased based on at least one of a plurality of trigger signals from at least one of the power delivery trigger circuits.
在1110處,於所繪示的實施例中,複數個記憶體控制器電路的給定記憶體控制器電路根據給定記憶體控制器電路內之管線中的複數個位置處之複數個速率限制器電路控制記憶體交易流過複數個位置的速率。At 1110, in the depicted embodiment, a given memory controller circuit of the plurality of memory controller circuits is rate limited according to a plurality of rates at a plurality of locations in a pipeline within the given memory controller circuit The register circuit controls the rate at which memory transactions flow through the plurality of locations.
圖12係根據一些實施例之繪示用於積體電路中之電力縮減之另一方法的流程圖。方法1200可使用如本文所揭示之SOC之實施例的任一者連同積體電路中之任何電路系統或其他機制實施。12 is a flowchart illustrating another method for power reduction in integrated circuits, according to some embodiments.
在1202處,於所繪示的實施例中,積體電路從複數個電壓調節器接收複數個供應電壓,其中複數個電力輸送觸發電路經耦合至積體電路及複數個電壓調節器。At 1202, in the depicted embodiment, the integrated circuit receives a plurality of supply voltages from a plurality of voltage regulators, wherein a plurality of power delivery trigger circuits is coupled to the integrated circuit and the plurality of voltage regulators.
在1204處,於所繪示的實施例中,當複數個電壓調節器所經歷的電負載滿足第一臨限時,以佈線耦合至積體電路的第一組電力輸送觸發電路產生觸發信號。At 1204, in the depicted embodiment, a first set of power delivery trigger circuits coupled to the integrated circuit by wires generates a trigger signal when the electrical load experienced by the plurality of voltage regulators satisfies a first threshold.
在1206處,於所繪示的實施例中,當複數個電壓調節器所經歷的電負載滿足第二臨限(其中第一臨限較第二臨限靠近積體電路的功能失效點)時,藉由複數個串列通訊介面耦合至積體電路的第二組電力輸送觸發電路產生觸發信號。 實例電力輸送系統: At 1206, in the illustrated embodiment, when the electrical load experienced by the plurality of voltage regulators satisfies a second threshold (where the first threshold is closer to the point of functional failure of the integrated circuit than the second threshold) A trigger signal is generated by a second group of power transmission trigger circuits coupled to the integrated circuit through a plurality of serial communication interfaces. Example power delivery system:
現在參照圖13,其顯示具有電力輸送系統及計算元件之系統的方塊圖。在所繪示的實施例中,系統1300包括階層式電力輸送系統1310及計算元件1320。階層式電力輸送系統1310包括第一電力轉換器階層1312,其經耦合以從外部源(例如,電池組)接收輸入電壓V_in。第一電力轉換器階層1312包括一或多個電力轉換器,其(等)經組態以產生一或多個第一階層調節供應電壓。這些第一階層調節供應電壓係由第二電力轉換器階層1314的一或多個電力轉換器接收。使用一或多個第一階層調節供應電壓之電力轉換器階層1314的電力轉換器產生一或多個第二階層調節供應電壓。這些電壓係提供給計算元件1320的各種負載。Referring now to FIG. 13, a block diagram of a system with a power delivery system and computing elements is shown. In the depicted embodiment,
在所示的實施例中,計算元件1320包括一或多個積體電路(IC或SOC)1322,此處通常顯示為IC 1322-1至1322-N。計算元件1320係可組態及可擴縮的,其中不同實施方案的IC數不同。例如,在一第一實施方案中,計算元件1320可包含單IC晶粒,而在一第二實施方案中,計算元件1320可包含二或更多個IC晶粒。僅在其中啟用IC晶粒的一部分之實施方案亦係可行且在預期中的。In the illustrated embodiment, the computing element 1320 includes one or more integrated circuits (IC or SOC) 1322, generally shown here as ICs 1322-1 through 1322-N. Computing element 1320 is configurable and scalable, with different implementations having different IC counts. For example, in a first embodiment, computing element 1320 may include a single IC die, while in a second embodiment, computing element 1320 may include two or more IC dies. Implementations in which only a portion of the IC die are enabled are also possible and contemplated.
雖然計算元件1320可因而擴充,特定實施方案的IC數對於在其上執行的軟體係顯而易見的。因此,無關於給定實施方案中之特定IC的數目,在其上執行的軟體可將計算元件1320看作單一實體。因此,所示實施例中之計算元件1320可實施可依所欲按比例放大或縮小的計算架構,並能夠在無關此擴縮的情況下在各種實施方案上執行軟體。While the computing element 1320 can be scaled accordingly, the number of ICs for a particular implementation is apparent from the software architecture executing thereon. Thus, regardless of the number of particular ICs in a given implementation, software executing thereon may view computing element 1320 as a single entity. Thus, computing element 1320 in the illustrated embodiment can implement a computing architecture that can be scaled up or down as desired, and can execute software on various implementations regardless of this scaling.
在所示實施例中,各IC 1322-1至1322-N可包括一些不同類型的電路。例如,IC 1322-1至1322-N可包括各種類型的處理器核心、圖形處理單元(GPU)、神經網路處理器、記憶體控制器、輸入/輸出(I/O)電路、用於在其上實施各種網路的網路交換器等等。當實施IC 1322-1至1322-N的二或更多個例項以形成計算元件時,其上的各種功能電路可形成大於使用單IC或其一部分之實施方案的複合體。例如,IC 1322-1及1322-N可各自包括處理器核心複合體,且因此在具有二或更多個IC之計算元件1320的實施方案中,實現跨IC數跨展之較大的處理器核心複合體。一個IC的處理器核心可透過個別IC之間的一或多個晶粒至晶粒介面與另一者的處理器核心通訊。In the illustrated embodiment, each IC 1322-1 through 1322-N may include several different types of circuitry. For example, ICs 1322-1 through 1322-N may include various types of processor cores, graphics processing units (GPUs), neural network processors, memory controllers, input/output (I/O) circuits, A network switch, etc., on which various networks are implemented. When implementing two or more instances of ICs 1322-1 through 1322-N to form a computing element, the various functional circuits thereon may form a complex that is larger than implementations using a single IC or a portion thereof. For example, ICs 1322-1 and 1322-N may each include a processor core complex, and thus, in implementations of computing element 1320 with two or more ICs, enable larger processors that span the number of ICs core complex. The processor core of one IC may communicate with the processor core of another IC through one or more die-to-die interfaces between the individual ICs.
考慮到來自經實施在IC 1322-1至1322-N的例項上之不同類型的電路系統之不同的電力需求,產生對應電壓以滿足這些負載的效率需求之多個電力轉換器可因而存在。例如,處理器核心可具有不同於I/O電路的電力需求。因此,電力轉換器階層1314可包括適於提供第一第二階層供應電壓至處理器核心之一或多個電力轉換器以及提供不同的第二階層供應電壓至I/O電路之一或多個電力轉換器。To account for the different power requirements from different types of circuitry implemented on instances of IC 1322-1 through 1322-N, multiple power converters may thus exist that generate corresponding voltages to meet the efficiency needs of these loads. For example, a processor core may have different power requirements than I/O circuits. Accordingly, the
所示實施例中之階層式電力輸送系統1310亦可擴縮,鏡射計算元件1320之可擴縮性。在各種實施例中,階層式電力輸送系統1310之電力轉換器階層可包括一些電力轉換器(例如,切換電壓調節器及類似者)以滿足各種負載之電氣需求,如上文所討論者。針對特定實施方案啟用之電力轉換器的數目因此可對應於計算元件1320之特定實施方案中之IC 1322-1至1322-N的數目。更通常地,電力轉換器階層1312及1314可經配置以隨著更多計算容量在計算元件1320中實施而啟用更多電力供應容量。以此方式,階層式電力輸送系統1310之設計對於計算元件1320的一些不同實施方案係可再用的。可跨計算元件1320之可擴縮性範圍再用之階層式電力輸送系統1310的設計繼而可免除針對各種不同實施方案提供定制電力輸送解決方案的需求。此繼而可顯著地簡化基於計算元件1320之不同實施方案之各種系統的設計,以及減少實現用於此一設計之任何特定實施方案之工作系統的時間量。 電腦可讀媒體及製造系統: The hierarchical power delivery system 1310 in the illustrated embodiment is also scalable, mirroring the scalability of the computing elements 1320 . In various embodiments, the power converter hierarchy of the hierarchical power delivery system 1310 may include several power converters (eg, switching voltage regulators and the like) to meet the electrical needs of various loads, as discussed above. The number of power converters enabled for a particular implementation may thus correspond to the number of ICs 1322 - 1 through 1322 -N in a particular implementation of computing element 1320 . More generally, power converter stages 1312 and 1314 may be configured to enable more power supply capacity as more computing capacity is implemented in computing element 1320 . In this way, the design of the hierarchical power delivery system 1310 is reusable for several different implementations of the computing element 1320 . The design of the hierarchical power delivery system 1310, which is reusable across the scalability range of the computing elements 1320, can then obviate the need to provide custom power delivery solutions for various implementations. This in turn can significantly simplify the design of various systems based on different implementations of computing element 1320, as well as reduce the amount of time to implement a working system for any particular implementation of such a design. Computer-readable media and manufacturing systems:
圖14係製造系統1400之一個實施例的方塊圖。該系統包括非暫時性電腦可讀媒體1420,在其上已儲存落在本揭露之範疇內之任何實施例之電力輸送系統的指令/描述1450。電腦可讀媒體1420可係一些不同類型之非暫時性媒體中之一者,包括磁碟儲存、固態硬碟(例如,使用快閃記憶體)、光學儲存(例如,CD-ROM)、各種類型的隨機存取記憶體(RAM)等等,其等能夠提供資訊的持久儲存。FIG. 14 is a block diagram of one embodiment of a manufacturing system 1400 . The system includes a non-transitory computer readable medium 1420 on which are stored instructions/description 1450 for the power delivery system of any embodiment falling within the scope of the present disclosure. Computer-readable medium 1420 can be one of several different types of non-transitory media, including magnetic disk storage, solid-state drives (e.g., using flash memory), optical storage (e.g., using CD-ROM), various types of random access memory (RAM), etc., which can provide persistent storage of information.
電腦系統1440經組態以從電腦可讀媒體1420讀取電路指令/描述1450。此外,電腦系統1440可執行各種指令並使用電路描述以導致製造系統1445製造由電路指令/描述1450表示之電路的一或多個例項。製造系統1445可係可製造電子電路之任何類型的自動化系統。
實例系統:
接下來參照圖15,其顯示系統1500之一個實施例的方塊圖,其可併入及/或以其他方式利用本文所述之方法及機制。在所繪示的實施例中,系統1500包括系統單晶片(SoC) 1506之至少一例項,其可包括多種類型之處理單元,諸如中央處理單元(CPU)、圖形處理單元(GPU)、或否則通訊組構、及至記憶體及輸入/輸出裝置的介面。在一些實施例中,SoC 1506中之一或多個處理器包括多個執行線道(execution lane)及指令發行佇列。在各種實施例中,SoC 1506係耦合至外部記憶體1502、周邊設備1504、及電力供應1508。Referring next to FIG. 15 , a block diagram of one embodiment of a system 1500 that can incorporate and/or otherwise utilize the methods and mechanisms described herein is shown. In the depicted embodiment, system 1500 includes at least one instance of system-on-chip (SoC) 1506, which may include various types of processing units, such as central processing units (CPUs), graphics processing units (GPUs), or otherwise Communication fabric, and interface to memory and input/output devices. In some embodiments, one or more processors in
亦提供電力供應1508,其供應至SoC 1506之供應電壓及至記憶體1502及/或周邊設備1504的一或多個供應電壓。在各種實施例中,電力供應1508表示電池組(例如,智慧型手機、膝上型電腦、或平板電腦、或其他裝置中的可充電電池)。在一些實施例中,包括多於一個的SoC 1506之例項(且亦包括多於一個的外部記憶體1502)。A power supply 1508 is also provided that supplies a supply voltage to
記憶體1502係任何類型的記憶體,諸如動態隨機存取記憶體(DRAM)、同步DRAM (SDRAM)、雙倍資料速率(DDR、DDR2、DDR3等)SDRAM(包括諸如mDDR3等之SDRAM的行動版本及/或諸如LPDDR2等之SDRAM的低電力版本)、RAMBUS DRAM (RDRAM)、靜態RAM(SRAM)等。一或多個記憶體裝置係耦合至電路板上以形成記憶體模組,諸如單列記憶體模組(SIMM)、雙列記憶體模組(DIMM)等。替代地,裝置係經安裝,其中SOC或積體電路呈晶片上晶片組態、疊層封裝組態、或多晶片模組組態。
周邊設備1504依據系統1500之類型包括任何所欲的電路系統。例如,在一個實施例中,周邊設備1504包括用於各種類型之無線通訊(諸如,WiFi、藍牙、蜂巢式、全球定位系統等)的裝置。在一些實施例中,周邊設備1504亦包括額外儲存器,包括RAM儲存器、固態儲存器、或磁碟儲存器。周邊設備1504包括使用者介面裝置,諸如顯示螢幕(包括觸控顯示螢幕或多觸控顯示螢幕)、鍵盤、或其他輸入裝置、麥克風、揚聲器等。
如所繪示,系統1500係顯示為具有在範圍廣泛的領域中之應用。例如,系統1500可用作桌上型電腦1510、膝上型電腦1520、平板電腦1530、蜂巢式或行動電話1540、或電視機1550(或經耦合至電視機的機上盒)之晶片、電路系統、組件等的部分。亦繪示智慧型手錶及健康監測裝置1560。在一些實施例中,智慧型手錶1560可包括各種通用計算相關功能。例如,智慧型手錶可提供對電子郵件、手機服務、使用者日曆等等的存取。在各種實施例中,健康監測裝置可係專用醫學裝置或否則包括專用健康相關功能性。例如,健康監測裝置可監測使用者之生命徵象,追蹤使用者對其他使用者的接近性以用於流行病皮社交距離之目的,接觸追跡、在健康危機之情況下向緊急服務提供通訊。流行病學功能(諸如接觸者追蹤(contact tracing))、提供對急診醫療服務之通訊等。在各種實施例中,上文所提及之智慧手錶可或可不包括一些或任何健康監測相關功能。亦預期其他穿戴式裝置,諸如圍繞頸部穿戴之裝置、可植入人體中之裝置、經設計以提供擴增及/或虛擬實境體驗的眼鏡等等。As depicted, system 1500 is shown to have application in a wide variety of fields. For example, system 1500 may be used as a chip, circuit, or chip for
系統1500可進一步用作(多個)基於雲端之服務1570之部分。例如,先前所提及之裝置及/或其他裝置可存取雲端中的運算資源(亦即,遠端地定位硬體及/或軟體資源)。更進一步地,系統1500可用在有別於先前所提及之一或多個家用裝置中。例如,居家內之器具可監測及偵測值得關注之條件。例如,在居家內之各種裝置(例如,冰箱、冷氣系統等)可監測裝置之狀態,且提供應偵測到特定事件的警示給屋主(或例如修復設施)。替代地,恆溫器可監測家中之溫度,且可基於屋主對各種條件的回應歷史而自動調整溫氣/冷氣系統。圖15亦繪示系統1500至各種運輸模式的應用。例如,系統1500可用在航空器、火車、公共汽車、出租車、自用小客車、從私人船隻至大型遊艇的水面船隻、機車(供出租或自用)等等之控制及/或娛樂系統中。在各種情況下,系統1500可用以提供自動化導引(例如,自駕車)、通用系統控制、及其他者。這些及許多其他實施例係可行且在預期中的。須注意,圖15所繪示之裝置及應用僅係說明而非意欲限制。其他裝置係可行且經設想的。System 1500 may further be used as part of cloud-based service(s) 1570 . For example, the previously mentioned devices and/or other devices may access computing resources in the cloud (ie, remotely locate hardware and/or software resources). Still further, system 1500 may be used in a home device other than one or more previously mentioned. For example, appliances in the home can monitor and detect conditions of concern. For example, various devices in a home (eg, refrigerators, air-conditioning systems, etc.) can monitor the status of the devices and provide alerts to the homeowner (or, eg, repair facilities) that certain events should be detected. Alternatively, a thermostat can monitor the temperature in the home and can automatically adjust the heating/cooling system based on the homeowner's history of responses to various conditions. Figure 15 also illustrates the application of the system 1500 to various modes of transportation. For example, the system 1500 may be used in control and/or entertainment systems of aircraft, trains, buses, taxis, private passenger cars, surface vessels ranging from private watercraft to large yachts, locomotives (for rental or personal use), and the like. In various cases, system 1500 may be used to provide automated guidance (eg, self-driving cars), general system control, and others. These and many other embodiments are possible and contemplated. It should be noted that the devices and applications depicted in Figure 15 are illustrative only and not intended to be limiting. Other arrangements are possible and contemplated.
本揭露進一步預期在圖15所繪示之各種裝置的一些或全部者之中使用共同的可擴縮計算架構。因此,可根據在其中實施之特定系統的需求擴縮計算元件。例如,智慧型手錶/健康監測裝置1560可使用可擴縮架構之計算元件的第一實施方案,而平板電腦1530使用第二實施方案,且桌上型電腦1510使用第三實施方案。在此特定實例中,平板電腦1530中之計算元件的實施方案可相對於智慧型手錶/健康監測裝置1560按比例放大。類似地,桌上型電腦1510中之計算元件的實施方案可相對於平板電腦1530按比例放大。因此,這些裝置之各者可利用共同的計算架構,該計算架構係在根據其各別系統的需求之尺度上實施。根據本揭露之電力輸送系統連同可擴縮架構可在這些應用的各者中提供,且可與計算元件一起相應地擴縮。因此,雖然此處所討論之實例的各者可利用具有共同設計的電力輸送系統,用於桌上型電腦1510的實施方案可具有多於平板電腦1530的電力輸送容量,該平板電腦繼而具有大於智慧型手錶/健康監測裝置1560的電力輸送容量。然而,用在這些不同裝置中之電力輸送系統的共同設計可顯著地簡化其等之實施方案,因為電力輸送系統可藉由啟用/禁用其中之電力轉換器的適當者而經組態用於特定應用。
***
The present disclosure further contemplates the use of a common scalable computing architecture among some or all of the various devices depicted in FIG. 15 . Thus, computing elements can be scaled according to the needs of the particular system in which they are implemented. For example, smart watch/
本揭露包括對「一實施例(an embodiment)」或「實施例」群組(groups of 「embodiments」)(例如,「一些實施例(some embodiment)」或「各種實施例(various embodiments)」)的引用。實施例係所揭露之概念的不同實施方案或例項。提及「一實施例(an embodiment)」、「一個實施例(one embodiment)」、「一特定實施例(a particular embodiment)」、及類似者不必然指稱相同實施例。設想大量可行的實施例,包括該些具體揭示者,以及落在本揭露之精神或範圍內的修改或替代例。References to "an embodiment" or "groups of "embodiments" (eg, "some embodiments" or "various embodiments") are included in this disclosure. references. The embodiments are various implementations or instances of the disclosed concepts. References to "an embodiment," "one embodiment," "a particular embodiment," and the like are not necessarily all referring to the same embodiment. Numerous possible embodiments are contemplated, including those specifically disclosed, as well as modifications or alternatives that fall within the spirit or scope of the disclosure.
本揭露可討論可由所揭露之實施例產生的潛在優點。並非這些實施例之所有實施方案將必須表現潛在優點之任何者或全部。無論是針對特定實施方案所實現的優點是否取決於許多因素,其中一些係在本揭露範圍外。事實上,落在申請專利範圍之範圍內的實施方案可能不會展現一些或所有任何所揭露之優點有許多原因。例如,一特定實施方案可包括本揭露範圍外的其他電路系統(結合所揭露實施例之一者)而使一或多個所揭露優點無效或減弱。此外,特定實施方案(例如,實施方案技術或工具)之次佳設計執行亦可使所揭露優點無效或減弱。即使假定經熟練的實施方案,優點的實現仍可取決於其他因素,諸如於其中部署該實施方案之環境情況。例如,施加至一特定實施方案的輸入可防止在此揭露中解決的一或多個問題免於出現在特定場合,結果係可能無法實現其解決方案的效益。考慮到本揭露外部的可能因素的存在,明確地意欲將本文所述的任何潛在優點並非解讀為必須符合請求項限制以證明侵權。而是,此類潛在優點之識別意欲說明具有本揭露之利益的設計者可用的(多種)改善類型。許可地描述的此類優點(例如,陳述特定優點「可引起」)並非意欲傳達實際上此類優點是否可實現的疑慮,而是認知到實現此類優點的技術現實常取決於額外因素。This disclosure may discuss potential advantages that may result from the disclosed embodiments. Not all implementations of these examples will necessarily exhibit any or all of the potential advantages. Whether an advantage is realized for a particular implementation depends on many factors, some of which are outside the scope of this disclosure. In fact, there are a number of reasons why implementations falling within the scope of the claims may not exhibit some or all of any of the disclosed advantages. For example, a particular implementation may include other circuitry outside the scope of this disclosure (in conjunction with one of the disclosed embodiments) that would negate or reduce one or more of the disclosed advantages. Furthermore, sub-optimal design execution of a particular implementation (eg, implementation technique or tool) may also nullify or reduce disclosed advantages. Even assuming a skilled implementation, the realization of advantages may still depend on other factors, such as the circumstances of the environment in which the implementation is deployed. For example, inputs applied to a particular implementation may prevent one or more of the problems addressed in this disclosure from occurring in a particular situation, with the result that the benefits of its solution may not be realized. Given the existence of possible factors external to the present disclosure, it is expressly intended that any potential advantages described herein should not be construed as having to meet the claims limitations in order to prove infringement. Rather, the identification of such potential advantages is intended to illustrate the types of improvement(s) available to designers having the benefit of this disclosure. Permissively describing such advantages (eg, stating that a particular advantage "may result from") is not intended to convey doubt as to whether such advantages are in fact achievable, but rather a recognition that the technical reality of achieving such advantages often depends on additional factors.
除非另外陳述,否則實施例係非限制性的。即,所揭露之實施例並非意欲限制基於本揭露之草擬的申請專利範圍之範圍,即使僅描述關於一特定特徵的一單一實例。所揭露之實施例意欲係說明性而非限制,而在本揭露中沒有與此相反的任何陳述。因此,本申請案意欲允許申請專利範圍涵蓋所揭露之實施例以及此類替代例、修改例、與均等物,此等對於受益於本揭露之所屬技術領域中具有通常知識者來說將是顯而易見的。The examples are non-limiting unless otherwise stated. That is, the disclosed embodiments are not intended to limit the scope of draft claims based on the present disclosure, even if only a single instance of a particular feature is described. The disclosed embodiments are intended to be illustrative rather than limiting and no statement to the contrary is made in this disclosure. Accordingly, this application is intended to allow patent claims to cover the disclosed embodiments as well as such alternatives, modifications, and equivalents, which would be apparent to those of ordinary skill in the art having the benefit of this disclosure. of.
例如,此申請案中的特徵可以任何合適的方式組合。據此,在此申請案之審查期間(或主張其優先權之申請案)可對特徵之任何此類組合制定新請求項。具體而言,參考隨附申請專利範圍,可組合來自獨立請求項之特徵與其他獨立請求項之特徵,若適當,包括依附於其他附屬請求項的請求項。類似地,若適當,可組合來自各別附屬請求項之特徵。For example, the features of this application may be combined in any suitable manner. Accordingly, new claims may be made to any such combination of features during the prosecution of this application (or an application claiming priority thereto). In particular, with reference to the appended claims, features from independent claims may be combined with features of other independent claims, including claims dependent on other dependent claims, if appropriate. Similarly, features from separate dependent claims may be combined where appropriate.
據此,雖然隨附的附屬請求項可經草擬,使得各依附於一單一其他請求項,但是亦設想額外相依性。與本揭露一致之附屬項中之特徵的任何組合係在預期中的,且可在此申請案或另一申請案中主張。簡言之,組合不限於在隨附申請專利範圍中具體列舉者。Accordingly, while accompanying dependent claims may be drafted such that each is dependent on a single other claim, additional dependencies are also contemplated. Any combination of features in dependent claims consistent with this disclosure is contemplated and may be claimed in this or another application. In short, combinations are not limited to those specifically listed in the appended claims.
若適當,亦設想以一種格式或法定類型(例如,設備)草擬之請求項意欲支持另一種格式或法定類型(例如,方法)之對應請求項。 *** It is also contemplated that a claim drafted in one format or legal type (eg, device) is intended to support a corresponding claim in another format or legal type (eg, method), as appropriate. ***
因為本揭露係一法律文件,所以各種用語及詞組可受到行政與司法解釋的規約。公告特此以下段落以及在整份揭露內容提供的定義將用於判定如何解釋基於本揭露所草擬的申請專利範圍。Because this disclosure is a legal document, various terms and phrases are subject to administrative and judicial interpretation. The Notice hereby provides the definitions in the following paragraphs and throughout the disclosure that will be used to determine how to interpret claims drafted based on this disclosure.
除非上下文另有明確指定,否則提及項目的單數形式(即,名詞或名詞詞組之前有「一(a/an)」、或「該(the)」)意欲意指「一或多個(one or more)」)。因此,在一請求項提及「一項目(an item)」在沒有隨附上下文情況中不排除該項目的額外例項。「複數個(plurality)」項目係指二或更多個項目之一集合。References to an item in the singular (i.e., a noun or noun phrase preceded by "a/an", or "the") are intended to mean "one or more" unless the context clearly dictates otherwise. or more)"). Thus, reference to "an item" in a claim does not exclude additional instances of that item in the absence of accompanying context. "Plurality" of an item refers to a collection of one of two or more items.
在本文中,字語「可(may)」在本文中以許可意涵使用(即,具有可能以、能夠),且非以強制意涵使用(即,必須)。As used herein, the word "may" is used herein in a permissive sense (ie, has the potential to, can), and not in a mandatory sense (ie, must).
用語「包含(comprising)」及「包括(including)」及其形式係開放式,意指「包括但不限於(including, but not limited to)」。The terms "comprising" and "including" and their forms are open-ended and mean "including, but not limited to".
當本揭露中關於一選項清單使用用語「或(or)」時,其通常將被理解為以包含性意涵使用,除非上下文另有提供。因此,陳述「x或y (x or y)」相當於「x或y、或兩者(x or y, or both)」,因此:1)涵蓋x,但不涵蓋y;2)涵蓋y,但不涵蓋x;及3)涵蓋x與y兩者。另一方面,諸如「x或y任何者但非兩者(either x or y, but not both)」的詞組清楚表明「或(or)」係以排他性含意意義使用。When the term "or" is used in this disclosure in relation to a list of options, it will generally be read to be used in an inclusive sense, unless the context dictates otherwise. Thus, the statement "x or y (x or y)" is equivalent to "x or y, or both (x or y, or both)", so: 1) covers x, but not y; 2) covers y, but does not cover x; and 3) covers both x and y. On the other hand, phrases such as "either x or y, but not both" clearly indicate that "or" is used in an exclusive sense.
陳述「w、x、y、或z、或其任何組合(w, x, y, or z, or any combination thereof)」或「:w、x、y、及z之至少一者(at least one of … w, x, y, and z)」意欲涵蓋涉及在該集合中的單一元件至多總數目個元件的所有可能性。例如,給定集合[w, x, y, z],這些詞組涵蓋該集合之任何單一元件(例如,w,但沒有x、y、或z (w but not x, y, or z))、任何二個元件(例如,w與x,但沒有y或z (w and x, but not y or z))、任何三個元件(例如,w、x與y,但沒有z (w, x, and y, but not z))、及所有四個元件。因此,詞組「:w、x、y、及z之至少一者(at least one of … w, x, y, and z)」係指該集合[w, x, y, z]之至少一個元件,藉此涵蓋此元件清單中的所有可行組合。此詞組並不解讀為需要w之至少一個例項、x之至少一個例項、y之至少一個例項、及z之至少一個例項。The statement "w, x, y, or z, or any combination thereof (w, x, y, or z, or any combination thereof)" or ": at least one of w, x, y, and z of ... w, x, y, and z)" is intended to cover all possibilities involving a single element up to a total number of elements in the set. For example, given the set [w, x, y, z], these phrases cover any single element of the set (e.g., w but not x, y, or z (w but not x, y, or z)), Any two elements (e.g., w and x, but not y or z (w and x, but not y or z)), any three elements (e.g., w, x, and y, but not z (w, x, and y, but not z)), and all four elements. Thus, the phrase "at least one of ... w, x, y, and z" refers to at least one element of the set [w, x, y, z] , thereby covering all possible combinations in this bill of materials. This phrase is not to be read as requiring at least one instance of w, at least one instance of x, at least one instance of y, and at least one instance of z.
在本揭露中,各種「標示」可置於名詞或名詞詞組之前。除非上下文另有提供,否則用於一特徵的不同標示(例如,「第一電路(first circuit)」、「第二電路(second circuit)」、「特定電路(specific circuit)」、「給定電路(given circuit)」等)係指該特徵的不同例項。額外地,除非另有說明,否則標示「第一(first)」、「第二(second)」、及「第三(third)」當施加至一特徵時並非意味任何類型的順序(例如,空間、時間、邏輯等)。In this disclosure, various "markers" may be placed before nouns or noun phrases. Different designations used for a feature (e.g., "first circuit", "second circuit", "specific circuit", "given circuit" unless the context dictates otherwise) (given circuit)", etc.) refer to different instances of this feature. Additionally, the designations "first", "second", and "third" when applied to a feature do not imply any type of order (e.g., spatial , time, logic, etc.).
詞組「基於(based on)」係用以敘述影響一判定的一或多個因素。此用語不排除可能有額外因素可影響判定。意即,一判定可單獨基於特定因素,或基於該等特定因素以及其他未指出因素。考慮用語「基於B判定A(determine A based on B)」。此用語指出,B係一用以判定A之因素,或B影響A之判定。此用語不排除亦可基於一些其他因素例如C來判定A。此用語亦意欲涵括其中A係單獨基於B而判定的一實施例。如本文所用,用語「基於(based on)」與用語「至少部分地基於(based at least in part on)」同義。The phrase "based on" is used to describe one or more factors that affect a decision. This term does not exclude the possibility that additional factors may affect the determination. That is, a determination may be based on the specified factors alone, or on those specified factors and other unspecified factors. Consider the term "determine A based on B". This term indicates that B is a factor used to determine A, or that B affects A's determination. This term does not exclude that A may also be determined based on some other factor such as C. This term is also intended to encompass an embodiment in which A is determined based on B alone. As used herein, the term "based on" is synonymous with the term "based at least in part on".
詞組「回應於(in response to/response to)」描述觸發效應之一或多個因素。此詞組不排除額外因素可影響或以其他方式觸發效應的可能性,聯合特定因素或獨立於特定因素任一者。意即,一效應可係單獨回應於該等因素,或可回應於該等被指出因素以及其他未指出因素。考慮詞組「回應於B而執行A (perform A in response to B)」。此詞組指定B係觸發A之執行或觸發A之特定結果的因素。此詞組並不排除亦可回應於某個其他因素(諸如C)而執行A。此詞組亦不排除可聯合回應於B及C而執行A。此詞組亦意欲涵蓋僅回應於B而執行A的實施例。如本文中所使用的,詞組「回應於(responsive to)」與詞組「至少部分回應於(responsive at least in part to)」同義。類似地,詞組「回應於(in response to)」與詞組「至少部分回應於at least in part in response to)」同義。 *** The phrase "in response to/response to" describes one or more factors that trigger an effect. This phrase does not exclude the possibility that additional factors may influence or otherwise trigger an effect, either in conjunction with or independently of the particular factors. That is, an effect may be responsive to those factors alone, or may be responsive to those noted factors in addition to other unspecified factors. Consider the phrase "perform A in response to B". This phrase specifies that B is the factor that triggers the execution of A or triggers a specific result of A. This phrase does not exclude that A may also be performed in response to some other factor (such as C). The phrase also does not preclude performing A in joint response to B and C. This phrase is also intended to cover embodiments where A is performed in response to B only. As used herein, the phrase "responsive to" is synonymous with the phrase "responsive at least in part to." Similarly, the phrase "in response to" is synonymous with the phrase "at least in part in response to". ***
在本揭露中,不同的實體(其等可能被不同地稱為「單元(unit)」、「電路(circuit)」、其他組件等)可被描述或主張為「經組態(configured)」以執行一或多個任務或操作。此表示法(『實體』經組態以『執行一或多個任務』)在本文中係用以指稱結構(即,實體之物)。具體而言,此表示法係用以指示此結構係經配置以在操作期間執行該一或多個任務。即使結構當前未經操作,仍可說該結構「經組態以(configured to)」執行某些任務。因此,經描述或敘述為「經組態以(configured to)」執行某些任務的實體係指某實體事物,諸如裝置、電路、具有處理器單元的系統、及儲存可執行以實施任務之程式指令的記憶體等。此詞組在本文中並非用以指稱某無形事物。In this disclosure, various entities (which may be referred to variously as "units," "circuits," other components, etc.) may be described or claimed to be "configured" to Perform one or more tasks or actions. The notation ("entity" configured to "perform one or more tasks") is used herein to refer to structures (ie, things that are entities). Specifically, this notation is used to indicate that the structure is configured to perform the one or more tasks during operation. Even though the structure is not currently being manipulated, the structure can still be said to be "configured to" perform certain tasks. Thus, an entity described or described as being "configured to" perform certain tasks refers to a physical thing, such as a device, a circuit, a system having a processor unit, and a program stored executable to perform a task instruction memory, etc. This phrase is not used in this article to refer to an intangible thing.
在一些情況下,各種單元/電路/組件可在本文中描述為執行一組任務或操作。應理解,這些實體「經組態以(configured to)」執行該等任務/操作,即使未具體提及。In some cases, various units/circuits/components may be described herein as performing a set of tasks or operations. It should be understood that these entities are "configured to" perform such tasks/operations, even if not specifically mentioned.
用語「經組態以(configured to)」並非意欲意指「可組態以(configurable to)」。例如,未經程式化的FPGA將不被視為「經組態以(configured to)」執行一特定功能。然而,此未經程式化的FPGA可係「可組態以(configurable to)」執行該功能。在適當程式化之後,接著,該FPGA可聲稱「經組態以(configured to)」執行特定功能。The term "configured to" is not intended to mean "configurable to". For example, an FPGA that has not been programmed will not be considered "configured to" perform a specific function. However, the unprogrammed FPGA may be "configurable to" perform this function. After being properly programmed, the FPGA can then be claimed to be "configured to" perform a specific function.
為基於本揭露之美國專利申請案的目的,在一請求項中敘述一結構「經組態以」執行一或多個任務係明確地意欲不援引35 U.S.C. §112(f)對該請求項元件進行解讀。如果申請人意欲在基於本揭露的美國專利申請案的審查期間援引章節112(f),將使用「用以『執行一功能』之構件」這樣的句構來陳述請求項元件。For the purposes of a U.S. patent application based on this disclosure, stating in a claim that a structure is "configured to" perform one or more tasks is expressly intended not to invoke 35 U.S.C. §112(f) for that claim element to interpret. If the applicant intended to invoke Section 112(f) during prosecution of a US patent application based on the present disclosure, the claim elements would be stated using the phrase "means for "performing a function"."
在本揭露中可描述不同的「電路(circuit)」。這些電路或「電路系統(circuitry)」構成包括各種類型電路元件的硬體,諸如組合式邏輯、時控儲存裝置(例如,正反器、暫存器、鎖存器等)、有限狀態機、記憶體(例如,隨機存取記憶體、嵌入式動態隨機存取記憶體)、可程式化邏輯陣列等。電路系統可經客製化設計或自標準程式庫取用。在各種實施方案中,電路系統可依需要包括數位組件、類比組件、或兩者之組合。某些類型的電路通常可稱為「單元(unit)」(例如,解碼單元、算術邏輯單元(ALU)、功能單元、記憶體管理單元(memory management unit, MMU)等)。此類單元亦指電路或電路系統。Various "circuits" may be described in this disclosure. These circuits or "circuitry" constitute hardware that includes various types of circuit elements, such as combinational logic, clocked storage devices (e.g., flip-flops, registers, latches, etc.), finite state machines, Memory (eg, Random Access Memory, Embedded Dynamic Random Access Memory), Programmable Logic Array, etc. Circuitry can be custom designed or taken from standard libraries. In various implementations, the circuitry may include digital components, analog components, or a combination of both, as desired. Certain types of circuits are often referred to as "units" (eg, decoding units, arithmetic logic units (ALUs), functional units, memory management units (MMUs), etc.). Such units are also referred to as circuits or circuitry.
因此,所揭露之電路/單元/組件及圖式中所繪示與本文所揭露的其他元件包括硬體元件,諸如前述段落中所述者。在許多例項中,可藉由描述一特定電路之功能來指定在該電路內之硬體元件的內部配置。例如,一特定「解碼單元(decode unit)」可描述為執行「處理指令的作業碼,並將該指令路由到複數個功能單元中之一或多者(processing an opcode of an instruction and routing that instruction to one or more of a plurality of functional units)」的功能,其意指該解碼單元「經組態以(configured to)」執行此功能。本功能之說明書對電腦技術領域中具有通常知識者足以意味著用於該電路之一組可行結構。Accordingly, the disclosed circuits/units/components and other elements shown in the drawings and disclosed herein include hardware elements such as those described in the preceding paragraphs. In many instances, the internal configuration of hardware elements within a particular circuit can be specified by describing the function of that circuit. For example, a specific "decode unit" may be described as executing "processing an opcode of an instruction and routing that instruction" to one or more of a plurality of functional units. to one or more of a plurality of functional units), which means that the decoding unit is "configured to (configured to)" to perform this function. The description of this function is sufficient for those with ordinary knowledge in the field of computer technology to imply a set of possible configurations for the circuit.
在各種實施例中,如前述段落中所討論的,電路、單元、及其他元件可藉由其等經組態以實施的功能或操作界定。該配置及相關於彼此的此類電路/單元/組件及其等互動的方式形成硬體的微架構定義,該硬體最終製造在積體電路中或經程式化至FPGA中以形成微架構定義之實體實施方案。因此,該微階層性定義係由所屬技術領域中具有通常知識者所認知為許多實體實施方案可自其衍生的結構,其等所有皆落入該微階層性定義係所描述之廣泛結構內。即,提出根據本揭露所提供之微階層性定義的具有通常知識的技術人員可在無需過度實驗且在應用通常知識之情況中,藉由以硬體描述語言(hardware description language, HDL)(諸如Verilog或VHDL)編碼電路/單元/組件的描述來實施該結構。HDL描述常以可呈功能性之方式表達。但是對於所屬技術領域中具有通常知識者,此HDL描述係用以將電路、單元、或組件的結構變換成下一層級之實施方案細節的方式。此一HDL描述可採取行為程式碼(其一般並非可合成的)、暫存器傳送語言(register transfer language, RTL)程式碼(其一般係可合成,對比於行為程式碼)、或結構性程式碼(例如,指定邏輯閘及其等連接性的接線對照表)之形式。隨後,HDL描述可依據針對一給定積體電路製造技術所設計的元件庫而合成,且可針對時序、功率及其他原因進行修改以產生一最終設計資料庫,該最終設計資料庫傳送至製造廠以製造遮罩,最後生產出積體電路。一些硬體電路或其部分亦可在一簡圖編輯器(schematic editor)中經客製化設計,並隨合成電路系統被轉移至積體電路設計中。積體電路可包括電晶體及其他電路元件(例如,被動元件,諸如電容器、電阻器、電感器等)及電晶體與電路元件間之互連件。一些實施例可實施多個積體電路,該多個積體電路經耦合在一起以實施硬體電路,且/或在一些實施例中可使用離散元件。替代地,HDL設計可經合成至一可程式化邏輯陣列,諸如現場可程式化閘陣列(FPGA),且可於FPGA中實施。此電路群組之設計與這些電路的後續下層實施方案之間的解耦通常導致以下情境,其中當此程序係在電路實施程序的一不同階段執行時,電路或邏輯設計者從不針對下層實施方案指定超出電路經組態以執行動作之描述的特定一組結構。In various embodiments, as discussed in the preceding paragraphs, circuits, units, and other elements may be defined by the functions or operations they are configured to perform. The configuration and the manner in which such circuits/units/components and the like interact with each other form the microarchitecture definition of the hardware that is ultimately fabricated in an integrated circuit or programmed into an FPGA to form the microarchitecture definition The physical implementation plan. Thus, the micro-hierarchical definition is a structure recognized by those of ordinary skill in the art as a structure from which many physical implementations can be derived, all of which fall within the broad structure described by the micro-hierarchical definition. That is, a person of ordinary knowledge who proposes the definition of micro-hierarchy provided by the present disclosure can, without undue experimentation and with the application of common knowledge, by using a hardware description language (hardware description language, HDL) (such as Verilog or VHDL) to encode a description of the circuit/unit/component to implement the structure. HDL descriptions are often expressed in a way that can be functional. But to those of ordinary skill in the art, the HDL description is the means by which the structure of a circuit, unit, or component is transformed into the next level of implementation detail. Such an HDL description can take the form of behavioral code (which is generally not synthesizable), register transfer language (RTL) code (which is generally synthesizable, as opposed to behavioral code), or structural program code (for example, a wiring comparison table specifying logic gates and their connectivity). HDL descriptions can then be synthesized from a library of components designed for a given IC fabrication technology, and can be modified for timing, power, and other reasons to produce a final design database that is sent to manufacturing The factory makes masks and finally produces integrated circuits. Some hardware circuits or parts thereof can also be customized in a schematic editor and transferred to the integrated circuit design along with the synthesized circuit system. An integrated circuit may include transistors and other circuit elements (eg, passive elements such as capacitors, resistors, inductors, etc.) and interconnects between the transistors and the circuit elements. Some embodiments may implement multiple integrated circuits coupled together to implement a hardware circuit, and/or may use discrete components in some embodiments. Alternatively, the HDL design can be synthesized to a programmable logic array, such as a field programmable gate array (FPGA), and implemented in the FPGA. The decoupling between the design of this group of circuits and the subsequent underlying implementation of these circuits often results in situations where the circuit or logic designer never targets the underlying implementation when the process is executed at a different stage of the circuit implementation process. A scheme specifies a particular set of structures that go beyond a description that a circuit is configured to perform an action.
事實上,電路元件之許多不同的下層組合可用以實施相同規格電路,導致該電路的大量等效結構。如所提及,這些下層電路實施方案可根據製造技術的變化、經選擇以製造積體電路的製造廠、針對一特定專案所提供之元件庫等而變化。在許多情況中,由不同設計工具或方法論進行選擇,以產生此等不同實施方案可係任意的。In fact, many different underlying combinations of circuit elements can be used to implement the same specification circuit, resulting in a large number of equivalent structures for the circuit. As mentioned, these underlying circuit implementations may vary according to variations in manufacturing technology, the foundry selected to manufacture the integrated circuit, the library of components provided for a particular project, and the like. In many cases, the choice of different design tools or methodologies to produce these different implementations may be arbitrary.
此外,對於電路之特定功能規格的單一實施方案常見的是,針對給定實施例,包括大量裝置(例如,數百萬的電晶體)。據此,數量龐大的此資訊使得提供完整陳述用以實施單一實施例之下層結構係不切實際的,更別說是龐大陣列的等效可行實施方案。出於此原因,本揭露描述使用產業中通常採用的功能速記的電路結構。Furthermore, it is common for a single implementation of a particular functional specification of a circuit to include a large number of devices (eg, millions of transistors) for a given embodiment. Accordingly, the sheer volume of this information makes it impractical to provide a complete statement of the underlying structure for implementing a single embodiment, let alone a vast array of equivalently feasible implementations. For this reason, this disclosure describes circuit structures using functional shorthand commonly employed in the industry.
對於所屬技術領域中具有通常知識者而言,一旦已完全瞭解上述揭示內容,則眾多變化及修改將變得顯而易見。意欲將以下申請專利範圍解釋為涵蓋所有此等變化及修改。Numerous changes and modifications will become apparent to those of ordinary skill in the art once the above disclosure has been fully appreciated. It is intended that the following claims be construed to cover all such changes and modifications.
110:系統單晶片(SOC) 110':系統單晶片(SOC) 110":系統單晶片(SOC) 120:記憶體 122:記憶體控制器 124:串列控制器 130:全域電力控制電路 132:觸發邏輯電路;觸發邏輯 134:速率控制電路 140:電力管理單元(PMU) 142:電壓調節器 142A:電壓調節器 142B:電壓調節器 142C:電壓調節器 144:電力輸送觸發電路 144A:電力輸送觸發電路 144B:電力輸送觸發電路 144C:電力輸送觸發電路 146:串列電力輸送觸發電路 146A:串列電力輸送觸發電路 146B:串列電力輸送觸發電路 146C:串列電力輸送觸發電路 150:處理器叢集 152:處理器(P) 154:共處理器 160:圖形處理單元(GPU) 170:通訊組構 180:周邊設備 500:記憶體控制器管線;管線 510:速率限制器 510A:速率限制器 510B:速率限制器 510C:速率限制器 510D:速率限制器 520:標籤及目錄管 525:記憶體仲裁器 530:記憶體快取 540A:請求緩衝器 540B:回應緩衝器 540C:請求緩衝器 540D:回應緩衝器 550:通訊介面 550A:通訊介面 550B:通訊介面 560:資料管佇列 565A:讀取仲裁器 565B:寫入仲裁器 570:記憶體佇列 580:記憶體輸出緩衝器 590B:輸出仲裁器 590D:輸出仲裁器 595:快取資料記憶體 600:速率限制器介面工具集 610:速率限制器型樣產生 612:型樣仲裁器 614:型樣暫存器 616:指標 620:局部活動偵測 622:移位暫存器 624:活動計數器 626:活動臨限比較器 630:速率限制器控制 632:啟用仲裁器 700:電力管理電路(PMGR) 702:遙測表 704:電力管理處理器(PMP) 710:電力預算控制碼;電力預算;代碼 720A:電力控制電路(PwrCtl) 720B:電力控制電路(PwrCtl) 720C:電力控制電路(PwrCtl) 722A:電力預算;預算 722B:電力預算;預算 722C:電力預算;預算 800:全域電力管理機制 802:PMP/電力預算控制機制 804:基於CPU的電力控制 900:階層式電力輸送系統 900A:電力控制窗;窗 900B:電力控制窗;窗 900N:電力控制窗;窗 902:CPU電力控制窗 1000:方塊 1002:決策方塊 1004:方塊 1006:方塊 1100:方法 1102:方塊 1104:方塊 1106:方塊 1108:方塊 1110:方塊 1200:方法 1202:方塊 1204:方塊 1206:方塊 1300:系統 1310:階層式電力輸送系統 1312:第一電力轉換器階層;電力轉換器階層 1314:第二電力轉換器階層;電力轉換器階層 1320:計算元件 1322:積體電路(IC或SOC) 1322-1:IC 1322-2:IC 1322-N:IC 1400:製造系統 1420:電腦可讀媒體 1440:電腦系統 1445:製造系統 1450:指令/描述 1500:系統 1502:外部記憶體;記憶體 1504:周邊設備 1506:系統單晶片(SoC) 1508:電力供應 1510:桌上型電腦 1520:膝上型電腦 1530:平板電腦 1540:蜂巢式或行動電話 1550:電視機 1560:智慧型手錶/健康監測裝置 1570:基於雲端之服務 110: System Single Chip (SOC) 110': System on Chip (SOC) 110": System-on-Chip (SOC) 120: memory 122: Memory controller 124: serial controller 130: global power control circuit 132: trigger logic circuit; trigger logic 134: Rate control circuit 140: Power Management Unit (PMU) 142:Voltage regulator 142A: Voltage Regulator 142B: voltage regulator 142C: voltage regulator 144: Power delivery trigger circuit 144A: Power delivery trigger circuit 144B: Power delivery trigger circuit 144C: Power delivery trigger circuit 146: Serial power transmission trigger circuit 146A: Serial power delivery trigger circuit 146B: Serial power delivery trigger circuit 146C: Serial Power Delivery Trigger Circuit 150: processor cluster 152: Processor (P) 154: Coprocessor 160: Graphics Processing Unit (GPU) 170: Communication structure 180: Peripheral equipment 500: memory controller pipeline; pipeline 510: rate limiter 510A: Rate Limiter 510B: Rate Limiter 510C: Rate Limiter 510D: Rate Limiter 520: Label and catalog tube 525: Memory arbiter 530:Memory cache 540A: Request Buffer 540B: Response buffer 540C: request buffer 540D: Response buffer 550: communication interface 550A: communication interface 550B: communication interface 560:Data pipe queue 565A: Read arbiter 565B: Write to the arbiter 570:Memory Queue 580: Memory output buffer 590B: output arbiter 590D: output arbiter 595:Cache data memory 600:Rate limiter interface toolset 610: Rate limiter pattern generation 612: Pattern Arbiter 614: Model temporary register 616:Indicator 620: Local activity detection 622: shift register 624: Activity counter 626: Active Threshold Comparator 630: Rate limiter control 632:Enable arbiter 700: Power management circuit (PMGR) 702: Telemetry table 704: Power Management Processor (PMP) 710: power budget control code; power budget; code 720A: Power control circuit (PwrCtl) 720B: Power control circuit (PwrCtl) 720C: Power control circuit (PwrCtl) 722A: Electricity budget; budget 722B: Electricity budget; budget 722C: Electricity budget; budget 800:Global Power Management Mechanism 802: PMP/power budget control mechanism 804: CPU-based power control 900: Hierarchical power transmission system 900A: electric control window; window 900B: electric control window; window 900N: electric control window; window 902: CPU power control window 1000: block 1002: Decision block 1004: block 1006: block 1100: method 1102: block 1104: block 1106: block 1108: block 1110: block 1200: method 1202: block 1204: block 1206: block 1300: system 1310: Hierarchical power transmission system 1312:First power converter class; power converter class 1314:Second Power Converter Class; Power Converter Class 1320: computing element 1322: Integrated circuit (IC or SOC) 1322-1:IC 1322-2:IC 1322-N:IC 1400: Manufacturing Systems 1420: Computer-readable media 1440: Computer system 1445: Manufacturing Systems 1450: Instruction/Description 1500: system 1502: external memory; memory 1504: peripheral equipment 1506: System on a Chip (SoC) 1508: Electricity supply 1510: Desktop computer 1520: Laptop 1530: Tablet PC 1540: cellular or mobile phone 1550: TV 1560: Smart Watch/Health Monitoring Device 1570: Cloud-based services
本揭露所述之實施例的方法及設備之特徵及優點將藉由參照下列之根據本揭露所述之實施例之目前較佳但為說明性的實施例之詳細描述而連同隨附圖式更完整地理解,其中:The features and advantages of the methods and apparatus of embodiments of the present disclosure will be further enhanced by reference to the following detailed description of a presently preferred but illustrative embodiment of embodiments of the present disclosure together with the accompanying drawings. fully understood, where:
[圖1]係包括耦合至記憶體及電力管理單元(PMU)之系統單晶片(SOC)的系統之一個實施例的方塊圖。 [圖2]係PMU之一個實施例的方塊圖。 [圖3]係PMU之另一實施例的方塊圖。 [圖4]係全域電力控制電路之一個實施例的方塊圖。 [圖5]係記憶體控制器管線之一個實施例的方塊圖。 [圖6]係速率限制器介面工具集之一個實施例的方塊圖。 [圖7]係系統單晶片(SOC)之另一實施例的方塊圖。 [圖8]係電力管理機構之一個實施例的方塊圖。 [圖9]係繪示電力控制窗的時序圖。 [圖10]係繪示操作電力管理處理器之一個實施例的流程圖。 [圖11]係根據一些實施例之繪示用於積體電路中之電力縮減之方法的流程圖。 [圖12]係根據一些實施例之繪示用於積體電路中之電力縮減之另一方法的流程圖。 [圖13]係電力輸送系統之一個實施例的方塊圖。 [圖14]係繪示電腦系統、電腦可讀媒體、及製造系統之一個實施例的方塊圖。 [圖15]係實例系統之一個實施例的方塊圖。 [FIG. 1] is a block diagram of one embodiment of a system including a system-on-chip (SOC) coupled to memory and a power management unit (PMU). [Fig. 2] is a block diagram of an embodiment of the PMU. [Fig. 3] is a block diagram of another embodiment of the PMU. [Fig. 4] is a block diagram of an embodiment of the global power control circuit. [FIG. 5] is a block diagram of one embodiment of a memory controller pipeline. [FIG. 6] is a block diagram of one embodiment of a rate limiter interface toolset. [FIG. 7] is a block diagram of another embodiment of a system-on-chip (SOC). [Fig. 8] is a block diagram of an embodiment of the power management mechanism. [Fig. 9] is a timing diagram showing the power control window. [FIG. 10] is a flowchart illustrating an embodiment of operating a power management processor. [ FIG. 11 ] is a flowchart illustrating a method for power reduction in integrated circuits according to some embodiments. [ FIG. 12 ] is a flowchart illustrating another method for power reduction in integrated circuits, according to some embodiments. [ Fig. 13 ] is a block diagram of an embodiment of a power transmission system. [FIG. 14] is a block diagram illustrating an embodiment of a computer system, a computer readable medium, and a manufacturing system. [FIG. 15] is a block diagram of one embodiment of the example system.
在下文描述中,提出許多具體細節,以提供對所揭示之實施例的透徹理解。然而,所屬技術領域中具有通常知識者應當認識到,可在沒有這些具體細節的情況下實施所揭示之實施例的態樣。在一些例項中,未詳細展示熟知的電路、結構、信號、電腦程式指令、及技術,以避免模糊所揭示之實施例。In the following description, numerous specific details are set forth in order to provide a thorough understanding of the disclosed embodiments. However, one of ordinary skill in the art would recognize that aspects of the disclosed embodiments may be practiced without these specific details. In some instances, well-known circuits, structures, signals, computer program instructions, and techniques have not been shown in detail to avoid obscuring the disclosed embodiments.
110:系統單晶片(SOC) 110: System Single Chip (SOC)
120:記憶體 120: memory
122:記憶體控制器 122: Memory controller
130:全域電力控制電路 130: global power control circuit
140:電力管理單元(PMU) 140: Power Management Unit (PMU)
150:處理器叢集 150: processor cluster
152:處理器(P) 152: Processor (P)
154:共處理器 154: Coprocessor
160:圖形處理單元(GPU) 160: Graphics Processing Unit (GPU)
170:通訊組構 170: Communication structure
180:周邊設備 180: Peripheral equipment
700:電力管理電路(PMGR) 700: Power management circuit (PMGR)
702:遙測表 702: Telemetry table
704:電力管理處理器(PMP) 704: Power Management Processor (PMP)
710:電力預算控制碼 710: Power budget control code
720A:電力控制電路(PwrCtl) 720A: Power control circuit (PwrCtl)
720B:電力控制電路(PwrCtl) 720B: Power control circuit (PwrCtl)
722A:電力預算 722A: Electricity Budget
722B:電力預算 722B: Electricity Budget
722C:電力預算 722C: Power Budget
Claims (20)
Applications Claiming Priority (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163239264P | 2021-08-31 | 2021-08-31 | |
US63/239,264 | 2021-08-31 | ||
US17/676,668 | 2022-02-21 | ||
US17/676,683 | 2022-02-21 | ||
US17/676,668 US11693472B2 (en) | 2021-08-31 | 2022-02-21 | Multi-die power management in SoCs |
US17/676,665 | 2022-02-21 | ||
US17/676,683 US11853140B2 (en) | 2021-08-31 | 2022-02-21 | Power management based on limiting hardware-forced power control |
US17/676,665 US11960341B2 (en) | 2021-08-31 | 2022-02-21 | Power delivery reduction scheme for SoC |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202318152A true TW202318152A (en) | 2023-05-01 |
TWI836579B TWI836579B (en) | 2024-03-21 |
Family
ID=
Also Published As
Publication number | Publication date |
---|---|
US11960341B2 (en) | 2024-04-16 |
US11693472B2 (en) | 2023-07-04 |
US20230061898A1 (en) | 2023-03-02 |
US20230063331A1 (en) | 2023-03-02 |
CN117882028A (en) | 2024-04-12 |
WO2023033969A1 (en) | 2023-03-09 |
US20230069344A1 (en) | 2023-03-02 |
US11853140B2 (en) | 2023-12-26 |
KR20240040797A (en) | 2024-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109564556B (en) | Memory controller arbiter with stripe and read/write transaction management | |
KR101703467B1 (en) | Dynamic voltage and frequency management based on active processors | |
US20110264934A1 (en) | Method and apparatus for memory power management | |
US20150363116A1 (en) | Memory controller power management based on latency | |
WO2023081054A1 (en) | Performance management during power supply voltage droop | |
TW202328895A (en) | Scalable system on a chip | |
US20240061617A1 (en) | Memory Bank Hotspotting | |
US20230214350A1 (en) | Die-to-die Dynamic Clock and Power Gating | |
TWI836579B (en) | Power management based on limiting hardware-forced power control | |
TW202318152A (en) | Power management based on limiting hardware-forced power control | |
US11822411B2 (en) | Telemetry push aggregation | |
US11513848B2 (en) | Critical agent identification to modify bandwidth allocation in a virtual channel | |
US11836026B1 (en) | System-on-chip with DVFM protection circuit | |
US20240038310A1 (en) | Non-Volatile Memory Power Cycle Protection Mechanism | |
US20230109984A1 (en) | Request and Floor Interface for Current Control with Correctness in an SOC | |
US20230101217A1 (en) | Global Integrated Circuit Power Control | |
US11467988B1 (en) | Memory fetch granule | |
US11900146B2 (en) | Memory controller with separate transaction table for real time transactions | |
US10401938B1 (en) | Single power plane dynamic voltage margin recovery for multiple clock domains | |
WO2023048930A1 (en) | Global integrated circuit power control | |
TW202412011A (en) | Memory calibration and margin check | |
CN117980862A (en) | Global integrated circuit power control |