TW202318152A - Power management based on limiting hardware-forced power control - Google Patents

Power management based on limiting hardware-forced power control Download PDF

Info

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
Application number
TW111132676A
Other languages
Chinese (zh)
Other versions
TWI836579B (en
Inventor
多倫 拉吉萬
卡爾 丹尼爾 伍爾坎
塔爾 庫茲
印朵 M 索帝
艾默德 R 賈爾
Original Assignee
美商蘋果公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 美商蘋果公司 filed Critical 美商蘋果公司
Publication of TW202318152A publication Critical patent/TW202318152A/en
Application granted granted Critical
Publication of TWI836579B publication Critical patent/TWI836579B/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/28Supervision thereof, e.g. detecting power-supply failure by out of limits supervision
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3228Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3293Power saving characterised by the action undertaken by switching to a less power-consuming processor, e.g. sub-CPU
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)

Abstract

Various techniques and circuit implementations for power reduction management in integrated circuits are disclosed. Specifically, a power manager circuit in an integrated circuit (e.g., a system on a chip) may modify power budgets for various components in the integrated circuit to reduce the amount of power control caused by external signaling that indicates a voltage regulator overload (e.g., a voltage droop).

Description

基於限制硬體強制電力控制之電力管理Power Management Based on Limited Hardware Forced Power Control

本文所述之實施例係關於積體電路中的電力管理,且更具體而言,係關於用於控制至積體電路之電力輸送的觸發電路。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 and may be further configured to generate supply voltages for other components of the system not shown in FIG. 1 . Additionally, PMU 140 (or accompanying circuitry coupled to PMU 140 ) can be configured to monitor the supply voltage and detect transient undervoltage conditions, overcurrent conditions, power limit conditions, temperature conditions, or Other conditions for erroneous operation. When such conditions occur (eg, the electrical load of SOC 110 exceeds the capacity of PMU 140 ), PMU 140 may assert a trigger output signal to SOC 110 . As an example, for a power limit condition, power may be averaged over different power constants with different power limits for different time constants (e.g., a short averaging time constant may have a higher limit than a longer time averaging time constant), And triggers may be established based on exceeding any of the power limits for different time constants. In some embodiments, a power limit may be imposed using a current squared (I 2 ) RMS constraint.

在各種實施例中,可經由有線傳輸(例如,兩個組件之間的硬連線介面)或串列通訊介面(例如,雙向通訊介面)將觸發輸出信號傳達至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 via a wired transmission (eg, a hardwired interface between two components) or a serial communication interface (eg, a two-way communication interface). Limited trigger signaling may be provided to global power control circuitry 130 incorporated into SOC 110, while serial trigger signaling may be provided directly to processor engines such as, via serial controller 124 and/or communication fabric 170 processor cluster 150 , GPU 160 , or peripheral device 180 ) simultaneously receive the trigger input. Serial controller 124 may be a system power management interface (SPMI) that provides bi-directional communication between the processor engine and PMU 140 . Although the serial controller 124 is shown in FIG. 1 as communicating with the processor engines through the communication fabric 170, in various embodiments, the serial controller 124 may communicate directly with one or more of the processor engines. Wired trigger signaling and serial trigger signaling are discussed in more detail below for the embodiment of the PMU 140 depicted in FIG. 2 . Although the SOC embodiment is used as an example herein, systems including multiple integrated circuits coupled to a communication fabric can be used in other embodiments.

顧名思義,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 SOC 110 may be integrated onto a single semiconductor substrate as an integrated circuit "chip." In the depicted embodiment, components of SOC 110 include at least one processor cluster 150, at least one graphics processing unit (GPU) 160, one or more peripheral components such as peripheral component 180 (more briefly, "peripheral device"), at least one memory controller 122, global power control circuit 130, and communication fabric 170. Components 150, 160, 180, 122, and 130 may all be coupled to communication fabric 170. Memory controller 122 is in Can be coupled to the memory 120 during use. In some embodiments, there may be more than one memory controller coupled to the corresponding memory. In such embodiments, the memory address space can span the memory in any desired manner. In the illustrated embodiment, processor cluster 150 may include a plurality of processors (P) 152. Processors 152 may form the central processing unit (CPU) of SOC 110. Processor cluster 150 may further includes one or more processors (e.g., coprocessor 154 in FIG. 1 ) that may be optimized for a subset of the processor's instruction set and that may be used by processor 152 to execute instructions in the subset. For example, Coprocessor 154 may be a matrix engine optimized to perform vector and matrix operations.

如上文所述,處理器叢集150可包括一或多個處理器152,其可充當SOC 110之CPU。系統的CPU包括執行系統之主控制軟體(諸如,作業系統)的(多個)處理器。通常,在使用期間藉由CPU所執行的軟體可控制系統的其他組件,以實現系統的所欲功能。處理器亦可執行其他軟體,諸如應用程式。應用程式可提供使用者功能,且可依靠作業系統以用於較低階的裝置控制、排程、記憶體管理等。因此,處理器亦可稱為應用處理器。As noted above, processor cluster 150 may include one or more processors 152 , which may act as CPUs for SOC 110 . The system's CPU includes processor(s) that execute the system's main controlling software, such as an operating system. Usually, the software executed by the CPU can control other components of the system during use, so as to realize desired functions of the system. The processor can also execute other software, such as application programs. Applications can provide user functionality and can rely on the operating system for lower-level device control, scheduling, memory management, and so on. Therefore, the processor can also be called an application processor.

通常,處理器可包括任何電路系統及/或微代碼,其經組態以執行由處理器實施之指令集架構中所定義的指令。處理器可涵蓋經實施在積體電路上的處理器核心,其中其他組件作為系統單晶片(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內。Memory controller 122 may generally include circuitry for receiving memory operations from other components of SOC 110 and for accessing memory 120 to complete the memory operations. Memory controller 122 can be configured to access any type of memory 120 . For example, memory 120 may be static random access memory (SRAM), dynamic RAM (DRAM), such as synchronous DRAM (SDRAM), including double data rate (DDR, DDR2, DDR3, DDR4, etc.) DRAM. Can support low-power/mobile versions of DDR DRAM (eg, LPDDR, mDDR, etc.). Memory controller 122 may include queues for memory operations, which are used to sequence (and possibly reorder) and commit operations to memory 120 . The memory controller 122 may further include a data buffer to store write data waiting to be written to the memory and read data waiting to be returned to the source of the memory operation. In some embodiments, the memory controller 122 may include a memory cache to store recently accessed memory data. In SOC implementations, for example, memory caching can reduce power consumption in the SOC by avoiding re-accessing data from memory 120 if the data is expected to be accessed again soon. In some cases, a memory cache may also be called a system cache, as opposed to a private cache that only serves certain components, such as an L2 cache or a cache in a processor. Additionally, in some embodiments, the system cache need not be located within the memory controller 122 .

周邊設備180可係SOC 110中所包括的任一組額外硬體功能。例如,周邊設備180可包括視訊周邊設備,諸如經組態以處理來自攝影機或其他影像感測器之影像擷取資料的影像信號處理器、視訊編碼器/解碼器、縮放器、旋轉器、融合器、顯示控制器等。周邊設備可包括音訊周邊設備,諸如麥克風、揚聲器、至麥克風及揚聲器的介面、音訊處理器、數位信號處理器、混音器等。周邊設備可包括用於SOC 110外部之各種介面的介面控制器,其包括諸如通用串列匯流排(USB)的介面、包括快速PCI (PCI Express, PCIe)之周邊組件互連(PCI)、串列及並列埠等。至外部裝置的互連係由圖1的虛線箭頭繪示,其延伸至SOC 110的外部。周邊設備可包括連網周邊設備,諸如媒體存取控制器(MAC)。可包括任一組硬體。Peripherals 180 may be any set of additional hardware functions included in SOC 110 . For example, peripherals 180 may include video peripherals such as image signal processors, video encoders/decoders, scalers, rotators, fusion controller, display controller, etc. Peripherals may include audio peripherals such as microphones, speakers, interfaces to microphones and speakers, audio processors, digital signal processors, mixers, and the like. Peripheral devices may include interface controllers for various interfaces external to SOC 110, including interfaces such as Universal Serial Bus (USB), Peripheral Component Interconnect (PCI) including PCI Express (PCIe), Serial Row and parallel ports, etc. Interconnections to external devices are depicted by dashed arrows in FIG. 1 , which extend outside of the SOC 110 . Peripherals may include networked peripherals, such as media access controllers (MACs). Any set of hardware can be included.

通訊組構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 . Communication fabric 170 may be bus-based, including shared bus configurations, cross bar configurations, and hierarchical buses with bridges. Communication fabric 170 may also be packet-based, and may be hierarchical in bridge, cross-wire, point-to-point, or other interconnections.

注意: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 processors 152 in each processor cluster 150) may vary from embodiment to embodiment. Furthermore, the number of processors 152 in one processor cluster 150 may be different than the number of processors 152 in another processor cluster 150 when multiple processor clusters are included. There may be a greater or lesser number of components/subcomponents than shown in FIG. 1 .

如本文所述,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 SOC 110 . FIG. 2 is a block diagram of one embodiment of the PMU 140 . In the depicted embodiment, PMU 140 includes voltage regulator 142 and power delivery trigger circuit 144 . In some embodiments, the power delivery trigger circuit 144 is configured to monitor the supply voltage in the voltage regulator 142 and provide a trigger signal(s) when a transient undervoltage condition is detected in the voltage regulator. For example, power delivery trigger circuit 144 may provide a trigger signal when the supply voltage provided by voltage regulator 142 drops below a threshold (eg, an undervoltage threshold).

圖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 PMU 140 . In the depicted embodiment, PMU 140 includes a voltage regulator 142 , a wired power delivery trigger circuit 144 , and a serial power delivery trigger circuit 146 . As shown in FIG. 3 , PMU 140 may include multiple voltage regulators 142 (eg, voltage regulators 142A, 142B, 142C) connected to sets of power delivery trigger circuits (eg, wired power delivery trigger circuits 144A, 144B , 144C and serial power delivery trigger circuits 146A, 146B, 146C). In PMU 140, any number of voltage regulators 142, wired power delivery trigger circuits 144, and serial power delivery trigger circuits 146 are contemplated. Voltage regulators 142A, 142B, 142C may represent different voltage regulators providing different supply voltages to different portions of SOC 110 . For example, voltage regulator 142A may provide a supply voltage to processor cluster 150 , while voltage regulator 142B provides a supply voltage to GPU 160 . In various embodiments, the voltage regulators 142A, 142B, 142C may be part of a hierarchical power delivery system (eg, the hierarchical power delivery system 900 described in FIG. 9 ).

如上文所述,有線電力輸送觸發電路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 power control circuit 130 in SOC 110 ), while serial power delivery trigger circuit 146 may be routed via a serial communication interface (eg, SPMI). Coupled to SOC 110 (eg, communication fabric 170 in SOC 110 ). In various embodiments, the serial power transfer trigger circuit 146 includes a SPMI for communicating with the SOC 110 (eg, via the serial controller 124 ). Thus, serial power delivery trigger circuit 146 may be capable of two-way communication with SOC 110 , while wired power delivery trigger circuit 144 provides unidirectional communication from wired power delivery trigger circuit 144 to SOC 110 .

在某些實施例中,有線電力輸送觸發電路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 voltage regulator 142 and to Trigger signal(s) are provided when conditions exceed various thresholds as determined by the power delivery trigger circuit. Various embodiments of fast (on the order of nanoseconds) and slow (on the order of microseconds or milliseconds) responses may be implemented in either the wired power transfer trigger circuit 144 or the serial power transfer trigger circuit 146 . In some embodiments, fast response is implemented in the wired power delivery trigger circuit 144 to take advantage of the high transmission speed of wired connections. Conversely, slow response can be implemented in the serial power delivery trigger circuit 146 because the serial connection provides a signal transmission speed of about the slow response.

在各種實施例中,串列電力輸送觸發電路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 SOC 110 allows the condition to be polled by the SOC 110 . For example, when the operation of the SOC 110 changes or another event occurs, the SOC 110 may provide requests for conditional information. The SOC 110 can provide the request query to the serial power delivery trigger circuit 146 through the serial communication interface. The serial power delivery trigger circuit 146 may then provide a conditional status (eg, the conditional value is above or below a threshold) via a trigger signal output back to the SOC 110 through the serial communication interface.

在一些實施例中,當電壓調節器142中所經歷的電負載超過臨限(例如,電壓下降至低於欠電壓臨限)時,提供觸發信號。可例如使用電壓感測元件(諸如,基於電壓之比較器電路)實施電壓臨限比較。基於電壓的比較器電路可係通常用在有線電力輸送觸發電路144中的快速回應電路。在一些實施例中,當電壓調節器142中所經歷的電流超過電流臨限(例如,當電流上升至高於預定義的電流限制)時,提供觸發信號。可藉由輸出電流比較器電路(例如,電流感測元件)來實施電流臨限比較,該等輸出電流比較器電路可係用在例如有線電力輸送觸發電路144中的快速回應電路。在一些預期的實施例中,電流感測能力係經實施以監測電流條件(例如,判定電流是否超過過電流臨限)。電流感測能力可包括例如過濾電流感測能力,其可在慢回應串列電力輸送觸發電路146中實施。在一些實施例中,當電壓調節器142中所經歷的溫度超過預定義溫度時,提供觸發信號,以便防止PMU 140中的過熱。溫度感測對於串列電力輸送觸發電路146一般係慢回應可在溫度感測方案中實施。In some embodiments, the trigger signal is provided when the electrical load experienced in the voltage regulator 142 exceeds a threshold (eg, the voltage drops below an undervoltage threshold). Voltage threshold comparisons may be implemented, for example, using voltage sensing elements such as voltage-based comparator circuits. The voltage-based comparator circuit may be a fast response circuit typically used in wired power delivery trigger circuit 144 . In some embodiments, a trigger signal is provided when the current experienced in the voltage regulator 142 exceeds a current threshold (eg, when the current rises above a predefined current limit). Current threshold comparisons may be implemented by output current comparator circuits (eg, current sensing elements), which may be used in fast response circuits such as in wired power delivery trigger circuit 144 . In some contemplated embodiments, current sensing capabilities are implemented to monitor current conditions (eg, to determine if the current exceeds an over-current threshold). Current sensing capabilities may include, for example, filtered current sensing capabilities, which may be implemented in the slow response serial power transfer trigger circuit 146 . In some embodiments, a trigger signal is provided when the temperature experienced in voltage regulator 142 exceeds a predefined temperature in order to prevent overheating in PMU 140 . Temperature sensing, which is generally slow to respond to the serial power delivery trigger circuit 146, can be implemented in a temperature sensing scheme.

上文的描述提供用於此處所述之不同條件之各種回應方案的實例實施例。然而,應理解,回應方案的位置及數目在電壓調節器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 voltage regulator 142 , wired power delivery trigger circuit 144 , and serial power delivery trigger circuit 146 may vary for desired operation of PMU 140 and SOC 110 . For example, in various embodiments, both wired power transfer trigger circuit 144 and series power transfer trigger circuit 146 may be implemented to monitor similar operating conditions (eg, voltage or current) in the same voltage regulator 142 . In such embodiments, the wired power delivery trigger circuit 144 provides a fast response time, while the serial power delivery trigger circuit 146 provides a slower response.

在某些實施例中,有線電力輸送觸發電路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 SOC 110 . As an example, as shown in FIGS. 1 and 3 , the wired power delivery trigger circuit 144 provides a wired trigger signal to the global power control circuit 130 , and the serial power delivery trigger circuit 146 provides a serial trigger signal to the communication fabric 170 , and Next to components such as processor cluster 150 or GPU 160 . As described herein, global power control circuit 130 is capable of providing fast response and fast clock rate control in order to prevent failure of functions in SOC 110 or PMU 140 . However, the serial trigger signal provided by serial power delivery trigger circuit 146 may be implemented by components in SOC 110 (eg, processor cluster 150 or GPU 160 ) to determine more precise control for the operation of SOC 110 ( For example, by using dynamic voltage and frequency control in components of the SOC 110).

因此,在某些實施例中,相較於用於串列電力輸送觸發電路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 SOC 110 or PMU 140 than the threshold for the serial power delivery trigger circuit 146 . Thresholds for wired power delivery trigger circuit 144 may be closer to the point of functional failure of SOC 110 or PMU 140 to provide a quick response when operating conditions may indicate a functional failure of SOC 110 or PMU 140 . Conversely, a slower response may be more appropriate when the SOC 110 or PMU 140 is farther from the point of failure. As an example, the voltage threshold for wired power delivery trigger circuit 144 may be closer to an undervoltage causing a malfunction in SOC 110 or PMU 140 than the voltage threshold for serial power delivery trigger circuit 146 ( For example, the finite voltage threshold is lower than the string voltage threshold). Therefore, if the voltage begins to drop slowly, the string voltage threshold will cross first, and the SOC 110 may respond to the string trigger signal from the string power delivery trigger circuit 146 before reaching the limited voltage threshold. However, if the voltage drops rapidly, even if the wired voltage threshold is reached after the string voltage threshold, the fast response provided by the wired power delivery trigger circuit 144 and the global power control circuit 130 may occur before the SOC 110 has the opportunity to respond to the string trigger. before the signal. The response to the wired signal may remain functional until a serial trigger signal read is performed later and the SOC 110 reacts to the read. Such a hierarchical response scheme may provide improved performance of the SOC 110 and PMU 140 while preventing functional failures in the device.

在一些實施例中,回應方案係基於電力輸送系統中的階層(例如,電壓調節器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 voltage regulators 142A, 142B, 142C). For example, voltage regulator 142A may have a higher hierarchy than voltage regulator 142B. Accordingly, the trigger signal from wired power delivery trigger circuit 144A or serial power delivery trigger circuit 146A may have a higher hierarchy (eg, higher priority order). Furthermore, in a hierarchical power delivery system, a power curtailment response (eg, power curtailment of a component or power supply) can be triggered in one component by a trigger signal for another component. For example, a trigger signal from wired power delivery trigger circuit 144B or serial power delivery trigger circuit 146B may trigger power reduction in voltage regulator 142A.

在各種實施例中,電壓調節器142的一或多者係耦合至電池組(或其他電力供應單元)以提供電力至SOC 110。在一些實施例中,有線電力輸送觸發電路144或串列電力輸送觸發電路146的一或多者經組態以監測電池組中的電壓。直接監測電池組中的電壓可幫助防止SOC 110中導因於低電池組充電狀態的暫時低壓。In various embodiments, one or more of the voltage regulators 142 are coupled to a battery pack (or other power supply unit) to provide power to the SOC 110 . In some embodiments, one or more of the wired power transfer trigger circuit 144 or the serial power transfer trigger circuit 146 is configured to monitor the voltage in the battery pack. Directly monitoring the voltage in the battery pack can help prevent temporary low voltages in the SOC 110 resulting from low battery state of charge.

回到圖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 power control circuit 130 receives trigger signal(s) from PMU 140 . When an event associated with the trigger signal occurs, the global power control circuit 130 may respond by rapidly reducing the clock frequency at which the components operate to prevent malfunctions in the SOC 110 or the PMU 140 . In accordance with the present disclosure, an integrated circuit (eg, SOC 110 ) may include a plurality of components (eg, processor cluster 150 , GPU 160 , peripherals 180 ) coupled to the plurality of components (via communication fabric 170 ) and global power control circuit 130.

圖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 power control circuit 130 . In the illustrated embodiment, the global power control circuit 130 includes a trigger logic circuit 132 and a rate control circuit 134 . Global power control circuit 130 receives trigger signal(s) from PMU 140 . In some embodiments, the trigger signal is an asynchronous trigger signal with respect to the clock cycle of the SOC 110 . For example, a trigger signal may be received by global power control circuit 130 at any time during a clock cycle of SOC 110 .

在各種實施例中,觸發邏輯電路132從PMU 140接收觸發信號,並基於所接收的觸發信號判定電力縮減信號。電力縮減信號可係例如以SOC 110的時脈速率提供給SOC 110中之一或多個組件的同步信號。一或多個組件接著可基於所接收的電力縮減信號實施電力縮減或度量。在各種實施例中,觸發邏輯電路132包括啟用、遲滯、及同步器的組合,以將非同步觸發信號轉換成同步電力縮減信號。In various embodiments, trigger logic circuit 132 receives a trigger signal from PMU 140 and determines a power reduction signal based on the received trigger signal. The power reduction signal may be, for example, a synchronization signal provided to one or more components in the SOC 110 at the clock rate of the SOC 110 . One or more components may then implement power reduction or metering based on the received power reduction signal. In various embodiments, the trigger logic circuit 132 includes a combination of enable, hysteresis, and synchronizer to convert the asynchronous trigger signal into a synchronous power reduction signal.

由觸發邏輯電路132所實施以提供電力縮減信號的技術實例包括時脈抖動、時脈閘控、選擇性脈衝移除、時脈除法等。這些技術可有效地使SOC 110在無錯誤的情況下持續操作,因為降低的時脈頻率在調降電壓下補償更慢評估的電晶體。例如,將時脈頻率除以2(相對迅速的操作)使性能降低大約½。在一些情況下,性能降低可甚至更大(例如,75%或更大)以保證無錯誤的操作。全域電力控制電路130可因此耦合至SOC 110之各種組件(諸如,處理器152或GPU 160),或者至少可耦合至各種組件之時脈資源(例如,鎖相迴路(PLL)、延遲鎖定迴路(DLL)、時脈除法器、時脈閘控器、時脈樹等),以實施可幫助確保欠電壓操作期間之無錯誤操作(或正確操作)的頻率降低。Examples of techniques implemented by trigger logic 132 to provide the power reduction signal include clock dithering, clock gating, selective pulse removal, clock division, and the like. These techniques are effective in allowing the SOC 110 to continue to operate error-free as the reduced clock frequency compensates for slower evaluating transistors at reduced voltage. For example, dividing the clock frequency by 2 (relatively fast operation) degrades performance by about ½. In some cases, the performance reduction may be even greater (eg, 75% or greater) to ensure error-free operation. Global power control circuit 130 may thus be coupled to various components of SOC 110, such as processor 152 or GPU 160, or at least may be coupled to the clock resources of various components (e.g., phase-locked loop (PLL), delay-locked loop ( DLL), clock divider, clock gate, clock tree, etc.) to implement frequency reduction that can help ensure error-free (or correct) operation during undervoltage operation.

雖然觸發邏輯電路132對來自PMU 140的觸發信號提供相對快速的電力縮減回應,在SOC 110的各種實施例中可需要用於降低時脈頻率之較快速的回應時間。例如,在SOC 110係多晶粒SOC(例如,SOC 110具有作為單晶片操作之多個晶片)的實施例中,可需要較快速的回應時間以降低時脈頻率以防止功能失效,因為大量的並列交易可能會使PMU 140超限。While the trigger logic circuit 132 provides a relatively fast power reduction response to the trigger signal from the PMU 140 , a faster response time for reducing the clock frequency may be desired in various embodiments of the SOC 110 . For example, in embodiments where SOC 110 is a multi-die SOC (e.g., SOC 110 has multiple die operating as a single die), faster response times may be required to reduce clock frequency to prevent functional failure due to the large number of Parallel trading may overrun the PMU 140.

在各種實施例中,全域電力控制電路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 power control circuit 130 implements a faster response time to trigger signals received by the global power control circuit. Rate control circuit 134 may include, for example, fabric or other logic to control the clock rate in SOC 110 based on a received trigger signal. For example, rate control circuit 134 may rapidly reduce the clock rate in communication fabric 170 in response to receiving a trigger signal. As shown in FIG. 4 , rate control circuit 134 may receive selected trigger signals from PMU 140 . In certain embodiments, the selected trigger signal is provided to the rate control circuit 134 using selected wiring in place between the power delivery trigger circuit 144 (shown in FIGS. 2 and 3 ) and the rate control circuit. For example, the wiring to the rate control circuit 134 may branch off from the wiring between the selected power delivery trigger circuit 144 and the trigger logic circuit 132 . Accordingly, rate control circuit 134 may receive selected trigger signals from selected power delivery circuits 144 asynchronously. In one contemplated embodiment, the selected trigger signal is received from one or more voltage regulators 142 in PMU 140 that supplies power to communication fabric 170 .

在某些實施例中,速率控制電路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 SOC 110 or one or more components of SOC 110 based on receiving a selected trigger signal. For example, rate control circuit 134 may decrease the clock rate based on receiving a selected trigger signal. Since the selected trigger signal is received asynchronously (from a clock cycle of SOC 110 ), rate control circuit 134 is able to asynchronously reduce the clock rate rather than waiting for another clock cycle before scaling down power in SOC 110 . Reducing the clock rate reduces power consumption in SOC 110 , thereby preventing failure of PMU 140 or functions in SOC 110 . The rate control circuit 134 provides a fast, asynchronous response time for reducing the clock rate (eg, within nanoseconds) when a trigger signal is received. The response time provided by the rate control circuit 134 is orders of magnitude faster than the response time for power control using dynamic voltage and frequency control in the components of the SOC 110 (e.g., the time window for the response of the rate control circuit 134 is faster than that for the SOC 110 The time window for the response of components of 110 is orders of magnitude smaller). Such a fast response time can improve protection against functional failures in power management for multi-die SOC systems.

在一些實施例中,如圖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 trigger logic 132 . For example, in one contemplated embodiment, rate control circuit 134 may receive a power reduction signal intended for a CPU (processor 152 ) in SOC 110 . As mentioned above, the power reduction signal is synchronized with the clock cycle of the SOC 110 . Thus, the rate control circuit 134 may implement a slower but synchronous clock rate reduction based on the power reduction signal. However, providing both the selected trigger signal and the power reduction signal into the rate control circuit 134 may provide a redundant power reduction response in the SOC 110 in case of a failure of the PMU 140 or a function in the SOC 110 .

在一些實施例中,如圖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 , trigger logic 132 may receive a power reduction signal from another SOC 110′ managed by PMU 140 (eg, another die or die). Trigger logic 132 may implement power reduction signals from SOC 110' to provide power reduction signals to components in SOC 110. In some embodiments, trigger logic 132 may provide power reduction to another SOC 110″ managed by PMU 140. The other SOC 110'' may then implement a power reduction scheme (eg, using trigger logic in the SOC 110'') to reduce power based on the received power reduction signal. An implementation of providing/receiving power reduction signals from other SOCs allows trigger logic 132 and SOC 110 to be part of a multi-die (eg, multi-die) power reduction scheme.

回到圖1,在各種實施例中,可透過記憶體控制器122在SOC中提供速率限制。例如,記憶體控制器122可在與記憶體控制器相關聯之管線中實施交易速率監測,並依需要放慢交易。放慢交易可防止或減少由跨許多來源(例如,多晶粒組態中的多個SOC)之許多交易所導致之PMU 140中的電力供應衰減。Returning to FIG. 1 , in various embodiments, rate limiting may be provided in the SOC through the memory controller 122 . For example, memory controller 122 may implement transaction rate monitoring in pipelines associated with the memory controller and slow down transactions as needed. Slowing transactions may prevent or reduce power supply degradation in PMU 140 caused by many transactions across many sources (eg, multiple SOCs in a multi-die configuration).

圖5係記憶體控制器管線500之一個實施例的方塊圖。管線500之描繪係記憶體控制器管線之一個實施例的簡化方塊圖。應理解,管線500及記憶體控制器管線之組件可在不偏離本說明書及本文中之申請專利範圍的範疇之情況下變化為超出圖5之描繪的範疇。例如,可將額外的組件或元件包括在記憶體控制器管線中及/或組件或元件之位置可變化。FIG. 5 is a block diagram of one embodiment of a memory controller pipeline 500 . Pipeline 500 is depicted as a simplified block diagram of one embodiment of a memory controller pipeline. It should be understood that the components of the pipeline 500 and the memory controller pipeline may vary beyond what is depicted in FIG. 5 without departing from the scope of this description and the claims herein. For example, additional components or elements may be included in the memory controller pipeline and/or the location of the components or elements may be varied.

記憶體控制器管線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向外路由至組件。Memory controller pipeline 500 may include various control logic and data structures to queue memory requests, arbitrate between requests, and route memory requests to the memory cache and ultimately to the memory cache if there is a memory cache miss. Memory 120. Communication interfaces 550A- 550B may be part of communication fabric 170 and may supply memory requests from other components of SOC 110 to memory controller 122 . Requests can be received into request buffers 540A and 540C, which can pass data or update memory as the request flows through memory controller pipeline 500 and by returning data on communication interfaces 550A to 550B (for reads). These requests are tracked as they complete through the volume cache or memory 120 (for writes). Response buffers 540B and 540D may be used for read data and other responses to be sent back to the request component for read transactions (e.g., completion responses for certain write transactions and coherent requests for coherent transactions ) of the buffer. There may be more request buffers and response buffers for other communication interfaces 550 (not shown in FIG. 5 ). Request buffers 540A and 540C (among others) may provide input into memory arbiter 525 , which may arbitrate requests into memory cache 530 . Requests received by the memory cache 530 may pass through tag and directory pipes 520, which may include tag memory for the memory cache (storing the address label). In one embodiment, the tag and directory management 520 may include a coherent directory that tracks which coherent components in the SOC 110 have copies of cache blocks from the memory cache. The coherence directory and associated logic can generate coherence requests, which can be routed out to components via response buffers 540B and 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 directory pipe 520 request can be placed in the data pipe queue 560 to access the cached data memory Body 595. Read arbiter 565A may arbitrate between read requests in data pipe queue 560 to read cache data memory 595, and write arbiter 565B may arbitrate between write requests in data pipe queue 560 Arbitrate to write to cache data memory 595 . Read data from cache data memory 595 may be provided to memory output buffer 580 . For those write requests that use a reply, the write reply may also be placed in the memory output buffer 580 .

若請求未中記憶體快取(例如,位址與標籤記憶體中的標籤中不匹配),則標籤及目錄管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 directory manager 520 may place the request in the memory queue 570 for transmission to the memory 120 . The memory queue 570 may interface to a memory channel controller that accesses the memory 120 . Data (for read requests) or optional write completions (for write requests) may later be passed back by the memory channel controller to the memory output buffer 580 .

來自記憶體輸出緩衝器580的資料/寫入回應在欲將資料安裝在記憶體快取530中時可提供給標籤及目錄管520,且亦可提供給輸出仲裁器590B、590D,該等輸出仲裁器可仲裁以分別輸出資料/寫入回應至回應緩衝器540B、540D。資料/寫入回應隨後可透過通訊介面550A至550B提供給發出請求的組件。Data/write responses from memory output buffer 580 may be provided to tag and directory pipe 520 when data is to be installed in memory cache 530, and may also be provided to output arbitrators 590B, 590D, which output The arbiter can arbitrate to output data/write responses to the response buffers 540B, 540D, respectively. The data/write responses may then be provided to the requesting component via communication interfaces 550A-550B.

記憶體快取530可包括多個區段或平面,其等處理映射至記憶體控制器122之記憶體位址空間的不同部分。平面可允許多個記憶體請求並列地進行。一個平面係繪示為圖5中的記憶體快取530,但其他平面可經類似地組態。可存在用於各平面之記憶體仲裁器525。Memory cache 530 may include multiple sectors or planes that handle different portions of the memory address space mapped to memory controller 122 . Planes allow multiple memory requests to be made in parallel. One plane is shown as memory cache 530 in FIG. 5, but other planes may be similarly configured. There may be a memory arbiter 525 for each plane.

在各種實施例中,在管線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 pipeline 500 . For example, rate limiters 510 may be placed at various arbitration points within pipeline 500 . An example of a location for rate limiter 510 is shown in FIG. 5 . In the illustrated embodiment, rate limiter 510A is placed at the connection between read arbiter 565A or write arbiter 565B and data pipe queue 560, and rate limiter 510B is placed at the tag and directory pipe 520 and memory arbiter 525, rate limiter 510C is placed at the connection between output arbiters 590B and 590D and response buffers 540B and 540D, and rate limiter 510D is placed at the response buffer Connections between 540B and 540D and communication interfaces 550A, 550B. The number and location (eg, arbitration points) of rate limiters 510 in pipeline 500 may vary depending on the control of the desired transaction rate in pipeline 500 .

速率限制器510可經實施以主動在非典型高活動時為管線500中的峰值電力位準設上限。在各種實施例中,速率限制器510藉由在仲裁點處插入氣泡(例如,停頓)循環來減少命令流動。在某些實施例中,速率限制器510預設為禁用,但可由系統(例如,SOC 110或記憶體控制器122)組態以提供管線500所欲的電力消耗上限。例如,各速率限制器510之位置可具有與其相關聯之速率限制器介面工具集。Rate limiter 510 may be implemented to actively cap the peak power level in pipeline 500 at times of atypically high activity. In various embodiments, rate limiter 510 reduces command flow by inserting bubble (eg, stall) cycles at arbitration points. In some embodiments, rate limiter 510 is disabled by default, but can be configured by the system (eg, SOC 110 or memory controller 122 ) to provide a desired cap on power consumption of pipeline 500 . For example, each rate limiter 510 location may have a rate limiter interface toolset associated therewith.

圖6係速率限制器介面工具集600之一個實施例的方塊圖。速率限制器介面工具集600可以本文所述之速率限制器510的任一者實施。速率限制器介面工具集600可提供對用於速率限制器510之停頓控制信號之操作及產生的控制。在所繪示之實施例中,速率限制器介面工具集600包括速率限制器型樣產生610、局部活動偵測620、及速率限制器控制630。FIG. 6 is a block diagram of one embodiment of a rate limiter interface toolkit 600 . The rate limiter interface toolset 600 may be implemented with any of the rate limiters 510 described herein. The rate limiter interface toolset 600 may provide control over the operation and generation of the pause control signal for the rate limiter 510 . In the depicted embodiment, rate limiter interface toolset 600 includes rate limiter pattern generation 610 , local activity detection 620 , and rate limiter control 630 .

速率限制器型樣產生610可包括型樣仲裁器612、型樣暫存器614、及指標616。速率限制器型樣產生610可使用Vmin型樣輸入、Vnom型樣輸入、或Vmax型樣輸入程式化。速率限制器型樣輸出可基於提供給型樣仲裁器612之操作點輸入(例如,記憶體操作點)而判定。在各種實施例中,速率限制器型樣產生610藉由根據來自型樣仲裁器612之輸入循環通過型樣暫存器614而判定速率限制器型樣。例如,可針對具有比較低性能(較低電力)操作點更多停頓循環之較高性能(較高電力)操作點產生不同型樣。Rate limiter pattern generation 610 may include pattern arbiter 612 , pattern register 614 , and pointer 616 . Rate limiter pattern generation 610 can be programmed using a Vmin pattern input, a Vnom pattern input, or a Vmax pattern input. The rate limiter pattern output may be determined based on an operating point input (eg, a memory operating point) provided to the pattern arbiter 612 . In various embodiments, rate limiter pattern generation 610 determines a rate limiter pattern by cycling through pattern register 614 based on input from pattern arbiter 612 . For example, a different profile may be generated for a higher performance (higher power) operating point with more stall cycles than a lower performance (lower power) operating point.

在某些實施例中,局部活動偵測620係經實施以追蹤局部記憶體活動。局部活動偵測620包括移位暫存器622,其接收歷史深度輸入及活動指示輸入;活動計數器624,其接收活動指示輸入;及活動臨限比較器626,其用於比較活動計數與活動臨限。活動指示可包括例如局部活動指示,諸如針對仲裁器之驗證、傳遞有效(例如,標籤管傳遞有效)、讀取啟用控制、寫入啟用控制、完成緩衝器寫入仲裁器授權、完成緩衝器略過、及下游介面仲裁器授權。In some embodiments, local activity detection 620 is implemented to track local memory activity. Partial activity detection 620 includes a shift register 622, which receives a historical depth input and an activity indication input; an activity counter 624, which receives an activity indication input; and an activity threshold comparator 626, which compares the activity count with the activity threshold. limit. Activity indications may include, for example, local activity indications such as verification against arbiter, transfer valid (e.g., tag pipe transfer valid), read enable control, write enable control, completion buffer write arbiter grant, completion buffer reset Pass, and downstream interface arbiter authorization.

移位暫存器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 rate limiter control 630, which can selectively block or pass the raw pause signal according to, for example, a programmed rate limiter pattern. The enable arbiter 632 may be programmed in the rate limiter mode and makes a decision on the mode enforced by the rate limiter control 630 . One mode may be "statically on" where the raw pause signal is passed and the pause signal is output from the rate limiter interface tool set 600 in the rate limiter pattern determined by the rate limiter pattern generation 610 . Another mode may be "static off," where the original stall signal is blocked and no rate limiting occurs. For example, shutdown mode may be used if the power at a given memory operating point is known to be low enough that causing PMU voltage degradation is not a concern.

可預期額外的實施例具有包括在本文所述之系統的任一者中之電力管理電路(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 . 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 , and may be further configured to generate supply voltages for other components of the system not shown in FIG. 7 . Additionally, PMU 140 (or accompanying circuitry coupled to PMU 140 ) may be configured to monitor the supply voltage and detect transient undervoltage conditions or other overload conditions that may result in erroneous operation in SOC 110 . PMU 140 may assert a trigger input to SOC 110 when such conditions occur (typically resulting from the electrical load of SOC 110 exceeding the capacity of PMU 140 ). In the depicted embodiment, global power control circuitry 130 incorporated into SOC 110 may receive a trigger input. Although the SOC embodiment is used as an example herein, systems including multiple integrated circuits coupled to a communication fabric can be used in other embodiments.

顧名思義,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 SOC 110 may be integrated onto a single semiconductor substrate as an integrated circuit "chip." In the depicted embodiment, components of SOC 110 include at least one processor cluster 150, at least one graphics processing unit (GPU) 160, one or more peripheral components, such as peripheral components (more simply, "peripherals") , memory controller 122 , power management circuit (PMGR) 700 , global power control circuit 130 , and communication fabric 170 . Components 150 , 160 , 180 , 122 , and 700 may all be coupled to communication fabric 170 . Memory controller 122 may be coupled to memory 120 during use. In some embodiments, there may be more than one memory controller coupled to a corresponding memory. In such embodiments, the memory address space may be mapped across memory controllers in any desired manner. In the illustrated embodiment, processor cluster 150 may include a plurality of processors (P) 152 . Processor 152 may form a central processing unit (CPU) of SOC 110 . Processor cluster 150 may further include one or more processors (e.g., coprocessor 154 in FIG. Centralized instructions. For example, coprocessor 154 may be a matrix engine optimized to perform vector and matrix operations.

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可經組態以執行代碼以分析遙測表中的資料。PMGR 700 may be configured to manage power consumption in SOC 110 . As shown in FIG. 7, PMGR 700 may include telemetry tables 702, a power management processor (PMP) 704, and power budget control code 710, which may be stored in memory within PMGR 700 (e.g., local memory, Such as local Static Random Access Memory (SRAM) or ROM) and/or memory 120 . Power budget control code 710 may be stored in ROM or other form of non-volatile memory, and may be loaded into PMGR 700/memory 120 during system initialization, for example. Telemetry table 702 may be any type of memory (eg, static random access memory (SRAM), scratchpad, etc.). Various components of the SOC 110 can report activity, performance information, power consumption data, etc. to the PMGR 700 in a "push" mode with some degree of regularity, and thus can be used for analysis in the PMGR 700 without PMGR 700 polling Various components to collect information. More specifically, in this embodiment, in addition to the power budget control code 710, the PMP 704 can be configured to execute code to analyze data in the telemetry table.

如先前所提及,PMU 140可經組態以在偵測到欠電壓事件時確立觸發信號。當發生此一事件時,SOC 110(且更具體地,全域電力控制電路130)可藉由迅速降低組件操作的時脈頻率而回應,降低時脈頻率係使用諸如時脈抖動、時脈閘控、選擇性脈衝移除、時脈除法、在各種組件內控制以降低處理性能從而減少電力等技術。雖然這些技術可有效地在無錯誤的情況下持續操作(因為降低的時脈頻率在調降電壓下補償更慢評估的電晶體),性能降低可係劇烈的。例如,將時脈頻率除以2(相對迅速的操作)使性能降低大約½。在一些情況下,性能降低可甚至更大(例如,75%或更大)以保證無錯誤的操作。全域電力控制電路130因此可耦合至SOC 110之各種組件(未明確描繪於圖7中)或至少可耦合至各種組件之時脈資源(例如,鎖相迴路(PLL)、延遲鎖定迴路(DLL)、時脈除法器、時脈閘控器、時脈樹等),以實施可幫助確保欠電壓操作期間之無錯誤操作(或正確操作)的頻率降低。在一實施例中,全域電力控制電路130可經組態以記錄觸發輸入在遙測表702中經確立至全域電力控制電路130的頻率(例如,多常)(或全域電力控制電路130的參與頻率,其與觸發輸入確立的頻率相依),經由圖7中的虛線箭頭繪示。As previously mentioned, PMU 140 may be configured to assert a trigger signal upon detection of an undervoltage event. When such an event occurs, the SOC 110 (and more specifically, the global power control circuit 130 ) can respond by rapidly reducing the clock frequency at which the components operate, using techniques such as clock dithering, clock gating, etc. , selective pulse removal, clock division, control within various components to reduce processing performance and thereby reduce power. While these techniques can effectively continue to operate without errors (because the reduced clock frequency compensates for slower evaluating transistors at reduced voltage), performance degradation can be dramatic. For example, dividing the clock frequency by 2 (relatively fast operation) degrades performance by about ½. In some cases, the performance reduction may be even greater (eg, 75% or greater) to ensure error-free operation. Global power control circuit 130 may thus be coupled to various components of SOC 110 (not explicitly depicted in FIG. , clock divider, clock gate, clock tree, etc.) to implement frequency reduction that can help ensure error-free (or correct) operation during undervoltage operation. In one embodiment, the global power control circuit 130 can be configured to record the frequency (e.g., how often) the trigger input is established to the global power control circuit 130 in the telemetry table 702 (or the participating frequency of the global power control circuit 130 , which is dependent on the frequency established by the trigger input), is shown by the dotted arrow in FIG. 7 .

在許多情況下,較不劇烈的性能下降將足以充分降低負載,使得欠電壓事件將較不常發生。例如,若由於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 PMU 140 is slightly overloaded, the amount of load reduction that will prevent the event from occurring is relatively small and can be reduced slightly by temporarily reducing the power consumption of one or more controllable components in the system. performance while remaining within the capacity of the PMU 140 . PMP 704 and power budget control code 710 may be used to attempt to reduce the frequency of undervoltage events, or more specifically, to reduce the frequency with which global power control circuitry is invoked to provide undervoltage control. For example, in one embodiment, power budget control code 710 may analyze telemeter data and may determine the frequency of undervoltage events during a given time window, or the amount of time during which global power control circuit 130 is engaged in reducing power consumption. The power budget control code 710 may modify the power budget to one or more components in the next time window in an attempt to reduce the occurrence of undervoltage events. For example, the power budget can be reduced, and thus the components can consume less power in the next time window, reducing the overall load current on the PMU 140 . While the performance achievable by the components may be reduced in the next time window, undervoltage events are reduced and severe performance loss due to undervoltage events may be reduced, while overall performance may be higher. For example, power budget control code 710 may attempt to reduce undervoltage triggering by a specified percentage (eg, 1% of a given time window). Additional details are provided further below.

組件之至少一些者可經組態以基於電力預算控制電力消耗。例如,處理器叢集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 processor cluster 150, GPU 160, and peripherals 180 may include power control circuits (PwrCtl) 720A-720C, which include respective power budgets 722A-722C. Power control circuits 720A-720C can monitor the operation of individual components and measure/estimate power consumption. The power control circuits 720A-720C can compare the measured/estimated power consumption to the power budget. If the budget is exhausted or falls below a threshold, the power control circuits 720A-720C may invoke various power consumption mitigation mechanisms. For example, power control circuitry 720A may employ mitigation mechanisms such as disabling one or more processors 152 and/or disabling one or more pipelines in processors 152 . The instruction issue rate can be reduced, and bubbles inserted in the pipeline so that the corresponding circuitry does not actively evaluate each cycle. Any set of one or more mitigation mechanisms may be used. Similarly, GPU 160 may reduce the number of active pipelines, limit the instruction issue rate, and/or implement any other mitigation mechanism. Mitigation mechanisms may be specific to a given component being controlled, and different components may employ different mechanisms, or some similar mechanisms and some specific mechanisms as desired. The PMP 704/power budget control code 710 may be independent of a specific mechanism, the details of setting the budget 722A-722C and following the budget 722A-722C are implemented by the power control circuit 720A-720C.

若電力預算控制碼710降低電力控制電路720A至720C之一或多者中的電力預算722A至722C,而欠電壓事件的頻率在下一時間窗中仍高於所欲,則電力預算710可在接續的時間窗中進一步電力預算。可使用任何用於降低之演算法。例如,各預算可降低特定的量以使降低起效,使性能降低相對均等地散佈於可受控制的組件。在另一演算法中,可在不同時間窗中降低不同的預算722A至722C,在一或多個組件的不同子集之間輪流降低,並接著在隨後的時間窗中使降低的電力預算回復到原始值。If the power budget control code 710 reduces the power budget 722A-722C in one or more of the power control circuits 720A-720C, while the frequency of undervoltage events is still higher than desired in the next time window, the power budget 710 may be used in the next time window. further power budget in the time window of . Any algorithm for reduction can be used. For example, each budget may be reduced by a specific amount to effect the reduction, so that the performance reduction is relatively evenly spread over the components that can be controlled. In another algorithm, different budgets 722A-722C may be lowered in different time windows, rotated among different subsets of one or more components, and then restored to the reduced power budget in subsequent time windows to the original value.

須注意,雖然一些實例實施例經描述為將電力預算控制實施為可由PMP 704執行的代碼710,其他實施例可以硬體(例如,狀態機及/或組合邏輯)實施電力預算控制的全部或一部分。Note that while some example embodiments are described as implementing power budget control as code 710 executable by PMP 704, other embodiments may implement all or a portion of power budget control in hardware (e.g., state machines and/or combinational logic) .

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以及對電力狀態、不同請求電壓及頻率等變化之定序控制。PMGR 700 can be configured to control the magnitude of supply voltage requested from external PMU 140 . There may be multiple supply voltages generated by PMU 140 for SOC 110 . For example, there may be a supply voltage for processor cluster 150 and at least one supply voltage for the rest of SOC 110 outside processor cluster 150 . In one embodiment, the same supply voltage can be supplied to components of the SOC 110 outside the processor cluster 150, and power gating can be used to control one or more independent power domains supplied by the power supply voltage. In some embodiments, there may be multiple supply voltages for the remainder of the SOC 110 . In some embodiments, there may also be memory supply voltages for the various memory arrays in processor cluster 150 and/or SOC 110 . The memory supply voltage may be used in conjunction with the voltage supplied to the logic circuitry, which may be of a lower voltage magnitude than required to ensure robust memory operation. PMGR 700 may be directly under software control (eg, software may directly request power on and/or power off of components), and/or may be configured to monitor SOC 110 and determine when various components are about to power on or power off. Various power states within components (eg, the power state of the processor 152 ) can be controlled through the PMGR 700 and the sequencing of changes to power states, different requested voltages and frequencies, and the like.

如上文所提及,處理器叢集150可包括一或多個處理器152,其(等)可充當SOC 110之CPU。系統的CPU包括執行系統之主控制軟體(諸如,作業系統)的(多個)處理器。通常,在使用期間藉由CPU所執行的軟體可控制系統的其他組件,以實現系統的所欲功能。處理器亦可執行其他軟體,諸如應用程式。應用程式可提供使用者功能,且可依靠作業系統以用於較低階的裝置控制、排程、記憶體管理等。因此,處理器亦可稱為應用處理器。As mentioned above, processor cluster 150 may include one or more processors 152 , which(s) may act as the CPU of SOC 110 . The system's CPU includes processor(s) that execute the system's main controlling software, such as an operating system. Usually, the software executed by the CPU can control other components of the system during use, so as to realize desired functions of the system. The processor can also execute other software, such as application programs. Applications can provide user functionality and can rely on the operating system for lower-level device control, scheduling, memory management, and so on. Therefore, the processor can also be called an application processor.

通常,處理器可包括任何電路系統及/或微代碼,其經組態以執行由處理器實施之指令集架構中所定義的指令。處理器可涵蓋經實施在積體電路上的處理器核心,其中其他組件作為系統單晶片(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內。Memory controller 122 may generally include circuitry for receiving memory operations from other components of SOC 110 and for accessing memory 120 to complete the memory operations. Memory controller 122 can be configured to access any type of memory 120 . For example, memory 120 may be static random access memory (SRAM), dynamic RAM (DRAM), such as synchronous DRAM (SDRAM), including double data rate (DDR, DDR2, DDR3, DDR4, etc.) DRAM. Can support low-power/mobile versions of DDR DRAM (eg, LPDDR, mDDR, etc.). Memory controller 122 may include queues for memory operations, which are used to sequence (and possibly reorder) and commit operations to memory 120 . The memory controller 122 may further include a data buffer to store write data waiting to be written to the memory and read data waiting to be returned to the source of the memory operation. In some embodiments, the memory controller 122 may include a memory cache to store recently accessed memory data. In SOC implementations, for example, memory caching can reduce power consumption in the SOC by avoiding re-accessing data from memory 120 if the data is expected to be accessed again soon. In some cases, a memory cache may also be called a system cache, as opposed to a private cache that only serves certain components, such as an L2 cache or a cache in a processor. Additionally, in some embodiments, the system cache need not be located within the memory controller 122 .

周邊設備180可係SOC 110中所包括的任一組額外硬體功能。例如,周邊設備180可包括視訊周邊設備,諸如經組態以處理來自攝影機或其他影像感測器之影像擷取資料的影像信號處理器、視訊編碼器/解碼器、縮放器、旋轉器、融合器、顯示控制器等。周邊設備可包括音訊周邊設備,諸如麥克風、揚聲器、至麥克風及揚聲器的介面、音訊處理器、數位信號處理器、混音器等。周邊設備可包括用於SOC 110外部之各種介面的介面控制器,包括的介面諸如通用串列匯流排(USB)、包括快速PCI (PCI Express, PCIe)之周邊組件互連(PCI)、串列及並列埠等。至外部裝置的互連係由圖7的虛線箭頭繪示,其延伸至SOC 110的外部。周邊設備可包括連網周邊設備,諸如媒體存取控制器(MAC)。可包括任一組硬體。Peripherals 180 may be any set of additional hardware functions included in SOC 110 . For example, peripherals 180 may include video peripherals such as image signal processors, video encoders/decoders, scalers, rotators, fusion controller, display controller, etc. Peripherals may include audio peripherals such as microphones, speakers, interfaces to microphones and speakers, audio processors, digital signal processors, mixers, and the like. Peripheral devices may include interface controllers for various interfaces external to SOC 110, including interfaces such as Universal Serial Bus (USB), Peripheral Component Interconnect (PCI) including PCI Express (PCIe), Serial And parallel ports, etc. Interconnections to external devices are depicted by dashed arrows in FIG. 7 , which extend outside of the SOC 110 . Peripherals may include networked peripherals, such as media access controllers (MACs). Any set of hardware can be included.

通訊組構170可係任何通訊互連及協定,其用於在SOC 110的組件之間通訊。通訊組構170可係基於匯流排的,包括共用匯流排組態、叉線式組態、及具有橋接器之階層式匯流排。通訊組構170亦可係基於封包的,且可以橋接器、叉線、點對點、或其他互連而係階層式的。Communication fabric 170 may be any communication interconnect and protocol used to communicate between components of SOC 110 . Communication fabric 170 may be bus-based, including shared bus configurations, cross-wire configurations, and hierarchical buses with bridges. Communication fabric 170 may also be packet-based, and may be hierarchical in bridge, cross-wire, point-to-point, or other interconnections.

注意: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 processors 152 in each processor cluster 150) may vary from embodiment to embodiment. Furthermore, the number of processors 152 in one processor cluster 150 may be different than the number of processors 152 in another processor cluster 150 when multiple processor clusters are included. There may be a greater or lesser number of components/subassemblies than shown in FIG. 7 .

根據本揭露,積體電路(例如,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 SOC 110 . In FIG. 8 the mechanisms are ordered from left to right based on how quickly they can respond to power management needs. On the left is the global power management mechanism (element number 800), which operates based on a trigger input to rapidly reduce the clock frequency. Global power management mechanisms are primarily focused on ensuring correctness in the event of an undervoltage event. As mentioned above, since the extent of the undervoltage event is unknown, the mechanism can be rather crude, and thus the control can be designed to ensure correctness for worst case events.

次快機制可係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 processor 152, and thus can share execution time with the operating system and various applications. The CPU-based power control mechanism can examine many metrics, including telemetry data in telemetry table 702, as well as various performance measurements in the system. CPU-based power control mechanisms may employ dynamic voltage and frequency control, reducing voltage and frequency settings (e.g., "power state") in PMGR 700 as a means of mitigating power control mitigation involving global power control circuit 130 and PMP power control mechanisms Mechanisms to control the amount of power and restore power states to their original settings as desired to increase performance. For example, CPU-based power control mechanisms can reduce power states if reducing global and PMP-based mitigation to the point that lower power states will result in higher overall performance/efficiency, even if the system runs slower. Typically, CPU-based mechanisms can employ system-wide analysis and power management.

全域機制可具有大約數十至數百奈秒的時間尺度;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 PMP 704 may cause PMP 704 to perform specified operations. The operations in FIG. 10 may be performed, for example, at or near the end of a given PMP time window 900A-900N in FIG. 9 .

電力預算控制可從遙測表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 power control circuit 130 participates in mitigation mechanisms, and the like. Thresholds can be fixed or programmable as desired.

若事件的發生大於所欲臨限(決策方塊1002,「是」分支),則電力預算控制710可在當前窗中針對一或多個組件減少電力預算(方塊1004)。若否(決策方塊1002,「否」分支),電力預算控制710可在當前窗中增加電力預算(方塊1006)。增加及/或減少可經受某一遲滯量。例如,若最近的變化係電力預算增加,則可延遲電力預算減少,直到在二或更多個接續的PMP時間窗內指示該減少為止。類似地,若最近的變化係電力預算減少,則可延遲增加,直到在二或更多個接續的PMP時間窗內指示該增加為止。If the occurrence of the event is greater than the desired threshold (decision block 1002, "yes" branch), power budget control 710 may reduce the power budget for one or more components during the current window (block 1004). If not (decision block 1002, "No" branch), power budget control 710 may increase the power budget for the current window (block 1006). The increase and/or decrease may be subject to a certain amount of hysteresis. For example, if the most recent change was an increase in the power budget, a reduction in the power budget may be delayed until the reduction is indicated within two or more successive PMP time windows. Similarly, if the most recent change was a decrease in the power budget, an increase may be delayed until indicated within two or more successive PMP time windows.

須注意,可以不同權重或量值執行電力預算減少及電力預算增加。例如,逐窗施加的減少可大於逐窗施加的增加。因此,若觀察到頻繁的欠電壓事件,則電力預算將更迅速地減少,以便使更粗略之基於正確性的控制迅速地達到較低速率。一旦達成較低速率,減緩增加電力預算可允許系統安定至某種程度的穩態。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. Method 1100 may be implemented using any of the embodiments of the SOC as disclosed herein along with any circuitry in an integrated circuit or other mechanism.

在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. Method 1200 may be implemented using any of the embodiments of the SOC as disclosed herein along with any circuitry in an integrated circuit or other mechanism.

在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, system 1300 includes hierarchical power delivery system 1310 and computing element 1320 . Hierarchical power delivery system 1310 includes a first power converter stage 1312 coupled to receive an input voltage V_in from an external source (eg, a battery pack). The first power converter stage 1312 includes one or more power converters configured (etc.) to generate one or more first stage regulated supply voltages. These first level regulated supply voltages are received by one or more power converters of the second power converter level 1314 . Power converters using one or more first level regulated supply voltage power converter stages 1314 generate one or more second level regulated supply voltages. These voltages are provided to the various loads of the computing element 1320 .

在所示的實施例中,計算元件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 power converter stage 1314 may include one or more power converters adapted to provide a first second-level supply voltage to a processor core and one or more power converters to provide a different second-level supply voltage to an I/O circuit power converter.

所示實施例中之階層式電力輸送系統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可係可製造電子電路之任何類型的自動化系統。 實例系統: Computer system 1440 is configured to read circuit instructions/description 1450 from computer readable medium 1420 . Additionally, computer system 1440 may execute various instructions and use the circuit description to cause fabrication system 1445 to fabricate one or more instances of the circuit represented by circuit instructions/description 1450 . Manufacturing system 1445 may be any type of automated system that can manufacture electronic circuits. Example system:

接下來參照圖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 SoC 1506 include multiple execution lanes and instruction issue queues. In various embodiments, SoC 1506 is coupled to external memory 1502 , peripherals 1504 , and power supply 1508 .

亦提供電力供應1508,其供應至SoC 1506之供應電壓及至記憶體1502及/或周邊設備1504的一或多個供應電壓。在各種實施例中,電力供應1508表示電池組(例如,智慧型手機、膝上型電腦、或平板電腦、或其他裝置中的可充電電池)。在一些實施例中,包括多於一個的SoC 1506之例項(且亦包括多於一個的外部記憶體1502)。A power supply 1508 is also provided that supplies a supply voltage to SoC 1506 and one or more supply voltages to memory 1502 and/or peripherals 1504 . In various embodiments, power supply 1508 represents a battery pack (eg, a rechargeable battery in a smartphone, laptop, or tablet, or other device). In some embodiments, more than one instance of SoC 1506 is included (and also more than one external memory 1502 is included).

記憶體1502係任何類型的記憶體,諸如動態隨機存取記憶體(DRAM)、同步DRAM (SDRAM)、雙倍資料速率(DDR、DDR2、DDR3等)SDRAM(包括諸如mDDR3等之SDRAM的行動版本及/或諸如LPDDR2等之SDRAM的低電力版本)、RAMBUS DRAM (RDRAM)、靜態RAM(SRAM)等。一或多個記憶體裝置係耦合至電路板上以形成記憶體模組,諸如單列記憶體模組(SIMM)、雙列記憶體模組(DIMM)等。替代地,裝置係經安裝,其中SOC或積體電路呈晶片上晶片組態、疊層封裝組態、或多晶片模組組態。Memory 1502 is any type of memory such as Dynamic Random Access Memory (DRAM), Synchronous DRAM (SDRAM), Double Data Rate (DDR, DDR2, DDR3, etc.) SDRAM (including mobile versions of SDRAM such as mDDR3, etc.) and/or low-power versions of SDRAM such as LPDDR2), RAMBUS DRAM (RDRAM), static RAM (SRAM), etc. One or more memory devices are coupled to the circuit board to form a memory module, such as a single inline memory module (SIMM), dual inline memory module (DIMM), and the like. Alternatively, the device is mounted where the SOC or integrated circuit is in a chip-on-a-wafer configuration, a package-on-package configuration, or a multi-chip module configuration.

周邊設備1504依據系統1500之類型包括任何所欲的電路系統。例如,在一個實施例中,周邊設備1504包括用於各種類型之無線通訊(諸如,WiFi、藍牙、蜂巢式、全球定位系統等)的裝置。在一些實施例中,周邊設備1504亦包括額外儲存器,包括RAM儲存器、固態儲存器、或磁碟儲存器。周邊設備1504包括使用者介面裝置,諸如顯示螢幕(包括觸控顯示螢幕或多觸控顯示螢幕)、鍵盤、或其他輸入裝置、麥克風、揚聲器等。Peripherals 1504 include any desired circuitry depending on the type of system 1500 . For example, in one embodiment, peripherals 1504 include means for various types of wireless communications such as WiFi, Bluetooth, cellular, GPS, etc. In some embodiments, peripheral device 1504 also includes additional storage, including RAM storage, solid state storage, or disk storage. Peripheral devices 1504 include user interface devices, such as display screens (including touch display screens or multi-touch display screens), keyboards, or other input devices, microphones, speakers, and the like.

如所繪示,系統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 desktop computer 1510, laptop computer 1520, tablet computer 1530, cellular or mobile phone 1540, or television 1550 (or via a set-top box coupled to a television). Part of a system, component, etc. A smart watch and fitness monitoring device 1560 is also shown. In some embodiments, smart watch 1560 may include various general computing related functions. For example, a smart watch may provide access to email, cell phone service, a user's calendar, and more. In various embodiments, the health monitoring device may be a dedicated medical device or otherwise include dedicated health-related functionality. For example, health monitoring devices can monitor the user's vital signs, track the user's proximity to other users for epidemic and social distancing purposes, contact tracing, and provide communication to emergency services in the event of a health crisis. Epidemiological functions (such as contact tracing), providing communication to emergency medical services, etc. In various embodiments, the smartwatches mentioned above may or may not include some or any of the health monitoring related functions. Other wearable devices are also contemplated, such as devices worn around the neck, devices implantable in the human body, glasses designed to provide augmented and/or virtual reality experiences, and the like.

系統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/fitness monitor device 1560 may use a first implementation of computing elements of a scalable architecture, while tablet 1530 uses a second implementation, and desktop 1510 uses a third implementation. In this particular example, the implementation of computing elements in tablet computer 1530 may be scaled up relative to smart watch/health monitor device 1560 . Similarly, the implementation of computing elements in desktop computer 1510 may be scaled up relative to tablet computer 1530 . Accordingly, each of these devices may utilize a common computing architecture implemented at a scale according to the needs of their respective systems. A power delivery system according to the present disclosure, along with a scalable architecture, can be provided in each of these applications, and can be scaled accordingly along with the computing elements. Thus, while each of the examples discussed here may utilize a power delivery system with a common design, an implementation for a desktop computer 1510 may have more power delivery capacity than a tablet computer 1530, which in turn has a greater than The power delivery capacity of the watch/health monitor device 1560. However, the common design of the power delivery systems used in these different devices can significantly simplify their implementation, because the power delivery system can be configured for a specific application by enabling/disabling the appropriate ones of the power converters therein application. ***

本揭露包括對「一實施例(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)

一種積體電路,其包含: 複數個組件,其中該複數個組件之一給定組件經組態以基於指派給該給定組件的一預算量管理電力消耗; 一全域電力控制電路,其經耦合至該複數個組件,且經組態以回應於至該積體電路之一觸發輸入而跨該複數個組件施加電力控制;及 一電力管理電路,其經組態以: 偵測由該全域電力控制電路施加之該電力控制是否超過一臨限;及 基於由該全域電力控制電路施加的該電力控制超過該臨限的一偵測,減少指派給該複數個組件中之至少一者的預算量。 An integrated circuit comprising: a plurality of components, wherein a given one of the plurality of components is configured to manage power consumption based on a budget assigned to the given component; a global power control circuit coupled to the plurality of components and configured to apply power control across the plurality of components in response to a trigger input to the integrated circuit; and a power management circuit configured to: detecting whether the power control applied by the global power control circuit exceeds a threshold; and A budget amount assigned to at least one of the plurality of components is decreased based on a detection that the power control applied by the global power control circuit exceeds the threshold. 如請求項1之積體電路,其中該臨限包含由該全域電力控制電路施加該電力控制的時間之一百分比。The integrated circuit of claim 1, wherein the threshold comprises a percentage of time that the power control is applied by the global power control circuit. 如請求項2之積體電路,其中該電力管理電路經組態以測量一固定時間窗內之時間百分比。The integrated circuit of claim 2, wherein the power management circuit is configured to measure a percentage of time within a fixed time window. 如請求項3之積體電路,其中該電力管理電路經組態以偵測該固定時間窗之一第一例項期間的百分比,且經組態以減少用於該固定時間窗之一下一例項的預算量,其中該下一例項係接續該第一例項。The integrated circuit of claim 3, wherein the power management circuit is configured to detect a percentage during a first instance of the fixed time window and is configured to decrease for a next instance of the fixed time window The budget amount of , where the next instance is a continuation of the first instance. 如請求項4之積體電路,其中該電力管理電路經組態以減少一給定的固定時間窗中之至該複數個組件之一第一組件的預算量,並減少另一給定的固定時間窗中之至該複數個組件之一第二組件的預算量。The integrated circuit of claim 4, wherein the power management circuit is configured to reduce the amount of budget to a first component of the plurality of components in a given fixed time window and reduce another given fixed time window A budget amount to a second component of the plurality of components in the time window. 如請求項3之積體電路,其中該等組件中之至少一者包含一或多個中央處理單元(CPU)處理器,且其中該等CPU經組態以執行第二複數個指令,以使用動態電壓及頻率控制在該積體電路中實施電力控制。The integrated circuit of claim 3, wherein at least one of the components includes one or more central processing unit (CPU) processors, and wherein the CPUs are configured to execute a second plurality of instructions for use Dynamic voltage and frequency control implements power control in the IC. 如請求項6之積體電路,其中該第二複數個指令在大於該固定時間窗之一第二固定時間窗內實施電力控制。The integrated circuit of claim 6, wherein the second plurality of instructions implement power control within a second fixed time window greater than the fixed time window. 如請求項7之積體電路,其中該第二固定時間窗比該固定時間窗長一或多個十進位數量級。The integrated circuit of claim 7, wherein the second fixed time window is one or more orders of magnitude longer than the fixed time window. 如請求項7之積體電路,其中該第二固定時間窗係該固定時間窗的一整數倍。The integrated circuit according to claim 7, wherein the second fixed time window is an integer multiple of the fixed time window. 如請求項1之積體電路,其中電力管理電路經組態以: 偵測由該全域電力控制電路施加的該電力控制小於該臨限;及 基於由該全域電力控制電路施加的該電力控制超過該臨限的一偵測,增加指派給該複數個組件中之至少一者的預算量。 The integrated circuit of claim 1, wherein the power management circuit is configured to: detecting that the power control applied by the global power control circuit is less than the threshold; and A budget amount assigned to at least one of the plurality of components is increased based on a detection that the power control applied by the global power control circuit exceeds the threshold. 如請求項10之積體電路,其中該預算量的增加經限制為用於該複數個組件中之該至少一者的一最大量。The integrated circuit of claim 10, wherein the budget increase is limited to a maximum amount for the at least one of the plurality of components. 如請求項10之積體電路,其中當在增加該預算量與減少該預算量之間變化時,該電力管理電路經組態以施加遲滯。The integrated circuit of claim 10, wherein the power management circuit is configured to apply hysteresis when changing between increasing the budget amount and decreasing the budget amount. 如請求項1之積體電路,其中該電力管理電路包含一電力管理處理器及儲存複數個指令之經耦合至該電力管理處理器的一記憶體,該複數個指令在由該電力管理處理器執行時,導致該電力管理處理器實行包括上述用於該電力管理電路之操作的操作。The integrated circuit of claim 1, wherein the power management circuit includes a power management processor and a memory coupled to the power management processor storing a plurality of instructions, the plurality of instructions being executed by the power management processor When executed, causes the power management processor to perform operations including the operations described above for the power management circuit. 一種系統,其包含: 一積體電路,其包含: 複數個組件,其中該複數個組件之一給定組件經組態以基於指派給該給定組件的一預算量管理電力消耗; 一全域電力控制電路,其經耦合至該複數個組件,且經組態以回應於至該積體電路之一觸發輸入而跨該複數個組件施加電力控制;及 一電力管理電路,其經組態以: 偵測由該全域電力控制電路施加之該電力控制是否超過一臨限;及 基於由該全域電力控制電路施加的該電力控制超過該臨限的一偵測,減少指派給該複數個組件中之至少一者的預算量;及 一電力管理單元,其經耦合至該積體電路,其中該電力管理單元經組態以供應電力至該積體電路及產生該觸發輸入。 A system comprising: An integrated circuit comprising: a plurality of components, wherein a given one of the plurality of components is configured to manage power consumption based on a budget assigned to the given component; a global power control circuit coupled to the plurality of components and configured to apply power control across the plurality of components in response to a trigger input to the integrated circuit; and a power management circuit configured to: detecting whether the power control applied by the global power control circuit exceeds a threshold; and reducing the budget amount assigned to at least one of the plurality of components based on a detection that the power control applied by the global power control circuit exceeds the threshold; and A power management unit coupled to the integrated circuit, wherein the power management unit is configured to supply power to the integrated circuit and generate the trigger input. 如請求項14之系統,其中該電力管理電路經組態以: 偵測由該全域電力控制電路施加的該電力控制小於該臨限;及 基於由該全域電力控制電路施加的該電力控制超過該臨限的一偵測,增加指派給該複數個組件中之至少一者的預算量。 The system of claim 14, wherein the power management circuit is configured to: detecting that the power control applied by the global power control circuit is less than the threshold; and A budget amount assigned to at least one of the plurality of components is increased based on a detection that the power control applied by the global power control circuit exceeds the threshold. 如請求項15之系統,其中該預算量的增加經限制為用於該複數個組件中之該至少一者的一最大量。The system of claim 15, wherein the increase in the budget amount is limited to a maximum amount for the at least one of the plurality of components. 如請求項14之系統,其中該臨限包含由該全域電力控制電路施加該電力控制的時間之一百分比。The system of claim 14, wherein the threshold comprises a percentage of time that the power control is applied by the global power control circuit. 如請求項17之系統,其中該電力管理電路經組態以測量一固定時間窗內之時間百分比。The system of claim 17, wherein the power management circuit is configured to measure a percentage of time within a fixed time window. 如請求項18之系統,其中該電力管理電路經組態以偵測該固定時間窗之一第一例項期間的百分比,且經組態以減少用於該固定時間窗之一下一例項的預算量,其中該下一例項係接續該第一例項。The system of claim 18, wherein the power management circuit is configured to detect a percentage during a first instance of the fixed time window and is configured to reduce a budget for a next instance of the fixed time window amount, where the next instance is the continuation of the first instance. 一種非暫時性電腦可讀媒體,其儲存用於一積體電路之一電力管理電路中之一電力管理處理器的複數個指令,該積體電路亦包含複數個組件,其中該複數個組件之一給定組件經組態以基於指派給該給定組件的一預算量管理電力消耗,且該積體電路進一步包含一全域電力控制電路,該全域電力控制電路經組態以回應於至該積體電路之一觸發輸入跨該複數個組件施加電力控制,且其中該複數個指令在由該電力管理處理器執行時,導致該電力管理處理器實行包含下列的操作: 偵測由該全域電力控制電路施加之該電力控制是否超過一臨限;及 基於由該全域電力控制電路施加的該電力控制超過該臨限的一偵測,減少指派給該複數個組件中之至少一者的預算量。 A non-transitory computer readable medium storing instructions for a power management processor in a power management circuit of an integrated circuit, the integrated circuit also comprising a plurality of components, wherein one of the plurality of components A given component is configured to manage power consumption based on a budget assigned to the given component, and the integrated circuit further includes a global power control circuit configured to respond to the A trigger input of a bulk circuit applies power control across the plurality of components, and wherein the plurality of instructions, when executed by the power management processor, cause the power management processor to perform operations comprising: detecting whether the power control applied by the global power control circuit exceeds a threshold; and A budget amount assigned to at least one of the plurality of components is decreased based on a detection that the power control applied by the global power control circuit exceeds the threshold.
TW111132676A 2021-08-31 2022-08-30 Power management based on limiting hardware-forced power control TWI836579B (en)

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