WO2021056031A2 - Appareil et procédé de gestion de puissance configurable à l'aide d'un dispositif de commande de puissance - Google Patents

Appareil et procédé de gestion de puissance configurable à l'aide d'un dispositif de commande de puissance Download PDF

Info

Publication number
WO2021056031A2
WO2021056031A2 PCT/US2021/014229 US2021014229W WO2021056031A2 WO 2021056031 A2 WO2021056031 A2 WO 2021056031A2 US 2021014229 W US2021014229 W US 2021014229W WO 2021056031 A2 WO2021056031 A2 WO 2021056031A2
Authority
WO
WIPO (PCT)
Prior art keywords
power
pipeline
event information
threshold
unit
Prior art date
Application number
PCT/US2021/014229
Other languages
English (en)
Other versions
WO2021056031A3 (fr
Inventor
Jing Wu
Yu Zhang
Jian Huang
Navid Toosizadeh
Huang Huang
Xiaopeng Huang
Original Assignee
Zeku, Inc.
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 Zeku, Inc. filed Critical Zeku, Inc.
Priority to PCT/US2021/014229 priority Critical patent/WO2021056031A2/fr
Publication of WO2021056031A2 publication Critical patent/WO2021056031A2/fr
Publication of WO2021056031A3 publication Critical patent/WO2021056031A3/fr

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors

Definitions

  • Embodiments of the present disclosure relate to an apparatus and method for configurable power management within a subsystem.
  • SoC system on a chip
  • a subsystem of an SoC may be comprised of a set of functional blocks that together process instructions that enable the subsystem to perform its dedicated function.
  • the functional blocks may be organized into pipelines configured to concurrently perform fixed functions or process different portions of an instruction or different instructions.
  • Embodiments of the disclosure provide a power controller for configurable power management.
  • the power controller may include, e.g., an event counter unit, a calculation block, and/or power control block.
  • the event counter unit may be configured to receive event information associated with a plurality of pipelines of a subsystem.
  • the at least one calculation block may be configured to determine, for each pipeline in the plurality of pipelines, whether a threshold condition is met based at least in part on the event information.
  • the at least one power control block may be configured to assert a power control signal for a pipeline of the plurality of pipelines when the threshold condition for the pipeline is met.
  • Embodiments of the disclosure provide a method for configurable power management of a power controller.
  • the method may include receiving, at an event counter unit, event information associated with a plurality of pipelines of a subsystem.
  • the method may further include determining, for each pipeline in the plurality of pipelines, whether a threshold condition is met based at least in part on the event information.
  • the method may include asserting a power control signal for a pipeline of the plurality of pipelines when the threshold condition for the pipeline is met.
  • Embodiments of the disclosure further provide a non-transitory computer readable medium having instructions stored thereon that, when executed by a power controller, causes the power controller to perform configurable power management of a power controller.
  • the method may include receiving event information associated with a plurality of pipelines of a subsystem. In certain other aspects, the method may further include determining, for each pipeline in the plurality of pipelines, whether a threshold condition is met based at least in part on the event information. In certain other aspects, the method may include asserting a power control signal for a pipeline of the plurality of pipelines when the threshold condition for the pipeline is met.
  • Embodiments of the disclosure provide a power meter for configurable power management.
  • the power meter may include, e.g., an event counter, a sliding window unit, and a throttle generator unit.
  • the event counter may receive event information associated with the pipeline.
  • the event counter may determine when the event information associated with the pipeline meets a power threshold.
  • the event information may be associated with a clock cycle.
  • the event counter may send the event information to the sliding window unit when the event information meets the power threshold for the pipeline.
  • the sliding window unit may determine whether the event information meets a cycle threshold.
  • the throttle generator unit may assert a power control signal for the pipeline in response to the cycle threshold being met.
  • Embodiments of the disclosure provide a method for configurable power management of a power meter.
  • the method may include receiving event information associated with the pipeline.
  • the method may include determining when the event information associated with the pipeline meets a power threshold.
  • the event information may be associated with a clock cycle.
  • the method may include sending the event information to the sliding window unit when the event information meets the power threshold for the pipeline.
  • the method may include determining whether the event information meets a cycle threshold.
  • the method may also include asserting a power control signal for the pipeline in response to the cycle threshold being met.
  • Embodiments of the disclosure further provide a non-transitory computer-readable medium having instructions stored thereon that, when executed by a power meter, causes the power meter to perform configurable power management of a power controller.
  • the method may include receiving event information associated with the pipeline.
  • the method may also include determining when the event information associated with the pipeline meets a power threshold.
  • the event information may be associated with a clock cycle.
  • the method may further include sending the event information to the sliding window unit when the event information meets the power threshold for the pipeline.
  • the method may also include determining whether the event information meets a cycle threshold.
  • the method may also include asserting a power control signal for the pipeline in response to the cycle threshold being met.
  • FIG. 1 illustrates a block diagram of an embedded SoC apparatus, in accordance with certain aspects of the disclosure.
  • FIG. 2 illustrates a block diagram of a subsystem that is part of an SoC apparatus, in accordance with certain aspects of the disclosure.
  • FIG. 3A illustrates a block diagram of a power controller configured to perform configurable power management, in accordance with certain aspects of the disclosure.
  • FIG. 3B illustrates a detailed view of a power meter that may be configured to perform configurable power management, in accordance with certain aspects of the disclosure.
  • FIG. 4 illustrates a block diagram of an exemplary system for configurable power management, according to embodiments of the disclosure.
  • FIG. 5 illustrates a flow chart of an exemplary method for configurable power management, according to embodiments of the disclosure.
  • FIG. 6 illustrates a data flow diagram of an exemplary system for configurable power management, according to embodiments of the disclosure.
  • FIG. 7 illustrates a block diagram of a conventional thermal and current limits management system.
  • references in the specification to “one embodiment,” “an embodiment,” “an example embodiment,” “some embodiments,” “certain embodiments,” etc. indicate that the embodiment described may include a particular feature, structure, or characteristic, but every embodiment may not necessarily include the particular feature, structure, or characteristic. Moreover, such phrases do not necessarily refer to the same embodiment. Further, when a particular feature, structure, or characteristic is described in connection with an embodiment, it would be within the knowledge of a person skilled in the pertinent art to effect such feature, structure, or characteristic in connection with other embodiments whether or not explicitly described.
  • the term “one or more” as used herein, depending at least in part upon context, may be used to describe any feature, structure, or characteristic in a singular sense or may be used to describe combinations of features, structures or characteristics in a plural sense.
  • terms, such as “a,” “an,” or “the,” again, may be understood to convey a singular usage or to convey a plural usage, depending at least in part upon context.
  • the term “based on” may be understood as not necessarily intended to convey an exclusive set of factors and may, instead, allow for existence of additional factors not necessarily expressly described, again, depending at least in part on context.
  • an SoC is an integrated circuit that integrates subsystems, each having a different function, in a computing system or other electronic device.
  • the subsystems integrated by an SoC may include, without limitation, one or more of the following: central processing units (CPUs), graphical processing units (GPUs), microcontrollers, microprocessors, multiprocessors, digital signal processor (DSP) cores, other types of cores, a memory unit, read only memory (ROM), random-access memory (RAM) clock signal generators, input/output (I/O) interfaces, analog interfaces, voltage regulators and power management circuits, an advanced peripheral unit(s), wireless communication unit(s) (e.g., Wi-Fi module, cellular module, 5G new' radio (NR) module, Bluetooth® module, etc.), or coprocessors, just to name a few.
  • CPUs central processing units
  • GPUs graphical processing units
  • microcontrollers microprocessors
  • microprocessors multiprocessors
  • DSP digital signal processor
  • a subsystem may perform its dedicated function by running an application comprised of one or more instructions. To decrease the processing time, the subsystem may perform instruction pipelining to implement instruction-level parallelism within a single processor, computing device, and/or circuit. Pipelining attempts to keep every part of the subsystem (e.g., tire functional blocks) busy with some instruction by dividing incoming instructions into different portions that each include a series of sequential steps (e.g., '‘pipeline”).
  • a pipeline may include a set of functional blocks configured to perform the series of sequential steps. A plurality of pipelines may be configured to process different portions of the instruction (e.g., different series of sequential steps) in parallel.
  • Pipelining may decrease processing time and, hence, increase the efficiency of a subsystem
  • pipelining may lead to an undesirable increase in the power consumption and thermal output at the subsystem.
  • Certain pipelines may increase the power consumption and thermal output of the subsystem more than others.
  • subsystems have been designed with an increased number of functional blocks to increase pipelining and multi-thread performance within the subsystem. The increased number of functional blocks may also increase, among other things, the amount of power and, hence, the thermal output associated with a subsystem.
  • Power management techniques may be used to optimize power consumption and mitigate the temperature within the subsystem.
  • One such power management technique is frequency reduction. Frequency reduction may be used to reduce the power consumed by the subsystem.
  • DVFS dynamic voltage and frequency scaling
  • FIG. 7 illustrates a block diagram of a conventional thermal and current limits management system 700 (e.g., “conventional system 700,” hereinafter).
  • conventional system 700 may include a subsystem 702, current sensor 704 and a temperature sensor 706 located at the subsystem 702, a voltage source 708, a temperature / current monitor and mitigation unit 710 (e.g., “mitigation unit 710,” hereinafter), a phase locked loop (PLL) frequency source 712.
  • PLL phase locked loop
  • the mitigation unit 710 may receive current information 703 and temperature information 705 from the current sensor 704 and temperature sensor 706, respectively. Normally, the mitigation unit 710 may include programmable thresholds and an algorithm to perform a mitigation scheme for the entire subsystem 702 (e.g., across all pipelines) using the clock frequency 701 and DVFS (701 and 709).
  • An increase in subsystem temperature may result from the dissipation of switching power during periods of high switching activity in certain pipelines according to the dynamic power equation set forth below as Equation (1): where P switching is the switching power, a is the switching activity, / is the switching frequency, c eff is the effective capacitance, and V dd is the supply voltage.
  • the mitigation unit 710 may use a predictive mechanism to reduce the frequency of the subsystem by sending a signal 711 to the PLL frequency source 712.
  • the PLL 712 may reduce the clock frequency 701 of the subsystem 702 and, therefore, power consumption when the temperature reaches a threshold.
  • the mitigation unit 710 may use the thermal mitigation algorithm to lower the DVFS set point, which may further reduce the power consumption.
  • An increase in current may also a result of high switching activity in the subsystem
  • a fast and steep reduction in the clock frequency 701 may be used depending on the algorithm.
  • the mitigation unit 710 may send a signal 707 instructing the voltage source 708 to lower the voltage (V dd ) 709 and a signal 711 instructing the PLL 712 to lower the clock frequency 701 using DVFS step down.
  • the mitigation unit 710 may decides between a frequency only reduction or DVFS step down depending on the algorithm.
  • the 700 may involve two mechanisms: 1) an inner loop to reduce frequency only and 2) an outer loop to reduce both voltage and frequency using DVFS step down.
  • the advantage of the inner loop is that PLL frequency reduction is usually fast (e.g., 50 ns, 100 ns, 200 ns, etc.).
  • the mitigation for temperature may be slow compared to current mitigation because heat transfer is relatively slow.
  • the outer loop may provide a much faster and effective mitigation for temperature but at the cost of more performance degradation.
  • a large reduction in subsystem performance may be incurred due to the nature of the voltage and frequency control at the subsystem level.
  • the voltage 709 and clock frequency 701 of the entire subsystem e.g., across all pipelines
  • the overall performance of the subsystem may be reduced, e.g., due to increased processing time at all pipelines.
  • the present disclosure provides a solution by enabling a central power controller unit to probe the power events of individual pipelines and assert a power control signal for only those pipelines for which a threshold condition is met.
  • a central power controller unit By applying power control for individual pipelines, the overall performance of the subsystem may be increased by reducing the power for only those pipelines that meet the threshold condition, e.g., as described below in connection with FIGs. 1-6.
  • FIG. 1 illustrates a block diagram of an embedded system-on-chip (SoC) 100, in accordance with certain aspects of the disclosure.
  • the SoC 100 may include, e.g., a main memory 102, a CPU 104, a system bus 106, an input-output (IO) processor 108, and a subsystem 110, just to name a few.
  • IO input-output
  • the subsystem 110 may be configured as, e.g., one or more of a microcontroller unit (MCU), a CPU, a GPU, microcontroller, a processor, microprocessor, a multiprocessor, DSP core, a circuit, a memory unit, ROM, RAM, clock signal generators, I/O interfaces, analog interfaces, voltage regulators and power management circuits, an advanced peripheral unit(s), wireless communication unit(s) (e.g. Wi-Fi module, cellular module, 5G NR module, Bluetooth® module, etc.), or coprocessors, just to name a few
  • MCU microcontroller unit
  • the subsystem 110 may comprise a plurality of functional blocks (e.g., seen in FIG.
  • each pipeline may be configured to process a portion of an instruction such that each of the plurality of pipelines process different portions of the instruction in parallel.
  • a portion of an instruction may include a series of steps that are processed sequentially.
  • the subsystem 110 may comprise a power controller
  • the power controller 130 configured to perform (125) configurable power management.
  • the power controller 130 may be configured to assert a power control signal for a particular pipeline (e.g., to reduce the power and thermal output of that pipeline) when a threshold condition is met, e.g., as described below in connection with FIGs. 2, 3A, 3B, 4, 5, and 6.
  • the power controller In some implementations, such as the one illustrated in FIG. 1 , the power controller
  • subsystem 110 may also include a configuration training system 140 that may configure the threshold conditions used by the power controller 130 for configurable power management.
  • one or more of the configuration training system 140 and/or the power controller 130 may be located external to the subsystem 110. When located externally, the configuration training system 140 and/or the power controller 130 may be in communication with the subsystem 110. Additional details associated with the configuration training system 140 are set forth below in connection with FIG. 3B.
  • FIG. 2 illustrates a more detailed view of subsystem 110 from FIG. 1 , in accordance with certain aspects of the disclosure.
  • FIG. 3 A illustrates a block diagram 300 of a power controller configured to perform configurable power management, in accordance with certain aspects of the disclosure.
  • the power controller 130 may be in communication with a plurality of pipelines (e.g., pipeline 1 218, pipeline2 219 ... pipelineN 220.
  • the power controller 130 in FIG. 3 A is illustrated as being in communication with three pipelines, the power controller 130 may be in communication with more or fewer than three pipelines without departing from the scope of the present disclosure.
  • FIG. 3B illustrates a detailed view of a power meter 312 that may be included in the power controller 130, in accordance with certain aspects of the disclosure.
  • FIGs. 2, 3A, and 3B will now be described together.
  • the subsystem 110 illustrated in FIG. 2 is configured as a processor, and, hence, the functional blocks described below are those associated with a processor.
  • subsystem 110 is not limited to a processor and may include one or more of the other non-limiting examples of subsystem 110 described above in connection with FIG. 1.
  • subsystem 110 is configured as something other than a multiprocessor, a different combination of functional blocks than those described below may be included in subsystem 110 without departing from the scope of the present disclosure.
  • the number of functional blocks illustrated in FIG. 2 is for illustrative purposes only and not limited thereto. In other words, subsystem 110 may include any different number or type of functional blocks without departing from the scope of the present disclosure.
  • subsystem 110 may comprise a plurality of functional blocks configured to process at least one instruction (e.g., the instruction, hereinafter).
  • the plurality of functional blocks illustrated in FIG. 2 may include, e.g., an instruction cache 202, one or more instruction buffers 204, a plurality of ALU 206, a plurality of load / store units (LD/STs) 208, a plurality of special function units (SFUs) 210, a texture / L1 cache 212, a plurality of texture units (TEXs) 214, and/or a common register file 216, just to name a few.
  • pipelinel 218 may include instruction cache 202, instruction buffer 204, ALU 206, and common register file 216.
  • the plurality of pipelines may be configured to process an instruction and/or a dedicated function.
  • the instruction may include a plurality of portions that may be processed concurrently using different pipelines that are each comprised of one or more functional blocks.
  • each portion of the instruction may include a set of stages. Each of the stages may be sequentially processed by one or more of the functional blocks in the pipeline.
  • a pipeline may include a register after each stage. The registers may be configured to store information from the instruction and/or calculation(s) from one stage so that the logic gates of the next stage in the pipeline may perform the subsequent step using the information in the register of the previous stage. After each stage, a handshake signal may be exchanged with the next downstream functional block indicating that the previous stage is complete, and the next stage should begin. Each stage may consume a certain amount of power. The power consumed by a stage may be referred to as a power event.
  • pipelines may be included in a same device, subsystem, or functional block. Additionally and/or alternatively, pipelines may be located in separate devices, subsystem, or functional blocks.
  • the portion of the instruction processed by pipelinel 218 includes five stages and that each stage is associated with a power event.
  • the first stage may include fetching (e.g., first power event) the portion of the instruction into the instruction buffer 204.
  • the second stage may include fetching (e.g., second power event) the decoded portion of the instruction into the ALU 206.
  • the third stage may include executing (e.g., third power event) a calculation at the ALU 206.
  • the fourth stage may include accessing (e.g., fourth power event) the common register file 216.
  • the fifth stage may include writing (e.g., fifth power event) information associated with the calculation to the common register file 216.
  • event information 301 e.g., a power event signal
  • Event information 301 may include power information indicating an amount or percentage of the power consumed during a stage.
  • the power controller 130 may receive a plurality of event information 301 for each pipeline. If the number of power events for a pipeline meets a threshold condition (e.g., one or more of a threshold number, a threshold power, a threshold cycle, etc.), the power controller 130 may be configured to assert a power control signal 303 (e.g., throttle enable) to temporarily reduce the power consumption for that pipeline.
  • a threshold condition e.g., one or more of a threshold number, a threshold power, a threshold cycle, etc.
  • a power control signal 303 e.g., throttle enable
  • the power controller 130 may be a central power controller configured to probe the power events for each pipeline (e.g., pipelinel 218, pipeline2 219, pipelineN 220) in a subsystem 110.
  • the power controller 130 may include a plurality of power meters 312, each associated with one or more pipelines. Additional details of power meter 312 will now be described in connection with FIG. 3B.
  • the power meter 312 may include an event counter 314, a sensitivity level unit 320, a sliding window unit 316, a throttle generator unit 318, a sensitivity level configuration unit 332, a sliding window configuration unit 334, and a throttle configuration unit 336, among others.
  • the sensitivity level unit 320 may be part of the event counter 314.
  • the sensitivity level unit 320 may be separate from but in communication with the event counter 314.
  • power meter 312 may be configured to probe power events for one or more pipelines. For illustrative purposes, power meter 312 will be described below as probing power events for a single pipeline, e.g., pipeline 1 218.
  • the event counter 314 may monitor the power events for its respective pipeline(s) every clock cycle.
  • the event counter 314 may be configured to receive event information 301 each time a power event occurs in pipeline 1 218.
  • Each of the event information 301 may include, e.g., power bit information indicating an amount of power associated with that event.
  • the event counter 314 may calculate the total power for, e.g., pipelinel 218 during the clock cycle by summing the power bits indicated in each of the event information 301.
  • the event counter 314 may send the event information that indicates the total power consumed by the pipeline during that clock cycle.
  • the sensitivity level unit 320 may be configured to determine whether the event information 301 meets a power threshold (e.g., a power percentage for a clock cycle). By way of example and not limitation, assume that the total power consumed pipelinel 218 reaches 90% of the maximum allowable power for that clock cycle. The sensitivity level unit 320 may then send the event information 301 to the sliding window unit 316 when the power threshold of 90% is reached. The sensitivity level unit 320 may include a regulator trigger in the event information sent to the sliding window unit 316. Otherwise, when the total power consumed during that clock cycle is less than 90%, then the event information 301 may not be sent to the sliding window unit 316. The sensitivity level may be set to 100%, in this case, the sensitivity level unit 320 may not exist, and the event information may be directly sent to sliding window unit 316.
  • a power threshold e.g., a power percentage for a clock cycle.
  • the sliding window unit 316 may be configured to determine whether the event information 301 meets a cycle threshold.
  • the cycle threshold may be the sliding window size.
  • the sliding window size may include a predetermined number of clock cycles (e.g., 1 clock cycle, 2 clock cycles, 10 clock cycles, 50 clock cycles, 100 clock cycles, etc.).
  • the sliding window size e.g., the cycle threshold
  • the sliding window unit 316 may determine that the cycle threshold is met when event information 301 associated with pipelinel 218 is received from the sensitivity level unit 320 for 100 clock cycles, e.g., indicating that the power threshold was reached for 100 cycles.
  • the sliding window unit 316 may include a state machine.
  • the state machine may include a wait trigger state, a threshold set state, and/or throttle enable state.
  • the sliding window unit 316 may remain in the wait trigger state until event information including a regulator trigger is received from the sensitivity unit 320.
  • the regulator trigger may cause the state machine to transition to the threshold set state.
  • the threshold set state may increment a counter upon receipt of the regulator trigger.
  • a threshold number of regulator triggers e.g., when the power threshold at the sensitivity unit 320 is reached for a predetermined number of clock cycles
  • the sliding window unit 316 may transition to the throttle enable state.
  • a throttle enable signal may be sent to the throttle generator 318 upon transitioning to the throttle enable state.
  • a regulator deassert signal may be sent to the sliding window unit 316.
  • the sliding window unit 316 may transition from the throttle enable state to the wait trigger state.
  • the counter associated with the regulator triggers may be reset upon transitioning to the wait trigger state.
  • the sliding window unit 316 may send a signal that instructs the throttle generator unit 318 to assert a power control signal 303 (e.g., throttle enable signal) for pipelinel 218.
  • the power control signal 303 may be asserted until a deassert trigger is received from the sliding window unit 316.
  • the sliding window unit 316 may be configured to initiate DVFS power management 305 for the subsystem 110 when certain conditions are met. For example, if the sliding window unit 316 determines that that power or temperature of a pipeline and/or subsystem reaches a DVFS set point, then a signal to initiate DVFS power management 305 may be asserted to adjust the frequency, or the voltage, or both. In certain implementations, the sliding window unit 316 may be configured to initiate clock or power gating for one or more functional blocks or pipelines. [0060] In certain implementations, the power meter 312 may be in communication with a configuration training system, e.g., such as the configuration training system 140 in FIG. 1.
  • a configuration training system e.g., such as the configuration training system 140 in FIG. 1.
  • the configuration training system 140 may be configured to receive power, performance, and/or feedback information (e.g., thermal feedback, current feedback, power feedback, voltage feedback, frequency feedback, etc.) from the set of functional blocks and/or pipeline.
  • the configuration training system 140 may be configured to generate configuration information 330 based at least in part on the frequency, current, power, performance, and/or thermal feedback information.
  • the configuration information 330 may be used to configure the power threshold (e.g., sensitivity level information), the cycle threshold (e.g., sliding window size), throttle enable / disable information, etc.
  • the configuration training system 140 may select configuration information 330 that provides a desirable thermal, current, and performance tradeoff.
  • the sensitivity level configuration unit 332 may be configured to receive configuration information 330 associated with the power threshold (e.g., 20%, 30%, 50%, 85%, 90%, etc.).
  • the sliding window configuration unit 334 may be configured to receive configuration information 330 associated with a sliding window size (e.g., 5 clock cycles, 10 clock cycles, 50 clock cycles, 100 clock cycles) that may be used as the cycle threshold.
  • the throttle configuration unit 336 may be configured to receive duty cycle information (e.g., one or more clock cycles) associated with the duration to assert a throttle enable signal and/or throttle disable signal.
  • Feedback information 340 may be sent to the event counter unit 314, sensitivity level unit 320, sliding window unit 316, and throttle generator unit 318.
  • Feedback information 340 is to adjust the power model to achieve more accurate power detection.
  • the configuration training system 140 may send feedback information 340 to one or more of the event counter 314, the sensitivity level unit 320, the sliding window unit 316, and/or throttle generator unit 318.
  • the event counter 314, the sensitivity level unit 320, the sliding window unit 316, and/or throttle generator unit 318 may use the feedback information 340 to reconfigure, e.g., an offset used in summing the power bits, a power threshold (e.g., sensitivity level), a sliding window size, and an amount to throttle, respectively.
  • a power threshold e.g., sensitivity level
  • the sensitivity level unit 320 may lower the power threshold
  • the sliding window unit 316 may reduce the cycle threshold.
  • the overall temperature of the subsystem 110 may be decreased.
  • the power controller 130 may be configured to perform DVFS. For example, when the temperature of the subsystem reaches a DVFS set point, a DVFS signal may be asserted for the entire subsystem 110.
  • FIG. 4 illustrates a block diagram of an exemplary system 400 for power management, according to embodiments of the disclosure.
  • system 400 may include a power controller 404, a memory 406, and/or a storage 408.
  • system 400 may have different modules in a single device, such as an integrated circuit (IC) chip (e.g., implemented as an application-specific integrated circuit (ASIC) or a field- programmable gate array (FPGA)), or separate devices with dedicated functions.
  • IC integrated circuit
  • ASIC application-specific integrated circuit
  • FPGA field- programmable gate array
  • one or more components of system 400 may be located in a cloud or may be alternatively in a single location (such as inside a mobile device) or distributed locations.
  • Components of system 400 may be in an integrated device or distributed at different locations but communicate with each other through a network (not shown). Consistent with the present disclosure, system 400 may be configured to perform configurable power management.
  • Power controller 404 may include any appropriate type of general-purpose or special-purpose circuit, microprocessor, digital signal processor, or microcontroller.
  • power controller 404 may include multiple modules, such as an event counter unit 442, a sensitivity level unit 444, a sliding window unit 446, a throttle generator unit 448 and the like. These modules (and any corresponding sub-modules or sub-units) can be hardware units (e.g., portions of an integrated circuit) of power controller 404 designed for use with other components or software units implemented by power controller 404 through executing at least part of a program or fixed functions.
  • the program may be stored on a computer- readable medium, and when executed by power controller 404, it may perform one or more functions.
  • FIG. 4 shows units 442-448 all within one power controller 404, it is contemplated that these units may be distributed among different power controllers located closely or remotely with each other.
  • the event counter unit 442, the sensitivity level unit 444, and the sliding window unit 446 may collectively be referred to a calculation block.
  • one or more of units 442-448 of FIG. 4 may execute first computer instructions to perform configurable power management. Additionally and/or alternatively, one or more of units 442-448 of FIG. 4 may comprise logic to perform one or more fixed functions related to configurable power management.
  • FIG. 5 illustrates a flowchart of an exemplary method 500 for configurable power management, according to embodiments of the disclosure.
  • Method 500 may be performed by system 400 and particularly power controller 404 or a separate processor and/or circuit not shown in FIG. 4.
  • Method 500 may include operations 502- 520, as described below. It is to be appreciated that some of the steps may be optional, and some of the steps may be performed simultaneously, or in a different order than shown in FIG. 5. In FIG. 5, optional operations may be indicated with dashed lines.
  • FIG. 6 illustrates a data flow diagram 600 of an exemplary system for configurable power management, according to embodiments of the disclosure. FIGs. 4-6 will be described together below.
  • the event counter unit 442 may receive event information associated with a plurality of pipelines of a subsystem.
  • event counter 314 may be configured to receive event information 301 each time a power event occurs in pipeline 1 218. Each time event information 301 is received, the event counter 314 may add the power bits together during a clock cycle.
  • the calculation block may determine, for each pipeline in the plurality of pipelines, whether a threshold condition is met based at least in part on the event information.
  • the threshold condition may include, e.g., summing of a pipeline’s total power during a clock cycle, a power threshold (e.g., determined at the sensitivity level unit 444), and a cycle threshold (e.g., determined at the sliding window unit 446).
  • the event counter 314 may sum the power bits received in event information 301.
  • the sensitivity level unit 320 may be configured to determine whether the event information 301 meets a power threshold (e.g., a power percentage for a clock cycle).
  • the event information 301 may indicate, among others, the amount of power consumed during the power event.
  • the sliding window unit 316 may be configured to determine whether the event information 301 meets a cycle threshold.
  • the cycle threshold may be the sliding window size.
  • the sliding window size may include a predetermined number of clock cycles (e.g., 1 clock cycle, 2 clock cycles, 10 clock cycles, 50 clock cycles, 100 clock cycles, etc.).
  • the sliding window unit may consist of a power increase slope detection logic and may adjust the sliding window accordingly, e.g. if the slope is high, the window size will be reduced to increase the sensitivity.
  • the event counter unit 442 may calculate, for each pipeline in the plurality of pipelines, a total power associated with a clock cycle.
  • event counter 314 may be configured to receive event information 301 each time a power event occurs in pipeline 1 218. Each time event information 301 is received, the event counter 314 may add the power bits together during a clock cycle.
  • the sensitivity level unit 444 may determine, for each pipeline in the plurality of pipelines, whether a threshold condition is met based at least in part on the event information by determining when the event information associated with the pipeline meets a power threshold.
  • the sensitivity level unit 320 may be configured to determine whether the event information 301 meets a power threshold (e.g., a power percentage for a clock cycle).
  • the sensitivity level unit 444 may determine, for each pipeline in the plurality of pipelines, whether a threshold condition is met based at least in part on the event information by sending the event information to the sliding window unit 446 associated with the pipeline when the event information meets the power threshold for the pipeline. For example, referring to FIGs. 3A and 3B, the sensitivity level unit 320 may send the event information 301 to the sliding window unit 316.
  • sliding window unit 446 may determine, for each pipeline in the plurality of pipelines, whether a threshold condition is met based at least in part on the event information by determining whether the event information meets a cycle threshold.
  • the threshold condition may be met upon determining that the predetermined number of power events is met, the power threshold is met, and the cycle threshold is met.
  • the sliding window cycle threshold may be zero, in that case, the sliding window unit may not exist and the event information is sent to throttle generator unit directly.
  • the throttle generator unit 448 may assert a power control signal for the pipeline when the threshold condition of the pipeline is met. For example, referring to FIGs. 3 A and 3B, the throttle generator unit 318 may assert a power control signal 303 (e.g., throttle enable signal) for pipelinel 218 for a predetermined number of cycles (e.g., a predetermined duty cycle).
  • the throttle generator unit 448 may deassert the power control signal for the pipeline at an end of the predetermined duty cycle. For example, referring to FIGs. 3 A and 3B, the throttle generator unit 318 may deassert the power control signal 303 for pipeline 1 218 after the deassert sliding window threshold is met.
  • the sensitivity level unit 444, the sliding window unit 446, and the throttle generator unit 448 may receive configuration information and/or feedback information associated with one or more of the event counter, power threshold, the cycle threshold, or the predetermined duty cycle.
  • the event counter 442, sensitivity level unit 444, the sliding window unit 446, and the throttle generator unit 448 may be configured to reconfigure one or more of an offset and/or coefficient used by the event counter 442 to sum the power events for a clock cycle, the power threshold used by the sensitivity level unit 444, the cycle threshold used by the sliding window unit 446, and a throttle amount used by the throttle generator 448 based at least in part on the configuration information and/or feedback information. For example, referring to FIGs.
  • feedback information 340 may be sent to the event counter unit 314, sensitivity level unit 320, sliding window unit 316, and throttle generator unit 318.
  • Feedback information 340 may be used to adjust the power model to achieve more accurate power detection.
  • the configuration training system 140 may send feedback information 340 to one or more of the event counter 314, the sensitivity level unit 320, the sliding window unit 316, and/or throttle generator unit 318.
  • the event counter 314, the sensitivity level unit 320, the sliding window unit 316, and/or throttle generator unit 318 may use the feedback information 340 to reconfigure, e.g., an offset or coefficient used in summing the power bits, a power threshold (e.g., sensitivity level), a sliding window size, and an amount to throttle, respectively.
  • a power threshold e.g., sensitivity level
  • the sensitivity level unit 320 may lower the power threshold
  • the sliding window unit 316 may reduce the cycle threshold.
  • the overall temperature of the subsystem 110 may be decreased.
  • Embodiments of the disclosure provide a power controller for configurable power management.
  • the power controller may include an event counter unit, a sensitivity level unit, a sliding window unit, and a throttle generator unit.
  • the event counter unit, sensitivity level unit, and sliding window unit may be collectively referred to as a calculation block.
  • the event counter unit may be configured to receive event information associated with a plurality of pipelines of a subsystem.
  • the calculation block to determine, for each pipeline in the plurality of pipelines, whether a threshold condition is met based at least in part on the event information.
  • the throttle generator unit may be configured to assert a power control signal for a pipeline of the plurality of pipelines when the threshold condition for the pipeline is met.
  • the event information may indicate power events associated with the plurality of pipelines.
  • the power control signal may include a throttle enable signal.
  • the at least one processor may be further configured to determine, for each pipeline in the plurality of pipelines, whether the threshold condition is met.
  • the calculation block may be configured to determine, for each pipeline in the plurality of pipelines, whether a threshold condition is met based at least in part on the event information by determining, at the event counter unit, when the event information associated with the pipeline meets a power threshold, the event information being associated with a cycle.
  • the calculation block may be configured to determine, for each pipeline in the plurality of pipelines, whether a threshold condition is met based at least in part on the event information by sending, from the counter, the event information to a sliding window unit associated with the pipeline when the event information meets the power threshold for the pipeline.
  • the calculation block may be configured to determine, for each pipeline in the plurality of pipelines, whether a threshold condition is met based at least in part on the event information by determining, at the sliding window unit, whether the event information meets a cycle threshold.
  • the threshold condition may be met upon determining the event information meets the cycle threshold.
  • the event counter unit and the sliding window unit may be associated with the pipeline.
  • the cycle threshold may include a plurality of cycles.
  • the throttle generator unit may be configured to assert the power control signal for the pipeline when the threshold condition of the pipeline is met by asserting the power control signal for the pipeline for a predetermined duty cycle.
  • the predetermined duty cycle may include a predetermined number of cycles.
  • the throttle generator unit may be further figured to deassert the power control signal for the pipeline upon receiving a deassert signal from the sliding window unit.
  • the event counter unit, sensitivity level unit, sliding window unit, and the throttle generator unit may be configured to reconfigure one or more of an offset and/or coefficient used by the event counter to sum the power events for a clock cycle, the power threshold used by the sensitivity level unit, the cycle threshold used by the sliding window unit, and a throttle amount used by the throttle generator based at least in part on the configuration information and/or feedback information.
  • the configuration information may be received based at least in part on feedback information associated with the pipeline.
  • Embodiments of the disclosure provide a method for configurable power management of a power controller.
  • the method may include receiving, at an event counter unit, event information associated with a plurality of pipelines of a subsystem.
  • the method may further include determining, for each pipeline in the plurality of pipelines, whether a threshold condition is met based at least in part on the event information.
  • the method may include asserting a power control signal for a pipeline of the plurality of pipelines when the threshold condition for the pipeline is met.
  • the determining, for each pipeline in the plurality of pipelines, whether the threshold condition is met comprises determining, at the event counter unit, when the event information associated with the pipeline meets a power threshold, the event information being associated with a cycle.
  • the determining, for each pipeline in the plurality of pipelines, whether the threshold condition is met may comprise sending, from the event counter unit, the event information to a sliding window unit associated with the pipeline when the event information meets the power threshold for the pipeline.
  • the determining, for each pipeline in the plurality of pipelines, whether the threshold condition is met may further comprise determining, at the sliding window unit, whether the event information meets a cycle threshold.
  • the threshold condition may be met upon determining the event information meets the cycle threshold.
  • Embodiments of the disclosure further provide a non-transitory computer readable medium having instructions stored thereon that, when executed by a power controller, causes the power controller to perform configurable power management of a power controller.
  • the method may include receiving event information associated with a plurality of pipelines of a subsystem.
  • the method may further include determining, for each pipeline in the plurality of pipelines, whether a threshold condition is met based at least in part on the event information.
  • the method may include asserting a power control signal for a pipeline of the plurality of pipelines when the threshold condition for the pipeline is met.
  • Embodiments of the disclosure provide a power meter for configurable power management.
  • the power meter may include, among others, an event counter, a sliding window unit, and a throttle generator unit.
  • the event counter unit may receive event information associated with the pipeline.
  • the event counter unit may determine when the event information associated with the pipeline meets a power threshold.
  • the event information may be associated with a clock cycle.
  • the event counter unit may send the event information to the sliding window unit when the event information meets the power threshold for the pipeline.
  • the sliding window unit may determine whether the event information meets a cycle threshold.
  • the throttle generator unit may assert a power control signal for the pipeline in response to the cycle threshold being met.
  • the event information may indicate power events associated with the pipeline.
  • the power control signal may include a throttle enable signal.
  • the event counter and the sliding window unit may be associated with the pipeline.
  • the cycle threshold may include a plurality of cycles.
  • the power control signal may be asserted until a deassert trigger is received.
  • Embodiments of the disclosure provide a method for configurable power management of a power meter.
  • the method may include receiving event information associated with the pipeline.
  • the method may include determining when the event information associated with the pipeline meets a power threshold.
  • the event information may be associated with a clock cycle.
  • the method may include sending the event information to the sliding window unit when the event information meets the power threshold for the pipeline.
  • the method may include determining whether the event information meets a cycle threshold.
  • the method may also include asserting a power control signal for the pipeline in response to the cycle threshold being met.
  • Embodiments of the disclosure further provide a non-transitory computer-readable medium having instructions stored thereon that, when executed by a power controller, causes the one or more processors to perform configurable power management of a power controller.
  • the method may include receiving event information associated with the pipeline.
  • the method may also include determining when the event information associated with the pipeline meets a power threshold.
  • the event information may be associated with a clock cycle.
  • the method may further include sending the event information to the sliding window unit when the event information meets the power threshold for the pipeline.
  • the method may also include determining whether the event information meets a cycle threshold.
  • the method may also include asserting a power control signal for the pipeline in response to the cycle threshold being met.
  • the functions described herein may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored on or encoded as instructions or code on a non-transitory computer-readable medium. Another aspect of the present disclosure is directed to a non-transitory computer-readable medium storing instructions which, when executed, cause one or more processors to perform the methods, as discussed above.
  • the computer-readable medium may include volatile or non-volatile, magnetic, semiconductor-based, tape-based, optical, removable, non-removable, or other types of computer-readable medium or computer-readable storage devices.
  • the computer-readable medium may be the storage device or the memory module having the computer instructions stored thereon, as disclosed.
  • the computer-readable medium may be a disc or a flash drive having the computer instructions stored thereon.

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Power Sources (AREA)

Abstract

Des modes de réalisation de la divulgation concernent un dispositif de commande de puissance pour la gestion de puissance configurable. Le dispositif de commande de puissance peut comprendre une unité compteur d'événement, une unité de niveau de sensibilité, une unité de fenêtre glissante et une unité générateur de ralentissement. Dans certains aspects, l'unité compteur d'événement peut être configurée pour recevoir des informations d'événement associées à une pluralité de pipelines d'un sous-système. Dans certains autres aspects, le bloc de calcul peut être configuré pour déterminer, pour chaque pipeline dans la pluralité de pipelines, si une condition de seuil est satisfaite sur la base, au moins en partie, des informations d'événement. Dans certains autres aspects, l'unité générateur de ralentissement peut être configurée pour imposer un signal de commande de puissance pour un pipeline de la pluralité de pipelines lorsque la condition de seuil pour le pipeline est satisfaite. Des informations de retour peuvent être utilisées pour reconfigurer une ou plusieurs unités de l'unité de commande de puissance.
PCT/US2021/014229 2021-01-20 2021-01-20 Appareil et procédé de gestion de puissance configurable à l'aide d'un dispositif de commande de puissance WO2021056031A2 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/US2021/014229 WO2021056031A2 (fr) 2021-01-20 2021-01-20 Appareil et procédé de gestion de puissance configurable à l'aide d'un dispositif de commande de puissance

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2021/014229 WO2021056031A2 (fr) 2021-01-20 2021-01-20 Appareil et procédé de gestion de puissance configurable à l'aide d'un dispositif de commande de puissance

Publications (2)

Publication Number Publication Date
WO2021056031A2 true WO2021056031A2 (fr) 2021-03-25
WO2021056031A3 WO2021056031A3 (fr) 2021-06-03

Family

ID=74884229

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2021/014229 WO2021056031A2 (fr) 2021-01-20 2021-01-20 Appareil et procédé de gestion de puissance configurable à l'aide d'un dispositif de commande de puissance

Country Status (1)

Country Link
WO (1) WO2021056031A2 (fr)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6636976B1 (en) * 2000-06-30 2003-10-21 Intel Corporation Mechanism to control di/dt for a microprocessor
US6931559B2 (en) * 2001-12-28 2005-08-16 Intel Corporation Multiple mode power throttle mechanism
US7281140B2 (en) * 2001-12-28 2007-10-09 Intel Corporation Digital throttle for multiple operating points
US7793125B2 (en) * 2007-01-10 2010-09-07 International Business Machines Corporation Method and apparatus for power throttling a processor in an information handling system
US8356194B2 (en) * 2010-01-28 2013-01-15 Cavium, Inc. Method and apparatus for estimating overshoot power after estimating power of executing events

Also Published As

Publication number Publication date
WO2021056031A3 (fr) 2021-06-03

Similar Documents

Publication Publication Date Title
Lee et al. Warped-compression: Enabling power efficient GPUs through register compression
US8261112B2 (en) Optimizing power consumption by tracking how program runtime performance metrics respond to changes in operating frequency
US8984311B2 (en) Method, apparatus, and system for energy efficiency and energy conservation including dynamic C0-state cache resizing
US9235243B2 (en) Thermal profile optimization techniques
US9323316B2 (en) Dynamically controlling interconnect frequency in a processor
US11360540B2 (en) Processor core energy management
US9946319B2 (en) Setting power-state limits based on performance coupling and thermal coupling between entities in a computing device
US10474219B2 (en) Enabling system low power state when compute elements are active
US20130318379A1 (en) Scheduling tasks among processor cores
US20130346774A1 (en) Providing energy efficient turbo operation of a processor
US9916104B2 (en) Techniques for entry to a lower power state for a memory device
US10114435B2 (en) Method and apparatus to control current transients in a processor
US10268486B1 (en) Expedited resume process from hibernation
US11703927B2 (en) Leakage degradation control and measurement
US10515611B2 (en) Performance-based graphics processing unit power management
US9753531B2 (en) Method, apparatus, and system for energy efficiency and energy conservation including determining an optimal power state of the apparatus based on residency time of non-core domains in a power saving state
US8745427B2 (en) Memory link power management
US9760145B2 (en) Saving the architectural state of a computing device using sectors
WO2021056031A2 (fr) Appareil et procédé de gestion de puissance configurable à l'aide d'un dispositif de commande de puissance
WO2021056032A2 (fr) Appareil et procédé d'attribution de puissance intelligente à l'aide d'un dispositif de commande de puissance
WO2021056033A2 (fr) Appareil et procédé de gestion intelligente de puissance et de performance
US20210349519A1 (en) Intelligent prediction of processor idle time apparatus and method
JP5881198B2 (ja) 優先度ベースのインテリジェントプラットフォームの受動的熱管理
CN114787777A (zh) 异构处理器之间的任务转移方法
US11709522B1 (en) Power and temperature driven clock throttling

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21712935

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21712935

Country of ref document: EP

Kind code of ref document: A2