Q2.12: Power Management Beyond the CPU
Upcoming SlideShare
Loading in...5

Q2.12: Power Management Beyond the CPU



Resource: Q2.12

Resource: Q2.12
Name: Power Management Beyond the CPU
Date: 01-06-2012
Speaker: Amit Kucheria



Total Views
Views on SlideShare
Embed Views



0 Embeds 0

No embeds



Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

Q2.12: Power Management Beyond the CPU Q2.12: Power Management Beyond the CPU Presentation Transcript

  • Power Management beyond the CPU Amit Kucheria Power Management Working Group Linaro Connect, Hong Kong 1st June 2012
  • The power guzzlers... Internet Phone Video streaming Angry birds GPS navigation 0 100 200 300 400 500 600 700 800 900 GPS Audio Wifi Display CPU Use case Powerconsumption(mW)
  • Concepts: quick overview ● Clock trees [clock framework] ● Power supplies [regulator framework] ● Idle management [cpuidle framework] ● Active CPU power/performance management [cpufreq framework] ● Active device power/performance management [devfreq framework] ● Dynamic device power management [runtime PM framework] ● Constraints [pm-qos framework]
  • Use case walkthrough MP3 playback
  • mp3 playback: Assumptions Music on MMC/SDcard Decoding on ARM
  • mp3 playback: Simplified HW blocks DRAM ARM MMC/SD Buffer mp3 Audio codec SoC
  • mp3 playback: Flow mp3 DRAM ARM MMC/SD File Cache BufferPCM frames DMA decode Audio codec SoC
  • mp3 playback: SW optimisations Entire file read into main memory ● Run ARM cores at low frequency [cpufreq] ● Turn off MMC [runtime pm hooks in mmc driver] ● What is turned off? ● Clocks immediately ● Regulators turned off lazily ● Ensure system doesn't idle too long [cpuidle] ● Register a latency constraint [pm-qos]
  • mp3 playback: SW optimisations Decode mp3 to PCM ● Decoded samples in main memory ● Turn off ARM core, no more processing necessary [cpuidle] ● Peripherals may still be awake
  • mp3 playback: SW optimisations DMA from main memory to some FIFO ● e.g. FIFO on audio codec or some buffered serial port ● RAM can be put in self-refresh ● FIFO is large (few 100ms)
  • mp3 playback: SW optimisations Buffer drives Codec while entire SoC is in very low-power state ● Timer wakes up DMA thread just before buffer runs out
  • Conclusions ● ARM power consumption is a small component in a typical usecase ● Surrounding peripherals need to be power- managed too ● Linux has frameworks to help with this ● Runtime PM ● PM-QoS ● devfreq
  • Thank You