Essential Question How do I achieve optimal health and wellness ?
Trading Power and Performance to Achieve Optimal Thermal Design for Battery-Powered Devices
-
Upload
mark-benson -
Category
Engineering
-
view
46 -
download
2
Transcript of Trading Power and Performance to Achieve Optimal Thermal Design for Battery-Powered Devices
1
Trading power and performanceto achieve optimal thermal designfor battery-powered devicesMark Benson
CONFIDENTIAL 2
Mark Benson, Director of Software Strategy, Logic PD
History of Logic PD• 1960’s Founded as Polivka Logan• 1980’s Added Mechanical Eng• 1990’s Added Software, Electrical
Eng• 2000’s Added Products,
Manufacturing
Products and Services• Product Design• Product Engineering• Embedded Products• Manufacturing
Industries • Industrial, Medical, Aerospace,
Military
Employees• 130 design consultants• 400 operations staff
Geographies• Minneapolis, Boston, San Diego
3
Agenda1. Introduction to thermal problems that
exist in small battery-powered devices2. Summary of software techniques for
managing thermal performance3. Case study: Kindle Fire4. Conclusion summary and areas for future
study and research
Gist: dynamic scaling is key, and we need more software tools and research to put this fact in the forefront of the minds of software and systems engineers
1970 1975 1980 1985 1990 1995 2000 2005 20100.1
110
1001000
10000100000
100000010000000
Intel CPU Trends
Transistors (000) Clock Speed (MHz)Power (W)
We’ve got problems*
* Source: http://www.gotw.ca/publications/concurrency-ddj.htm
Thermodynamic issues
Signal integrity issues
Portable devices make it worseProblems• High ambient
temperatures• Small thermal mass• Sealed enclosures
Solutions1. Don’t generate heat2. Remove existing heat3. Define your environment
5
Safety
Reliability
Heat and power are related
• TI DM3730 running at 600 MHz
• Math-heavy test (100% ARM load)
• Heat is a function of power8
0 27 54 81 108135162189216243270297324351378405300
350
400
450
500
42434445464748
Power (mW) Temp (°C)
Seconds
Pow
er (
mW
)
Tem
p (°
C)
Heat Power
Performance
Pow
erDynamic power (Pdynamic = CfV2)
1. Scaling the curve2. Moving the curve3. Finding alternative
curves
Notdesirable
Lightweightprocessing
Heavyweightprocessing
Dynamicscaling
Performance
Pow
er
• Processor provides: power states, DVFS• You provide: operating points (DVFS
policies)• You provide: suspend peripheral
coordination
Scaling the curve: power states
OffSuspend
Running
OPP1OPP2
OPP3OPP4
OPP5OPP6
Power States Operating PointsOPP = {f, V}
DVFS Engine
Feeds
• Deeper sleep consumes less power• Deeper sleep takes longer to wake up
• Each design (HW + SW) creates unique profile
Scaling the curve: wake time
Off Suspend Idle Running
Power / stateWake time / state
Power State
Pow
er
Tim
e
Scaling the curve: boot quickly
Xloader Uboot Kernel Shell GUI Framework
Xloader Kernel Shell
GUI Framework
50s
10s
Drivers /dev30s
Normal boot
Fast boot
Pow
er
Performance
Spend moretime here
Get heremore quickly
Moving the curve: voltage tuning• Some SoC’s have per-chip voltage calibrations• Examples: SmartReflex™, power/clock gating • These often require companion chips (PMIC)
Voltage tuning offVoltage tuning on
Performance
Pow
er
Goal: lower power at equivalent performance
Finding alternative curves• Applications processors have many curves
• Make sure your app uses the right curves• Use dynamic scaling to your advantage
ARMDSPISP
Performance
Pow
er
1. Image resizing, color conversion, AWB, AE, AF2. Audio/video codecs, data processing3. GUI, communications stacks
15
Kindle Fire Case Study
Case study: Kindle Fire• TI OMAP 4430, 7” 600x1024 display• Wi-Fi 802.11n, USB 2.0, 8 GB of storage• Android Gingerbread 2.3, 4400 mAh battery
Kindle Fire: dynamic scaling• Dynamic scaling is used (Pdynamic = CfV2)• System under full load (ANTuTu Benchmark*)
Cores: 1 @ 600 MHzPower: 2158 mWTemp: 43.5º C
Cores: 2 @ 300 MHzPower: 1930 mWTemp: 42º C
750
1500
2000
2500
3000
4000
5000
1600
2000
2400
2800
3200
3600
1 core (load)
Performance (DMIPS)
Pow
er (
mW
) Under load, multicoreperforms better
* ANTuTu Benchmarkhttp://www.antutulabs.com
Kindle Fire: dynamic scaling• When idling, the opposite is true• During idle, it’s more efficient to turn off a core
Cores: 1 @ 600 MHzPower: 1611 mWTemp: 38.5º C
Cores: 2 @ 300 MHzPower: 1729 mWTemp: 40º C
750
1500
2000
2500
3000
4000
5000
15001600170018001900200021002200
1 core (idle)
Performance (DMIPS)
Pow
er (
mW
)
When idling, single coreperforms better
Kindle Fire: voltage tuning• Adjusts voltage based on per-chip calibration• Benefits occur across all power states
Freq: 800 MHzSmartReflex™: offPower: 3097mWTemp: 50º C
Freq: 800 MHzSmartReflex™: onPower: 2690 mWTemp: 45º C
300 600 800 10001500
2000
2500
3000
3500
4000
SR off (load) SR on (load)
Performance (MHz)
Pow
er (
mW
)
SmartReflex™ movesthe curve
Off Suspend Idle Load0
5001000150020002500300035004000
0100002000030000400005000060000
Power / state Wake time / statePower State
Pow
er (m
W)
Tim
e (m
s)
Kindle Fire: wake time
Suspend62 mW31º C180 ms wake
Idle1721 mW34.2º C0 ms wake
Load3431 mW51.1º C0 ms wake
• Suspend: great power savings plus reasonable wake time
Off0 mW25º C52000 ms wake
Kindle Fire: summary• Kindle Fire uses:
– Dynamic scaling– Voltage tuning (not all SoCs use this)– Low-power suspend– Most/all features of the chip
(entitlement)• You should too
Conclusion• Summary
– Lower power required = lower heat generated
– Remember law of dynamic power (Pdynamic = CfV2)
– Use all parts of the chip available to you• Areas for future research
– Software tools that enable thermal/power visibility
– Tools and methods for limiting run-time power
– Software for auto-managing dynamic power22
It’s all about the user