1.94k likes | 2.29k Views
Part I: Low Power SoC Design Methods. Sungjoo Yoo Embedded System Architecture Lab. POSTECH. sungjoo.yoo@postech.ac.kr. Agenda. Introduction Low power design issues Solutions overview Clock/power gating, DVFS (dynamic voltage & frequency scaling), …
E N D
Part I:Low Power SoC Design Methods SungjooYoo Embedded System Architecture Lab. POSTECH sungjoo.yoo@postech.ac.kr
Agenda • Introduction • Low power design issues • Solutions overview • Clock/power gating, DVFS (dynamic voltage & frequency scaling), … • Power Consumption Characteristics and Estimation • Processor and hardware blocks • System-level and RTL Lower Power Design Methods • Dynamic power management • System-level clock/power gating management • RTL design for system-level clock/power gating • Dynamic voltage scaling • DRAM Memory and Battery • Recent Trends in Low Power Design • EPI (energy per instruction) throttling • Summary
Power Consumption Issues Range … Columbia River Google Computing Center, Oregon >100W/chip ~10W/chip <<1W/chip (e.g., RFID) ~1W/chip
[J. Hamilton, 2008] Data Center Case
[E. Chung, 2009] Cell Phone Case • Power consumption for running a streaming video applications
Low Power Design Methods: Spectrum • - New device/material • (e.g., HK/MG, FinFET) • Multi-Vt/Tox/Lg • Clock gating • Power gating • Multi-Vdd, DVFS • Parallelization • QoS vs. energy Software Architecture Circuit Process/library
[LPMM, 2007] Switching Power
[LPMM, 2007] (Sub-Threshold) Leakage Power Vth = kT/q (25.9mV at room temp) n = 1.0~2.9 ISUB ~ e-VT ISUB ~ T2*e1/T Inversely proportional to VT (=VT0 – gVBS) Proportional to VBS (body bias) Proportional to T (temperature)
[LPMM, 2007] Trend • Scaling trend • Vdd: 1.2v (90nm) 1.0v (45nm, 1.2v in LP) • # TR’s: 4x in 45nm w.r.t. 90nm • DVT: ~DVdd in ratio Compute density k3 Leakage power density k2.7 Active power density k1.9 ISUB ~ e-VT
Power Density Comparison High-end CPU ~100W/cm2 vs. Human brain 15mW/cm3
[Rabaey, 2009] Human Brain
Low Power Design Approaches • Switching power • Less switching (less work, less power consumption) • Removing redundant work • Clock gating dynamic power management • Voltage scaling • With more area: parallelization • With more delay: low frequency operation and pipelining • With dynamic voltage scaling • Leakage power • Power gating dynamic power management • And exploiting stacking effect • Multi-Vth/Tox/Lg design • Body bias • Cooling dynamic thermal management
CPU 3D Audio Video CPU 3D CPU 3D CPU 3D Audio Video Audio Video Audio Video CPU CPU CPU 3D 3D 3D Audio Audio Audio Video Video Video CPU CPU 3D 3D Audio Audio Video Video Dynamic Power Management: Chip-level View mpeg4 run mpeg4 done game run game done mp3 done mp3 run 1 2 7 8 13 23 28 29 30 t (min)
Dynamic Voltage & Frequency Scaling • Principle: Exploiting Power ~ V2 & V ~ freq Frequency (=Vdd) Frequency (=Vdd) F F F/2 E = F2*D/2 E = (F/2)2*D = F2*D/4 Time Deadline (D) Deadline (D) D/2 Key: workload prediction! Energy reduction by 75%!
[E. Chung, 2009] Dynamic Thermal Management • Reactive DTM • At high temperature, reduce work! • Less instructions, lower clock/Vdd, etc. • These techniques are triggered when a thermal limit is reached
Agenda • Introduction • Low power design issues • Solutions overview • Clock/power gating, DVFS (dynamic voltage & frequency scaling), … • Power Consumption Characteristics and Estimation • Processor and hardware blocks • System-level and RTL Lower Power Design Methods • Dynamic power management • System-level clock/power gating management • RTL design for system-level clock/power gating • Dynamic voltage scaling • DRAM memory and battery • Recent Trends in Low Power Design • EPI (energy per instruction) throttling • Summary
Why Power Estimation? • In order to evaluate the effects of our designs on power consumption • Power estimation at various design levels • Software code optimization • RTL block design • Chip architecture (e.g., bus) design • Chip implementation (e.g., gate-level netlist or layout) Design Power Estimation Optimize Power OK? Done
Power Consumption Characteristics • Processor • E.g., Cortex A8 (1GHz) targets 300mW 0.3mW/MHz • Hardware IPs • E.g., Video codec 100~200mW for 1080p @ 30fps • DDR DRAM • E.g., LPDDR2 800 100~300mW
Processor Power Estimation • Processor power model, ARM926 case • Two power states for core • A more refined model for cache • Hit/miss, SEQ/NS, fill buf, … Active Idle
Power Consumption Characteristics of Cache • Sequential (SEQ) and non-sequential (NS) accesses have different power consumption levels • Power consumption • SEQ with fill buffer hit < SEQ < NS
Power Estimation Accuracy • 93~98% w.r.t. post-layout gate-level power estimation
Power Consumption Characteristics • Processor • E.g., Cortex A8 (1GHz) targets 300mW 0.3mW/MHz • Hardware IPs • E.g., Video codec 50~100mW for 1080p @ 30fps • DDR DRAM • E.g., LPDDR2 800 50~100mW
Issues in RTL Power Estimation • Commercial solutions, e.g., PowerTheater • Estimation accuracy • RTL power estimation sometimes lacks in considering clock network and aggressive low power design methods, e.g., power/clock gating, multi-Vdd/Vth optimization • Estimation speed • Some commercial RTL power estimators run too slow • Thus, frequently used simple solution • Power consumption = toggle rate * power/gate * gate count • Toggle rate: 5~15%
Chip-level Scenario-based Power Estimation • Video playback • Codec (10M gates, 10%) • LCD (1M gates, 10%) • ARM@200MHz (0.3mW/MHz) • SDRAM@200MHz (50mW) • Total power = 10% * 100mW/MG*(10MG+1MG) + 0.3mW/MHz*200MHz + 50mW = 230mW • Video recording • Audio play • Game
Agenda • Introduction • Low power design issues • Solutions overview • Clock/power gating, DVFS (dynamic voltage & frequency scaling), … • Power Consumption Characteristics and Estimation • Processor and hardware blocks • System-level and RTL Lower Power Design Methods • Dynamic power management • System-level clock/power gating management • RTL design for system-level clock/power gating • Dynamic voltage scaling • DRAM memory and battery • Recent Trends in Low Power Design • EPI (energy per instruction) throttling • Summary
Overhead and Break-even Time in Power State Transition • Power State & Transitions Req. Req. Workload Device Busy Busy Idle Working Tsd TWU Working Sleeping Power State t1 t2 t3 t4 Power
Overhead and Break-even Time in Power State Transition • Overhead of shut down and wake up • Break-even time (Tbe) • Tbe iswhen transition energy overhead + low-power state’s energy = high-power state’s energy & Tbe > Tsd + Twu • E.g., HDD suffers from high transition cost due to spin up
How to Achieve Effective Dynamic Power Management? • Rule of thumb in DPM • #1 Turn off unused blocks as soon as possible • #2 The gain needs to be greater than power state transition overhead (in energy and runtime) • How to achieve effective DPM? • Fine-grained power states (or power/clock control regions) • Low power state transition overhead • If the transition time point is explicit, then a direct control (mostly by OS) • Else, we need good idle period prediction policies
IBM HDD: Conventional (before ‘99) Power States and DPM • Idle: Still spinning, but servo stopped, head parked, etc., 40ms wakeup time • Standby: Not spinning, most of electronics off, 1.5 ~ 5 sec wakeup time • Sleep: Entered by a specific command (by OS), ~0.1W
DPM with More Power States • With a few power states • Can only exploit long idle periods • If more fine-grained power states are used • power state transition overhead tends to be reduced • short idle period can be exploited!
IBM Paper: DPM with Fine-Grained Power States • Performance idle: No entry delay. Some electronics off • Fast idle: 40ms delay, head parked, servo control off • Low power idle: 400ms delay, head unloaded • Standby: conventional Standby, but can be self-managed
Impact of Fine-grain Power States 40ms delay Difference in energy comsumption 30.8J vs. 23J 25% reduction! How to create fine-grained power states? Clock/power gating Voltage and frequency scaling Etc. 2.2 2.2 2.2 0.9 0.9 0.9 Power 0 5 10 15 0 5 10 15
Coarse-Grained Clock Gating:Clock Domain • Clock gating targets power consumption due to clock network while subsystems are idle • Clock gating is one of the easiest ways to obtain low power states • Wakeup overhead is a few clock cycles
[Rabaey, 2009] Clock Gating Effect
Power Gating and Power Domain • Power gating targets leakage power consumed even after clock is gated • Power domain: unit of power gating often called voltage island
[LPMM, 2007] Power Gating Clock gating still gives leakage power consumption Power gating reduces leakage power consumption with power on/off transition overhead
[LPMM, 2007] Effects of Clock & Power Gating 90nm generic ARM926-based chip
Power States Related with Power Gating • Active state • Power is applied to logic gates as well as memory (including FF’s) • Retention • Power is applied only to (some) memory • Vretention (e.g., 0.6V) < Vdd (1.1V) • Used to reduce the transition delay to (re)store states on power-on/off transitions
Putting All Together • There can be multiple clock domains inside of a power domain Power domain
CPU 3D Audio Video CPU 3D CPU 3D CPU 3D Audio Video Audio Video Audio Video CPU CPU CPU 3D 3D 3D Audio Audio Audio Video Video Video CPU CPU 3D 3D Audio Audio Video Video Dynamic Power Management: Architectural View mpeg4 run mpeg4 done game run game done mp3 done mp3 run 1 2 7 8 13 23 28 29 30 t (min)
Case Study of Dynamic Power Gating • Linux 2.6.x on a high-performance mobile application processor (AP) User space (Power-aware) applications Applications can control clock/power (optional) Kernel DPM daemon (kdpmd) HW independent HW dependent Notify Clock/power control Device drivers Clock HAL Power domain HAL Kernel space Hardware Power domain control registers Clock control registers
codec IP2 IP3 IP4 codec IP2 IP3 IP4 codec IP2 IP3 IP4 Clock/Power On Sequence Application Device Driver DPM Daemon Clock/Power HAL Power Domain Notify to daemon the usage of codec and wait open(codec) is called Turn on power domain Power domain wake-up delay (power on + state restore) Device driver waits for an event from the daemon Event Turn on codec’s clk open() returns Application starts execution When the codec IP needs to start, if the power domain has been off, the power domain is turned on first. Sungjoo Yoo, 2007
How to Achieve Effective Dynamic Power Management? • Rule of thumb in DPM • #1 Turn off unused blocks as soon as possible • #2 The gain needs to be greater than power state transition overhead (in energy and runtime) • How to achieve effective DPM? • Fine grain power states (or power/clock control regions) • Low power state transition overhead • If the transition time point is explicit, then a direct control (mostly by OS) • Else, we need good idle period prediction policies
Idle Period Prediction • If the idleness is not explicit, then idle period is predicted (when a new idle period starts) • E.g., when SSD does not have any request from host CPU, when can it enter a low power state? Predict a future idle period, then make a decision of whether to enter the low power state or not
An Illustration of Time-Out Method • A widely used simple method • After an idle period of TO time units, enter a low power state • Energy reduction vs. performance overhead • A fixed (large) TO may lose opportunities for further energy reduction • A small TO will cause too frequent power on/off transitions. We may suffer from large performance overhead due to power on/off transition delay TO Time
Idle Period Detection/Prediction • Prediction of start time and duration • Start time • Time-based • Fixed, variable (e.g., day or night), or adaptive (e.g., p[i+1] = a*I[n] + (1-a)*p[n]) • Rate-based • Declare an idle period when its rate estimate falls below a threshold • Moving average (over a fixed time period) • Event window (moving average over n previous events) • Duration • Infinity or fixed • (Filtered) Moving average (higher than a threshold, i.e., break-even time) • (Filtered) Backoff: e.g., Geometric increase/Arithmetic decrease • Autocorrelation joint probability of event arrival rates (periods)
Idle Period Detection/Prediction(Cont’d) • Hierarchical prediction, e.g., multiple experts • Takes in the results from multiple predictors, and give one final prediction • Low-pass, e.g., discard results shorter than a threshold, i.e., break-even time. • Quality, e.g., choose the result from the predictor with the highest accuracy [Helmbold, 2000] • Stochastic prediction [Benini, 2000] • Good for stationary patterns that can be modeled in terms of rate