为了设计高性能低能耗的系统,需要从硬件设计和软件设计两个方面进行考虑,以取得性能和能耗的最佳权衡.研究利用软件技术降低系统能耗的问题,主要探讨系统开发阶段的低能耗软件优化与评估技术.优化技术包括指令级优化、算法级优化与软件体系结构优化3类,阐述在各类优化技术研究中面临的问题和当前的研究工作进展;深入讨论了低能耗软件优化的关键支撑技术——软件能耗估算,指出并分析面向处理器和面向全系统的软件能耗估算面临的主要问题和研究进展;最后展望进一步研究的主要问题和发展趋势.
In battery-driven embedded systems and mobile devices design areas, energy consumption has become one of the most critical constraints. In order to design the embedded systems with high performance and low power, it is necessary to consider optimization techniques from both hardware and software perspectives and pursue the optimal tradeoff between performance and energy consumption. This paper presents a concept of software energy consumption and the characteristics of software-based low energy techniques, and focuses on the software-based low energy techniques during the system development stages. Software-based optimization techniques for reducing system energy consumption in development stage include instruction-level optimization, algorithm-level optimization, and software architectural-level optimization. The primal issues and recent research progresses on software energy consumption optimization are presented.As a key supporting technique for low energy software development, software energy consumption evaluation techniques are also analyzed in detail, which include how to estimate software energy consumed by the processor and by the whole system. The instruction-level energy consumption model, architectural-level energy consumption model, and the macro-based energy consumption model for processor energy consumption estimation are discussed in detail. Finally, several challenges and open issues in software energy consumption research are summarized.