A Concurrent Instruction Scheduling and Recoding Algorithm for Power Minimization in Embedded Systems

Sung-Rae LEE  Ser-Hoon LEE  Sun-Young HWANG  

IEICE TRANSACTIONS on Information and Systems   Vol.E93-D   No.8   pp.2162-2171
Publication Date: 2010/08/01
Online ISSN: 1745-1361
DOI: 10.1587/transinf.E93.D.2162
Print ISSN: 0916-8532
Type of Manuscript: PAPER
Category: Software System
embedded system,  low-power,  instruction scheduling,  recoding,  

Full Text: PDF>>
Buy this Article

This paper presents an efficient instruction scheduling algorithm which generates low-power codes for embedded system applications. Reordering and recoding are concurrently applied for low-power code generation in the proposed algorithm. By appropriate reordering of instruction sequences, the efficiency of instruction recoding is increased. The proposed algorithm constructs program codes on a basic-block basis by selecting a code sequence from among the schedules generated randomly and maintained by the system. By generating random schedules for each of the basic blocks constituting an application program, the proposed algorithm constructs a histogram graph for each of the instruction fields to estimate the figure-of-merits achievable by reordering instruction sequences. For further optimization, the system performs simulated annealing on the generated code. Experimental results for benchmark programs show that the codes generated by the proposed algorithm consume 37.2% less power on average when compared to the previous algorithm which performs list scheduling prior to instruction recoding.