WO2022236782A1 - 一种功耗调节方法及装置 - Google Patents
一种功耗调节方法及装置 Download PDFInfo
- Publication number
- WO2022236782A1 WO2022236782A1 PCT/CN2021/093667 CN2021093667W WO2022236782A1 WO 2022236782 A1 WO2022236782 A1 WO 2022236782A1 CN 2021093667 W CN2021093667 W CN 2021093667W WO 2022236782 A1 WO2022236782 A1 WO 2022236782A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- power consumption
- voltage
- frequency
- current
- domain
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 86
- 230000033228 biological regulation Effects 0.000 claims description 74
- 230000003068 static effect Effects 0.000 claims description 71
- 230000015654 memory Effects 0.000 claims description 28
- 238000004590 computer program Methods 0.000 claims description 9
- 230000008859 change Effects 0.000 abstract description 4
- 238000012545 processing Methods 0.000 description 38
- 238000013461 design Methods 0.000 description 34
- 238000005070 sampling Methods 0.000 description 21
- 239000000306 component Substances 0.000 description 17
- 230000008569 process Effects 0.000 description 15
- 230000006870 function Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 238000004422 calculation algorithm Methods 0.000 description 9
- 238000002474 experimental method Methods 0.000 description 9
- 238000012544 monitoring process Methods 0.000 description 9
- 239000008358 core component Substances 0.000 description 6
- 230000008878 coupling Effects 0.000 description 5
- 238000010168 coupling process Methods 0.000 description 5
- 238000005859 coupling reaction Methods 0.000 description 5
- 230000001360 synchronised effect Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000013021 overheating Methods 0.000 description 4
- 239000002699 waste material Substances 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000000737 periodic effect Effects 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 239000000872 buffer Substances 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005429 filling process Methods 0.000 description 1
- 230000020169 heat generation Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
-
- 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
- the present application relates to the technical field of processors, and in particular to a method and device for adjusting power consumption.
- the components in the processor are usually defined with some standard operating ranges, such as rated operating frequency and rated operating voltage.
- the processor core performs processing operations according to the rated operating frequency and rated operating voltage.
- the rated operating frequency and rated operating voltage may not enable the processor core to achieve better performance.
- the high-frequency and high-voltage working state will cause the risk of overheating or overcurrent in the processor core, which is not conducive to the safety of the processor core. Therefore, how to flexibly adjust the frequency and voltage of the processor core remains to be further studied.
- an adjustment strategy is proposed, that is, to set each power consumption for frequency regulation and voltage regulation through experiments in advance or according to human experience.
- a suitable target power consumption is found from various power consumptions based on the current state of the processor core, and the frequency and voltage of the processor core are adjusted to the frequency and voltage corresponding to the target power consumption.
- this method can adjust the frequency and voltage during the use of the processor core, it uses a fixed power consumption based on experiments or experience to adjust the frequency and voltage.
- the flexibility of adjustment is not good, and it will also make the The accuracy of frequency modulation and voltage regulation depends on experiments or human experience, which may lead to deviations in the adjustment results.
- the present application provides a method and device for adjusting power consumption, which are used to improve the flexibility and accuracy of frequency and voltage regulation.
- the present application provides a power consumption adjustment method, which is applicable to a power consumption regulator, and the method includes: the power consumption regulator acquires the current power consumption of the first voltage domain in the processor, and determines the power consumption according to the current power consumption The reference power consumption of the first voltage domain at each corresponding frequency and voltage, and then referring to the reference power consumption of the first voltage domain at each corresponding frequency and voltage, adjust the frequency of each processor core located in the first voltage domain and voltage.
- the reference power consumption for frequency modulation and voltage regulation of the processor core in the first voltage domain is determined, so that the reference power consumption can accurately represent the power consumption in the first voltage domain.
- the real demand of the processor core at the current moment helps to make the frequency and voltage adjusted based on the reference power consumption meet the real demand of the processor core, effectively improving the accuracy of frequency modulation and voltage regulation.
- the frequency of the processor core can also be flexibly changed with the change of the power consumption state of the voltage domain. , which also helps to improve the flexibility of frequency modulation and voltage regulation.
- the power consumption adjuster may first determine whether the maximum temperature of the processor core in the first voltage domain is greater than the preset If the temperature threshold is greater than, the operation of obtaining the current power consumption of the first voltage domain is performed; if it is not greater, power consumption adjustment does not need to be performed.
- This design can not only adjust the power consumption of all processor cores in the first voltage domain in time when the processor cores in the first voltage domain reach an unsafe temperature state, but also avoid unnecessary waste of resources by the power regulator .
- the power consumption regulator determines the reference power consumption of the first voltage domain at each corresponding frequency and voltage according to the current power consumption, including: the power consumption regulator acquires the current frequency and the current frequency of the first voltage domain The current voltage predicts the reference power consumption of the first voltage domain at each corresponding frequency and voltage according to the current power consumption, the current frequency and the current voltage, and according to the preset corresponding relationship between power consumption, frequency and voltage.
- the power consumption regulator determines the reference power consumption of the first voltage domain at each corresponding frequency and voltage according to the current power consumption, the current frequency and the current voltage, and according to the preset corresponding relationship between power consumption, frequency and voltage.
- the preset corresponding relationship between power consumption, frequency and voltage may include a preset corresponding relationship between dynamic power consumption, frequency and voltage.
- the power consumption adjuster may predict the first Reference power consumption of a voltage domain at each corresponding frequency and voltage: the power regulator adjusts according to the dynamic power consumption, current frequency and current voltage in the current power consumption, according to the preset dynamic power consumption, frequency and voltage corresponding relationship, calculate the dynamic power consumption of the first voltage domain at each corresponding frequency and voltage, and then directly add the static power consumption in the current power consumption and the dynamic power consumption of the first voltage domain at each corresponding frequency and voltage Power consumption, to obtain the reference power consumption of the first voltage domain at each corresponding frequency and voltage.
- the current static power consumption is taken as the static power consumption of the first voltage domain at each corresponding frequency and voltage, which eliminates the need to consume resources to perform the conversion of static power consumption, and can determine the reference power consumption more quickly. Helps improve the efficiency of power regulation.
- the preset correspondence between power consumption, frequency and voltage may include preset dynamic power consumption, frequency and voltage correspondence, and preset static power consumption, frequency, voltage and temperature
- the power consumption regulator can predict the reference power consumption of the first voltage domain at each corresponding frequency and voltage in the following way: the power consumption regulator first calculates the dynamic power consumption in the current power consumption, the current Frequency and current voltage, according to the preset corresponding relationship between dynamic power consumption, frequency and voltage, calculate the dynamic power consumption of the first voltage domain at each corresponding frequency and voltage, and then obtain the current temperature of the first voltage domain, And according to the static power consumption, current frequency, current voltage and current temperature in the current power consumption, according to the preset corresponding relationship between static power consumption, frequency, voltage and temperature, calculate each value of the first voltage domain at the current temperature The static power consumption at the corresponding frequency and voltage, and then add the dynamic power consumption and static power consumption of the first voltage domain at each corresponding frequency and voltage to obtain the first voltage domain at each corresponding frequency and voltage under the reference power consumption.
- the power consumption regulator can predict the
- the power consumption adjuster adjusts the frequency and voltage of each processor core located in the first voltage domain with reference to the reference power consumption of the first voltage domain at each corresponding frequency and voltage, including:
- the power consumption regulator first determines the budgeted power consumption in the first voltage domain, and then obtains the maximum reference power consumption not greater than the budgeted power consumption from each reference power consumption, and adjusts the power consumption at the first voltage according to the frequency and voltage corresponding to the maximum reference power consumption.
- the frequency and voltage of each processor core in the domain including:
- the power consumption regulator first determines the budgeted power consumption in the first voltage domain, and then obtains the maximum reference power consumption not greater than the budgeted power consumption from each reference power consumption, and adjusts the power consumption at the first voltage according to the frequency and voltage corresponding to the maximum reference power consumption.
- the frequency and voltage of each processor core in the domain including:
- the budgeted power consumption of the first voltage domain can represent the maximum power consumption configuration supported by the first voltage domain, for example, it can be calculated based on the current temperature and expected temperature of the first voltage domain by using a preset temperature control algorithm, In order to make the budgeted power consumption meet the temperature control requirement of the first voltage domain. In this way, by adjusting the power consumption of the first voltage domain with reference to the maximum reference power consumption not greater than the budgeted power consumption, it is possible to make the The total power consumption of the first voltage domain is the largest, which helps to make full use of the power consumption margin of the first voltage domain to improve the processing performance of the first voltage domain.
- each reference power consumption is greater than the budgeted power consumption of the first voltage domain, it means that the current power consumption of the first voltage domain is very high, and the first voltage domain may be in a high-frequency and high-voltage state for a long time.
- the power consumption adjuster can obtain the minimum reference power consumption from each reference power consumption, and adjust the frequency and voltage of each processor core located in the first voltage domain according to the frequency and voltage corresponding to the minimum reference power consumption, In order to reduce the frequency and voltage of the first voltage domain, alleviate the long-term high-voltage and high-frequency state of the first voltage domain, and try to avoid the phenomenon of overcurrent or overheating in the first voltage domain.
- the present application provides a power consumption regulator, including: a monitoring circuit, configured to obtain the current power consumption of the first voltage domain in the processor; a processing circuit, configured to determine the current power consumption of the first voltage domain according to the current power consumption The frequency and voltage of each processor core in the first voltage domain are adjusted with reference to the reference power consumption at each corresponding frequency and voltage in the first voltage domain.
- the monitoring circuit before the monitoring circuit acquires the current power consumption of the first voltage domain in the processor, it may also acquire the temperature of each processor core located in the first voltage domain, if the maximum temperature of each processor core is If the temperature is greater than the preset temperature threshold, an operation of obtaining the current power consumption of the first voltage domain is performed.
- the monitoring circuit can also obtain the current frequency and current voltage of the first voltage domain, and the processing circuit can follow the preset corresponding power consumption, frequency and voltage according to the current power consumption, current frequency and current voltage relationship, predicting the reference power consumption of the first voltage domain at each corresponding frequency and voltage.
- the preset corresponding relationship between power consumption, frequency and voltage may include a preset corresponding relationship between dynamic power consumption, frequency and voltage.
- the processing circuit may predict the first voltage in the following manner The reference power consumption of the domain at each corresponding frequency and voltage: the processing circuit calculates the dynamic power consumption, current frequency and current voltage according to the preset dynamic power consumption, frequency and voltage according to The dynamic power consumption of the first voltage domain at each corresponding frequency and voltage, and then directly add the static power consumption in the current power consumption and the dynamic power consumption of the first voltage domain at each corresponding frequency and voltage to obtain The reference power consumption of the first voltage domain at each corresponding frequency and voltage is obtained.
- the preset correspondence between power consumption, frequency and voltage may include preset dynamic power consumption, frequency and voltage correspondence, and preset static power consumption, frequency, voltage and temperature
- the processing circuit can predict the reference power consumption of the first voltage domain at each corresponding frequency and voltage in the following manner: the processing circuit first calculates the dynamic power consumption in the current power consumption, the current frequency and the current voltage , according to the preset corresponding relationship between dynamic power consumption, frequency and voltage, calculate the dynamic power consumption of the first voltage domain at each corresponding frequency and voltage, and then obtain the current temperature of the first voltage domain, and according to the current power
- the static power consumption, current frequency, current voltage and current temperature in the power consumption according to the preset corresponding relationship between static power consumption, frequency, voltage and temperature, calculate each corresponding frequency and temperature of the first voltage domain at the current temperature voltage, and then add the dynamic power consumption and static power consumption of the first voltage domain at each corresponding frequency and voltage to obtain the reference work of the first voltage domain at each corresponding frequency and voltage consumption.
- the processing circuit is specifically configured to: determine the budgeted power consumption of the first voltage domain, and obtain the maximum reference power consumption not greater than the budgeted power consumption from each reference power consumption, and obtain the maximum reference power consumption corresponding to the maximum reference power consumption frequency and voltage to adjust the frequency and voltage of each processor core located in the first voltage domain.
- the budgeted power consumption of the first voltage domain can represent the maximum power consumption configuration supported by the first voltage domain, for example, it can be calculated based on the current temperature and the expected temperature of the first voltage domain by using a preset temperature control algorithm.
- the processing circuit is further configured to: if each reference power consumption is greater than the budgeted power consumption of the first voltage domain, obtain the minimum reference power consumption from each reference power consumption, and correspond to the minimum reference power consumption according to the minimum reference power consumption The frequency and voltage of each processor core located in the first voltage domain are adjusted.
- an embodiment of the present application provides a power consumption regulator, including: an acquisition unit configured to acquire the current power consumption of the first voltage domain in the processor; a determination unit configured to determine the first voltage according to the current power consumption The reference power consumption of the domain at each corresponding frequency and voltage; the adjustment unit is configured to adjust the power consumption of each processor core located in the first voltage domain with reference to the reference power consumption of the first voltage domain at each corresponding frequency and voltage frequency and voltage.
- the determining unit may also determine that the maximum temperature of each processor core located in the first voltage domain is greater than a preset temperature threshold.
- the obtaining unit can also obtain the current frequency and current voltage of the first voltage domain, and the determining unit can follow the preset corresponding power consumption, frequency and voltage according to the current power consumption, current frequency and current voltage relationship, predicting the reference power consumption of the first voltage domain at each corresponding frequency and voltage.
- the preset corresponding relationship between power consumption, frequency and voltage may include a preset corresponding relationship between dynamic power consumption, frequency and voltage.
- the determination unit may predict the first voltage in the following manner The reference power consumption of the domain at each corresponding frequency and voltage: calculate the first The dynamic power consumption of the voltage domain at each corresponding frequency and voltage, and then directly add the static power consumption in the current power consumption and the dynamic power consumption of the first voltage domain at each corresponding frequency and voltage to obtain the second Reference power consumption for a voltage domain at each corresponding frequency and voltage.
- the preset correspondence between power consumption, frequency and voltage may include preset dynamic power consumption, frequency and voltage correspondence, and preset static power consumption, frequency, voltage and temperature
- the determination unit can predict the reference power consumption of the first voltage domain at each corresponding frequency and voltage in the following manner: first, according to the dynamic power consumption in the current power consumption, the current frequency and the current voltage, according to Calculate the dynamic power consumption of the first voltage domain at each corresponding frequency and voltage according to the preset corresponding relationship between dynamic power consumption, frequency and voltage, and then obtain the current temperature of the first voltage domain, and according to the current power consumption Static power consumption, current frequency, current voltage and current temperature, according to the preset correspondence between static power consumption, frequency, voltage and temperature, calculate the first voltage domain at each corresponding frequency and voltage at the current temperature The static power consumption of the first voltage domain is then added to the dynamic power consumption and static power consumption of the first voltage domain at each corresponding frequency and voltage to obtain the reference power consumption of the first voltage domain at each corresponding frequency and voltage.
- the adjustment unit is specifically configured to: determine the budgeted power consumption of the first voltage domain, and obtain the maximum reference power consumption not greater than the budgeted power consumption from each reference power consumption, and obtain the maximum reference power consumption corresponding to the maximum reference power consumption frequency and voltage to adjust the frequency and voltage of each processor core located in the first voltage domain.
- the budgeted power consumption of the first voltage domain can represent the maximum power consumption configuration supported by the first voltage domain, for example, it can be calculated based on the current temperature and the expected temperature of the first voltage domain by using a preset temperature control algorithm.
- the adjustment unit is also used to: if each reference power consumption is greater than the budgeted power consumption of the first voltage domain, obtain the minimum reference power consumption from each reference power consumption, and correspond to the minimum reference power consumption according to the minimum reference power consumption The frequency and voltage of each processor core located in the first voltage domain are adjusted.
- the present application provides a processor, including a power regulator, M processor cores located in the first voltage domain, and a power sensor connected to the M processor cores, and the power regulator is also connected to Power consumption sensor, M is a positive integer.
- the power consumption sensor is used to send the power consumption of the connected processor core to the power consumption regulator; the power consumption regulator is used to obtain the current power consumption of the first voltage domain according to the power consumption sent by the power consumption sensor.
- Power consumption according to the current power consumption of the first voltage domain, determine the reference power consumption of the first voltage domain at each corresponding frequency and voltage, and then refer to the reference power consumption of the first voltage domain at each corresponding frequency and voltage, Adjust the frequency and voltage of the M processor cores.
- the power consumption sensor and the M processor cores can be connected in any of the following ways:
- the number of power consumption sensors can be one, and the power consumption sensors are respectively connected to M processor cores.
- the power consumption sensor detects the total power consumption of the M processor cores Then send it to the power consumption adjuster, so that the power consumption adjuster directly uses the received power consumption sent by the power consumption sensor as the current power consumption of the first voltage domain.
- the power consumption adjuster directly uses the received power consumption sent by the power consumption sensor as the current power consumption of the first voltage domain.
- the number of power consumption sensors can be M, and the M power consumption sensors are connected to the M processor cores one by one.
- the M power consumption sensors can respectively connect The power consumption of the respective connected processor cores is sent to the power regulator, and the power regulator can obtain the current power consumption of the first voltage domain by summing the M power consumptions sent by the M processor cores. In this way, by setting a corresponding power consumption sensor for each processor core, the real power consumption of each processor core can be detected more accurately, which helps to improve the accuracy of power consumption regulation.
- the number of power consumption sensors can also be P, where P is any integer greater than 1 and less than M, and any power consumption sensor among the P power consumption sensors can be connected A union of one or more processor cores among the M processor cores and the processor cores connected to the P power consumption sensors includes the M processor cores.
- different power consumption sensors may be connected to repeated processor cores, or may be connected to different processor cores, which is not specifically limited.
- the power consumption calculation method related to this connection method can directly refer to the above two connection methods, and will not be repeated here.
- the processor may further include M temperature sensors connected to the M processor cores one by one, and the power regulator is also connected to the M temperature sensors.
- the temperature sensor connected to any processor core can send the temperature of the connected processor core to the power consumption adjuster, and the power consumption adjuster, before acquiring the current power consumption of the first voltage domain in the processor, also It may be determined that the highest temperatures of the M processor cores are greater than a preset temperature threshold.
- the processor may further include a frequency regulation actuator and a voltage regulation actuator respectively connected to the M processor cores, and the power consumption regulator is also connected to the frequency regulation actuator and the voltage regulation actuator.
- the power consumption regulator can refer to the reference power consumption of the first voltage domain at each corresponding frequency and voltage, determine the target frequency and target voltage of the M processor cores, generate a frequency modulation command according to the target frequency and send it to the frequency modulation actuator , generate a voltage regulation instruction according to the target voltage and send it to the voltage regulation actuator, so that the frequency regulation actuator can adjust the frequency of M processor cores to the target frequency according to the frequency regulation instruction, and the voltage regulation actuator can adjust the M processor cores according to the voltage regulation instruction.
- the voltage of the core is regulated to the target voltage.
- the processor may also include M frequency modulation actuators connected to the M processor cores, and voltage regulation actuators respectively connected to the M processor cores, and the power consumption regulator is also connected to the M A frequency modulation actuator and a pressure regulation actuator.
- the power consumption adjuster can refer to the reference power consumption of the first voltage domain at each corresponding frequency and voltage, determine the target frequency and target voltage of the M processor cores, generate a frequency modulation command according to the target frequency and send it to the M frequency modulation
- the executor generates a voltage regulation instruction according to the target voltage and sends it to the voltage regulation actuator, so that the frequency regulation actuator connected to any processor core adjusts the frequency of the connected processor core to the target frequency according to the frequency regulation instruction, and performs voltage regulation
- the controller adjusts the voltages of the M processor cores to the target voltage according to the voltage adjustment instruction.
- the FM actuator can also send the current frequency of the connected processor core to the power regulator
- the voltage regulation actuator can also send the current voltage of the connected processor core to the power controller.
- the power consumption regulator can predict the reference power of the first voltage domain at each corresponding frequency and voltage according to the current power consumption, current frequency and current voltage, and according to the preset corresponding relationship between power consumption, frequency and voltage. consumption.
- the preset correspondence between power consumption, frequency, and voltage may include a preset correspondence between dynamic power consumption, frequency, and voltage.
- the power consumption adjuster can calculate the dynamic power consumption in the current power consumption, the current frequency and the current voltage according to the preset corresponding relationship between the dynamic power consumption, frequency and voltage, and calculate the power consumption of the first voltage domain in each corresponding The dynamic power consumption at the corresponding frequency and voltage, and then add the static power consumption in the current power consumption and the dynamic power consumption in the first voltage domain at each corresponding frequency and voltage to obtain the first voltage domain at each corresponding Reference power dissipation at frequency and voltage.
- the preset correspondence between power consumption, frequency and voltage may include preset dynamic power consumption, frequency and voltage correspondence, and preset static power consumption, frequency, voltage and temperature Correspondence.
- the power consumption adjuster can calculate the dynamic power consumption in the current power consumption, the current frequency and the current voltage according to the preset corresponding relationship between the dynamic power consumption, frequency and voltage, and calculate the power consumption of the first voltage domain in each corresponding Dynamic power consumption under the frequency and voltage, and obtain the current temperature of the first voltage domain, according to the static power consumption, current frequency, current voltage and current temperature in the current power consumption, according to the preset static power consumption, frequency, voltage Corresponding relationship with temperature, calculate the static power consumption of the first voltage domain at each corresponding frequency and voltage at the current temperature, and then add the dynamic power consumption of the first voltage domain at each corresponding frequency and voltage and the static power consumption to obtain the reference power consumption of the first voltage domain at each corresponding frequency and voltage.
- the power regulator can determine the budgeted power consumption of the first voltage domain, and obtain the maximum reference power consumption not greater than the budgeted power consumption from each reference power consumption, and then according to the maximum reference power consumption corresponding to frequency and voltage to adjust the frequency and voltage of each processor core located in the first voltage domain.
- the power regulator determines that each reference power consumption is greater than the budgeted power consumption, it can obtain the minimum reference power consumption from each reference power consumption, and according to the frequency and voltage corresponding to the minimum reference power consumption, The frequency and voltage of each processor core located in the first voltage domain is adjusted.
- the present application provides an electronic device, including a processor, the processor is coupled to the memory, and the processor is used to execute the computer program stored in the memory, so that the electronic device executes the method described in any one of the above-mentioned first aspects .
- FIG. 1 exemplarily shows a schematic structural diagram of a processor provided in an embodiment of the present application
- FIG. 2 shows a schematic diagram of a voltage domain division method provided by an embodiment of the present application
- FIG. 3 exemplarily shows a schematic flowchart corresponding to a method for adjusting power consumption provided by an embodiment of the present application
- FIG. 4 exemplarily shows a schematic flow chart of filling in a real-time power consumption model table provided by an embodiment of the present application
- FIG. 5 exemplarily shows a schematic flowchart corresponding to another power consumption adjustment method provided by the embodiment of the present application
- FIG. 6 exemplarily shows a schematic structural diagram of a power consumption regulator provided by an embodiment of the present application
- FIG. 7 exemplarily shows a schematic structural diagram of another power consumption regulator provided by an embodiment of the present application.
- the power consumption regulator can be an electronic device or an independent unit.
- the unit can be embedded in the electronic device and can One or more processor cores perform frequency regulation and voltage regulation to avoid overheating or overcurrent of the processor core while fully utilizing the junction temperature and power margin of the processor core.
- the power consumption regulator may also be a unit packaged inside the electronic device, and is used to realize the power consumption regulation function of the electronic device.
- the electronic device may be a computer device with a processor, such as a desktop computer, a personal computer, or a server.
- the electronic device may also be a portable electronic device with a processor, such as a mobile phone, a tablet computer, a wearable device with a wireless communication function (such as a smart watch), a vehicle-mounted device, and the like.
- portable electronic devices include, but are not limited to Or portable electronic devices with other operating systems.
- the aforementioned portable electronic device may also be, for example, a laptop computer (Laptop) with a touch-sensitive surface (such as a touch panel).
- connection in the embodiments of the present application may be understood as electrical connection, and the connection of two electrical components may be a direct or indirect connection between two electrical components.
- connection between A and B can be either direct connection between A and B, or indirect connection between A and B through one or more other electrical components, such as A and B connection, or A and C direct connection, C and B are directly connected, and A and B are connected through C.
- connection can also be understood as coupling, such as the electromagnetic coupling between two inductors.
- the connection between A and B can enable the transmission of electric energy between A and B.
- FIG. 1 exemplarily shows a schematic structural diagram of a processor provided in an embodiment of the present application.
- the processor 100 may include at least one processor core, such as a processor core 10 , a processor core 11 , a processor core 12 and a processor core 13 .
- At least one processor core is used as a core component of the processor 100 to implement processing functions of the processor 100 .
- the processor 100 may also include non-core components, such as general-purpose units (including counters, decoders, and signal generators), accelerator units, input/output control units, interface units, internal memories, and external buffers.
- various processor cores and non-core components may be connected through a communication bus (not shown in FIG. 1 ), so as to realize data transmission operations.
- processor 100 may include one or more chips, for example, may include a system-on-a-chip (SoC) or a chipset formed by a plurality of chips.
- the processor 100 may further include at least one processing unit (also referred to as at least one processing subsystem), and different processing units may be dispersedly deployed on different chips, or may be integrated on one chip.
- At least one processing unit may include a central processing unit (central processing unit, CPU) and a graphics processing unit (graphics processing unit, GPU), and may also include an application processor (application processor, AP), a modem processor, an image Signal processor (image signal processor, ISP), video codec, digital signal processor (digital signal processor, DSP), baseband processor, and/or neural network processing unit (neural-network processing unit, NPU), etc.
- CPU central processing unit
- graphics processing unit graphics processing unit
- application processor application processor
- modem processor an image Signal processor
- image signal processor image signal processor
- video codec digital signal processor
- DSP digital signal processor
- baseband processor baseband processor
- neural network processing unit neural-network processing unit
- each processing unit in the processor 100 may include one or more processor cores.
- the multiple processor cores can be divided into one or more voltage domains, where a voltage domain is also called a core cluster, and processor cores in the same voltage domain have the same operating voltage.
- FIG. 2 shows a schematic diagram of a voltage domain division method provided by the embodiment of the present application. Assume that there are voltage domain 1, voltage domain 2, and voltage domain 3 in the processor 100, and the processor core 10 is located in the voltage domain 1.
- Processor core 11 and processor core 12 are located in voltage domain 2, and processor core 13 is located in voltage domain 3, then processor core 10 and processor core 13 can have independent operating voltage respectively, and processor core 11 and processor core 12 may have the same operating voltage, and the individual operating voltage of the processor core 10, the individual operating voltage of the processor core 13, and the common operating voltage of the processor core 11 and the processor core 12 may be the same or different , without limitation.
- each processor core in the same voltage domain can be of the same type, for example, both processor core 11 and processor core 12 are CPU cores, or they can be of different types, for example, processor core 11 is a CPU core, and processor core 12 is a CPU core.
- 12 is a GPU core, which is not specifically limited.
- the processor 100 may also include a power consumption regulator 14, a frequency modulation executor disposed in each processor core (for example, a frequency modulation execution device disposed in the processor core 10 device 101, the frequency modulation actuator 111 disposed in the processor core 11, the frequency modulation actuator 121 disposed in the processor core 12, and the frequency modulation actuator 131 disposed in the processor core 13), and each voltage
- the voltage regulation actuators in the domain (such as the voltage regulation actuator 151 set in the voltage domain 1 shown in Figure 1, the voltage regulation actuator 152 set in the voltage domain 2, and the voltage regulation actuator 152 set in the voltage domain 3 Actuator 153), the voltage regulation actuator set in each voltage domain can be connected to each processor core contained in each voltage domain, for example, the voltage regulation actuator 152 set in voltage domain 2 is connected to the The processor core 11 and the processor core 12.
- the power consumption regulator 14 may be connected with the frequency regulation actuator in each processor core and the voltage regulation actuator in each voltage domain.
- the power consumption adjuster 14 can send a frequency adjustment instruction to the frequency adjustment actuator in the processor core to instruct the frequency adjustment actuator of the processor core according to The frequency adjustment instruction adjusts the frequency of the processor core, and sends a voltage adjustment instruction to the voltage adjustment actuator in the voltage domain where the processor core is located, so as to instruct the voltage adjustment actuator in the voltage domain to adjust the voltage according to the voltage adjustment instruction The operating voltage of each processor core in the domain.
- FIG. 1 is only an exemplary illustration.
- a frequency modulation actuator shared by all processor cores in the voltage domain may also be set in each voltage domain.
- each The processor cores in a voltage domain not only have the same voltage, but also have the same power, and the power consumption regulator 14 can adjust the frequency of the voltage domain provided with a frequency modulation actuator to realize all the processors in the voltage domain.
- the frequency of the core is adjusted uniformly.
- a frequency regulation executor and a voltage regulation executor can also be set in a non-core component.
- the power consumption regulator 14 can not only adjust the frequency and voltage of the processor core, but also adjust the frequency of the non-core component. and voltage adjustments.
- non-core components mentioned here refer to the components that work according to the set frequency.
- the power consumption adjuster 14 may only adjust the frequency of the processor cores provided with the frequency adjustment actuator.
- the following takes setting a frequency actuator in each processor core as an example to introduce how to adjust the frequency and voltage of each processor core in a voltage domain. It should be understood that adjusting the frequency and voltage of processor cores in other voltage domains, or adjusting the frequency and voltage of non-processor cores, or adjusting processing in one voltage domain with one frequency actuator in each voltage domain
- the frequency and voltage of the core of the processor can be implemented by reference, and this application will not repeat it.
- the power consumption adjustment scheme in this application can be implemented in any mode of cycle mode, trigger mode, or cycle mode+trigger mode: when executed in cycle mode, the power consumption regulator will According to the steps in the following embodiments, the frequency and voltage of each processor core in the voltage domain can be adjusted once; when executed according to the trigger mode, the power consumption regulator can monitor the state of the voltage domain in real time, and determine the When the status meets the preset trigger conditions, adjust the frequency and voltage of each processor core in the voltage domain according to the steps in the following embodiments; The state of the voltage domain is monitored once in a while. If the monitored state meets the preset trigger conditions, the frequency and voltage of each processor core in the voltage domain can be adjusted according to the steps in the following embodiments.
- the trigger condition is set, exit the monitoring, and wait for the next preset cycle to come and re-monitor.
- the periodic mode and/or the trigger mode please refer to the following embodiments, which will not be introduced here.
- FIG. 3 exemplarily shows a schematic flowchart corresponding to a method for adjusting power consumption provided by an embodiment of the present application.
- the method is applicable to a power consumption regulator, such as the power consumption regulator 14 shown in FIG. 1 .
- Fig. 3 exemplarily introduces a power consumption adjustment process of the power regulator, as shown in Fig. 3, the method includes:
- step 301 the power consumption regulator obtains the current power consumption of the first voltage domain in the processor.
- the current power consumption of the first voltage domain may refer to the current total power consumption of each processor core located in the first voltage domain, or may refer to the current total power consumption of each processor core located in the first voltage domain.
- the current average power consumption may also refer to the current highest power consumption of each processor core located in the first voltage domain, which is not specifically limited.
- each processor core can also be provided with a power consumption sensor, and the power consumption sensor in each processor core is respectively connected to the power consumption regulator 14, for example, a power consumption sensor is provided in the processor core 10.
- Sensor 102 the processor core 11 is provided with a power consumption sensor 112
- the processor core 12 is provided with a power consumption sensor 122
- the processor core 13 is provided with a power consumption sensor 132
- the power consumption sensor 102 power The power consumption sensor 112 , the power consumption sensor 122 and the power consumption sensor 132 are respectively connected to the power consumption regulator 14 through a bus.
- the power consumption sensor in each processor core can accumulate the power consumption consumed by the processor core in the current sampling period until the reporting time of the current sampling period is reached, and the processor core in the current sampling period The power consumption consumed in the period is reported to the power regulator 14, and then the power consumption consumed by the processor core is accumulated again in the next sampling period and waits for the report.
- the power consumption adjuster 14 can first determine each target processor core belonging to the first voltage domain from each processor core, and then accumulate the current voltage of each target processor core. The current total power consumption of the first voltage domain is obtained from the respective power consumptions in the sampling period.
- a shared power consumption sensor may also be set in two or more processor cores, for example, a sensor for power consumption in the first voltage domain is directly set in the first voltage domain
- the power consumption sensor accumulates the total power consumption consumed by all processor cores in the first voltage domain within a sampling period, and then performs a reporting operation. In this way, the power consumption received by the power regulator is the current total power consumption of the first voltage domain.
- the current sampling period may correspond to a preset cycle period, and the power consumption sensor may sample the processor core or The power consumed by the first voltage domain in each cycle period is actively reported to the power regulator.
- the power consumption adjuster executes the power consumption adjustment method according to the above-mentioned triggering method
- the current sampling period may correspond to the period from the last trigger moment to the current trigger moment, and the power consumption adjuster determines that the first voltage domain is at After the state at a certain moment meets the preset trigger conditions, a request message can be sent to the power consumption sensor to request the power consumption sensor to collect the power consumption collected from the last time the request message was received to the current time.
- the power consumption regulator implements the power consumption adjustment method according to the above-mentioned period mode + trigger mode, then: the current sampling period may correspond to a preset period period, and the power consumption sensor adjusts the power consumption according to the preset period period.
- the controller actively reports the power consumption, and the power regulator needs to judge whether the state of the first voltage domain satisfies the preset trigger condition after receiving the power consumption in each cycle.
- the power consumption regulator will All the power consumption received afterwards determines the current power consumption; or, the current sampling period can also correspond to the period from the last triggering moment to the current triggering moment, the difference from the above triggering method is that the power consumption regulator follows the preset The preset cycle monitors whether the first voltage domain triggers the power consumption adjustment strategy, so the duration of the current sampling period corresponds to a multiple of the preset cycle duration.
- the preset trigger condition may be at least one of the following:
- the temperature of the first voltage domain is greater than a preset temperature threshold.
- the temperature of the first voltage domain may be an average temperature or a maximum temperature of each processor core located in the first voltage domain. Preferably, it can be set as the highest temperature of each processor core, so that the processor core with the most severe current temperature environment in the first voltage domain can be used to uniformly adjust the power consumption of each processor core in the first voltage domain, so as to reduce the temperature of each processor core.
- the purpose of processor core temperature is to effectively improve the security of each processor core in the first voltage domain.
- the preset temperature threshold refers to the lowest temperature at which power consumption adjustment needs to be performed, which can be set by those skilled in the art based on experience, or can be obtained a priori according to experiments, and can usually be set to a temperature between 75° and 80° .
- the load of the first voltage domain is greater than a preset load threshold.
- the load of the first voltage domain may be the total load, average load or highest load of each processor core located in the first voltage domain.
- it can be set as the total load of each processor core, so as to balance and adjust the power consumption of each processor core in the first voltage domain with reference to the overall load of the first voltage domain, so as to achieve a balanced first voltage domain for the purpose of load distribution.
- the power consumption of the first voltage domain is greater than a preset power consumption threshold.
- the power consumption of the first voltage domain may be the total power consumption, average power consumption or highest power consumption of each processor core located in the first voltage domain.
- it can be set as the total power consumption of each processor core, so that when the total power consumption of the first voltage domain is large, the power consumption of each processor core in the first voltage domain can be adjusted centrally to reduce the first voltage purpose of the overall power consumption of the domain.
- the power consumption regulator can only perform power consumption adjustment when the trigger condition (such as high temperature, heavy load, or high power consumption) is met.
- the trigger condition such as high temperature, heavy load, or high power consumption
- the power consumption adjustment may not be performed, which helps to save unnecessary waste of resources while realizing necessary adjustment operations.
- Step 302 the power consumption adjuster determines the reference power consumption of the first voltage domain at each corresponding frequency and voltage according to the current power consumption of the first voltage domain.
- the frequency, voltage, and power consumption of the first voltage domain may have a preset correlation
- the power consumption regulator may obtain the current power consumption of the first voltage domain, as well as The current frequency and current voltage (for example, the power consumption sensor can report the current frequency and current voltage to the power consumption regulator while reporting the current power consumption, or the power consumption regulator can communicate with the frequency modulation actuator and voltage regulation to execute
- the current frequency and current voltage are obtained through the interaction of the device, which is not limited in detail), and then according to the current frequency, current voltage and current power consumption of the first voltage domain, according to the above-mentioned preset correlation, the conversion of the first voltage domain in each corresponding Reference power consumption at other frequencies and other voltages.
- the corresponding other frequencies and other voltages in the first voltage domain may be any of the following:
- the first type preset fixed frequency and fixed voltage
- the second type is calculated based on the preset interval granularity and number of gears. For example, when the interval granularity corresponding to the frequency is 10KHz and the interval granularity corresponding to the voltage is 0.1V, if the current frequency is 200KHz and the current voltage is 2.5V, The number of gears is 7, and the corresponding other frequencies and other voltages can be: corresponding 170KHz and 2.2V, corresponding 180KHz and 2.3V, corresponding 190KHz and 2.4V, corresponding 200KHz and 2.5V, corresponding 210KHz and 2.6V, corresponding to 220KHz and 2.7V, corresponding to 230KHz and 2.8V;
- the third type is calculated based on the preset interval granularity, frequency upper limit and frequency lower limit. For example, when the interval granularity corresponding to the frequency is 10KHz and the interval granularity corresponding to the voltage is 0.1V, if the current frequency is 200KHz and the current voltage is 2.5 V, the upper limit of frequency is 225KHz, and the lower limit of frequency is 155KHz, then the corresponding other frequencies and other voltages can be: corresponding 160KHz and 2.1V, corresponding 170KHz and 2.2V, corresponding 180KHz and 2.3V, corresponding 190KHz and 2.4 V, corresponding 200KHz and 2.5V, corresponding 210KHz and 2.6V, corresponding 220KHz and 2.7V;
- the fourth type is calculated according to the preset interval granularity, voltage upper limit and voltage lower limit. For example, when the interval granularity corresponding to the frequency is 10KHz and the interval granularity corresponding to the voltage is 0.1V, if the current frequency is 200KHz and the current voltage is 2.5 V, the upper limit of the voltage is 3.05V, and the lower limit of the voltage is 2.15V, then the corresponding other frequencies and other voltages can be: corresponding 170KHz and 2.2V, corresponding 180KHz and 2.3V, corresponding 190KHz and 2.4V, corresponding 200KHz And 2.5V, corresponding 210KHz and 2.6V, corresponding 220KHz and 2.7V, corresponding 230KHz and 2.8V, corresponding 240KHz and 2.9V, corresponding 250KHz and 3.0V.
- the other frequencies and other voltages corresponding to each of the different voltage domains may be the same or different. Even if the same calculation rules are set in different voltage domains, since the current voltage and current frequency corresponding to different voltage domains at the same time may be different, the calculated other frequencies may be different from other voltages.
- the power consumption adjuster may also maintain a real-time power consumption model table, and the real-time power consumption model table is used to store each corresponding frequency and voltage in the first voltage domain, so that the power consumption adjuster Each corresponding reference power consumption can be converted directly according to each corresponding frequency and voltage stored in the table.
- Fig. 4 exemplarily shows a schematic diagram of a form filling process of a real-time power consumption model table provided by the embodiment of the present application. Assuming that the corresponding other frequencies and other voltages are the above-mentioned third types, then (A) in Fig.
- FIG. 4 shows not The real-time power consumption model table in the form filling state
- (B) in Figure 4 shows the real-time power consumption model table calculated according to the current frequency and current voltage and filled in each other frequency and other voltages
- (C) in Figure 4 shows Get the real-time power consumption model table converted according to the current frequency, current voltage and current power consumption and fill in the reference power consumption corresponding to each other frequency and other voltages.
- the first column of the real-time power consumption model table corresponds to frequency
- the second column corresponds to voltage
- the third column corresponds to reference power consumption:
- the real-time power consumption model table is filled with a specified frequency lower limit F X at the second row of the first column, and at the last row of the first column There is a specified frequency upper limit F Y , and other cells are blank;
- the power consumption adjuster converts the current frequency F I , current voltage V I and current power consumption P I Fill in the corresponding position of the real-time power consumption model table, and then according to the current frequency F I and the current voltage V I , according to the preset interval granularity, calculate other frequencies within the range limited by the frequency upper limit F X and the frequency lower limit F Y and other voltages, and fill in the real-time power consumption model table.
- the frequency of each row in the first column of the real-time power consumption model table is filled in.
- the voltages of other rows are filled in.
- the third column In addition to the row where the current power consumption is filled in, the other rows are not filled;
- the power consumption adjuster calculates the reference frequency corresponding to each other frequency and other voltage according to the preset correlation relationship according to the current frequency F I , the current voltage V I and the current power consumption P I .
- Power consumption, and fill in the real-time power consumption model table How to convert the corresponding reference power consumption under other frequencies and other voltages will be specifically introduced in Embodiment 2 below, and will not be described here.
- the power consumption regulator After filling in the reference power consumption corresponding to each other frequency and other voltages, in the third column of the real-time power consumption model table, except the second row and the last row are not filled in, the reference power consumption of other rows is filled in, So far, the power consumption regulator obtains the updated real-time power consumption model table.
- (A) to (C) in Figure 4 show the update process when the real-time power consumption model table is filled in for the first time.
- the real-time power consumption model table The content of each item is basically filled, so the subsequent update operation can be to modify the data already filled in the real-time power consumption model table, or to clear the real-time power consumption model table first and then fill in new data , without limitation.
- the power consumption regulator adjusts the power consumption in a periodic manner, the power consumption regulator can refresh the real-time power consumption according to the current power consumption of the first voltage domain obtained in the current cycle at intervals of a preset cycle. model sheet.
- the power consumption regulator adjusts the power consumption according to the trigger mode, every time the power consumption regulator detects that the state of the first voltage domain meets the preset trigger condition, it can temporarily interrupt the current working process, and according to the acquired first voltage The current power consumption of the domain refreshes the real-time power consumption model table, and then resumes the current work process.
- the power consumption model table in the embodiment of the present application may be stored in a storage unit of the processor (such as the external cache or internal memory in FIG. Model table, fill in the power consumption model table, modify the data in the power consumption model table, delete the power consumption model table and other operations.
- the storage unit may be a single memory or a memory group, or may be a single register, a register group or a register file.
- Memory can be volatile memory or nonvolatile memory, or can include both volatile and nonvolatile memory.
- the non-volatile memory can be read-only memory (read-only memory, ROM), programmable read-only memory (programmable ROM, PROM), erasable programmable read-only memory (erasable PROM, EPROM), electrically programmable Erases programmable read-only memory (electrically EPROM, EEPROM) or flash memory.
- Volatile memory can be random access memory (RAM), which acts as external cache memory.
- RAM random access memory
- static RAM static random access memory
- dynamic RAM dynamic random access memory
- DRAM dynamic random access memory
- synchronous dynamic random access memory synchronous DRAM, SDRAM
- double data rate synchronous dynamic random access memory double data rate SDRAM, DDR SDRAM
- enhanced synchronous dynamic random access memory enhanced SDRAM, ESDRAM
- serial link DRAM SLDRAM
- direct memory bus random access memory direct rambus RAM, DR RAM
- Step 303 the power consumption adjuster adjusts the frequency and voltage of each processor core located in the first voltage domain with reference to the reference power consumption of the first voltage domain at each corresponding frequency and voltage.
- the power consumption regulator can adjust the frequency and voltage in various ways. For example, in one way, the power consumption regulator can use the historical power consumption of the first voltage domain in each historical period to predict the first The future power consumption of a voltage domain in a period of time in the future, and then search for each reference power consumption shown in (C) in Figure 4 according to the predicted future power consumption, to find the power consumption not greater than the future power consumption from each reference power consumption Maximum target reference power consumption. Assuming that the target reference power consumption is P 2 , the power consumption regulator can adjust the frequency and voltage of the first voltage domain according to the frequency F 2 and voltage V 2 corresponding to the target reference power consumption P 2 .
- the power consumption adjuster can also allocate power consumption to each voltage domain according to the temperature and load of the processor core contained in each voltage domain in the processor, and determine that the first voltage domain After the allocated budget power consumption, search for each reference power consumption shown in (C) in Figure 4 according to the budget power consumption, to find the maximum target reference power consumption that is not greater than the budget power consumption, and adjust the first Frequency and voltage in the voltage domain.
- the power consumption adjuster may also directly determine the budgeted power consumption of the first voltage domain according to the temperature and load of the processor core included in the first voltage domain, and according to the budgeted power consumption according to the above mode to adjust the frequency and voltage of the first voltage domain. There are many possible implementation manners, which will not be repeated here.
- the power consumption regulator when searching among the various reference power consumptions shown in (C) in FIG. is equal to the maximum reference power consumption of future power consumption or budget power consumption, so the power consumption regulator can start from the penultimate row of the third column shown in Figure 4 (C), and search from bottom to top until it finds less than or When it is equal to the reference power consumption of the future power consumption or the budgeted power consumption, the reference power consumption is used as the target reference power consumption.
- the power consumption adjuster can also start from the third row of the third column shown in (C) in Figure 4, and search from top to bottom until a reference power consumption greater than the future power consumption or budget power consumption is found , taking the reference power consumption in the row above the reference power consumption as the target reference power consumption.
- the power consumption regulator 14 operates according to the target reference power.
- the specific implementation process of adjusting the frequency and voltage of the first voltage domain by the frequency F2 and voltage V2 corresponding to the power consumption P2 includes: the power consumption regulator 14 generates a frequency modulation command according to the frequency F2 , and sends the frequency modulation command to the processor core
- the frequency modulation executor 111 in 11 and the frequency modulation executor 121 in the processor core 12 are to instruct the frequency modulation executor 111 to adjust the frequency of the processor core 11 to frequency F 2 , and instruct the frequency modulation executor 121 to adjust the frequency of the processor core 12 to adjusted to frequency F2 ;
- the power consumption regulator 14 generates a voltage regulation instruction according to the voltage V2, and sends the voltage regulation instruction to the voltage regulation actuator 152 to instruct the voltage regulation actuator 152 to adjust the working voltage of the voltage domain 2 to the voltage V 2
- the power consumption regulator in the embodiment of the present application can also adjust other parameters that can affect the power consumption state, such as current, etc., which is not specifically limited in the present application.
- the reference power consumption for frequency and voltage regulation of the processor core in the first voltage domain is determined by referring to the current power consumption of the first voltage domain, so that the reference power consumption can accurately match the first voltage domain
- the real demand of the processor core in the current moment helps to make the frequency and voltage adjusted based on the reference power consumption meet the real demand of the processor core, effectively improving the accuracy of frequency modulation and voltage regulation.
- the frequency of the processor core can also be flexibly changed with the change of the power consumption state of the voltage domain. , which also helps to improve the flexibility of frequency modulation and voltage regulation.
- FIG. 5 exemplarily shows a schematic flow chart corresponding to another method for adjusting power consumption provided by an embodiment of the present application.
- This method is applicable to a power consumption regulator, such as the power consumption regulator 14 shown in FIG. 1 .
- Figure 5 exemplarily introduces a power consumption adjustment process of the power regulator, as shown in Figure 5, the method includes:
- step 501 the power consumption regulator obtains the temperature of each processor core.
- each processor core may also be provided with a temperature sensor, for example, a temperature sensor 103 is provided in the processor core 10, and a temperature sensor 113 is provided in the processor core 11,
- the processor core 12 is provided with a temperature sensor 123
- the processor core 13 is provided with a temperature sensor 133.
- the temperature sensor 103, the temperature sensor 113, the temperature sensor 123 and the temperature sensor 133 are respectively connected to the power consumption adjustment via the bus.
- Device 14 the temperature sensors installed in each processor core can sample the temperature of each processor core according to a preset sampling period, and send the sampled temperature to the power regulator 14 through the bus. This example can directly obtain the temperature of each processor core through measurement, which helps to improve the accuracy of obtaining the temperature.
- the above example is actually setting a temperature sensor in each processor core to determine the temperature of each processor core, which is only an optional implementation manner.
- shared temperature sensors can also be set in two or more processor cores.
- the power regulator can compensate the temperature sampled by the temperature sensor according to a certain strategy to obtain the temperature of each processor core.
- strategy to use specifically it can be set by those skilled in the art based on experience, and will not be introduced here.
- Step 502 the power consumption regulator judges whether the highest temperature of the processor core in the first voltage domain is greater than a preset temperature threshold, if yes, execute step 503 , if not, execute step 502 .
- the power consumption regulator may end the analysis of the first voltage domain, and continue to monitor the temperature of the first voltage domain until it is determined that the temperature of a processor core in the first voltage domain reaches a preset temperature threshold, Turn on power consumption adjustment for the first voltage domain. This method can not only adjust the power consumption of all processor cores in the first voltage domain in time when the processor cores in the first voltage domain reach an unsafe temperature state, but also avoid unnecessary waste of resources by the power regulator .
- Step 503 the power consumption adjuster acquires the current power consumption, the current frequency and the current voltage of the first voltage domain.
- the power consumption regulator may receive the power consumption reported by the power consumption sensor in each processor core, and then accumulate the power consumption in the first voltage domain
- the power consumption reported by each processor core of is used as the current power consumption of the first voltage domain.
- the power consumption sensor may include a static power consumption sensor and a dynamic power consumption sensor, and the static power consumption sensor samples and reports the static power consumption of the processor core in the current sampling period, so that the power consumption adjuster can accumulate the first The current static power consumption of the voltage domain, and the dynamic power consumption sensor samples and reports the dynamic power consumption of the processor core in the current sampling period, so that the power consumption regulator can accumulate and obtain the current dynamic power consumption of the first voltage domain.
- the sampling process of the static power consumption sensor may specifically be: maintaining a preset static power consumption model in the static power consumption sensor (specifically, it may be represented by a preset corresponding relationship between static power consumption, frequency, voltage, and temperature) , the static power sensor senses the instantaneous frequency, instantaneous voltage and instantaneous temperature of the processor core in each instantaneous period, and inputs the static power consumption model to obtain the output instantaneous static power consumption, and then accumulates the processor core in the current sampling period The instantaneous static power consumption of each instantaneous period in the current sampling period is obtained to obtain the static power consumption of the processor core in the current sampling period.
- a preset static power consumption model in the static power consumption sensor specifically be represented by a preset corresponding relationship between static power consumption, frequency, voltage, and temperature
- the static power sensor senses the instantaneous frequency, instantaneous voltage and instantaneous temperature of the processor core in each instantaneous period, and inputs the static power consumption model to obtain the output instantan
- the sampling process of the dynamic power consumption sensor can be specifically as follows: the dynamic power consumption sensor monitors the behavior of the signal appearing in the processor core in real time, and according to the various behaviors of the signal appearing in the processor core in the current sampling period, the processor The dynamic power consumption of the core during the current sampling period.
- the power consumption regulator can also be connected to any processor located in the first voltage domain
- the frequency actuator in the core communicates to obtain the current frequency of the first voltage domain, and communicates with the voltage actuator set in the first voltage domain to obtain the current voltage of the first voltage domain.
- the power consumption regulator can also communicate with the frequency actuator in the first voltage domain to obtain the The current frequency, and communicate with the voltage actuator set in the first voltage domain to obtain the current voltage of the first voltage domain.
- Step 504 the power consumption adjuster predicts the first voltage domain under each corresponding frequency and voltage according to the current power consumption, current frequency and current voltage of the first voltage domain, according to the preset corresponding relationship between power consumption, frequency and voltage The respective reference power consumption.
- the preset corresponding relationship between power consumption, frequency and voltage may be set by those skilled in the art based on experience, or may be obtained a priori according to experiments, and is not specifically limited.
- the preset corresponding relationship between power consumption, frequency and voltage may include the preset corresponding relationship between dynamic power consumption, frequency and voltage, the preset dynamic power consumption, frequency and voltage
- the corresponding relationship usually satisfies the following formula (1.1):
- P D is the dynamic power consumption
- F is the frequency
- V is the voltage
- C is a constant.
- the power consumption adjuster can calculate according to the above formula (1.2) according to the current dynamic power consumption P ID , the current frequency F I and the current voltage V I
- the power consumption adjuster After the power consumption adjuster accumulates and obtains the current static power consumption P IS of the first voltage domain, it can directly use the current static power consumption P IS as the first voltage domain in each time period as shown in (B) in FIG. 4 .
- Static power consumption P 1S , P 2S , ..., P KS under each corresponding frequency and voltage, and add the dynamic power consumption and static power consumption under each corresponding frequency and voltage to obtain each corresponding frequency and
- the preset corresponding relationship between power consumption, frequency and voltage may also include a preset corresponding relationship between static power consumption, frequency, voltage and temperature.
- the current (quiescent supply current, IDDQ) test scheme is obtained by testing the first voltage domain in the no-load state in advance, and usually includes the static path of the first voltage domain, which is used to characterize the first voltage domain in the no-load state.
- the inherent power consumption caused by the leakage of each internal device is generally a constant.
- the power consumption adjuster according to the current static power consumption P IS , the current frequency F I , the current voltage V I and the current temperature T I Corresponding relationship of static power consumption, frequency, voltage and temperature, can convert static power consumption P 1S , P 2S , ..., P KS of the first voltage domain at each corresponding frequency and voltage, and then according to the above method
- the dynamic power consumption and the static power consumption under each corresponding frequency and voltage are summed to obtain the reference power consumption under each corresponding frequency and voltage.
- the static power consumption is converted by using the preset corresponding relationship, and more accurate static power consumption under each corresponding frequency and voltage can be calculated, which helps to improve the accuracy of power consumption regulation.
- Step 505 the power consumption adjuster determines the budgeted power consumption of the first voltage domain.
- the power consumption regulator may determine the budgeted power consumption of the first voltage domain in any of the following ways:
- the power consumption adjuster substitutes the current temperature of each processor core in the first voltage domain, and the current temperature and historical temperature variation of each processor core into a proportional integral derivative (PID) control algorithm , to obtain the budgeted power consumption of the first voltage domain output by the PID control algorithm.
- PID proportional integral derivative
- the PID control algorithm logically corresponds to a mathematical expression
- the dependent variable of the mathematical expression is the budget power consumption
- the independent variable is the current temperature and temperature variation of each processor core.
- Each parameter in the mathematical expression can be Including proportional parameters, integral parameters and differential parameters, these parameters are pre-summarized based on multiple experiments on the basis of the expected temperature.
- the first voltage domain will correspond to a smaller budget power consumption, so that when the current temperature is greater than the expected temperature, through Reduce the power consumption of the processor core to reduce the heat generation of the processor core, and try to make the temperature of the processor core closer to the desired temperature. If the deviation value between the current temperature of each processor core and the expected temperature is negative, the first voltage domain will correspond to a larger budget power consumption, so that when the current temperature is lower than the expected temperature, by increasing the Power consumption to improve the processing performance of the processor core.
- the power consumption adjuster summarizes the corresponding relationship between the temperature of the first voltage domain and the best expected power consumption (such as a correspondence table or a correspondence diagram) based on multiple experiments in advance, so that the power consumption adjuster according to the first For the current temperature in a voltage domain, the best budgeted power consumption corresponding to the current temperature can be obtained by directly querying the corresponding relationship.
- the best expected power consumption such as a correspondence table or a correspondence diagram
- the power consumption adjuster substitutes the current temperature of each processor core in the processor, and the current temperature of each processor core and the temperature change of the historical temperature into the PID control algorithm to obtain the output processing of the PID control algorithm
- the total budgeted power consumption of the processor and then according to the current power consumption of the first voltage domain and the current total power consumption of each voltage domain included in the processor, determine that the current power consumption of the first voltage domain occupies the current total power consumption of the processor
- the ratio is used as the power consumption distribution ratio corresponding to the first voltage domain, and the total budgeted power consumption of the processor is allocated according to the power consumption distribution ratio to obtain the budgeted power consumption corresponding to the first voltage domain.
- the above content is just an example to introduce several possible ways to determine the budgeted power consumption.
- other determination ways can also be selected.
- the budgeted power consumption of the first voltage domain issued by the operating system can also be obtained directly.
- Step 506 the power regulator finds the maximum reference power consumption that is not greater than the budgeted power consumption of the first voltage domain from each reference power consumption:
- step 507 is executed;
- step 508 is executed.
- Step 507 the power regulator adjusts the frequency and voltage of each processor core located in the first voltage domain with reference to the frequency and voltage corresponding to the maximum reference power consumption not greater than the budgeted power consumption.
- each reference power consumption can reflect the real demand of the first voltage domain at the current moment, thus, by referring to The maximum reference power consumption not greater than the budgeted power consumption is used to adjust the power consumption of the first voltage domain, which can ensure that the total power consumption of the first voltage domain does not exceed the budgeted power consumption (that is, meet the temperature control requirements). Maximizing the total power consumption of the first voltage domain helps to fully utilize the power consumption margin of the first voltage domain to improve the processing performance of the first voltage domain.
- the power consumption adjustment method in this application can not only reduce the first The total power consumption of the voltage domain is controlled within the budgeted power consumption, and the processing performance of the first voltage domain can be improved by 5-10%.
- Step 508 the power consumption adjuster adjusts the frequency and voltage of each processor core located in the first voltage domain with reference to the frequency and voltage corresponding to the minimum reference power consumption in each reference power consumption.
- step 506 and step 508 when all the reference power consumption is greater than the budgeted power consumption, it means that the current power consumption of the first voltage domain is very high, and the first voltage domain may be in a high frequency and high voltage state for a long time, therefore,
- the minimum reference power consumption of each reference power consumption to adjust the power consumption of the first voltage domain, in fact, the first voltage domain can be reduced in frequency and voltage, and the long-term high-voltage and high-frequency state of the first voltage domain can be alleviated. Try to avoid overcurrent or overheating in the first voltage domain.
- the current power consumption, current frequency and current voltage of the first voltage domain to calculate the reference power consumption of the first voltage domain at corresponding other frequencies and other voltages, it can be based on the current power consumption of the first voltage domain
- the actual demand sets the reference power consumption, so that the frequency and voltage of the first voltage domain can be accurately adjusted using the reference power consumption meeting the actual demand.
- the adjustment result can also be applied to the current scenario in the first voltage domain, which helps to make various power consumption adjustment schemes compatible with various possible scenarios.
- the maximum reference power consumption that is not greater than the budgeted power consumption for voltage regulation and frequency modulation it is also helpful to make full use of the first power consumption under the condition that the total power consumption of the first voltage domain does not exceed the budgeted power consumption.
- the power margin of the voltage domain improves the processing performance of the first voltage domain as much as possible.
- both the first and second embodiments above use the voltage domain as the basic unit, and adjust the frequency and voltage of each processor core in the same voltage domain to be consistent. This method can fully balance the power consumption of each processor core.
- the processor core can also be used as the basic unit of frequency modulation and voltage regulation, and each processor core maintains a real-time power consumption model table independently. After determining the respective voltages and frequencies of each processor core in the same voltage domain, the voltage of the voltage domain can be adjusted to the maximum voltage therein.
- the frequency of other processor cores can also be increased synchronously. frequency to fully utilize the power available in the first voltage domain to increase the processing capability of other processor cores.
- the processing unit can also be used as the basic unit for frequency modulation and voltage regulation, and according to the method in the first or second embodiment above, all the processors in each voltage domain of a processing unit The voltage and frequency of the core are adjusted to be consistent. There are many possible expansion schemes, and this application will not list them one by one.
- FIG. 6 is a schematic structural diagram of a power consumption regulator 600 provided in an embodiment of the present application.
- the power consumption regulator 600 may be a chip or a circuit, such as a chip or a circuit that may be provided in a processor.
- the power consumption regulator 600 may correspond to the power consumption regulator 14 in the above method.
- the power consumption adjuster 600 may implement any one or more steps of the corresponding methods shown in FIG. 3 or FIG. 5 above.
- the power consumption regulator 600 may include a monitoring circuit 601 and a processing circuit 602 .
- the power consumption regulator 600 may also include a bus system, and the monitoring circuit 601 and the processing circuit 602 may be connected through the bus system.
- the monitoring circuit 601 can also be connected to the power consumption sensor and temperature sensor of each processor core through the bus system
- the processing circuit 602 can also be connected to the adjustment actuator of each processor core and each voltage domain through the bus system. Voltage actuator connection in .
- the monitoring circuit 601 may obtain the current power consumption of the first voltage domain in the processor through a power consumption sensor of each processor core.
- the processing circuit 602 can determine the reference power consumption of the first voltage domain at each corresponding frequency and voltage according to the current power consumption of the first voltage domain, and then refer to the reference power consumption of the first voltage domain at each corresponding frequency and voltage Power consumption, adjusting the frequency and voltage of each processor core located in the first voltage domain.
- FIG. 7 is a schematic structural diagram of another power regulator 700 provided in the embodiment of the present application.
- the power regulator 700 may be a chip or a circuit, such as a chip or a circuit that may be set in a processor.
- the power consumption regulator 700 may correspond to the power consumption regulator 14 in the above method.
- the power consumption adjuster 700 may implement any one or multiple steps of the corresponding methods shown in FIG. 3 or FIG. 5 above.
- the power consumption adjuster 700 may include an acquiring unit 701 , a determining unit 702 and an adjusting unit 703 .
- the acquiring unit 701 may be a receiving unit or a receiver when receiving information, and the receiving unit or receiver may be a radio frequency circuit.
- the acquisition unit 701 can acquire the current power consumption of the first voltage domain in the processor, and the determination unit 702 can determine the reference of the first voltage domain at each corresponding frequency and voltage according to the current power consumption of the first voltage domain
- the adjustment unit 703 may adjust the frequency and voltage of each processor core located in the first voltage domain with reference to the reference power consumption of the first voltage domain at each corresponding frequency and voltage.
- each unit in the above power consumption adjuster 700 can refer to the implementation of the corresponding method embodiment, and details are not repeated here.
- the above division of the units of the power consumption adjuster 700 is only a division of logical functions, which may be fully or partially integrated into one physical entity or physically separated during actual implementation.
- the acquisition unit 701 may be realized by the monitoring circuit 601 in FIG. 6 above
- the determination unit 702 and the adjustment unit 703 may be realized by the processing circuit 602 in FIG. 6 above.
- the present application also provides a computer program product, the computer program product including: computer program code, when the computer program code is run on the computer, the computer is made to execute the computer program described in Fig. 1 to Fig. 5 .
- the method of any one of the embodiments is illustrated.
- the present application also provides a computer-readable storage medium, the computer-readable medium stores program code, and when the program code is run on the computer, the computer is made to execute the steps shown in Figures 1 to 5.
- the computer-readable medium stores program code, and when the program code is run on the computer, the computer is made to execute the steps shown in Figures 1 to 5. The method of any of the illustrated embodiments.
- the present application also provides an electronic device, the electronic device includes a processor, the processor is coupled with the memory, and the processor is used to execute the computer program stored in the memory, so that the electronic device executes the method shown in Figure 1 to the method of any one of the embodiments shown in FIG. 5 .
- a component may be, but is not limited to being, a process running on a processor, a processor, an object, an executable, a thread of execution, a program, and/or a computer.
- an application running on a computing device and the computing device can be components.
- One or more components can reside within a process and/or thread of execution and a component can be localized on one computer and/or distributed between two or more computers.
- these components can execute from various computer readable media having various data structures stored thereon.
- a component may, for example, be based on a signal having one or more packets of data (e.g., data from two components interacting with another component between a local system, a distributed system, and/or a network, such as the Internet via a signal interacting with other systems). Communicate through local and/or remote processes.
- packets of data e.g., data from two components interacting with another component between a local system, a distributed system, and/or a network, such as the Internet via a signal interacting with other systems.
- the disclosed systems, devices and methods may be implemented in other ways.
- the device embodiments described above are only illustrative.
- the division of the units is only a logical function division. In actual implementation, there may be other division methods.
- multiple units or components can be combined or May be integrated into another system, or some features may be ignored, or not implemented.
- the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces, and the indirect coupling or communication connection of devices or units may be in electrical, mechanical or other forms.
- the units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place, or may be distributed to multiple network units. Part or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
- each functional unit in each embodiment of the present application may be integrated into one processing unit, each unit may exist separately physically, or two or more units may be integrated into one unit.
- the functions described above are realized in the form of software function units and sold or used as independent products, they can be stored in a computer-readable storage medium.
- the technical solution of the present application is essentially or the part that contributes to the prior art or the part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including Several instructions are used to make a computer device (which may be a personal computer, a server, or a network device, etc.) execute all or part of the steps of the methods described in the various embodiments of the present application.
- the aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (read-only memory, ROM), random access memory (random access memory, RAM), magnetic disk or optical disc and other media that can store program codes. .
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
Abstract
一种功耗调节方法及装置,用以提高调频调压的灵活性和准确性。其中方法包括:功耗调节器获取处理器中的第一电压域的当前功耗,根据当前功耗确定第一电压域在各个对应的频率和电压下的参考功耗,进而参照第一电压域在各个对应的频率和电压下的参考功耗,调节位于第一电压域中的各个处理器核心的频率和电压。通过按照第一电压域的当前功耗确定用于对第一电压域中的处理器核心进行调频调压的参考功耗,不仅能使基于参考功耗所调节的频率和电压满足处理器核心的真实需求,有效提高调频调压的准确性,且还能使处理器核心的频率随着所在电压域的功耗状态的变化而灵活变化,有效提高调频调压的灵活性。
Description
本申请涉及处理器技术领域,尤其涉及一种功耗调节方法及装置。
处理器出厂时,处理器中的元器件(例如处理器核心)通常定义有一些标准的工作范围,例如额定工作频率和额定工作电压等。正常情况下,处理器核心都是按照额定工作频率和额定工作电压来执行处理操作的。然而,额定工作频率和额定工作电压可能无法使处理器核心获得较好的性能,例如如果长时间处于低频低压的工作状态,则很可能会造成处理器核心处理能力的浪费,而如果长时间处于高频高压的工作状态,则又会导致处理器核心存在过热或过流的风险,不利于处理器核心的安全。因此,如何灵活调节处理器核心的频率和电压,还有待进一步研究。
现有技术中,为实现对处理器核心的灵活调频和调压,提出一种调节策略,即:预先通过实验或按照人为经验设置用于调频调压的各个功耗,在处理器核心的使用过程中,基于处理器核心的当前状态从各个功耗中找到适合的目标功耗,并将处理器核心的频率和电压调节为目标功耗所对应的频率和电压。虽然这种方式能够在处理器核心的使用过程中进行调频调压,但是其使用基于实验或经验设置的固定的功耗来调节频率和电压,显然调节的灵活性并不好,且还会使调频调压的准确性依赖于实验或人为经验,有可能导致调节结果出现偏差。
发明内容
本申请提供一种功耗调节方法及装置,用以提高调频调压的灵活性和准确性。
第一方面,本申请提供一种功耗调节方法,该方法适用于功耗调节器,该方法包括:功耗调节器获取处理器中的第一电压域的当前功耗,根据当前功耗确定第一电压域在各个对应的频率和电压下的参考功耗,进而参照第一电压域在各个对应的频率和电压下的参考功耗,调节位于第一电压域中的各个处理器核心的频率和电压。在上述设计中,通过参照第一电压域的当前功耗确定用于对第一电压域中的处理器核心进行调频调压的参考功耗,使得参考功耗能准确表征第一电压域中的处理器核心在当前时刻的真实需求,进而有助于使基于参考功耗所调节的频率和电压满足处理器核心的真实需求,有效提高调频调压的准确性。且,通过按照第一电压域的当前功耗调节第一电压域中的各处理器核心的频率和电压,还能使处理器核心的频率随着所在电压域的功耗状态的变化而灵活变化,从而还有助于提高调频调压的灵活性。
在一种可能的设计中,功耗调节器在获取处理器中的第一电压域的当前功耗之前,还可以先判断位于第一电压域中的处理器核心的最高温度是否大于预设的温度阈值,若大于,则执行获取第一电压域的当前功耗的操作,若不大于,则无需执行功耗调节。该设计不仅能在第一电压域中的处理器核心到达不安全的温度状态时,及时调节第一电压域中全部处理器核心的功耗,还能尽量避免功耗调节器不必要的资源浪费。
在一种可能的设计中,功耗调节器根据当前功耗,确定第一电压域在各个对应的频率 和电压下的参考功耗,包括:功耗调节器获取第一电压域的当前频率和当前电压,根据当前功耗、当前频率和当前电压,按照预设的功耗、频率和电压的对应关系,预测第一电压域在每个对应的频率和电压下的参考功耗。在该设计中,通过使用当前功耗、当前频率和当前电压折算其它频率和电压下的参考功耗,有助于使参考功耗准确匹配第一电压域的真实状态,便于实现参考功耗的灵活更新。
在一种可能的设计中,预设的功耗、频率和电压的对应关系可以包括预设的动态功耗、频率和电压的对应关系,该情况下,功耗调节器可以通过如下方式预测第一电压域在每个对应的频率和电压下的参考功耗:功耗调节器根据当前功耗中的动态功耗、当前频率和当前电压,按照预设的动态功耗、频率和电压的对应关系,计算出第一电压域在每个对应的频率和电压下的动态功耗,然后直接加和当前功耗中的静态功耗和第一电压域在每个对应的频率和电压下的动态功耗,以得到第一电压域在每个对应的频率和电压下的参考功耗。该设计将当前静态功耗作为第一电压域在每个对应的频率和电压下的静态功耗,可以无需再耗费资源执行静态功耗的折算工作,能更快地确定出参考功耗,有助于提高功耗调节的效率。
在一种可能的设计中,预设的功耗、频率和电压的对应关系可以包括预设的动态功耗、频率和电压的对应关系,以及预设的静态功耗、频率、电压和温度的对应关系,该情况下,功耗调节器可以通过如下方式预测第一电压域在每个对应的频率和电压下的参考功耗:功耗调节器先根据当前功耗中的动态功耗、当前频率和当前电压,按照预设的动态功耗、频率和电压的对应关系,计算出第一电压域在每个对应的频率和电压下的动态功耗,再获取第一电压域的当前温度,并根据当前功耗中的静态功耗、当前频率、当前电压和当前温度,按照预设的静态功耗、频率、电压和温度的对应关系,计算出第一电压域在当前温度下的每个对应的频率和电压下的静态功耗,之后加和第一电压域在每个对应的频率和电压下的动态功耗和静态功耗,以得到第一电压域在每个对应的频率和电压下的参考功耗。该设计除了利用预设的对应关系折算动态功耗外,还利用预设的对应关系折算静态功耗,有助于计算出每个对应的频率和电压下的更为准确的静态功耗,有效提高功耗调节的准确性。
在一种可能的设计中,功耗调节器参照第一电压域在各个对应的频率和电压下的参考功耗,调节位于第一电压域中的各个处理器核心的频率和电压,包括:功耗调节器先确定第一电压域的预算功耗,然后从各个参考功耗中获得不大于预算功耗的最大参考功耗,并按照最大参考功耗对应的频率和电压,调节位于第一电压域中的各个处理器核心的频率和电压。其中,第一电压域的预算功耗能表征出第一电压域所支持的最大功耗配置,例如可以是采用预设的温控算法根据第一电压域的当前温度和预期温度计算得到的,以便使预算功耗能满足第一电压域的温控需求。如此,通过参照不大于预算功耗的最大参考功耗来调节第一电压域的功耗,能在保证第一电压域的总功耗不超过第一电压域的最大能力的情况下,尽量让第一电压域的总功耗最大,有助于充分利用第一电压域的功耗裕量来提高第一电压域的处理性能。
在一种可能的设计中,若各个参考功耗都大于第一电压域的预算功耗,意味着第一电压域的当前功耗非常高,第一电压域可能长时间处于高频高压状态,该情况下,功耗调节器可以从各个参考功耗中获得最小参考功耗,并按照最小参考功耗对应的频率和电压,调节位于第一电压域中的各个处理器核心的频率和电压,以便对第一电压域进行降频降压处理,缓解第一电压域长时间的高压高频状态,尽量避免第一电压域出现过流或过热的现象。
第二方面,本申请提供一种功耗调节器,包括:监测电路,用于获取处理器中的第一电压域的当前功耗;处理电路,用于根据当前功耗确定第一电压域在各个对应的频率和电压下的参考功耗,参照第一电压域在各个对应的频率和电压下的参考功耗,调节位于第一电压域中的各个处理器核心的频率和电压。
在一种可能的设计中,监测电路获取处理器中的第一电压域的当前功耗之前,还可以获取位于第一电压域中的各个处理器核心的温度,若各个处理器核心的最高温度大于预设的温度阈值,则执行获取第一电压域的当前功耗的操作。
在一种可能的设计中,监测电路还可以获取第一电压域的当前频率和当前电压,处理电路可以根据当前功耗、当前频率和当前电压,按照预设的功耗、频率和电压的对应关系,预测第一电压域在每个对应的频率和电压下的参考功耗。
在一种可能的设计中,预设的功耗、频率和电压的对应关系可以包括预设的动态功耗、频率和电压的对应关系,该情况下,处理电路可以通过如下方式预测第一电压域在每个对应的频率和电压下的参考功耗:处理电路根据当前功耗中的动态功耗、当前频率和当前电压,按照预设的动态功耗、频率和电压的对应关系,计算出第一电压域在每个对应的频率和电压下的动态功耗,然后直接加和当前功耗中的静态功耗和第一电压域在每个对应的频率和电压下的动态功耗,以得到第一电压域在每个对应的频率和电压下的参考功耗。
在一种可能的设计中,预设的功耗、频率和电压的对应关系可以包括预设的动态功耗、频率和电压的对应关系,以及预设的静态功耗、频率、电压和温度的对应关系,该情况下,处理电路可以通过如下方式预测第一电压域在每个对应的频率和电压下的参考功耗:处理电路先根据当前功耗中的动态功耗、当前频率和当前电压,按照预设的动态功耗、频率和电压的对应关系,计算出第一电压域在每个对应的频率和电压下的动态功耗,再获取第一电压域的当前温度,并根据当前功耗中的静态功耗、当前频率、当前电压和当前温度,按照预设的静态功耗、频率、电压和温度的对应关系,计算出第一电压域在当前温度下的每个对应的频率和电压下的静态功耗,之后加和第一电压域在每个对应的频率和电压下的动态功耗和静态功耗,以得到第一电压域在每个对应的频率和电压下的参考功耗。
在一种可能的设计中,处理电路具体用于:确定第一电压域的预算功耗,并从各个参考功耗中获得不大于预算功耗的最大参考功耗,按照最大参考功耗对应的频率和电压,调节位于第一电压域中的各个处理器核心的频率和电压。其中,第一电压域的预算功耗能表征出第一电压域所支持的最大功耗配置,例如可以是采用预设的温控算法根据第一电压域的当前温度和预期温度计算得到的。
在一种可能的设计中,处理电路还用于:若各个参考功耗都大于第一电压域的预算功耗,则从各个参考功耗中获得最小参考功耗,并按照最小参考功耗对应的频率和电压,调节位于第一电压域中的各个处理器核心的频率和电压。
第三方面,本申请实施例提供一种功耗调节器,包括:获取单元,用于获取处理器中的第一电压域的当前功耗;确定单元,用于根据当前功耗确定第一电压域在各个对应的频率和电压下的参考功耗;调节单元,用于参照第一电压域在各个对应的频率和电压下的参考功耗,调节位于第一电压域中的各个处理器核心的频率和电压。
在一种可能的设计中,在获取单元获取处理器中的第一电压域的当前功耗之前,确定单元还可以确定位于第一电压域中的各个处理器核心的最高温度大于预设的温度阈值。
在一种可能的设计中,获取单元还可以获取第一电压域的当前频率和当前电压,确定 单元可以根据当前功耗、当前频率和当前电压,按照预设的功耗、频率和电压的对应关系,预测第一电压域在每个对应的频率和电压下的参考功耗。
在一种可能的设计中,预设的功耗、频率和电压的对应关系可以包括预设的动态功耗、频率和电压的对应关系,该情况下,确定单元可以通过如下方式预测第一电压域在每个对应的频率和电压下的参考功耗:根据当前功耗中的动态功耗、当前频率和当前电压,按照预设的动态功耗、频率和电压的对应关系,计算出第一电压域在每个对应的频率和电压下的动态功耗,然后直接加和当前功耗中的静态功耗和第一电压域在每个对应的频率和电压下的动态功耗,以得到第一电压域在每个对应的频率和电压下的参考功耗。
在一种可能的设计中,预设的功耗、频率和电压的对应关系可以包括预设的动态功耗、频率和电压的对应关系,以及预设的静态功耗、频率、电压和温度的对应关系,该情况下,确定单元可以通过如下方式预测第一电压域在每个对应的频率和电压下的参考功耗:先根据当前功耗中的动态功耗、当前频率和当前电压,按照预设的动态功耗、频率和电压的对应关系,计算出第一电压域在每个对应的频率和电压下的动态功耗,再获取第一电压域的当前温度,并根据当前功耗中的静态功耗、当前频率、当前电压和当前温度,按照预设的静态功耗、频率、电压和温度的对应关系,计算出第一电压域在当前温度下的每个对应的频率和电压下的静态功耗,之后加和第一电压域在每个对应的频率和电压下的动态功耗和静态功耗,以得到第一电压域在每个对应的频率和电压下的参考功耗。
在一种可能的设计中,调节单元具体用于:确定第一电压域的预算功耗,并从各个参考功耗中获得不大于预算功耗的最大参考功耗,按照最大参考功耗对应的频率和电压,调节位于第一电压域中的各个处理器核心的频率和电压。其中,第一电压域的预算功耗能表征出第一电压域所支持的最大功耗配置,例如可以是采用预设的温控算法根据第一电压域的当前温度和预期温度计算得到的。
在一种可能的设计中,调节单元还用于:若各个参考功耗都大于第一电压域的预算功耗,则从各个参考功耗中获得最小参考功耗,并按照最小参考功耗对应的频率和电压,调节位于第一电压域中的各个处理器核心的频率和电压。
第四方面,本申请提供一种处理器,包括功耗调节器、位于第一电压域中的M个处理器核心、以及连接M个处理器核心的功耗感应器,功耗调节器还连接功耗感应器,M为正整数。其中,功耗感应器,用于将所连接的处理器核心的功耗发送给功耗调节器;功耗调节器,用于根据功耗感应器发送的功耗,获得第一电压域的当前功耗,根据第一电压域的当前功耗,确定第一电压域在各个对应的频率和电压下的参考功耗,进而参照第一电压域在各个对应的频率和电压下的参考功耗,调节M个处理器核心的频率和电压。
本申请中,功耗感应器与M个处理器核心可以具有如下任一种连接方式:
在一种可能的连接方式中,功耗感应器的数量可以为一个,该功耗感应器分别连接M个处理器核心,该情况下,功耗感应器感应M个处理器核心的总功耗后发送给功耗调节器,以便功耗调节器直接将接收到的功耗感应器发送的功耗作为第一电压域的当前功耗。如此,通过为每个电压域设置一个对应的功耗感应器,能直接通过一个功耗感应器来感应所对应的电压域中的全部处理器核心的总功耗,有助于节省处理器的布局空间及功耗调节器的计算资源。
在另一种可能的连接方式中,功耗感应器的数量可以为M个,M个功耗感应器与M个处理器核心一一连接,该情况下,M个功耗感应器可以分别将各自连接的处理器核心的 功耗发送给功耗调节器,而功耗调节器通过加和M个处理器核心发送的M个功耗,即可获得第一电压域的当前功耗。如此,通过为每个处理器核心设置一个对应的功耗感应器,能更准确地检测每个处理器核心的真实功耗,有助于提高功耗调节的准确性。
在又一种可能的连接方式中,功耗感应器的数量还可以为P个,P为大于1且小于M的任意一个整数,P个功耗感应器中的任一功耗感应器可以连接M个处理器核心中的一个或多个处理器核心,且P个功耗感应器所连接的处理器核心的并集包含M个处理器核心。其中,不同功耗感应器可以连接重复的处理器核心,也可以连接各不相同的处理器核心,具体不作限定。与该连接方式相关的功耗计算方式,可以直接参照上述两种连接方式,此处不再重复赘述。
在一种可能的设计中,处理器中还可以包括一一连接M个处理器核心的M个温度感应器,功耗调节器还连接M个温度感应器。其中,连接任一处理器核心的温度感应器可以将所连接的处理器核心的温度发送给功耗调节器,功耗调节器在获取处理器中的第一电压域的当前功耗之前,还可以确定M个处理器核心的最高温度大于预设的温度阈值。
在一种可能的设计中,处理器中还可以包括分别连接M个处理器核心的调频执行器和调压执行器,功耗调节器还连接调频执行器和调压执行器。其中,功耗调节器可以参照第一电压域在各个对应的频率和电压下的参考功耗,确定M个处理器核心的目标频率和目标电压,根据目标频率生成调频指令并发送给调频执行器,根据目标电压生成调压指令并发送给调压执行器,以便调频执行器根据调频指令将M个处理器核心的频率调节为目标频率,以及调压执行器根据调压指令将M个处理器核心的电压调节为目标电压。
在一种可能的设计中,处理器中还可以包括一一连接M个处理器核心的M个调频执行器、以及分别连接M个处理器核心的调压执行器,功耗调节器还连接M个调频执行器和调压执行器。其中,功耗调节器可以参照第一电压域在各个对应的频率和电压下的参考功耗,确定M个处理器核心的目标频率和目标电压,根据目标频率生成调频指令并发送给M个调频执行器,根据目标电压生成调压指令并发送给调压执行器,以便连接任一处理器核心的调频执行器根据调频指令将所连接的处理器核心的频率调节为目标频率,以及调压执行器根据调压指令将M个处理器核心的电压调节为目标电压。
在一种可能的设计中,调频执行器还可以将所连接的处理器核心的当前频率发送给功耗调节器,调压执行器还可以将所连接的处理器核心的当前电压发送给功耗调节器,功耗调节器可以根据当前功耗、当前频率和当前电压,按照预设的功耗、频率和电压的对应关系,预测第一电压域在每个对应的频率和电压下的参考功耗。
在一种可能的设计中,预设的功耗、频率和电压的对应关系可以包括预设的动态功耗、频率和电压的对应关系。该情况下,功耗调节器可以根据当前功耗中的动态功耗、当前频率和当前电压,按照预设的动态功耗、频率和电压的对应关系,计算出第一电压域在每个对应的频率和电压下的动态功耗,进而加和当前功耗中的静态功耗和第一电压域在每个对应的频率和电压下的动态功耗,得到第一电压域在每个对应的频率和电压下的参考功耗。
在一种可能的设计中,预设的功耗、频率和电压的对应关系可以包括预设的动态功耗、频率和电压的对应关系,以及预设的静态功耗、频率、电压和温度的对应关系。该情况下,功耗调节器可以根据当前功耗中的动态功耗、当前频率和当前电压,按照预设的动态功耗、频率和电压的对应关系,计算出第一电压域在每个对应的频率和电压下的动态功耗,并获取第一电压域的当前温度,根据当前功耗中的静态功耗、当前频率、当前电压和当前温度, 按照预设的静态功耗、频率、电压和温度的对应关系,计算出第一电压域在当前温度下的每个对应的频率和电压下的静态功耗,进而加和第一电压域在每个对应的频率和电压下的动态功耗和静态功耗,得到第一电压域在每个对应的频率和电压下的参考功耗。
在一种可能的设计中,功耗调节器可以确定第一电压域的预算功耗,并从各个参考功耗中获得不大于预算功耗的最大参考功耗,进而按照最大参考功耗对应的频率和电压,调节位于第一电压域中的各个处理器核心的频率和电压。
在一种可能的设计中,功耗调节器若确定各个参考功耗都大于预算功耗,则可以从各个参考功耗中获得最小参考功耗,并按照最小参考功耗对应的频率和电压,调节位于第一电压域中的各个处理器核心的频率和电压。
第五方面,本申请提供一种电子设备,包括处理器,处理器与存储器耦合,处理器用于执行存储器中存储的计算机程序,以使得电子设备执行上述第一方面任一项设计所述的方法。
上述第二方面至第五方面中任一项设计的有益效果,可以参照上述第一方面中相应设计所能达到的有益效果,本申请对此不再一一重复赘述。
图1示例性示出本申请实施例提供的一种处理器的结构示意图;
图2示出本申请实施例提供的一种电压域的划分方式示意图;
图3示例性示出本申请实施例提供的一种功耗调节方法对应的流程示意图;
图4示例性示出本申请实施例提供的一种实时功耗模型表的填表流程示意图;
图5示例性示出本申请实施例提供的另一种功耗调节方法对应的流程示意图;
图6示例性示出本申请实施例提供的一种功耗调节器的结构示意图;
图7示例性示出本申请实施例提供的另一种功耗调节器的结构示意图。
本申请所公开的功耗调节方案可以应用于具有处理功能的电子设备中。在本申请一些实施例中,功耗调节器可以是电子设备或一个独立的单元,当功耗调节器是一个独立的单元时,该单元可以嵌入在电子设备中,并能对该电子设备的一个或多个处理器核心进行调频和调压,以便在充分利用处理器核心的结温和功率裕量的同时,避免处理器核心出现过热或过流等现象。在本申请另一些实施例中,功耗调节器也可以是封装在电子设备内部的单元,用于实现该电子设备的功耗调节功能。其中,电子设备可以是具有处理器的计算机设备,例如台式计算机、个人计算机或服务器等。还应当理解的是,电子设备也可以是具有处理器的便携式电子设备,诸如手机、平板电脑、具备无线通讯功能的可穿戴设备(如智能手表)、车载设备等。便携式电子设备的示例性实施例包括但不限于搭载
或者其它操作系统的便携式电子设备。上述便携式电子设备也可以是诸如具有触敏表面(例如触控面板)的膝上型计算机(Laptop)等。
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述。应理解,方法实施例中的具体操作方法也可以应用于装置实施例或系统实施例中。且,在本申请的描述中,“至少一个”是指一个或多个,多个是指两个或两个以上。 鉴于此,本发明实施例中也可以将“多个”理解为“至少两个”。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,字符“/”,如无特殊说明,一般表示前后关联对象是一种“或”的关系。另外,需要理解的是,在本申请的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
需要指出的是,本申请实施例中“连接”可以理解为电连接,两个电学元件连接可以是两个电学元件之间的直接或间接连接。例如,A与B连接,既可以是A与B直接连接,也可以是A与B之间通过一个或多个其它电学元件间接连接,例如A与B连接,也可以是A与C直接连接,C与B直接连接,A与B之间通过C实现了连接。在一些场景下,“连接”也可以理解为耦合,如两个电感之间的电磁耦合。总之,A与B之间连接,可以使A与B之间能够传输电能。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
图1示例性示出本申请实施例提供的一种处理器的结构示意图。如图1所示,该处理器100可以包括至少一个处理器核心,例如处理器核心10、处理器核心11、处理器核心12和处理器核心13。至少一个处理器核心作为处理器100的核心部件,用于实现处理器100的处理功能。处理器100中还可以包括非核心部件,例如通用单元(包括计数器、译码器和信号发生器等)、加速器单元、输入/输出控制单元、接口单元、内部存储器和外部缓存器等。其中,各个处理器核心和非核心部件之间可以通过通信总线(图1中未进行示意)进行连接,以实现数据的传输操作。
应理解,上述处理器100可以包括一个或多个芯片,例如可以包括片上系统(system-on-a-chip,SoC)或多个芯片所形成的芯片组。处理器100中还可以包括至少一个处理单元(也称为至少一个处理子系统),不同的处理单元可以分散部署在不同的芯片上,也可以集成在一个芯片上。其中,至少一个处理单元可以包括中央处理单元(central processing unit,CPU)和图形处理单元(graphics processing unit,GPU),还可以包括应用处理器(application processor,AP),调制解调处理器,图像信号处理器(image signal processor,ISP),视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理单元(neural-network processing unit,NPU)等。
本申请实施例中,处理器100中的每个处理单元可以包含一个或多个处理器核心。当包含多个处理器核心时,多个处理器核心可以被划分至一个或多个电压域,其中电压域也称为核心丛集,位于同一电压域中的处理器核心具有同一工作电压。示例来说,图2示出本申请实施例提供的一种电压域的划分方式示意图,假设处理器100中存在电压域1、电压域2和电压域3,处理器核心10位于电压域1,处理器核心11和处理器核心12位于电压域2,处理器核心13位于电压域3,则处理器核心10和处理器核心13可以各自具有单独的工作电压,而处理器核心11和处理器核心12可以具有相同的工作电压,且处理器核心10的单独的工作电压、处理器核心13的单独的工作电压、以及处理器核心11和处理器核心12的共同的工作电压可以相同,也可以不同,不作限定。此外,处于同一电压域中的各个处理器核心可以为相同类型,例如处理器核心11和处理器核心12均为CPU核,也可以为不同类型,例如处理器核心11为CPU核,处理器核心12为GPU核,具体也不作 限定。
继续参照图1所示,本申请实施例中,处理器100中还可以包括功耗调节器14、设置于每个处理器核心中的调频执行器(例如设置于处理器核心10中的调频执行器101、设置于处理器核心11中的调频执行器111、设置于处理器核心12中的调频执行器121、以及设置于处理器核心13中的调频执行器131)、以及设置于每个电压域中的调压执行器(例如图1所示意的设置于电压域1中的调压执行器151、设置于电压域2中的调压执行器152、以及设置于电压域3中的调压执行器153),每个电压域中设置的调压执行器可以分别连接每个电压域中包含的各个处理器核心,例如电压域2中设置的调压执行器152同时连接电压域2中包含的处理器核心11和处理器核心12。其中,功耗调节器14可以与每个处理器核心中的调频执行器和每个电压域中的调压执行器连接。如此,在需要对某个处理器核心进行频率调节和电压调节时,功耗调节器14可以向该处理器核心中的调频执行器发送频率调节指令,以指示该处理器核心的调频执行器根据频率调节指令调节该处理器核心的频率,以及向该处理器核心所在的电压域中的调压执行器发送电压调节指令,以指示该电压域中的调压执行器根据电压调节指令调节该电压域中的各个处理器核心的工作电压。
应理解,图1只是一种示例性地说明,在其它可能的示例中,也可以在每个电压域中设置该电压域中的全部处理器核心共享的调频执行器,这种情况下,每个电压域中的处理器核心不仅具有同一电压,还会具有同一功率,功耗调节器14可以通过对设置有调频执行器的电压域的频率进行调节,实现对该电压域中的全部处理器核心的频率进行统一调节。或者,还可以在非核心部件中设置调频执行器和调压执行器,这种情况下,功耗调节器14不仅可以对处理器核心的频率和电压进行调节,还可以对非核心部件的频率和电压进行调节。当然,此处所述的非核心部件是指按照设定的频率工作的部件。或者,还可以只在一个或几个处理器核心中设置调频执行器,这种情况下,功耗调节器14可以仅对设置有调频执行器的处理器核心进行频率调节。
下面以每个处理器核心中设置一个频率执行器为例,介绍如何调节一个电压域中的各处理器核心的频率和电压。应理解,调节其它电压域中的处理器核心的频率和电压、或调节非处理器核心的频率和电压、或在每个电压域中设置一个频率执行器的情况下调节一个电压域中的处理器核心的频率和电压均可以参照执行,本申请对此不再进行重复赘述。
另外,本申请中的功耗调节方案可以按照周期方式、触发方式、或者周期方式+触发方式中的任一方式来执行:当按照周期方式执行时,功耗调节器每隔一个预设的周期时长,即可按照如下实施例中的步骤调节一次电压域中各处理器核心的频率和电压;当按照触发方式执行时,功耗调节器可以实时监测电压域的状态,在确定某个时刻的状态满足预设的触发条件时,按照如下实施例中的步骤调节电压域中各处理器核心的频率和电压;当按照周期方式+触发方式执行时,功耗调节器每隔一个预设的周期时长监测一次电压域的状态,如果监测到的状态满足预设的触发条件,则可以按照如下实施例中的步骤调节电压域中各处理器核心的频率和电压,如果监测到的状态不满足预设的触发条件,则退出监测,并等待下一个预设的周期来临后重新监测。关于周期方式和/或触发方式的具体实现过程,请参照如下实施例,此处先不作介绍。
【实施例一】
图3示例性示出本申请实施例提供的一种功耗调节方法对应的流程示意图,该方法适用于功耗调节器,例如图1所示意的功耗调节器14。图3示例性介绍功耗调节器的一次功 耗调节过程,如图3所示,该方法包括:
步骤301,功耗调节器获取处理器中的第一电压域的当前功耗。
在上述步骤301中,第一电压域的当前功耗可以是指位于第一电压域中的各个处理器核心的当前总功耗,也可以是指位于第一电压域中的各个处理器核心的当前平均功耗,还可以是指位于第一电压域中的各处理器核心的当前最高功耗,具体不作限定。
下面以第一电压域的当前功耗为第一电压域中的各处理器核心的当前总功耗为例,示例性地介绍一种获取第一电压域的当前总功耗的实现方案:
继续参照图1所示,每个处理器核心中还可以设置有功耗感应器,各个处理器核心中的功耗感应器分别连接功耗调节器14,例如处理器核心10中设置有功耗感应器102,处理器核心11中设置有功耗感应器112,处理器核心12中设置有功耗感应器122,处理器核心13中设置有功耗感应器132,功耗感应器102、功耗感应器112、功耗感应器122和功耗感应器132分别通过总线连接功耗调节器14。在实施中,每个处理器核心中的功耗感应器可以在当前采样时段内累加该处理器核心所消耗的功耗,直至到达当前采样时段的上报时刻时,将该处理器核心在当前采样时段内消耗的功耗上报给功耗调节器14,进而在下一采样时段内重新累加该处理器核心所消耗的功耗并等待上报。而功耗调节器14在接收到各个处理器核心上报的功耗后,可以先从各个处理器核心中确定出属于第一电压域的各个目标处理器核心,然后累加各个目标处理器核心在当前采样时段内各自消耗的功耗,获得第一电压域的当前总功耗。
可以理解的,上述内容实际上是在每个处理器核心中设置功耗感应器,以确定每个处理器核心的当前功耗,这仅是一种可选地实施方式。在另一种可选地实施方式中,也可以在两个或两个以上的处理器核心中设置共享的功耗感应器,例如直接在第一电压域中设置一个供第一电压域中的全部处理器核心共享的功耗感应器,由该功耗感应器累加第一电压域中的全部处理器核心在一个采样时段内所消耗的总功耗后执行上报操作。如此,功耗调节器所接收到的功耗即为第一电压域的当前总功耗。由此可知,无论是在每个处理器核心中设置单独的功耗感应器,还是在一个电压域中设置共享的功耗感应器,都能通过功耗感应器以直接采样的方式获得电压域的当前功耗,有助于提高获取当前功耗的准确度。
在上述实现方案中,如果功耗调节器是按照周期方式执行功耗调节方法,则当前采样时段可以对应为一个预设的周期时段,功耗感应器可以按照预设的周期采样处理器核心或第一电压域在每个周期时段内消耗的功耗,并主动上报给功耗调节器。或者,如果功耗调节器是按照上述触发方式执行功耗调节方法,则当前采样时段可以对应为自上一次触发时刻至当前触发时刻之间的时段,功耗调节器在确定第一电压域在某一时刻下的状态满足预设的触发条件后,可以向功耗感应器发出请求消息,以请求功耗感应器将上一次接收到请求消息的时刻开始至当前时刻内所采集到的功耗发送给功耗调节器。或者,如果功耗调节器是按照上述周期方式+触发方式执行功耗调节方法,则:当前采样时段可以对应为一个预设的周期时段,功耗感应器按照预设的周期时段向功耗调节器主动上报功耗,而功耗调节器在每个周期内接收到功耗后,还需要判断第一电压域的状态是否满足预设的触发条件,若是,则根据该周期内接收到的功耗确定当前功耗,若否,则继续等待功耗感应器的下一次上报,直至某一次上报后并确定第一电压域的状态满足预设的触发条件时,功耗调节器根据上一次触发之后所接收到的全部的功耗确定当前功耗;或者,当前采样时段也可以对应为自上一次触发时刻至当前触发时刻之间的时段,与上述触发方式的区别在于功耗调节 器按照预设的周期监测第一电压域是否触发功耗调节策略,因此当前采样时段的时长对应为预设的周期时长的倍数。
示例性地,预设的触发条件可以是如下内容中的至少一项:
内容一,第一电压域的温度大于预设的温度阈值。其中,第一电压域的温度可以是位于第一电压域中的各个处理器核心的平均温度或最高温度。优选地,可以设置为各个处理器核心的最高温度,以便利用第一电压域中当前温度环境最为严峻的处理器核心,来统一调节第一电压域中各个处理器核心的功耗,实现降低各个处理器核心温度的目的,有效提高第一电压域中各个处理器核心的安全性。其中,预设的温度阈值是指需要进行功耗调节的最低温度,可以由本领域技术人员根据经验进行设置,也可以根据实验先验得到,通常可以设置为75°至80°之间的一个温度。
内容二,第一电压域的负载大于预设的负载阈值。其中,第一电压域的负载可以是位于第一电压域中的各个处理器核心的总负载、平均负载或最高负载。优选地,可以设置为各个处理器核心的总负载,以便参照第一电压域的整体负载情况,来均衡调节位于第一电压域中的各个处理器核心各自的功耗,达到均衡第一电压域的负载分配的目的。
内容三,第一电压域的功耗大于预设的功耗阈值。其中,第一电压域的功耗可以是位于第一电压域中的各个处理器核心的总功耗、平均功耗或最高功耗。优选地,可以设置为各个处理器核心的总功耗,以便在第一电压域的总功耗较大时,通过集中调节第一电压域中各个处理器核心的功耗,达到降低第一电压域的整体功耗的目的。
在上述示例中,通过为功耗调节方案设置触发条件,使得功耗调节器能只在满足该触发条件(如温度较高、负载较重或功耗较高)时才执行功耗调节,在不满足该触发条件时可以不执行功耗调节,有助于在实现必要的调节操作的同时,节省不必要的资源浪费。
步骤302,功耗调节器根据第一电压域的当前功耗,确定第一电压域在各个对应的频率和电压下的参考功耗。
在上述步骤302中,第一电压域的频率、电压和功耗可以具有预设的相关关系,功耗调节器在除了获取第一电压域的当前功耗之外,还可以获取第一电压域的当前频率和当前电压(例如可以由功耗感应器在上报当前功耗的同时将当前频率和当前电压上报给功耗调节器,也可以由功耗调节器通过与调频执行器和调压执行器的交互获取当前频率和当前电压,具体不作限定),进而根据第一电压域的当前频率、当前电压和当前功耗,按照上述预设的相关关系,折算出第一电压域在各个对应的其它频率和其它电压下的参考功耗。其中,第一电压域中各个对应的其它频率和其它电压可以是如下任一种:
第一种,预先设置的固定频率和固定电压;
第二种,根据预设的间隔粒度和档位数量推算得到的,例如当频率对应的间隔粒度为10KHz、电压对应的间隔粒度为0.1V时,如果当前频率为200KHz、当前电压为2.5V,档位数量为7,则各个对应的其它频率和其它电压可以为:对应的170KHz和2.2V、对应的180KHz和2.3V、对应的190KHz和2.4V、对应的200KHz和2.5V、对应的210KHz和2.6V、对应的220KHz和2.7V、对应的230KHz和2.8V;
第三种,根据预设的间隔粒度、频率上限和频率下限推算得到的,例如当频率对应的间隔粒度为10KHz、电压对应的间隔粒度为0.1V时,如果当前频率为200KHz、当前电压为2.5V,频率上限为225KHz,频率下限为155KHz,则各个对应的其它频率和其它电压可以为:对应的160KHz和2.1V、对应的170KHz和2.2V、对应的180KHz和2.3V、 对应的190KHz和2.4V、对应的200KHz和2.5V、对应的210KHz和2.6V、对应的220KHz和2.7V;
第四种,根据预设的间隔粒度、电压上限和电压下限推算得到的,例如当频率对应的间隔粒度为10KHz、电压对应的间隔粒度为0.1V时,如果当前频率为200KHz、当前电压为2.5V,电压上限为3.05V,电压下限为2.15V,则各个对应的其它频率和其它电压可以为:对应的170KHz和2.2V、对应的180KHz和2.3V、对应的190KHz和2.4V、对应的200KHz和2.5V、对应的210KHz和2.6V、对应的220KHz和2.7V、对应的230KHz和2.8V、对应的240KHz和2.9V、对应的250KHz和3.0V。
应理解,不同电压域中的各个对应的其它频率和其它电压可以相同,也可以不同。即使不同电压域中设置一样的推算规则,由于不同电压域在同一时刻对应的当前电压和当前频率可能并不相同,也可能会导致推算出的其它频率和其它电压不相同。
在一种可选地实施方式中,功耗调节器还可以维护一个实时功耗模型表,实时功耗模型表用于存储第一电压域中的各个对应的频率和电压,以便功耗调节器能直接按照该表中存储的各个对应的频率和电压折算对应的各个参考功耗。图4示例性示出本申请实施例提供的一种实时功耗模型表的填表流程示意图,假设各个对应的其它频率和其它电压为上述第三种,则图4中(A)示意出未填表状态下的实时功耗模型表,图4中(B)示意出根据当前频率和当前电压推算并填入各个其它频率和其它电压后的实时功耗模型表,图4中(C)示意出根据当前频率、当前电压和当前功耗折算并填入各个其它频率和其它电压对应的参考功耗后的实时功耗模型表。参照图4中(A)至图4中(C)所示,实时功耗模型表的第一列对应为频率,第二列对应为电压,第三列对应为参考功耗:
如图4中(A)所示,在未填表状态下,实时功耗模型表在第一列的第二行处填写有一个规定的频率下限F
X,在第一列的最后一行处填写有一个规定的频率上限F
Y,其它格内均为空白;
如图4中(B)所示,在获取到当前频率F
I、当前电压V
I和当前功耗P
I后,功耗调节器将当前频率F
I、当前电压V
I和当前功耗P
I填入实时功耗模型表的对应位置,然后根据当前频率F
I和当前电压V
I,按照预设的间隔粒度,推算出位于频率上限F
X和频率下限F
Y所限定范围内的各个其它频率及其它电压,并填入实时功耗模型表。此时的实时功耗模型表的第一列中各行的频率都被填入,第二列中除了第二行和最后一行未被填入外,其它各行的电压均被填入,第三列中除了当前功耗所在的行被填入外,其它各行均未填入;
如图4中(C)所示,功耗调节器根据当前频率F
I、当前电压V
I和当前功耗P
I,按照预设的相关关系,折算出每个其它频率和其它电压对应的参考功耗,并填入实时功耗模型表。关于如何折算对应的其它频率和其它电压下的参考功耗,具体将在如下实施例二中进行介绍,此处先不作说明。在填入各个其它频率和其它电压对应的参考功耗后,实时功耗模型表的第三列中除了第二行和最后一行未被填入外,其它各行的参考功耗均被填入,至此,功耗调节器获得更新后的实时功耗模型表。
需要指出的是,图4中(A)至图4中(C)示出的是第一次填写实时功耗模型表时的更新过程,在第一次更新完成后,实时功耗模型表中的各项内容基本被填满,因此,后续的更新操作可以是对实时功耗模型表中已被填入的数据进行修改,也可以是先清空实时功耗模型表后再填入新的数据,不作限定。另外,当功耗调节器按照周期方式调节功耗时,功耗调节器每隔一个预设的周期时长,即可根据当前周期内获取到的第一电压域的当前功 耗刷新一次实时功耗模型表。当功耗调节器按照触发方式调节功耗时,功耗调节器每监测到第一电压域的状态满足预设的触发条件,则可以暂时中断当前的工作进程,并根据获取到的第一电压域的当前功耗刷新实时功耗模型表,之后继续恢复当前的工作进程。
应理解,本申请实施例中的功耗模型表可以存储在处理器的存储单元(例如图1中的外部缓存器或内部存储器)中,功耗调节器可以通过访问存储单元,执行获取功耗模型表、填写功耗模型表、修改功耗模型表中的数据、以及删除功耗模型表等操作。其中,存储单元可以是单个存储器或存储器组,也可以是单个寄存器、寄存器组或寄存器堆。存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。应注意,本文描述的方法的存储单元旨在包括但不限于这些和任意其它适合类型的存储器。
步骤303,功耗调节器参照第一电压域在各个对应的频率和电压下的参考功耗,调节位于第一电压域中的各个处理器核心的频率和电压。
在上述步骤303中,功耗调节器可以按照多种方式调节频率和电压,例如在一种方式下,功耗调节器可以先利用第一电压域在各个历史时段内的历史功耗,预测第一电压域在未来一段时间的未来功耗,然后根据预测的未来功耗查找如图4中(C)所示出的各个参考功耗,以从各个参考功耗中找到不大于未来功耗的最大的目标参考功耗。假设目标参考功耗为P
2,则功耗调节器可以按照目标参考功耗P
2所对应的频率F
2和电压V
2调节第一电压域的频率和电压。又如,在另一种方式下,功耗调节器也可以根据处理器中各个电压域所包含的处理器核心的温度和负载等情况为各个电压域分配功耗,在确定为第一电压域分配的预算功耗后,根据预算功耗查找如图4中(C)所示出的各个参考功耗,以找到不大于预算功耗的最大的目标参考功耗,并按照上述方式调节第一电压域的频率和电压。又如,在又一种方式下,功耗调节器还可以根据第一电压域所包含的处理器核心的温度和负载等情况直接确定第一电压域的预算功耗,根据预算功耗按照上述方式调节第一电压域的频率和电压。可能的实现方式有很多,此处不再一一赘述。
示例性地,在图4中(C)所示出的各个参考功耗中查找时,考虑到图示由上向下的参考功耗依次增大,而要查找的目标参考功耗为小于或等于未来功耗或预算功耗的最大参考功耗,因此功耗调节器可以从图4中(C)所示出的第三列的倒数第二行开始,从下向上查找,直至找到小于或等于未来功耗或预算功耗的参考功耗时,将该参考功耗作为目标参考功耗。当然,功耗调节器也可以从图4中(C)所示出的第三列的第三行开始,从上向下依次查找,直至找到大于未来功耗或预算功耗的参考功耗时,将位于该参考功耗上一行的参考功耗作为目标参考功耗。
示例性地,继续参照图1和图2所示,假设第一电压域为电压域2,由于电压域2中包含处理器核心11和处理器核心12,因此功耗调节器14按照目标参考功耗P
2所对应的频率F
2和电压V
2调节第一电压域的频率和电压的具体实现过程包括:功耗调节器14根据频率F
2生成调频指令,并将调频指令发送给处理器核心11中的调频执行器111和处理器核心12中的调频执行器121,以指示调频执行器111将处理器核心11的频率调节为频率F
2,指示调频执行器121将处理器核心12的频率调节为频率F
2;功耗调节器14根据电压V
2生成调压指令,并将调压指令发送给调压执行器152,以指示调压执行器152将电压域2的工作电压调节为电压V
2,电压域2的工作电压V
2用于输入给处理器核心11和处理器核心12。
应理解,本申请实施例中的功耗调节器除了可以调节频率和电压之外,还可以调节其它能够影响功耗状态的参数,例如电流等,本申请对此不作具体限定。
在上述实施例一中,通过参照第一电压域的当前功耗确定用于对第一电压域中的处理器核心进行调频调压的参考功耗,使得参考功耗能准确匹配第一电压域中的处理器核心在当前时刻的真实需求,进而有助于使基于参考功耗所调节的频率和电压满足处理器核心的真实需求,有效提高调频调压的准确性。且,通过按照第一电压域的当前功耗调节第一电压域中的各处理器核心的频率和电压,还能使处理器核心的频率随着所在电压域的功耗状态的变化而灵活变化,从而还有助于提高调频调压的灵活性。
下面基于实施例二,进一步介绍本申请中的功耗调节方法的具体实现。
【实施例二】
图5示例性示出本申请实施例提供的另一种功耗调节方法对应的流程示意图,该方法适用于功耗调节器,例如图1所示意的功耗调节器14。图5示例性介绍功耗调节器的一次功耗调节过程,如图5所示,该方法包括:
步骤501,功耗调节器获取各个处理器核心的温度。
示例性地,继续参照图1所示,每个处理器核心中还可以设置有温度感应器,例如处理器核心10中设置有温度感应器103,处理器核心11中设置有温度感应器113,处理器核心12中设置有温度感应器123,处理器核心13中设置有温度感应器133,温度感应器103、温度感应器113、温度感应器123和温度感应器133分别通过总线连接功耗调节器14。在实施中,各个处理器核心中设置的温度感应器都可以按照预设的采样周期采样各个处理器核心的温度,并通过总线将采样的温度发送给功耗调节器14。该示例能通过测量方式直接获取各处理器核心的温度,有助于提高获取温度的准确性。
应理解,上述示例实际上是在每个处理器核心中设置温度感应器以确定每个处理器核心的温度,这仅是一种可选地实施方式。在另一种可选地实施方式中,也可以在两个或两个以上的处理器核心中设置共享的温度感应器,该方式下,由于温度感应器采样的温度值可能是两个或两个以上的处理器核心中的某一点的温度值,因此功耗调节器后续还可以按照某种策略补偿温度感应器采样的温度,以得到每个处理器核心的温度。关于具体使用何种策略,可以由本领域技术人员根据经验进行设置,此处不再介绍。
步骤502,功耗调节器判断位于第一电压域中的处理器核心的最高温度是否大于预设的温度阈值,若是,则执行步骤503,若否,则执行步骤502。
在上述步骤502中,当第一电压域中的全部处理器核心的温度都不大于预设的温度阈 值时,意味着第一电压域的当前温度较低,第一电压域的当前温度与期望温度的温度差较大,即使第一电压域中的处理器核心按照较大频率和较大电压执行工作,也大概率不会使其温度突增到不安全的状态。该情况下,功耗调节器可以结束对第一电压域的分析,并继续监控第一电压域的温度,直至确定第一电压域中某一处理器核心的温度达到预设的温度阈值时,开启对第一电压域的功耗调节。该方式不仅能在第一电压域中的处理器核心到达不安全的温度状态时,及时调节第一电压域中全部处理器核心的功耗,还能尽量避免功耗调节器不必要的资源浪费。
步骤503,功耗调节器获取第一电压域的当前功耗、当前频率和当前电压。
示例性地,假设每个处理器核心中都设置有功耗感应器,则功耗调节器可以接收每个处理器核心中的功耗感应器上报的功耗,进而累加位于第一电压域中的各个处理器核心所上报的功耗,作为第一电压域的当前功耗。其中,功耗感应器可以包括静态功耗感应器和动态功耗感应器,静态功耗感应器在当前采样时段内采样并上报处理器核心的静态功耗,以便功耗调节器累加得到第一电压域的当前静态功耗,而动态功耗感应器在当前采样时段内采样并上报处理器核心的动态功耗,以便功耗调节器累加得到第一电压域的当前动态功耗。其中,静态功耗感应器的采样过程具体可以为:静态功耗感应器内维护一个预设的静态功耗模型(具体可以由预设的静态功耗、频率、电压和温度的对应关系表示),静态功耗感应器感应处理器核心在每个瞬时时段内的瞬时频率、瞬时电压和瞬时温度,并输入静态功耗模型以获得输出的瞬时静态功耗,进而累加处理器核心在当前采样时段内的每个瞬时时段的瞬时静态功耗,获得处理器核心在当前采样时段内的静态功耗。动态功耗感应器的采样过程具体可以为:动态功耗感应器实时监测处理器核心中所出现的信号的行为,根据处理器核心在当前采样时段内出现的信号的各个行为,统计得到处理器核心在当前采样时段内的动态功耗。
进一步地,假设每个处理器核心中都设置有频率执行器,且每个电压域中都设置有电压执行器,则功耗调节器还可以通过与位于第一电压域中的任一处理器核心中的频率执行器进行通信,以获得第一电压域的当前频率,以及与第一电压域中设置的电压执行器进行通信,以获得第一电压域的当前电压。或者,假设每个电压域中都设置有共享的频率执行器和电压执行器,则功耗调节器还可以通过与位于第一电压域中的频率执行器进行通信,以获得第一电压域的当前频率,以及与第一电压域中设置的电压执行器进行通信,以获得第一电压域的当前电压。
步骤504,功耗调节器根据第一电压域的当前功耗、当前频率和当前电压,按照预设的功耗、频率和电压的对应关系,预测第一电压域在各个对应的频率和电压下的各个参考功耗。其中,预设的功耗、频率和电压的对应关系可以由本领域技术人员根据经验进行设置,也可以根据实验进行先验得到,具体不作限定。
在一种可选地实施方式中,预设的功耗、频率和电压的对应关系中可以包括预设的动态功耗、频率和电压的对应关系,预设的动态功耗、频率和电压的对应关系通常满足如下公式(1.1):
P
DFV
2=C……(1.1)
其中,P
D为动态功耗,F为频率,V为电压,C为常数。
基于上述公式(1.1)可知,动态功耗、频率和电压的平方的乘积保持为常数,因此,如果当前动态功耗为P
ID,当前频率为F
I,当前电压为V
I,则任一对应的频率F
J和电压V
J 所对应的动态功耗P
JD可以满足如下公式(1.2):
如此,功耗调节器在累加得到第一电压域的当前动态功耗P
ID后,根据当前动态功耗P
ID、当前频率F
I和当前电压V
I,按照上述公式(1.2),可以折算出第一电压域在如图4中(B)所示意的每个对应的频率和电压下的动态功耗P
1D、P
2D、……、P
KD。
更进一步的,功耗调节器在累加得到第一电压域的当前静态功耗P
IS后,可以直接将当前静态功耗P
IS作为第一电压域在如图4中(B)所示意的每个对应的频率和电压下的静态功耗P
1S、P
2S、……、P
KS,并加和每个对应的频率和电压下的动态功耗和静态功耗,得到每个对应的频率和电压下的参考功耗(即P
1=P
1D+P
1S,P
2=P
2D+P
2S,……、P
K=P
KD+P
KS),进而使用各个对应的频率和电压下的参考功耗刷新图4中(B)所示意的实时功耗模型表,获得如图4中(C)所示意的更新的实时功耗模型表。
需要指出的是,直接将当前静态功耗作为第一电压域在每个对应的频率和电压下的静态功耗,可以无需再耗费资源执行静态功耗的折算工作,能更快地确定出参考功耗,有助于提高功耗调节的效率,但这仅是一种可选地实施方式。在另一种可选地实施方式中,预设的功耗、频率和电压的对应关系中还可以包括预设的静态功耗、频率、电压和温度的对应关系,该对应关系是采用静态漏电流(quiescent supply current,IDDQ)测试方案提前测试无负载状态下的第一电压域而得到的,通常还可以包含第一电压域的静态路径,该静态路径用于表征第一电压域在无负载时由于内部各器件的漏电所导致的固有功耗,一般为常数。在实施中,功耗调节器在累加得到第一电压域的当前静态功耗P
IS后,根据当前静态功耗P
IS、当前频率F
I、当前电压V
I和当前温度T
I,按照预设的静态功耗、频率、电压和温度的对应关系,可以折算出第一电压域在每个对应的频率和电压下的静态功耗P
1S、P
2S、……、P
KS,进而按照上述方式加和每个对应的频率和电压下的动态功耗和静态功耗,得到每个对应的频率和电压下的参考功耗。该实施方式利用预设的对应关系折算静态功耗,能计算出每个对应的频率和电压下的更为准确的静态功耗,有助于提高功耗调节的准确性。
步骤505,功耗调节器确定第一电压域的预算功耗。
在上述步骤505中,功耗调节器可以通过如下任一方式确定第一电压域的预算功耗:
确定方式一,功耗调节器将第一电压域中各个处理器核心的当前温度、以及各个处理器核心的当前温度和历史温度的温度变化量代入比例积分微分(proportion integral derivative,PID)控制算法,以获得该PID控制算法输出的第一电压域的预算功耗。其中,PID控制算法在逻辑上对应为一个数学表达式,该数学表达式的因变量为预算功耗,自变量为各个处理器核心的当前温度和温度变化量,数学表达式中的各个参数可以包括比例参数、积分参数和微分参数,这些参数是在期望温度的基础上预先根据多次实验归纳得到的。在PID控制算法中,如果各个处理器核心的当前温度与期望温度的偏差值为正值,则第一电压域会对应更小的预算功耗,以期在当前温度大于期望温度的情况下,通过降低处理器核心的功耗来减少处理器核心的产热,尽量使处理器核心的温度向期望温度靠拢。如果各个处理器核心的当前温度与期望温度的偏差值为负值,则第一电压域会对应更大的预算功耗,以期在当前温度小于期望温度的情况下,通过增大处理器核心的功耗来提高处理器核心的处理性能。
确定方式二,功耗调节器预先根据多次实验归纳出第一电压域的温度和最佳的预期功 耗的对应关系(例如对应关系表或对应关系图),如此,功耗调节器根据第一电压域的当前温度,直接查询该对应关系即可得到当前温度对应的最佳的预算功耗。
确定方式三,功耗调节器将处理器中的各个处理器核心的当前温度、以及各个处理器核心的当前温度和历史温度的温度变化量代入PID控制算法,以获得该PID控制算法输出的处理器的总预算功耗,之后根据第一电压域的当前功耗、以及处理器中包含的各个电压域的当前总功耗,确定第一电压域的当前功耗占据处理器的当前总功耗的比例,将该比例作为第一电压域对应的功耗分配比例,按照该功耗分配比例分配处理器的总预算功耗,得到第一电压域对应的预算功耗。
应理解,上述内容只是示例性介绍几种确定预算功耗的可能方式,在实际操作中还可以选择其它的确定方式,例如也可以直接获取操作系统下发的第一电压域的预算功耗,或者也可以获取操作系统下发的上述确定方式三中所需的总预算功耗,或者获取操作系统下发的上述确定方式三中所需的功耗分配比例,然后按照上述确定方式三执行后续操作,等等,本申请对此不作具体限定。
步骤506,功耗调节器从各个参考功耗中查找不大于第一电压域的预算功耗的最大参考功耗:
当各个参考功耗中存在不大于预算功耗的最大参考功耗时,查找成功,执行步骤507;
当各个参考功耗都大于预算功耗时,查找失败,执行步骤508。
步骤507,功耗调节器参照不大于预算功耗的最大参考功耗对应的频率和电压,调节位于第一电压域中的各个处理器核心的频率和电压。
在上述步骤506和步骤507中,由于各个参考功耗是根据第一电压域的当前功耗折算得到的,因此各个参考功耗能体现第一电压域在当前时刻的真实需求,如此,通过参照不大于预算功耗的最大参考功耗来调节第一电压域的功耗,能在保证第一电压域的总功耗不超过预算功耗(也即是满足温控需求)的情况下,尽量让第一电压域的总功耗最大,有助于充分利用第一电压域的功耗裕量来提高第一电压域的处理性能。实验证明,与现有方案中基于实验或人为经验设置的参考功耗比较来说,在第一电压域的总功耗预算相同的情况下,本申请中的功耗调解方法不仅能将第一电压域的总功耗控制在预算功耗内,还能提升第一电压域的5~10%的处理性能。
步骤508,功耗调节器参照各个参考功耗中的最小参考功耗对应的频率和电压,调节位于第一电压域中的各个处理器核心的频率和电压。
在上述步骤506和步骤508中,当全部的参考功耗都大于预算功耗时,意味着第一电压域的当前功耗非常高,第一电压域可能长时间处于高频高压状态,因此,通过使用各个参考功耗中的最小参考功耗来调节第一电压域的功耗,实际上能对第一电压域进行降频降压处理,缓解第一电压域长时间的高压高频状态,尽量避免第一电压域出现过流或过热的现象。
在上述实施例二中,通过利用第一电压域的当前功耗、当前频率和当前电压折算出第一电压域在对应的其它频率和其它电压下的参考功耗,能基于第一电压域的真实需求设置参考功耗,以便使用满足真实需求的参考功耗准确调节第一电压域的频率和电压。且,通过利用当前功耗折算用于在当前场景下进行调压调频的参考功耗,还能使调节结果适用于第一电压域的当前场景,有助于使种功耗调节方案兼容于各种可能场景。此外,通过使用参考功耗中不大于预算功耗的最大参考功耗进行调压调频,还有助于在保证第一电压域的 总功耗不超过预算功耗的情况下,充分利用第一电压域的功率裕量,尽量提高第一电压域的处理性能。
需要说明的是,上述实施例一和实施例二都是以电压域为基本单元,将处于同一电压域中的各个处理器核心的频率和电压调节至一致,这种方式能充分均衡电压域中的各个处理器核心的功耗。应理解,在另一种实施方式中,也可以以处理器核心为调频调压的基本单元,每个处理器核心单独维护一个实时功耗模型表,在按照上述实施例一或实施例二中的方法确定出处于同一电压域中的各个处理器核心各自的电压和频率后,可以将该电压域的电压调节为其中的最大电压。且,考虑到电压增大后,如果其它处理器核心的频率仍然较小,则很可能会造成电能的浪费,因此如果第一电压域的温度允许的话,则还可以同步提高其它处理器核心的频率,以充分利用第一电压域中的可用电能提高其它处理器核心的处理能力。或者,在又一种实施方式中,也可以以处理单元为调频调压的基本单元,按照上述实施例一或实施例二中的方法,将处于一个处理单元的各个电压域中的全部处理器核心的电压和频率都调节为一致。可能的扩展方案有很多,本申请对此不再一一列举。
根据前述方法,图6为本申请实施例提供的功耗调节器600的结构示意图,该功耗调节器600可以为芯片或电路,比如可设置于处理器中的芯片或电路。该功耗调节器600可以对应上述方法中的功耗调节器14。该功耗调节器600可以实现如上图3或图5中所示的任一项或任多项对应的方法的步骤。如图6所示,该功耗调节器600可以包括监测电路601和处理电路602。进一步的,该功耗调节器600还可以包括总线系统,监测电路601和处理电路602可以通过总线系统连接。且,监测电路601还可以通过总线系统与每个处理器核心的功耗感应器和温度感应器连接,处理电路602还可以通过总线系统与每个处理器核心的调节执行器以及每个电压域中的电压执行器连接。
本申请实施例中,监测电路601可以通过每个处理器核心的功耗感应器,获取处理器中的第一电压域的当前功耗。对应的,处理电路602可以根据第一电压域的当前功耗确定第一电压域在各个对应的频率和电压下的参考功耗,然后参照第一电压域在各个对应的频率和电压下的参考功耗,调节位于第一电压域中的各个处理器核心的频率和电压。
该功耗调节器600所涉及的与本申请实施例提供的技术方案相关的概念,解释和详细说明及其他步骤请参见前述方法或其他实施例中关于这些内容的描述,此处不做赘述。
根据前述方法,图7为本申请实施例提供的又一种功耗调节器700的结构示意图,该功耗调节器700可以为芯片或电路,比如可设置于处理器中的芯片或电路。该功耗调节器700可以对应上述方法中的功耗调节器14。该功耗调节器700可以实现如上图3或图5中所示的任一项或任多项对应的方法的步骤。如图7所示,该功耗调节器700可以包括获取单元701、确定单元702和调节单元703。
本申请实施例中,获取单元701在接收信息时可以为接收单元或接收器,此接收单元或接收器可以为射频电路。具体实施中,获取单元701可以获取处理器中的第一电压域的当前功耗,确定单元702可以根据第一电压域的当前功耗确定第一电压域在各个对应的频率和电压下的参考功耗,调节单元703可以参照第一电压域在各个对应的频率和电压下的参考功耗,调节位于第一电压域中的各个处理器核心的频率和电压。
该功耗调节器700所涉及的与本申请实施例提供的技术方案相关的概念,解释和详细说明及其他步骤请参见前述方法或其他实施例中关于这些内容的描述,此处不做赘述。
可以理解的是,上述功耗调节器700中各个单元的功能可以参考相应方法实施例的实 现,此处不再赘述。
应理解,以上功耗调节器700的单元的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。本申请实施例中,获取单元701可以由上述图6的监测电路601实现,确定单元702和调节单元703可以由上述图6的处理电路602实现。
根据本申请实施例提供的方法,本申请还提供一种计算机程序产品,该计算机程序产品包括:计算机程序代码,当该计算机程序代码在计算机上运行时,使得该计算机执行图1至图5所示实施例中任意一个实施例的方法。
根据本申请实施例提供的方法,本申请还提供一种计算机可读存储介质,该计算机可读介质存储有程序代码,当该程序代码在计算机上运行时,使得该计算机执行图1至图5所示实施例中任意一个实施例的方法。
根据本申请实施例提供的方法,本申请还提供一种电子设备,该电子设备包括处理器,处理器与存储器耦合,处理器用于执行存储器中存储的计算机程序,以使得该电子设备执行图1至图5所示实施例中任意一个实施例的方法。
在本说明书中使用的术语“部件”、“模块”、“系统”等用于表示计算机相关的实体、硬件、固件、硬件和软件的组合、软件、或执行中的软件。例如,部件可以是但不限于,在处理器上运行的进程、处理器、对象、可执行文件、执行线程、程序和/或计算机。通过图示,在计算设备上运行的应用和计算设备都可以是部件。一个或多个部件可驻留在进程和/或执行线程中,部件可位于一个计算机上和/或分布在两个或更多个计算机之间。此外,这些部件可从在上面存储有各种数据结构的各种计算机可读介质执行。部件可例如根据具有一个或多个数据分组(例如来自与本地系统、分布式系统和/或网络间的另一部件交互的二个部件的数据,例如通过信号与其它系统交互的互联网)的信号通过本地和/或远程进程来通信。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各种说明性逻辑块(illustrative logical block)和步骤(step),能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各 个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (18)
- 一种功耗调节方法,其特征在于,所述方法包括:获取处理器中的第一电压域的当前功耗;根据所述当前功耗,确定所述第一电压域在各个对应的频率和电压下的参考功耗;参照所述第一电压域在各个对应的频率和电压下的参考功耗,调节位于所述第一电压域中的各个处理器核心的频率和电压。
- 如权利要求1所述的方法,其特征在于,所述获取处理器中的第一电压域的当前功耗之前,还包括:确定位于所述第一电压域中的处理器核心的最高温度大于预设的温度阈值。
- 如权利要求1或2所述的方法,其特征在于,所述根据所述当前功耗,确定所述第一电压域在各个对应的频率和电压下的参考功耗,包括:获取所述第一电压域的当前频率和当前电压;根据所述当前功耗、所述当前频率和所述当前电压,按照预设的功耗、频率和电压的对应关系,预测所述第一电压域在每个对应的频率和电压下的所述参考功耗。
- 如权利要求3所述的方法,其特征在于,所述预设的功耗、频率和电压的对应关系包括预设的动态功耗、频率和电压的对应关系;所述根据所述当前功耗、所述当前频率和所述当前电压,按照预设的功耗、频率和电压的对应关系,预测所述第一电压域在每个对应的频率和电压下的所述参考功耗,包括:根据所述当前功耗中的动态功耗、所述当前频率和所述当前电压,按照所述预设的动态功耗、频率和电压的对应关系,计算出所述第一电压域在每个对应的频率和电压下的动态功耗;加和所述当前功耗中的静态功耗和所述第一电压域在每个对应的频率和电压下的动态功耗,得到所述第一电压域在每个对应的频率和电压下的所述参考功耗。
- 如权利要求3所述的方法,其特征在于,所述预设的功耗、频率和电压的对应关系包括预设的动态功耗、频率和电压的对应关系,以及预设的静态功耗、频率、电压和温度的对应关系;所述根据所述当前功耗、所述当前频率和所述当前电压,按照预设的功耗、频率和电压的对应关系,预测所述第一电压域在每个对应的频率和电压下的所述参考功耗,包括:根据所述当前功耗中的动态功耗、所述当前频率和所述当前电压,按照所述预设的动态功耗、频率和电压的对应关系,计算出所述第一电压域在每个对应的频率和电压下的动态功耗;获取所述第一电压域的当前温度,根据所述当前功耗中的静态功耗、所述当前频率、所述当前电压和所述当前温度,按照所述预设的静态功耗、频率、电压和温度的对应关系,计算出所述第一电压域在所述当前温度下的每个对应的频率和电压下的静态功耗;加和所述第一电压域在每个对应的频率和电压下的动态功耗和静态功耗,得到所述第一电压域在每个对应的频率和电压下的所述参考功耗。
- 如权利要求1至5任一项所述的方法,其特征在于,所述参照所述第一电压域在各个对应的频率和电压下的参考功耗,调节位于所述第一电压域中的各个处理器核心的频率和电压,包括:确定所述第一电压域的预算功耗;从各个参考功耗中获得不大于所述预算功耗的最大参考功耗;按照所述最大参考功耗对应的频率和电压,调节位于所述第一电压域中的各个处理器核心的频率和电压。
- 如权利要求6所述的方法,其特征在于,所述方法还包括:若所述各个参考功耗都大于所述预算功耗,则从所述各个参考功耗中获得最小参考功耗,按照所述最小参考功耗对应的频率和电压,调节位于所述第一电压域中的各个处理器核心的频率和电压。
- 一种处理器,其特征在于,包括功耗调节器、位于第一电压域中的M个处理器核心、以及连接所述M个处理器核心的功耗感应器,所述功耗调节器还连接所述功耗感应器;其中,M为正整数;所述功耗感应器,用于将所连接的处理器核心的功耗发送给所述功耗调节器;所述功耗调节器,用于根据所述功耗感应器发送的所述功耗,获得所述第一电压域的当前功耗,根据所述当前功耗,确定所述第一电压域在各个对应的频率和电压下的参考功耗,参照所述第一电压域在各个对应的频率和电压下的参考功耗,调节所述M个处理器核心的频率和电压。
- 如权利要求8所述的处理器,其特征在于,所述功耗感应器的数量为M个,所述M个功耗感应器与所述M个处理器核心一一连接;所述功耗调节器,具体用于通过加和所述M个处理器核心发送的M个功耗,获得所述第一电压域的当前功耗。
- 如权利要求8或9所述的处理器,其特征在于,所述处理器还包括一一连接所述M个处理器核心的M个温度感应器,所述功耗调节器还连接所述M个温度感应器;连接任一处理器核心的所述温度感应器,用于将所连接的处理器核心的温度发送给所述功耗调节器;所述功耗调节器,还用于在获取处理器中的第一电压域的当前功耗之前,确定所述M个处理器核心的最高温度大于预设的温度阈值。
- 如权利要求8至10任一项所述的处理器,其特征在于,所述处理器还包括分别连接所述M个处理器核心的调频执行器和调压执行器,所述功耗调节器还连接所述调频执行器和所述调压执行器;所述功耗调节器,具体用于参照所述第一电压域在各个对应的频率和电压下的参考功耗,确定所述M个处理器核心的目标频率和目标电压,根据所述目标频率生成调频指令并发送给所述调频执行器,根据所述目标电压生成调压指令并发送给所述调压执行器;所述调频执行器,用于根据所述调频指令将所述M个处理器核心的频率调节为所述目标频率;所述调压执行器,用于根据所述调压指令将所述M个处理器核心的电压调节为所述目标电压。
- 如权利要求8至10任一项所述的处理器,其特征在于,所述处理器还包括一一连接所述M个处理器核心的M个调频执行器、以及分别连接所述M个处理器核心的调压执行器,所述功耗调节器还连接所述M个调频执行器和所述调压执行器;所述功耗调节器,具体用于参照所述第一电压域在各个对应的频率和电压下的参考功 耗,确定所述M个处理器核心的目标频率和目标电压,根据所述目标频率生成调频指令并发送给所述M个调频执行器,根据所述目标电压生成调压指令并发送给所述调压执行器;连接任一处理器核心的所述调频执行器,用于根据所述调频指令将所连接的处理器核心的频率调节为所述目标频率;所述调压执行器,用于根据所述调压指令将所述M个处理器核心的电压调节为所述目标电压。
- 如权利要求11或12所述的处理器,其特征在于,所述调频执行器,还用于将所连接的处理器核心的当前频率发送给所述功耗调节器;所述调压执行器,还用于将所连接的处理器核心的当前电压发送给所述功耗调节器;所述功耗调节器,具体用于根据所述当前功耗、所述当前频率和所述当前电压,按照预设的功耗、频率和电压的对应关系,预测所述第一电压域在每个对应的频率和电压下的所述参考功耗。
- 如权利要求13所述的处理器,其特征在于,所述预设的功耗、频率和电压的对应关系包括预设的动态功耗、频率和电压的对应关系;所述功耗调节器,具体用于:根据所述当前功耗中的动态功耗、所述当前频率和所述当前电压,按照所述预设的动态功耗、频率和电压的对应关系,计算出所述第一电压域在每个对应的频率和电压下的动态功耗;加和所述当前功耗中的静态功耗和所述第一电压域在每个对应的频率和电压下的动态功耗,得到所述第一电压域在每个对应的频率和电压下的所述参考功耗。
- 如权利要求13所述的处理器,其特征在于,所述预设的功耗、频率和电压的对应关系包括预设的动态功耗、频率和电压的对应关系,以及预设的静态功耗、频率、电压和温度的对应关系;所述功耗调节器,具体用于:根据所述当前功耗中的动态功耗、所述当前频率和所述当前电压,按照所述预设的动态功耗、频率和电压的对应关系,计算出所述第一电压域在每个对应的频率和电压下的动态功耗;获取所述第一电压域的当前温度,根据所述当前功耗中的静态功耗、所述当前频率、所述当前电压和所述当前温度,按照所述预设的静态功耗、频率、电压和温度的对应关系,计算出所述第一电压域在所述当前温度下的每个对应的频率和电压下的静态功耗;加和所述第一电压域在每个对应的频率和电压下的动态功耗和静态功耗,得到所述第一电压域在每个对应的频率和电压下的所述参考功耗。
- 如权利要求8至15任一项所述的处理器,其特征在于,所述功耗调节器,具体用于:确定所述第一电压域的预算功耗;从各个参考功耗中获得不大于所述预算功耗的最大参考功耗;按照所述最大参考功耗对应的频率和电压,调节位于所述第一电压域中的各个处理器核心的频率和电压。
- 如权利要求16所述的处理器,其特征在于,所述功耗调节器,还用于:若所述各个参考功耗都大于所述预算功耗,则从所述各个参考功耗中获得最小参考功 耗,按照所述最小参考功耗对应的频率和电压,调节位于所述第一电压域中的各个处理器核心的频率和电压。
- 一种电子设备,其特征在于,包括处理器,所述处理器与存储器耦合,所述处理器用于执行所述存储器中存储的计算机程序,以使得所述电子设备执行如权利要求1至7中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202180097649.8A CN117296022A (zh) | 2021-05-13 | 2021-05-13 | 一种功耗调节方法及装置 |
PCT/CN2021/093667 WO2022236782A1 (zh) | 2021-05-13 | 2021-05-13 | 一种功耗调节方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2021/093667 WO2022236782A1 (zh) | 2021-05-13 | 2021-05-13 | 一种功耗调节方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022236782A1 true WO2022236782A1 (zh) | 2022-11-17 |
Family
ID=84027920
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2021/093667 WO2022236782A1 (zh) | 2021-05-13 | 2021-05-13 | 一种功耗调节方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN117296022A (zh) |
WO (1) | WO2022236782A1 (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1739080A (zh) * | 2001-09-28 | 2006-02-22 | 英特尔公司 | 调节电压和频率来使多处理器系统功耗最小的方法和装置 |
CN103492976A (zh) * | 2011-03-21 | 2014-01-01 | 英特尔公司 | 管理多核处理器中的功耗 |
CN105511591A (zh) * | 2015-12-31 | 2016-04-20 | 天津飞腾信息技术有限公司 | 基于双阈值功耗自适应的dvfs调节算法 |
CN106681453A (zh) * | 2016-11-24 | 2017-05-17 | 电子科技大学 | 一种高性能多核微处理器的动态热管理方法 |
WO2020112884A1 (en) * | 2018-11-30 | 2020-06-04 | Rambus Inc. | Dram device with multiple voltage domains |
-
2021
- 2021-05-13 CN CN202180097649.8A patent/CN117296022A/zh active Pending
- 2021-05-13 WO PCT/CN2021/093667 patent/WO2022236782A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1739080A (zh) * | 2001-09-28 | 2006-02-22 | 英特尔公司 | 调节电压和频率来使多处理器系统功耗最小的方法和装置 |
CN103492976A (zh) * | 2011-03-21 | 2014-01-01 | 英特尔公司 | 管理多核处理器中的功耗 |
CN105511591A (zh) * | 2015-12-31 | 2016-04-20 | 天津飞腾信息技术有限公司 | 基于双阈值功耗自适应的dvfs调节算法 |
CN106681453A (zh) * | 2016-11-24 | 2017-05-17 | 电子科技大学 | 一种高性能多核微处理器的动态热管理方法 |
WO2020112884A1 (en) * | 2018-11-30 | 2020-06-04 | Rambus Inc. | Dram device with multiple voltage domains |
Also Published As
Publication number | Publication date |
---|---|
CN117296022A (zh) | 2023-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107678855B (zh) | 处理器动态调节方法、装置及处理器芯片 | |
CN103201702B (zh) | 对计算工作负载进行管理的方法和系统 | |
JP2019528032A (ja) | バッテリ管理システム | |
CN103019367B (zh) | 基于Android系统的嵌入式GPU动态调频方法及装置 | |
WO2022099477A1 (zh) | 一种功耗控制方法及装置 | |
WO2024099474A1 (zh) | 能效评估方法、装置、系统及相关设备 | |
WO2014132659A1 (ja) | 需給調整システム、需給調整方法ならびに需給調整プログラム | |
US10642237B2 (en) | AMI based volt-VAR optimization using online model learning | |
CN107346168A (zh) | 低功耗政策的自适应优化方法和相关装置 | |
WO2022110199A1 (zh) | 一种功耗控制装置、处理器及功耗控制方法 | |
JP2016001986A (ja) | 電力制御方法、電力制御装置、及び、電力制御システム | |
KR20190104870A (ko) | 이더넷 ssd 스토리지 시스템에서 전력 사용 및 전력 소모를 자동으로 조절하는 방법 및 장치 | |
Xiang et al. | Run-time management for multicore embedded systems with energy harvesting | |
CN113325998A (zh) | 读写速度控制方法、装置 | |
JP2016189109A (ja) | 情報処理装置、電力制御方法、プログラム、制御装置 | |
CN108241526B (zh) | 基于模式预测的自适应控制策略 | |
WO2022236782A1 (zh) | 一种功耗调节方法及装置 | |
WO2017052742A1 (en) | Low ripple mechanism of mode change in switched capacitor voltage regulators | |
CN106126841B (zh) | 一种基于硬件变频的方法和装置 | |
WO2022036712A1 (zh) | 一种频率控制方法及装置 | |
CN117013630A (zh) | 充电控制方法、充电控制装置、存储介质与电子设备 | |
CN117120817A (zh) | 水平或垂直堆叠管芯的热管理 | |
CN111900740B (zh) | 一种基于需求响应设备的电力系统调频方法和系统 | |
CN117492552B (zh) | 动态电压频率调节方法、控制器、装置、设备及存储介质 | |
CN117389344B (zh) | 用电设备及其表面温度控制方法、装置、介质和芯片系统 |
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: 21941354 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 202180097649.8 Country of ref document: CN |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 21941354 Country of ref document: EP Kind code of ref document: A1 |