Low Power System Design Module 18-1 (1.5 hours): Case study: System-Level Power Estimation and Reduction Jan. 2007 Naehyuck Chang EECS/CSE Seoul National University
Contents In-house tools for low-power systems design Energy state machine SEE (SNU Energy Explore) and SEE web
In-house tools for low-power systems design Motivation To save power and energy, we need a measure Power measurement Average and RMS power measurement w/dmm No power fluctuation: heaters, light bulbs, etc. Instantaneous power measurement w/dso Mandatory for digital systems Sampling theory is applied If power changes rapidly, it is hard (
In-house tools for low-power systems design Motivation Energy measurement W/o power fluctuation Average (RMS) power times total execution time W/power fluctuation Integration of power over time; we need exact profile of P(t) Energy measurement per unit time Practical implementation of instantaneous power measurement limiting t to the clock period Cycle-accurate energy measurement is ideal of synchronous state machines
In-house tools for low-power systems design Why in-house measurement tools? No standard tools for high-level low-power research Why not conventional methods? (IEE Electronics Letters 2000, ISLPED2000, IEEE TVLSI 2000) Too slow Need multi GHz sampling Too noisy Need extremely low inductance Hard to synchronize with systems behavior Complex behavior of a CPU Hard to handle data Dozens of GB traces for 10 seconds
Embedded system platform w/power measurement Apollo Testbed (Collaboration with USC, 2001 to 2003) Limitation of energy simulator Speed (non-real time) Portability (OS and peripheral support) Accuracy (absolute energy values) Fully integrated energy estimation platform XScale CPU @733MHz Linux operating system Fully integrated peripherals Elaborated energy measurement Separated power planes for representative components USB controlled DAQ PC support Apollo Testbed data acquisition system Instrumentation manager
Embedded system platform w/power measurement Elaborated power measurement feature Power plane isolation Consideration of signal integrity Regulator Core 80200 XScale Ethernet Serial Boot ROM System Controller 5V peripherals Memory PCI bridge PCI bridge PCI connector PCI connector
Embedded system platform w/power measurement Power measurement Measurement control Real-time power consumption waveform Power consumption measurement data Channel description 300mW 240mW 180mW 120mW PCMCIA controller Compact FLASH In use Suspend Idle time-out 300mW 240mW 180mW 120mW USB controller In use Suspend 60mW 60mW Idle time-out 0mW Time (sec) 0mW Time (sec)
In-house tools for low-power systems design Cycle-accurate energy measurement Use of switched capacitors for cycle-accurate energy measurement Cycle-accurate energy measurement (IEE Electronics Letters 2000) Leakage energy consideration (IEEE Trans. on VLSI 2002) Compensation of bypass caps (ISQED 2003) Clock S 1 S 2 Voltage drop due to C L Voltage drop due to I S Voltage drop due to C B
In-house tools for low-power systems design Cycle-accurate energy measurement Derivation of C B by the charge conservation law
In-house tools for low-power systems design Cycle-accurate energy measurement Comparison with voltage and current measurement clock state vector switch control f0 # of sample points required switch control f1 power supply current (a) voltage of capacitor 1 voltage of capacitor 2 load voltage (b) (a) current measurement (b) switched capacitors
In-house tools for low-power systems design Does the cycle-accurate energy measurement really work? 4-bit binary counter (74HC393) Counting sequence is 0000 0001 0010 0011 0100 Results in 1 2 1 3 1 2 1 4 bit changes Amount of energy
In-house tools for low-power systems design Annotation of the energy state machines Does it really work? Average power supply current with a multimeter 1.68mW (@ 5MHz), 3.39mW (@10MHz) Cycle-accurate energy consumption by the switched capacitors with C = 3.200pF. 1-bit change (0000 to 0001, 0010 to 0011, etc.) 0.21nJ 2-bit change (0001 to 0010, 0101 to 0110, etc.) 0.35nJ 3-bit change (0011 to 0100, 1011 to 1100) 0.49nJ 4-bit change (0111 to 1000) 0.62nJ The equivalent average power consumption 1.64mW (@5MHz), 3.26mW (@10MHz)
In-house tools for low-power systems design Cycle-accurate energy measurement Implementation Components Switches: MOSFET Capacitors: C0G chip OP amps: Instrumentation A/D converters: 10bit pipelined A/D Converter OP AMP Capacitors Switches Capacitors
In-house tools for low-power systems design SEC (SNU Energy Characterizer) (ACM TECS 2002) Supports various target devices w/general purpose interface Ethernet support User-friendly software House-keeping board Control and analysis SW Ethernet Measurement board Personal Computer Target board
In-house tools for low-power systems design SECF (SNU Energy Characterizer for FPGAs) (ISQED 2003 and invited to Journal of Analog Integrated Circuits and Signal Processing) Target FPGA: Xilinx Spartan II XC2V1000FG456 Vector generator: Xilinx Spartan II XC2S150FG456 Data acquisition: Xilinx Spartan II XC2S150FG456 Data acquisition memory Data acquisition controller USB connector USB 2.0 device controller Analog measurement circuit Vector data controller Target FPGA FPGA configuration data and test vector memory
In-house tools for low-power systems design SES (SNU Energy Scanner) (IEEE Design & Test of Computer 2003) Profile data memory SGRAM 4MB Profile controller Xilinx Spartan2 FPGA Target device ARM7TDMI Target device controller Xilinx Spartan2 FPGA Measurement circuit 10bit A/D converter Target device program/data memory SDRAM 16MB PCI controller Xilinx Spartan2 FPGA 33MHz, 32bit PCI interface Profile data memory Target device controller PCI controller Target device Profile controller Measurement circuit Target device program/data memory
In-house tools for low-power systems design SECM (SNU Energy Characterizer for Memory) 10bit ADC resolution USB 2.0 interface Dependable interface socket Enhanced vector generator Data Acquisition Control FPGA USB Device Controller Acquisition Memory Measurement Circuit Switches and Capacitors USB Connecter Target Memory Device Vector Memory Target Device Control FPGA PCMCIA Socket
In-house tools for low-power systems design SECM upgrade Xilinx Vertex-II controller FPGA @100MHz 10 bit ADC Power MOSFET switches to accommodate high power consumption 128 MB SDRAM data storage 64 MB SDRAM vector storage USB 2.0 host interface 169 pin ZIF socket
Energy state machine Commercially available data sheets Applicable high-level power saving techniques? Recall the engine idle gas saving problem
Energy state machine Static power consumption Leakage current Static current flow from VDD to ground when output is 0 Proportional to duration of stay Dependent on the clock frequency Dynamic power consumption Charging and discharging load capacitors Short-circuit current Proportional to the number of clock cycles Independent to the clock frequency
Energy state machine Power Per Mode Convert current values to energy values using data sheet Useful for high-level power estimation Application dependent power estimation Specific operating frequency Fixed dynamic and static energy ratio
Energy state machine Energy Per Access Energy cost for an atomic operation Useful for high-level power estimation Application dependent power estimation Specific operating frequency Fixed dynamic and static energy ratio
Energy state machine Energy state machine (DAC2002, ACM TECS2003) Previous state machine-based characterization Nodes are associated with power consumption and edges are associated with transition probability Energy state machine Nodes are associated with static power consumption and edges are associated with dynamic energy consumption Ideal for high-level power estimation and power reduction
Energy state machine Modeling superiority for design space exploration Unit energy per access Power/mode Energy state machine 1 1 1 50mW 25mW 50mW 2 2 2 50mW 50mW 66mW 3 3 3 66mW 33mW 66mW 100nS 1 5nJ 2 0mW m1 m2 100mW 3 5nJ
Energy state machine Energy characterization of memory devices Asynchronous SRAM
Energy state machine Energy characterization of memory devices SDRAM
Energy state machine Complete SDRAM characterization (DAC 2002, ACM TECS 2003) SDRAM (a) Dynamic energy = CD + WDD (b) CD constants (unit: nj/bit)
Commercial advanced datasheet Comparison with Calculating Memory System Power for DDR (technical note from Micron, 2001) Subset of the energy state machine Power calculation Power calibration Power only under a particular condition
SEE (SNU Energy Explore) and SEE Web Fully integrated system-level energy estimation tool (IEEE D&T 2004) OVERALL STRUCTURE WEB USER INTERFACE (SEE Web) Main interface Energy tracer Memory viewer
SEE (SNU Energy Explore) System-wide energy estimator CPU Cache Bus Memory components Hardware support Hardware ISS Real chip! ARM7 and ARM9 versions Cycle-accurate energy measurement Bus transactions Bus transactions Binary executable Energy Bus transactions
SEE (SNU Energy Explore) Accurate bus and memory components Software energy models Energy state machines Characterized by real measurement by SEC and SECM Cycle-accurate behavior both timing and energy Bus transactions Binary executable Bus transactions Energy Bus transactions
SEE (SNU Energy Explore) Advantages of SEE System-wide energy estimator CPU + Cache + Bus + Memory components Very precise memory and peripheral energy estimation Cycle-accurate operations Energy models from cycle-accurate energy measurement/characterization Cache energy model based on XCACTI and SSRAM data High speed due to hardware ISS support Up to 500K instructions/sec with fully functional memory and bus energy estimation Very accurate
SEE (SNU Energy Explore) Advantages of SEE Designed for design space exploration Clock speed variable separate dynamic and static energy Configurable cache Embedded Linux support
SEE (SNU Energy Explore) Configurable architecture for design space exploration Processor clock I-cache and D-cache Capacity Associativity Line size SDRAM controller policy Auto-precharge Active-page Delayed precharge SDRAM Clock speed
SEE (SNU Energy Explore) Configurable architecture for design space exploration Bus interface Bus Hold Bus encoding Current upgrades NV memory support NAND Flash memory and Intel Synchronous Strata NOR Flash memory Mobil DDR SDRAM
SEE (SNU Energy Explore) SEE Web (IEEE D&T 2004) ARM7 version Web interface for public use http://see.snu.ac.kr GUI support Simple Web environment for standard Web browsers
SEE (SNU Energy Explore) Preparing a binary code Cross development environment with C Start up code support Runtime library support newlib-1.9.0 from Cygnus (http://sources.redhat.com/newlib/) Linker script support Motorola S3 support Upload the binary file Common dialog box
SEE (SNU Energy Explore) Trace formatter Oscilloscope like look and feel Zoom and Pan Reducing the download time Java Applet
Energy estimation tools and platforms for TI-OMAP 5912 Customization of SECM for Samsung new memory products Mobile DDR SDRAM NAND Flash memory OneNAND Flash memory Energy characterization of Samsung memory and Intel NOR Flash Fair system-wide energy comparison with NAND+Mobile DDR systems and NOR+Mobile DDR systems Customization of the SEE ARM9 version Adding more memory components Linux operating system environment