Professional Documents
Culture Documents
Mark McDermott
Steven P. Smith
Spring 2018
4/17/18
4/9/2010 EE382M-8 Class Notes 3
Software Centric Optimization
System
Constraints
Lessons Software
Learned Roadmap of Requirements
Optimization Effort
Most of optimization
effort spent
benchmarking and
Benchmark/ verification Select
Verify Approach
Define
Process
4/17/18
4/9/2010 EE382M-8 Class Notes 4
Step 1: Define the Specific Process to be Followed
4/17/18
4/9/2010 EE382M-8 Class Notes 5
Step 2: Establish a Baseline
4/17/18
4/9/2010 EE382M-8 Class Notes 6
Step 3: Modify Software
4/17/18
4/9/2010 EE382M-8 Class Notes 7
Potentially Helpful Software Modifications
§ Combine loops
4/17/18
4/9/2010 EE382M-8 Class Notes 8
Step 4: Verify Functionality of Modified System
§ Test bed
4/17/18
4/9/2010 EE382M-8 Class Notes 9
Step 5: Measure Enhancements
• Plan B
4/17/18
4/9/2010 EE382M-8 Class Notes 10
Software Optimization Examples
4/17/18
4/9/2010 EE382M-8 Class Notes 11
Software Optimization Examples
4/17/18
4/9/2010 EE382M-8 Class Notes 12
Software Optimization Examples
4/17/18
4/9/2010 EE382M-8 Class Notes 13
Software Optimization Examples
4/17/18
4/9/2010 EE382M-8 Class Notes 14
Software Optimization Examples
4/17/18
4/9/2010 EE382M-8 Class Notes 15
Software Optimization Summary
4/17/18
4/9/2010 EE382M-8 Class Notes 16
Power Aware Software Development
4/17/18
4/9/2010 EE382M-8 Class Notes 17
Opportunities to Reduce Power Consumption
4/17/18
4/9/2010 EE382M-8 Class Notes 18
Power Aware Software
4/17/18
4/9/2010 EE382M-8 Class Notes 19
Hardware Techniques for Reducing Energy Consumption
4/17/18
4/9/2010 EE382M-8 Class Notes 20
Other Important Aspects of Power Aware Systems
§ Beyond the topic of local power aware software, there exist other
issues that also play a key role in certain classes of embedded
systems.
– For wireless devices such as sensor networks, the routing algorithm used by
the MANet (mobile ad hoc network) is a key factor in overall energy
consumption.
4/17/18
4/9/2010 EE382M-8 Class Notes 21
How can Software Reduce Power Consumption?
4/17/18
4/9/2010 EE382M-8 Class Notes 22
Power Consumption and Software
∴ E = Vdd * I * N * Tclk
If Vdd and Tclk are fixed, N is the only variable under software
control.
4/17/18
4/9/2010 EE382M-8 Class Notes 23
Calculating Energy and Power in CMOS circuits
4/17/18
4/9/2010 EE382M-8 Class Notes 25
Example
4/17/18
4/9/2010 EE382M-8 Class Notes 26
Models for Power Aware Software
– Some, but not all, modeling tools account for potentially important but
complex effects, such as cache behavior, pipeline stalls, data values, branch
prediction accuracy, etc.
4/17/18
4/9/2010 EE382M-8 Class Notes 27
Low-level Code Optimization for Reducing Power
4/17/18
4/9/2010 EE382M-8 Class Notes 28
System-level Power Aware Programming Techniques
4/17/18
4/9/2010 EE382M-8 Class Notes 29
Real-Time Scheduling in Power Aware Programming
Task 1
Task 2
Task 3
4/17/18
4/9/2010 EE382M-8 Class Notes 31