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”.
- 1 Agerwala, T. Microprogram Optimization: A Survey. IEEE Transactions on Computers C-25(10):962-973, October, 1976.Google Scholar
- 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 Scholar
- 3 Cattell, R. G. G. Formalization and Automatic Derivation of Code Generators. PhD thesis, Carnegie-Mellon University, April, 1978. Google Scholar
Digital Library
- 4 DeWitt, D. J. A Machine Independent Approach to the Production of Optimized Horizontal Microcode. PhD thesis, University of Michigan, June, 1976. Google Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Cross Ref
- 11 Ma, P. Y. and Lewis, T. G. A Portable Efficient Microprogramming System for Emulator Development. Technical Report, Oregon State University, 1979.Google Scholar
- 12 Mallett, P. W. Methods of Compacting Microprograms. PhD thesis, University of Southwestern Louisiana, December, 1978. Google Scholar
Digital Library
- 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 Scholar
- 14 Nilsson, N. Problem Solving Methods in Artificial Intelligence. McGraw-Hill, 1971. Google Scholar
Digital Library
- 15 Ousterhout, J. K. Cm* Kmap Microprogramming Manual and Debugger Manual Carnegie-Mellon University, 1978.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 18 Sint, M MIDL - A Microinstruction Description Language. In Proc. 14th Annual Workshop on Microprogramming, pages 95-106. IEEE, October, 1981. Google Scholar
Digital Library
- 19 Wood, W. G. The Computer Aided Design of Microprograms. PhD thesis, University of Edinburgh, November, 1979.Google Scholar
Index Terms
Phase coupling and constant generation in an optimizing microcode compiler
Recommendations
Phase coupling and constant generation in an optimizing microcode compiler
MICRO 15: Proceedings of the 15th annual workshop on MicroprogrammingThe 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 ...
Phase coupling for horizontal microcode generation
Microcode for mass produced architectures is still predominantly generated by hand. Yet, as speed dictates the vertical migration of commonly executed functions to microcode, the demand for automated code generation increases.Though considerably more ...
Phase coupling for horizontal microcode generation
MICRO 20: Proceedings of the 20th annual workshop on MicroprogrammingMicrocode for mass produced architectures is still predominantly generated by hand. Yet, as speed dictates the vertical migration of commonly executed functions to microcode, the demand for automated code generation increases.
Though considerably more ...






Comments