Temperature control method of processor and processor

By taking into account the temperature and performance of multiple processor cores as a whole and dynamically adjusting the power supply voltage and frequency, the problem of overall performance degradation caused by single-core adjustment in existing technologies is solved, and the overall performance of the processor in a multi-core shared power domain is maximized.

CN115516402BActive Publication Date: 2026-02-06HUAWEI TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202080100677.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-05-15
Publication Date
2026-02-06
Estimated Expiration
2040-05-15

AI Technical Summary

Technical Problem

Existing processor temperature control algorithms only adjust the temperature of a single overheated core, resulting in a decrease in overall performance and potentially compromising processor safety. They cannot maximize overall performance in a multi-core shared power domain.

Method used

By taking into account the temperature and performance of multiple processor cores as a whole, the power supply voltage and frequency are dynamically adjusted to optimize the overall performance of the processor. The processor performance is characterized by linear or weighted average frequency, avoiding the intervention of complex operating systems.

Benefits of technology

It maximizes the overall performance of the processor while ensuring that the temperature of each core is below the temperature control limit, thereby improving the energy efficiency ratio of the processor in different scenarios.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115516402B_ABST
    Figure CN115516402B_ABST
Patent Text Reader

Abstract

A temperature control method of a processor (100) and the processor (100). The method is applied to the processor (100) comprising M processor cores, and the M processor cores share a power supply domain. The method comprises: acquiring a temperature of each processor core at a current time; determining a target performance of each processor core according to the temperature of each processor core at the current time; determining a first performance of the processor (100) at a next time according to the target performance of each core; determining a power supply voltage of the processor (100) at the next time according to the temperature of each processor core at the current time; determining a second performance of the processor (100) at the next time according to the power supply voltage of the processor (100) at the next time; and determining a temperature control strategy of the processor at the next time by comparing the first performance and the second performance. The performances of the processor at the next time are acquired in two different ways, and the overall performance of the processor can be maximized by comparison.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the field of chips, in particular to a temperature control method of a processor and the processor. BACKGROUND

[0002] In the design of multi-core common power domain of a processor, multiple processor cores share the same power supply network and power supply circuit. For the temperature control algorithm of such a processor, when the temperature of a certain core exceeds the temperature control water line, the power of the core will be reduced through certain means (such as reducing the clock frequency or reducing the load of the core), thereby limiting the heat dissipation caused by doing work, and thus reducing the temperature of the core. It should be understood that when the temperature of the processor core exceeds the temperature control water line, its safety or life will be affected to a certain extent, therefore, the temperature of the core must be reduced, that is, the temperature control water line is the temperature warning line of the processor core. In the prior art, each processor core in each processor is usually taken as the object of adjustment, that is, the processor core that exceeds the temperature control water line is adjusted, and other processor cores that do not exceed the temperature control water line are not adjusted. For example, a certain processor core needs to reduce power consumption because it exceeds the temperature control water line, but due to the design of the common power domain, the power supply voltage cannot be reduced because other processor cores need to run at a high frequency, so the frequency of the processor core that exceeds the temperature control water line may need to be greatly reduced. In this case, the performance of the processor core that exceeds the temperature control water line may be greatly reduced. Not only is it not conducive to effective temperature control, but it may also harm the overall performance of the processor. SUMMARY

[0003] The present application provides a processor temperature control method and a processor, which can maximize the overall performance of the processor by considering the whole processor.

[0004] In a first aspect, a temperature control method of a processor is provided, applied to a processor including M processor cores, the M processor cores being in a common power domain, M being an integer greater than 1, comprising: acquiring the temperature of each processor core at the current time; determining the target performance of each processor core according to the temperature of each processor core at the current time, and determining the first performance of the processor at the next time according to the target performance of each core; determining the power supply voltage of the processor at the next time according to the temperature of each processor core at the current time, and determining the second performance of the processor at the next time according to the power supply voltage of the processor at the next time; and determining the temperature control strategy of the processor at the next time by comparing the first performance and the second performance.

[0005] According to the embodiment of the present application, by considering the whole processor, the target performance of each processor core can be determined according to the temperature of each processor core at the current time, or the supply voltage of the processor at the next time can be determined according to the temperature of each processor core at the current time, so as to obtain the performance of the processor at the next time in two ways respectively. By comparing the performance of the processor at the next time obtained in two ways respectively, the processor temperature control strategy with better performance at the next time can be determined. By two different calculation ways, higher precision adjustment and larger operation range can be obtained, so as to cover the voltage and frequency combination that makes the performance of the processor maximum. The optimal performance of the whole processor can be maintained while the temperature of each processor core in the processor is maintained below the temperature control water line.

[0006] With reference to the first aspect, in some possible implementation manners, the determining the supply voltage of the processor at the next time according to the temperature of each processor core at the current time, and determining the second performance of the processor at the next time according to the supply voltage of the processor at the next time, comprises: determining the supply voltage of the processor at the next time according to the temperature of N processor cores in the plurality of processor cores at the current time respectively, and determining N processor performances at the next time according to the supply voltage of the processor at the next time corresponding to the N processor cores; determining the second performance of the processor at the next time according to the N processor performances at the next time, the N processor cores comprising at least one processor core with the temperature at the current time exceeding a first threshold, and N being a positive integer less than or equal to M.

[0007] According to the embodiment of the present application, the supply voltage of the processor at the next time can be determined according to the temperature of N processor cores comprising at least one over-temperature processor core respectively, so as to obtain N processor performances at the next time. In this way, higher precision adjustment and larger operation range can be obtained, so as to cover the voltage and frequency combination that makes the performance of the processor maximum.

[0008] In some possible implementation manners, according to the first aspect, the determining, according to the temperatures of the N processor cores at the current time, of the supply voltages of the processor at the next time, and the determining, according to the supply voltages of the N processor cores at the next time, of the N processor performances at the next time, comprises: determining a target power and a target frequency at the next time of each processor core according to the temperature of each processor core at the current time; determining a first voltage currently supplied to the processor, and a first frequency level corresponding to the first voltage; taking an i th processor core in the N processor cores as a temperature control object, where i is a positive integer less than or equal to N; determining whether the i th processor core meets the target power at the next time by frequency adjustment in the first frequency level; if the i th processor core meets the target power at the next time in the first frequency level, frequency adjustment is performed on other processor cores in the plurality of processor cores, and the processor performance at the next time under the first voltage is determined; if the i th processor core does not meet the target power at the next time in the first frequency level, the supply voltage of the processor is adjusted to a second voltage, so that the i th processor core meets the target power, frequency adjustment is performed on other processor cores in the plurality of processor cores, and the processor performance at the next time under the second voltage is determined; and the N processor performances corresponding to the temperatures of the N processor cores at the current time are determined by traversing the N processor cores.

[0009] According to the embodiments of the present application, the scheme steps are simple, and do not introduce too complex operations. Therefore, the running time of formulating the temperature control strategy is compressed, and the polling cycle of meeting the system design requirement is met.

[0010] In some possible implementation manners, according to the first aspect, the second performance is the maximum value of the N processor performances at the next time.

[0011] According to the embodiments of the present application, the second performance can be determined from the N processor performances at the next time according to the preset selection manner, and the time spent due to selection is shortened.

[0012] In some possible implementation manners, according to the first aspect, the N processor performances at the next time satisfy the following formula:

[0013] Perf(t+1)=Σα j f j (t+1);

[0014] wherein Perf(t+1) is the processor performance at the next time, α j is a load coefficient of the j th processor core, and f j(t+1) is the frequency of the jth processor core at the next time.

[0015] According to the embodiment of the present application, the processor performance is represented by using the linear average frequency or the weighted average frequency of the multiple cores of the processor, without intervention of the operating system and complex operation, so that the processor performance can be represented (predicted) relatively accurately, and various performance priority algorithms can make decisions.

[0016] With reference to the first aspect, in some possible implementation manners, the second voltage is lower than the first voltage.

[0017] According to the embodiment of the present application, the second voltage can be lower than the first voltage, so that the processor core can achieve the purpose of cooling. Meanwhile, the overall performance of the processor can be guaranteed to be optimal.

[0018] With reference to the first aspect, in some possible implementation manners, after obtaining the temperature of each processor core at the current time, the method further includes: determining whether the temperature of each processor core at the current time exceeds the first threshold value; and if the temperature of each processor core at the current time does not exceed the first threshold value, ending the temperature control of the processor.

[0019] According to the embodiment of the present application, after obtaining the temperature of each processor core at the current time, the processor can determine whether any processor core in the M processor cores is in an over-temperature state, and if not, the temperature control is not performed, so that part of the resources can be saved, and waste of resources can be avoided.

[0020] With reference to the first aspect, in some possible implementation manners, the determining the target performance of each processor core according to the temperature of each processor core at the current time, and determining the first performance of the processor at the next time according to the target performance of each core, includes: determining the target power or the target frequency of each processor core at the next time according to the temperature of each processor core at the current time, the target power or the target frequency being used to indicate the target performance; and determining the first performance of the processor at the next time according to the target power or the target frequency of each processor core at the next time.

[0021] According to the embodiment of the present application, the processor can determine the target power or the target frequency of each processor core at the next time according to the temperature of each processor core at the current time and the frequency or the power at the current time, so that the first performance of the processor at the next time can be obtained.

[0022] With reference to the first aspect, in some possible implementation manners, the target performance of each processor core is a target power of the each processor core at a next time or a target frequency of the each processor core at the next time.

[0023] According to the embodiment of the present application, the target power of the processor core at the next time or the target frequency of the processor core at the next time can be selected as the target performance of the processor core according to the preset condition.

[0024] With reference to the first aspect, in some possible implementation manners, the N processor cores are N processor cores with higher temperatures in the plurality of processor cores.

[0025] According to the embodiment of the present application, the N processor cores can be all or part of the plurality of processor cores. When the number of processor cores in the processor is large, the N processor cores can be N processor cores with higher temperatures in the plurality of processor cores, that is, all processor cores in the processor are arranged in order of temperature from high to low, and the first N processor cores are selected as the adjustment objects.

[0026] With reference to the first aspect, in some possible implementation manners, the temperature control strategy of the processor at the next time is determined by comparing the first performance and the second performance, including: determining a maximum value of the first performance and the second performance, and determining the temperature control strategy of the processor at the next time according to the processor performance corresponding to the maximum value.

[0027] According to the embodiment of the present application, the maximum value of the first performance and the second performance can be selected as the basis of the temperature control strategy at the next time according to the preset condition.

[0028] With reference to the first aspect, in some possible implementation manners, the temperature control strategy includes: setting a power supply voltage of the processor at the next time as a power supply voltage corresponding to the processor performance corresponding to the maximum value; and setting a frequency of the M processor cores at the next time as a target frequency of the M processor cores corresponding to the processor performance corresponding to the maximum value.

[0029] According to the embodiment of the present application, the maximum value of the first performance and the second performance can be selected as the temperature control strategy at the next time, so that the power supply voltage at the next time corresponding to the maximum value and the frequency of each processor core at the next time can be selected as the basis for setting the processor.

[0030] In a second aspect, a processor is provided, comprising: M processor cores and temperature control logic, M being an integer greater than 1; wherein the M processor cores are in a common power domain; the temperature control logic comprises a receiving module and a processing module; the receiving module is configured to acquire a temperature of each of the M processor cores at a current time; the processing module is configured to determine a target performance of each of the M processor cores according to the temperature of each of the M processor cores at the current time, and determine a first performance of the processor at a next time according to the target performance of each of the M processor cores; the processing module is further configured to determine a supply voltage of the processor at the next time according to the temperature of each of the M processor cores at the current time, determine a second performance of the processor at the next time according to the supply voltage of the processor at the next time; and the processing module is further configured to determine a temperature control strategy of the processor at the next time by comparing the first performance and the second performance.

[0031] With reference to the second aspect, in some possible implementation manners, the processing module is further configured to determine the supply voltage of the processor at the next time according to the temperature of each of the M processor cores at the current time, and determine the second performance of the processor at the next time according to the supply voltage of the processor at the next time, including: the processing module is configured to determine the supply voltage of the processor at the next time according to the temperature of N processor cores of the M processor cores at the current time, respectively, and determine N processor performances at the next time according to the supply voltage of the processor at the next time corresponding to the N processor cores; and the processing module is configured to determine the second performance of the processor at the next time according to the N processor performances at the next time, the N processor cores including at least one processor core whose temperature at the current time exceeds a first threshold, N being an integer less than or equal to M.

[0032] With reference to the second aspect, in some possible implementation manners, the processing module is further configured to determine the supply voltage of the processor at the next time according to the temperature of each of the M processor cores at the current time, and determine the second performance of the processor at the next time according to the supply voltage of the processor at the next time, including: the processing module is configured to determine the supply voltage of the processor at the next time according to the temperature of N processor cores of the M processor cores at the current time, respectively, and determine N processor performances at the next time according to the supply voltage of the processor at the next time corresponding to the N processor cores; and the processing module is configured to determine the second performance of the processor at the next time according to the N processor performances at the next time, the N processor cores including at least one processor core whose temperature at the current time exceeds a first threshold, N being an integer less than or equal to M.

[0033] determining a target power and a target frequency of each processor core at a next time point according to a temperature of each processor core at a current time point; determining a first voltage for supplying power to the processor at the current time point, and a first frequency level corresponding to the first voltage; taking an i-th processor core in the N processor cores as a temperature control object, i being a positive integer less than or equal to N; determining whether the i-th processor core satisfies the corresponding target power at the next time point by frequency adjustment in the first frequency level; if the i-th processor core satisfies the corresponding target power at the next time point in the first frequency level, frequency adjustment is performed on other processor cores in the plurality of processor cores to determine a processor performance at the next time point under the first voltage; if the i-th processor core does not satisfy the corresponding target power in the first frequency level, the supply voltage of the processor is adjusted to a second voltage to make the i-th processor core satisfy the corresponding target power, and frequency adjustment is performed on other processor cores in the plurality of processor cores to determine a processor performance at the next time point under the second voltage; and traversing the N processor cores to determine N processor performances corresponding to the temperatures of the N processor cores at the current time point respectively.

[0034] With reference to the second aspect, in some possible implementation manners, the second performance is a maximum value in the N processor performances at the next time point.

[0035] With reference to the second aspect, in some possible implementation manners, the processor performance at the next time point satisfies the following formula:

[0036] Perf(t+1)=Σα j f j (t+1);

[0037] wherein Perf(t+1) is the processor performance at the next time point, α j is a load coefficient of the j-th processor core, f j (t+1) is a frequency of the j-th processor core at the next time point, and j is a positive integer less than or equal to M.

[0038] With reference to the second aspect, in some possible implementation manners, the second voltage is lower than the first voltage.

[0039] With reference to the second aspect, in some possible implementation manners, the processing module is further configured to determine whether the temperature of each processor core at the current time point has at least one temperature of a processor core at the current time point exceeding a first threshold value; and if there is no at least one temperature of a processor core at the current time point exceeding the first threshold value, ending the temperature control of the processor.

[0040] In some possible implementation manners, the processing module is configured to determine a target performance of each processor core according to the temperature of each processor core at the current moment, and determine the first performance of the processor at the next moment according to the target performance of each core, including:

[0041] determining a target power or a target frequency of each processor core at the next moment according to the temperature of each processor core at the current moment, the target power or the target frequency being used to indicate the target performance; determining the first performance of the processor at the next moment according to the target power or the target frequency of each processor core at the next moment.

[0042] In some possible implementation manners, the target performance of each processor core is a target power or a target frequency of each processor core at the next moment.

[0043] In some possible implementation manners, the N processor cores are N processor cores with higher temperatures in the M processor cores.

[0044] In some possible implementation manners, the processing module is further configured to determine a temperature control strategy of the processor at the next moment by comparing the first performance and the second performance, including:

[0045] determining a maximum value of the first performance and the second performance, and determining the temperature control strategy of the processor at the next moment according to a processor performance corresponding to the maximum value.

[0046] In some possible implementation manners, the temperature control strategy includes:

[0047] setting a supply voltage of the processor at the next moment to be a supply voltage corresponding to the processor performance corresponding to the maximum value; and setting frequencies of the M processor cores at the next moment to be target frequencies of the M processor cores corresponding to the processor performance corresponding to the maximum value.

[0048] A third aspect provides a terminal device, including the processor described above.

[0049] A fourth aspect provides a computer program storage medium, the computer program storage medium having program instructions, when the program instructions are executed by a processor, causing the processor to execute the temperature control method described above.

[0050] A fifth aspect provides a chip system, the chip system including at least one processor, when program instructions are executed in the at least one processor, causing the at least one processor to execute the temperature control method described above. BRIEF DESCRIPTION OF DRAWINGS

[0051] Figure 1 is a schematic structural diagram of a processor 100.

[0052] Figure 2 is a corresponding relationship diagram of supply voltage and average frequency of a multi-core processor in different scenarios.

[0053] Figure 3 is a flowchart of a temperature control method of a processor provided by an embodiment of the application.

[0054] Figure 4 is a flowchart of determining a second performance provided by an embodiment of the application.

[0055] Figure 5 is a schematic structural diagram of a control device provided by an embodiment of the application.

[0056] Figure 6 is a schematic structural diagram of a temperature control logic provided by an embodiment of the application. DETAILED DESCRIPTION

[0057] The technical solutions in the application will be described below with reference to the drawings.

[0058] The main factors restricting the performance and user experience of terminal devices such as smart phones are not only the absolute performance of the processor, but also how to maximize the performance of each core in the processor under the constraint of the whole machine heat dissipation, which has an important influence on the performance of the terminal device.

[0059] Figure 1 is a schematic structural diagram of a processor 100.

[0060] As shown in Figure 1 , the processor 100 can include a first processor core, a second processor core, a third processor core, and a fourth processor core. It should be understood that the present application takes a processor with four cores as an example for illustration, but does not limit the number of processor cores included in the processor.

[0061] It should be understood that the processor can be a central processing unit (CPU), a graphics processing unit (GPU), a neural network processing unit (NPU), or the like. The power consumption of each subunit in the processor will affect the temperature of the processor.

[0062] Each processor core in processor 100 includes a corresponding temperature sensor. Other non-core components, such as general-purpose units, accelerometers, input / output control units, interface units, internal memory, and external caches, may also have independent or shared temperature sensors.

[0063] Optionally, the first processor core, the second processor core, the third processor core, and the fourth processor core may be a shared temperature sensing device or a separately configured temperature sensing device.

[0064] like Figure 1 As shown, the temperature sensor of each processor core transmits the sensed temperature information to the processor's temperature control logic at regular intervals. The temperature control logic can adjust the operating voltage and frequency of the corresponding processor core based on the temperature information sent by the temperature sensors of each processor core.

[0065] In a multi-core shared power domain design for processors, multiple processor cores share the same power supply network and circuitry. Temperature control algorithms for such processors typically reduce the power consumption of a core when its temperature exceeds the thermal threshold (e.g., by lowering the clock frequency or reducing the core's load), thereby limiting heat dissipation and lowering the core's temperature. It should be understood that when a processor core's temperature exceeds the thermal threshold, its safety or lifespan will be affected; therefore, it is essential to reduce the core's temperature. In existing technologies, adjustment is usually performed on a per-core basis within each processor; that is, only the core exceeding the thermal threshold is adjusted, without adjusting other cores that are not overheating. For example, if a processor core needs to reduce power consumption because it exceeds the thermal threshold, but due to the shared power domain design, the supply voltage cannot be lowered because other processor cores need to operate at higher frequencies, then the frequency of the processor core exceeding the thermal threshold may need to be significantly reduced. In this case, the performance of the processor core exceeding the thermal threshold may be significantly reduced.

[0066] Figure 2 This is a graph showing the relationship between supply voltage and average frequency for multi-core processors under different scenarios. Among them, Figure 2 The left side shows the corresponding relationship when there are many processor cores exceeding the temperature control limit, and the right side shows the corresponding relationship when there are fewer processor cores exceeding the temperature control limit.

[0067] like Figure 2 As shown, when a large number of cores in the processor are in an overheated state (above the temperature control line), a higher average load frequency can be achieved at low voltage (1V) than at high voltage (1.1V). Figure 2As shown in the attached diagram on the left, from 126s to 127s, with a voltage of 1.1V, the corresponding average load frequency range is 3.11GHz to 3.09GHz. From 127s to 128s, with a voltage of 1V, the corresponding average load frequency is 3.145GHz. When the number of cores in the processor that are overheating is small, a higher average frequency can be achieved at a higher voltage (1.1V) than at a lower voltage (1V). Figure 2 As shown in the attached diagram on the right, from 110s to 111s, when the voltage is 1.1V, the corresponding average load frequency range is 3.58GHz to 3.54GHz. From 112s to 113s, when the voltage is 1V, the corresponding average load frequency is 3.5GHz. Therefore, according to current technology, if some processor cores are overheated while others are not, the overheated cores will operate at high voltage and low frequency, leading to a decrease in the overall energy efficiency of the processor. Therefore, only by considering the overall condition of each processor core and adopting different strategies in different scenarios can the processor achieve greater performance.

[0068] Existing temperature control methods can only address overheating scenarios at the level of each processor core in a multi-core processor. Therefore, in some scenarios, they cannot guarantee the maximization of overall system performance. This application comprehensively considers the shortcomings of existing methods and proposes a temperature control method that takes the processor as a whole into account, aiming to maximize the overall performance of the processor.

[0069] Figure 3 This is a schematic flowchart of a processor temperature control method provided in an embodiment of this application.

[0070] like Figure 3 The diagram illustrates a cycle of temperature control. The temperature control cycle can be set according to actual needs, and can be 1ms, 10ms, or other time periods. The method provided in this embodiment can be applied to a processor with M processor cores, where the M processor cores share a common power domain, meaning the M processor cores have the same power supply voltage, and M is an integer greater than 1.

[0071] It should be understood that the method provided by the embodiments of the present application can also be applied to a processor including multiple processor core clusters, each processor core cluster being in a different power domain, but the processor cores in each cluster being in a common power domain. For example, a processor includes 16 processor cores, and the 16 processor cores can be divided into 4 processor core clusters. Each processor core cluster includes 4 processor cores, and the 4 processor cores in each processor core cluster are in a common power domain, but the processor core clusters are in different power domains. The 4 processor cores in each processor core cluster can also apply the method provided by the embodiments of the present application.

[0072] S301, obtaining the temperature of each processor core at the current moment.

[0073] The temperature information of each processor core at the current moment can be obtained by the temperature sensing device corresponding to each processor core.

[0074] Optionally, the temperature sensing device corresponding to each processor core can report the temperature information of each processor core at the current moment to the temperature control logic in a time granularity of 1 ms.

[0075] Optionally, the temperature sensing device can perform an averaging or filtering operation.

[0076] S302, starting temperature control according to the temperature of each processor core at the current moment.

[0077] It should be understood that whether the temperature of at least one processor core at the current moment exceeds the first threshold value can be determined according to the obtained temperature of each processor core at the current moment. If the temperature of at least one processor core at the current moment exceeds the first threshold value, temperature control is performed. If the temperature of at least one processor core at the current moment does not exceed the first threshold value, the temperature control of the processor is ended. The first threshold value can be a temperature value corresponding to a temperature control water line.

[0078] The temperature control logic can determine the target performance of the processor core at the next moment according to the temperature of each processor core at the current moment and the performance of the current processor core. The performance of the processor core can refer to the power or frequency of the processor core. For example, the target power of the processor core at the next moment can be determined according to the temperature of the processor core at the current moment and the corresponding power; or the target frequency of the processor core at the next moment can be determined according to the temperature of the processor core at the current moment and the corresponding frequency; or the target frequency of the processor core at the next moment can be determined according to the temperature of the processor core at the current moment and the corresponding power.

[0079] It should be understood that, for the sake of brevity, the following is described by way of example with respect to determining a target power of a processor core at a next time instant based on a temperature of the processor core at a current time instant and a corresponding power. Embodiments of the present application are not limited to the type of target performance obtained.

[0080] For the jth processor core, a difference ΔT is obtained based on temperature information at a current time instant and a temperature control waterline (first threshold) Tmax j , 0 < j < M + 1, M being a number of processor cores possessed by the processor. Based on ΔT j and a power P j (t) at the current time instant, a target power P j (t + 1) at a next time instant is obtained, where t is the current time instant.

[0081] Optionally, when the input is ΔT j and P j (t), the output P j (t + 1) can be obtained by a feed back control. For example, the feed back control can be a proportion integral differential (PID) control, or can be a preset formula or other corresponding relationship, etc. As shown in the following table, a corresponding relationship between ΔT j and P j (t) and P j (t + 1) is shown.

[0082] Table 1

[0083] Delta T j ]] P j (t)]]> P j (t+1)]]> 20° 80W 100W 5° 80W 85W -5° 80W 70W

[0084] Optionally, S302 is an optional step and is not necessarily a necessary step in the temperature control method.

[0085] S303, taking a single processor core as a temperature control object, determines a first performance of the processor at a next time instant.

[0086] For each processor core, when the target power is obtained, a temperature control strategy taking each processor core as a temperature control object is implemented. A target performance of each processor core is determined based on a temperature of each processor core at a current time instant, and a first performance of the processor at a next time instant is determined based on the target performance of each core. The target performance of the processor core can be a target frequency or a target power of the processor core at the next time instant. For the sake of brevity, the target performance is described by way of example with respect to the target power. Each processor core reaches the target power P(t + 1) at the next time instant by independently adjusting the frequency.

[0087] It should be understood that the power P(t) of the processor core can satisfy the following formula:

[0088] P(t) = aCf(t)V 2 ;

[0089] wherein P(t) is the power of the processor core at the current time, a is an activity coefficient, C is an equivalent capacitance, f(t) is the frequency of the processor at the current time, and V is the voltage of the processor at the current time.

[0090] Therefore, for the jth processor core, the frequency f j (t+1) of the processor core at the next time can satisfy the following formula:

[0091]

[0092] The first performance Perf1 of the processor can be determined according to the voltage of the processor at the next time and the frequency of each processor core, that is, the performance of the processor at the next time when a single processor core is taken as a temperature control object.

[0093] Alternatively, the expression of the performance of the processor can be different, for example, a linear average frequency of all processor cores or a weighted average frequency of all processor cores is selected. The weighted average frequency can be obtained according to the load of the core, that is:

[0094] Perf(t+1) = åa j f j (t+1);

[0095] wherein Perf(t+1) is the performance of the processor at the next time, a j is the load coefficient of the jth processor core, and f j (t+1) is the frequency of the jth processor core at the next time.

[0096] Alternatively, the expression of the performance of the processor can also select a linear average power of all processor cores, that is:

[0097] Perf(t+1) = åa j P j (t+1);

[0098] wherein Perf(t+1) is the performance of the processor at the next time, a j is the load coefficient of the jth processor core, and P j (t+1) is the power of the jth processor core at the next time.

[0099] It should be understood that the present application does not limit the expression of the performance of the processor, and other expressions can also be used to represent the performance of the processor.

[0100] It should be understood that by using the linear average frequency or weighted average frequency of multiple cores of the processor to represent the performance of the processor, the performance of the processor can be relatively accurately represented (predicted) without the intervention of an operating system (OS) and complex operations, thereby supporting various performance priority algorithms to make decisions.

[0101] In S304, the second performance of the processor at the next moment is determined by taking the whole processor as a temperature control object.

[0102] The supply voltage of the processor at the next moment is determined according to the temperature of each processor core at the current moment by taking the whole processor as a temperature control object, and the supply voltage of the processor at the next moment determines the second performance Perf2 of the processor at the next moment.

[0103] Optionally, the supply voltage of the processor at the next moment can be determined according to the temperature of N processor cores in the multiple processor cores at the current moment, and the performance of the N processor cores at the next moment is determined according to the supply voltage of the N processor cores at the next moment. The second performance of the processor at the next moment is determined according to the performance of the N processor cores at the next moment. Wherein, the N processor cores include at least one processor core whose temperature at the current moment exceeds the first threshold, and N is a positive integer less than or equal to M.

[0104] Optionally, the second performance can be the maximum value of the performance of the N processor cores at the next moment.

[0105] Optionally, the N processor cores can be all or part of the multiple processor cores. When the number of processor cores in the processor is large, the N processor cores with high temperatures can be selected from the multiple processor cores, that is, all the processor cores in the processor are arranged in order of temperature from high to low, and the first N processor cores are selected as the temperature control object. For example, when the number of processor cores is 32, the top 8 processor cores with the highest temperature can be selected as the temperature control object. Alternatively, when the number of processor cores in the processor is small, all the processor cores can be selected as the temperature control object.

[0106] It should be understood that the N processor cores as the temperature control object can also be determined according to other screening rules, for example, the processor cores whose temperature exceeds the temperature control waterline Tmax (the first threshold), and the application does not limit the screening method.

[0107] Optionally, each of the N processor performances can satisfy the following formula:

[0108] Perf(t+1)=∑α j P j (t+1);

[0109] wherein Perf(t+1) is the processor performance at the next time, α j is the load coefficient of the jth processor core, P j (t+1) is the power of the jth processor core at the next time.

[0110] It should be understood that S303 and S304 do not distinguish the order, and which step is executed first can be determined according to actual needs or design.

[0111] S305, comparing the first performance and the second performance to determine the temperature control strategy of the processor at the next time.

[0112] Optionally, the maximum value of the first performance Perf1 and the second performance Perf2 can be determined, and the temperature control strategy of the processor at the next time is determined according to the processor performance corresponding to the maximum value.

[0113] Optionally, the temperature control strategy can include setting the supply voltage of the processor at the next time as the supply voltage corresponding to the processor performance corresponding to the maximum value, and setting the frequency of the M processor cores at the next time as the target frequency of the M processors corresponding to the processor performance corresponding to the maximum value. For example, the second performance Perf2 is greater than the first performance Perf1, the supply voltage of the processor at the next time is set as the supply voltage corresponding to the second performance Perf2, and the frequency of the M processor cores at the next time is set as the target frequency of the M processors corresponding to the second performance Perf2.

[0114] It should be understood that the technical scheme provided by the embodiments of the present application considers the whole processor, obtains higher precision adjustment and larger operation range, and thus covers the voltage and frequency combination that maximizes the processor performance. The optimal performance of the whole processor can be maintained while the temperature of each processor core in the processor is maintained below the temperature control water line. For example, when the number of cores in the processor in the over-temperature state is large, the supply voltage of the processor can be lowered, so that the processor can obtain higher performance at low voltage than at high voltage. Or, when the number of cores in the processor in the over-temperature state is small, the supply voltage of the processor can be maintained at high voltage, so that higher performance is obtained.

[0115] Figure 4 is a flowchart of determining the second performance provided by the embodiments of the present application.

[0116] As Figure 4 shown, the flow of determining the second performance of the processor according to N processor cores in a plurality of processor cores is shown, with the whole processor as the temperature control object.

[0117] S401, determining the first voltage of the processor at the current time.

[0118] determining a first voltage of the processor at the current time, and a first frequency range corresponding to the first voltage. It should be understood that the supply voltage of the processor determines the upper limit of the working frequency of the processor core. For example, when the supply voltage is 1V, the working frequency range of the processor core can be 0Hz-3GHz; when the voltage is 1.1V, the working frequency range of the processor core can be 0Hz-3.5GHz.

[0119] In order to avoid the processor core being in a high-voltage and low-frequency state, therefore, the upper limit of the first frequency range corresponding to the first voltage is the upper limit of the working frequency corresponding to the supply voltage at the current time, and the lower limit is the upper limit of the working frequency corresponding to the supply voltage which is one range lower than the supply voltage at the current time. For example, when the supply voltage is 1V, the corresponding frequency range is 2.5GHz-3GHz, and when the supply voltage is 1.1V, the corresponding frequency range is 3GHz-3.5GHz.

[0120] S402, taking the i-th processor core as the temperature control object.

[0121] Taking the i-th processor core in the N processor cores as the temperature control object, i is a positive integer less than or equal to N. The N processor cores can be all or part of the M processor cores, and the N processor cores include at least one processor core whose temperature at the current time exceeds the first threshold.

[0122] S403, whether the i-th processor core can meet the target power at the corresponding frequency range.

[0123] It is determined whether the i-th processor core can meet the corresponding target power in the frequency range corresponding to the supply voltage at the next time through frequency adjustment. If the i-th processor core meets the corresponding target power, the current supply voltage is recorded, and S404 is performed. If the i-th processor core does not meet the corresponding target power, S405 is performed.

[0124] It should be understood that when the i-th processor core performs S403 for the first time, the first voltage is taken as the supply voltage of the processor at the next time, and the first frequency range corresponding to the first voltage is determined. When the i-th processor core jumps from S405 to S403, the second voltage determined in S405 is taken as the supply voltage at the next time, and the second frequency range corresponding to the second voltage is determined.

[0125] S404, if the target power is met, determining the performance of the processor at the next time.

[0126] If the i-th processor core meets the corresponding target power in the frequency range, frequency adjustment is performed on other processor cores in the plurality of processor cores so that the other processor cores in the plurality of processor cores meet the corresponding target power, and the processor performance Perf(t+1) at the next time point is determined i (t+1).

[0127] Optionally, the frequency f j (t+1) of the other processor cores in the M processor cores at the next time point can meet the following formula:

[0128]

[0129] The processor performance at the next time point when the i-th processor core is taken as the mediation object can be determined according to the power supply voltage of the processor at the next time point and the frequency of each processor core at the next time point.

[0130] Optionally, the expression of the processor performance can be different, such as selecting the linear average frequency of all processor cores or the weighted average frequency of all processor cores. The weighted average frequency can be obtained according to the load of the core, that is, the processor performance at the next time point can meet the following formula:

[0131] Perf(t+1)=∑α j f j (t+1).

[0132] It should be understood that when the power supply voltage of the processor at the next time point is the second voltage, the upper limit of the corresponding frequency of the other processor cores in the M processor cores can decrease. Therefore, when the target power cannot be met, the upper limit of the frequency corresponding to the second voltage is taken as the target frequency for calculation.

[0133] S405, if the target power is not met, the power supply voltage of the processor is adjusted to the second voltage.

[0134] If the i-th processor core does not meet the corresponding target power in the frequency range, the power supply voltage of the processor at the next time point is adjusted to the second voltage, so that the i-th processor core meets the corresponding target power, and the process jumps to S403.

[0135] It should be understood that the application scenario of the embodiment of the present application is that the processor core in the processor is overheated, and therefore the second voltage can be less than the first voltage, so that the processor core achieves the purpose of cooling. At the same time, the overall performance of the processor can also be guaranteed to be optimal.

[0136] S406, whether to traverse the N processor cores.

[0137] The N processor performances corresponding to the N processor cores when the N processor cores are taken as the mediation object are determined.

[0138] S407, determining a second performance of the processor at a next time.

[0139] According to the N processor performances obtained by traversing the N processor cores in S406, the maximum value can be selected as the second performance, and the parameters of the corresponding processor are recorded as the corresponding temperature control strategy.

[0140] It should be understood that the technical scheme provided by the embodiments of the present application is simple in steps and does not introduce too complex operations. Therefore, the running time of formulating the temperature control strategy is compressed, and the polling cycle of meeting the system design requirements is met.

[0141] Figure 5 is a schematic structural diagram of a control device provided by an embodiment of the present application.

[0142] As shown in Figure 5 , the control device 500 includes a memory 510 and a processor 520.

[0143] The memory 510 is used to store program instructions. The processor 520 is used to execute the program instructions to perform the following method:

[0144] obtaining the temperature of each processor core in the M processor cores at the current time;

[0145] determining the target performance of each processor core according to the temperature of each processor core at the current time, and determining the first performance of the processor at the next time according to the target performance of each core;

[0146] determining the supply voltage of the processor at the next time according to the temperature of each processor core at the current time, and determining the second performance of the processor at the next time according to the supply voltage of the processor at the next time;

[0147] determining the temperature control strategy of the processor at the next time by comparing the first performance and the second performance.

[0148] Wherein, the M processor cores share a power supply domain, and M is an integer greater than 1.

[0149] Optionally, the determining the supply voltage of the processor at the next time according to the temperature of each processor core at the current time, and determining the second performance of the processor at the next time according to the supply voltage of the processor at the next time, comprises:

[0150] determining the supply voltage of the processor at the next time according to the temperature of each processor core at the current time, and determining the second performance of the processor at the next time according to the supply voltage of the processor at the next time;

[0151] determining a second performance of the processor at the next time according to the processor performance of the N processor cores at the next time, the N processor cores including at least one processor core whose temperature at the current time exceeds a first threshold, and N being a positive integer less than or equal to M.

[0152] Optionally, the determining of the supply voltage of the processor at the next time according to the temperature of the N processor cores in the plurality of processor cores at the current time respectively, and the determining of the N processor performance at the next time according to the supply voltage of the processor at the next time corresponding to the N processor cores, comprises:

[0153] determining a target power and a target frequency at the next time of each processor core according to the temperature of each processor core at the current time;

[0154] determining a first voltage supplied to the processor at the current time, and a first frequency level corresponding to the first voltage;

[0155] taking an i-th processor core in the N processor cores as a temperature control object, and i being a positive integer less than or equal to N;

[0156] judging whether the i-th processor core meets the target power at the next time by frequency adjustment within the first frequency level;

[0157] if the i-th processor core meets the target power at the next time within the first frequency level, frequency adjustment is performed on other processor cores in the plurality of processor cores, and the processor performance at the next time under the first voltage is determined;

[0158] if the i-th processor core does not meet the target power at the next time within the first frequency level, the supply voltage of the processor is adjusted to a second voltage to make the i-th processor core meet the target power, and frequency adjustment is performed on other processor cores in the plurality of processor cores, and the processor performance at the next time under the second voltage is determined;

[0159] traversing the N processor cores to determine N processor performance corresponding to the temperature of the N processor cores at the current time respectively.

[0160] Optionally, the second performance is a maximum value in the N processor performance at the next time.

[0161] Optionally, the processor performance at the next time satisfies the following formula:

[0162] Perf(t+1)=∑α j f j(t+1);

[0163] wherein Perf(t+1) is the processor performance at the next time, a j is a load coefficient of the jth processor core, f j (t+1) is the frequency of the jth processor core at the next time, and j is a positive integer less than or equal to M.

[0164] Optionally, the second voltage is lower than the first voltage.

[0165] Optionally, after the temperature of each of the M processor cores at the current time is obtained, the method further comprises:

[0166] determining whether the temperature of each of the processor cores at the current time exceeds a first threshold value;

[0167] if the temperature of each of the processor cores at the current time does not exceed the first threshold value, ending the temperature control of the processor.

[0168] Optionally, the determining of the target performance of each of the processor cores according to the temperature of each of the processor cores at the current time and the determining of the first performance of the processor at the next time according to the target performance of each of the cores comprise:

[0169] determining the target power or the target frequency of each of the processor cores at the next time according to the temperature of each of the processor cores at the current time, the target power or the target frequency being used to indicate the target performance;

[0170] determining the first performance of the processor at the next time according to the target power or the target frequency of each of the processor cores at the next time.

[0171] Optionally, the target performance of each of the processor cores is the target power or the target frequency of each of the processor cores at the next time.

[0172] Optionally, the N processor cores are the N processor cores with higher temperatures among the M processor cores.

[0173] Optionally, the determining of the temperature control strategy of the processor at the next time by comparing the first performance and the second performance comprises:

[0174] determining the maximum value of the first performance and the second performance, and determining the temperature control strategy of the processor at the next time according to the processor performance corresponding to the maximum value.

[0175] Optionally, the temperature control strategy comprises:

[0176] set the supply voltage of the processor at the next time point to the supply voltage corresponding to the processor performance corresponding to the maximum value;

[0177] set the frequency of the M processor cores at the next time point to the target frequency of the M processors corresponding to the processor performance corresponding to the maximum value.

[0178] Figure 6 is a schematic structural diagram of a temperature control logic provided by an embodiment of the present application. The temperature control logic can be arranged in a processor. The processor can further include M processor cores, and the M processor cores share a power supply domain, where M is an integer greater than 1.

[0179] As shown in Figure 6 , the temperature control logic 600 includes a receiving module 610 and a processing module 620.

[0180] The receiving module 610 is configured to acquire the temperature of each processor core at the current time point. The processing module 620 is configured to determine the target performance of each processor core according to the temperature of each processor core at the current time point, and determine the first performance of the processor at the next time point according to the target performance of each core. The processing module 620 is further configured to determine the supply voltage of the processor at the next time point according to the temperature of each processor core at the current time point, determine the second performance of the processor at the next time point according to the supply voltage of the processor at the next time point, and determine the temperature control strategy of the processor at the next time point by comparing the first performance and the second performance.

[0181] It should be understood that the temperature control logic 600 can be implemented by a digital circuit.

[0182] Optionally, the processing module 620 is further configured to determine the supply voltage of the processor at the next time point according to the temperature of each processor core at the current time point, and determine the second performance of the processor at the next time point according to the supply voltage of the processor at the next time point, including:

[0183] The processing module 620 determines the supply voltage of the processor at the next time point according to the temperature of N processor cores in the plurality of processor cores at the current time point, respectively. The processing module determines the processor performance at the next time point according to the supply voltage of the N processor cores at the next time point.

[0184] The processing module 620 determines the second performance of the processor at the next time point according to the processor performance at the next time point, and the N processor cores include at least one processor core whose temperature at the current time point exceeds a first threshold value, and N is a positive integer less than or equal to M.

[0185] Optionally, the processing module 620 determines the supply voltage of the processor at the next time point according to the temperature of each of the N processor cores at the current time point, and determines the N processor performances at the next time point according to the supply voltage of the processor at the next time point corresponding to the N processor cores, including:

[0186] determining the target power and the target frequency at the next time point of each of the processor cores according to the temperature of each of the processor cores at the current time point;

[0187] determining a first voltage supplied to the processor at the current time point, and a first frequency gear corresponding to the first voltage;

[0188] taking the i th processor core in the N processor cores as a temperature control object, i being a positive integer less than or equal to N;

[0189] judging whether the i th processor core meets the target power at the next time point in the first frequency gear through frequency adjustment;

[0190] if the i th processor core meets the target power at the next time point in the first frequency gear, frequency adjustment is performed on other processor cores in the plurality of processor cores, and the processor performance at the next time point under the first voltage is determined;

[0191] if the i th processor core does not meet the target power in the first frequency gear, the supply voltage of the processor is adjusted to a second voltage to make the i th processor core meet the target power, and frequency adjustment is performed on other processor cores in the plurality of processor cores, and the processor performance at the next time point under the second voltage is determined;

[0192] iterating through the N processor cores to determine N processor performances corresponding to the temperature of the N processor cores at the current time point.

[0193] Optionally, the second performance is the maximum value in the N processor performances at the next time point.

[0194] Optionally, the processor performance at the next time point satisfies the following formula:

[0195] Perf(t+1) = ∑α j f j (t+1);

[0196] wherein, Perf(t+1) is the processor performance at the next time point, α j is a load coefficient of the j th processor core, and fj (t+1) is the frequency of the jth processor core at the next time, j is a positive integer less than or equal to M.

[0197] Optionally, the second voltage is lower than the first voltage.

[0198] Optionally, the processing module is further configured to determine whether the temperature of each processor core at the current time exceeds the first threshold value, and if the temperature of at least one processor core at the current time exceeds the first threshold value.

[0199] If the temperature of at least one processor core at the current time does not exceed the first threshold value, the temperature control of the processor is ended.

[0200] Optionally, the processing module 620 is configured to determine the target performance of each processor core according to the temperature of each processor core at the current time, and determine the first performance of the processor at the next time according to the target performance of each core, including:

[0201] determining the target power or the target frequency of each processor core at the next time according to the temperature of each processor core at the current time, the target power or the target frequency being used to indicate the target performance;

[0202] determining the first performance of the processor at the next time according to the target power or the target frequency of each processor core at the next time.

[0203] Optionally, the target performance of each processor core is the target power or the target frequency of each processor core at the next time.

[0204] Optionally, the N processor cores are the N processor cores with higher temperatures among the M processor cores.

[0205] Optionally, the processing module 620 is further configured to determine the temperature control strategy of the processor at the next time by comparing the first performance and the second performance, including:

[0206] determining the maximum value of the first performance and the second performance, and determining the temperature control strategy of the processor at the next time according to the processor performance corresponding to the maximum value.

[0207] Embodiments of the present application also provide a terminal device, which includes the processor described above.

[0208] Embodiments of the present application also provide a computer program storage medium, which has program instructions, when the program instructions are executed by a processor, the processor executes the temperature control method described above.

[0209] The chip system includes at least one processor, and when program instructions are executed in the at least one processor, the at least one processor executes the temperature control method described above.

[0210] Those skilled in the art can understand that the units and algorithm steps of the examples described in combination with the embodiments disclosed herein can be realized by electronic hardware or a combination of computer software and electronic hardware. Whether the functions are realized in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to realize the described functions for each specific application, but such implementation should not be considered beyond the scope of the present application.

[0211] In the embodiments of the present application, "at least one" means one or more, and "multiple" means two or more. The "and / or" describes the association relationship of the associated objects, which means that there can be three relationships, for example, A and / or B, which can represent the cases of A alone, A and B together, and B alone. Wherein A and B can be singular or plural. The character " / " generally represents an "or" relationship between the front and rear associated objects. "At least one of the following" and the like means any combination of these items, including any combination of single or multiple items. For example, at least one of a, b and c can represent: a, b, c, a-b, a-c, b-c, or a-b-c, where a, b, and c can be single or multiple. Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working process of the above-described system, device and unit can refer to the corresponding process in the foregoing method embodiments, which will not be described here.

[0212] In several embodiments provided in the present application, it should be understood that the disclosed system, device and method can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the units is only a logical function division, and actual implementation can have another division manner. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the coupling or direct coupling or communication connection between the units shown or discussed can be indirect coupling or communication connection through some interface, device or unit, and can be electrical, mechanical or other forms.

[0213] The units described as separate components can or can not be physically separated, and the components shown as units can or can not be physical units, i.e. they can be located in one place or distributed on multiple network units. Part or all of the units can be selected according to actual needs to achieve the purpose of the embodiments.

[0214] In addition, each function unit in each embodiment of the present application can be integrated in one processing unit, or each unit can be physically present separately, or two or more units can be integrated in one unit.

[0215] If the functions 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. Based on this understanding, the technical solutions of the present application or the parts of the technical solutions that essentially contribute to the prior art can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes a plurality of instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, and various media that can store program codes.

[0216] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art can easily think of changes or replacements within the technical scope disclosed in the present application, which should be covered within the protection scope of the present application. Therefore, the protection scope of the present application should be subject to the protection scope of the claims.

Claims

1. A temperature control method of a processor, applied to a processor comprising M processor cores, the M processor cores sharing a power supply domain, M being an integer greater than 1, the method comprising: determining a temperature of each of the M processor cores; determining a temperature difference between each of the M processor cores; and controlling a power supply of each of the M processor cores according to the temperature and the temperature difference of each of the M processor cores. The method comprises: acquiring the temperature of each processor core at the current time; determining the target performance of each processor core according to the temperature of each processor core at the current time, and determining the first performance of the processor at the next time according to the target performance of each processor core; determining the supply voltage of the processor at the next time according to the temperature of each processor core at the current time, and determining the second performance of the processor at the next time according to the supply voltage of the processor at the next time; determining the temperature control strategy of the processor at the next time by comparing the first performance and the second performance.

2. The method of claim 1, wherein, The method of determining the supply voltage of the processor at the next time according to the temperature of each processor core at the current time, and determining the second performance of the processor at the next time according to the supply voltage of the processor at the next time, comprises: determining the supply voltage of the processor at the next time according to the temperature of N processor cores in the plurality of processor cores at the current time, and determining the performance of the N processor cores at the next time according to the supply voltage of the N processor cores at the next time; determining the second performance of the processor at the next time according to the performance of the N processor cores at the next time, wherein the N processor cores include at least one processor core whose temperature at the current time exceeds a first threshold, and N is a positive integer less than or equal to M.

3. The method of claim 2, wherein, The method of determining the supply voltage of the processor at the next time according to the temperature of N processor cores in the plurality of processor cores at the current time, and determining the performance of the N processor cores at the next time according to the supply voltage of the N processor cores at the next time, comprises: determining the target power and the target frequency of each processor core at the next time according to the temperature of each processor core at the current time; determining a first voltage supplied to the processor at the current time, and a first frequency gear corresponding to the first voltage; taking the i-th processor core in the N processor cores as a temperature control object, wherein i is a positive integer less than or equal to N; determining whether the i-th processor core meets the target power at the next time through frequency adjustment in the first frequency gear; if the i-th processor core meets the target power at the next time in the first frequency gear, frequency adjustment is performed on other processor cores in the plurality of processor cores to determine the performance of the processor at the next time under the first voltage; if the i-th processor core does not meet the target power at the next time in the first frequency gear, the supply voltage of the processor is adjusted to a second voltage to make the i-th processor core meet the target power, and frequency adjustment is performed on other processor cores in the plurality of processor cores to determine the performance of the processor at the next time under the second voltage; traversing the N processor cores to determine the performance of the N processor cores at the next time corresponding to the temperature of the N processor cores at the current time.

4. The method of claim 2, wherein, The second performance is the maximum value in the performance of the N processor cores at the next time.

5. The method of claim 2, wherein, The performance of the processor at the next time meets the following formula: Perf(t+1) = ∑α j f j (t+1); wherein Perf(t+1) is the processor performance at the next time, a j is the load coefficient of the jth processor core, f j (t+1) is the frequency of the jth processor core at the next time, and j is a positive integer less than or equal to M.

6. The method of claim 3, wherein, The second voltage is lower than the first voltage.

7. The method of claim 1, wherein, After the temperature of each of the M processor cores at the current time is obtained, the method further comprises: determining whether the temperature of each of the processor cores at the current time exceeds a first threshold value; if the temperature of each of the processor cores at the current time does not exceed the first threshold value, ending the temperature control of the processor.

8. The method of claim 1, wherein, The target performance of each of the processor cores is determined according to the temperature of each of the processor cores at the current time, and the first performance of the processor at the next time is determined according to the target performance of each of the processor cores, comprising: determining the target power or the target frequency of each of the processor cores at the next time according to the temperature of each of the processor cores at the current time, the target power or the target frequency being used to indicate the target performance; determining the first performance of the processor at the next time according to the target power or the target frequency of each of the processor cores at the next time.

9. The method of claim 1, wherein, The target performance of each of the processor cores is the target power or the target frequency of each of the processor cores at the next time.

10. The method of claim 2, wherein, The N processor cores are the N processor cores with higher temperatures in the M processor cores.

11. The method according to any one of claims 1 to 10, characterized in that, The temperature control strategy of the processor at the next time is determined by comparing the first performance and the second performance, comprising: determining the maximum value of the first performance and the second performance, and determining the temperature control strategy of the processor at the next time according to the processor performance corresponding to the maximum value.

12. The method of claim 11, wherein, The temperature control strategy comprises: setting the supply voltage of the processor at the next time to be the supply voltage corresponding to the processor performance corresponding to the maximum value; setting the frequency of the M processor cores at the next time to be the target frequency of the M processor corresponding to the processor performance corresponding to the maximum value.

13. A processor, comprising: comprising: M processor cores and temperature control logic, M being an integer greater than 1; wherein the M processor cores share a power supply domain; the temperature control logic comprises a receiving module and a processing module; the receiving module is configured to obtain the temperature of each of the M processor cores at the current time; the processing module is configured to determine the target performance of each of the processor cores according to the temperature of each of the processor cores at the current time, and determine the first performance of the processor at the next time according to the target performance of each of the processor cores; the processing module is further configured to determine the supply voltage of the processor at the next time according to the temperature of each of the processor cores at the current time, and determine the second performance of the processor at the next time according to the supply voltage of the processor at the next time; the processing module is further configured to determine the temperature control strategy of the processor at the next time by comparing the first performance and the second performance.

14. The processor of claim 13, wherein, the processing module is further configured to determine the supply voltage of the processor at the next time according to the temperature of each of the processor cores at the current time, and determine the second performance of the processor at the next time according to the supply voltage of the processor at the next time, comprising: The processing module determines the supply voltage of the processor at the next time point according to the temperature of each of the N processor cores at the current time point, and determines the processor performance at the next time point according to the supply voltage of the processor at the next time point corresponding to the N processor cores. The processing module determines the second performance of the processor at the next time point according to the processor performance at the next time point of the N processor cores, and the N processor cores include at least one processor core whose temperature at the current time point exceeds a first threshold, and N is a positive integer less than or equal to M.

15. The processor of claim 14, wherein, The processing module determines the supply voltage of the processor at the next time point according to the temperature of each of the N processor cores at the current time point, and determines the processor performance at the next time point according to the supply voltage of the processor at the next time point corresponding to the N processor cores, including: determining the target power and the target frequency of each processor core at the next time point according to the temperature of each processor core at the current time point; determining a first voltage supplied to the processor at the current time point, and a first frequency gear corresponding to the first voltage; taking the i-th processor core in the N processor cores as a temperature control object, i being a positive integer less than or equal to N; determining whether the i-th processor core meets the corresponding target power at the next time point by frequency adjustment in the first frequency gear; if the i-th processor core meets the corresponding target power at the next time point in the first frequency gear, frequency adjustment is performed on other processor cores in the plurality of processor cores to determine the processor performance at the next time point under the first voltage; if the i-th processor core does not meet the corresponding target power in the first frequency gear, the supply voltage of the processor is adjusted to a second voltage to make the i-th processor core meet the corresponding target power, and frequency adjustment is performed on other processor cores in the plurality of processor cores to determine the processor performance at the next time point under the second voltage; traversing the N processor cores to determine the N processor performance corresponding to the temperature of the N processor cores at the current time point.

16. The processor of claim 14, wherein, The second performance is the maximum value in the N processor performance at the next time point.

17. The processor of claim 14, wherein, The processor performance at the next time point satisfies the following formula: Perf(t+1) = ∑α j f j (t+1); wherein Perf(t+1) is the processor performance at the next time, a j is the load coefficient of the jth processor core, f j (t+1) is the frequency of the jth processor core at the next time, and j is a positive integer less than or equal to M.

18. The processor of claim 15, wherein, The second voltage is lower than the first voltage.

19. The processor of claim 13, wherein the processing module is further configured to determine whether the temperature of each processor core at the current time point exceeds a first threshold; if there is no processor core whose temperature at the current time point exceeds the first threshold, the temperature control of the processor is ended.

20. The processor of claim 13, wherein, The processing module is configured to determine the target performance of each processor core according to the temperature of each processor core at the current time point, and determine the first performance of the processor at the next time point according to the target performance of each processor core, including: determine a target power or a target frequency of each processor core at a next time point according to a temperature of each processor core at a current time point, the target power or the target frequency being used to indicate the target performance; determine a first performance of the processor at the next time point according to the target power or the target frequency of each processor core at the next time point.

21. The processor of claim 13, wherein, The target performance of each processor core is the target power or the target frequency of each processor core at the next time point.

22. The processor of claim 14, wherein, The N processor cores are N processor cores with higher temperatures in the M processor cores.

23. The processor of any one of claims 13-22, wherein, The processing module is further configured to determine a temperature control strategy of the processor at the next time point by comparing the first performance and the second performance, including: determining a maximum value in the first performance and the second performance, and determining the temperature control strategy of the processor at the next time point according to a processor performance corresponding to the maximum value.

24. The processor of claim 23, wherein, The temperature control strategy includes: setting a supply voltage of the processor at the next time point as a supply voltage corresponding to the processor performance corresponding to the maximum value; setting a frequency of the M processor cores at the next time point as a target frequency of the M processor cores corresponding to the processor performance corresponding to the maximum value.

25. A computer program storage medium, characterized in that, The computer program storage medium has program instructions, when the program instructions are executed by a processor, causing the processor to execute the method according to any one of claims 1 to 12.

26. A chip, characterized by The chip includes at least one processor, when program instructions are executed by the at least one processor, causing the at least one processor to execute the method according to any one of claims 1 to 12.

Citation Information

Patent Citations

  • Groove type reactor non-linear predication control method based on multi-kernel support vector machine

    CN101126917A

  • Context-assisted thermal management scheme in a portable device

    CN107015611A