Global methods in the flow graph approach to retargetable microcode generation

We have reported on local retargetable microcode generation methods based on the flow graph model in previous papers. In this paper, we consider the extension of these methods to global retargetable microcode generation. This includes intermediate representations of basic blocks containing control flow directives and their construction from global program dags, resource allocation and its interaction with code generation, machine-independent semantics and procedures for global microcode generation, and global compaction. The emphasis is on issues and promising directions for research on global methods vis a vis final results and definitive answers, as it reflects the early stages of our research.

[1]  Joseph A. Fisher,et al.  Trace Scheduling: A Technique for Global Microcode Compaction , 1981, IEEE Transactions on Computers.

[2]  Alfred V. Aho,et al.  Principles of Compiler Design (Addison-Wesley series in computer science and information processing) , 1977 .

[3]  Robert Andrew Mueller Automated microprogram synthesis , 1980 .

[4]  David A. Padua,et al.  High-Speed Multiprocessors and Compilation Techniques , 1980, IEEE Transactions on Computers.

[5]  Peter Marwedel A retargetable microcode generation system for a high-level microprogramming language , 1981, MICRO 14.

[6]  Charles N. Fischer,et al.  Retargetable Compiler Code Generation , 1982, CSUR.

[7]  Robert E. Tarjan,et al.  Variations on the Common Subexpression Problem , 1980, J. ACM.

[8]  Tohru Sasaki,et al.  Automatic address assignment of horizontal microprograms , 1983, SIGM.

[9]  Nils J. Nilsson,et al.  Artificial Intelligence , 1974, IFIP Congress.

[10]  Bruce Wallace Leverett Register Allocation in Optimizing Compilers , 1983 .

[11]  Utpal Banerjee,et al.  Time and Parallel Processor Bounds for Fortran-Like Loops , 1979, IEEE Transactions on Computers.

[12]  John H. Reif Symbolic program analysis in almost linear time , 1978, POPL '78.

[13]  Takanobu Baba,et al.  The MPG System: A Machine-Independent Efficient Microprogram Generator , 1981, IEEE Transactions on Computers.

[14]  Matthew S. Hecht,et al.  Flow Analysis of Computer Programs , 1977 .

[15]  Thomas R. Gross,et al.  Optimizing delayed branches , 1982, MICRO 15.

[16]  Ted G. Lewis,et al.  On the Design of a Microcode Compiler for a Machine-Independent High-Level Language , 1981, IEEE Transactions on Software Engineering.

[17]  David Johns Dewitt A machine independent approach to the production of optimized horizontal microcode. , 1976 .

[18]  Toru Ishida,et al.  Global Compaction of Horizontal Microprograms Based on the Generalized Data Dependency Graph , 1983, IEEE Transactions on Computers.

[19]  Bruce D. Shriver,et al.  An Overview of Firmware Engineering , 1978, Computer.

[20]  Nils J. Nilsson,et al.  Problem-solving methods in artificial intelligence , 1971, McGraw-Hill computer science series.

[21]  Joseph Allen Fisher,et al.  The Optimization of Horizontal Microcode within and Beyond Basic Blocks: an Application of Processor Scheduling with Resources , 2018 .

[22]  John L. Gieser On Horizontally Microprogrammed Microarchitecture Description Techniques , 1982, IEEE Transactions on Software Engineering.

[23]  Alfred V. Aho,et al.  Principles of Compiler Design , 1977 .

[24]  John L. Gieser,et al.  Automatic microcode generation for horizontally microprogrammed processors , 1981, MICRO 14.

[25]  Maurice V. Wilkes,et al.  The best way to design an automatic calculating machine , 1981 .