Frequency determination method and device, electronic equipment, medium and chip

By building an energy efficiency optimization model for multiple modules of mobile devices, the problem of power consumption cannot be optimized between multiple modules is solved, and the effect of extending the battery life of the device under high performance is achieved.

CN120371667APending Publication Date: 2025-07-25BEIJING X RING TECHNOLOGY CO LTD
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202510429560.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-04-07
Publication Date
2025-07-25

AI Technical Summary

Technical Problem

In the prior art, while meeting high-performance requirements, mobile devices cannot effectively reduce power consumption between multiple modules, resulting in insufficient battery life.

Method used

By determining the performance parameters of multiple modules, establishing performance models and power consumption models, building energy efficiency optimization models, and jointly modulating the frequency to optimize the target frequency set to achieve joint frequency modulation between multiple modules.

Benefits of technology

While ensuring performance, reduce power consumption, extend the battery life of mobile devices, and improve the efficiency of frequency selection.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120371667A_ABST
    Figure CN120371667A_ABST
Patent Text Reader

Abstract

The invention provides a frequency determination method and device, electronic equipment, a medium and a chip, and relates to the technical field of frequency determination, and the method comprises the steps: determining the performance parameter of each module in a plurality of modules; based on the performance parameters of each module, determining a performance model and a power consumption model of each module; based on the performance model and the power consumption model of each module, determining an energy efficiency optimization model of the plurality of modules; the method comprises the steps of determining a target frequency set of multiple modules based on an energy efficiency optimization model, determining a performance model and a power consumption model of each module based on performance parameters of each module, and obtaining energy efficiency models of the multiple modules according to the performance model and the power consumption model of each model. And finally, target frequencies of the multiple modules can be obtained based on the energy efficiency models of the multiple modules, and joint frequency modulation among the multiple modules is realized.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the technical field of frequency determination, and particularly to a frequency determination method, apparatus, electronic device, medium, and chip. Background Art

[0002] With the popularization of mobile devices (such as smart phones, tablets, and laptops), users have higher and higher requirements for the performance of these devices, and at the same time hope that the devices can run continuously for a longer time after a single charge. However, mobile devices are limited by battery capacity and heat dissipation capabilities, which makes it a key challenge to minimize power consumption while meeting high-performance requirements.

[0003] In related frequency determination schemes, energy efficiency modeling is used to select the operating frequency with the optimal power consumption under specific performance requirements to achieve the purpose of extending the device's battery life. However, the energy efficiency modeling scheme in related frequency determination schemes mainly adjusts the frequency of a single module based on a performance model and a power consumption model, and does not support joint frequency modulation between multiple modules. Summary of the Invention

[0004] The present disclosure provides a frequency determination method, apparatus, electronic device, medium, and chip to solve the problem in related schemes that joint frequency modulation between multiple modules is not supported.

[0005] In a first aspect embodiment of the present disclosure, a frequency determination method is proposed. The method includes: determining the performance parameters of each module in multiple modules; based on the performance parameters of each module, determining the performance model and power consumption model of each module; based on the performance model and power consumption model of each module, determining the energy efficiency optimization model of multiple modules; based on the energy efficiency optimization model, determining the target frequency set of multiple modules, and the target frequency set includes the target frequency of each module.

[0006] In some embodiments of the present disclosure, determining the performance parameters of each module in multiple modules includes: determining the performance parameters of a first module in multiple modules in an offline state, and the performance parameters include at least one of the following: performance monitoring unit events, frequency, voltage, running time, and power consumption, and the offline state is a non-real-time running state.

[0007] In some embodiments of the present disclosure, determining the performance parameters of a first module in multiple modules in an offline state includes: determining the performance monitoring unit of the first module, and the performance monitoring unit of the first module is used to monitor the load of the first module; based on the performance monitoring unit of the first module, determining the performance monitoring unit events of the first module.

[0008] In some embodiments of the present disclosure, based on the performance parameters of each module, a performance model and a power consumption model of each module are determined, including: modeling the running time of the first module based on the performance monitoring unit events and frequencies of the first module among multiple modules to obtain a performance model corresponding to the first module; modeling the power consumption of the first module based on the performance monitoring unit events, frequencies, and voltages of the first module to obtain a power consumption model corresponding to the first module.

[0009] In some embodiments of the present disclosure, the frequency determination method provided in the present disclosure further includes: performing linear fitting on the performance models and power consumption models corresponding to multiple modules based on the performance parameters to determine the coefficients in the performance models and the coefficients in the power consumption models corresponding to multiple modules. The coefficients in the performance models include the first weight coefficient corresponding to each module, and the coefficients in the power consumption models include the second weight coefficient and the third weight coefficient corresponding to each module. The first weight coefficient, the second weight coefficient, and the third weight coefficient are used to determine the energy efficiency optimization model of multiple modules.

[0010] In some embodiments of the present disclosure, based on the performance models and power consumption models of each module, an energy efficiency optimization model of multiple modules is determined, including: respectively determining the performance models of multiple modules and the power consumption models of multiple modules based on the performance models and power consumption models of each module; determining a first frequency set of multiple modules based on the performance models of multiple modules and a preset time, where the preset time is related to the desired frame rate of the application; and determining the energy efficiency optimization model of multiple modules with the values of the power consumption models of multiple modules being minimized as the optimization objective and the first frequency set corresponding to each module as the constraint condition based on the first weight coefficient corresponding to each module, the second weight coefficient corresponding to each module, and the third weight coefficient.

[0011] In some embodiments of the present disclosure, based on the energy efficiency optimization model, a target frequency set of multiple modules is determined, including: when the frequencies in the first frequency set are discrete values, traversing the first frequency set based on the energy efficiency optimization model to determine the target frequency set of multiple modules.

[0012] In some embodiments of the present disclosure, based on the energy efficiency optimization model, a target frequency set of multiple modules is determined, including: when the frequencies in the first frequency set are discrete values, regarding the frequencies in the first frequency set as continuous values, processing the first frequency set according to a preset optimization algorithm to obtain a second frequency set; and determining the target frequency set of multiple modules based on the energy efficiency optimization model and the second frequency set.

[0013] A second aspect embodiment of the present disclosure provides a frequency determination device, which includes:

[0014] An acquisition module, configured to determine the performance parameters of each module among multiple modules;

[0015] A first determination module, configured to determine a performance model and a power consumption model for each module based on the performance parameters of each module;

[0016] A second determination module, configured to determine an energy efficiency optimization model for multiple modules based on the performance model and the power consumption model of each module;

[0017] A third determination module, configured to determine a set of target frequencies for multiple modules based on the energy efficiency optimization model, where the set of target frequencies includes the target frequency of each module.

[0018] In some embodiments of the present disclosure, an acquisition module is configured to: determine the performance parameters of a first module among multiple modules in an offline state, where the performance parameters include at least one of the following: performance monitoring unit events, frequency, voltage, running time, and power consumption, and the offline state is a non-real-time running state.

[0019] In some embodiments of the present disclosure, the acquisition module is further configured to: determine the performance monitoring unit of the first module, where the performance monitoring unit of the first module is used to monitor the load of the first module; based on the performance monitoring unit of the first module, determine the performance monitoring unit events of the first module.

[0020] In some embodiments of the present disclosure, the first determination module is configured to: model the running time of the first module based on the performance monitoring unit events and frequency of the first module among multiple modules to obtain a performance model corresponding to the first module; model the power consumption of the first module based on the performance monitoring unit events, frequency, and voltage of the first module to obtain a power consumption model corresponding to the first module.

[0021] In some embodiments of the present disclosure, the frequency determination device provided in the present disclosure further includes a coefficient acquisition module, configured to: perform linear fitting on the performance models and power consumption models corresponding to multiple modules based on the performance parameters to determine the coefficients in the performance models and the coefficients in the power consumption models corresponding to multiple modules, where the coefficients in the performance models include the first weight coefficient corresponding to each module, and the coefficients in the power consumption models include the second weight coefficient and the third weight coefficient corresponding to each module, and the first weight coefficient, the second weight coefficient, and the third weight coefficient are used to determine the energy efficiency optimization model of multiple modules.

[0022] In some embodiments of the present disclosure, a second determination module is configured to: respectively determine a performance model of a plurality of modules and a power consumption model of the plurality of modules based on the performance model and the power consumption model of each module; determine a first frequency set of the plurality of modules based on the performance model of the plurality of modules and a preset time, where the preset time is related to the desired frame rate of the application; and determine an energy efficiency optimization model of the plurality of modules with the first frequency set of the plurality of modules as a constraint condition and the minimum value of the power consumption model of the plurality of modules as an optimization objective, based on the first weight coefficient corresponding to each module, the second weight coefficient corresponding to each module, and the third weight coefficient.

[0023] In some embodiments of the present disclosure, a third determination module is configured to: when the frequencies in the first frequency set are discrete values, traverse the first frequency set based on the energy efficiency optimization model to determine a target frequency set of the plurality of modules.

[0024] In some embodiments of the present disclosure, the third determination module is further configured to: when the frequencies in the first frequency set are discrete values, regard the frequencies in the first frequency set as continuous values, process the first frequency set according to a preset optimization algorithm to obtain a second frequency set; and determine a target frequency set of the plurality of modules based on the energy efficiency optimization model and the second frequency set.

[0025] An embodiment of the third aspect of the present disclosure provides an electronic device, including: at least one processor; and a memory communicatively connected to the at least one processor; wherein, the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to execute the method described in the embodiment of the first aspect of the present disclosure.

[0026] An embodiment of the fourth aspect of the present disclosure provides a non-transitory computer-readable storage medium storing computer instructions, wherein the computer instructions are used to cause a computer to execute the method described in the embodiment of the first aspect of the present disclosure.

[0027] An embodiment of the fifth aspect of the present disclosure provides a chip, which includes at least one processor and a communication interface; the communication interface is configured to receive a signal input to the chip or a signal output from the chip, and the processor communicates with the communication interface and implements the method described in the first aspect of the present disclosure through logic circuits or by executing code instructions.

[0028] In summary, according to the frequency determination method proposed by the present disclosure, the performance parameters of each module in multiple modules are determined; based on the performance parameters of each module, the performance model and power consumption model of each module are determined; based on the performance model and power consumption model of each module, the energy efficiency optimization model of multiple modules is determined; based on the energy efficiency optimization model, the target frequency set of multiple modules is determined, and the target frequency set includes the target frequency of each module. By determining the performance model and power consumption model of each module based on the performance parameters of each module, and then obtaining the energy efficiency model of multiple modules according to the performance model and power consumption model of each model, finally, the target frequency of multiple modules can be obtained based on the energy efficiency model of multiple modules, realizing joint frequency modulation between multiple modules.

[0029] It should be understood that the above general description and the following detailed description are only exemplary and explanatory, and do not limit the present disclosure. Brief Description of the Drawings

[0030] The accompanying drawings herein are incorporated into the specification and constitute a part of this specification, showing embodiments consistent with the present disclosure, and together with the specification are used to explain the principles of the present disclosure and do not constitute an improper limitation of the present disclosure.

[0031] Figure 1 It is a flowchart of a frequency determination method provided by an embodiment of the present disclosure;

[0032] Figure 2 It is a schematic diagram of CPU memory access link frequency modulation provided by an embodiment of the present disclosure;

[0033] Figure 3 It is another schematic diagram of CPU memory access link frequency modulation provided by an embodiment of the present disclosure;

[0034] Figure 4 It is a schematic diagram of a GPU memory access link provided by an embodiment of the present disclosure;

[0035] Figure 5 It is a flowchart of a method for determining performance parameters provided by an embodiment of the present disclosure;

[0036] Figure 6 It is a flowchart of a method for determining the energy efficiency optimization model of multiple modules provided by an embodiment of the present disclosure;

[0037] Figure 7 It is a schematic diagram of the structure of a frequency determination device provided by an embodiment of the present disclosure;

[0038] Figure 8 It is a schematic diagram of the structure of an electronic device provided by an embodiment of the present disclosure;

[0039] Figure 9 It is a schematic diagram of the structure of a chip provided by an embodiment of the present disclosure. Detailed implementation manners

[0040] The embodiments of the present disclosure will be described in detail below. The examples of the embodiments are shown in the drawings, in which the same or similar reference numerals denote the same or similar elements or elements having the same or similar functions throughout. The implementations described below with reference to the drawings...

[0041] Mobile devices are limited by problems such as battery and heat dissipation. Therefore, it is necessary to minimize power consumption overhead on the premise of meeting performance, and energy efficiency modeling is to select the frequency that meets the optimal performance and power consumption.

[0042] Common energy efficiency modeling can be divided into two categories: One is based on device utilization. For example, the basic principle of the Central Processing Unit (CPU) governor in the linux kernel is to calculate the workload based on the CPU utilization and determine the best frequency to meet the load. The other is modeling based on the Performance Monitoring Unit (PMU). The diversity of PMU events can distinguish different load types (such as computing load, memory access load, etc.), and can distinguish the access times of different modules (devices), so that more accurate energy efficiency modeling can be carried out. For example, in related solutions, PMU is used to model the performance and power consumption of the CPU and Double Data Rate (DDR) respectively. Each frequency combination of the CPU and DDR corresponds to a performance and power consumption model. By traversing all frequency point combinations, the optimal solution that meets the performance and power consumption can be found. Another example is that in the topdown model, the performance overhead is decomposed and attributed through PMU, and a set of performance analysis methodologies for top-down decomposition is proposed. This methodology focuses on performance profiling but does not provide clear quantifiable frequency modulation scheduling guidelines. Another example is that in related solutions, PMU and the frequency F and voltage V of the device are used for power consumption modeling. The power consumption is decomposed into dynamic active power consumption, dynamic background power consumption, and static power consumption. PMU, V^2, and F are used to model the dynamic power consumption part, and PMU, V, F, T, etc. are used to model the static power consumption part. For example, in related solutions, methods such as Window Assisted Load Tracking (WALT) or Per Entity Load Tracking (PELT) are used for frequency modulation scheduling. WALT can calculate the duty cycle or CPU occupancy rate in the current window through a defined statistical strategy based on the duty cycle or CPU occupancy rate in the historical N non-empty windows of the task, and adjust PINLV1 step by step.

[0043] However, in related solutions, there are the following defects:

[0044] First, the performance model is modeled using PMU and other device factors without introducing device frequency. In order to avoid the impact of device frequency changes on performance, the CPU and DDR frequencies are combined in pairs, and each combination is modeled separately without considering the impact of other devices (such as SLC and L3) on performance. At the same time, the frequency point combination method is not convenient for device expansion. For example, after adding SLC and L3 devices, the number of frequency point combinations increases exponentially. In the process of solving the problem of meeting performance requirements and minimizing power consumption, it is necessary to enumerate all available frequencies, first find the first set that meets performance, and then bring it into the power consumption model to solve the frequency when the power consumption model is minimum, which has a large computational overhead.

[0045] Secondly, related solutions use the frequency F and voltage V of the PMU and device to perform power consumption modeling, focusing on the power consumption field and lacking linkage with the performance model, which lacks guidance for the selection of actual frequency.

[0046] Thirdly, the relevant solutions lack quantifiable calculation methods between the frequencies of various devices and are more applied to performance analysis, lacking direct guidance for frequency determination.

[0047] Finally, the related solutions use the window size as a period and adjust the frequency step by step according to the predicted CPU occupancy rate. This cannot respond to changes in performance requirements in a timely manner, ignores the differences between different load types (computation-intensive, memory-intensive), and adjusts the frequency of each device separately, ignoring the linkage frequency adjustment between devices.

[0048] In order to solve the problems existing in the related art, the present disclosure proposes a frequency determination method to determine the performance parameters of each module in a plurality of modules; based on the performance parameters of each module, determine the performance model and power consumption model of each module; based on the performance model and power consumption model of each module, determine the energy efficiency optimization model of the plurality of modules; based on the energy efficiency optimization model, determine the target frequency set of the plurality of modules, the target frequency set includes the target frequency of each module, by determining the performance model and power consumption model of each module based on the performance parameters of each module, and then obtain the energy efficiency models of the plurality of modules according to the performance model and power consumption model of each model, and finally, based on the energy efficiency models of the plurality of modules, the target frequencies of the plurality of modules can be obtained, thereby realizing joint frequency modulation among the plurality of modules.

[0049] The frequency determination method proposed in the present disclosure can be widely used in the field of software performance and power consumption technology, and is not limited to application scenarios such as games, animations, sliding interfaces, and cameras that require frame-by-frame drawing. This solution can be applied to any field with image processing. Taking the game screen as an example, the frame is used as a unit in the embodiment of the present application, and the frame rate indicates the number of times the graphics processor can be updated per second. The higher the frame rate, the smoother and more realistic the game screen will be.

[0050] The method of the present disclosure may be executed by an operating system, specifically, a power management unit in the operating system.

[0051] The frequency determination method provided by the present application will be described in detail below with reference to the accompanying drawings.

[0052] Figure 1 It is a flowchart of a frequency determination method provided by an embodiment of the present disclosure. As Figure 1 shown, the frequency determination method includes steps 101 to 104.

[0053] Step 101, determine the performance parameters of each module in multiple modules.

[0054] In some embodiments, the multiple modules refer to the modules between the CPU and the external storage. Taking the external storage as DDR as an example, as Figure 2 shown, Figure 2 is the memory access link of the CPU. In this memory access link, the multiple modules include a CORE module, an L1Cache module, an L2Cache module, a peripheral bus (Peri Bus) module, an L3Cache module, a system-level cache (System LevelCache, SLC) module, and a DDR module. Among them, the CORE module is the core processing unit of the CPU, the L1 module is the first-level cache closest to the CPU core, used to quickly access the most frequently used data and instructions, the L2 module is the intermediate-level cache between the L1 cache and the higher-level cache, the Peri Bus module is the communication channel connecting the CPU core and various peripheral devices (such as input / output controllers, etc.), the L3 module is the last-level cache in the multi-core processor, the SLC module is an optional cache, and the DDR module is the main memory.

[0055] In some embodiments, multiple modules may be determined according to actual frequency modulation requirements. For example, Figure 2 in, the CORE module, the L1Cache module, and the L2Cache module can be frequency-modulated together. This module is the CPU, L1Cache, L2Cache related counters (such as instr_retired, L1Cache, L2Cache and other PMU events), and the Peri Bus module is the BUS related counters (such as bus_access and other PMU events or bus bandwidth); as Figure 3As shown, the CORE module and the L1Cache module can also be frequency - adjusted together. This module is for the CPU and L1Cache - related counters (such as PMU events like instr_retired, L1I_cache_REFILL, etc.). The L2Cache module is frequency - adjusted separately. The L2Cache module is for L2Cache - related counters (such as L2D_cache and L2D_cache_REFILL and other PMU events). The Peri Bus module is for BUS - related counters (such as bus_access and other PMU events or bus bandwidth). The L3Cache module is for L3Cache - related counters (such as L3D_cache and L3D_cache_REFILL and other PMU events or L3 bandwidth). The SLC module is for SLC - related counters (such as LL_Cache_RD and LL_Cache_Miss_RD and other PMU events or SLC bandwidth). The DDR module is for DDR - related counters (such as LL_Cache_Miss_RD and other PMU events or DDR bandwidth).

[0056] In some embodiments, multiple modules can come from modules on different devices, such as Figure 4 as shown Figure 4 the modules between the graphics processing unit (such as Graphics Processing Unit, GPU) and external storage, including the GPU module, the SLC module, and the DDR module. Among them, the GPU module includes GPU - related counters (such as active count, fragment count, etc.). The SLC module includes SLC - related counters (such as GPU, SLC access bandwidth, etc.) and the DDR module (such as GPU, DDR access bandwidth, etc.).

[0057] In some embodiments, the performance parameters can include PMU, frequency, voltage, etc.

[0058] In some embodiments, the performance parameters of each module in multiple modules can be obtained through hardware monitoring.

[0059] In some embodiments, the performance parameters of each module in multiple modules can also be viewed and obtained through the operating system interface.

[0060] Step 102: Based on the performance parameters of each module, determine the performance model and power consumption model of each module.

[0061] In some embodiments, based on the performance parameters of each module, the running time of each module is modeled to determine the performance model of each module. Specifically, the running time of a module can be determined according to the ratio of the data volume and frequency of each module. However, in practical applications, the running time of each module is usually related to the overhead used for normal operation completion, front-end blocking overhead, and back-end blocking overhead. Among them, the front-end blocking overhead is usually the overhead corresponding to instruction fetching, and the back-end blocking overhead is usually the overhead corresponding to memory access.

[0062] In some embodiments, based on the performance parameters of each module, the power consumption is modeled to determine the power consumption model of each module. Specifically, the power consumption model includes dynamic power consumption, dynamic background power consumption, and static power consumption. Among them, dynamic power consumption refers to the power consumption generated by load calculation, and dynamic background power consumption refers to the power consumption caused by background switching when the system is idle.

[0063] Step 103: Based on the performance model and power consumption model of each module, determine the energy efficiency optimization model of multiple modules.

[0064] In some embodiments, based on the performance model of each module, the performance models of multiple modules can be obtained. Based on the power consumption model of each module, the power consumption models of multiple modules can be obtained. Based on the performance models and power consumption models of multiple modules, determine the energy efficiency optimization model of multiple modules.

[0065] In some embodiments, take the performance models of multiple modules as the constraint conditions of the energy efficiency optimization model, and take the power consumption models of multiple modules as the objective function to establish the energy efficiency optimization model.

[0066] In some embodiments, the energy efficiency optimization model of multiple modules takes into account the performance and power consumption of each module at the same time, and can achieve the energy efficiency optimization of multiple modules.

[0067] Step 104: Based on the energy efficiency optimization model, determine the target frequency set of multiple modules. The target frequency set includes the target frequency of each module.

[0068] In some embodiments, according to the constraint conditions of the performance models of multiple modules in the energy efficiency optimization model, the frequency sets of multiple modules can be obtained. Each frequency set corresponds to a frequency modulation scheme. Therefore, the target frequency set can be further determined according to the power consumption models of multiple modules in the energy efficiency optimization model, so as to obtain the target frequency that minimizes the power consumption of multiple models.

[0069] In summary, according to the frequency determination method proposed by the present disclosure, the performance parameters of each module among multiple modules are determined; based on the performance parameters of each module, the performance model and power consumption model of each module are determined; based on the performance model and power consumption model of each module, the energy efficiency optimization model of multiple modules is determined; based on the energy efficiency optimization model, the target frequency set of multiple modules is determined, and the target frequency set includes the target frequency of each module. By determining the performance model and power consumption model of each module based on the performance parameters of each module, and then obtaining the energy efficiency model of multiple modules according to the performance model and power consumption model of each model, finally, the target frequency of multiple modules can be obtained based on the energy efficiency model of multiple modules, realizing joint frequency modulation among multiple modules.

[0070] In some embodiments, determining the performance parameters of each module among multiple modules includes:

[0071] Determine the performance parameters of the first module among multiple modules in the offline state. The performance parameters include at least one of the following: performance monitoring unit events, frequency, voltage, running time, and power consumption. The offline state is a non-real-time running state.

[0072] In some embodiments, the first module among multiple modules can be any one of the multiple modules.

[0073] In some embodiments, the performance monitoring unit events are monitored and collected by the performance monitoring unit.

[0074] In some embodiments, the number of performance monitoring units of the first module among multiple modules can be one or multiple.

[0075] In some embodiments, the performance monitoring units of each module among multiple modules can be the same or different, and the present application does not limit this.

[0076] Based on Figure 1 the embodiments shown, Figure 5 Further, a flowchart of a method for determining performance parameters proposed by the present disclosure is shown. Figure 5 Based on Figure 1 the embodiments shown, step 101 is further defined. As Figure 2 shown, the method includes the following steps:

[0077] Step 501, determine the performance monitoring unit of the first module. The performance monitoring unit of the first module is used to monitor the load of the first module.

[0078] In some embodiments, the first module can be the aforementioned Figure 2Any one of the CPU (CORE module, L1Cache module, L2Cache module), Peri Bus module, L3Cache module, SLC module, and DDR module.

[0079] In some embodiments, taking the first module as the CPU as an example, the performance monitoring units of the CPU can be one or more of instr_spec, instr_retired, dp_spec, ldst_spce, vfp_spec, ase_spec, L1I_cache, L1D_cache, L2D_cache, and L2D_cache_refill. Usually, multiple performance monitoring units are selected.

[0080] In some embodiments, taking the first module as the Peri Bus as an example, the performance monitoring units of the Peri Bus can be one or more of bus_access, L3D_Cache, L3D_Cache_Refill, and LL_Cache_Miss_RD. The bus access bandwidth information of the CPU can also be used.

[0081] In some embodiments, taking the first module as L3 as an example, the performance monitoring units of L3 can be one or more of bus_access, L2D_Cache_Refill, L3D_Cache, and L3D_Cache_Refill. In addition, the L3 access bandwidth information of the CPU can also be used.

[0082] In some embodiments, taking the first module as the SLC as an example, the performance monitoring units of the SLC can be one or more of L3D_Cache, L3D_Cache_Refill, LL_Cache_RD, and LL_Cache_Miss_RD. In addition, the SLC access bandwidth information of the CPU can also be used.

[0083] In some embodiments, taking the first module as the DDR as an example, the performance monitoring unit of the DDR can be LL_Cache_Miss_RD. In addition, the DDR access bandwidth information of the CPU can also be used.

[0084] In some embodiments, the performance monitoring units of the first module can be determined according to the types of devices supported by the chip, the PMU type, and the maximum number of PMUs that can be obtained simultaneously.

[0085] In some embodiments, the PMU can be screened by verifying the correlation between the PMU and the running time in the state where some devices are frequency-locked.

[0086] Step 502: Determine the performance monitoring unit events of the first module based on the performance monitoring unit of the first module.

[0087] In some embodiments, based on the selected performance monitoring unit above, obtain the performance monitoring unit events corresponding to the performance monitoring unit.

[0088] In some embodiments, the performance monitoring unit events generally include the amount of accessed bytes or the number of accesses.

[0089] In some embodiments, based on the performance parameters of each module, determine the performance model and power consumption model of each module, including:

[0090] Based on the performance monitoring unit events and frequency of the first module among multiple modules, model the running time of the first module to obtain the performance model corresponding to the first module;

[0091] In some embodiments, taking the first module as the CPU as an example, the mathematical expression of the performance model corresponding to the CPU is represented by the following formula:

[0092]

[0093] Where a i , b i , c i , d i and e i respectively represent the coefficients of the performance model corresponding to the i-th PMU count value in each module (CPU, Peri Bus, L3, SLC, DDR), and respectively represent the i-th PMU count value related to each module, freq cpu , freq PeriBus , freq L3 , freq slc and freq ddr respectively represent the frequency of the CPU, runtime cpu represents the running time of multiple modules.

[0094] Based on the performance monitoring unit events, frequency and voltage of the first module, model the power consumption of the first module to obtain the power consumption model corresponding to the first module.

[0095] In some embodiments, taking the first module as the CPU as an example, the mathematical expression of the power consumption model corresponding to the CPU is represented by the following formula:

[0096]

[0097] Where g cpu (PMUs, V cpu, freq cpu ) represents the power consumption model of the CPU, represents the square of the CPU voltage, represents the i-th PMU count value related to the CPU, freq cpu represents the frequency of the CPU, p i , q i represents the coefficients in the power consumption model, b1 and b2 represent the constant terms, power cpu represents the power consumption of the CPU.

[0098] In some embodiments, the frequency determination method further includes:

[0099] Based on the performance parameters, perform linear fitting on the performance models and power consumption models corresponding to multiple modules to determine the coefficients in the performance models and the coefficients in the power consumption models corresponding to the multiple modules. The coefficients in the performance models include the first weight coefficients corresponding to each module, and the coefficients in the power consumption models include the second weight coefficients and the third weight coefficients corresponding to each module. The first weight coefficients, the second weight coefficients, and the third weight coefficients are used to determine the energy efficiency optimization model of the multiple modules.

[0100] In some embodiments, taking the first module among the multiple modules as the CPU as an example, based on the performance parameters of the first module among the foregoing multiple modules in the offline state, substitute them into the expressions of the performance model and the power consumption model of the foregoing CPU to obtain the coefficients in the foregoing performance model and power consumption model expressions. The first weight coefficients are b i , c i , d i and e i in the CPU performance model, and the second weight coefficient and the third weight coefficient are p i , q i in the CPU power consumption model.

[0101] Based on Figure 1 the embodiments shown, Figure 6 further shows a flowchart of a method for determining the performance model and power consumption model of each module proposed by the present disclosure. Figure 6 Based on Figure 1 the embodiments shown, further define step 103. As Figure 6 shown, the method includes the following steps:

[0102] Step 601, based on the performance models and power consumption models of each module, respectively determine the performance models of the multiple modules and the power consumption models of the multiple modules;

[0103] In some embodiments, taking Figure 2Taking multiple modules as an example, the power consumption models of the CPU, Peri Bus, L3, SLC, and DDR can be added together to obtain the power consumption model of the multiple modules.

[0104] Further, in some embodiments, the multiple modules may further include Figure 2 the GPU module, Figure 4 the GPU module and the Neural Processing Unit (NPU) module, that is, the power consumption models of the CPU, Peri Bus, L3, SLC, DDR, GPU, and NPU can be added together to obtain the power consumption model of the multiple modules.

[0105] Step 602: Based on the performance models of the multiple modules and a preset time, determine the first frequency set of the multiple modules, where the preset time is related to the desired frame rate of the application;

[0106] In some embodiments, the preset time can be obtained based on the desired frame rate of the application. For example, taking 60 frames as an example, the calculation needs to be completed within 16.6 ms.

[0107] In some embodiments, the mathematical expression for determining the first frequency set of the multiple modules is as follows:

[0108]

[0109] where r1, r2, r3 are the margin coefficients for the running time of each module (CPU, GPU, and NPU), which can take values from 0.8 to 0.9, time is the preset time, which can be the aforementioned 16.6 ms, and are the i-th influencing factor values related to the GPU and NPU and the module respectively, f i , g i , h i , i i are the coefficients of each influencing factor value, freq gpu , freq slc , freq ddr and freq npu are the frequencies of the GPU, SLC, DDR, and NPU respectively, runtime cpu , runtime gpu and runtime npu represent the running times of the CPU, GPU, and NPU respectively.

[0110] Step 603: Based on the first weight coefficient corresponding to each module, the second weight coefficient corresponding to each module, and the third weight coefficient, with the first frequency set of multiple modules as the constraint condition and the minimum value of the power consumption models of multiple modules as the optimization objective, determine the energy efficiency optimization model of multiple modules.

[0111] In some embodiments, the mathematical expression of the optimization objective is as follows:

[0112] min(power cpu +power L3 +power slc +power ddr +power gpu +power npu );

[0113] Wherein, power cpu 、power L3 、power slc 、power ddr 、power gpu 、power npu are the power consumptions of the CPU, L3, SLC, DDR, GPU, and NPU respectively.

[0114] In some embodiments, on the basis of taking the first frequency set of multiple modules as the constraint condition, the energy efficiency optimization model also needs to satisfy the constraints of the self-characteristics of the CPU, L3, SLC, DDR, GPU, and NPU. For example, for DDR, the frequency needs to meet the DDR bandwidth requirement, and the mathematical expression of the DDR bandwidth requirement is as follows:.

[0115] freq ddr *channel*r4>∑ i B i ;

[0116] Wherein, freq ddr is the frequency of DDR, channel is the number of channels of DDR, r4 is the margin coefficient, B i is the expected DDR bandwidth of device i, and ∑ i B i is the expected DDR bandwidth of all devices.

[0117] In some embodiments, based on the energy efficiency optimization model, determine the target frequency set of multiple modules, including:

[0118] When the frequencies in the first frequency set are discrete values, based on the energy efficiency optimization model, traverse the first frequency set to determine the target frequency set of multiple modules.

[0119] In some embodiments, since there are multiple frequency sets that satisfy the performance models of multiple modules, it is necessary to determine a target frequency set from multiple first frequency sets. The frequencies in the target frequency set can minimize the power consumption of multiple modules, that is, the power consumption can be reduced and the battery life of the mobile device can be extended while ensuring performance.

[0120] In some embodiments, multiple first frequency sets can be respectively substituted into the expression of the optimization objective to obtain the power consumption corresponding to each first frequency set, and then the first frequency set corresponding to the minimum power consumption can be screened out to obtain the target frequency set.

[0121] In some embodiments, determining the target frequency set of multiple modules based on the energy efficiency optimization model includes:

[0122] When the frequencies in the first frequency set are discrete values, the frequencies in the first frequency set are regarded as continuous values, and the first frequency set is processed according to a preset optimization algorithm to obtain a second frequency set;

[0123] In some embodiments, the preset optimization algorithm can be a convex optimization algorithm.

[0124] In some embodiments, by regarding the frequencies in the first frequency set as continuous values and processing the first frequency set according to the convex optimization algorithm, a frequency set that theoretically minimizes the power consumption, that is, the second frequency set, can be obtained.

[0125] Determine the target frequency set of multiple modules based on the energy efficiency optimization model and the second frequency set.

[0126] In some embodiments, since the frequencies in the second frequency set may not be on the frequency gears, it is necessary to obtain a frequency set that falls on the gears based on the frequencies in the second frequency set. Finally, these frequency sets that fall on the gears are substituted into the expression of the foregoing optimization objective to obtain the power consumption corresponding to these frequency sets, and the target frequency set is obtained.

[0127] In some embodiments, by determining the target frequency set of multiple modules based on the energy efficiency optimization model and the second frequency set, the computational amount for obtaining the target frequency set can be reduced.

[0128] In one embodiment, the PMU value of the next frame can be predicted according to the PMU value of the historical frame. The mathematical expression for predicting the PMU value of the next frame is as follows:

[0129]

[0130] where, represents the predicted value of the i-th PMU at time 0, Denote the predicted value of the \(i\)-th PMU at time \(1\). Denote the predicted value of the \(i\)-th PMU at time \(t - 1\). Denote the predicted value of the \(i\)-th PMU at time \(t\).

[0131] In one embodiment, the above prediction method can select mean regression algorithm, linear regression algorithm, K-nearest neighbor regression algorithm, tabular regression algorithm, etc. This application does not limit the specific prediction algorithm used.

[0132] In one embodiment, based on the predicted PMU value of the next frame, the power consumption and running time at future moments can be obtained, and then subsequent frequency modulation can be performed according to the calculated power consumption and running time.

[0133] Therefore, this solution has the following beneficial effects:

[0134] 1. In the method of the present disclosure, by determining the performance model and power consumption model of each module based on the performance parameters of each module, and then obtaining the energy efficiency models of multiple modules according to the performance models and power consumption models of each model, and finally obtaining the target frequencies of multiple modules based on the energy efficiency models of multiple modules, joint frequency modulation among multiple modules is realized.

[0135] 2. In the method of the present disclosure, by determining the target frequency set from multiple first frequency sets, the frequencies in the target frequency set can minimize the power consumption of multiple modules, that is, the power consumption can be reduced and the battery life of the mobile device can be extended while ensuring performance.

[0136] 3. In the method of the present disclosure, by determining the target frequency set of multiple modules based on the energy efficiency optimization model and the second frequency set, the computational amount for obtaining the target frequency set can be reduced.

[0137] 4. In the method of the present disclosure, based on the predicted PMU value of the next frame, the power consumption and running time at future moments can be obtained, and then subsequent frequency modulation can be performed according to the calculated power consumption and running time.

[0138] Figure 7 This is a schematic structural diagram of a frequency determination device 700 provided by an embodiment of the present disclosure. As Figure 7 shown, the frequency determination device 700 includes:

[0139] An acquisition module 710, configured to determine the performance parameters of each module among multiple modules;

[0140] A first determination module 720, configured to determine the performance model and power consumption model of each module based on the performance parameters of each module;

[0141] A second determination module 730, configured to determine an energy efficiency optimization model for multiple modules based on the performance model and power consumption model of each module;

[0142] A third determination module 740, configured to determine a set of target frequencies for multiple modules based on the energy efficiency optimization model, where the set of target frequencies includes the target frequency of each module.

[0143] In some embodiments of the present disclosure, an acquisition module 710 is configured to: determine performance parameters of a first module among multiple modules in an offline state, where the performance parameters include at least one of the following: performance monitoring unit events, frequency, voltage, running time, and power consumption, and the offline state is a non-real-time running state.

[0144] In some embodiments of the present disclosure, the acquisition module 710 is further configured to: determine a performance monitoring unit of the first module, where the performance monitoring unit of the first module is used to monitor the load of the first module; based on the performance monitoring unit of the first module, determine performance monitoring unit events of the first module.

[0145] In some embodiments of the present disclosure, a first determination module 720 is configured to: model the running time of the first module based on the performance monitoring unit events and frequency of the first module among multiple modules to obtain a performance model corresponding to the first module; model the power consumption of the first module based on the performance monitoring unit events, frequency, and voltage of the first module to obtain a power consumption model corresponding to the first module.

[0146] In some embodiments of the present disclosure, the frequency determination device 700 provided in the present disclosure further includes a coefficient acquisition module, configured to: perform linear fitting on the performance models and power consumption models corresponding to multiple modules based on the performance parameters to determine the coefficients in the performance models and the coefficients in the power consumption models corresponding to multiple modules, where the coefficients in the performance models include a first weight coefficient corresponding to each module, and the coefficients in the power consumption models include a second weight coefficient and a third weight coefficient corresponding to each module, and the first weight coefficient, the second weight coefficient, and the third weight coefficient are used to determine the energy efficiency optimization model of the multiple modules.

[0147] In some embodiments of the present disclosure, the second determination module 730 is configured to: respectively determine the performance models of multiple modules and the power consumption models of multiple modules based on the performance models and power consumption models of each module; determine a first frequency set of multiple modules based on the performance models of multiple modules and a preset time, where the preset time is related to the desired frame rate of the application; based on the first weight coefficient corresponding to each module, the second weight coefficient and the third weight coefficient corresponding to each module, with the first frequency set of multiple modules as a constraint condition and the minimum value of the power consumption models of multiple modules as an optimization target, determine the energy efficiency optimization model of multiple modules.

[0148] In some embodiments of the present disclosure, the third determination module 740 is configured to: when the frequencies in the first frequency set are discrete values, traverse the first frequency set based on the energy efficiency optimization model to determine the target frequency set of multiple modules.

[0149] In some embodiments of the present disclosure, the third determination module 740 is further configured to: when the frequencies in the first frequency set are discrete values, regard the frequencies in the first frequency set as continuous values, process the first frequency set according to a preset optimization algorithm to obtain a second frequency set; and determine the target frequency set of multiple modules based on the energy efficiency optimization model and the second frequency set.

[0150] In summary, through the frequency determination device, the performance parameters of each module in multiple modules are determined; based on the performance parameters of each module, the performance model and power consumption model of each module are determined; based on the performance model and power consumption model of each module, the energy efficiency optimization model of multiple modules is determined; based on the energy efficiency optimization model, the target frequency set of multiple modules is determined, and the target frequency set includes the target frequency of each module. By determining the performance model and power consumption model of each module based on the performance parameters of each module, and then obtaining the energy efficiency model of multiple modules according to the performance model and power consumption model of each model, and finally obtaining the target frequencies of multiple modules based on the energy efficiency model of multiple modules, joint frequency modulation between multiple modules is achieved.

[0151] In the above embodiments provided by the present application, the methods and devices provided by the embodiments of the present application are introduced. To implement each function in the methods provided by the above embodiments of the present application, an electronic device may include a hardware structure and software modules, and implement the above functions in the form of a hardware structure, software modules, or a combination of a hardware structure and software modules. A certain function among the above functions may be executed in the form of a hardware structure, software module, or a combination of a hardware structure and software module.

[0152] Figure 8 FIG. is a block diagram of an electronic device 800 for implementing the above frequency determination method according to an exemplary embodiment. For example, the electronic device 800 may be a mobile phone, a computer, a messaging device, a game console, a tablet device, a medical device, a fitness device, a personal digital assistant, etc.

[0153] Referring to Figure 8 , the electronic device 800 may include one or more of the following components: a processing component 802, a memory 804, a power supply component 806, a multimedia component 808, an audio component 810, an input / output (I / O) interface 812, a sensor component 814, and a communication component 816.

[0154] The processing component 802 generally controls the overall operation of the electronic device 800, such as operations associated with display, telephone calls, data communication, camera operations, and recording operations. The processing component 802 may include one or more processors 820 to execute instructions to complete all or part of the steps of the above-described methods. In addition, the processing component 802 may include one or more modules to facilitate the interaction between the processing component 802 and other components. For example, the processing component 802 may include a multimedia module to facilitate the interaction between the multimedia component 808 and the processing component 802.

[0155] The memory 804 is configured to store various types of data to support the operation of the electronic device 800. Examples of such data include instructions for any application or method operating on the electronic device 800, contact data, phone book data, messages, pictures, videos, and the like. The memory 804 may be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, a magnetic disk, or an optical disk.

[0156] The power component 806 provides power to the various components of the electronic device 800. The power component 806 may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power for the electronic device 800.

[0157] The multimedia component 808 includes a screen that provides an output interface between the electronic device 800 and the user. In some embodiments, the screen may include a liquid crystal display (LCD) and a touch panel (TP). If the screen includes a touch panel, the screen may be implemented as a touch screen to receive input signals from the user. The touch panel includes one or more touch sensors to sense touches, swipes, and gestures on the touch panel. The touch sensors can sense not only the boundaries of the touch or swipe actions, but also detect the duration and pressure associated with the touch or swipe operations. In some embodiments, the multimedia component 808 includes a front camera and / or a rear camera. When the electronic device 800 is in an operating mode, such as a shooting mode or a video mode, the front camera and / or the rear camera can receive external multimedia data. Each of the front camera and the rear camera may be a fixed optical lens system or have focal length and optical zoom capabilities.

[0158] The audio component 810 is configured to output and / or input audio signals. For example, the audio component 810 includes a microphone (MIC), which is configured to receive external audio signals when the electronic device 800 is in an operating mode, such as a call mode, a recording mode, and a voice recognition mode. The received audio signal can be further stored in the memory 804 or transmitted via the communication component 816. In some embodiments, the audio component 810 further includes a speaker for outputting audio signals.

[0159] The I / O interface 812 provides an interface between the processing component 802 and a peripheral interface module, which may be a keyboard, a click wheel, buttons, etc. These buttons may include, but are not limited to: a home button, a volume button, a power button, and a lock button.

[0160] The sensor component 814 includes one or more sensors for providing an assessment of the state of various aspects of the electronic device 800. For example, the sensor component 814 can detect the on / off state of the electronic device 800, the relative positioning of components, such as the display and keypad of the electronic device 800. The sensor component 814 can also detect a change in the position of the electronic device 800 or a component of the electronic device 800, the presence or absence of user contact with the electronic device 800, the orientation or acceleration / deceleration of the electronic device 800, and a change in the temperature of the electronic device 800. The sensor component 814 may include a proximity sensor configured to detect the presence of nearby objects without any physical contact. The sensor component 814 may also include a light sensor, such as a CMOS or CCD image sensor, for use in imaging applications. In some embodiments, the sensor component 814 may further include an acceleration sensor, a gyro sensor, a magnetic sensor, a pressure sensor, or a temperature sensor.

[0161] The communication component 816 is configured to facilitate communication between the electronic device 800 and other devices in a wired or wireless manner. The electronic device 800 can access a wireless network based on a communication standard, such as WiFi, 2G or 3G, 4G LTE, 5G NR (New Radio), or a combination thereof. In an exemplary embodiment, the communication component 816 receives a broadcast signal or broadcast-related information from an external broadcast management system via a broadcast channel. In an exemplary embodiment, the communication component 816 further includes a near field communication (NFC) module to facilitate short-range communication. For example, the NFC module can be implemented based on radio frequency identification (RFID) technology, infrared data association (IrDA) technology, ultra-wideband (UWB) technology, Bluetooth (BT) technology, and other technologies.

[0162] In an exemplary embodiment, the electronic device 800 may be implemented by one or more application specific integrated circuits (ASICs), digital frequency determiners (DSPs), digital frequency determination devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), controllers, microcontrollers, microprocessors, or other electronic components for performing the above method.

[0163] In an exemplary embodiment, a non-transitory computer-readable storage medium including instructions is also provided, such as a memory 804 including instructions, and the above instructions can be executed by a processor 820 of the electronic device 800 to complete the above method. For example, the non-transitory computer-readable storage medium may be a ROM, a random access memory (RAM), a CD-ROM, a magnetic tape, a floppy disk, and an optical data storage device, etc.

[0164] An embodiment of the present disclosure also proposes a non-transitory computer-readable storage medium storing computer instructions, where the computer instructions are used to cause a computer to execute the frequency determination method described in the above embodiments of the present disclosure.

[0165] An embodiment of the present disclosure also proposes a computer program product, including a computer program, and the computer program is executed by a processor to perform the frequency determination method described in the above embodiments of the present disclosure.

[0166] An embodiment of the present disclosure also proposes a chip, as Figure 9 shown, the chip includes one or more interface circuits 901 and one or more processors 902; the interface circuit is used to receive a signal and send the signal to the processor, and the signal includes computer instructions stored in a memory. When the processor executes the computer instructions, the chip executes the frequency determination method described in the above embodiments of the present disclosure.

[0167] It should be noted that the terms "first", "second", etc. in the description and claims of the present disclosure and the above drawings are used to distinguish similar objects and do not necessarily need to describe a specific order or sequence. It should be understood that such used data can be interchanged under appropriate circumstances so that the embodiments of the present disclosure described here can be implemented in an order other than those illustrated or described here. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present disclosure. On the contrary, they are merely examples of devices and methods consistent with some aspects of the present disclosure as detailed in the appended claims.

[0168] In the description of this specification, the descriptions referring to terms such as "one embodiment", "some embodiments", "illustrative embodiments", "examples", "specific examples", or "some examples", etc. mean that the specific features, structures, materials, or characteristics described in connection with the embodiments or examples are included in at least one embodiment or example of the present invention. In this specification, the schematic descriptions of the above terms do not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials, or characteristics described can be combined in any one or more embodiments or examples in a suitable manner.

[0169] Any process or method description represented in a flowchart or described in other ways herein can be understood to represent a module, segment, or portion of code including one or more executable instructions for implementing a specific logical function or process. And the scope of the preferred embodiments of the present invention includes additional implementations, where the functions can be executed in a manner that may not be in the order shown or discussed, including in a substantially simultaneous manner according to the functions involved or in a reverse order, which should be understood by those skilled in the art to which the embodiments of the present invention pertain.

[0170] The logic and / or steps represented in a flowchart or described in other ways herein, for example, can be considered as a sequenced list of executable instructions for implementing logical functions, and can be specifically implemented in any computer-readable medium for use by an instruction execution system, apparatus, or device (such as a computer-based system, a system including a processing module, or other systems that can fetch and execute instructions from the instruction execution system, apparatus, or device), or in conjunction with such instruction execution systems, apparatus, or devices. For the purposes of this specification, a "computer-readable medium" can be any device that can contain, store, communicate, propagate, or transport a program for use by or in conjunction with an instruction execution system, apparatus, or device. More specific examples (non-exhaustive list) of computer-readable media include the following: an electrical connection portion with one or more wirings (control method), a portable computer diskette (magnetic device), a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber device, and a portable compact disc read-only memory (CDROM). Additionally, a computer-readable medium can even be paper or other suitable media on which a program can be printed, because the program can be obtained electronically, for example, by optically scanning the paper or other media, followed by editing, interpretation, or other appropriate processing as necessary, and then stored in a computer memory.

[0171] It should be understood that each part of the embodiments of the present invention can be implemented by hardware, software, firmware, or a combination thereof. In the above embodiments, multiple steps or methods can be implemented by software or firmware stored in a memory and executed by a suitable instruction execution system. For example, if implemented by hardware, as in another embodiment, any one of the following techniques well known in the art or a combination thereof can be used: discrete logic circuits with logic gate circuits for implementing logic functions on data signals, application specific integrated circuits with appropriate combinational logic gate circuits, programmable gate arrays (PGAs), field programmable gate arrays (FPGAs), etc.

[0172] Those of ordinary skill in the art can understand that all or part of the steps carried by the methods of the above embodiments can be completed by instructing relevant hardware through a program, and the program can be stored in a computer-readable storage medium. When the program is executed, it includes one or a combination of the steps of the method embodiments.

[0173] In addition, in each embodiment of the present invention, each functional unit can be integrated into a processing module, or each unit can exist physically alone, or two or more units can be integrated into one module. The above integrated module can be implemented in the form of hardware or in the form of a software functional module. When the integrated module is implemented in the form of a software functional module and sold or used as an independent product, it can also be stored in a computer-readable storage medium. The above-mentioned storage medium can be a read-only memory, a magnetic disk, an optical disk, etc.

[0174] Although the embodiments of the present invention have been shown and described above, it can be understood that the above embodiments are exemplary and should not be construed as limiting the present invention. Those of ordinary skill in the art can make changes, modifications, substitutions, and variations to the above embodiments within the scope of the present invention.

Claims

1. A frequency determination method, characterized in that, The method includes: Determining the performance parameters of each of multiple modules; Based on the performance parameters of each module, determining the performance model and power consumption model of each module; Based on the performance model and the power consumption model of each module, determining the energy efficiency optimization model of the multiple modules; Based on the energy efficiency optimization model, determining the target frequency set of the multiple modules, where the target frequency set includes the target frequency of each module.

2. The method according to claim 1, characterized in that, The determining the performance parameters of each of multiple modules includes: Determining the performance parameters of a first module among the multiple modules in an offline state, where the performance parameters include at least one of the following: performance monitoring unit events, frequency, voltage, running time, and power consumption, and the offline state is a non-real-time running state.

3. The method according to claim 2, characterized in that, The determining the performance parameters of the first module among the multiple modules in an offline state includes: Determining the performance monitoring unit of the first module, where the performance monitoring unit of the first module is used to monitor the load of the first module; Based on the performance monitoring unit of the first module, determining the performance monitoring unit events of the first module.

4. The method according to any one of claims 2 to 3, characterized in that, The determining the performance model and power consumption model of each module based on the performance parameters of each module includes: Based on the performance monitoring unit events and frequency of the first module among the multiple modules, modeling the running time of the first module to obtain the performance model corresponding to the first module; Based on the performance monitoring unit events, frequency, and voltage of the first module, modeling the power consumption of the first module to obtain the power consumption model corresponding to the first module.

5. The method according to any one of claims 1 to 3, characterized in that The method further includes: Based on the performance parameters, performing linear fitting on the performance models and the power consumption models corresponding to the multiple modules to determine the coefficients in the performance models and the coefficients in the power consumption models corresponding to the multiple modules. The coefficients in the performance models include the first weight coefficient corresponding to each module, and the coefficients in the power consumption models include the second weight coefficient and the third weight coefficient corresponding to each module. The first weight coefficient, the second weight coefficient, and the third weight coefficient are used to determine the energy efficiency optimization model of the multiple modules.

6. The method according to any one of claims 5, characterized in that, The determining the energy efficiency optimization model of the multiple modules based on the performance model and the power consumption model of each module includes: Based on the performance model and the power consumption model of each module, respectively determining the performance model of the multiple modules and the power consumption model of the multiple modules; Based on the performance model of the multiple modules and a preset time, determining the first frequency set of the multiple modules, where the preset time is related to the desired frame rate of the application; Based on the first weight coefficient corresponding to each module, the second weight coefficient corresponding to each module, and the third weight coefficient, with the first frequency set of the multiple modules as the constraint condition and the minimum value of the power consumption model of the multiple modules as the optimization target, determining the energy efficiency optimization model of the multiple modules.

7. The method according to claim 6, characterized in that, The determining the target frequency set of the multiple modules based on the energy efficiency optimization model includes: When the frequencies in the first frequency set are discrete values, based on the energy efficiency optimization model, traverse the first frequency set to determine the target frequency set of the multiple modules.

8. The method according to claim 6, wherein Determining the target frequency set of the multiple modules based on the energy efficiency optimization model includes: When the frequencies in the first frequency set are discrete values, regard the frequencies in the first frequency set as continuous values, and process the first frequency set according to a preset optimization algorithm to obtain a second frequency set; Based on the energy efficiency optimization model and the second frequency set, determine the target frequency set of the multiple modules.

9. A frequency determination device, the device includes: An acquisition module, configured to determine the performance parameters of each module in the multiple modules; A first determination module, configured to determine the performance model and power consumption model of each module based on the performance parameters of each module; A second determination module, configured to determine the energy efficiency optimization model of the multiple modules based on the performance model and the power consumption model of each module; A third determination module, configured to determine the target frequency set of the multiple modules based on the energy efficiency optimization model, where the target frequency set includes the target frequency of each module.

10. An electronic device, characterized in that, Includes: At least one processor; And A memory communicatively connected to the at least one processor; wherein, The memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the method according to any one of claims 1 to 8.

11. A non-transitory computer-readable storage medium storing computer instructions, characterized in that, The computer instructions are used to cause the computer to execute the method according to any one of claims 1 to 8.

12. A chip, characterized in that, Includes at least one processor and a communication interface; the communication interface is used to receive signals input to the chip or signals output from the chip, and the processor communicates with the communication interface and implements the method according to any one of claims 1 to 8 through logic circuits or by executing code instructions.

Citation Information

Cited By

  • Energy consumption optimal processor frequency prediction method and system based on support vector machine

    CN120951828A