Abstract
This paper discusses the advantages of using high-level languages in the development of microcode. It also describes reasons functional programming languages should be considered as the source language for microcode compilers. The emergence of parallel execution in microarchitectures dictates that parallelism must be extracted from the microcode programs. This paper shows how functional languages meet the needs of microprogrammers by allowing them to express their algorithms in natural ways while allowing the microcode compiler to extract the parallelism from the program.
- AGP78 Arvind, K. Gostelow, and W. Plouffe. An asynchronous programming language and computing machine. Technical Report Computer and Information Sciences Department Technical Report 114a, University of California, Irvine, CA, December 1978.Google Scholar
- AN88 A. Aiken and A. Nicolau. A development environment for horizontal microcode. IEEE Trans on Software Engineering, 14(5):584-594, May 1988. Google Scholar
Digital Library
- AO85 S. J. Allan and R. R. Oldehoeft. HEP SISAL: parallel functional programming. In J. Kowalik, editor, Parallel MIMD Computation: The HEP Supercomputer and Its Applications, pages 123-150, MIT Press, Cambridge, MA, 1985. Google Scholar
Digital Library
- Bac78 J. Backus. Can programming be liberated from the von neumann style? A functional style and its algebra of programs. Communications of the AChf, 21(8):613-641, August 1978. Google Scholar
Digital Library
- Bac81 J. Backus. History of Programming Languages, chapter The history of FORTRAN I, II, and III, pages 25-44. ACM Monograph Series, Academic Press, New York, NY, 1981. Google Scholar
Digital Library
- CAO84 D. C. Cann, S. J. Allan, and R. R. Oldehoeft. An IF1 driven portable code generator. Technical Report CS-84-15, Colorado State University Computer Science Department, Fort Collins, CO, December 1984.Google Scholar
- FERN84 J.A. Fisher, J.R. Ellis, J.C. Ruttenberg, and A. Nicolau. Parallel processing: a smart compiler and a dumb machine. In Proceedings of the ACM SIGPLAN '84 Symposium on Compiler Construction, pages 37-47, SIGPL.AN Notices, AFIPS Press, June 1984. Google Scholar
Digital Library
- Gur89 R.P. Gurd. Microcoding tools: bit slice software. Sigmicro Newsletter, 1989. To Appear.Google Scholar
- Hen80 P. H. Henderson. Functional Programming, Application and Implementation. Prentice- Hall, Englewood Cliffs, NJ, 1980. Google Scholar
Digital Library
- Hor83 E. Horowitz. Fundamentals of Programming Languages. Computer Science Press, Rockville, Maryland, 1983. Google Scholar
Digital Library
- JRS89 JRS. JRS: integrated design automation system. Sigmicro Newsletter, 20(l), March 1989. Google Scholar
Digital Library
- KM77 G. Kahn and D. MacQueen. Coroutines and networks of parallel processes. In B. Gilchrist, editor, Information Processing 77, North-Holland Publishing Co., New York, NY, 1977.Google Scholar
- MSA*85 J. R. McGraw, S. K. Skedzielewski, S. Allan, R. R. Oldehoeft, J. Glauert, C. Kirkham, B. Noyce, and R. Thomas. SISAL: streams and iteration in a single assignment language: reference manual, Version 1.2. Lawrence Livermore National Laboratory, Livermore, CA, M-146, rev. 1 edition, March 1985.Google Scholar
- OC88 R. R. Oldehoeft and D. C. Cann. Applicative parallelism on a shared memory multiprocessor. IEEE Software, 5(1):62-70, January 1988. Google Scholar
Digital Library
- PKL80 D. Padua, D. Kuck, and D. Lawrie. High-speed multiprocessors and compilation techniques. IEEE Transactions on Computers, C-29(9):763-776, September 1980.Google Scholar
Digital Library
- Pra84 T. W. Pratt. Programming Languages: Design and Implementation. Prentice Hall, Englewood Cliffs, NJ, second edition edition, 1984. Google Scholar
Digital Library
- PS81 D. A. Patterson and C. H. Skquin. RISC I: a reduced instruction set VLSI computer. In Proceedings from the Eighth Symposium on Computer Architecture, pages 443-457, May 1981. Google Scholar
Digital Library
- Rit78 D. M. Ritchie. A retrospective. The Bell System Technical Journal, 57(6):1947- 1969, July - August 1978.Google Scholar
Cross Ref
- RYYT89 B. R. R au, D. W. L. Yen, W. Yen, and R. A. Towle. The Cydra 5 departmental supercomputer. Computer, 22(1):12- 35, January 1989. Google Scholar
Digital Library
- Set89 R. Sethi. Programming Languages: Concepts and Constructs. Addison-Wesley, Reading, MA, 1989. Google Scholar
Digital Library
- Wil84 K. G. Wilson. Planning for the future of U.S. scientific and engineering computing. Communications of the ACM, 27(4):279- 280, April 1984. Google Scholar
Digital Library
- You88 J.L. Young. The software foundry: almost too good to be true. Electronics, 47-48, January 1988.Google Scholar
Index Terms
Functional languages in microcode compilers
Recommendations
Functional languages in microcode compilers
MICRO 22: Proceedings of the 22nd annual workshop on Microprogramming and microarchitectureThis paper discusses the advantages of using high-level languages in the development of microcode. It also describes reasons functional programming languages should be considered as the source language for microcode compilers. The emergence of parallel ...
On the Design of a Microcode Compiler for a Machine-Independent High-Level Language
A translator system employing a partial compiler, intermediate language, and three-pass code generator is described that produces compact microcode for a class of horizontal microinstruction machines.
Experiments in Automatic Microcode Generation
A procedure is described which permits applications problems coded in a higher level language to be compiled to microcode for horizontally microprogrammed processors. An experimental language has been designed which is suitable for expressing ...






Comments