Program Level Energy and Power Analysis and Optimization: Circuit State
Program Level Energy and Power Analysis and Optimization: Circuit State
As the instruction cache size increases, the energy cost of the software on
the CPU declines, but the instruction cache comes to dominate the energy
consumption.
If the cache is too small, the program runs slowly and the system consumes
a lot of power due to the high cost of main memory accesses.
If the cache is too large, the power consumption is high without a
corresponding payoff in performance. At intermediate values, the execution time
and power consumption are both good.
Method for improving energy consumption :
1. Try to use registers efficiently
2. Analyze cache behavior to find major cache conflicts
3. Make use of page mode accesses in the memory system whenever possible
Some additional observations about energy optimization as follows :
1. Moderate loop unrolling eliminates some loop control overhead
2. Software pipelining reduces pipeline stalls, thereby reducing the average
energy per instruction.
3. Eliminating recursive procedure calls where possible saves power by
getting rid of function call overhead.