Low Power Computing

Download as pdf or txt
Download as pdf or txt
You are on page 1of 24

Teknologi Sistem Cerdas

CCE62461

Embedding Determination and Innovation in Tradition 1


Agenda kuliah
• Introduction + Overview
• Klasifikasi dan klastering pada embedded system
• Review paper terkait
• Kendali dan kontrol pada embedded system
• Review paper terkait
• Wearable computing
• Review paper terkait
• -----------------------------------UTS-------------------------------------
• Common Sense Computing
• Ubiquituous Comp, Context Aware, Intelligent Interface
• Review paper terkait
• Biomedical system application
• Review paper terkait

• low power computing


• Review paper terkait
• -----------------------------------UAS-------------------------------------

8 September 2022 Slide 2


Low Power optimization on
embedded system
• Basics of Embedded Systems: low power design. Prof. Dr. Kalle
Tammemäe, et.al
• Low-Power Optimization
• MSP430 Microcontroller Basics, John H. Davies
• High-Level Optimization for Low Power Consumption on
Microprocessor-Based Systems, Ortiz & Santiago
• Power and Energy Efficiency in Embedded Systems
• Design techniques for low power systems, Havinga & Smit
• EMBEDDED SYSTEM POWER CONSUMPTION: A SOFTWARE
OR HARDWARE ISSUE? Matalon, et.al
Introduction

• Why low power?


▪ Portable and mobile devices are getting popular, which have limited power
sources, e.g., battery
▪ Energy conservation for our planet
▪ Power generates heat low carbon
▪ Power optimization becomes a new dimension in system design,
besides performance and cost

4
Motivation – why worry about power?
Wearables
More computation
▪ Video decoding
▪ Augmented reality processing
▪ Speech recognition and synthesis
▪ Complex communication protocols

Autonomous units
▪ Sea and ocean technology
▪ Space technology, etc.
Battery capacity and weight limits (10%
improvement per year)
Energy harvesting limits (solar panel, etc.)

5
Energy and Power

• Energy: ability to do work


• Most important in battery-powered systems
• Power: energy per unit time
• Important even in wall-plug systems---power becomes heat

Power draw increases


with…
• Vcc
• Clock speed
• Temperature

6
Power is related to performance
Design Choices
Power issues areas
▪ Display
This hardware is a major power drain. It is essential that the driving software
monitors utilization very carefully and dims or shuts down displays when they
are not in use.
▪ Wireless Peripherals
In almost all cases, the software may turn off the wireless interface when it is
not in use or optimize the transmission power for current circumstances
▪ CPU Utilization
The execution performance of the code may be quite significant – minimizing
the number of instructions that need to be executed to perform a given task,
reduces the number of Watt-Hours required. Low power consumption is closely
related to algorithm performance
▪ Memory
Although it’s unlikely to be a significant factor, memory does consume power,
and minimizing the memory footprint of the software may be desirable.
▪ USB
If the device is a USB peripheral, its software should respond correctly to
requests from the host to shut down or suspend. An embedded system may
also be a USB host, in which case the host software must monitor USB
peripheral utilization and shut down or put to sleep unused devices
General Strategies
• Put the system in low-power modes and/or use low-power modules
as much as possible

• How?
❑ Provide clocks of different frequencies frequency scaling
❑ Turn off clocks when no work to do clock gating
❑ Use interrupts to wake up the CPU, return to sleep when done (another reason
to use interrupts)
❑ Switched on peripherals only when needed
❑ Use low-power integrated peripheral modules in place of software

11
Low-power efficient coding techniques:
▪ Optimize program flow
▪ Use unsigned data types where possible
▪ Avoid floating point operations
▪ Power control in software:
▪ Sleep/suspend
▪ Dynamic voltage and frequency scaling

http://processors.wiki.ti.com/index.php/ULP_Advisor
12
Tips for estimating
battery life accurately
[Beningo engineering]

Embedding Determination and Innovation in Tradition 13


Tips 1:traditional battery budget analysis

▪ To estimate the required battery size


▪ To anticipate battery life
▪ For each component of the system:
• Determine minimum, typical, maximum current consumption
▪ Estimate percentage of time in each state

[http://www.eetimes.com/author.asp?doc_id=1324160] 14
Tips 2: Software Rate Monotonic Analysis (RMA)

▪ Identify different tasks performed by software


▪ Identify the time of each task execution
▪ Can improve traditional battery budget “guestimations“

15
Tips 3: Chip vendor tools

▪ There are many variables concerning how microcontroller


consume energy
▪ Vendor datasheets have pages about power consumption based
on temperature, voltage, peripheral set, etc.
▪ Still, how are these numbers obtained and how accurate they are?
▪ E.g. ARM CortexA9 processor has 6 hardware counters which can
be configured to monitor 62 local events
▪ Chip vendors starting to supply developers with tools with ability
to simulate current consumption
▪ Example: STMCubeMx from STMicroelectronics

16
Tips 4: Bench-top experiments

▪ Test assumptions on the bench!


▪ As early as possible in the design cycle, prototype parts be tested for
real-world behavior!
▪ This should not be clean test, but verifies basic assumptions
▪ Find a quick and inexpensive way to prove power portion of the
design
▪ Data taken from the bench can be used to refine the model of power
analysis

17
Tips 5: Battery life-cycle analysis

▪ Concerning rechargable batteries:


Manufactured battery good lifetime may decrease dramatically after
a few month of usage
▪ Peak current draw from embedded system:
When the battery is partially discharged, it is possible that peak
current can cause the battery voltage to dip into or below its brown
out value => dead embedded system

18
Measuring power consumption

Test setup for measuring average current consumption:


• oscilloscope for measuring current with respect to time;
• for voltage probe use relatively small value resistor
o Small enough to not affect low power circuitry
o Large enough to provide voltage to measure with decent precision
o Easy to calculate

19
Result example: Current consumption versus time

State Time (µs) Current (mA)

Wake up 496 6.1

Rx 288 22.3

Tx 104 29.3

Processing 1180 8.1

20
Formulas and calculations
Average current during event =
[(State 1 time)*(State 1 current) + (State 2 time)*(State 2 current) + …] / (Total awake time)

Average current =
[(Interval – Total awake time)* (Average sleep current) + (Total awake time)* (Average current during event)] / (Interval)

Expected battery life running continuously =


(Battery capacity) / (Average current)

21
Issues to Discuss

• Which saves more energy?


❑ Use a higher frequency to run a program faster so as to sleep longer
❑ Use a lower frequency to run a program to save power, but system may be
active longer

22
Ada Pertanyaan ?

Embedding Determination and Innovation in Tradition 23


Embedding Determination and Innovation in Tradition 24

You might also like