Limiting the energy consumption of computers, especially portables, is
becoming increasingly important. Thus, new energy-saving computer com
ponents and architectures have been and continue to be developed. Many
architectural features have both high-performance and low-power modes
, with the mode selection under software control. The problem is to mi
nimize energy consumption while not significantly impacting the effect
ive performance. We group the software control issues as follows: tran
sition, load-change, and adaptation. The transition problem is decidin
g when to switch to low-power, reduced-functionality modes. The load-c
hange problem is determining how to modify the load on a component so
that it can make further use of its low-power modes. The adaptation pr
oblem is determining how to create software that allows components to
be used in novel, power-saving ways. We survey implemented and propose
d solutions to software energy management issues created by existing a
nd suggested hardware innovations.