Abstract
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.
- {Ager76} Agerwala, T., "Microprogram Optimization: A Survey", IEEE Transactions on Computers, Vol. C-25, Number 10, 1976.Google Scholar
- {Agra76} Agrawala, A. K., and Rauscher, T. G., Foundations of Microprogramming: Architecture, Software and Applications, Academic Press, New York, 1976.Google Scholar
- {AhoU77} Aho, A. V., and Ullman, J. D., Principles of Compiler Design, Addison-Wesley, Reading, Massachusetts, 1977. Google Scholar
Digital Library
- {Baba81} Baba, T. and Hagiwara, H., "The MPG System: A Machine-Independent Efficient Microprogram Generator", IEEE Transactions on Computers, Vol. C-30, Number 6, 1981.Google Scholar
- {Bane79} Banerjee, U., Shen, S., Kuck, D. J., and Towle, R. A., "Time and Parallel Processor Bounds for Fortran-like Loops", IEEE Transactions on Computers, Vol. C-28, Number 9, September 1979.Google Scholar
- {Barb77} Barbacci, M., Barnes, G., Cattell, R., and Siewiorek, D., "The ISPS Computer Description Language", Technical Report, Carnergie-Mellon University, 1977.Google Scholar
- {Birm74} Birman, A., "On Proving Correctness of Microprograms", IBM Journal of Research and Development, Vol. 18, Number 5, 1974.Google Scholar
Digital Library
- {Cart77} Carter, W. C., Joyner, W. H., and Brand, D., "Microprogram Verification Considered Necessary", IBM Research Report RC7053(#29535), December 1977.Google Scholar
- {Catt78} Cattell, R. G. G., "Formalization and Automatic Derivation of Code Generators," PhD thesis, Carnergie-Mellon University, April 1978. Google Scholar
Digital Library
- {Croc77} Crocker, S. D., "State Deltas, A Formalism for Representing Segments of Computation", PhD thesis, University of California, Los Angeles, 1977. Google Scholar
Digital Library
- {Croc80} Crocker, S. D., Marcus, L., and van-Mierop, D., "The ISI Microcode Verification System", in Firmware, Microprogramming and Restructurable Hardware", edited by G. Chroust and J. R. Muhlbacher, North-Holland, Amsterdam, 1980.Google Scholar
- {Davi78} Davidson, S., and Shriver, B. D., "An Overview of Firmware Engineering", Computer, Vol. 11, Number 5, May 1978.Google Scholar
- {Davi80} Davidson, S., "Design and Construction of a Virtual Machine Resource Binding Language", PhD thesis, University of Southwestern Louisiana, 1980. Google Scholar
Digital Library
- {Davi81} Davidson, S., Landskov, D., Shriver, B. D., and Mallett, P. W., "Some Experiments in Local Microcode Compaction for Horizontal Machines", IEEE Transactions on Computers, Vol. C-30, Number 7, 1981.Google Scholar
- {Dijk75} Dijkstra, E. W., "Guarded Commands, Non-Determinacy, and the Formal Derivation of Programs", CACM, Vol. 18, 1975. Google Scholar
Digital Library
- {Fish79} Fisher, J. A., "The Optimization of Horizontal Microcode Within and Beyond Basic Blocks: An Application of Processor Scheduling", PhD thesis, New York University, October 1979. Google Scholar
Digital Library
- {Hech77} Hecht, M. S., Flow Analysis of Computer Programs, North-Holland, New York, 1977. Google Scholar
Digital Library
- {Henr83} Henry, S., "Reduction Operators in Microcode Compaction", M. S. thesis, Colorado State University, 1983.Google Scholar
- {Jens74} Jensen, K., and Wirth, N., PASCAL User Manual and Report, Springer-Verlag, 1974. Google Scholar
Digital Library
- {Joyn77} Joyner, W. H., Carter, W. C., and Brand, D., "Using Machine Descriptions in Program Verification", IBM Research Report RC6922(#29649), 1977.Google Scholar
- {King76} King, J. C., "Symbolic Execution and Program Testing", CACM, Vol. 19, Number 7, 1976. Google Scholar
Digital Library
- {Land80} Landskov, D., Davidson, S., Shriver, B. D., and Mallett, P. W., "Local Microcode Compaction Techniques", ACM Computing Surveys, Vol. 12, Number 3, 1980. Google Scholar
Digital Library
- {Leve81} Leverett. B. W., "Register Allocation in Optimizing Compilers", PhD thesis, Carnergie-Mellon University, 1981. Google Scholar
Digital Library
- {MaLe81} Ma, P-Y. R., and Lewis, T., "On the Design of a Microcode Compiler for a Machine-Independent High-Level Language", IEEE Transactions on Software Engineering, Vol. SE-7, Number 3, 1981.Google Scholar
Digital Library
- {Marw79} Marwedel, P., and Zimmermann, G., "MIMOLA Report Revision 1 and MIMOLA Software System User Manual", Techn. Report 2/79, Institut fur Informatik and Prakt. Math., University of Kiel, 1979.Google Scholar
- {Marw81} Marwedel, P., "A Retargetable Microcode Generation System For a High-Level Microprogramming Language", Proceedings of the Fourteenth Annual Workshop on Microprogramming, December, 1981. Google Scholar
Digital Library
- {Muel80} Mueller, R. A., "Automated Microprogram Synthesis", PhD thesis, University of Colorado, 1980. Google Scholar
Digital Library
- {Muel81} Mueller, R. A., and Varghese, J., "Grammatical Models of Micro-Instruction Set Processors", Technical Report CS-81-10, Department of Computer Science, Colorado State University, 1981.Google Scholar
- {Muel82} Mueller, R. A., and Varghese, J., "Formal Semantics for the Automated Synthesis of Microprograms", Proceedings of the 19th Design Automation Conference, 1982. Google Scholar
Digital Library
- {Oakl79} Oakley, J., "Symbolic Execution of Formal Machine Description", PhD thesis, Carnergie-Mellon University, 1979. Google Scholar
Digital Library
- {Poe80} Poe. M. D., "Heuristics for the Global Optimization of Microprograms", Proceedings of the 13th Annual Workshop on Microprogramming, December 1980. Google Scholar
Digital Library
- {Reif81} Reif, J. H., and Tarjan, R. E., "Symbolic Program Analysis in Almost Linear Time", SIAM Journal of Computing, Vol. 11, Number 1, 1981.Google Scholar
- {Sher81} Sheraga, R. J., and Gieser, J. L., "Automatic Microcode Generation for Horizontally Microprogrammed Processors", Proceedings of the 14th Annual Workshop on Microprogramming, October 1981. Google Scholar
Digital Library
- {Sint81} Sint, M., "MIDL - A Microinstruction Description Language", Proceedings of the 14th Annual Workshop on Microprogramming, October 1981. Google Scholar
Digital Library
- {Vegd82} Vegdahl, S. R., "Local Code Generation and Compaction in Optimizing Microcode Compilers", PhD thesis, Carnergie-Mellon University, 1982. Google Scholar
Digital Library
- {Zimm79} Zimmermann, G., "The MIMOLA Design System: A Computer Aided Digital Processor Design Method", Proceedings of the 16th Design Automation Conference, June 1979. Google Scholar
Digital Library
Recommendations
Retargetable microcode synthesis
Most work on automating the translation of high-level microprogramming languages into microcode has dealt with lexical and syntactic analysis and the use of manually produced macro tables for code generation. We describe an approach to and some results ...
Value State Flow Graph: A Dataflow Compiler IR for Accelerating Control-Intensive Code in Spatial Hardware
Special Section on RAW2014Although custom (and reconfigurable) computing can provide orders-of-magnitude improvements in energy efficiency and performance for many numeric, data-parallel applications, performance on nonnumeric, sequential code is often worse than conventional ...
A Hierarchical Description Model for Microcode
In the paper, a structured and formal way to define microcode and to model a microprogrammed machine in terms of microoperations and their collection in microinstructions is proposed. It is characterized particularly by the hierarchical subdivision of ...






Comments