The last few years has seen the emergence of highly integrated embedded System-on-a-chip (SoC) architectures for several usages and platforms like high end mobile devices, tablets, smartphones and wearables. While each SoC component or accelerator can be optimized in various ways through the design phase, overall platform integration and platform power optimization is a growing challenge that is done in several different ways, specific to the final end system, operating system, and end usage intended for the device. Another trend has been the emergence of multi-core and multi-threaded architectures for all kinds of computing devices, ranging from cell phones, tablets, laptops, and netbooks, to high end computing systems, servers, etc. As the number of cores and threads-per-core increases, such systems present unique challenges in terms of scheduling, energy efficiency, temperature, heterogeneity, etc.
Power management and optimization research in the last couple of decades has spanned multiple areas such as process technology, circuit/design optimizations, hardware, micro-architectural techniques for processors, caches, memories, dynamic voltage/frequency scaling of processors and other components, power management of individual components such as hard drives, external memories, and network interfaces, power-aware compiler optimizations, operating system optimizations for energy efficiency, and system/platform-wide power and thermal management.
This tutorial covers end to end system design techniques from a power, energy and thermal perspective covering the most important energy efficiency techniques used in current generation Android, Chrome and Windows based smartphones, tablets, wearables and other small form factor devices.