This paper discusses several of the SOC design issues pertaining to dynamic voltage and frequency scalable systems, and how these issues were resolved in the IBM PowerPC 405LP processor. We also introduce DPM, a novel architecture for policy-guided dynamic power management. We illustrate the utility of DPM by its ability to implement several classes of power management strategies and demonstrate practical results for a 405LP embedded system. I. INTRODUCTION Advances in low-power components and system design have brought general purpose computation into watches, wireless telephones, PDAs and tablet computers. Power management of these systems has traditionally focused on sleep modes and device power management (1). Embedded processors for these applications are highly integrated system-on-a-chip (SOC) de- vices that also support aggressive power management through techniques such as programmable clock gating and dynamic voltage and frequency scaling (DVFS). This paper describes one of these processors, and the development of a software architecture for policy-guided dynamic power management. II. 405LP DESIGN AND POWER MANAGEMENT FEATURES The IBM PowerPC 405LP is a dynamic voltage and frequency scalable embedded processor targeted at high- performance battery-operated devices. The 405LP is an SOC ASIC design in a 0.18 m bulk CMOS process, integrating a PowerPC 405 CPU core modified for operation over a 1.0 V to 1.8 V range with off-the-shelf IP cores. The chip includes a flexible clock generation subsystem, new hardware accelerators for speech recognition and security, as well as a novel standby power management controller (2). In a system we normally operate the CPU/SDRAM at 266/133 MHz above 1.65 V and at 66/33 MHz above 0.9 V, typically providing a 13:1 SOC core power range over the 4:1 performance range. From a system design and active power management perspec- tive the most interesting facets of the 405LP SOC design concern the way the clocks are generated and controlled. These features of the processor are described in the remainder of this Section.
[1]
Krisztián Flautner,et al.
Automatic Performance Setting for Dynamic Voltage Scaling
,
2001,
MobiCom '01.
[2]
Scott Shenker,et al.
Scheduling for reduced CPU energy
,
1994,
OSDI '94.
[3]
Christian Poellabauer,et al.
Power-aware video decoding using real-time event handlers
,
2002,
WOWMOM '02.
[4]
Bishop Brock,et al.
A 32-bit PowerPC system-on-a-chip with support for dynamic voltage scaling and dynamic frequency scaling
,
2002,
IEEE J. Solid State Circuits.
[5]
Hal Wasserman,et al.
Comparing algorithm for dynamic speed-setting of a low-power CPU
,
1995,
MobiCom '95.
[6]
Johan A. Pouwelse,et al.
Application-directed voltage scaling
,
2003,
IEEE Trans. Very Large Scale Integr. Syst..
[7]
Amin Vahdat,et al.
ECOSystem: managing energy as a first class operating system resource
,
2002,
ASPLOS X.
[8]
Luca Benini,et al.
A survey of design techniques for system-level dynamic power management
,
2000,
IEEE Trans. Very Large Scale Integr. Syst..
[9]
Philip Levis,et al.
Policies for dynamic clock scheduling
,
2000,
OSDI.
[10]
Johan Pouwelse,et al.
POWER-AWARE VIDEO DECODING
,
2005
.
[11]
Luca Benini,et al.
Dynamic voltage scaling and power management for portable systems
,
2001,
Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).
[12]
Thomas D. Burd,et al.
The simulation and evaluation of dynamic voltage scaling algorithms
,
1998,
Proceedings. 1998 International Symposium on Low Power Electronics and Design (IEEE Cat. No.98TH8379).
[13]
Chansu Yu,et al.
Dynamic voltage scaling on MPEG decoding
,
2001,
Proceedings. Eighth International Conference on Parallel and Distributed Systems. ICPADS 2001.
[14]
Krisztián Flautner,et al.
Vertigo: Automatic Performance-Setting for Linux
,
2002,
OSDI.