Flow graph machine models in microcode synthesis

Retargetability of microcode compilers is currently a major issue in microprogramming. We address the issue of local code generation from machine-independent specifications using weakest precondition semantics. The micromachine model used is a flow graph which is an abstract representation of the data paths of the machine. Examples of code generated by a prototype implementation are provided as an illustration of the method.

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

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

[3]  Robert A. Mueller,et al.  Formal Semantics for the Automated Derivation of Micro-Code , 1982, DAC 1982.

[4]  Daniel Brand,et al.  Using Machine Descriptions in Program Verification , 1978, Jerusalem Conference on Information Technology.

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

[6]  Marleen Sint MIDL - a microinstruction description language , 1981, MICRO 14.

[7]  James C. King,et al.  Symbolic execution and program testing , 1976, CACM.

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

[9]  S. D. Crocker,et al.  State deltas: a formalism for representing segments of computation. , 1977 .

[10]  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.

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

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

[13]  Alexander Birman On Proving Correctness of Microprograms , 1974, IBM J. Res. Dev..

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

[15]  Scott Davidson Design and construction of a virtual machine resource binding language , 1980 .

[16]  Gerhard Zimmermann The Mimola Design System a Computer Aided Digital Processor Design Method , 1979, 16th Design Automation Conference.

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

[18]  Roderic Geoffrey Galton Cattell,et al.  Formalization and Automatic Derivation of Code Generators , 1982 .

[19]  Edsger W. Dijkstra,et al.  Guarded commands, nondeterminacy and formal derivation of programs , 1975, Commun. ACM.

[20]  Tilak Agerwala Microprogram Optimization: A Survey , 1976, IEEE Transactions on Computers.

[21]  Robert E. Tarjan,et al.  Symbolic Program Analysis in Almost-Linear Time , 1982, SIAM J. Comput..

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

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

[24]  John Denniston Oakley Symbolic execution of formal machine descriptions , 1979 .

[25]  Bruce D. Shriver,et al.  Some Experiments in Local Microcode Compaction for Horizontal Machines , 1981, IEEE Transactions on Computers.

[26]  Steven R. Vegdahl,et al.  Local code generation and compaction in optimizing microcode compilers , 1982 .

[27]  Bruce D. Shriver,et al.  Local Microcode Compaction Techniques , 1980, CSUR.

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

[29]  Michael D. Poe Heuristics for the global optimization of microprograms , 1980, SIGM.

[30]  Daniel Brand,et al.  Microprogram verification considered necessary , 1978, AFIPS National Computer Conference.