Fast Code Generation for Embedded Processors with Aliased Heterogeneous Registers
Many embedded processors have complex, irregular architectures resulting from the customization for the maximum performance and energy efficiency of target applications. One such example is the heterogeneous register architecture, which has fast, small-sized register files, for their specific uses,...
        Saved in:
      
    
          | Published in | Transactions on High-Performance Embedded Architectures and Compilers II pp. 149 - 172 | 
|---|---|
| Main Authors | , | 
| Format | Book Chapter | 
| Language | English | 
| Published | 
        Berlin, Heidelberg
          Springer Berlin Heidelberg
    
        2009
     | 
| Series | Lecture Notes in Computer Science | 
| Subjects | |
| Online Access | Get full text | 
| ISBN | 3642009034 9783642009037  | 
| ISSN | 0302-9743 1611-3349  | 
| DOI | 10.1007/978-3-642-00904-4_9 | 
Cover
| Summary: | Many embedded processors have complex, irregular architectures resulting from the customization for the maximum performance and energy efficiency of target applications. One such example is the heterogeneous register architecture, which has fast, small-sized register files, for their specific uses, distributed over the data paths between different functional units. Although this architectural design may be good at achieving the H/W design goal of high speed, small area and low power, it requires highly expensive algorithms for optimal code generation. This is primarily because multiple registers contained in each file come with many different constraints subject to their design purposes, and often their names are aliased with each other; thus the final code quality is very sensitive to how properly such aliased, heterogeneous registers are utilized in every instruction. In this work, we propose a code generation approach to attack this complex problem. The experiments reveal that our approach is fast, practically running in polynomial time. In comparison with the related work, it achieves approximately 13% of code size reduction and 16% of speed increase. | 
|---|---|
| Bibliography: | An extension of [1] with more detailed description of our register allocation and coalescing algorithms with extended experimental results to show our effects on code generation. | 
| ISBN: | 3642009034 9783642009037  | 
| ISSN: | 0302-9743 1611-3349  | 
| DOI: | 10.1007/978-3-642-00904-4_9 |