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 PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims description 65
- 230000035945 sensitivity Effects 0.000 claims abstract description 47
- 238000004364 calculation method Methods 0.000 claims abstract description 16
- 230000004044 response Effects 0.000 claims description 9
- 230000000116 mitigating effect Effects 0.000 description 16
- 230000006870 function Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 11
- 238000012549 training Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 9
- 230000009467 reduction Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 4
- 239000000872 buffer Substances 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 239000000523 sample Substances 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 230000015556 catabolic process Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme 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.
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)
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 |
-
2021
- 2021-01-20 WO PCT/US2021/014229 patent/WO2021056031A2/fr active Application Filing
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 |