WO2022250673A1 - Power consumption controls - Google Patents
Power consumption controls Download PDFInfo
- Publication number
- WO2022250673A1 WO2022250673A1 PCT/US2021/034567 US2021034567W WO2022250673A1 WO 2022250673 A1 WO2022250673 A1 WO 2022250673A1 US 2021034567 W US2021034567 W US 2021034567W WO 2022250673 A1 WO2022250673 A1 WO 2022250673A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- power
- gpu
- cpu
- electronic device
- examples
- Prior art date
- Legal status (The legal status 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 status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/20—Cooling means
- G06F1/206—Cooling means comprising thermal management
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/28—Supervision thereof, e.g. detecting power-supply failure by out of limits supervision
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3215—Monitoring of peripheral devices
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3228—Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/324—Power saving characterised by the action undertaken by lowering clock frequency
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3243—Power saving in microcontroller unit
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3296—Power saving characterised by the action undertaken by lowering the supply or operating voltage
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Definitions
- FIG. 1 is a block diagram illustrating an example of an electronic device that may be used to provide power consumption controls
- FIG. 2 is a graph illustrating examples of power usage scenarios in accordance with some examples of the techniques described herein;
- FIG. 3 is a block diagram illustrating an example of an apparatus with power consumption controls
- FIG. 4 is a flow diagram illustrating an example of a method for power consumption control
- FIG. 5 is a thread diagram illustrating an example of power consumption control.
- An electronic device may be a device that includes electronic circuitry (e.g., integrated circuitry). Examples of electronic devices may include computing devices, laptop computers, smartphones, tablet devices, game consoles, etc. In some examples, electronic devices may utilize circuitry (e.g., controller(s), processor(s), etc., or a combination thereof) to perform an operation. In some examples, electronic devices may execute instructions stored in memory to perform the operation(s). Instructions may be code, programming, or a combination thereof that specifies functionality or operation of the circuitry.
- instructions may be stored in non-volatile memory (e.g., Read-Only Memory (ROM), Erasable Programmable Read-Only Memory (EPROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), flash memory, etc.).
- ROM Read-Only Memory
- EPROM Erasable Programmable Read-Only Memory
- EEPROM Electrically Erasable Programmable Read-Only Memory
- flash memory etc.
- different circuitries in an electronic device may store or utilize separate instructions for operation.
- Some electronic devices may operate in an alternating current (AC) mode or a direct current (DC) mode.
- a laptop computer may operate in AC mode when plugged into an AC source (e.g., wall socket) or may operate in DC mode when running on a battery (e.g., when unplugged from an AC source).
- AC mode thermal management capability may be a constraint that limits performance.
- DC mode a discharge rate (e.g., discharge rate of a battery) may be a constraint due to battery cell design.
- the discharge rate may be a value that limits power consumption (e.g., a threshold that limits DC mode performance).
- Some approaches to managing discharge rate may include reserving power budget separately.
- 30% of discharge rate may be budgeted for a central processing unit (CPU), 50% may be budgeted for a graphics processing unit (GPU), and 20% may be budgeted for another component(s) (which may be referred to as rest of powers (ROP)).
- ROI rest of powers
- the power consumption of different elements of an electronic device may be measured by or determined by a sensor or sensors.
- Power resources may be dynamically allocated. For example, a CPU power budget may be enlarged during performance boost opportunities (e.g., when the GPU power consumption and ROP power consumption are relatively low in DC mode).
- performance boost opportunities e.g., when the GPU power consumption and ROP power consumption are relatively low in DC mode.
- an electronic device may provide increased performance in DC mode.
- the electronic device may have flexibility to adjust power resource budgets.
- FIG. 1 is a block diagram illustrating an example of an electronic device 102 that may be used to provide power consumption controls.
- the electronic device 102 may include a computer (e.g., laptop computer), a smartphone, a tablet computer, a portable game console, etc.
- the electronic device 102 may include or may be coupled to a GPU 104, a GPU temperature sensor 106, a GPU power sensor 107, a CPU 110, a CPU power sensor 112, a component power sensor 108, a device power monitor 114, a controller 116, a basic input/output system (BIOS) 118, or a combination thereof.
- BIOS basic input/output system
- portions of the electronic device 102 may be coupled via an interface (e.g., bus(es), wire(s), connector(s), etc.).
- portions of the electronic device 102 or circuitries of the electronic device 102 may be coupled via an inter-integrated circuit (I2C) interface.
- I2C inter-integrated circuit
- the electronic device 102 may include additional portions (e.g., components, circuitries, etc.) (not shown) or some of the portions described herein may be removed or modified without departing from the scope of this disclosure.
- the electronic device 102 may include input/output (I/O) circuitry (e.g., port(s), interface circuitry, etc.), memory circuitry, input device(s), output device(s), etc., or a combination thereof.
- I/O input/output
- output devices include a display panel(s), speaker(s), headphone(s), etc.
- Examples of input devices include a keyboard, a mouse, a touch screen, camera, microphone, etc.
- a user may input instructions or data into the electronic device 102 using an input device or devices.
- the electronic device 102 may include memory circuitry.
- the memory circuitry may be electronic, magnetic, optical, or other physical storage device(s) that contain or store electronic information (e.g., instructions, data, or a combination thereof).
- the memory circuitry may store instructions for execution (by the GPU 104, CPU 110, device power monitor 114, controller 116, BIOS 118, other component(s) of the electronic device 102, or a combination thereof).
- the memory circuitry may be integrated into or separate from the element(s) described in FIG. 1 .
- the memory circuitry may be, for example, Random Access Memory (RAM), Electrically Erasable Programmable Read-Only Memory (EEPROM), storage device(s), optical disc(s), or the like.
- the memory circuitry may be volatile memory, non-volatile memory, or a combination thereof.
- Examples of memory circuitry may include Dynamic Random Access Memory (DRAM), EEPROM, magnetoresistive random-access memory (MRAM), phase change RAM (PCRAM), memristor, flash memory, or the like.
- the memory circuitry may be non-transitory tangible machine-readable or computer- readable storage media, where the term “non-transitory” does not encompass transitory propagating signals.
- the GPU 104 may be hardware (e.g., circuitry) that performs arithmetic calculations. In some examples, the GPU 104 may perform calculations related to graphics processing, rendering, or a combination thereof. In some examples, the GPU 104 may perform shading, tessellation, rasterization, blending, or a combination thereof. For instance, the GPU 104 may render three-dimensional (3D) geometry, produce two-dimensional images, etc.
- the GPU temperature sensor 106 may be circuitry to sense a temperature of the GPU 104.
- the GPU temperature sensor 106 may be included in the GPU 104 or may be separate from the GPU 104.
- Examples of the GPU temperature sensor 106 may include a semiconductor temperature sensor (e.g., temperature sensing diode(s)), a resistance temperature detector, a thermistor, a thermocouple, etc.
- the GPU temperature sensor 106 may produce a GPU temperature measurement of the GPU 104. For instance, the GPU temperature sensor 106 may periodically produce a GPU temperature measurement of the GPU 104 over time.
- the GPU power sensor 107 may be circuitry to sense a power usage (e.g., discharge rate, c-rate, wattage, etc.) of the GPU 104.
- the GPU power sensor 107 may be included in the GPU 104 or may be separate from the GPU 104.
- the GPU power sensor 107 may include a current sensor, a voltage sensor, or a combination thereof, etc.
- the GPU power sensor 107 may produce a GPU power measurement of the GPU 104. For instance, the GPU power sensor 107 may periodically produce a GPU power measurement of the GPU 104 over time.
- the CPU 110 may be a processor to perform an operation on the electronic device 102. Examples of the CPU 110 may include a general- purpose processor, an application-specific integrated circuit, a microprocessor, etc. In some examples, the CPU 110 may be an application processor. The CPU 110 may execute instructions (e.g., an application) on the electronic device 102. [0019]
- the CPU power sensor 112 may be circuitry to sense a power usage (e.g., discharge rate, c-rate, wattage, etc.) of the CPU 110. In some examples, the CPU power sensor 112 may be included in the CPU 110 or may be separate from the CPU 110. In some examples, the CPU power sensor 112 may include a current sensor, a voltage sensor, or a combination thereof, etc.
- the CPU power sensor 112 may produce a CPU power measurement of the CPU 110. For instance, the CPU power sensor 112 may periodically produce a CPU power measurement of the CPU 110 over time.
- the component power sensor 108 may be circuitry to sense a power usage (e.g., power consumption, discharge rate, c-rate, wattage, etc.) of a component (e.g., ROP, component(s), a component other than the CPU 110 and GPU 104, etc.) of the electronic device 102. In some examples, the component power sensor 108 may sense a power usage of I/O circuitry, a display panel, memory device, storage device (e.g., solid state drive (SSD)), input device, output device, etc., or a combination thereof.
- SSD solid state drive
- the component power sensor 108 may be included in the component or may be separate from the component. Examples of the component power sensor 108 may include a current sensor, a voltage sensor, or a combination thereof, etc.
- the component power sensor 108 may produce a component power measurement of the component. For instance, the component power sensor 108 may periodically produce a component power measurement of a component over time. The component power measurement may indicate the power usage (e.g., power consumption, discharge rate, c-rate, wattage, etc.) of a component.
- the device power monitor 114 may be circuitry to produce a total device power measurement.
- the device power monitor 114 may include logic circuitry or processing circuitry to produce the total device power measurement.
- the device power monitor 114 may produce a total device power measurement based on the GPU power measurement, the CPU power measurement, and the component power measurement.
- the device power monitor 114 may be included in the controller 116 or may be separate from the controller 116.
- the device power monitor 114 may add the GPU power measurement with the CPU power measurement and the component measurement to produce the total device power measurement.
- the device power monitor 114 may add discharge rate values (or wattage values) corresponding to the GPU 104, CPU 110, and a component to produce the total device power measurement.
- the device power monitor 114 may be coupled to a total device power sensor (e.g., circuit) that may sense total device power consumption.
- the GPU power sensor 107, the CPU power sensor 112, and the component power sensor 108 may be portions of (or may contribute to) the total device power sensor.
- the total device power sensor may provide a total device power signal to the device power monitor 114, which may measure the total device power signal to produce the total device power measurement.
- the total device power sensor may be separate from the GPU power sensor 107, the CPU power sensor 112, the component power sensor 108, or a combination thereof.
- the total device power measurement may be provided to the controller 116.
- the device power monitor 114 may produce the total device power measurement when the electronic device 102 is operating in a DC mode. For instance, the device power monitor 114 may produce the total device power measurement when the electronic device 102 is running on battery power or when the electronic device 102 is not coupled to an AC power source.
- the controller 116 may be circuitry (e.g., integrated circuitry, semiconductor circuitry, electronic component(s), etc.) to control an aspect of electronic device 102 operation.
- the controller 116 may include digital logic circuitry (e.g., a controller processor), transistors, memory, etc.
- the controller 116 may execute instructions or code to perform an operation.
- the controller 116 may control a power consumption of the CPU 110 to satisfy a discharge rate criterion based on the total device power measurement.
- the discharge rate criterion may be a condition or threshold to regulate power consumption of the electronic device 102.
- the discharge rate criterion may be static.
- the discharge rate criterion may be set based on received input.
- the electronic device 102 may receive an input via an input device from a user that indicates the discharge rate criterion.
- the controller 116 may determine the discharge rate criterion based on a battery charge of a battery of the electronic device 102. For instance, a sustainable discharge rate may vary with battery charge.
- the controller 116 may look up a discharge rate criterion from a lookup table that associates different discharge rate criteria with different amounts of battery charge. [0025] In some examples, the controller 116 may compare the total device power measurement to the discharge rate criterion to determine whether the total device power measurement exceeds the discharge rate criterion. In a case that the total device power measurement exceeds the discharge rate criterion, the controller 116 may reduce the power consumption of the CPU 110 to bring the power consumption (e.g., subsequent total device power measurement) below the discharge rate criterion. In some examples, the controller 116 may reduce the power consumption of the CPU 110 by reducing a CPU clock frequency. In a case that the total device power measurement satisfies (e.g., is less than or equal to) the discharge rate criterion, the controller 116 may maintain CPU 110 operation (e.g., may maintain CPU clock frequency).
- the controller 116 may maintain CPU 110 operation (e.g., may maintain CPU clock frequency).
- the electronic device 102 may include a BIOS 118.
- BIOS basic input/output system
- a BIOS refers to hardware or hardware and instructions to initialize, control, or operate a computing device (e.g., electronic device 102) prior to execution of an operating system (OS) of the computing device.
- Instructions included within a BIOS may be software, firmware, microcode, or other programming that defines or controls functionality or operation of a BIOS.
- a BIOS may be implemented using instructions, such as platform firmware of a computing device, executable by a processor.
- a BIOS may operate or execute prior to the execution of the OS of a computing device.
- a BIOS may initialize, control, or operate components such as hardware components of a computing device and may load or boot the OS of computing device.
- a BIOS may provide or establish an interface between hardware devices or platform firmware of the computing device and an OS of the computing device, via which the OS of the computing device may control or operate hardware devices or platform firmware of the computing device.
- a BIOS may implement the Unified Extensible Firmware Interface (UEFI) specification or another specification or standard for initializing, controlling, or operating a computing device.
- UEFI Unified Extensible Firmware Interface
- the BIOS 118 may set a power limit of the CPU 110 based on the GPU temperature measurement.
- a power limit may be a limit on power consumption.
- the BIOS 118 may determine a power limit based on the GPU temperature measurement.
- different power limits may be associated with different temperature ranges.
- the BIOS 118 may determine a temperature range that includes the GPU temperature measurement and may determine a power limit associated with the temperature range.
- the BIOS 118 may determine the power limit from a lookup table based on the GPU measurement.
- the BIOS 118 may determine a power limit of the CPU 110 that is associated with the GPU temperature measurement in the lookup table.
- the BIOS 118 may execute a function that produces a power limit of the CPU 110 based on the GPU temperature measurement.
- the BIOS 118 may set the power limit of the CPU 110 as the power limit determined from the GPU temperature measurement.
- the BIOS 118 may set the power limit of the CPU 110 to the determined power limit. For instance, the BIOS 118 may set a clock frequency that prevents the CPU 110 from consuming more power than the power limit.
- the BIOS 118 may set the power limit of the CPU 110 to a first power limit or a second power limit in response to determining that the GPU temperature measurement of the GPU is in a second temperature range or a first temperature range, where the second power limit is greater than the first power limit, and where the second temperature range is higher than the first temperature range. For instance, if the GPU temperature measurement is in a higher temperature range, the BIOS 118 may set the CPU 110 to a lower power limit. If the GPU temperature measurement is in a lower temperature range, the BIOS 118 may set the CPU 110 to a higher power limit.
- the BIOS 118 may set the power limit of the CPU 110 to the first power limit (e.g., lesser power limit) in response to determining that the GPU temperature measurement of the GPU 104 is in the second temperature range (e.g., higher temperature range). In some examples, the BIOS 118 may set the power limit of the CPU 110 to the second power limit (e.g., greater power limit) in response to determining that the GPU temperature measurement of the GPU 104 is in the first temperature range.
- the BIOS 118 may set the power limit of the CPU 110 to the first power limit (e.g., greater power limit) in response to determining that the GPU temperature measurement of the GPU 104 is in the first temperature range.
- the BIOS 118 may manage multiple power limits.
- the BIOS 118 may set a power limit of the CPU 110, may set a GPU power limit of the GPU 104, may set a component power limit of a component (e.g., ROP), or may perform a combination thereof.
- power budgets e.g., discharge rate budgets
- discharge rate budgets may be adjusted (e.g., traded or reallocated) between the CPU 110, the GPU 104, or a component of the electronic device 102 based on a usage scenario, a predicted workload, or a combination thereof.
- the BIOS 118 may detect a usage scenario, may predict a workload, or may perform a combination thereof. For instance, the BIOS 118 may detect that the electronic device 102 (e.g., CPU 110) has started executing an application with relatively high CPU demand for a CPU performance usage scenario. In some examples, for a CPU performance usage scenario, a power budget for the GPU 104 may be reduced, a power budget for a component (e.g., ROP) may be reduced, or a combination thereof may be reduced to increase a power budget for the CPU 110.
- a power budget for the GPU 104 may be reduced, a power budget for a component (e.g., ROP) may be reduced, or a combination thereof may be reduced to increase a power budget for the CPU 110.
- a component e.g., ROP
- the BIOS 118 may detect that the electronic device 102 has started running a game or modeling application with relatively high GPU demand for a GPU performance scenario.
- a power budget for the CPU 110 may be reduced, a power budget for a component (e.g., ROP) may be reduced, or a combination thereof may be reduced to increase a power budget for the GPU 104.
- a component e.g., ROP
- the BIOS 118 may detect a relatively high demand for a component or component resources (e.g., an external device has been connected to I/O circuitry) for a component performance usage scenario.
- a power budget for the CPU 110 may be reduced, a power budget for the GPU 104 may be reduced, or a combination thereof may be reduced to increase a power budget for a component (e.g., ROP) of the electronic device 102.
- the BIOS 118 may decrease the power limit of the CPU 110 and may increase a power limit of a component (e.g., I/O circuitry) of the electronic device 102.
- the BIOS 118 may set power limits based on the discharge rate criterion.
- the discharge rate criterion may limit total power consumption of the electronic device 102.
- the sum of the power limit of the CPU 110, the GPU power limit of the GPU 104, and the component power limit of the component (e.g., ROP) may be less than or equal to the discharge rate criterion.
- the BIOS 118 may set a GPU power limit of the GPU 104 and may set the component power limit of a component(s) of the electronic device 102 with the power limit of the CPU 110 based on the discharge rate criterion (to avoid exceeding the discharge rate, for instance).
- the discharge rate criterion may take priority over the individual power limit(s) or may constrain the individual power limit(s).
- the BIOS 118 may reduce the power limit of the CPU 110, may reduce the GPU power limit of the GPU 104, may reduce the component power limit of the component(s), or may reduce a combination thereof to accommodate (e.g., to be less than or equal to) the discharge rate criterion.
- the BIOS 118 may set a power limit based on another factor.
- the electronic device 102 may include a skin temperature sensor (or a temperature sensor on circuitry, such as a motherboard) to produce a skin temperature measurement of the electronic device 102.
- the skin temperature measurement may indicate a temperature of a casing, housing, or outer skin of the electronic device 102.
- the BIOS 118 may set the power limit of the CPU 110, the GPU power limit of the GPU 104, the component power limit of the component(s), or a combination thereof based on the skin temperature measurement.
- the BIOS 118 may reduce the power limit of the CPU 110, may reduce the GPU power limit of the GPU 104, may reduce the component power limit of the component(s), or may reduce a combination thereof in a case that the skin temperature measurement exceeds a skin temperature threshold.
- the electronic device 102 may perform one, some, or all of the aspects, operations, elements, etc., described in one, some, or all of FIG. 1-5. In some examples, the electronic device 102 may include an element described in one, some, or all of FIG. 1-5.
- FIG. 2 is a graph 262 illustrating examples of power usage scenarios in accordance with some examples of the techniques described herein.
- the graph 262 is illustrated in Watts (W) on the vertical axis over power usage scenarios on the horizontal axis.
- FIG. 2 illustrates an example of a default scenario 272, CPU performance scenario 274, a GPU performance scenario 276, and a component performance scenario 278. Examples of a CPU power budget 270, a GPU power budget 268, and a component power budget 266 are illustrated.
- FIG. 2 also illustrates an example of a discharge rate criterion 264 (e.g., maximum total discharge rate supported).
- the discharge rate criterion 264 may cap or constrain the total of the CPU power budget 270, the GPU power budget 268, and the component power budget 266.
- the discharge rate criterion 264 may be 94 W.
- the default scenario 272 may provide a CPU power budget 270, a GPU power budget 268, and a component power budget 266 without adjustment or modification.
- a default scenario 272 may provide a CPU power budget 270 of 35 W, a GPU power budget of 35 W, and a component power budget 266 of 24 W.
- the CPU performance scenario 274 may provide an increased CPU power budget 270, a decreased GPU power budget 268, and a decreased component power budget 266 (relative to the default scenario 272, for instance). In some examples, the CPU performance scenario 274 may provide a CPU power budget 270 of 70 W, a GPU power budget of 10 W, and a component power budget 266 of 14 W.
- the GPU performance scenario 276 may provide an increased GPU power budget 268, a default CPU power budget 270, and a decreased component power budget 266. In some examples, the GPU performance scenario 276 may provide a CPU power budget 270 of 35 W, a GPU power budget 268 of 45 W, and a component power budget 266 of 14 W.
- the component performance scenario 278 (e.g., plugged-in devices scenario) may provide an increased component power budget 266, a decreased GPU power budget 268, and a decreased CPU power budget 270. In some examples, the component performance scenario 278 may provide a CPU power budget 270 of 25 W, a GPU power budget of 10 W, and a component power budget of 59 W. While examples of power budgets for the scenarios are given herein, different power budgets may be utilized in some examples. For instance, a CPU power budget may range from 35-65 W in some examples or a GPU power budget may range from 35-55 W in some examples.
- FIG. 3 is a block diagram illustrating an example of an apparatus 338 with power consumption controls.
- the apparatus 338 may perform an aspect of the operations described in FIG. 1.
- the apparatus 338 may be an example of the electronic device 102 described in FIG. 1.
- the apparatus 338 may include a CPU 320, a CPU power sensor 322, a GPU 324, a GPU sensor 326, component circuitry 328, a component power sensor 330, a device power monitor 332, a controller 334, a BIOS 336, or a combination thereof.
- Examples of the apparatus 338 may include a computing device, smartphone, laptop computer, tablet device, mobile device, etc.).
- one, some, or all of the components or elements of the apparatus 338 may be structured in hardware or circuitry.
- the apparatus 338 may perform one, some, or all of the operations described in FIG. 1-5.
- the CPU 320 may execute instructions on the apparatus 338 to perform an operation (e.g., execute application(s)).
- the CPU 320 may be an example of the CPU 110 described in FIG. 1 .
- the CPU power sensor 322 may measure CPU power consumption (e.g., produce a CPU power measurement(s)) over time.
- the CPU power sensor 322 may be an example of the CPU power sensor 112 described in FIG. 1.
- the measured CPU power consumption may be provided to the device power monitor 332.
- the GPU 324 may perform graphics processing on the apparatus 338.
- the GPU 324 may be an example of the GPU 104 described in FIG. 1.
- the GPU sensor 326 may measure a GPU operation characteristic.
- the GPU sensor 326 may be a GPU power sensor to measure GPU power consumption (e.g., to measure GPU current, GPU voltage, or a combination thereof to determine GPU power measurement(s)).
- the GPU sensor 326 may provide a GPU power measurement to the device power monitor 332.
- the GPU sensor 326 may be a GPU temperature sensor that may measure GPU temperature (e.g., produce a GPU temperature measurement(s)) over time.
- the GPU sensor 326 may be an example of the GPU temperature sensor 106 described in FIG. 1.
- the GPU sensor 326 may provide a GPU temperature measurement to the controller 334.
- a GPU temperature sensor and a GPU power sensor may be utilized.
- a GPU temperature sensor may be utilized to provide a GPU temperature measurement to the controller 334 and a total device power sensor may be utilized (instead of a GPU power sensor, CPU power sensor 322, and component power sensor 330) to provide a total device power signal to the device power monitor 332.
- the component circuitry 328 may perform an operation on the apparatus 338.
- the component circuitry 328 may include circuitry (e.g., ROP, I/O circuitry, display panel, input device, output device, etc., or a combination thereof).
- the component circuitry 328 may be an example of the component circuitry described herein.
- the component circuitry 328 includes I/O circuitry (e.g., Universal Serial Bus (USB) interface circuitry, port(s), etc.).
- USB Universal Serial Bus
- the component power sensor 330 may measure component circuitry power consumption (e.g., produce a component power measurement(s)) over time.
- the component power sensor 330 may be an example of the component power sensor 108 described in FIG. 1.
- the measured component circuitry power consumption may be provided to the device power monitor 332.
- the device power monitor 332 may determine a total power consumption of the CPU 320, the GPU 324, and the component circuitry 328. For instance, the device power monitor 332 may add the GPU power measurement to a CPU power measurement and a component power measurement to determine the total power consumption of the CPU 320, the GPU 324, and the component circuitry 328.
- the device power monitor 332 may add a GPU power measurement to a CPU power measurement and a component power measurement to determine the total power consumption of the CPU 320, the GPU 324, and the component circuitry 328.
- the device power monitor 332 may measure a total device power signal (e.g., total device current, total device voltage, or a combination thereof) provided by a total device power sensor. The total power consumption may be provided to the controller 334.
- the device power monitor 332 may be an example of the device power monitor 114 described in FIG. 1 .
- the controller 334 may maintain a total power consumption of the CPU 320, the GPU 324, and the component circuitry 328 based on a discharge rate criterion. In some examples, maintaining the total power consumption may be performed as described in FIG. 1. For instance, the controller 334 may determine whether the total power consumption exceeds a discharge rate criterion (e.g., threshold). In some examples, in a case that the total power consumption exceeds the discharge rate criterion, the controller 334 may reduce the power consumption of the CPU 320, may reduce the power consumption of the GPU 324, may reduce the power consumption the component circuitry 328, or may reduce a power consumption of a combination thereof.
- a discharge rate criterion e.g., threshold
- the controller 334 may reduce a clock frequency of the CPU 320 (or clock frequency(ies) of another element(s)), which may reduce the total power consumption to satisfy the discharge rate criterion.
- the controller 334 may be an example of the controller 116 described in FIG. 1.
- the controller 334 may calculate a moving average temperature of the GPU 324. For instance, the controller 334 may receive GPU temperature measurements from the GPU sensor 326. The controller 334 may calculate a moving average of the GPU temperature measurements within a time range or window that moves or shifts over time (e.g., discards a previous GPU temperature measurement when a new GPU temperature measurement is received). The controller 334 may provide the moving average temperature of the GPU 324 to the BIOS 336.
- the BIOS 336 may predict a workload of the CPU 320, the GPU 324, the component circuitry 328, or a combination thereof.
- a workload may be information including workload values.
- a workload may include a first workload value of the CPU 320, a second workload value of the GPU 324, a third workload value of the component circuitry 328, or a combination thereof.
- a workload value may indicate a degree of operation, a degree of resource consumption, or a combination thereof.
- a workload value may include processing load, bandwidth usage, power consumption, utilization percentage, clock frequency, another metric, or a combination thereof.
- predicting a workload may be performed by looking up workload values (e.g., processing load, bandwidth usage, power consumption, etc.) corresponding to an operation performed by the GPU 324, the CPU 320, the component circuitry 328, or a combination thereof.
- the BIOS 336 may store or may have access to a record (e.g., lookup table) of operations (e.g., tasks, processes, applications, events, etc.) with associated workload values for the CPU 320, GPU 324, component circuitry 328, or a combination thereof.
- the BIOS 336 may obtain (e.g., request, receive) an indication of an operation (e.g., list of tasks, processes, applications, events, etc.) from an OS of the apparatus.
- the BIOS 336 may look up the workload value(s) associated with the operation from the record to predict the workload.
- the BIOS 336 may utilize machine learning to predict the workload.
- Machine learning may be a technique where a machine learning model may be trained to perform a task based on a set of examples (e.g., data). Training a machine learning model may include determining weights corresponding to structures of the machine learning model.
- artificial neural networks may be a kind of machine learning model that may be structured with nodes, layers, connections, or a combination thereof.
- Examples of neural networks may include convolutional neural networks (CNNs) (e.g., CNN, deconvolutional neural network, inception module, residual neural network, etc.) and recurrent neural networks (RNNs) (e.g., RNN, multi-layer RNN, bi-directional RNN, fused RNN, clockwork RNN, etc.).
- CNNs convolutional neural networks
- RNNs recurrent neural networks
- Different neural network depths may be utilized in accordance with some examples of the techniques described herein.
- the machine learning model(s) may be trained with a set of training data.
- a set of training data may include training workload values (e.g., previously measured workload values) corresponding to times, activities, or a combination thereof of the apparatus 338 or another device.
- the apparatus 338 may record workload values of the CPU 320, GPU 324, component circuitry 328, or a combination thereof with corresponding times (e.g., days of week, times of day, calendar dates, etc.), operations, or a combination thereof.
- the workload values with corresponding times, operations, or a combination thereof may be utilized to train the machine learning model.
- the machine learning model may be executed by the BIOS 336 or may be executed by another element (e.g., CPU 320, GPU 324, a machine learning circuit, etc.) at the request of the BIOS 336.
- the BIOS 336 may utilize the machine learning model to predict (e.g., infer) the workload based on a current time (e.g., day of week, time of day, calendar date, or a combination thereof), based on current operation(s) of the apparatus 338, or based on a combination thereof.
- the BIOS 336 may input the current time or operation(s) to the machine learning model, which may infer a corresponding workload (e.g., first workload value of the CPU 320, second workload value of the GPU 324, a third workload value of the component circuitry 328, or a combination thereof).
- the BIOS 336 may set a first power budget of the CPU 320, a second power budget of the GPU 324, and a third power budget of the component circuitry 328 based on the workload.
- the workload indicates a CPU performance scenario (e.g., elevated first workload value of the CPU 320 versus a second workload value of the GPU 324, versus a third workload value of the component circuitry 328, or versus a combination thereof)
- the BIOS 336 may increase the first power budget of the CPU 320, may reduce a second power budget of the GPU 324, may reduce a third power budget of the component circuitry 328, or may perform a combination thereof.
- the BIOS 336 may increase the second power budget of the GPU 324, may reduce a first power budget of the CPU 320, may reduce a third power budget of the component circuitry 328, or may perform a combination thereof.
- the BIOS 336 may increase the third power budget of the component circuitry 328, may reduce a second power budget of the GPU 324, may reduce a first power budget of the CPU 320, or may perform a combination thereof.
- “elevated” usage may mean that one workload value is greater than another workload value in terms of power consumption, utilization percentage, clock frequency, another metric, or a combination thereof.
- “elevated” usage may mean that one usage is greater than another usage by a percentage (e.g., >10%, >15%, etc.), amount, or quantity (e.g., >5 Watts (W), >10 Watts (W), etc.).
- the BIOS 336 may set the first power budget of the CPU 320, the second power budget of the GPU 324, and the third power budget of the component circuitry 328 within the discharge rate criterion. For instance, the BIOS 336 may constrain a combination of the first power budget of the CPU 320, the second power budget of the GPU 324, and the third power budget of the component circuitry 328 to be within (e.g., less than or equal to) the discharge rate criterion.
- FIG. 4 is a flow diagram illustrating an example of a method 400 for power consumption control.
- the method 400 or a method 400 element(s) may be performed by an electronic device or apparatus (e.g., electronic device 102, apparatus 338, laptop computer, smartphone, tablet device, etc.).
- the method 400 may be performed by the electronic device 102 described in FIG. 1 or by the apparatus 338 described in FIG. 3.
- an electronic device may produce a GPU temperature measurement.
- a GPU temperature sensor may produce the GPU temperature measurement.
- a series of GPU temperature measurements may be produced over time.
- the electronic device may calculate a moving average temperature of the GPU based on the GPU temperature measurements in some examples.
- producing a GPU temperature measurement may be performed as described in FIG. 1 , FIG. 3, or a combination thereof.
- the electronic device may determine whether the GPU temperature measurement (or moving average temperature of the GPU) is in a first temperature range or a second temperature range. In some examples, determining whether the temperature measurement is in a first temperature range or a second temperature range may be performed as described in FIG. 1 .
- a BIOS may receive the GPU temperature measurement (or the moving average temperature of the GPU from the controller). In some examples, the BIOS may determine a temperature range corresponding to the temperature measurement (or the moving average temperature). The BIOS may set a power limit of the CPU based on the temperature range. The BIOS may set the power limit of the CPU in a DC mode of the electronic device.
- the electronic device may set the power limit of the CPU to the second power limit at 406. In some examples, setting the power limit of the CPU to the second power limit may be performed as described in FIG. 1 .
- the electronic device may set the power limit of the CPU to the first power limit at 408.
- setting the power limit of the CPU to the first power limit may be performed as described in FIG. 1. Operation may return to producing a GPU temperature measurement at 402 (for a later time, for instance).
- two temperature ranges e.g., the first temperature range and the second temperature range
- two associated CPU power limits e.g., the first power limit and the second power limit
- more (e.g., three, four, five, six, ten, etc.) temperature ranges, power limits, or a combination thereof may be utilized in accordance with the techniques described herein.
- FIG. 5 is a thread diagram illustrating an example of power consumption control.
- FIG. 5 illustrates a GPU power sensor 549, a GPU temperature sensor 550, a CPU power sensor 552, a component power sensor 554, a device power monitor 556, a controller 558, and a BIOS 560.
- an element described in FIG. 5 may be included in the electronic device 102 described in FIG. 1 or in the apparatus 338 described in FIG. 3.
- the GPU temperature sensor 550, CPU power sensor 552, component power sensor 554, device power monitor 556, controller 558, BIOS 560, or a combination thereof may be examples of corresponding devices described in FIG. 1 , FIG. 3, or a combination thereof.
- the GPU temperature sensor 550 may provide a GPU temperature measurement to the device power monitor 556 and the controller 558.
- the controller 558 may utilize the GPU temperature measurement to calculate a moving average temperature at 509.
- the GPU power sensor 549 may provide a GPU power measurement to the device power monitor 556.
- the CPU power sensor 552 may provide a CPU power measurement to the device power monitor 556.
- the component power sensor 554 may provide a component power measurement to the device power monitor 556.
- the GPU power sensor 549, the CPU power sensor 552, and the component power sensor 554 may instead be a total device power sensor.
- the total device power sensor may provide a total device power signal to the device power monitor 556, which may measure the total device power signal to produce the total device power measurement.
- the device power monitor 556 may provide a total device power measurement to the controller 558.
- the total device power measurement may be determined or calculated based on the GPU power measurement, the CPU power measurement, and the component power measurement.
- the controller 558 may monitor total device power. For instance, the controller 558 may determine that the total device power measurement is less than a discharge rate criterion. In a case where the total device power measurement is less than the discharge rate criterion, the controller 558 may leave a power constraint unchanged. In another case where the total device power measurement is greater than the discharge rate criterion, the controller 558 may reduce power consumption of a CPU, GPU, or component(s) as described herein. For instance, the controller 558 may set a power constraint (e.g., lower power constraint) of the CPU in response to determining that the total device power measurement exceeds the discharge rate criterion.
- a power constraint e.g., lower power constraint
- the BIOS 560 may predict a workload. In some examples, the BIOS 560 may predict the workload as described in FIG. 3. At 515, the BIOS 560 may set a CPU power budget. At 517, the BIOS 560 may set a GPU power budget. At 519, the BIOS may set a component power budget. In some examples, the BIOS 560 may set the CPU power budget, the GPU power budget, the component power budget, or a combination thereof based on the moving average temperature, the predicted workload, or a combination thereof. In some examples, the BIOS 560 may map the moving average temperature, the predicted workload, or a combination thereof to a CPU power budget, a GPU power budget, a component power budget, or a combination thereof.
- the moving average temperature mapping may take priority over the workload mapping in some cases. For instance, if the moving average temperature is relatively high (e.g., greater than a threshold, in a second temperature range, etc.) and the predicted workload indicates a CPU performance scenario, the CPU power budget may be limited. If the moving average temperature is relatively low (e.g., less than or equal to a threshold, in a first temperature range, etc.), the CPU power budget, the GPU power budget, and the component power budget may be adjusted without being limited based on the moving average temperature. For instance, the electronic device may adjust the CPU power budget, the GPU power budget, and the component power budget within a total power budget of 94 W.
- Some examples of the techniques described herein may be performed in response to entering a performance mode (e.g., high performance DC mode). For instance, an electronic device may receive an input from a user indicating the performance mode. In some examples, a power budget of an electronic device may be more limited in a non-performance mode (e.g., non performance DC mode) to conserve power, extend battery life, or a combination thereof.
- a performance mode e.g., high performance DC mode
- a power budget of an electronic device may be more limited in a non-performance mode (e.g., non performance DC mode) to conserve power, extend battery life, or a combination thereof.
- items described with the term “or a combination thereof” may mean an item or items.
- the phrase “A, B, C, or a combination thereof” may mean any of: A (without B and C), B (without A and C), C (without A and B), A and B (without C), B and C (without A), A and C (without B), or all of A, B, and C.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Power Sources (AREA)
Abstract
In some examples, an electronic device includes a graphics processing unit (GPU), a GPU power sensor to produce a GPU power measurement of the GPU, a GPU temperature sensor to produce a GPU temperature measurement of the GPU, a central processing unit (CPU), a CPU power sensor to produce a CPU power measurement of the CPU, and a component power sensor to produce a component power measurement. In some examples, the electronic device includes a device power monitor to produce a total device power measurement based on the power measurements. In some examples, the electronic device includes a controller to control a power consumption of the CPU to satisfy a discharge rate criterion based on the total device power measurement. In some examples, the electronic device includes a basic input/output system (BIOS) to set a power limit of the CPU based on the GPU temperature measurement.
Description
POWER CONSUMPTION CONTROLS
BACKGROUND
[0001] Electronic technology has advanced to become virtually ubiquitous in society and has been used for many activities in society. For example, electronic devices are used to perform a variety of tasks, including work activities, communication, research, and entertainment. Different varieties of electronic circuitry may be utilized to provide different varieties of electronic technology.
BRIEF DESCRIPTION OF THE DRAWINGS
[0002] FIG. 1 is a block diagram illustrating an example of an electronic device that may be used to provide power consumption controls;
[0003] FIG. 2 is a graph illustrating examples of power usage scenarios in accordance with some examples of the techniques described herein;
[0004] FIG. 3 is a block diagram illustrating an example of an apparatus with power consumption controls;
[0005] FIG. 4 is a flow diagram illustrating an example of a method for power consumption control; and
[0006] FIG. 5 is a thread diagram illustrating an example of power consumption control.
DETAILED DESCRIPTION
[0007] Some examples of the techniques described herein may be related to power consumption controls. An electronic device may be a device that includes
electronic circuitry (e.g., integrated circuitry). Examples of electronic devices may include computing devices, laptop computers, smartphones, tablet devices, game consoles, etc. In some examples, electronic devices may utilize circuitry (e.g., controller(s), processor(s), etc., or a combination thereof) to perform an operation. In some examples, electronic devices may execute instructions stored in memory to perform the operation(s). Instructions may be code, programming, or a combination thereof that specifies functionality or operation of the circuitry. In some examples, instructions may be stored in non-volatile memory (e.g., Read-Only Memory (ROM), Erasable Programmable Read-Only Memory (EPROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), flash memory, etc.). In some examples, different circuitries in an electronic device may store or utilize separate instructions for operation.
[0008] Some electronic devices may operate in an alternating current (AC) mode or a direct current (DC) mode. For instance, a laptop computer may operate in AC mode when plugged into an AC source (e.g., wall socket) or may operate in DC mode when running on a battery (e.g., when unplugged from an AC source). In AC mode, thermal management capability may be a constraint that limits performance. In DC mode, a discharge rate (e.g., discharge rate of a battery) may be a constraint due to battery cell design. The discharge rate may be a value that limits power consumption (e.g., a threshold that limits DC mode performance). Some approaches to managing discharge rate may include reserving power budget separately. For example, 30% of discharge rate may be budgeted for a central processing unit (CPU), 50% may be budgeted for a graphics processing unit (GPU), and 20% may be budgeted for another component(s) (which may be referred to as rest of powers (ROP)). Without ongoing awareness of each portion of power consumption, a top power consumption limit may be set to reduce over-discharging or causing other issues.
[0009] In some examples of the techniques described herein, the power consumption of different elements of an electronic device (e.g., CPU, GPU, ROP, etc.) may be measured by or determined by a sensor or sensors. Power resources may be dynamically allocated. For example, a CPU power budget
may be enlarged during performance boost opportunities (e.g., when the GPU power consumption and ROP power consumption are relatively low in DC mode). Some examples of the techniques described herein may increase DC mode performance to align more closely with thermal constraints.
[0010] In some examples, an electronic device may provide increased performance in DC mode. When power is demanded for GPU or plugged-in devices, the electronic device may have flexibility to adjust power resource budgets.
[0011] Throughout the drawings, similar reference numbers may designate similar or identical elements. When an element is referred to without a reference number, this may refer to the element generally, with or without limitation to any particular drawing or figure. In some examples, the drawings are not to scale and the size of some parts may be exaggerated to more clearly illustrate the example shown. Moreover, the drawings provide examples in accordance with the description. The description is not limited to the examples provided in the drawings.
[0012] FIG. 1 is a block diagram illustrating an example of an electronic device 102 that may be used to provide power consumption controls. Examples of the electronic device 102 may include a computer (e.g., laptop computer), a smartphone, a tablet computer, a portable game console, etc. In some examples, the electronic device 102 may include or may be coupled to a GPU 104, a GPU temperature sensor 106, a GPU power sensor 107, a CPU 110, a CPU power sensor 112, a component power sensor 108, a device power monitor 114, a controller 116, a basic input/output system (BIOS) 118, or a combination thereof. In some examples, portions of the electronic device 102 may be coupled via an interface (e.g., bus(es), wire(s), connector(s), etc.). For example, portions of the electronic device 102 or circuitries of the electronic device 102 may be coupled via an inter-integrated circuit (I2C) interface. The portions or circuitries may communicate via the interface.
[0013] The electronic device 102 may include additional portions (e.g., components, circuitries, etc.) (not shown) or some of the portions described herein may be removed or modified without departing from the scope of this
disclosure. In some examples, the electronic device 102 may include input/output (I/O) circuitry (e.g., port(s), interface circuitry, etc.), memory circuitry, input device(s), output device(s), etc., or a combination thereof. Examples of output devices include a display panel(s), speaker(s), headphone(s), etc. Examples of input devices include a keyboard, a mouse, a touch screen, camera, microphone, etc. In some examples, a user may input instructions or data into the electronic device 102 using an input device or devices.
[0014] In some examples, the electronic device 102 may include memory circuitry. The memory circuitry may be electronic, magnetic, optical, or other physical storage device(s) that contain or store electronic information (e.g., instructions, data, or a combination thereof). In some examples, the memory circuitry may store instructions for execution (by the GPU 104, CPU 110, device power monitor 114, controller 116, BIOS 118, other component(s) of the electronic device 102, or a combination thereof). The memory circuitry may be integrated into or separate from the element(s) described in FIG. 1 . The memory circuitry may be, for example, Random Access Memory (RAM), Electrically Erasable Programmable Read-Only Memory (EEPROM), storage device(s), optical disc(s), or the like. In some examples, the memory circuitry may be volatile memory, non-volatile memory, or a combination thereof. Examples of memory circuitry may include Dynamic Random Access Memory (DRAM), EEPROM, magnetoresistive random-access memory (MRAM), phase change RAM (PCRAM), memristor, flash memory, or the like. In some examples, the memory circuitry may be non-transitory tangible machine-readable or computer- readable storage media, where the term “non-transitory” does not encompass transitory propagating signals.
[0015] The GPU 104 may be hardware (e.g., circuitry) that performs arithmetic calculations. In some examples, the GPU 104 may perform calculations related to graphics processing, rendering, or a combination thereof. In some examples, the GPU 104 may perform shading, tessellation, rasterization, blending, or a combination thereof. For instance, the GPU 104
may render three-dimensional (3D) geometry, produce two-dimensional images, etc.
[0016] The GPU temperature sensor 106 may be circuitry to sense a temperature of the GPU 104. In some examples, the GPU temperature sensor 106 may be included in the GPU 104 or may be separate from the GPU 104. Examples of the GPU temperature sensor 106 may include a semiconductor temperature sensor (e.g., temperature sensing diode(s)), a resistance temperature detector, a thermistor, a thermocouple, etc. The GPU temperature sensor 106 may produce a GPU temperature measurement of the GPU 104. For instance, the GPU temperature sensor 106 may periodically produce a GPU temperature measurement of the GPU 104 over time.
[0017] The GPU power sensor 107 may be circuitry to sense a power usage (e.g., discharge rate, c-rate, wattage, etc.) of the GPU 104. In some examples, the GPU power sensor 107 may be included in the GPU 104 or may be separate from the GPU 104. In some examples, the GPU power sensor 107 may include a current sensor, a voltage sensor, or a combination thereof, etc. The GPU power sensor 107 may produce a GPU power measurement of the GPU 104. For instance, the GPU power sensor 107 may periodically produce a GPU power measurement of the GPU 104 over time.
[0018] The CPU 110 may be a processor to perform an operation on the electronic device 102. Examples of the CPU 110 may include a general- purpose processor, an application-specific integrated circuit, a microprocessor, etc. In some examples, the CPU 110 may be an application processor. The CPU 110 may execute instructions (e.g., an application) on the electronic device 102. [0019] The CPU power sensor 112 may be circuitry to sense a power usage (e.g., discharge rate, c-rate, wattage, etc.) of the CPU 110. In some examples, the CPU power sensor 112 may be included in the CPU 110 or may be separate from the CPU 110. In some examples, the CPU power sensor 112 may include a current sensor, a voltage sensor, or a combination thereof, etc. The CPU power sensor 112 may produce a CPU power measurement of the CPU 110. For instance, the CPU power sensor 112 may periodically produce a CPU power measurement of the CPU 110 over time.
[0020] The component power sensor 108 may be circuitry to sense a power usage (e.g., power consumption, discharge rate, c-rate, wattage, etc.) of a component (e.g., ROP, component(s), a component other than the CPU 110 and GPU 104, etc.) of the electronic device 102. In some examples, the component power sensor 108 may sense a power usage of I/O circuitry, a display panel, memory device, storage device (e.g., solid state drive (SSD)), input device, output device, etc., or a combination thereof. In some examples, the component power sensor 108 may be included in the component or may be separate from the component. Examples of the component power sensor 108 may include a current sensor, a voltage sensor, or a combination thereof, etc. The component power sensor 108 may produce a component power measurement of the component. For instance, the component power sensor 108 may periodically produce a component power measurement of a component over time. The component power measurement may indicate the power usage (e.g., power consumption, discharge rate, c-rate, wattage, etc.) of a component.
[0021] The device power monitor 114 may be circuitry to produce a total device power measurement. For instance, the device power monitor 114 may include logic circuitry or processing circuitry to produce the total device power measurement. In some examples, the device power monitor 114 may produce a total device power measurement based on the GPU power measurement, the CPU power measurement, and the component power measurement. In some examples, the device power monitor 114 may be included in the controller 116 or may be separate from the controller 116. In some examples, the device power monitor 114 may add the GPU power measurement with the CPU power measurement and the component measurement to produce the total device power measurement. For instance, the device power monitor 114 may add discharge rate values (or wattage values) corresponding to the GPU 104, CPU 110, and a component to produce the total device power measurement. In some examples, the device power monitor 114 may be coupled to a total device power sensor (e.g., circuit) that may sense total device power consumption. In some examples, the GPU power sensor 107, the CPU power sensor 112, and the component power sensor 108 may be portions of (or may contribute to) the total
device power sensor. The total device power sensor may provide a total device power signal to the device power monitor 114, which may measure the total device power signal to produce the total device power measurement. In some examples, the total device power sensor may be separate from the GPU power sensor 107, the CPU power sensor 112, the component power sensor 108, or a combination thereof. The total device power measurement may be provided to the controller 116.
[0022] In some examples, the device power monitor 114 may produce the total device power measurement when the electronic device 102 is operating in a DC mode. For instance, the device power monitor 114 may produce the total device power measurement when the electronic device 102 is running on battery power or when the electronic device 102 is not coupled to an AC power source.
[0023] The controller 116 may be circuitry (e.g., integrated circuitry, semiconductor circuitry, electronic component(s), etc.) to control an aspect of electronic device 102 operation. For example, the controller 116 may include digital logic circuitry (e.g., a controller processor), transistors, memory, etc. In some examples, the controller 116 may execute instructions or code to perform an operation.
[0024] In some examples, the controller 116 may control a power consumption of the CPU 110 to satisfy a discharge rate criterion based on the total device power measurement. The discharge rate criterion may be a condition or threshold to regulate power consumption of the electronic device 102. In some examples, the discharge rate criterion may be static. In some examples, the discharge rate criterion may be set based on received input. For instance, the electronic device 102 may receive an input via an input device from a user that indicates the discharge rate criterion. In some examples, the controller 116 may determine the discharge rate criterion based on a battery charge of a battery of the electronic device 102. For instance, a sustainable discharge rate may vary with battery charge. In some examples, the controller 116 may look up a discharge rate criterion from a lookup table that associates different discharge rate criteria with different amounts of battery charge.
[0025] In some examples, the controller 116 may compare the total device power measurement to the discharge rate criterion to determine whether the total device power measurement exceeds the discharge rate criterion. In a case that the total device power measurement exceeds the discharge rate criterion, the controller 116 may reduce the power consumption of the CPU 110 to bring the power consumption (e.g., subsequent total device power measurement) below the discharge rate criterion. In some examples, the controller 116 may reduce the power consumption of the CPU 110 by reducing a CPU clock frequency. In a case that the total device power measurement satisfies (e.g., is less than or equal to) the discharge rate criterion, the controller 116 may maintain CPU 110 operation (e.g., may maintain CPU clock frequency).
[0026] The electronic device 102 may include a BIOS 118. As used herein, a basic input/output system (BIOS) refers to hardware or hardware and instructions to initialize, control, or operate a computing device (e.g., electronic device 102) prior to execution of an operating system (OS) of the computing device. Instructions included within a BIOS may be software, firmware, microcode, or other programming that defines or controls functionality or operation of a BIOS. In one example, a BIOS may be implemented using instructions, such as platform firmware of a computing device, executable by a processor. A BIOS may operate or execute prior to the execution of the OS of a computing device. A BIOS may initialize, control, or operate components such as hardware components of a computing device and may load or boot the OS of computing device.
[0027] In some examples, a BIOS may provide or establish an interface between hardware devices or platform firmware of the computing device and an OS of the computing device, via which the OS of the computing device may control or operate hardware devices or platform firmware of the computing device. In some examples, a BIOS may implement the Unified Extensible Firmware Interface (UEFI) specification or another specification or standard for initializing, controlling, or operating a computing device.
[0028] The BIOS 118 may set a power limit of the CPU 110 based on the GPU temperature measurement. A power limit may be a limit on power
consumption. For instance, the BIOS 118 may determine a power limit based on the GPU temperature measurement. In some examples, different power limits may be associated with different temperature ranges. For instance, the BIOS 118 may determine a temperature range that includes the GPU temperature measurement and may determine a power limit associated with the temperature range. In some examples, the BIOS 118 may determine the power limit from a lookup table based on the GPU measurement. For instance, the BIOS 118 may determine a power limit of the CPU 110 that is associated with the GPU temperature measurement in the lookup table. In some examples, the BIOS 118 may execute a function that produces a power limit of the CPU 110 based on the GPU temperature measurement. The BIOS 118 may set the power limit of the CPU 110 as the power limit determined from the GPU temperature measurement.
[0029] In some examples, the BIOS 118 may set the power limit of the CPU 110 to the determined power limit. For instance, the BIOS 118 may set a clock frequency that prevents the CPU 110 from consuming more power than the power limit.
[0030] In some examples, the BIOS 118 may set the power limit of the CPU 110 to a first power limit or a second power limit in response to determining that the GPU temperature measurement of the GPU is in a second temperature range or a first temperature range, where the second power limit is greater than the first power limit, and where the second temperature range is higher than the first temperature range. For instance, if the GPU temperature measurement is in a higher temperature range, the BIOS 118 may set the CPU 110 to a lower power limit. If the GPU temperature measurement is in a lower temperature range, the BIOS 118 may set the CPU 110 to a higher power limit.
[0031] In some examples, the BIOS 118 may set the power limit of the CPU 110 to the first power limit (e.g., lesser power limit) in response to determining that the GPU temperature measurement of the GPU 104 is in the second temperature range (e.g., higher temperature range). In some examples, the BIOS 118 may set the power limit of the CPU 110 to the second power limit
(e.g., greater power limit) in response to determining that the GPU temperature measurement of the GPU 104 is in the first temperature range.
[0032] In some examples, the BIOS 118 may manage multiple power limits. In some examples, the BIOS 118 may set a power limit of the CPU 110, may set a GPU power limit of the GPU 104, may set a component power limit of a component (e.g., ROP), or may perform a combination thereof. In some examples, power budgets (e.g., discharge rate budgets) may be adjusted (e.g., traded or reallocated) between the CPU 110, the GPU 104, or a component of the electronic device 102 based on a usage scenario, a predicted workload, or a combination thereof.
[0033] In some examples, the BIOS 118 may detect a usage scenario, may predict a workload, or may perform a combination thereof. For instance, the BIOS 118 may detect that the electronic device 102 (e.g., CPU 110) has started executing an application with relatively high CPU demand for a CPU performance usage scenario. In some examples, for a CPU performance usage scenario, a power budget for the GPU 104 may be reduced, a power budget for a component (e.g., ROP) may be reduced, or a combination thereof may be reduced to increase a power budget for the CPU 110.
[0034] In some examples, the BIOS 118 may detect that the electronic device 102 has started running a game or modeling application with relatively high GPU demand for a GPU performance scenario. In some examples, for a GPU performance usage scenario, a power budget for the CPU 110 may be reduced, a power budget for a component (e.g., ROP) may be reduced, or a combination thereof may be reduced to increase a power budget for the GPU 104.
[0035] In some examples, the BIOS 118 may detect a relatively high demand for a component or component resources (e.g., an external device has been connected to I/O circuitry) for a component performance usage scenario. In some examples, for a component performance usage scenario (e.g., a plugged- in device power scenario), a power budget for the CPU 110 may be reduced, a power budget for the GPU 104 may be reduced, or a combination thereof may be reduced to increase a power budget for a component (e.g., ROP) of the
electronic device 102. For instance, the BIOS 118 may decrease the power limit of the CPU 110 and may increase a power limit of a component (e.g., I/O circuitry) of the electronic device 102.
[0036] In some examples, the BIOS 118 may set power limits based on the discharge rate criterion. For instance, the discharge rate criterion may limit total power consumption of the electronic device 102. The sum of the power limit of the CPU 110, the GPU power limit of the GPU 104, and the component power limit of the component (e.g., ROP) may be less than or equal to the discharge rate criterion. For example, the BIOS 118 may set a GPU power limit of the GPU 104 and may set the component power limit of a component(s) of the electronic device 102 with the power limit of the CPU 110 based on the discharge rate criterion (to avoid exceeding the discharge rate, for instance). The discharge rate criterion may take priority over the individual power limit(s) or may constrain the individual power limit(s). In a case that the discharge rate criterion is reduced by the controller 116, in some examples, the BIOS 118 may reduce the power limit of the CPU 110, may reduce the GPU power limit of the GPU 104, may reduce the component power limit of the component(s), or may reduce a combination thereof to accommodate (e.g., to be less than or equal to) the discharge rate criterion.
[0037] In some examples, the BIOS 118 may set a power limit based on another factor. For instance, the electronic device 102 may include a skin temperature sensor (or a temperature sensor on circuitry, such as a motherboard) to produce a skin temperature measurement of the electronic device 102. The skin temperature measurement may indicate a temperature of a casing, housing, or outer skin of the electronic device 102. In some examples, the BIOS 118 may set the power limit of the CPU 110, the GPU power limit of the GPU 104, the component power limit of the component(s), or a combination thereof based on the skin temperature measurement. For instance, the BIOS 118 may reduce the power limit of the CPU 110, may reduce the GPU power limit of the GPU 104, may reduce the component power limit of the component(s), or may reduce a combination thereof in a case that the skin temperature measurement exceeds a skin temperature threshold.
[0038] In some examples, the electronic device 102 may perform one, some, or all of the aspects, operations, elements, etc., described in one, some, or all of FIG. 1-5. In some examples, the electronic device 102 may include an element described in one, some, or all of FIG. 1-5.
[0039] FIG. 2 is a graph 262 illustrating examples of power usage scenarios in accordance with some examples of the techniques described herein. The graph 262 is illustrated in Watts (W) on the vertical axis over power usage scenarios on the horizontal axis. For example, FIG. 2 illustrates an example of a default scenario 272, CPU performance scenario 274, a GPU performance scenario 276, and a component performance scenario 278. Examples of a CPU power budget 270, a GPU power budget 268, and a component power budget 266 are illustrated. FIG. 2 also illustrates an example of a discharge rate criterion 264 (e.g., maximum total discharge rate supported). For instance, the discharge rate criterion 264 may cap or constrain the total of the CPU power budget 270, the GPU power budget 268, and the component power budget 266. For example, the discharge rate criterion 264 may be 94 W.
[0040] The default scenario 272 may provide a CPU power budget 270, a GPU power budget 268, and a component power budget 266 without adjustment or modification. In some examples, a default scenario 272 may provide a CPU power budget 270 of 35 W, a GPU power budget of 35 W, and a component power budget 266 of 24 W.
[0041] The CPU performance scenario 274 may provide an increased CPU power budget 270, a decreased GPU power budget 268, and a decreased component power budget 266 (relative to the default scenario 272, for instance). In some examples, the CPU performance scenario 274 may provide a CPU power budget 270 of 70 W, a GPU power budget of 10 W, and a component power budget 266 of 14 W.
[0042] The GPU performance scenario 276 may provide an increased GPU power budget 268, a default CPU power budget 270, and a decreased component power budget 266. In some examples, the GPU performance scenario 276 may provide a CPU power budget 270 of 35 W, a GPU power budget 268 of 45 W, and a component power budget 266 of 14 W.
[0043] The component performance scenario 278 (e.g., plugged-in devices scenario) may provide an increased component power budget 266, a decreased GPU power budget 268, and a decreased CPU power budget 270. In some examples, the component performance scenario 278 may provide a CPU power budget 270 of 25 W, a GPU power budget of 10 W, and a component power budget of 59 W. While examples of power budgets for the scenarios are given herein, different power budgets may be utilized in some examples. For instance, a CPU power budget may range from 35-65 W in some examples or a GPU power budget may range from 35-55 W in some examples.
[0044] FIG. 3 is a block diagram illustrating an example of an apparatus 338 with power consumption controls. In some examples, the apparatus 338 may perform an aspect of the operations described in FIG. 1. The apparatus 338 may be an example of the electronic device 102 described in FIG. 1. In some examples, the apparatus 338 may include a CPU 320, a CPU power sensor 322, a GPU 324, a GPU sensor 326, component circuitry 328, a component power sensor 330, a device power monitor 332, a controller 334, a BIOS 336, or a combination thereof. Examples of the apparatus 338 may include a computing device, smartphone, laptop computer, tablet device, mobile device, etc.). In some examples, one, some, or all of the components or elements of the apparatus 338 may be structured in hardware or circuitry. In some examples, the apparatus 338 may perform one, some, or all of the operations described in FIG. 1-5.
[0045] The CPU 320 may execute instructions on the apparatus 338 to perform an operation (e.g., execute application(s)). For instance, the CPU 320 may be an example of the CPU 110 described in FIG. 1 .
[0046] The CPU power sensor 322 may measure CPU power consumption (e.g., produce a CPU power measurement(s)) over time. For instance, the CPU power sensor 322 may be an example of the CPU power sensor 112 described in FIG. 1. The measured CPU power consumption may be provided to the device power monitor 332.
[0047] The GPU 324 may perform graphics processing on the apparatus 338. For instance, the GPU 324 may be an example of the GPU 104 described in FIG. 1.
[0048] The GPU sensor 326 may measure a GPU operation characteristic. In some examples, the GPU sensor 326 may be a GPU power sensor to measure GPU power consumption (e.g., to measure GPU current, GPU voltage, or a combination thereof to determine GPU power measurement(s)). For instance, the GPU sensor 326 may provide a GPU power measurement to the device power monitor 332. In some examples, the GPU sensor 326 may be a GPU temperature sensor that may measure GPU temperature (e.g., produce a GPU temperature measurement(s)) over time. For instance, the GPU sensor 326 may be an example of the GPU temperature sensor 106 described in FIG. 1. The GPU sensor 326 may provide a GPU temperature measurement to the controller 334. In some examples, a GPU temperature sensor and a GPU power sensor may be utilized. In some examples, a GPU temperature sensor may be utilized to provide a GPU temperature measurement to the controller 334 and a total device power sensor may be utilized (instead of a GPU power sensor, CPU power sensor 322, and component power sensor 330) to provide a total device power signal to the device power monitor 332.
[0049] The component circuitry 328 may perform an operation on the apparatus 338. In some examples, the component circuitry 328 may include circuitry (e.g., ROP, I/O circuitry, display panel, input device, output device, etc., or a combination thereof). For instance, the component circuitry 328 may be an example of the component circuitry described herein. In some examples, the component circuitry 328 includes I/O circuitry (e.g., Universal Serial Bus (USB) interface circuitry, port(s), etc.).
[0050] The component power sensor 330 may measure component circuitry power consumption (e.g., produce a component power measurement(s)) over time. For instance, the component power sensor 330 may be an example of the component power sensor 108 described in FIG. 1. The measured component circuitry power consumption may be provided to the device power monitor 332.
[0051] The device power monitor 332 may determine a total power consumption of the CPU 320, the GPU 324, and the component circuitry 328. For instance, the device power monitor 332 may add the GPU power measurement to a CPU power measurement and a component power measurement to determine the total power consumption of the CPU 320, the GPU 324, and the component circuitry 328. For instance (e.g., where the GPU sensor 326 is a GPU power sensor), the device power monitor 332 may add a GPU power measurement to a CPU power measurement and a component power measurement to determine the total power consumption of the CPU 320, the GPU 324, and the component circuitry 328. In some examples, the device power monitor 332 may measure a total device power signal (e.g., total device current, total device voltage, or a combination thereof) provided by a total device power sensor. The total power consumption may be provided to the controller 334. In some examples, the device power monitor 332 may be an example of the device power monitor 114 described in FIG. 1 .
[0052] The controller 334 may maintain a total power consumption of the CPU 320, the GPU 324, and the component circuitry 328 based on a discharge rate criterion. In some examples, maintaining the total power consumption may be performed as described in FIG. 1. For instance, the controller 334 may determine whether the total power consumption exceeds a discharge rate criterion (e.g., threshold). In some examples, in a case that the total power consumption exceeds the discharge rate criterion, the controller 334 may reduce the power consumption of the CPU 320, may reduce the power consumption of the GPU 324, may reduce the power consumption the component circuitry 328, or may reduce a power consumption of a combination thereof. For instance, the controller 334 may reduce a clock frequency of the CPU 320 (or clock frequency(ies) of another element(s)), which may reduce the total power consumption to satisfy the discharge rate criterion. In some examples, the controller 334 may be an example of the controller 116 described in FIG. 1.
[0053] In some examples, the controller 334 may calculate a moving average temperature of the GPU 324. For instance, the controller 334 may receive GPU
temperature measurements from the GPU sensor 326. The controller 334 may calculate a moving average of the GPU temperature measurements within a time range or window that moves or shifts over time (e.g., discards a previous GPU temperature measurement when a new GPU temperature measurement is received). The controller 334 may provide the moving average temperature of the GPU 324 to the BIOS 336.
[0054] In some examples, the BIOS 336 may predict a workload of the CPU 320, the GPU 324, the component circuitry 328, or a combination thereof. A workload may be information including workload values. In some examples, a workload may include a first workload value of the CPU 320, a second workload value of the GPU 324, a third workload value of the component circuitry 328, or a combination thereof. In some examples, a workload value may indicate a degree of operation, a degree of resource consumption, or a combination thereof. In some examples, a workload value may include processing load, bandwidth usage, power consumption, utilization percentage, clock frequency, another metric, or a combination thereof. In some examples, predicting a workload may be performed by looking up workload values (e.g., processing load, bandwidth usage, power consumption, etc.) corresponding to an operation performed by the GPU 324, the CPU 320, the component circuitry 328, or a combination thereof. In some examples, the BIOS 336 may store or may have access to a record (e.g., lookup table) of operations (e.g., tasks, processes, applications, events, etc.) with associated workload values for the CPU 320, GPU 324, component circuitry 328, or a combination thereof. The BIOS 336 may obtain (e.g., request, receive) an indication of an operation (e.g., list of tasks, processes, applications, events, etc.) from an OS of the apparatus. In some examples, the BIOS 336 may look up the workload value(s) associated with the operation from the record to predict the workload.
[0055] In some examples, the BIOS 336 may utilize machine learning to predict the workload. Machine learning may be a technique where a machine learning model may be trained to perform a task based on a set of examples (e.g., data). Training a machine learning model may include determining weights corresponding to structures of the machine learning model. In some examples,
artificial neural networks may be a kind of machine learning model that may be structured with nodes, layers, connections, or a combination thereof.
[0056] Examples of neural networks may include convolutional neural networks (CNNs) (e.g., CNN, deconvolutional neural network, inception module, residual neural network, etc.) and recurrent neural networks (RNNs) (e.g., RNN, multi-layer RNN, bi-directional RNN, fused RNN, clockwork RNN, etc.). Different neural network depths may be utilized in accordance with some examples of the techniques described herein.
[0057] In some examples, the machine learning model(s) may be trained with a set of training data. In some examples, a set of training data may include training workload values (e.g., previously measured workload values) corresponding to times, activities, or a combination thereof of the apparatus 338 or another device. In some examples, the apparatus 338 may record workload values of the CPU 320, GPU 324, component circuitry 328, or a combination thereof with corresponding times (e.g., days of week, times of day, calendar dates, etc.), operations, or a combination thereof. In some examples, the workload values with corresponding times, operations, or a combination thereof may be utilized to train the machine learning model. In some examples, the machine learning model may be executed by the BIOS 336 or may be executed by another element (e.g., CPU 320, GPU 324, a machine learning circuit, etc.) at the request of the BIOS 336.
[0058] In some examples, the BIOS 336 may utilize the machine learning model to predict (e.g., infer) the workload based on a current time (e.g., day of week, time of day, calendar date, or a combination thereof), based on current operation(s) of the apparatus 338, or based on a combination thereof. In some examples, the BIOS 336 may input the current time or operation(s) to the machine learning model, which may infer a corresponding workload (e.g., first workload value of the CPU 320, second workload value of the GPU 324, a third workload value of the component circuitry 328, or a combination thereof).
[0059] The BIOS 336 may set a first power budget of the CPU 320, a second power budget of the GPU 324, and a third power budget of the component circuitry 328 based on the workload. In some examples, if the workload
indicates a CPU performance scenario (e.g., elevated first workload value of the CPU 320 versus a second workload value of the GPU 324, versus a third workload value of the component circuitry 328, or versus a combination thereof), the BIOS 336 may increase the first power budget of the CPU 320, may reduce a second power budget of the GPU 324, may reduce a third power budget of the component circuitry 328, or may perform a combination thereof. In some examples, if the workload indicates a GPU performance scenario (e.g., elevated second workload value of the GPU 324 versus a first workload value of the CPU 320, versus a third workload value of the component circuitry 328, or versus a combination thereof), the BIOS 336 may increase the second power budget of the GPU 324, may reduce a first power budget of the CPU 320, may reduce a third power budget of the component circuitry 328, or may perform a combination thereof. In some examples, if the workload indicates a component circuitry performance scenario (e.g., elevated third workload value of the component circuitry 328 versus a second workload value of the GPU 324, versus a first workload value of the CPU 320, or versus a combination thereof), the BIOS 336 may increase the third power budget of the component circuitry 328, may reduce a second power budget of the GPU 324, may reduce a first power budget of the CPU 320, or may perform a combination thereof. In some examples, “elevated” usage may mean that one workload value is greater than another workload value in terms of power consumption, utilization percentage, clock frequency, another metric, or a combination thereof. In some examples, “elevated” usage may mean that one usage is greater than another usage by a percentage (e.g., >10%, >15%, etc.), amount, or quantity (e.g., >5 Watts (W), >10 Watts (W), etc.).
[0060] In some examples, the BIOS 336 may set the first power budget of the CPU 320, the second power budget of the GPU 324, and the third power budget of the component circuitry 328 within the discharge rate criterion. For instance, the BIOS 336 may constrain a combination of the first power budget of the CPU 320, the second power budget of the GPU 324, and the third power budget of the component circuitry 328 to be within (e.g., less than or equal to) the discharge rate criterion.
[0061] FIG. 4 is a flow diagram illustrating an example of a method 400 for power consumption control. The method 400 or a method 400 element(s) may be performed by an electronic device or apparatus (e.g., electronic device 102, apparatus 338, laptop computer, smartphone, tablet device, etc.). For example, the method 400 may be performed by the electronic device 102 described in FIG. 1 or by the apparatus 338 described in FIG. 3.
[0062] At 402, an electronic device may produce a GPU temperature measurement. For instance, a GPU temperature sensor may produce the GPU temperature measurement. In some examples, a series of GPU temperature measurements may be produced over time. The electronic device may calculate a moving average temperature of the GPU based on the GPU temperature measurements in some examples. In some examples, producing a GPU temperature measurement may be performed as described in FIG. 1 , FIG. 3, or a combination thereof.
[0063] At 404, the electronic device may determine whether the GPU temperature measurement (or moving average temperature of the GPU) is in a first temperature range or a second temperature range. In some examples, determining whether the temperature measurement is in a first temperature range or a second temperature range may be performed as described in FIG. 1 . In some examples, a BIOS may receive the GPU temperature measurement (or the moving average temperature of the GPU from the controller). In some examples, the BIOS may determine a temperature range corresponding to the temperature measurement (or the moving average temperature). The BIOS may set a power limit of the CPU based on the temperature range. The BIOS may set the power limit of the CPU in a DC mode of the electronic device.
[0064] In a case that the electronic device determines that the temperature measurement is in the first temperature range, the electronic device may set the power limit of the CPU to the second power limit at 406. In some examples, setting the power limit of the CPU to the second power limit may be performed as described in FIG. 1 .
[0065] In a case that the electronic device determines that the temperature measurement is in the second temperature range, the electronic device may set
the power limit of the CPU to the first power limit at 408. In some examples, setting the power limit of the CPU to the first power limit may be performed as described in FIG. 1. Operation may return to producing a GPU temperature measurement at 402 (for a later time, for instance).
[0066] In some examples, two temperature ranges (e.g., the first temperature range and the second temperature range) and two associated CPU power limits (e.g., the first power limit and the second power limit) may be utilized. In some examples, more (e.g., three, four, five, six, ten, etc.) temperature ranges, power limits, or a combination thereof may be utilized in accordance with the techniques described herein.
[0067] FIG. 5 is a thread diagram illustrating an example of power consumption control. FIG. 5 illustrates a GPU power sensor 549, a GPU temperature sensor 550, a CPU power sensor 552, a component power sensor 554, a device power monitor 556, a controller 558, and a BIOS 560. In some examples, an element described in FIG. 5 may be included in the electronic device 102 described in FIG. 1 or in the apparatus 338 described in FIG. 3. In some examples, the GPU temperature sensor 550, CPU power sensor 552, component power sensor 554, device power monitor 556, controller 558, BIOS 560, or a combination thereof may be examples of corresponding devices described in FIG. 1 , FIG. 3, or a combination thereof.
[0068] At 501 , the GPU temperature sensor 550 may provide a GPU temperature measurement to the device power monitor 556 and the controller 558. The controller 558 may utilize the GPU temperature measurement to calculate a moving average temperature at 509.
[0069] At 521 , the GPU power sensor 549 may provide a GPU power measurement to the device power monitor 556. At 503, the CPU power sensor 552 may provide a CPU power measurement to the device power monitor 556. At 505, the component power sensor 554 may provide a component power measurement to the device power monitor 556. In some examples, the GPU power sensor 549, the CPU power sensor 552, and the component power sensor 554 may instead be a total device power sensor. The total device power sensor may provide a total device power signal to the device power monitor
556, which may measure the total device power signal to produce the total device power measurement.
[0070] At 507, the device power monitor 556 may provide a total device power measurement to the controller 558. The total device power measurement may be determined or calculated based on the GPU power measurement, the CPU power measurement, and the component power measurement.
[0071] At 511 , the controller 558 may monitor total device power. For instance, the controller 558 may determine that the total device power measurement is less than a discharge rate criterion. In a case where the total device power measurement is less than the discharge rate criterion, the controller 558 may leave a power constraint unchanged. In another case where the total device power measurement is greater than the discharge rate criterion, the controller 558 may reduce power consumption of a CPU, GPU, or component(s) as described herein. For instance, the controller 558 may set a power constraint (e.g., lower power constraint) of the CPU in response to determining that the total device power measurement exceeds the discharge rate criterion.
[0072] At 513, the BIOS 560 may predict a workload. In some examples, the BIOS 560 may predict the workload as described in FIG. 3. At 515, the BIOS 560 may set a CPU power budget. At 517, the BIOS 560 may set a GPU power budget. At 519, the BIOS may set a component power budget. In some examples, the BIOS 560 may set the CPU power budget, the GPU power budget, the component power budget, or a combination thereof based on the moving average temperature, the predicted workload, or a combination thereof. In some examples, the BIOS 560 may map the moving average temperature, the predicted workload, or a combination thereof to a CPU power budget, a GPU power budget, a component power budget, or a combination thereof. In some examples, the moving average temperature mapping may take priority over the workload mapping in some cases. For instance, if the moving average temperature is relatively high (e.g., greater than a threshold, in a second temperature range, etc.) and the predicted workload indicates a CPU performance scenario, the CPU power budget may be limited. If the moving
average temperature is relatively low (e.g., less than or equal to a threshold, in a first temperature range, etc.), the CPU power budget, the GPU power budget, and the component power budget may be adjusted without being limited based on the moving average temperature. For instance, the electronic device may adjust the CPU power budget, the GPU power budget, and the component power budget within a total power budget of 94 W.
[0073] Some examples of the techniques described herein may be performed in response to entering a performance mode (e.g., high performance DC mode). For instance, an electronic device may receive an input from a user indicating the performance mode. In some examples, a power budget of an electronic device may be more limited in a non-performance mode (e.g., non performance DC mode) to conserve power, extend battery life, or a combination thereof.
[0074] As used herein, items described with the term “or a combination thereof” may mean an item or items. For example, the phrase “A, B, C, or a combination thereof” may mean any of: A (without B and C), B (without A and C), C (without A and B), A and B (without C), B and C (without A), A and C (without B), or all of A, B, and C.
[0075] While various examples are described herein, the described techniques are not limited to the examples. Variations of the examples are within the scope of the disclosure. For example, operation(s), aspect(s), or element(s) of the examples described herein may be omitted or combined.
Claims
1 . An electronic device, comprising: a graphics processing unit (GPU); a GPU temperature sensor to produce a GPU temperature measurement of the GPU; a GPU power sensor to produce a GPU power measurement of the GPU; a central processing unit (CPU); a CPU power sensor to produce a CPU power measurement of the CPU; a component power sensor to produce a component power measurement; a device power monitor to produce a total device power measurement based on the GPU power measurement, the CPU power measurement, and the component power measurement; a controller to control a power consumption of the CPU to satisfy a discharge rate criterion based on the total device power measurement; and a basic input/output system (BIOS) to set a power limit of the CPU based on the GPU temperature measurement.
2. The electronic device of claim 1 , wherein the BIOS is to set the power limit of the CPU to a first power limit or a second power limit in response to determining that the GPU temperature measurement of the GPU is in a second temperature range or a first temperature range, wherein the second power limit is greater than the first power limit, and wherein the second temperature range is higher than the first temperature range.
3. The electronic device of claim 2, wherein the BIOS is to set the power limit of the CPU to the first power limit in response to determining that the GPU temperature measurement of the GPU is in the second temperature range.
4. The electronic device of claim 2, wherein the BIOS is to set the power limit of the CPU to the second power limit in response to determining that the GPU temperature measurement of the GPU is in the first temperature range.
5. The electronic device of claim 1 , wherein the BIOS is to decrease the power limit of the CPU and is to increase a component power limit of a component of the electronic device.
6. The electronic device of claim 1 , wherein the BIOS is to set a GPU power limit of the GPU and is to set a component power limit of a component of the electronic device with the power limit of the CPU based on the discharge rate criterion.
7. The electronic device of claim 1 , wherein the controller is to determine the discharge rate criterion based on a battery charge of a battery of the electronic device.
8. The electronic device of claim 1 , wherein the device power monitor is to produce the total device power measurement when the electronic device is operating in a direct current (DC) mode.
9. The electronic device of claim 1 , further comprising a skin temperature sensor to produce a skin temperature measurement of the electronic device, and wherein the BIOS is to set the power limit of the CPU based on the skin temperature measurement.
10. An apparatus, comprising: a central processing unit (CPU); a graphics processing unit (GPU); component circuitry;
a controller to maintain a total power consumption of the CPU, the GPU, and the component circuitry based on a discharge rate criterion; and a basic input/output system (BIOS) to: predict a workload including a first workload value of the CPU, a second workload value of the GPU, and a third workload value of the component circuitry; and set a first power budget of the CPU, a second power budget of the GPU, and a third power budget of the component circuitry based on the workload.
11 . The apparatus of claim 10, wherein the BIOS is to set the first power budget of the CPU, the second power budget of the GPU, and the third power budget of the component circuitry within the discharge rate criterion.
12. The apparatus of claim 10, wherein the component circuitry comprises input/output (I/O) circuitry.
13. An electronic device, comprising: a central processing unit (CPU); a graphics processing unit (GPU); a controller to calculate a moving average temperature of the GPU; and a basic input/output system (BIOS) to: receive the moving average temperature of the GPU from the controller; determine a temperature range corresponding to the moving average temperature; and set a power limit of the CPU based on the temperature range.
14. The electronic device of claim 13, further comprising a device power monitor to produce a total device power measurement, wherein the controller is
to set a power constraint of the CPU in response to determining that the total device power measurement exceeds a discharge rate criterion.
15. The electronic device of claim 13, wherein the BIOS is to set the power limit of the CPU in a direct current (DC) mode of the electronic device.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/US2021/034567 WO2022250673A1 (en) | 2021-05-27 | 2021-05-27 | Power consumption controls |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/US2021/034567 WO2022250673A1 (en) | 2021-05-27 | 2021-05-27 | Power consumption controls |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2022250673A1 true WO2022250673A1 (en) | 2022-12-01 |
Family
ID=84230147
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/US2021/034567 Ceased WO2022250673A1 (en) | 2021-05-27 | 2021-05-27 | Power consumption controls |
Country Status (1)
| Country | Link |
|---|---|
| WO (1) | WO2022250673A1 (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2024177732A1 (en) * | 2023-02-22 | 2024-08-29 | Qualcomm Incorporated | Power control of computing devices |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20070191993A1 (en) * | 2006-02-16 | 2007-08-16 | Intel Corporation | Thermal management using an on-die thermal sensor |
| US20110055596A1 (en) * | 2009-09-01 | 2011-03-03 | Nvidia Corporation | Regulating power within a shared budget |
| US20140149753A1 (en) * | 2012-11-27 | 2014-05-29 | Qualcomm Incorporated | Thermal Power Budget Allocation for Maximum User Experience |
| CN110442224A (en) * | 2019-09-17 | 2019-11-12 | 联想(北京)有限公司 | Power distribution method, electronic equipment and the readable storage medium storing program for executing of electronic equipment |
-
2021
- 2021-05-27 WO PCT/US2021/034567 patent/WO2022250673A1/en not_active Ceased
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20070191993A1 (en) * | 2006-02-16 | 2007-08-16 | Intel Corporation | Thermal management using an on-die thermal sensor |
| US20110055596A1 (en) * | 2009-09-01 | 2011-03-03 | Nvidia Corporation | Regulating power within a shared budget |
| US20140149753A1 (en) * | 2012-11-27 | 2014-05-29 | Qualcomm Incorporated | Thermal Power Budget Allocation for Maximum User Experience |
| CN110442224A (en) * | 2019-09-17 | 2019-11-12 | 联想(北京)有限公司 | Power distribution method, electronic equipment and the readable storage medium storing program for executing of electronic equipment |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2024177732A1 (en) * | 2023-02-22 | 2024-08-29 | Qualcomm Incorporated | Power control of computing devices |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| NL2011348B1 (en) | Dynamic voltage frequency scaling method and apparatus. | |
| US8284205B2 (en) | Methods and apparatuses for load balancing between multiple processing units | |
| KR101698877B1 (en) | Total platform power control | |
| JP6693958B2 (en) | System and method for peak dynamic power management in a portable computing device | |
| US10871818B1 (en) | Component power consumption management determining whether the power availability of the power source exceeds the expected power consumption | |
| JP6005895B1 (en) | Intelligent multi-core control for optimal performance per watt | |
| CN103995577B (en) | The maximum working voltage of dynamic control processor | |
| US9588915B2 (en) | System on chip, method of operating the same, and apparatus including the same | |
| US20130262894A1 (en) | System-on-chip, electronic system including same, and method controlling same | |
| US8171319B2 (en) | Managing processor power-performance states | |
| US10198059B2 (en) | Adaptive doze to hibernate | |
| US10921876B2 (en) | Runtime power table index adjustment for performance and power management | |
| CN104011626B (en) | Systems, methods and apparatus for energy efficiency and energy saving by configuring power management parameters during runtime | |
| CN111077979B (en) | Power consumption control method, storage medium and electronic device | |
| US20140063026A1 (en) | Soc performing dynamic voltage and frequency scaling policies using 3d workload, and method using the same | |
| KR20150063543A (en) | Controlling configurable peak performance limits of a processor | |
| KR102201470B1 (en) | Power signal interface | |
| JP5608284B2 (en) | System, method and apparatus for determining power limit value of an integrated circuit | |
| US9052915B2 (en) | Booting a machine using thermal credits to adjust operating speed of a component | |
| US9829952B2 (en) | Processor that has its operating frequency controlled in view of power consumption during operation and semiconductor device including the same | |
| US20160054773A1 (en) | Method and Apparatus for Providing Telemetry for Power Management Functions | |
| WO2022250673A1 (en) | Power consumption controls | |
| CN105745594B (en) | Power monitor for electronic device | |
| CN111684485B (en) | Video playback energy consumption control | |
| CN116997878A (en) | A power budget allocation method and related equipment |
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: 21943259 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 21943259 Country of ref document: EP Kind code of ref document: A1 |