WO2017206858A1 - 一种中央处理器的管理方法、及相关产品 - Google Patents
一种中央处理器的管理方法、及相关产品 Download PDFInfo
- Publication number
- WO2017206858A1 WO2017206858A1 PCT/CN2017/086453 CN2017086453W WO2017206858A1 WO 2017206858 A1 WO2017206858 A1 WO 2017206858A1 CN 2017086453 W CN2017086453 W CN 2017086453W WO 2017206858 A1 WO2017206858 A1 WO 2017206858A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- cpu
- prediction
- time
- lpm
- correct
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3287—Power saving characterised by the action undertaken by switching off individual functional units in the computer system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3228—Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3024—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3055—Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3495—Performance evaluation by tracing or monitoring for systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3215—Monitoring of peripheral devices
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Definitions
- the present invention relates to the field of computer technologies, and in particular, to a method for managing a central processing unit and related products.
- LPM Low Power Mode
- WFI wait for interrupt
- Suspend sleep mode
- power collapse mode different LPMs correspond to different CPU response times And power consumption levels.
- the CPU responds quickly but the power consumption level is high, while the power collapse state CPU responds slowly but consumes the lowest power.
- the CPU is in a long-running state, which guarantees better running performance, but increases power consumption.
- the CPU is in a long time LPM, which saves power but affects the response speed. Therefore, a reasonable judgment of the CPU into the appropriate LPM has become an important indicator of the performance of the operating system.
- CPU low-power mode selection is to predict the time of the next CPU wake-up based on the most recently awake clock expiration time and the last system wake-up time, and then find the LPM that meets the lowest power consumption within the response time.
- two common LPM management algorithms are the menu governor algorithm and the ladder governor algorithm:
- the idea of the Menu algorithm is to first try to find the time statistics of entering the LPM in the past several times (8 times), and find the approximate data of several of them to average the next wake-up time. If the data is scattered and the appropriate average number is not found, divide 12 buckets according to the length of time. Each bucket corresponds to a different damping coefficient, and read the clock value of the system that will wake up next time, multiply by its corresponding bucket. Damping coefficient to predict the next CPU wake-up time.
- the algorithm uses 12 buckets, and needs to learn to adjust 12 corresponding damping coefficients. It is difficult for the algorithm coefficient adjustment speed to keep up with the CPU state change, which leads to the lower accuracy of the predicted value. The complexity of the algorithm is improved.
- the Ladder algorithm is simple. The algorithm does not predict the next CPU wake-up time. Instead, it directly counts the time of the LPM in the past or several times. If the time in the LPM is less than the response time of the LPM, then Note that the current response time to enter the LPM does not meet the performance requirements, you need to cut to a lighter level LPM to meet performance requirements; and vice versa.
- the algorithm mainly adjusts the switching LPM according to the historical data. In the scenario where the CPU state is switched sharply, the followability and response speed of the algorithm are relatively slow.
- the current CPU low power mode selection scheme has a large limitation and cannot maintain high CPU performance while maintaining low power consumption.
- An embodiment of the present invention provides a management method of a central processing unit, including:
- the second embodiment of the present invention further provides a management device for a central processing unit, including:
- condition determining unit configured to determine a first prediction condition and a second prediction condition, where the first prediction condition and the second prediction condition are factors that affect a CPU wake-up time of the CPU;
- a prediction control unit configured to: if the accuracy rate statistical unit determines that the correct rate is higher than a predetermined threshold, continue to use the first prediction condition to predict a next wake-up time of the CPU; otherwise, use the second predicted condition prediction The next wake-up time of the CPU.
- the embodiment of the present invention further provides an electronic device, including: a central processing unit and a memory, wherein the central processing unit is configured to perform the method according to any one of the embodiments of the present invention.
- the embodiment of the present invention further provides a computer readable storage medium storing a computer program for electronic data exchange, wherein the computer program is executed to implement any of the embodiments provided by the embodiments of the present invention. The method described.
- the embodiment of the present invention further provides a program product, where the computer program is executed to implement the method according to any one of the embodiments of the present invention.
- the embodiment of the invention has the following advantages: predicting the next wake-up time of the CPU by using the prediction condition, adopting the statistical correct rate method, and considering the influence of various factors on the next wake-up time of the CPU, the CPU can be accurately predicted.
- the CPU can choose the appropriate PLM to balance the power consumption and performance requirements of the CPU; therefore, it can maintain high CPU performance while maintaining low power consumption.
- FIG. 1 is a schematic flowchart of a method according to an embodiment of the present invention.
- FIG. 2 is a schematic flowchart of a method according to an embodiment of the present invention.
- FIG. 3 is a schematic structural diagram of an apparatus according to an embodiment of the present invention.
- FIG. 4 is a schematic structural view of an apparatus according to an embodiment of the present invention.
- Figure 5 is a schematic structural view of an apparatus according to an embodiment of the present invention.
- An embodiment of the present invention provides a management method of a central processing unit, as shown in FIG. 1 , including:
- the clock value can be understood as a CPU clock value or a system clock value.
- the CPU may select to enter a suitable LPM, but since the accuracy of the prediction may be affected by actual conditions, such as changes in the state of the CPU, LPMs that result in entry are not necessarily appropriate; therefore there will be cases where a certain percentage of predictions are incorrect.
- the predetermined threshold here may be an arbitrarily set threshold for determining whether the first prediction condition can accurately predict the next wake-up time of the CPU, so that the higher the predetermined threshold is set, the higher the accuracy requirement for the prediction result is. It can be understood that the higher the setting, the more frequent switching prediction conditions; comprehensive considerations can be set to a value of about 60%. It is understandable that setting to other values does not affect the implementation of the present invention. The implementation of the example.
- the prediction of the next wake-up time of the CPU is performed by using the prediction condition, and the statistical correct rate is adopted, and the influence of various factors on the next wake-up time of the CPU is considered, and the CPU can be predicted more accurately next time.
- the wake-up time allows the CPU to select a more appropriate PLM to balance the power consumption and performance requirements of the CPU; therefore, it can maintain high CPU performance while maintaining low power consumption.
- the first prediction condition is a clock value
- the second prediction condition is an interruption time
- LPM low power mode LPM
- the LPM can also have other manifestations, and the embodiment of the present invention predicts the CPU. After the next wake-up time, choose which LPM to enter, so the specific LPM does not affect the execution of the previous forecast.
- the above examples are also not to be construed as limiting the invention.
- the embodiment of the present invention further provides an implementation scheme for how to accurately calculate the correct rate.
- the foregoing statistics use the foregoing first prediction condition to predict the correct rate of the CPU entering the low power mode LPM, including:
- the CPU enters the target LPM, determines the CPU response time of the target LPM, and determines whether the CPU response time of the target LPM is in the sleep time of the CPU under the LPM. And between the CPU clock values; if so, the prediction error is determined;
- the prediction accuracy rate is statistically calculated.
- a specific case is determined to determine which case can be considered as a prediction error. It should be noted that, if the difference between the sleep time of the CPU and the CPU clock value in the LPM is less than a predetermined threshold, even if the CPU response time of the target LPM is satisfied, the CPU sleeps between the LPM and the CPU clock value. It can also be considered that the prediction is correct.
- the embodiment of the present invention further provides an implementation scheme for how to accurately predict the prediction based on the case of determining a prediction error: the foregoing method further includes:
- the prediction is determined to be correct.
- the management method of the above central processor is applied to the multi-core CPU management.
- the operating system's task scheduler can be more accurately assigned tasks to the appropriate CPU by reducing the CPU to a more appropriate LPM state.
- System power consumption and scheduling overhead and improve system performance.
- the embodiment of the present invention designs a new low power mode switching algorithm (LPM Governor) for reducing power consumption and performance of a multi-core system.
- LPM Governor low power mode switching algorithm
- the design principle is: using the time when the CPU was last in the LPM. Compare with the value of the last system clock (timer). If both are in the response time range of the same LPM, then it is considered that the system timer is used to predict that the next CPU wakeup is correct, and vice versa is wrong; low power consumption
- the mode switching algorithm counts the scores of the past several times (for example, five times).
- the timer is used to predict, otherwise the last CPU is interrupted by the wake-up time (That is, the interrupt time) to predict the next wake-up CPU time. This can better reflect the impact of the interrupt on the CPU, and improve the response speed of the CPU to the sudden CPU demand for transient and dramatic changes.
- the low-power mode switching algorithm uses the response time of the CPU in different LPMs as the scoring threshold, so that the CPU state switching decision can directly reflect the characteristics of different CPUs, and the pertinence and accuracy are better. In the scenario where the CPU wakes up frequently (more interrupts), the algorithm can maintain high CPU performance while maintaining low power consumption.
- the system timer and the CPU wake-up time are compared and scored, the accuracy of the timer prediction is evaluated, and the predicted value is corrected in real time in a frequently interrupted scene, so that the CPU wake-up time can be accurately predicted, thereby causing the CPU to enter.
- a more reasonable LPM can maintain better CPU performance while keeping low power consumption as much as possible.
- the CPU corresponds to several classic LPM low-power modes.
- Each different low-power mode CPU has different response time and power consumption characteristics: such as WFI mode (CPU has the fastest response, but consumes power in WFI mode. Maximum), suspend/retention mode (CPU response speed and power level are both centered), power down mode (Power collapse, CPU slowest response but the most power saving).
- WFI is more suitable for interrupt/task scheduling and CPU real-time response.
- power collapse mode is appropriate for system long-term sleep.
- the current common idea is to predict the next CPU wake-up time and find that the wake-up time is met (CPU).
- each CPU has its own timer, drivers, kernel modules, applications, etc. will set different timers according to their own needs, usually based on the timer that will expire recently.
- Li Mark a certain LPM, such as WFI, suspend, etc.;
- Ttimer CPU timer value
- SLi and Ttimer are basically equal (or slightly smaller), the CPU is not interrupted by the interrupt in the last LPM Li.
- the last time Ttimer predicted the CPU wake-up time, so the prediction is correct.
- SLi and Ttimer are both larger or smaller than TLi, that is, they all fall on the same side of the LPM mode TLi at that time, indicating Interrupts have a large impact on CPU wakeup, but are still within the response time range of the same LPM mode; in this case, although it is somewhat less accurate to continue using timer predictions, Does not affect the CPU into the correct LPM mode, so it is also considered correct;
- SLi and Ttimer are located on both sides of TLi, indicating that the impact of the interrupt is very obvious. Ttimer is not enough to judge the correct LPM. Therefore, Ttimer predicts the error and needs to consider the impact of the interrupt in the next prediction.
- N times for example, 5 predictions can be counted. Of course, it can also be set to other times, and the embodiment is not limited. If the correct rate is greater than a certain threshold (60%), the next prediction can continue to use the timer; otherwise, the time of the last interrupt to wake up the CPU is used to predict the next wake-up time.
- a certain threshold (60%)
- the prediction of the next wake-up time of the CPU takes into account both the timer and the interrupt. Use the system timer and the CPU to compare the LPM time to evaluate the prediction effect. When the prediction accuracy rate is lower than a certain threshold, the switch uses the interrupt wake-up time to predict, which can balance power consumption and performance.
- the embodiment of the present invention does not calculate the fitting time in the LPM sleep time according to the statistical data of the past LPM time according to the conventional idea, but directly evaluates the past timer prediction according to the response time of the CPU LPM directly according to the CPU characteristic, and the algorithm
- the idea is simple, and the system overhead of the chip in and out of various LPM modes is optimized.
- the embodiment of the present invention further provides a management device for a central processing unit, as shown in FIG. 3, including:
- the condition determining unit 301 is configured to determine a first prediction condition and a second prediction condition, where the first prediction condition and the second prediction condition are factors that affect a CPU wake-up time of the CPU;
- the correct rate statistics unit 302 is configured to use the foregoing first prediction condition to predict the correct rate of the CPU to enter the low power mode LPM;
- the prediction control unit 303 is configured to continue to use the first prediction condition to predict the next wake-up time of the CPU if the correct rate statistics unit 302 determines that the correct rate is higher than the predetermined threshold; otherwise, The next wake-up time of the CPU is predicted using the second prediction condition described above.
- the clock value can be understood as a CPU clock value or a system clock value.
- the CPU may select to enter a suitable LPM, but since the accuracy of the prediction may be affected by actual conditions, such as changes in the state of the CPU, LPMs that result in entry are not necessarily appropriate; therefore there will be cases where a certain percentage of predictions are incorrect.
- the predetermined threshold here may be an arbitrarily set threshold for determining whether the first prediction condition can accurately predict the next wake-up time of the CPU, so that the higher the predetermined threshold is set, the higher the accuracy requirement for the prediction result is. It can be understood that the higher the setting, the more frequent switching prediction conditions; comprehensive considerations can be set to a value of about 60%. It is understandable that setting to other values does not affect the implementation of the present invention. The implementation of the example.
- the prediction of the next wake-up time of the CPU is performed by using the prediction condition, and the statistical correct rate is adopted, and the influence of various factors on the next wake-up time of the CPU is considered, and the CPU can be predicted more accurately next time.
- the wake-up time allows the CPU to select a more appropriate PLM to balance the power consumption and performance requirements of the CPU; therefore, it can maintain high CPU performance while maintaining low power consumption.
- the first prediction condition is a clock value
- the second prediction condition is an interrupt
- LPM low power mode LPM
- the LPM can also have other manifestations.
- the embodiment of the present invention selects which LPM to enter after predicting the next wake-up time of the CPU. Therefore, the specific LPM does not affect the execution process of the previous prediction.
- the above examples are also not to be construed as limiting the invention.
- the embodiment of the present invention further provides an implementation scheme for how to accurately calculate the correct rate. Further, as shown in the figure As shown in FIG. 4, after the prediction control unit 303 determines that the CPU uses the clock value as the prediction condition to predict the next wake-up time of the CPU, the CPU enters the target LPM; the correct rate statistics unit 302 includes:
- a time determining unit 401 configured to determine a CPU response time of the target LPM
- the correctness determining unit 402 is configured to determine whether the CPU response time of the target LPM is between the sleep time of the CPU under the LPM and the CPU clock value; if yes, determine a prediction error;
- the statistic unit 403 is configured to calculate the prediction correctness rate after predicting the next wake-up time of the CPU by using the clock value as the prediction condition for a predetermined number of times.
- a specific case is determined to determine which case can be considered as a prediction error. It should be noted that, if the difference between the sleep time of the CPU and the CPU clock value in the LPM is less than a predetermined threshold, even if the CPU response time of the target LPM is satisfied, the CPU sleeps between the LPM and the CPU clock value. It can also be considered that the prediction is correct.
- the embodiment of the present invention further provides an implementation scheme for determining how to accurately predict the prediction based on the case of determining the prediction error.
- the foregoing error determination unit 402 is further configured to: if the CPU response time of the target LPM is greater than the sleep time of the CPU under the LPM and The CPU clock value is either less than the sleep time of the CPU under the LPM and the CPU clock value; or, if the difference between the sleep time of the CPU under the LPM and the CPU clock value is less than a predetermined threshold, it is determined that the prediction is correct.
- the management device of the central processing unit is applied to the management of the many-core CPU.
- the operating system's task scheduler can be more accurately assigned tasks to the appropriate CPU by reducing the CPU to a more appropriate LPM state.
- System power consumption and scheduling overhead and improve system performance.
- An embodiment of the present invention further provides an electronic device, as shown in FIG. 5, including: a central processing unit 501 and a memory 502, wherein the memory 502 can be used by the processor 501 to perform a buffer required for data processing, and can also be used to provide The processor 501 performs the data of the data processing and the storage space of the obtained result data; the electronic device may further include other hardware devices, which is not limited in this embodiment;
- the processor 501 is configured to determine a first prediction condition and a second prediction condition, where the first prediction condition and the second prediction condition are factors that affect a CPU wake-up time of the CPU; the statistics use the first prediction condition. Predicting a correct rate of the CPU entering the low power mode LPM; if the correct rate is higher than a predetermined threshold, continuing to predict the next wakeup time of the CPU by using the first prediction condition; otherwise, predicting the CPU by using the second prediction condition The next wake up time.
- the CPU may select to enter a suitable LPM, but since the accuracy of the prediction may be affected by actual conditions, such as changes in the state of the CPU, LPMs that result in entry are not necessarily appropriate; therefore there will be cases where a certain percentage of predictions are incorrect.
- the predetermined threshold here may be an arbitrarily set threshold for determining whether the first prediction condition can accurately predict the next wake-up time of the CPU, so that the higher the predetermined threshold is set, the higher the accuracy requirement for the prediction result is. It can be understood that the higher the setting, the more frequent switching prediction conditions; comprehensive considerations can be set to a value of about 60%. It is understandable that setting to other values does not affect the implementation of the present invention. The implementation of the example.
- the prediction of the next wake-up time of the CPU is performed by using the prediction condition, and the statistical correct rate is adopted, and the influence of various factors on the next wake-up time of the CPU is considered, and the CPU can be predicted more accurately next time.
- the wake-up time allows the CPU to select a more appropriate PLM to balance the power consumption and performance requirements of the CPU; therefore, it can maintain high CPU performance while maintaining low power consumption.
- the first prediction condition is a clock value
- the second prediction condition is an interrupt
- LPM low power mode LPM
- the LPM can also have other manifestations.
- the embodiment of the present invention selects which LPM to enter after predicting the next wake-up time of the CPU. Therefore, the specific LPM does not affect the execution process of the previous prediction.
- the above examples are also not to be construed as limiting the invention.
- the embodiment of the present invention further provides an implementation scheme for how to accurately calculate the correct rate.
- the processor 501 is configured to use the foregoing first prediction condition to predict the correct rate of the CPU to enter the low power mode LPM.
- the CPU enters the target LPM, determines the CPU response time of the target LPM, and determines whether the CPU response time of the target LPM is in the sleep time of the CPU under the LPM. And between the CPU clock values; if so, the prediction error is determined;
- the prediction accuracy rate is statistically calculated.
- a specific case is determined to determine which case can be considered as a prediction error. It should be noted that, if the difference between the sleep time of the CPU and the CPU clock value in the LPM is less than a predetermined threshold, even if the CPU response time of the target LPM is satisfied, the CPU sleeps between the LPM and the CPU clock value. It can also be considered that the prediction is correct.
- the embodiment of the present invention further provides an implementation scheme for determining how to accurately predict the prediction based on the case of determining the prediction error.
- the processor 501 is further configured to: if the CPU response time of the target LPM is greater than the sleep time of the CPU under the LPM and the CPU.
- the clock value is either less than the sleep time of the CPU under the LPM and the CPU clock value; or, if the difference between the sleep time of the CPU under the LPM and the CPU clock value is less than a predetermined threshold, it is determined that the prediction is correct.
- the processor 501 of the electronic device is a many-core CPU.
- the operating system's task scheduler can be more accurately assigned tasks to the appropriate CPU by reducing the CPU to a more appropriate LPM state.
- System power consumption and scheduling overhead and improve system performance.
- the embodiment of the present invention further provides a terminal device.
- a terminal device As shown in FIG. 6 , for the convenience of description, only parts related to the embodiment of the present invention are shown. If the specific technical details are not disclosed, please refer to the method part of the embodiment of the present invention.
- the terminal device may be any terminal device including a mobile phone, a tablet computer, a PDA (Personal Digital Assistant), a POS (Point of Sales), an in-vehicle computer, and the terminal device is used as a mobile phone as an example:
- FIG. 6 is a block diagram showing a partial structure of a mobile phone related to a terminal device provided by an embodiment of the present invention.
- the mobile phone includes: a radio frequency (RF) circuit 610, a memory 620, an input unit 630, a display unit 640, a sensor 650, an audio circuit 660, a wireless fidelity (WiFi) module 670, and a processor 680. And power supply 690 and other components.
- RF radio frequency
- the RF circuit 610 can be used for transmitting and receiving information or during a call, and receiving and transmitting the signal. Specifically, after receiving the downlink information of the base station, the processor 680 processes the data. In addition, the uplink data is designed to be sent to the base station. Generally, RF circuit 610 includes, but is not limited to, an antenna, at least one amplifier, a transceiver, a coupler, a Low Noise Amplifier (LNA), a duplexer, and the like. In addition, RF circuitry 610 can also communicate with the network and other devices via wireless communication. The above wireless communication may use any communication standard or protocol, including but not limited to Global System of Mobile communication (GSM), General Packet Radio Service (GPRS), Code Division Multiple Access (Code Division). Multiple Access (CDMA), Wideband Code Division Multiple Access (WCDMA), Long Term Evolution (LTE), E-mail, Short Messaging Service (SMS), and the like.
- GSM Global System of Mobile communication
- GPRS General Packet Radio Service
- the memory 620 can be used to store software programs and modules, and the processor 680 executes various functional applications and data processing of the mobile phone by running software programs and modules stored in the memory 620.
- the memory 620 may mainly include a storage program area and a storage data area, wherein the storage program area may store an operating system, an application required for at least one function (such as a sound playing function, an image playing function, etc.), and the like; the storage data area may be stored according to Data created by the use of the mobile phone (such as audio data, phone book, etc.).
- memory 620 can include high speed random access memory, and can also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other volatile solid state storage device.
- the input unit 630 can be configured to receive input numeric or character information and to generate key signal inputs related to user settings and function controls of the handset.
- the input unit 630 may include a touch panel 631 and other input devices 632.
- the touch panel 631 also referred to as a touch screen, can collect touch operations on or near the user (such as the user using a finger, a stylus, or the like on the touch panel 631 or near the touch panel 631. Operation), and drive the corresponding connecting device according to a preset program.
- the touch panel 631 can include two parts: a touch detection device and a touch controller.
- the touch detection device detects the touch orientation of the user, and detects a signal brought by the touch operation, and transmits the signal to the touch controller; the touch controller receives the touch information from the touch detection device, converts the touch information into contact coordinates, and sends the touch information.
- the processor 680 is provided and can receive commands from the processor 680 and execute them.
- the touch panel 631 can be implemented in various types such as resistive, capacitive, infrared, and surface acoustic waves.
- the input unit 630 may also include other input devices 632.
- other input devices 632 may include, but are not limited to, one or more of a physical keyboard, function keys (such as volume control buttons, switch buttons, etc.), trackballs, mice, joysticks, and the like.
- the display unit 640 can be used to display information input by the user or information provided to the user as well as various menus of the mobile phone.
- the display unit 640 can include a display panel 641.
- the display panel 641 can be configured in the form of a liquid crystal display (LCD), an organic light-emitting diode (OLED), or the like.
- the touch panel 631 can cover the display panel 641. When the touch panel 631 detects a touch operation on or near it, the touch panel 631 transmits to the processor 680 to determine the type of the touch event, and then the processor 680 according to the touch event. The type provides a corresponding visual output on display panel 641.
- the touch panel 631 and the display panel 641 are two separate components to implement the input and input functions of the mobile phone, in some embodiments.
- the touch panel 631 and the display panel 641 can be integrated to realize the input and output functions of the mobile phone.
- the handset can also include at least one type of sensor 650, such as a light sensor, motion sensor, and other sensors.
- the light sensor may include an ambient light sensor and a proximity sensor, wherein the ambient light sensor may adjust the brightness of the display panel 641 according to the brightness of the ambient light, and the proximity sensor may close the display panel 641 and/or when the mobile phone moves to the ear. Or backlight.
- the accelerometer sensor can detect the magnitude of acceleration in all directions (usually three axes). When it is stationary, it can detect the magnitude and direction of gravity.
- the mobile phone can be used to identify the gesture of the mobile phone (such as horizontal and vertical screen switching, related Game, magnetometer attitude calibration), vibration recognition related functions (such as pedometer, tapping), etc.; as for the mobile phone can also be configured with gyroscopes, barometers, hygrometers, thermometers, infrared sensors and other sensors, no longer Narration.
- the gesture of the mobile phone such as horizontal and vertical screen switching, related Game, magnetometer attitude calibration
- vibration recognition related functions such as pedometer, tapping
- the mobile phone can also be configured with gyroscopes, barometers, hygrometers, thermometers, infrared sensors and other sensors, no longer Narration.
- Audio circuit 660, speaker 661, and microphone 662 provide an audio interface between the user and the handset.
- the audio circuit 660 can transmit the converted electrical data of the received audio data to the speaker 661 for conversion to the sound signal output by the speaker 661; on the other hand, the microphone 662 converts the collected sound signal into an electrical signal by the audio circuit 660. After receiving, it is converted into audio data, and then processed by the audio data output processor 680, sent to the other mobile phone via the RF circuit 610, or outputted to the memory 620 for further processing.
- WiFi is a short-range wireless transmission technology
- the mobile phone can help users to send and receive emails, browse web pages, and access streaming media through the WiFi module 670, which provides users with wireless broadband Internet access.
- FIG. 6 shows the WiFi module 670, it can be understood that it does not belong to the essential configuration of the mobile phone, and can be omitted as needed within the scope of not changing the essence of the invention.
- the processor 680 is the control center of the handset, and connects various portions of the entire handset using various interfaces and lines, by executing or executing software programs and/or modules stored in the memory 620, and invoking data stored in the memory 620, executing The phone's various functions and processing data, so that the overall monitoring of the phone.
- the processor 680 may include one or more processing units; preferably, the processor 680 may integrate an application processor and a modem processor, where the application processor mainly processes an operating system, a user interface, an application, and the like.
- the modem processor primarily handles wireless communications. It will be appreciated that the above described modem processor may also not be integrated into the processor 680.
- the mobile phone also includes a power source 690 (such as a battery) for supplying power to various components.
- a power source 690 such as a battery
- the power source can be logically connected to the processor 680 through the power management system to implement management charging through the power management system. Electrical, electrical, and power management functions.
- the mobile phone may further include a camera, a Bluetooth module, and the like, and details are not described herein again.
- the processor 680 included in the terminal device further has a function of controlling a flow of executing the method.
- the processor 680 can be a many-core CPU.
- the included units are only divided according to functional logic, but are not limited to the foregoing division, as long as the corresponding functions can be implemented; in addition, the specific names of the functional units It is also for convenience of distinguishing from each other and is not intended to limit the scope of protection of the present invention.
- the storage medium may be a read only memory, a magnetic disk or an optical disk or the like.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Power Sources (AREA)
Abstract
一种中央处理器的管理方法、及相关产品,其中方法的实现包括:确定第一预测条件和第二预测条件,所述第一预测条件和所述第二预测条件均为影响中央处理器CPU唤醒时间的因素(101);统计使用所述第一预测条件预测所述CPU进入低功耗模式LPM的正确率(102);若所述正确率高于预定阈值,则继续使用所述第一预测条件预测所述CPU的下次唤醒时间;否则,使用所述第二预测条件预测所述CPU的下次唤醒时间(103)。可以比较准确的预测CPU下次要唤醒的时间,使CPU能够选择较为合适的PLM,从而兼顾CPU的功耗和性能需求;因此,可以在保持低功耗的前提下维持较高的CPU性能。
Description
本发明涉及计算机技术领域,特别涉及一种中央处理器的管理方法、及相关产品。
在目前广泛使用的操作***中,当中央处理器(Central Processing Unit,CPU)上有任务运行时,CPU会处于运行态(active state),当任务执行完成或被移出后,CPU会进入低功耗模式(Low Power Mode,LPM),包括等待中断模式(wait for interrupt,WFI),休眠模式(Suspend)或是掉电模式(Power collapse)等不同的LPM;不同的LPM对应不同的CPU响应时间和功耗水平。
比如:在WFI下CPU响应速度快但功耗水平较高,而power collapse状态CPU响应速度很慢但功耗最低。CPU处于长时间运行态,可以保证较好的运行性能,但是会增加功耗。CPU处于长时间LPM,会节省功耗,但是会影响响应速度。所以合理的判断CPU进入合适的LPM,成为了操作***功耗性能表现的一大重要影响指标。
目前CPU低功耗模式选择的基本思路是:根据最近唤醒的时钟到期时间和上次***唤醒时间,先预测下次CPU唤醒的时间,然后找到满足该响应时间内功耗最低的LPM。目前比较通用的两种LPM管理算法有menu governor(菜单调节)算法和ladder governor(梯形调节)算法:
1、Menu governor:
Menu算法思路是先尝试找到过去数次(8次)进入LPM的时间统计,找到其中比较接近的几个数据取平均值来预测下次唤醒时间。假如数据分散,找不到合适的平均数,就按照时间长短划分12个桶,每个桶分别对应不同的阻尼系数,读取下次即将唤醒***的时钟(timer)值,乘以其对应桶的阻尼系数来预测下次CPU唤醒时间。该算法中使用12桶,需要学***均时,会使算法复杂度提高。
2、Ladder governor:
Ladder算法思路比较简单,算法没有对下次CPU唤醒时间做预测,而是直接对过去一次或者若干次处在某一LPM的时间进行统计,假如处于LPM的时间小于该LPM对应的响应时间,则说明当前进入LPM的响应时间不满足性能需求,需要切到更轻一级LPM以满足性能需求;反之亦然。该算法主要根据历史数据,逐级调整切换LPM,在CPU状态切换剧烈的场景下,该算法跟随性和响应速度相对较慢。
因此,目前的CPU低功耗模式选择方案具有较大局限性,无法在保持低功耗的前提下维持较高的CPU性能。
发明内容
一方面本发明实施例提供了一种中央处理器的管理方法,包括:
确定第一预测条件和第二预测条件,所述第一预测条件和所述第二预测条件均为影响中央处理器CPU唤醒时间的因素;
统计使用所述第一预测条件预测所述CPU进入低功耗模式LPM的正确率;
若所述正确率高于预定阈值,则继续使用所述第一预测条件预测所述CPU的下次唤醒时间;否则,使用所述第二预测条件预测所述CPU的下次唤醒时间。
二方面本发明实施例还提供了一种中央处理器的管理装置,包括:
条件确定单元,用于确定第一预测条件和第二预测条件,所述第一预测条件和所述第二预测条件均为影响中央处理器CPU唤醒时间的因素;
正确率统计单元,用于统计使用所述第一预测条件预测所述CPU进入低功耗模式LPM的正确率;
预测控制单元,用于若所述正确率统计单元确定正确率高于预定阈值,则继续使用所述第一预测条件预测所述CPU的下次唤醒时间;否则,使用所述第二预测条件预测所述CPU的下次唤醒时间。
三方面本发明实施例还提供了一种电子设备,包括:中央处理器和存储器,其中,所述中央处理器用于执行本发明实施例提供的任意一项所述的方法。
四方面本发明实施例还提供了一种计算机可读存储介质,其存储用于电子数据交换的计算机程序,其中,所述计算机程序被执行的情况下实现本发明实施例提供的任一项所述的方法。
五方面本发明实施例还提供了一种程序产品,所述计算机程序被执行的情况下实现本发明实施例提供的任一项所述的方法。
本发明实施例具有以下优点:在采用预测条件对CPU的下次唤醒时间进行预测,采用统计正确率的方式,同时考虑多种因素对CPU的下次唤醒时间的影响,可以比较准确的预测CPU下次要唤醒的时间,使CPU能够选择较为合适的PLM,从而兼顾CPU的功耗和性能需求;因此,可以在保持低功耗的前提下维持较高的CPU性能。
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍。
图1为本发明实施例方法流程示意图;
图2为本发明实施例方法流程示意图;
图3为本发明实施例装置结构示意图;
图4为本发明实施例装置结构示意图;
图5为本发明实施例装置结构示意图;
图6为本发明实施例终端设备结构示意图。
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明实施例提供了一种中央处理器的管理方法,如图1所示,包括:
101:确定第一预测条件和第二预测条件,上述第一预测条件和上述第二预测条件均为影响中央处理器CPU唤醒时间的因素;
影响CPU唤醒时间的因素可能有很多,目前主要有:时钟(timer)和中断;以上第一预测条件和第二预测条件依据影响CPU唤醒时间的因素确定,具体本发明实施例不作唯一性限定。在本发明实施例中,时钟值可以理解为CPU时钟值,或者,***时钟值。
102:统计使用上述第一预测条件预测上述CPU进入低功耗模式LPM的正确率;
在本发明实施例中,使用预测条件预测上述CPU的下次唤醒时间后,CPU会选择进入到一种合适的LPM,但是由于预测的准确性会受到实际情况的影响,例如CPU状态的变化,会导致进入的LPM并不一定合适;因此会存在一定比例预测不正确的情况。
103:若上述正确率高于预定阈值,则继续使用上述第一预测条件预测上述CPU的下次唤醒时间;否则,使用上述第二预测条件预测上述CPU的下次唤醒时间。
这里的预定阈值可以是任意设定的阈值,用于确定第一预测条件是否能够准确预测CPU的下次唤醒时间,因此该预定阈值设置得越高则表示对预测结果的准确度要求越高,可以理解的是设置得越高会带来更为频繁的切换预测条件;综合考虑,可以设置到60%左右的值会较为合理,可以理解的是设置成其他值并不会影响到本发明实施例的实现。
本发明实施例,在采用预测条件对CPU的下次唤醒时间进行预测,采用统计正确率的方式,同时考虑多种因素对CPU的下次唤醒时间的影响,可以比较准确的预测CPU下次要唤醒的时间,使CPU能够选择较为合适的PLM,从而兼顾CPU的功耗和性能需求;因此,可以在保持低功耗的前提下维持较高的CPU性能。
作为一个更为具体的应用举例,上述第一预测条件为时钟值、上述第二预测条件为中断时刻。
在本发明实施例中,LPM可以有很多种,本实施例提供了如下举例:上述低功耗模式LPM包括:
等待中断模式、休眠模式或者掉电模式。
可以理解的是,LPM还可以有其他表现形式,本发明实施例在预测CPU
的下次唤醒时间后,选择进入哪一种LPM,因此LPM具体有哪些并不会影响到前期预测的执行过程。以上举例也不应理解为对本发明实施例的唯一性限定。
本发明实施例还提供了具体如何统计正确率的实现方案,上述统计使用上述第一预测条件预测上述CPU进入低功耗模式LPM的正确率包括:
确定使用时钟值作为预测条件预测上述CPU的下次唤醒时间后,上述CPU进入目标LPM,确定上述目标LPM的CPU响应时间;确定上述目标LPM的CPU响应时间是否处于上述CPU在LPM下的睡眠时间以及CPU时钟值之间;若是,则确定预测错误;
在使用时钟值作为预测条件预测上述CPU的下次唤醒时间预定次数后,统计预测正确率。
本实施例,基于以时钟值和中断时刻作为影响CPU唤醒时间的因素,提出了具体的确定何种情况下可以认为是预测错误的情况。需要说明的是,如果上述CPU在LPM下的睡眠时间与CPU时钟值的差值小于预定门限,即使满足上述目标LPM的CPU响应时间处于上述CPU在LPM下的睡眠时间以及CPU时钟值之间,也可以认为预测正确。
本发明实施例还基于确定预测错误的情况,提供了具体如何统计预测正确的实现方案:上述方法还包括:
若上述目标LPM的CPU响应时间大于上述CPU在LPM下的睡眠时间以及CPU时钟值,或者,小于上述CPU在LPM下的睡眠时间以及CPU时钟值;或者,若上述CPU在LPM下的睡眠时间与CPU时钟值的差值小于预定门限,则确定预测正确。
可以理解的是,如果将预测错误的情况排除在外,将其他情况都认为是预测正确,也是可以实现的;因此确定预测正确的流程并不一定是完全必要的;另外,如果将预测正确的情况确定为正确的全集,不考虑如何确定预测错误,将不属于预测正确的情况全部认为是预测错误,也是可以实现的;因此以上关于确定预测正确以及确定预测错误的实现方案,可以分别独立存在;同时,也可以综合考虑。
作为一个更为优选的应用场景,上述中央处理器的管理方法应用于对众核
CPU的管理。
在具有多核(即:多CPU,众核CPU)***中,可以通过将CPU至于更加合适的LPM状态,从而帮助操作***的任务调度器(scheduler)更加精确的分配任务到合适的CPU上,减少***功耗和调度开销,并提高***运行性能。
基于以上说明可见,本发明实施例设计了一种新的用于降低多核***功耗及提高性能的低功耗模式切换算法(LPM Governor),设计原理是:用CPU上次处在LPM的时间和上次***时钟(timer)的值进行比较打分,假如二者都处在同一LPM的响应时间范围,则认为用***timer来预测下次CPU唤醒是正确的,反之是错误的;低功耗模式切换算法统计过去若干次(例如,五次)的打分情况,假如正确率比较好(例如,正确率>60%)时,则继续使用timer来预测,否则使用上次CPU被中断唤醒时间(即中断时刻)来预测下次唤醒CPU时间。这样可以比较好的反映中断对CPU的影响,提高CPU对瞬时剧烈变化场景的突变CPU需求的响应速度。同时低功耗模式切换算法用CPU在不同LPM的响应时间来作为打分门限,这样CPU状态切换决策能够直接体现出不同CPU的特性,针对性和准确性比较好。该算法在CPU频繁唤醒(中断较多)的场景,可以在保持低功耗的前提下维持较高的CPU性能。
因此,本发明实施例通过对***timer和CPU唤醒时间进行对比打分,评估timer预测的准确性,在中断频繁的场景实时修正预测值,可以比较准确的预测下次CPU唤醒时间,从而使CPU进入比较合理的LPM,可以在尽量保持低功耗的情况下维持比较好的CPU性能。
一般情况下CPU对应几个经典LPM低功耗模式,每个不同的低功耗模式CPU都有不同的响应时间和功耗特性:比如WFI模式(CPU响应速度最快,不过在WFI模式功耗最大)、休眠(suspend/retention)模式(CPU响应速度与功耗水平都居中)、掉电模式(Power collapse,CPU响应最慢但最省电)等。显然,对于中断/任务调度比较频繁,需要CPU实时响应的情况下,WFI比较合适;对于***长时间的休眠,掉电(power collapse)模式比较合适。
当CPU进入空闲(idle)状态,开始考虑到底该进入哪个LPM时,目前比较普遍的思路就是先预测下次CPU唤醒时间,找到满足该唤醒时间(CPU
LPM响应时间<下次唤醒时间)的功耗水平最低的LPM。
影响CPU下次唤醒时间的主要因素有:
⑴、时钟(timer),每个CPU都有对应的自己的timer,驱动程序、内核模块、应用等都会根据自身需要设置不同的timer,通常以最近将要到期的timer为准。
⑵、中断,调度器内部中断以及***外部中断等。在中断较少的情况下,可以预期CPU在LPM中间不会被唤醒直到timer到期;假如中断比较多的情况下,CPU会在timer到期之前被中断唤醒,所以CPU在LPM的时间就会远小于timer值。所以,可以用上次进入LPM的时间与上次的timer比较,来判定当前***是否比较繁忙(中断比较多)。为了方便说明算法过程,定义几个基本变量如下:
Li:标记某一种LPM,比如WFI,suspend等;
TLi:某一种LPMLi对应的CPU响应时间;
SLi:CPU在低功耗模式Li下睡眠的时间;
Ttimer:CPU timer值;
Eli:预测得到的下次CPU被唤醒时间。
具体流程,如图2所示,包括如下步骤:
201:统计上次CPU在低功耗模式Li的睡眠时间SLi和上次的Ttimer;
后续流程中,是给Ttimer打分的步骤,包括202~205。
202:确定SLi是否约等于Ttimer;如果是,进入203,否则进入204;
假如SLi和Ttimer基本相当(或者稍小),说明CPU在上次LPM Li中没有被中断打断,上次Ttimer很好的预测了CPU被唤醒时间,所以预测正确;
203:确定Ttimer预测正确,进入206;
204:SLi与Ttimer是否均位于TLi同一侧,如果是,进入203否则进入205;
在202确定为否的情况下,即:SLi和Ttimer差异比较大的情况,其中一种情况是:SLi与Ttimer都大于或者都小于TLi,即他们都落在当时LPM模式TLi的同一侧,说明中断对CPU唤醒有很大影响,不过还在同一LPM模式的响应时间范围内;这种情况下,虽然继续用timer预测有些不太准确,但是
并不会影响CPU进入正确的LPM模式,所以还认为预测正确;
另一种情况下:SLi和Ttimer分别位于TLi的两侧,说明中断的影响非常明显,Ttimer已经不足以作为进入正确LPM的判断依据,所以Ttimer预测错误,需要在下次预测考虑中断的影响。
205:确定Ttimer预测错误,进入206;
206:统计最近若干次预测结果;
这里可以统计N次,例如5次的预测结果。当然,也可以设置成其他次数,本实施例不作唯一性限定。假如正确率大于一定门限(60%),下次预测可以继续使用timer;否则使用上次中断唤醒CPU的时间来预测下次唤醒时间。
207:确定正确率是否大于门限值;如果是,进入208,否则进入209;
208:使用Ttimer预测下次CPU唤醒时间,得到预测值Eli,进入210;
209:使用中断时间预测下次CPU唤醒时间,得到预测值Eli,进入210;
210:根据得到的预测值Eli,在所有LPM模式中找到满足(TLi<ELi)条件的功耗最小的模式。
本发明实施例,对于CPU下次唤醒时间的预测兼顾timer与中断影响。使用对***timer与CPU真实处在LPM时间比较打分,来评定预测效果,在预测正确率低于一定门限时,切换使用中断唤醒时间来预测,可以兼顾功耗和性能。
本发明实施例并没有按照传统思路根据过去LPM时间的统计数据来计算拟合本次在LPM睡眠时间,而是直接针对CPU特性,按照CPU LPM的响应时间对过去的timer预测做评价打分,算法思路简单,对芯片进出各种LPM模式的***开销做出了针对性的优化。
本发明实施例还提供了一种中央处理器的管理装置,如图3所示,包括:
条件确定单元301,用于确定第一预测条件和第二预测条件,上述第一预测条件和上述第二预测条件均为影响中央处理器CPU唤醒时间的因素;
正确率统计单元302,用于统计使用上述第一预测条件预测上述CPU进入低功耗模式LPM的正确率;
预测控制单元303,用于若上述正确率统计单元302确定正确率高于预定阈值,则继续使用上述第一预测条件预测上述CPU的下次唤醒时间;否则,
使用上述第二预测条件预测上述CPU的下次唤醒时间。
影响CPU唤醒时间的因素可能有很多,目前主要有:时钟(timer)和中断;以上第一预测条件和第二预测条件依据影响CPU唤醒时间的因素确定,具体本发明实施例不作唯一性限定。在本发明实施例中,时钟值可以理解为CPU时钟值,或者,***时钟值。
在本发明实施例中,使用预测条件预测上述CPU的下次唤醒时间后,CPU会选择进入到一种合适的LPM,但是由于预测的准确性会受到实际情况的影响,例如CPU状态的变化,会导致进入的LPM并不一定合适;因此会存在一定比例预测不正确的情况。
这里的预定阈值可以是任意设定的阈值,用于确定第一预测条件是否能够准确预测CPU的下次唤醒时间,因此该预定阈值设置得越高则表示对预测结果的准确度要求越高,可以理解的是设置得越高会带来更为频繁的切换预测条件;综合考虑,可以设置到60%左右的值会较为合理,可以理解的是设置成其他值并不会影响到本发明实施例的实现。
本发明实施例,在采用预测条件对CPU的下次唤醒时间进行预测,采用统计正确率的方式,同时考虑多种因素对CPU的下次唤醒时间的影响,可以比较准确的预测CPU下次要唤醒的时间,使CPU能够选择较为合适的PLM,从而兼顾CPU的功耗和性能需求;因此,可以在保持低功耗的前提下维持较高的CPU性能。
作为一个更为具体的应用举例,上述第一预测条件为时钟值、上述第二预测条件为中断。
在本发明实施例中,LPM可以有很多种,本实施例提供了如下举例:上述低功耗模式LPM包括:
等待中断模式、休眠模式或者掉电模式。
可以理解的是,LPM还可以有其他表现形式,本发明实施例在预测CPU的下次唤醒时间后,选择进入哪一种LPM,因此LPM具体有哪些并不会影响到前期预测的执行过程。以上举例也不应理解为对本发明实施例的唯一性限定。
本发明实施例还提供了具体如何统计正确率的实现方案,进一步地,如图
4所示,在上述预测控制单元303确定使用时钟值作为预测条件预测上述CPU的下次唤醒时间后,上述CPU进入目标LPM;上述正确率统计单元302包括:
时间确定单元401,用于确定上述目标LPM的CPU响应时间;
正误确定单元402,用于确定上述目标LPM的CPU响应时间是否处于上述CPU在LPM下的睡眠时间以及CPU时钟值之间;若是,则确定预测错误;
统计单元403,用于在使用时钟值作为预测条件预测上述CPU的下次唤醒时间预定次数后,统计预测正确率。
本实施例,基于以时钟值和中断作为影响CPU唤醒时间的因素,提出了具体的确定何种情况下可以认为是预测错误的情况。需要说明的是,如果上述CPU在LPM下的睡眠时间与CPU时钟值的差值小于预定门限,即使满足上述目标LPM的CPU响应时间处于上述CPU在LPM下的睡眠时间以及CPU时钟值之间,也可以认为预测正确。
本发明实施例还基于确定预测错误的情况,提供了具体如何统计预测正确的实现方案:上述正误确定单元402,还用于若上述目标LPM的CPU响应时间大于上述CPU在LPM下的睡眠时间以及CPU时钟值,或者,小于上述CPU在LPM下的睡眠时间以及CPU时钟值;或者,若上述CPU在LPM下的睡眠时间与CPU时钟值的差值小于预定门限,则确定预测正确。
可以理解的是,如果将预测错误的情况排除在外,将其他情况都认为是预测正确,也是可以实现的;因此确定预测正确的流程并不一定是完全必要的;另外,如果将预测正确的情况确定为正确的全集,不考虑如何确定预测错误,将不属于预测正确的情况全部认为是预测错误,也是可以实现的;因此以上关于确定预测正确以及确定预测错误的实现方案,可以分别独立存在;同时,也可以综合考虑。
作为一个更为优选的应用场景,可选地,上述中央处理器的管理装置应用于对众核CPU的管理。
在具有多核(即:多CPU,众核CPU)***中,可以通过将CPU至于更加合适的LPM状态,从而帮助操作***的任务调度器(scheduler)更加精确的分配任务到合适的CPU上,减少***功耗和调度开销,并提高***运行性能。
本发明实施例还提供了一种电子设备,如图5所示,包括:中央处理器501和存储器502,其中存储器502可以用于处理器501执行数据处理所需要的缓存,还可以用于提供处理器501执行数据处理调用的数据以及获得的结果数据的存储空间;该电子设备还可以包含其他硬件设备,本实施例对此不作限定;
其中,上述处理器501,用于确定第一预测条件和第二预测条件,上述第一预测条件和上述第二预测条件均为影响中央处理器CPU唤醒时间的因素;统计使用上述第一预测条件预测上述CPU进入低功耗模式LPM的正确率;若上述正确率高于预定阈值,则继续使用上述第一预测条件预测上述CPU的下次唤醒时间;否则,使用上述第二预测条件预测上述CPU的下次唤醒时间。
在本发明实施例中,使用预测条件预测上述CPU的下次唤醒时间后,CPU会选择进入到一种合适的LPM,但是由于预测的准确性会受到实际情况的影响,例如CPU状态的变化,会导致进入的LPM并不一定合适;因此会存在一定比例预测不正确的情况。
这里的预定阈值可以是任意设定的阈值,用于确定第一预测条件是否能够准确预测CPU的下次唤醒时间,因此该预定阈值设置得越高则表示对预测结果的准确度要求越高,可以理解的是设置得越高会带来更为频繁的切换预测条件;综合考虑,可以设置到60%左右的值会较为合理,可以理解的是设置成其他值并不会影响到本发明实施例的实现。
本发明实施例,在采用预测条件对CPU的下次唤醒时间进行预测,采用统计正确率的方式,同时考虑多种因素对CPU的下次唤醒时间的影响,可以比较准确的预测CPU下次要唤醒的时间,使CPU能够选择较为合适的PLM,从而兼顾CPU的功耗和性能需求;因此,可以在保持低功耗的前提下维持较高的CPU性能。
作为一个更为具体的应用举例,上述第一预测条件为时钟值、上述第二预测条件为中断。
在本发明实施例中,LPM可以有很多种,本实施例提供了如下举例:上述低功耗模式LPM包括:
等待中断模式、休眠模式或者掉电模式。
可以理解的是,LPM还可以有其他表现形式,本发明实施例在预测CPU的下次唤醒时间后,选择进入哪一种LPM,因此LPM具体有哪些并不会影响到前期预测的执行过程。以上举例也不应理解为对本发明实施例的唯一性限定。
本发明实施例还提供了具体如何统计正确率的实现方案,上述处理器501,用于统计使用上述第一预测条件预测上述CPU进入低功耗模式LPM的正确率包括:
确定使用时钟值作为预测条件预测上述CPU的下次唤醒时间后,上述CPU进入目标LPM,确定上述目标LPM的CPU响应时间;确定上述目标LPM的CPU响应时间是否处于上述CPU在LPM下的睡眠时间以及CPU时钟值之间;若是,则确定预测错误;
在使用时钟值作为预测条件预测上述CPU的下次唤醒时间预定次数后,统计预测正确率。
本实施例,基于以时钟值和中断作为影响CPU唤醒时间的因素,提出了具体的确定何种情况下可以认为是预测错误的情况。需要说明的是,如果上述CPU在LPM下的睡眠时间与CPU时钟值的差值小于预定门限,即使满足上述目标LPM的CPU响应时间处于上述CPU在LPM下的睡眠时间以及CPU时钟值之间,也可以认为预测正确。
本发明实施例还基于确定预测错误的情况,提供了具体如何统计预测正确的实现方案:上述处理器501,还用于若上述目标LPM的CPU响应时间大于上述CPU在LPM下的睡眠时间以及CPU时钟值,或者,小于上述CPU在LPM下的睡眠时间以及CPU时钟值;或者,若上述CPU在LPM下的睡眠时间与CPU时钟值的差值小于预定门限,则确定预测正确。
可以理解的是,如果将预测错误的情况排除在外,将其他情况都认为是预测正确,也是可以实现的;因此确定预测正确的流程并不一定是完全必要的;另外,如果将预测正确的情况确定为正确的全集,不考虑如何确定预测错误,将不属于预测正确的情况全部认为是预测错误,也是可以实现的;因此以上关于确定预测正确以及确定预测错误的实现方案,可以分别独立存在;同时,也可以综合考虑。
作为一个更为优选的应用场景,可选地,上述电子设备的上述处理器501为众核CPU。
在具有多核(即:多CPU,众核CPU)***中,可以通过将CPU至于更加合适的LPM状态,从而帮助操作***的任务调度器(scheduler)更加精确的分配任务到合适的CPU上,减少***功耗和调度开销,并提高***运行性能。
本发明实施例还提供了一种终端设备,如图6所示,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。该终端设备可以为包括手机、平板电脑、PDA(Personal Digital Assistant,个人数字助理)、POS(Point of Sales,销售终端)、车载电脑等任意终端设备,以终端设备为手机为例:
图6示出的是与本发明实施例提供的终端设备相关的手机的部分结构的框图。参考图6,手机包括:射频(Radio Frequency,RF)电路610、存储器620、输入单元630、显示单元640、传感器650、音频电路660、无线保真(wireless fidelity,WiFi)模块670、处理器680、以及电源690等部件。本领域技术人员可以理解,图6中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图6对手机的各个构成部件进行具体的介绍:
RF电路610可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器680处理;另外,将设计上行的数据发送给基站。通常,RF电路610包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low Noise Amplifier,LNA)、双工器等。此外,RF电路610还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯***(Global System of Mobile communication,GSM)、通用分组无线服务(General Packet Radio Service,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、长期演进(Long Term Evolution,LTE)、电子邮件、短消息服务(Short Messaging Service,SMS)等。
存储器620可用于存储软件程序以及模块,处理器680通过运行存储在存储器620的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器620可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器620可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元630可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元630可包括触控面板631以及其他输入设备632。触控面板631,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板631上或在触控面板631附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板631可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器680,并能接收处理器680发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板631。除了触控面板631,输入单元630还可以包括其他输入设备632。具体地,其他输入设备632可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元640可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元640可包括显示面板641,可选的,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板641。进一步的,触控面板631可覆盖显示面板641,当触控面板631检测到在其上或附近的触摸操作后,传送给处理器680以确定触摸事件的类型,随后处理器680根据触摸事件的类型在显示面板641上提供相应的视觉输出。虽然在图6中,触控面板631与显示面板641是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例
中,可以将触控面板631与显示面板641集成而实现手机的输入和输出功能。
手机还可包括至少一种传感器650,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板641的亮度,接近传感器可在手机移动到耳边时,关闭显示面板641和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路660、扬声器661,传声器662可提供用户与手机之间的音频接口。音频电路660可将接收到的音频数据转换后的电信号,传输到扬声器661,由扬声器661转换为声音信号输出;另一方面,传声器662将收集的声音信号转换为电信号,由音频电路660接收后转换为音频数据,再将音频数据输出处理器680处理后,经RF电路610以发送给比如另一手机,或者将音频数据输出至存储器620以便进一步处理。
WiFi属于短距离无线传输技术,手机通过WiFi模块670可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图6示出了WiFi模块670,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器680是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器620内的软件程序和/或模块,以及调用存储在存储器620内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器680可包括一个或多个处理单元;优选的,处理器680可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器680中。
手机还包括给各个部件供电的电源690(比如电池),优选的,电源可以通过电源管理***与处理器680逻辑相连,从而通过电源管理***实现管理充
电、放电、以及功耗管理等功能。
尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。
在本发明实施例中,该终端设备所包括的处理器680还具有控制执行方法流程的功能。其中,该处理器680可以为众核CPU。
值得注意的是,上述装置实施例中,所包括的各个单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
另外,本领域普通技术人员可以理解实现上述各方法实施例中的全部或部分步骤是可以通过程序来指令相关的硬件完成,相应的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
Claims (20)
- 一种中央处理器的管理方法,其特征在于,包括:确定第一预测条件和第二预测条件,所述第一预测条件和所述第二预测条件均为影响中央处理器CPU唤醒时间的因素;统计使用所述第一预测条件预测所述CPU进入低功耗模式LPM的正确率;若所述正确率高于预定阈值,则继续使用所述第一预测条件预测所述CPU的下次唤醒时间;否则,使用所述第二预测条件预测所述CPU的下次唤醒时间。
- 根据权利要求1所述方法,其特征在于,所述第一预测条件为时钟值、所述第二预测条件为中断时刻。
- 根据权利要求1所述方法,其特征在于,所述低功耗模式LPM包括:等待中断模式、休眠模式或者掉电模式。
- 根据权利要求2所述方法,其特征在于,所述统计使用所述第一预测条件预测所述CPU进入低功耗模式LPM的正确率包括:确定使用时钟值作为预测条件预测所述CPU的下次唤醒时间后,所述CPU进入目标LPM,确定所述目标LPM的CPU响应时间;确定所述目标LPM的CPU响应时间是否处于所述CPU在LPM下的睡眠时间以及CPU时钟值之间;若是,则确定预测错误;在使用时钟值作为预测条件预测所述CPU的下次唤醒时间预定次数后,统计预测正确率。
- 根据权利要求4所述方法,其特征在于,所述统计预测正确率包括:将预测错误之外的其他情况都确定为预测正确,然后统计预测正确率。
- 根据权利要求4所述方法,其特征在于,所述方法还包括:若所述目标LPM的CPU响应时间大于所述CPU在LPM下的睡眠时间以及CPU时钟值,或者,小于所述CPU在LPM下的睡眠时间以及CPU时钟值;或者,若所述CPU在LPM下的睡眠时间与CPU时钟值的差值小于预定门限,则确定预测正确。
- 根据权利要求6所述方法,其特征在于,所述统计预测正确率包括:将确定预测正确的情况作为正确的全集,将不属于预测正确的情况确定为预测错误,统计预测正确率。
- 根据权利要求6所述方法,其特征在于,所述统计预测正确率包括:将确定预测正确和确定预测错误的情况作为全集,统计预测正确占所述全集的比例得到所述预测正确率。
- 根据权利要求4至8任意一项所述方法,其特征在于,所述中央处理器的管理方法应用于对众核CPU的管理。
- 一种中央处理器的管理装置,其特征在于,包括:条件确定单元,用于确定第一预测条件和第二预测条件,所述第一预测条件和所述第二预测条件均为影响中央处理器CPU唤醒时间的因素;正确率统计单元,用于统计使用所述第一预测条件预测所述CPU进入低功耗模式LPM的正确率;预测控制单元,用于若所述正确率统计单元确定正确率高于预定阈值,则继续使用所述第一预测条件预测所述CPU的下次唤醒时间;否则,使用所述第二预测条件预测所述CPU的下次唤醒时间。
- 根据权利要求10所述装置,其特征在于,所述第一预测条件为时钟值、所述第二预测条件为中断时刻。
- 根据权利要求10所述装置,其特征在于,所述低功耗模式LPM包括:等待中断模式、休眠模式或者掉电模式。
- 根据权利要求11所述装置,其特征在于,在所述预测控制单元确定使用时钟值作为预测条件预测所述CPU的下次唤醒时间后,所述CPU进入目标LPM;所述正确率统计单元包括:时间确定单元,用于确定所述目标LPM的CPU响应时间;正误确定单元,用于确定所述目标LPM的CPU响应时间是否处于所述CPU在LPM下的睡眠时间以及CPU时钟值之间;若是,则确定预测错误;统计单元,用于在使用时钟值作为预测条件预测所述CPU的下次唤醒时间预定次数后,统计预测正确率。
- 根据权利要求13所述装置,其特征在于,所述统计单元,用于统计预测正确率包括:将预测错误之外的其他情况都 确定为预测正确,然后统计预测正确率。
- 根据权利要求13所述装置,其特征在于,所述正误确定单元,还用于若所述目标LPM的CPU响应时间大于所述CPU在LPM下的睡眠时间以及CPU时钟值,或者,小于所述CPU在LPM下的睡眠时间以及CPU时钟值;或者,若所述CPU在LPM下的睡眠时间与CPU时钟值的差值小于预定门限,则确定预测正确。
- 根据权利要求15所述装置,其特征在于,所述统计单元,用于统计预测正确率包括:将确定预测正确的情况作为正确的全集,将不属于预测正确的情况确定为预测错误,统计预测正确率;或者,将确定预测正确和确定预测错误的情况作为全集,统计预测正确占所述全集的比例得到所述预测正确率。
- 根据权利要求10或11所述装置,其特征在于,所述中央处理器的管理装置应用于对众核CPU的管理。
- 一种电子设备,包括:中央处理器和存储器,其特征在于,所述中央处理器用于执行权利要求1至6任意一项所述的方法。
- 一种计算机可读存储介质,其特征在于,其存储用于电子数据交换的计算机程序,其中,所述计算机程序被执行的情况下实现如权利要求1-9任一项所述的方法。
- 一种程序产品,其特征在于,所述计算机程序被执行的情况下实现如权利要求1-9任一项所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP17805803.8A EP3401757B1 (en) | 2016-05-31 | 2017-05-27 | Method for managing central processing unit and related products |
US16/122,400 US20190138081A1 (en) | 2016-05-31 | 2018-09-05 | Method for Managing Central Processing Unit and Related Products |
US16/245,366 US10444822B2 (en) | 2016-05-31 | 2019-01-11 | Method for managing central processing unit and related products |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610380645.1A CN106055079B (zh) | 2016-05-31 | 2016-05-31 | 一种中央处理器的管理方法、及装置 |
CN201610380645.1 | 2016-05-31 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/122,400 Continuation US20190138081A1 (en) | 2016-05-31 | 2018-09-05 | Method for Managing Central Processing Unit and Related Products |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2017206858A1 true WO2017206858A1 (zh) | 2017-12-07 |
Family
ID=57172476
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2017/086453 WO2017206858A1 (zh) | 2016-05-31 | 2017-05-27 | 一种中央处理器的管理方法、及相关产品 |
Country Status (4)
Country | Link |
---|---|
US (2) | US20190138081A1 (zh) |
EP (1) | EP3401757B1 (zh) |
CN (1) | CN106055079B (zh) |
WO (1) | WO2017206858A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111443792A (zh) * | 2019-01-16 | 2020-07-24 | 阿里巴巴集团控股有限公司 | 处理器的功耗控制方法、装置以及电子和存储设备 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106055079B (zh) * | 2016-05-31 | 2017-11-24 | 广东欧珀移动通信有限公司 | 一种中央处理器的管理方法、及装置 |
CN108806673B (zh) * | 2017-05-04 | 2021-01-15 | 北京猎户星空科技有限公司 | 一种智能设备控制方法、装置及智能设备 |
US20210051110A1 (en) * | 2017-05-10 | 2021-02-18 | Telefonaktiebolaget Lm Ericsson (Publ) | Communication Node and Method for Handling Communications between Nodes of a System |
KR20210101632A (ko) | 2020-02-10 | 2021-08-19 | 삼성전자주식회사 | 스토리지 장치 및 상기 스토리지 장치의 동작 방법 |
US20230031388A1 (en) * | 2021-07-30 | 2023-02-02 | Advanced Micro Devices, Inc. | On-demand ip initialization within power states |
CN113900910A (zh) * | 2021-12-08 | 2022-01-07 | 北京新唐思创教育科技有限公司 | 应用程序监控方法、装置、存储介质和电子设备 |
US12045910B2 (en) * | 2022-05-16 | 2024-07-23 | Qualcomm Incorporated | Technique to optimize power and performance of XR workload |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100332874A1 (en) * | 2009-06-29 | 2010-12-30 | Nec Electronics Corporation | Microcomputer and microcomputer system |
CN102656539A (zh) * | 2009-12-16 | 2012-09-05 | 高通股份有限公司 | 用于基于所推断的工作负载并行性控制中央处理单元功率的***和方法 |
CN103218033A (zh) * | 2013-03-28 | 2013-07-24 | 北京小米科技有限责任公司 | 一种唤醒硬件设备的方法及装置 |
CN104094191A (zh) * | 2012-02-01 | 2014-10-08 | 德克萨斯仪器股份有限公司 | 实时***中的动态功率管理 |
CN104184907A (zh) * | 2013-05-27 | 2014-12-03 | 腾讯科技(深圳)有限公司 | 终端应用软件在待机状态下的唤醒数据的检测方法及终端 |
CN106055079A (zh) * | 2016-05-31 | 2016-10-26 | 广东欧珀移动通信有限公司 | 一种中央处理器的管理方法、及装置 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6725067B1 (en) * | 2000-03-24 | 2004-04-20 | International Business Machines Corporation | Method and system for restarting a reference clock of a mobile station after a sleep period with a zero mean time error |
US7017060B2 (en) * | 2001-03-19 | 2006-03-21 | Intel Corporation | Power management system that changes processor level if processor utilization crosses threshold over a period that is different for switching up or down |
US8510581B2 (en) * | 2007-03-26 | 2013-08-13 | Freescale Semiconductor, Inc. | Anticipation of power on of a mobile device |
US8024590B2 (en) * | 2007-12-10 | 2011-09-20 | Intel Corporation | Predicting future power level states for processor cores |
US8468377B2 (en) * | 2008-10-22 | 2013-06-18 | Microsoft Corporation | Conserving power using predictive modelling and signaling |
US8887171B2 (en) * | 2009-12-28 | 2014-11-11 | Intel Corporation | Mechanisms to avoid inefficient core hopping and provide hardware assisted low-power state selection |
US9235251B2 (en) * | 2010-01-11 | 2016-01-12 | Qualcomm Incorporated | Dynamic low power mode implementation for computing devices |
US20130290758A1 (en) * | 2010-01-11 | 2013-10-31 | Qualcomm Incorporated | Sleep mode latency scaling and dynamic run time adjustment |
EP2798436B1 (en) * | 2011-12-27 | 2017-05-17 | INTEL Corporation | Power management using reward-based sleep state selection |
US8938631B2 (en) * | 2012-06-30 | 2015-01-20 | International Business Machines Corporation | Energy efficient implementation of read-copy update for light workloads running on systems with many processors |
US9442557B2 (en) * | 2012-11-28 | 2016-09-13 | Advanced Micro Devices, Inc. | Using a linear prediction to configure an idle state of an entity in a computing device |
US9110671B2 (en) * | 2012-12-21 | 2015-08-18 | Advanced Micro Devices, Inc. | Idle phase exit prediction |
US9131445B2 (en) * | 2013-05-15 | 2015-09-08 | Nvidia Corporation | Low power mode exit latency predictor for real-time asymmetric multiprocessor systems |
US9851777B2 (en) * | 2014-01-02 | 2017-12-26 | Advanced Micro Devices, Inc. | Power gating based on cache dirtiness |
US9720487B2 (en) * | 2014-01-10 | 2017-08-01 | Advanced Micro Devices, Inc. | Predicting power management state duration on a per-process basis and modifying cache size based on the predicted duration |
US20150286271A1 (en) * | 2014-04-03 | 2015-10-08 | Samsung Electronics Co., Ltd. | System and method for predicting a central processing unit idle pattern for power saving in a modem system on chip |
US9507410B2 (en) * | 2014-06-20 | 2016-11-29 | Advanced Micro Devices, Inc. | Decoupled selective implementation of entry and exit prediction for power gating processor components |
US20160314024A1 (en) * | 2015-04-24 | 2016-10-27 | Mediatek Inc. | Clearance mode in a multicore processor system |
US9904623B2 (en) * | 2015-05-01 | 2018-02-27 | Advanced Micro Devices, Inc. | Early cache prefetching in preparation for exit from idle mode |
-
2016
- 2016-05-31 CN CN201610380645.1A patent/CN106055079B/zh active Active
-
2017
- 2017-05-27 EP EP17805803.8A patent/EP3401757B1/en active Active
- 2017-05-27 WO PCT/CN2017/086453 patent/WO2017206858A1/zh active Application Filing
-
2018
- 2018-09-05 US US16/122,400 patent/US20190138081A1/en not_active Abandoned
-
2019
- 2019-01-11 US US16/245,366 patent/US10444822B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100332874A1 (en) * | 2009-06-29 | 2010-12-30 | Nec Electronics Corporation | Microcomputer and microcomputer system |
CN102656539A (zh) * | 2009-12-16 | 2012-09-05 | 高通股份有限公司 | 用于基于所推断的工作负载并行性控制中央处理单元功率的***和方法 |
CN104094191A (zh) * | 2012-02-01 | 2014-10-08 | 德克萨斯仪器股份有限公司 | 实时***中的动态功率管理 |
CN103218033A (zh) * | 2013-03-28 | 2013-07-24 | 北京小米科技有限责任公司 | 一种唤醒硬件设备的方法及装置 |
CN104184907A (zh) * | 2013-05-27 | 2014-12-03 | 腾讯科技(深圳)有限公司 | 终端应用软件在待机状态下的唤醒数据的检测方法及终端 |
CN106055079A (zh) * | 2016-05-31 | 2016-10-26 | 广东欧珀移动通信有限公司 | 一种中央处理器的管理方法、及装置 |
Non-Patent Citations (1)
Title |
---|
See also references of EP3401757A4 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111443792A (zh) * | 2019-01-16 | 2020-07-24 | 阿里巴巴集团控股有限公司 | 处理器的功耗控制方法、装置以及电子和存储设备 |
CN111443792B (zh) * | 2019-01-16 | 2023-05-09 | 阿里巴巴集团控股有限公司 | 处理器的功耗控制方法、装置以及电子和存储设备 |
Also Published As
Publication number | Publication date |
---|---|
EP3401757A1 (en) | 2018-11-14 |
CN106055079B (zh) | 2017-11-24 |
EP3401757A4 (en) | 2019-03-06 |
US10444822B2 (en) | 2019-10-15 |
EP3401757B1 (en) | 2023-02-15 |
CN106055079A (zh) | 2016-10-26 |
US20190138081A1 (en) | 2019-05-09 |
US20190146573A1 (en) | 2019-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2017206858A1 (zh) | 一种中央处理器的管理方法、及相关产品 | |
US10732696B2 (en) | Method and apparatus for wake-up control of intelligent terminal | |
WO2019015435A1 (zh) | 语音识别方法、装置和存储介质 | |
WO2018219104A1 (zh) | 省电控制方法及相关产品 | |
WO2018032581A1 (zh) | 一种应用程序控制方法及装置 | |
US7636042B2 (en) | Battery life improvement for wireless devices through activity report combining | |
US11812323B2 (en) | Method and apparatus for triggering terminal behavior based on environmental and terminal status parameters | |
WO2017206902A1 (zh) | 应用控制方法及相关设备 | |
WO2014090202A1 (zh) | 一种功率控制的方法、装置及终端 | |
WO2015081664A1 (zh) | 控制无线网络开关方法、装置、设备及*** | |
JP5871075B2 (ja) | 中央演算装置を制御するための方法および装置 | |
WO2017206918A1 (zh) | 终端加速唤醒方法以及相关产品 | |
CN106851737B (zh) | 一种发送上行数据的方法,及终端设备 | |
KR101870391B1 (ko) | 지능형 단말기 및 이의 입력 조작 인터페이스를 디스플레이하는 방법 | |
WO2019128569A1 (zh) | 应用程序冻结方法、装置、存储介质和终端 | |
WO2019128573A1 (zh) | 信息处理方法、装置、计算机设备和计算机可读存储介质 | |
CN115985323B (zh) | 语音唤醒方法、装置、电子设备及可读存储介质 | |
WO2019128570A1 (zh) | 应用程序冻结方法、装置、存储介质和终端 | |
US11907041B2 (en) | Application processor wakeup method and apparatus applied to mobile terminal | |
WO2020088650A1 (zh) | 一种应用于移动终端的应用处理器唤醒方法及装置 | |
WO2023004662A1 (zh) | 延迟产生方法及相关设备 | |
CN115079623A (zh) | 微控制器芯片的控制方法、装置及存储介质 | |
WO2016165065A1 (zh) | 一种进程管理的方法、装置和设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 2017805803 Country of ref document: EP |
|
ENP | Entry into the national phase |
Ref document number: 2017805803 Country of ref document: EP Effective date: 20180809 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |