I propose an approach to energy reduction targeted to microprocessors using an integrated set of energy-aware software components under the control of a compilation system known as RELIC (Retargetable Embedded Language Independent Compiler). RELIC is language independent, processor independent and can be instructed to take into account the energy characteristics and parameters of the target microprocessor for the purpose of reducing the energy consumption of applications that execute on that microprocessor.A key component of the RELIC compilation system is the RELAX (Rational Expression Language for Academic eXperimental compilers) intermediate code generator and optimizer, and a target-specific assembler named ECOAS (Energy COnserving ASsembler) which analyzes the energy requirements of the instructions of a program in its entirety. This holistic approach uses the combination of discrete energy measurements for a given microprocessor and a flexible compiler system which consumes those measurements as inputs for determining the best overall energy reduction strategy for a given compilation task. |