skip to main content
article
Free Access

Phase coupling and constant generation in an optimizing microcode compiler

Published:05 October 1982Publication History
Skip Abstract Section

Abstract

The designer of an optimizing compiler must concern himself with the order in which optimization phases are performed; a pair of phases may be interdependent in the sense that each phase could benefit from information produced by the other. In a compiler for a horizontal target architecture, one such phase-ordering problem occurs between code-generation and compaction. Presented here is an overview of a research effort at Carnegie-Mellon University which has examined solutions to this problem. One aspect of the code generation problem-that of generating constants “intelligently”-is discussed in detail. A technique, called constant-unfolding, is described that can be used to produce code sequences that generate constants in “unusual” ways during execution; such code sequences can lead to more compact code when the literal field of the microinstruction is a “bottleneck”.

References

  1. 1 Agerwala, T. Microprogram Optimization: A Survey. IEEE Transactions on Computers C-25(10):962-973, October, 1976.Google ScholarGoogle Scholar
  2. 2 Banerjee, U., Shen, S., Kuck, D. J. and Towle, R.A. Time and Parallel Processor Bounds for Fortran-Like Loops. IEEE Transactions on Computers C-28(9):660-670, September, 1979.Google ScholarGoogle Scholar
  3. 3 Cattell, R. G. G. Formalization and Automatic Derivation of Code Generators. PhD thesis, Carnegie-Mellon University, April, 1978. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. 4 DeWitt, D. J. A Machine Independent Approach to the Production of Optimized Horizontal Microcode. PhD thesis, University of Michigan, June, 1976. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. 5 Erman, L. D. and Lesser, V. R. The Hearsay-II System: A Tutorial. In Lea, W. A. (editor), Trends in Speech Recognition, chapter 16. Prentice-Hall, Englewood Cliffs, NJ, 1978.Google ScholarGoogle Scholar
  6. 6 Fisher, J. A. The Optimization of Horizontal Microcode Within and Beyond Basic Blocks: An Application of Processor Scheduling with Resources. PhD thesis, New York University, October, 1979. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. 7 Fisher, J. A., Landskov, D. and Shriver, B. D. Microcode Compaction: Looking Backward and Forward. In Proc. 1981 National Computer Conference, pages 95-102. AFIPS, 1981.Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. 8 Fuller, S. H., Almes, G. T., Broadley, W. H., Forgy, C. L., Karlton, P. L., Lesser, V. R. and Teter, J. R. PDP-11/40E Microprogramming Reference Manual. Technical Report, Carnegie-Mellon University, January, 1976.Google ScholarGoogle Scholar
  9. 9 Landskov, D., Davidson, S., Shriver, B. and Mallett, P. W. Local Microcode Compaction Techniques. ACM Computing Surveys 12(3):261-294, September, 1980. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. 10 Leverett, B. W., Cattell, R. G. G., Hobbs, S. O., Newcomer, J. M., Reiner, A. H., Schatz, B. R. and Wulf, W. A. An Overview of the Production Quality Compiler-compiler Project. Technical Report CMU-CS-79-105, Carnegie-Mellon University, February, 1979.Google ScholarGoogle ScholarCross RefCross Ref
  11. 11 Ma, P. Y. and Lewis, T. G. A Portable Efficient Microprogramming System for Emulator Development. Technical Report, Oregon State University, 1979.Google ScholarGoogle Scholar
  12. 12 Mallett, P. W. Methods of Compacting Microprograms. PhD thesis, University of Southwestern Louisiana, December, 1978. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. 13 Newell, A. Heuristic Programming: III-structured Problems. In Aronofsky, J. (editor), Progress in Operations Research, III, pages 360-414. Wiley, New York, 1969.Google ScholarGoogle Scholar
  14. 14 Nilsson, N. Problem Solving Methods in Artificial Intelligence. McGraw-Hill, 1971. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. 15 Ousterhout, J. K. Cm* Kmap Microprogramming Manual and Debugger Manual Carnegie-Mellon University, 1978.Google ScholarGoogle Scholar
  16. 16 Poe, M. D. Heuristics for the Global Optimization of Microprograms. In Proc. 13th Annual Workshop on, Microprogramming, pages 13-22. IEEE, December, 1980. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. 17 Poe, M. D., Goodell, R. and Steely, S. Jr. Issues of the Design of a Low Level Microprogramming Language for Global Microcode Compaction. In Proc. 14th Annual Workshop on Microprogramming, pages 88-94. IEEE, October, 1981. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. 18 Sint, M MIDL - A Microinstruction Description Language. In Proc. 14th Annual Workshop on Microprogramming, pages 95-106. IEEE, October, 1981. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. 19 Wood, W. G. The Computer Aided Design of Microprograms. PhD thesis, University of Edinburgh, November, 1979.Google ScholarGoogle Scholar

Index Terms

  1. Phase coupling and constant generation in an optimizing microcode compiler

        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 SIGMICRO Newsletter
          ACM SIGMICRO Newsletter  Volume 13, Issue 4
          Dec. 1982
          169 pages
          ISSN:1050-916X
          DOI:10.1145/1014194
          Issue’s Table of Contents

          Copyright © 1982 Author

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 5 October 1982

          Check for updates

          Qualifiers

          • article

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader
        About Cookies On This Site

        We use cookies to ensure that we give you the best experience on our website.

        Learn more

        Got it!