WO2021056032A2 - Appareil et procédé d'attribution de puissance intelligente à l'aide d'un dispositif de commande de puissance - Google Patents

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

Info

Publication number
WO2021056032A2
WO2021056032A2 PCT/US2021/014233 US2021014233W WO2021056032A2 WO 2021056032 A2 WO2021056032 A2 WO 2021056032A2 US 2021014233 W US2021014233 W US 2021014233W WO 2021056032 A2 WO2021056032 A2 WO 2021056032A2
Authority
WO
WIPO (PCT)
Prior art keywords
power
information
functional blocks
control information
power control
Prior art date
Application number
PCT/US2021/014233
Other languages
English (en)
Other versions
WO2021056032A3 (fr
Inventor
Jing Wu
Yu Zhang
Jian Huang
Navid Toosizadeh
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/014233 priority Critical patent/WO2021056032A2/fr
Publication of WO2021056032A2 publication Critical patent/WO2021056032A2/fr
Publication of WO2021056032A3 publication Critical patent/WO2021056032A3/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, process different portions of an instruction, or processes different instructions.
  • Embodiments of the disclosure provide a configuration training system for configurable power management.
  • the configuration training system may include a memory and at least one processor coupled to the memory.
  • the at least one processor may be configured to receive application information associated with a plurality of functional blocks.
  • the at least one processor may be configured to receive first status feedback information from the plurality of functional blocks.
  • the at least one processor may also be configured to generate first power control information based at least in part on one or more of the application information or the first status feedback information.
  • the at least one processor may be further configured to send the first power control information to a power controller.
  • Embodiments of the disclosure provide a method for configurable power management of a configuration training system.
  • the method may include receiving application information associated with a plurality of functional blocks.
  • the method may also include receiving first status feedback information from the plurality of functional blocks.
  • the method may further include generating first power control information based at least in part on one or more of the application information or the first status feedback information.
  • the method may further include sending the first power control information to a power controller.
  • Embodiments of the disclosure further provide a non-transitory computer-readable medium having instructions stored thereon that, when executed by one or more processors, causes the one or more processors to perform configurable power management of a configuration training system.
  • the method may include receiving application information associated with a plurality of functional blocks.
  • the method may also include receiving first status feedback information from the plurality of functional blocks.
  • the method may further include generating first power control information based at least in part on one or more of the application information or the first status feedback information.
  • the method may further include sending the first power control information to a power controller.
  • Embodiments of the disclosure provide a power controller for configurable power management.
  • the power controller may include a calculation block and a throttle generator block.
  • the calculation block may be configured to receive first power control information associated with a plurality of functional blocks.
  • the calculation block may be configured to identify first power management technique associated with the plurality of functional blocks based at least in part on the first power control information.
  • the throttle generator block may be configured to apply the first power management technique to the plurality of functional blocks.
  • Embodiments of the disclosure provide a method for configurable power management of a power controller.
  • the method may include receiving, at a power controller, first power control information associated with a plurality of functional blocks.
  • the method may further include identifying, at the power controller, first power management technique associated with the plurality of functional blocks based at least in part on the first power control information.
  • the method may include applying the first power management technique to the plurality of functional blocks.
  • 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 first power control information associated with a plurality of functional blocks.
  • the method may further include identifying first power management technique associated with the plurality of functional blocks based at least in part on the first power control information.
  • the method may include applying the first power management technique to the plurality of functional blocks.
  • 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. 3C illustrates another block diagram of subsystem that is part of an SoC, in accordance with certain aspects of the disclosure.
  • FIG. 3D illustrates a data flow performed by a power controller, in accordance with certain aspects of the disclosure.
  • FIG. 4A illustrates a block diagram of a first exemplary system for configurable power management, according to embodiments of the disclosure.
  • FIG. 4B illustrates a block diagram of a second 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 flow chart of an exemplary method for configurable power management, according to embodiments of the disclosure.
  • FIG. 8 illustrates a data flow diagram of an exemplary system for configurable power management, according to embodiments of the disclosure.
  • FIG. 9 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.
  • configurable power management techniques of the present disclosure may be described in connection with an SoC, one or more subsystems of the SoC, one or more pipelines of the subsystem, or a set of functional blocks associated with the pipeline.
  • the configurable power management techniques described herein may be applied at the functional block level, pipeline level, or subsystem level to other types of circuits, computing devices and/or electronic devices, other than an SoC, without departing from the scope of the present disclosure.
  • 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), dock 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 insruction 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., the 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.
  • frequency reduction Frequency reduction may be used to reduce the power consumed by the subsystem.
  • DVFS dynamic voltage and frequency scaling
  • DVFS may be used to reduce the power consumption of a subsystem on the fly by scaling down the voltage and frequency based on the targeted performance requirements of the application being run by the subsystem.
  • DVFS dynamic voltage and frequency scaling
  • FIG. 9 illustrates a block diagram of a conventional thermal and current limits management system 900 (e.g., “conventional system 900,” hereinafter).
  • conventional system 900 may include a subsystem 902, current sensor 904 and a temperature sensor 906 located at the subsystem 902, a voltage source 908, a temperature / current monitor and mitigation unit 910 (e.g., “mitigation unit 910,” hereinafter), a phase-locked loop (PLL) frequency source 912.
  • PLL phase-locked loop
  • the mitigation unit 910 may receive current information 903 and temperature information 905 from the current sensor 904 and temperature sensor 906, respectively. Normally, the mitigation unit 910 may include programmable thresholds and an algorithm to perform a mitigation scheme for the entire subsystem 902 (e.g., across all pipelines) using the clock frequency 901 and DVFS.
  • 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 910 may use a predictive mechanism to reduce the frequency of the subsystem by sending a signal 911 to the PLL frequency source 912.
  • the PLL 912 may reduce the clock frequency 901 of the subsystem 902 and, therefore, power consumption when the temperature reaches a threshold.
  • the mitigation unit 910 may use the thermal mitigation algorithm to lower the DVFS set point, which may further reduce the power consumption.
  • a fast and steep reduction in the clock frequency 901 may be used depending on the algorithm.
  • the mitigation unit 910 may send a signal 907 instructing the voltage source 908 to lower the voltage (V dd ) 909 and a signal 911 instructing the PLL 912 to lower the clock frequency 901 using DVFS step down.
  • the mitigation unit 910 may decide between a frequency only reduction or DVFS step down depending on the algorithm.
  • 900 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 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 909 and clock frequency 901 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.
  • FIG. 1 illustrates a block diagram of an embedded system-on-chip (SoC) 100, in accordance with certain aspects of the disclosure.
  • SoC embedded system-on-chip
  • 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 imit(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 pipelines process different portions of the instruction in parallel.
  • a portion of an instruction may include a series of steps that are processed sequentially.
  • An example subsystem architecture including a plurality of functional blocks is illustrated in FIG. 2.
  • the subsystem 110 may include an application scenario unit 130 that is configured to send application information to a configuration training system 140.
  • the application information may that is associated with an application performed and/or run by the functional blocks.
  • the application information may indicate, among others, pipeline architecture, instruction(s), character variables, etc.
  • the configuration training system 140 may be configured to generate (125) configuration information based at least in part on the application information and/or feedback information (e.g., thermal feedback, power feedback, performance feedback, frequency feedback, etc.) from the plurality of functional blocks.
  • the power controller 150 may be configured to perform (135) configurable power management based at least in part on the configuration information.
  • the power controller 150 may be configured to assert a power control signal for a particular pipeline (e.g., to reduce the power output of that pipeline) when a threshold condition is met, e.g., as described below in connection with FIGs. 2-8.
  • subsystem 110 may also include a configuration training system 140 that may configure the threshold conditions used by the power controller 150 for configurable power management.
  • one or more of the configuration training system 140 and/or the power controller 150 may be located external to the subsystem 110. When located externally, the configuration training system 140 and/or the power controller 150 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 150 may be in communication with a plurality of pipelines (e.g., pipelinel 218, pipeline2 219 ... pipelineN 220.
  • the power controller 150 in FIG. 3 A is illustrated as being in communication with three pipelines, the power controller 150 may be in communication with more or fewer than three pipelines without departing from the scope of the present 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 150 may be in communication with a plurality of pipelines (e.g., pipelinel 218, pipeline2 219 ... pipelineN 220.
  • the power controller 150 in FIG. 3 A is illustrated as being in communication with three pipelines, the power controller 150
  • FIG. 3B illustrates a detailed view of a power meter 312 that may be included in the power controller 150, in accordance with certain aspects of the disclosure.
  • FIG. 3C illustrates another block diagram of subsystem 110, in accordance with certain aspects of the disclosure.
  • FIG. 3D illustrates another block diagram of a power controller 150, in accordance with certain aspects of the present disclosure.
  • FIGs. 2, 3 A, 3B, 3C, and 3D 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 processor, 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 arithmetic and logic units (ALUs) 206, a plurality of load / store units (LD/STs) 208, a plurality of special function units (SFUs) 210, a texture / LI cache 212, a plurality of texture units (TEXs) 214, and/or a common register file 216, just to name a few.
  • pipeline 1 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, logic, and/or dedicated function.
  • the instruction may include a plurality of portions that may be processed concurrently using different pipelines that are each comprised of a different set of 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) may be sent to the power controller 150.
  • Event information 301 may include power information indicating an amount or percentage of the power consumed during a stage.
  • the event information may include plurality of event information.
  • the event information 301 may include first event information associated with a first power event, second event information associated with a second power event, and so on. Furthermore, first event information may be sent at a first time (e.g., to), second event information may be sent at a second time (e.g., ti), and so on.
  • first event information may be sent at a first time (e.g., to)
  • second event information may be sent at a second time (e.g., ti), and so on.
  • the power controller 150 may receive a plurality of event information 301 for each pipeline.
  • the event counter unit 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 unit 314 may send the event information that indicates the total power consumed by the pipeline during that clock cycle.
  • the power controller 150 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. As seen in FIG. 3 A, the power controller 150 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 unit 314, a sensitivity level unit 320, a sliding window unit 316, a throttle generator 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 unit 314.
  • the sensitivity level unit 320 may be separate from but in communication with the event counter unit 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., pipelinel 218.
  • the event counter unit 314 may monitor the power events for its respective pipeline(s) every clock cycle.
  • the event counter unit 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 unit 314 may calculate the total power for, e.g., pipeline 1 218 during the clock cycle by summing the power bits indicated in each of the event information 301.
  • the event counter unit 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 pipeline 1 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. In certain implementations, 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 level 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 level 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 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.
  • the power controller 150 may be in communication with a configuration training system, e.g., such as the configuration training system 140 in FIGs. 1 and 2.
  • the configuration training system 140 may be configured to receive second status feedback information 360 (e.g., thermal feedback, current feedback, power feedback, performance feedback, voltage feedback, frequency feedback, etc.) from the plurality of functional blocks 302 and/or one or more pipelines.
  • the second status feedback information 360 may include pipeline-level feedback, functional block-level feedback, and/or sub system -level feedback.
  • the second status feedback information 360 may include thermal feedback, current feedback, power feedback, performance feedback, voltage feedback, frequency feedback associated with each pipeline.
  • the feedback is not necessarily fixed times, it may have multiple times based on the training system to find the best configuration at certain point.
  • the configuration training system 140 may be configured to generate configuration information 330 based at least in part on the second status feedback information 360.
  • 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. Additional details regarding the generation of the configuration information 330 are described below in connection with FIG. 3C.
  • 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 throttle amount information (e.g., a percentage to throttle the power of the pipeline or functional block(s)) associated 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 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 unit 314, the sensitivity level unit 320, the sliding window unit 316, and/or throttle generator 318.
  • the event counter unit 314, the sensitivity level unit 320, the sliding window unit 316, and/or throttle generator 318 may use the feedback information 340 to reconfigure, e.g., an offset and/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.
  • the subsystem 110 may include an application scenario unit
  • the plurality of functional blocks 302 may correspond to, e.g., the plurality of functional blocks 202, 204, 206, 208, 210, 212, 214, 216 described above in connection with FIG. 2.
  • the plurality of functional blocks 302 may be organized into a plurality of pipelines, e.g., such as the plurality of pipelines 218, 219, 220, etc. described above in connection with FIGs. 2 and 3 A.
  • the application scenario unit 130 may be configured to maintain or access application information 350 related to at least one application that may be run by the subsystem 110.
  • the application information 350 may include information associated with a pipeline architecture within the plurality of functional blocks 302.
  • Information associated with the pipeline architecture may indicate which pipelines process which instruction(s), portions of an instruction, fixed functions, and/or logic associated with the application.
  • the application information 350 may include information that relates particular clock cycles to a particular instruction(s), portions of an instruction, fixed functions, and/or logic.
  • the application information 350 may include a character variable (e.g., type of application, workload, control state, etc.) associated with an application.
  • the application information 350 may indicate that pipeline 1 performs instruction 1 at a first clock cycle, pipeline 2 performs instruction 2 at the first clock cycle, pipeline 1 performs instruction 3 at the second clock cycle, and so on.
  • the application scenario unit 130 may send the application information 350 to the configuration training system 140.
  • the configuration training system 140 may generate configuration information 330 based at least in part on the application information 350.
  • the configuration training system 140 may be configured to access correlation information that correlates application information 350 to configuration information 330.
  • the correlation information may include, e.g., one or more of a lookup table, a neural network, a database, an artificial intelligence engine, a machine learning engine, etc.
  • the correlation information may be maintained locally at the configuration training system 140 and/or subsystem 110.
  • the correlation information may be located remotely from the configuration training system 140. When located remotely, the configuration training system 140 may access the correlation information using wired or wireless communication.
  • the configuration training system 140 may generate configuration information 330.
  • the configuration information 330 may configure power controller 150 to use certain threshold parameters (e.g., coefficient and/or offset used to calculate a total power at the event counter unit 314, power threshold, cycle threshold, throttle amount, etc.).
  • the configuration information 330 may include different threshold parameters that may be used by the power controller 150 at different times.
  • the configuration information 330 may include first configuration information that is sent at a first time (e.g., to), second configuration information that is sent at a second time (e.g., ti), and so on.
  • the configuration training system 140 may generate first configuration information that includes first threshold parameters.
  • the first threshold parameters may include one or more of, e.g., a coefficient and/or offset used by the event counter unit 314 to sum the power associated with power events, a first power threshold that may be used by the sensitivity level unit 320, a first sliding window size (e.g., first cycle threshold) that may be used by the sliding window unit 316, and/or a first throttle amount used by the throttle generator 318 to assert a throttle enable signal and/or throttle disable signal.
  • the first threshold parameters may provide a target power, thermal, and performance tradeoff at the subsystem 110 while the first application is being run.
  • the first configuration information may be associated with a first set of power and/or performance characteristics (e.g., speed, thermal, etc.). Once generated, the first configuration information may be sent to the power controller 150.
  • the power controller 150 may use the first threshold parameters to perform operations associated with configurable power management, e.g., described above in connection with FIGs. 3A and 3B.
  • the plurality of functional blocks 302 may send second status feedback information 360 to the configuration training system 140 that is related to subsystem performance (e.g., thermal information, performance information, frequency information, and the first threshold parameters, etc.
  • the second status feedback information 360 may include different feedback information that may be used by the configuration training system 140 at different times.
  • the second status feedback information 360 may include first information that is received in response to the first threshold parameters (e.g., indicated by the first configuration information), second status feedback information 360 received in response to the second threshold parameters (e.g., indicated by the second configuration information), and so on.
  • the second status feedback information 360 may include one or more of power information, performance information, current information, or thermal information associated with each pipeline and/or the plurality of functional blocks 302.
  • the second status feedback information 360 may be sent at the end of each clock cycle, at the end of a predetermined number of clock cycles (e.g., 2 clock cycles, 3 clock cycles, 10 clock cycles, 100 clock cycles, etc.), or upon request from the configuration training system 140.
  • the configuration training system 140 may update the correlation information to associate the feedback information with the application. If the feedback information indicates that certain targets (e.g., power, thermal, etc.) have not been met using the first configuration information, the configuration training system 140 may generate second configuration information that may improve the power and/or performance target of the subsystem 110.
  • the second configuration information may include a second set of threshold parameters (e.g., coefficient and/or offsets associated with calculating total power, power threshold, cycle threshold, throttle amount, etc.) for use by the power controller 150.
  • the second configuration information may be generated using, e.g., the threshold parameters may improve certain power and/or performance characteristics. Additionally and/or alternatively, the configuration training system 140 may generate the second configuration information using, e.g., machine learning.
  • the second configuration information may be sent to the power controller 150.
  • the power controller 150 may perform configurable power management of the plurality of functional blocks 302 using the second configuration information.
  • Second status feedback information 360 may be received multiple times while an application is running. Each time second status feedback information 360 is received, the configuration training system 140 may determine whether and how to generate new configuration information 330, and eventually may find the best configuration at certain point. The new configuration information 330 may be sent to the power controller 150 to improve the power and/or performance of the subsystem 110.
  • the configuration training system 140 may send feedback information 340 (e.g., indicated in the status information 360) to the power controller 150.
  • event counter unit 314, the sensitivity level unit 320, the sliding window unit 316, and throttle generator 318 may respectively use the feedback information 340 to reconfigure one or more of the coefficients and/or offset used to sum the total power, a power threshold (e.g., sensitivity level), sliding window size, and/or a throttling amount on the fly. Additional details associated with configurable power management by the power controller 150 will now be described in connection with FIG. 3D.
  • a neural network 380 of the training system 140 may receive, e.g., one or more of configuration information 330, status information 360, event information 301, or miscellaneous information 309.
  • the miscellaneous information 309 may include frequency information, voltage information, etc.
  • the neural network 380 may use one or more of the configuration information 330, status information 360, event information 301, and/or miscellaneous information 309 to identify a power management technique 307 to perform.
  • the power management technique 307 may indicate sending a power control signal 303 (e.g., throttle enable, throttle disable, etc.) to one or more pipelines in the plurality of functional blocks 302, initiating DVFS power management 305 for the subsystem 110, or miscellaneous power management 311 (e.g., frequency reduction, power reduction, etc.).
  • a signal indicating the selected power management technique 307 may be sent to the throttle generator 318.
  • the throttle generator block e.g., sliding window unit 316 and/or throttle generator 318) may apply the power management technique 307 to the plurality of functional blocks 302.
  • the power controller 150 of the present disclosure may be enabled to perform DVFS power management, subsystem- level frequency reduction, etc.
  • FIG. 4A illustrates a block diagram of an exemplary system 400 for configurable power management, according to embodiments of the disclosure.
  • system 400 may include a processor 404, a memory 406, and 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.
  • Processor 404 may include any appropriate type of general-purpose or special- purpose circuit, microprocessor, digital signal processor, or microcontroller. Processor 404 may be configured as a separate processor module dedicated to performing configurable power management. Alternatively, processor 404 may be configured as a shared processor module for performing other functions in addition to performing configurable power management.
  • Memory 406 and storage 408 may include any appropriate type of mass storage provided to store any type of information that processor 404 may need to operate.
  • Memory 406 and storage 408 may be a volatile or non-volatile, magnetic, semiconductor, tape, optical, removable, non-removable, or other types of storage device or tangible (i.e., non-transitory) computer-readable medium including, but not limited to, a ROM, a flash memory, a dynamic RAM, and a static RAM.
  • Memory 406 and/or storage 408 may be configured to store one or more computer programs that may be executed by processor 404 to perform functions disclosed herein.
  • memory 406 and/or storage 408 may be configured to store program(s) that may be executed by processor 404 to perform configurable power management.
  • memory 406 and/or storage 408 may also store various parameters including, e.g., coefficient and/or offset information, power threshold, cycle threshold, throttle amount(s), and/or a lookup table the correlates configuration information 330 and one or more of these parameters.
  • processor 404 may include multiple modules, such as an application scenario unit 442, a configuration training system 444, a power controller 446, a plurality of functional blocks 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 processor 404 designed for use with other components or software units implemented by processor 404 through executing at least part of a program.
  • the program may be stored on a computer-readable medium, and when executed by processor 404, it may perform one or more functions.
  • FIG. 4A shows units 442-448 all within one processor 404, it is contemplated that these units may be distributed among different processors located closely or remotely with each other.
  • FIG. 5 illustrates a flowchart of an exemplary method 500 for generating configuration information, according to embodiments of the disclosure.
  • Method 500 may be performed by system 400 and particularly processor 404 or a separate processor not shown in FIG. 4A.
  • Method 500 may include operations 502-514, 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. 4A, 5, and 6 will be described together below.
  • the configuration training system 444 may receive application information associated with the plurality of functional blocks 448.
  • the application information may be received from the application scenario unit 442.
  • the application scenario unit 130 may be configured to maintain or access application information 350 related to at least one application that may be run by the subsystem 110.
  • the application information 350 may include one or more of information related to a pipeline architecture within the plurality of functional blocks, which pipelines process which instruction(s) and/or portions of an instruction associated with the application, information that relates particular clock cycles to particular instruction(s) and/or portions of an instruction, or a character variable (e.g., type of application, workload, control state, etc.) associated with an application.
  • the application scenario unit 130 may send the application information 350 to the configuration training system 140.
  • the configuration training system 140 may generate configuration information 330 based at least in part on the application information 350.
  • the configuration training system 444 may receive status information from the plurality of functional blocks 448.
  • the plurality of functional blocks 302 may send first status feedback information to the configuration training system 140 that is related to the power and performance of the subsystem 110 using the first threshold parameters.
  • the first status feedback information may include one or more of power information, current information, or thermal information associated with each pipeline and/or the plurality of functional blocks 302.
  • the second status feedback information 360 may be sent at the end of each clock cycle, at the end of a predetermined number of clock cycles (e.g., 2 clock cycles, 3 clock cycles, 10 clock cycles, 100 clock cycles, etc.), or upon request from the configuration training system 140.
  • the configuration training system 444 may generate first power control information (e.g., first configuration information and/or first feedback information 340) based at least in part on one or more of the application information or the first feedback information. For example, referring to FIG. 3C, based on a comparison of the application information 350 and the correlation information, the configuration training system 140 may generate configuration information 330. As mentioned above in connection with FIG. 3B, the configuration information 330 may configure power controller 150 to use certain threshold parameters (e.g., coefficient and/or offset used in calculating total power at event counter unit 314, power threshold, cycle threshold, throttle amount, etc.). The configuration information 330 may include different threshold parameters that may be used by the power controller 150 at different times.
  • first power control information e.g., first configuration information and/or first feedback information 340
  • the configuration information 330 may include first configuration information that is sent at a first time (e.g., to), second configuration information that is sent at a second time (e.g., ti), and so on.
  • the configuration training system 140 may update the correlation information to include the status feedback information as an additional data point associated with the application scenario. If the first status feedback information indicates that power and/or performance targets have not been met using the first configuration information, the configuration training system 140 may generate second configuration information that may improve the power and/or performance target of the subsystem 110.
  • the second configuration information may include a second set of threshold parameters (e.g., power threshold, cycle threshold, throttle amount, etc.) for use by the power controller 150.
  • the second configuration information may be generated using, e.g., the threshold parameters may improve certain power and/or performance characteristics. Additionally and/or alternatively, the configuration training system 140 may generate the second configuration information using, e.g., machine learning. Once generated, the second configuration information may be sent to the power controller 150. The power controller 150 may perform configurable power management of the plurality of functional blocks using the second configuration information.
  • the configuration training system 444 may send the first power control information to the power controller 456.
  • the first configuration information may be sent to the power controller 150.
  • the configuration training system 444 may receive second status feedback information from the plurality of functional blocks.
  • second status feedback information 360 may be received multiple times while an application is running.
  • the configuration training system 444 may generate second power control information based at least in part on the second status feedback information. For example, referring to FIG. 3C, each time second status feedback information 360 is received, the configuration training system 140 may determine whether to generate new configuration information 330. The new configuration information 330 may be sent to the power controller 150. [0093] At operation 514, the configuration training system 444 may send the second power control information to the power controller 446. For example, referring to FIG. 3C, each time second status feedback information 360 is received, the configuration training system 140 may determine whether and how to generate new configuration information 330. The new configuration information 330 may be sent to the power controller 150.
  • FIG. 4B illustrates a block diagram of an exemplary system 402 for configurable power management, according to embodiments of the disclosure.
  • system 402 may include, among others, a power controller 410.
  • system 402 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 402 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 402 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 402 may be configured to perform configurable power management.
  • Power controller 410 may include any appropriate type of general-purpose or special-purpose circuit, microprocessor, digital signal processor, or microcontroller. Power controller 410 may be configured as a separate control module dedicated to performing configurable power management. Alternatively, power controller 410 may be configured as a shared processor module for performing other functions in addition to performing configurable power management.
  • power controller 410 may include multiple modules, such as a calculation block 450 and a throttle generator block 452, 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 410 designed for use with other components or software units implemented by power controller 410 through executing at least part of a program.
  • the program may be stored on a computer-readable medium, and when executed by power controller 410, it may perform one or more functions.
  • FIG. 4B shows units 450 and 452 all within one power controller 410, it is contemplated that these units may be distributed among different processors located closely or remotely with each other.
  • FIG. 7 illustrates a flowchart of an exemplary method 700 for generating configuration information, according to embodiments of the disclosure.
  • Method 700 may be performed by system 400 and particularly processor 404 or a separate processor not shown in FIG. 4.
  • Method 700 may include operations 702-712, 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. 7. In FIG. 7, optional operations may be indicated with dashed lines.
  • FIG. 8 illustrates a data flow diagram 800 of an exemplary system for configurable power management, according to embodiments of the disclosure. FIGs. 4B, 7, and 8 will be described together below.
  • the calculation block 450 may receive first power control information (e.g., first configuration information, first thermal information, first event information, or first miscellaneous information 309) associated with a plurality of functional blocks.
  • first power control information e.g., first configuration information, first thermal information, first event information, or first miscellaneous information 309
  • the power controller 150 may receive, e.g., one or more of configuration information 330, feedback information 340, event information 301, or miscellaneous information 309.
  • the calculation block 450 may identify a first power management technique (e.g., the power control signal 303, DVFS power management 305, any other power management technique) associated with the plurality of functional blocks based at least in part on the first power control information.
  • a first power management technique e.g., the power control signal 303, DVFS power management 305, any other power management technique
  • the power controller 150 may use the configuration information 330, feedback information 340, event information 301, or miscellaneous information 309 to feed into neural network 380 to identify a power management technique 307.
  • the power management technique 307 may indicate sending a power control signal 303 to one or more pipelines in the plurality of functional blocks 302, initiating DVFS power management 305 for the subsystem 110, or applying any other power management technique 307.
  • the other power management technique 307 may include, without limitation, frequency reduction, block(s) power gating, etc.
  • the throttle generator block 452 may apply the first power management technique to the plurality of functional blocks.
  • the power controller 150 may send a power control signal 303, initiate DVFS power management 305, or send information related to any other power management technique 307 to one or more pipelines or the plurality of functional blocks 448.
  • the calculation block 450 may receive second power control information (e.g., second configuration information, second thermal information, second performance information, second event information, or second miscellaneous information 309) associated with the plurality of functional blocks 448.
  • second power control information e.g., second configuration information, second thermal information, second performance information, second event information, or second miscellaneous information 309
  • the configuration training system 140 may determine whether and how to generate new configuration information 330.
  • the new configuration information 330 may be sent to the power controller 150.
  • the calculation block 450 may identify second power management technique based at least in part on the second functional block information.
  • the first configuration information, event information 301, etc. may indicate to the power controller 150 to send a power control signal 303 to one or more pipelines.
  • second configuration information, second event information, second thermal information may indicate initiating DVFS power management 305.
  • the throttle generator block 452 may apply the second power management technique to the plurality of functional blocks.
  • the power controller 150 may send a power control signal 303, initiate DVFS power management 305, or send information related to any other power management technique 307 to one or more pipelines or the plurality of functional blocks 448.
  • Embodiments of the disclosure provide a configuration training system for configurable power management.
  • the configuration training system may include a memory and at least one processor coupled to the memory.
  • the at least one processor may be configured to receive application information associated with a plurality of functional blocks.
  • the at least one processor may be configured to receive first status feedback information from the plurality of functional blocks.
  • the at least one processor may also be configured to generate first power control information based at least in part on one or more of the application information or the first status feedback information.
  • the at least one processor may be further configured to send the first power control information to a power controller.
  • the application information may include at least one character variable associated with a set of operations performed by the plurality of functional blocks.
  • the first status feedback information includes one or more of first power information, first thermal information, or first performance information associated with the plurality of functional blocks.
  • the first power control information may include one or more of a first power controller configuration or first thermal feedback information.
  • the at least one processor may be further configured to receive second status feedback information from the plurality of functional blocks, generate second power control information based at least in part on the second status feedback information, and send the second power control information to the power controller.
  • the first power control information and the second power control information may be different.
  • the first power control information may be associated with a first set of at least one of power or performance characteristics associated with the plurality of functional blocks.
  • the second power control information may be associated with a second set of at least one of power or performance characteristics associated with the plurality of functional blocks.
  • Embodiments of the disclosure provide a power controller for configurable power management.
  • the power controller may include a calculation block and a throttle generator unit.
  • the calculation block may be configured to receive first power control information associated with a plurality of functional blocks.
  • the calculation block may be configured to identify first power management technique associated with the plurality of functional blocks based at least in part on the first power control information.
  • the throttle generator block may be further configured to apply the first power management technique to the plurality of functional blocks.
  • the first power management technique may include one or more of first throttle control information, first functional block enable or disable information, first frequency information, or first dynamic voltage and frequency scaling (DVSF) information.
  • first throttle control information may include one or more of first throttle control information, first functional block enable or disable information, first frequency information, or first dynamic voltage and frequency scaling (DVSF) information.
  • first functional block enable or disable information may include one or more of first throttle control information, first functional block enable or disable information, first frequency information, or first dynamic voltage and frequency scaling (DVSF) information.
  • DVSF dynamic voltage and frequency scaling
  • the first power control information includes one or more of a first power configuration associated with the plurality of functional blocks, first thermal information associated with the plurality of functional blocks, or first event information associated with the plurality of functional blocks.
  • the calculation block may be further configured to receive second power control information associated with the plurality of functional blocks and identify second power management technique based at least in part on the second power control information.
  • the throttle generator block may be configured to send the second power management technique to the plurality of functional blocks.
  • the second power management technique may be different than the first power management technique.
  • Embodiments of the disclosure provide a method for configurable power management of a configuration training system.
  • the method may include receiving application information associated with a plurality of functional blocks.
  • the method may also include receiving first status feedback information from the plurality of functional blocks.
  • the method may further include generating first power control information based at least in part on one or more of the application information or the first status feedback information.
  • the method may further include sending the first power control information to a power controller.
  • the application information may include at least one character variable associated with a set of operations performed by the plurality of functional blocks.
  • the first status feedback information includes one or more of first power information, first thermal information, or first performance information associated with the plurality of functional blocks.
  • the first power control information may include one or more of a first power controller configuration or first thermal feedback information.
  • the method may further include receiving, at the configuration training system, second status feedback information from the plurality of functional blocks, generating, at the configuration training system, second power control information based at least in part on the second status feedback information, and sending the second power control information to the power controller.
  • the first power control information and the second power control information may be different.
  • the first power control information may be associated with a first set of at least one of power or performance characteristics associated with the plurality of functional blocks.
  • the second power control information is associated with a second set of at least one of power or performance characteristics associated with the plurality of functional blocks.
  • Embodiments of the disclosure provide a method for configurable power management of a power controller.
  • the method may include receiving, at a power controller, first power control information associated with a plurality of functional blocks.
  • the method may further include identifying, at the power controller, first power management technique associated with the plurality of functional blocks based at least in part on the first power control information.
  • the method may include applying the first power management technique to the plurality of functional blocks.
  • Embodiments of the disclosure further provide a non-transitory computer-readable medium having instructions stored thereon that, when executed by one or more processors, causes the one or more processors to perform configurable power management of a configuration training system.
  • the method may include receiving application information associated with a plurality of functional blocks. In certain other aspects, the method may also include receiving first status feedback information from the plurality of functional blocks. In certain other aspects, the method may further include generating first power control information based at least in part on one or more of the application information or the first status feedback information. In certain other aspects, the method may further include sending the first power control information to a power controller.
  • Embodiments of the disclosure further provide a non-transitory computer-readable medium having instructions stored thereon that, when executed by one or more processors, causes the power controller to perform configurable power management.
  • the method may include receiving first power control information associated with a plurality of functional blocks.
  • the method may further include identifying first power management technique associated with the plurality of functional blocks based at least in part on the first power control information.
  • the method may include applying the first power management technique to the plurality of functional blocks.

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Power Sources (AREA)
  • Feedback Control In General (AREA)
  • Supply And Distribution Of Alternating Current (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 mémoire et au moins un processeur couplé à la mémoire. Le dispositif de commande de puissance peut comprendre un système d'apprentissage qui peut générer des informations de commande de puissance optimales sur la base du retour d'état en provenance de la pluralité de blocs fonctionnels. Dans certains aspects, le système d'apprentissage peut recevoir des premières informations de commande de puissance associées à une pluralité de blocs fonctionnels. Dans certains autres aspects, le système d'apprentissage peut identifier une première technique de gestion de puissance associée à la pluralité de blocs fonctionnels sur la base, au moins en partie, des premières informations de commande de puissance. Dans certains autres aspects, le système d'apprentissage peut appliquer la première technique de gestion de puissance à la pluralité de blocs fonctionnels. Le système d'apprentissage peut effectuer une gestion de puissance configurable dans une boucle avec une ou plusieurs itérations jusqu'à ce qu'une configuration optimale de commande de puissance et de performance soit trouvée.
PCT/US2021/014233 2021-01-20 2021-01-20 Appareil et procédé d'attribution de puissance intelligente à l'aide d'un dispositif de commande de puissance WO2021056032A2 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/US2021/014233 WO2021056032A2 (fr) 2021-01-20 2021-01-20 Appareil et procédé d'attribution de puissance intelligente à l'aide d'un dispositif de commande de puissance

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2021/014233 WO2021056032A2 (fr) 2021-01-20 2021-01-20 Appareil et procédé d'attribution de puissance intelligente à l'aide d'un dispositif de commande de puissance

Publications (2)

Publication Number Publication Date
WO2021056032A2 true WO2021056032A2 (fr) 2021-03-25
WO2021056032A3 WO2021056032A3 (fr) 2021-06-03

Family

ID=74884234

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2021/014233 WO2021056032A2 (fr) 2021-01-20 2021-01-20 Appareil et procédé d'attribution de puissance intelligente à l'aide d'un dispositif de commande de puissance

Country Status (1)

Country Link
WO (1) WO2021056032A2 (fr)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9292070B2 (en) * 2012-03-05 2016-03-22 Advanced Micro Devices, Inc. Method and apparatus with stochastic control based power saving operation
IN2013MU01201A (fr) * 2013-03-28 2015-04-10 Tata Consultancy Services Ltd
US9575537B2 (en) * 2014-07-25 2017-02-21 Intel Corporation Adaptive algorithm for thermal throttling of multi-core processors with non-homogeneous performance states

Also Published As

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

Similar Documents

Publication Publication Date Title
US11360540B2 (en) Processor core energy management
US8261112B2 (en) Optimizing power consumption by tracking how program runtime performance metrics respond to changes in operating frequency
US20140089699A1 (en) Power management system and method for a processor
US20120173907A1 (en) Method, apparatus, and system for energy efficiency and energy conservation including dynamic c0-state cache resizing
US10474219B2 (en) Enabling system low power state when compute elements are active
Ma et al. Spendthrift: Machine learning based resource and frequency scaling for ambient energy harvesting nonvolatile processors
US10114435B2 (en) Method and apparatus to control current transients in a processor
CN103218029B (zh) 一种超低功耗处理器流水线结构
Chéour et al. Microcontrollers for IoT: optimizations, computing paradigms, and future directions
US9026829B2 (en) Package level power state optimization
US10884483B2 (en) Autonomous C-state algorithm and computational engine alignment for improved processor power efficiency
US20190146567A1 (en) Processor throttling based on accumulated combined current measurements
US9152473B2 (en) Table driven multiple passive trip platform passive thermal management
CN105353865A (zh) 基于多处理器的动态调频方法
CN108139791B (zh) 功率监控的cpu功率网设计
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
US20160342354A1 (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
US11500444B2 (en) Intelligent prediction of processor idle time apparatus and method
JP5881198B2 (ja) 優先度ベースのインテリジェントプラットフォームの受動的熱管理
CN114787777A (zh) 异构处理器之间的任务转移方法
Zhu et al. Onac: optimal number of active cores detector for energy efficient gpu computing
Bocharov et al. Methods and Technologies of Designing Energy-efficient Onboard Computer Systems Based on Elbrus Microprocessors for Solving Tasks of Technical Vision
US20240193120A1 (en) System on chip and operating method thereof

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: 21712936

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: 21712936

Country of ref document: EP

Kind code of ref document: A2