Skip to main content

Fast Code Generation for Embedded Processors with Aliased Heterogeneous Registers

  • Chapter
Book cover Transactions on High-Performance Embedded Architectures and Compilers II

Part of the book series: Lecture Notes in Computer Science ((THIPEAC,volume 5470))

Abstract

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.

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Ahn, M., Lee, J., Jung, S., Yoon, J.W., Paek, Y.: A Code Generation Approach for Heterogeneous Register Architectures. In: Proceedings of Workshop on the Interaction between Compilers and Computer Architecture (February 2007)

    Google Scholar 

  2. Ahn, M., Lee, J., Paek, Y.: Optimistic coalescing for heterogeneous register architectures. ACM SIGPLAN Notices 42(7), 93–102 (2007)

    Google Scholar 

  3. Araujo, G., Malik, S.: Code Generation for Fixed-Point DSPs. ACM Transactions on Design Automation of Electronic Systems (TODAES) 3(2), 136–161 (1998)

    Article  Google Scholar 

  4. Bashford, S., Leupers, R.: Constraint driven code selection for fixed-point DSPs. In: Proceedings of Design Automation Conference, pp. 817–822 (1999)

    Google Scholar 

  5. Chaitin, G.: Register allocation and spilling via graph coloring. SIGPLAN Notices 17(6), 98–105 (1982)

    Article  MathSciNet  Google Scholar 

  6. Feuerhahn, H.: Data Flow Driven Resource Allocation in a Retargetable Microde Compiler. In: Proceedings of International Symposium on Microarchitecture, pp. 105–107 (1988)

    Google Scholar 

  7. George, L., Appel, A.: Iterated Register Coalescing. ACM Transactions on Programming Languages and Systems 18(3), 300–324 (1996)

    Article  Google Scholar 

  8. Lorenz, M., Marwedel, P.: Phase Coupled Code Generation for DSPs Using a Genetic Algorithm. In: Proceedings of Conference on Design, Automation and Test in Europe, vol. 2, p. 21270 (2004)

    Google Scholar 

  9. Marwedel, P., Goossens, G. (eds.): Code Generation for Embedded Processors. Kluwer Academic Pub., Dordrecht (1995)

    MATH  Google Scholar 

  10. Park, J., Moon, S.-M.: Optimistic Register Coalescing. In: Proceedings of PACT (1998)

    Google Scholar 

  11. Coffman, E.G., Sethi, R.: Instruction Sets for Evaluating Arithmetic Expressions. Journal of the ACM 30(3) (1983)

    Google Scholar 

  12. Smith, M., Ramsey, N., Holloway, G.: A Generalized Algorithm for Graph-coloring register allocation. In: Proceedings of the ACM SIGPLAN conference on Programming language design and implementation PLDI, vol. 39(6) (2004)

    Google Scholar 

  13. Stallman, R.: Using and Porting GNU CC, Free Software Foundation (June 1993)

    Google Scholar 

  14. Wilson, T., Grewal, G., Halley, B., Banerji, D.: An Integerated Approach to Retargetable Code Generation. In: Proceedings of seventh International Symposium on High Level Synthesis, pp. 70–75 (1994)

    Google Scholar 

  15. Liem, C., May, T., Paulin, P.: Register Assignment through Resource Classification for ASIP Microcode Generation. In: Proceedings of the IEEE/ACM international conference on Computer-aided design (1994)

    Google Scholar 

  16. Paulin, P., Liem, m.C., May, T., Sutarwala, S.: DSP Design Tool Requirements for Embedded Systems: A Telecommunications Industrial Perspective. Journal of VLSI Signal Processing (1994)

    Google Scholar 

  17. Briggs, P., Cooper, K.D., Torczon, L.: Improvements to graph coloring register allocation. ACM TOPLAS 16(3), 428–455 (1994)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2009 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Ahn, M., Paek, Y. (2009). Fast Code Generation for Embedded Processors with Aliased Heterogeneous Registers. In: Stenström, P. (eds) Transactions on High-Performance Embedded Architectures and Compilers II. Lecture Notes in Computer Science, vol 5470. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-00904-4_9

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-00904-4_9

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-00903-7

  • Online ISBN: 978-3-642-00904-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics