Brussels / 1 & 2 February 2014


Power management: a system wide challenge

In this presentation we will start from basic CMOS power consumption factors. We will use that as the basis to explain the various possibilities to balance power versus performance. We will then continue explaining how these techniques are implemented both in the SoC hardware and in the the operating system and application software. Android, maemo, OMAP and Tegra will be used to illustrate the techniques.

We will start by explaining which factors influence power consumption in CMOS chips. We will then explain a number of commonly used techniques to control the power versus performance balance such as clock and powergating, clock and supply voltage scaling and heterogenous multiprocessing. We will continue explaining how these techniques are implemented in linux using various frameworks such as cpuidle, cpufreq, common clock framework, runtime PM, generic powerdomains, device QoS constraints, system suspend. We will then discuss how application code affects the device power consumption and discuss how Android and Maemo handle this. We will also discuss various debugging mechanisms and tools such as powertop, ftrace and other information in linux sysfs and debugfs. We will also explain hardware techniques we have used to gain insight in the system operation beyond the view of software.


Peter De Schrijver