skip to main content
article

Static resource models for code-size efficient embedded processors

Authors Info & Claims
Published:01 May 2003Publication History
Skip Abstract Section

Abstract

Due to an increasing need for flexibility, embedded systems embody more and more programmable processors as their core components. Due to silicon area and power considerations, the corresponding instruction sets are often highly encoded to minimize code size for given performance requirements. This has hampered the development of robust optimizing compilers because the resulting irregular instruction set architectures are far from convenient compiler targets. Among other considerations, they introduce an interdependence between the tasks of instruction selection and scheduling. This so-called phase coupling is so strong that, in practice, instruction selection rather than scheduling is responsible for the quality of the schedule, which tends to disappoint. The lack of efficient compilation tools has also severely hampered the design space exploration of code-size efficient instruction sets, and correspondingly, their tuning to the application domain. In this article, we present an approach that reduces the need for explicit instruction selection by transferring constraints implied by the instruction set to static resource constraints. All resulting schedules are then guaranteed to correspond to a valid implementation with given instructions. We also demonstrate the suitability of this model to enable instruction set design (-space exploration) with a simple, well-understood and proven method long used in high-level synthesis (HLS) of ASICs. Experimental results show the efficacy of our approach.

References

  1. Aho, A. V. 1989. Code generation using tree matching and dynamic programming. ACM Trans. Program. Lang. Syst. 11, 4 (Oct.), 491--516. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Aho, A. V. and Johnson, S. C. 1976. Optimal code generation for expression trees. J. ACM 23, 3 (July), 488--501. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Araujo, G. and Malik, S. 1995. Optimal code generation for embedded memory non-homogeneous register architectures. In Proceedings of the 8th International Symposium on System Synthesis. IEEE Computer Society Press, Los Alamitos, CA, 36--41. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Araujo, G., Marlik, S., and Lee, M. 1996. Using register-transfer paths in code generation for heterogeneous memory-register architectures. In Proceedings of the 33rd Design Automation Conference. ACM, New York, NY, 591--596. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Avis, D., Bremner, D., and Seidel, R. 1997. How good are convex hull algorithms? Comput. Geom. Theor. Appl. 7, 265--301. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Bala, V. and Rubin, N. 1995. Efficient instruction scheduling using finite-state automata. In Proceedings of the 28th Annual International Symposium on Microarchitecture. IEEE Computer Society Press, Los Alamitos, CA, 46--56. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Bashford, S. and Leupers, R. 1999. Phase-coupled mapping of data flow graphs to irregular data paths. Des. Automa. Embedded Syst. 4, 2/3, 119--165.Google ScholarGoogle Scholar
  8. Chazelle, B. 1993. An optimal convex hull algorithm in any fixed dimension. Discrete Comput. Geom. 10, 377--409.Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Eisenbeis, C., Chamski, Z., and Rohou, E. 1999. Flexible issue slot assignment for VLIW architectures. In Conference Record of the 4th International Workshop on Software and Compilers for Embedded Systems.Google ScholarGoogle Scholar
  10. Emmelmann, H., Schroer, F. W., and Landwehr, R. 1989. Beg-a generator for efficient back ends. SIGPLAN Not. 24, 7 (July), 227--237. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Ercegovac, M., Kirovski, D., and Potkonjak, M. 1999. Low-power behavioral synthesis optimization using multiple precison arithmetic. In Proceedings of the 36th Design Automation Conference. ACM, New York, NY, 568--573. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Fauth, A., van Praet, J., and Freericks, M. 1995. Describing instruction set processors using nML. In Proceedings of the European Design and Test Conference. IEEE Computer Society Press, Los Alamitos, CA, 503--507. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Fraser, C. W., Henry, R., and Proebsting, T. A. 1993. Engineering a simple efficient code-generator generator. ACM Lett. Program. Lang. Syst. 1, 3 (Sept.), 213--226. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Fukuda, K. 2000. Frequently asked questions in polyhedral computation. Version 16, Oct. 2000. http://www.ifor.math.ethz.ch/˜fukuda/fukuda.html.Google ScholarGoogle Scholar
  15. Gebotys, C. H. 1997. An efficient model for DSP code generation: performance, code size, estimated energy. In Proceedings of the 10th International Symposium on System Synthesis. IEEE Computer Society Press, Los Alamitos, CA, 41--47. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Gyllenhaal, J. G., Hwu, W. W., and Rau, B. R. 1996. Optimization of machine description for efficient use. In Proceedings of the 29th Annual IEEE/ACM International Symposium on Microarchitecture. IEEE Computer Society Press, Los Alamitos, CA, 349--358. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Hanono, S., Hadjiyiannis, G., and Devadas, S. 1997. Aviv: A retargetable code generator using ISDL. In Proceedings of the 34th Design Automation Conference. ACM, New York, NY, 510--515.Google ScholarGoogle Scholar
  18. Hartmann, R. 1992. Combined scheduling and data routing for programmable ASIC systems. In Proceedings of the European Conference on Design Automation. IEEE Computer Society Press, Los Alamitos, CA, 486--490.Google ScholarGoogle ScholarCross RefCross Ref
  19. Leupers, R. 1997. Retargetable code generation for digital signal processors. Kluwer, Dordrecht, The Netherlands. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Leupers, R. 2000. Register allocation for common subexpression in DSP data paths. In Asia South Pacific Design Automation Conference. IEEE, Piscataway, NJ, 235--240. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Leupers, R. and Marwedel, P. 1996. Instruction selection for embedded DSPs with complex instructions. In Proceedings of the European Design Automation Conference with EURO-VHDL. IEEE Computer Society Press, Los Alamitos, CA, 200--205. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Liem, C., May, T., and Paulin, P. 1994. Instruction-set matching and selection for DSP and ASIP code generation. In Proceedings of the 7th International Symposium on System Synthesis. IEEE Computer Society Press, Los Alamitos, CA, 31--37.Google ScholarGoogle Scholar
  23. Lowney, P. G., Freudenberger, A. M., Karzes, T. J., Lichtenstein, W. D., Nix, R. P., and O'Donnell, J. Supercomput. 1993. The multiflow trace scheduling compiler. J. Supercomput. 7, 1-2 (May), 51--142. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Mesman, B., Timmer, A. H., van Meerbergen, J. L., and Jess, J. A. G. 1999. Constraint analysis for DSP code generation. IEEE Trans. Comput.-Aided Des. Integrated Circuits Syst. 18, 1 (Jan.), 44--57. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Novack, S., Nicolau, A., and Dutt, N. 1995. A unified code generation approach using mutation scheduling. In Code generation for Embedded Processors, P. Marwedel and G. Goossens, Eds. Kluwer, Dordrecht. Ch. 12.Google ScholarGoogle Scholar
  26. Paulin, P. and Liem, C. 1996. Embedded systems: tools and trends. Tutorial at the European Design and Test Conference (Paris, March 1996).Google ScholarGoogle Scholar
  27. Preparata, R. P. and Shamos, M. I. 1985. Computational Geometry: An Introduction. Springer, Heidelberg, Germany. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Proebsting, T. A. and Fraser, C. W. 1994. Detecting pipeline harzards quickly. In Conference Record of the 21st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages. ACM, New York, NY, 280--286. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Rau, B. R. 1996. Iterative modulo scheduling. Int. J. Parallel Program. 24, 1 (Feb.), 3--64.Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Rau, B. R. and Glaeser, C. D. 1981. Some scheduling techniques and an easily scheduable horizontal architecture for high performance scientific computing. In Proceedings of the 14th Workshop on Microprogramming. IEEE, New York, NY, 183--198. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Rimey, K. and Hilfinger, P. N. 1988. Lazy data routing and greedy scheduling for application-specific signal processors. In Proceedings of the 21st Annual Workshop on Microprogramming and Microarchitecture. IEEE Computer Society Press, Washington, DC, 111--115. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Timmer, A. H., Strik, M. T. J., van Meerbergen, J. L., and Jess, J. A. G. 1995. Conflict modelling and instruction scheduling in code generation for in-house DSP cores. In Proceedings of the 32nd Design Automation Conference. ACM, New York, NY, 593--598. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. van Eijk, C. A. J., Mesman, B., Alba Pinto, C. A., Zhao, Q., Bekooij, M., van Meerbergen, J. L., and Jess, J. A. G. 2000. Constraint analysis for code generation: basic techniques and applications in facts. ACM Trans. Design Automa. Electron. Syst. 5, 4 (Oct.), 774--793. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. van Praet, J., Goossens, G., Lanner, D., and De Man, H. 1994. Instruction set definition and instruction selection for ASIPs. In Proceedings of the 7th International Symposium on System Synthesis. IEEE Computer Society Press, Los Alamitos, CA, 11--16. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Wess, B. 1991. Automatic code generation for integrated digital signal processors. In Proceedings of the IEEE International Symposium on Circuits and Systems. IEEE, New York, NY.Google ScholarGoogle ScholarCross RefCross Ref
  36. Wilson, T., Grewal, G., Halley, B., and Banerji, D. 1994. An integrated approach to retargetable code generation. In Proceedings of the 7th International Symposium on System Synthesis. IEEE Computer Society Press, Los Alamitos, CA, 11--16. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Woudsma, R. 1994. EPICS, a flexible approach to embedded DSP cores. In Proceedings of the International Conference on Signal Processing, Application and Technology. DSP Associates, Waltham, MA, 506--511.Google ScholarGoogle Scholar
  38. Zhao, Q., Basten, T., Mesman, B., van Eijk, C. A. J., and Jess, J. A. G. 2001. Static resource models for instruction sets. In Proceedings of the 14th International Symposium on System Synthesis. ACM, New York, NY, 159--164. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Zhao, Q., Mesman, B., and Basten, T. 2002. Practical instruction set design and compiler retargetability using static resource models. In Proceedings of Design Automation and Test in Europe. IEEE Computer Society Press, Los Alamitos, CA, 1021--1026. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Static resource models for code-size efficient embedded processors

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      • Published in

        cover image ACM Transactions on Embedded Computing Systems
        ACM Transactions on Embedded Computing Systems  Volume 2, Issue 2
        May 2003
        120 pages
        ISSN:1539-9087
        EISSN:1558-3465
        DOI:10.1145/643470
        Issue’s Table of Contents

        Copyright © 2003 ACM

        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 1 May 2003
        Published in tecs Volume 2, Issue 2

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • article
      • Article Metrics

        • Downloads (Last 12 months)3
        • Downloads (Last 6 weeks)1

        Other Metrics

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader