Power Reduction Techniques For Microprocessor Systems
Download
Report
Transcript Power Reduction Techniques For Microprocessor Systems
Power Reduction Techniques
For Microprocessor
Systems
Presented by William Lane
Material and graphics presented here are from:
Power Reduction Techniques For Microprocessor Systems
Vasanth Venkatachalam and Michael Franz
ACM Computing Surveys, Vol. 37, No3, September 2005, pp. 195 - 237
“Power consumption is a major factor that
limits the performance of computer systems.”
Most of the power a computer consumes ends up as heat.
The above diagram shows the power density of a few microprocessors.
In some cases heat generation and power consumption may not be an issue.
For example: Home computer used for gaming vs. Cell phone
Forms of power consumption:
Dynamic
Switched
capacitance
Short circuit current
Static
Leakage
Static power loss seems to be where most of the total power is ending up.
Dynamic Power Loss
Switched capacitance:
85-90%
of dynamic power loss
Energy used in charging or dissipating capacitors at
outputs of circuits
Short Circuit Current:
10-15%
of dynamic power loss
Energy used for pairs of transistors that switch current
with opposite polarity cause a momentary short circuit
Equation for Switched Capacitance
power loss
P = aCV2f
P = power loss
V = supply voltage
C = capacitance
a = activity factor
f = clock frequency
Methods of reducing Switched
Capacitance power loss
Decreasing the capacitance
Decreasing activity level
This can be difficult because generally we try to fit more on to
computer chips. Ex. Clock Gating
Reduce clock frequency
This can worsen the performance.
Reduces the performance and may not end up reducing the
energy used.
Decrease supply voltage
Lower supply voltage can increase time delay of the circuit which
would then need a lower clock frequency.
Dynamic Voltage Scaling
A combination of adjusting the supply voltage
and clock frequency are used to increase or
decrease the power of the processor. Adjusting
these two together gives the best results.
Many modern processors use such a method to
control the speed of the processor.
DVS can be used for consuming less power
while also keeping the temperature of the chip
cooler.
Static Power Loss
Reduce supply voltage
Reduce the size of the circuit
Clock gating
Technology Mapping (tool for circuit design)
Cool computer
Uses less power
Recent study showed that cooling the processor by 50 degrees reduced
leakage by up to a factor of 5
Change threshold voltage of transistors
Increasing the threshold voltage lowers the amount of leakage through
the transistor, but it then takes more voltage to switch the transistor. Ex:
Adaptive Body Biasing
Further studies in power consumption
Buses
Reduce
the amount of switching in a bus. Invert
signal to decrease number of bits that change.
11111 to 00001
11111 to 11110
Low
Swing Bus
Use lower voltage for the bus
Bus
4 bits change
1 bit change
segmentation
Shut down parts of bus not used
Further studies in power consumption
Memory
Each memory access costs energy
Scratch pad memory
Used mostly in embedded application; programmer defines what
data to store in the cache.
Instruction level cache
Decrease number of memory access
Decrease amount of energy needed to access memory
Stores the next few instructions only. Any memory references are
removed. Located between L1 cache and processor
Adaptive Cache
Turns off part off cache to save energy. Can be used with drowsy
cache to save data in cache when cache is turned off.
A few open questions
Is it more energy efficient to run a program using a more powerful
processor which runs for less time, or is it better to run a processor
that is less powerful but finishes in more time? Which processor
uses more energy?
The speedup of a program is not linear to the speedup of the processor.
Is it better to use multiple slow processors or one fast processor?
Which uses more energy?
For a laptop computer would you pick a processor that would burn
through your battery quickly but gives you more computing power?
In conclusion
The energy efficiency of a processor
needs to be weighed against the
application of the processor.
Most often it is a choice between a more
powerful processor and a more energy
efficient one.