skip to main content
10.1145/1375657.1375678acmconferencesArticle/Chapter ViewAbstractPublication PagescpsweekConference Proceedingsconference-collections
research-article

Placement-and-routing-based register allocation for coarse-grained reconfigurable arrays

Authors Info & Claims
Published:12 June 2008Publication History

ABSTRACT

DSP architectures often feature multiple register files with sparse connections to a large set of ALUs. For such DSPs, traditional register allocation algorithms suffer from a lot of problems, including a lack of retargetability and phase-ordering problems. This paper studies alternative register allocation techniques based on placement and routing. Different register file models are studied and evaluated on a state-of-the art coarse-grained reconfigurable array DSP, together with a new post-pass register allocator for rotating register files.

References

  1. AHN, M., AND PAEK, Y. Fast code generation for embedded processors with aliased heterogeneous registers. Trans. on HiPEAC 2, 2 (2007), 40--59.Google ScholarGoogle Scholar
  2. ALETA , A., CODINA, J. M., GONZÁLEZ, A., AND KAELI, D. Removing communications in clustered microarchitectures through instruction replication. ACM Trans. Archit. Code Optim. 1, 2 (2004), 127--151. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. BETZ, V., ROSE, J., AND MARGUARDT, A. Architecture and CAD for Deep-Submicron FPGAs. Kluwer Academic Publishers, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. BOUWENS, F., BEREKOVIC, M., GAYDADJIEV, G., AND DE SUTTER, B. Architecture enhancements for the ADRES coarse-grained reconfigurable array. In Proc. of HiPEAC Conf. (2008). Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. BRIGGS, P., COOPER, K. D., AND TORCZON, L. Improvements to graph coloring register allocation. ACM Trans. Program. Lang. Syst. 16, 3 (1994), 428--455. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. CALLAHAN, D., AND KOBLENZ, B. Register allocation via hierarchical graph coloring. SIGPLAN Not. 26, 6 (1991), 192--203. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. CARPANETO, G., DELL'AMICO, M., AND TOTH, P. Exact solution of large-scale, asymmetric traveling salesman problems. ACM Trans.Math. Softw. 21, 4 (1995), 394--409. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. CERVERO, T. Analysis, implementation and architectural exploration of the H.264/AVC decoder onto a reconfigurable architecture. Master's thesis, Universidad de Los Palmas de Gran Canaria, 2007.Google ScholarGoogle Scholar
  9. CHAINTIN, G., AUSLANDER, M., CHANDRA, A. K., COCKE, J., HOPKINS, M., AND MARKSTEIN, P. Register allocation via coloring. Computer Languages 6, 1 (1981), 47--57.Google ScholarGoogle Scholar
  10. CHU, M., FAN, K., AND MAHLKE, S. Region-based hierarchical operation partitioning for multicluster processors. In PLDI '03: Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation (2003), pp. 300--311. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. EISENBEIS, C., LELAIT, S., AND MARMOL, B. Circular-arc graph coloring and unrolling. In Proceedings of the 5th Twente Workshop on Graphs and Combinatorial Optimization (Twente, Netherlands, May 1997), U. Faigle and C. Hoede, Eds., pp. 71--74.Google ScholarGoogle Scholar
  12. GEORGE, L., AND APPEL, A. W. Iterated register coalescing. ACM Trans. Program. Lang. Syst. 18, 3 (1996), 300--324. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. HARAIKAWA, T., SOENO, M., YAMASHITA, Y., AND NAKATA, I. Register allocation frameworks for slide-window architecture. Transactions of Information Processing Society of Japan 39, 9 (1998), 2684--2694. (in Japanese).Google ScholarGoogle Scholar
  14. HENDREN, L. J., GAO, G. R., ALTMAN, E. R., AND MUKERJI, C. A register allocation framework based on hierarchical cyclic interval graphs. In Compiler Construction (1992), pp. 176--191. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. ITOGA, H., HARAIKAWA, T., YAMASHITA, Y., AND TANAKA, J. Register allocation for software pipelining with predication using spiral graph. In Proceedings of the International Symposium on Future Software Technology (ISFST2001) (2001), pp. 58--65.Google ScholarGoogle Scholar
  16. KIM, S., AND MOON, S.-M. Rotating register allocation for enhanced pipeline scheduling. In PACT '07: Proceedings of the 16th International Conference on Parallel Architecture and Compilation Techniques (PACT 2007) (2007), pp. 60--72. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. KOES, D. R., AND GOLDSTEIN, S. A global progressive register allocator. In Proc. PLDI (2006), pp. 204--215. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. LAM, M. S. Software pipelining: an effecive scheduling technique for VLIW machines. In Proc. PLDI (1988), pp. 318--327. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. LAPINSKII,V. S., JACOME,M. F., AND VECIANA, G. A. D. Cluster assignment for high-performance embedded CLIW processors. ACM Trans. Des. Autom. Electron. Syst. 7, 3 (2002), 430--454. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. MAHLKE, S., LIN, D., W.Y., C., HANK, R., AND BRINGMANN, R. Effective compiler support for predicated execution using the hyperblock. In MICRO 25: Proceedings of the 25th annual international symposium on Microarchitecture (1992), pp. 45.54. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. MARX, D. Eulerian disjoint paths problem in grid graphs is NP-complete. Discrete Appl. Math. 143, 1-3 (2004), 336--341. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. MEI, B., VERNALDE, S., VERKEST, D., MAN, H. D., AND LAUWEREINS, R. ADRES: An architecture with tightly coupled VLIW processor and coarse-grained reconfigurable matrix. In Proc. of Field-Programmable Logic and Applications (2003), pp. 61.70.Google ScholarGoogle ScholarCross RefCross Ref
  23. MEI, B., VERNALDE, S., VERKEST, D., MAN, H. D., AND LAUWEREINS, R. Exploiting loop-level parallelism for coarse-grained reconfigurable architecture using modulo scheduling. IEE Proceedings: Computer and Digital Techniques 150, 5 (2003).Google ScholarGoogle ScholarCross RefCross Ref
  24. PARK, H., FAN, K., KUDLUR,M., AND MAHLKE, S. Modulo graph embedding: Mapping applications onto coarse-grained reconfigurable architectures. In Proc. CASES (2006). Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. PARK, I., POWELL, M. D., AND VIJAYKUMAR, T. N. Reducing register ports for higher speed and lower energy. In MICRO 35: In Proceedings of the 35th annual ACM/IEEE international symposium on Microarchitecture (2002), pp. 171--182. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. PARK, J., AND MOON, S.-M. Optimistic register coalescing. ACM Trans. Program. Lang. Syst. 26, 4 (2004), 735--765. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. POLETTO, M., AND SARKAR, V. Linear scan register allocation. ACM Trans. Program. Lang. Syst. 21, 5 (1999), 895--913. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. RAU, B. R. Iterative modulo scheduling. Tech. rep., Hewlett-Packard Lab: HPL-94-115, 1995.Google ScholarGoogle Scholar
  29. RAU, B. R., AND GLASER, C. D. Scheduling techniques and an easily schedulable horizontal architecture for high performance scientific computing. In Proc. 20th Annual Workshop on Microprogramming and Microarchitecture (1981), pp. 183--198. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. RAU, B. R., LEE, M., TIRUMALAI, P. P., AND SCHLANSKER, M. S. Register allocation for software pipelined loops. In Proc. PLDI (1992), pp. 283--299. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. TERECHKO, A. S., AND CORPORAAL, H. Inter-cluster communication in vliw architectures. ACM Trans. Archit. Code Optim. 4, 2 (2007), 11. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. TOUATI, S.-A.-A., AND EISENBEIS, C. Cyclic register pressure and allocation for modulo scheduled loops. Tech. Rep. 4442, INRIA, April 2002.Google ScholarGoogle Scholar

Index Terms

  1. Placement-and-routing-based register allocation for coarse-grained reconfigurable arrays

      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
      • Published in

        cover image ACM Conferences
        LCTES '08: Proceedings of the 2008 ACM SIGPLAN-SIGBED conference on Languages, compilers, and tools for embedded systems
        June 2008
        180 pages
        ISBN:9781605581040
        DOI:10.1145/1375657
        • cover image ACM SIGPLAN Notices
          ACM SIGPLAN Notices  Volume 43, Issue 7
          LCTES '08
          July 2008
          167 pages
          ISSN:0362-1340
          EISSN:1558-1160
          DOI:10.1145/1379023
          Issue’s Table of Contents

        Copyright © 2008 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: 12 June 2008

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article

        Acceptance Rates

        Overall Acceptance Rate116of438submissions,26%

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader