This is the first article of the embedded Penguin Circle original team member, the Nvidia Senior development engineer Terry, who will launch a series of summary shares on the topic "Power optimization for mobile smart devices". Terry has a great value in summarizing and sharing its experience in optimizing the power consumption of mobile devices in leading NVIDIA multi-project development without reservation.
With the more and more functions of smart mobile devices, the cpu/memory frequency is increasing, and the power consumption problem is becoming more and more serious, how to prolong the standby and use time of mobile phone is always the problem that each handset manufacturer has to face. This topic will explain to you the current mainstream power optimization strategy and some practical optimization debugging methods, hope can play a role.
Now the mainstream mobile CPU the highest frequency 1-2ghz, higher frequency to bring higher power consumption, so we do not need the CPU to work at the highest frequency, most of the time, the CPU is actually working in a light load state, depending on the system load, the CPU can work in multicore/single core, high frequency/ Low-frequency, or switch between FCPU (such as A57) and scpu (such as A53), if the load is lighter, such as off standby, the CPU can switch to LP0, resulting in CPU power consumption approaching 0. The above process involves the following technologies.
I. Mechanism of Linuxcpuquite
For multicore CPUs, running the game requires all core online, browsing the Web page Maybe 1 cores is enough, how to evaluate the current need for several core online? How to achieve the hot plug of CPU core? Since this technology is unique to NVIDIA, involving trade secrets, it can not be written, if the need for friends please google yourself.
Ii. mechanism of Linuxcpufreq
Different user scenarios, the demand for performance is different, the CPU should be running at what frequency? The frequency is low, the card is high, and the charge power is higher. If there is a sudden incident, how to increase the frequency of the frequency reduction to ensure that the system is smooth and not excessive energy consumption? The following is a software system framework, which will be explained in detail later.
Iii. mechanism of Linuxcpuidle
If the load is very light, the system can enter a lower pstate (such as LP0/SC7), turn off the cpu,memory, and reduce the power consumption. How is it implemented? How does the system wake up? The following is a software system framework, which will be explained in detail later.
Four, DVFS dynamic voltage frequency regulation
This people should not be unfamiliar, this is a real-time voltage frequency regulation technology, due to the CMOS requirements, the CPU wants to run stably to higher frequency needs higher voltage, and this voltage is related to the chip speedo and IDDQ and temperature, how to determine? The following is a software system framework, which will be explained in detail later.
Of course, due to the increasing demand for power consumption, optimization technology is increasingly complex, each vendor has some unique technology, if interested also welcome readers Friends message rich content, or email me to discuss: [email protected], thank you.
This article provides an overview of the power optimization for mobile devices, which will be followed by an in-depth analysis of the principles and practices of each part.
The original team of embedded Penguin Circle consists of senior engineers such as Ali, Meizu, nvidia, godson, Ju Li, and so on. Hundreds of original, two articles a week, sharing embedded, Linux, Internet of Things, GPU, Android, autonomous driving and other technologies. Welcome to sweep code attention to the public number: embedded Penguin ring, real-time push the original article!
Mobile Smart Device Power Optimization Series-Foreword (shared by Nvidia senior engineers)