Functional languages in microcode compilers

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.

[1]  Ellis Horowitz,et al.  Fundamentals of Programming Languages , 1984, Springer Berlin Heidelberg.

[2]  D. M. Ritchie,et al.  UNIX time-sharing system: A retrospective , 1978, The Bell System Technical Journal.

[3]  John Glauert,et al.  SISAL: streams and iteration in a single assignment language. Language reference manual, Version 1. 2. Revision 1 , 1985 .

[4]  John W. Backus,et al.  The history of FORTRAN I, II, and III , 1978, SIGP.

[5]  Alexandru Nicolau,et al.  Parallel processing: a smart compiler and a dumb machine , 1984, SIGP.

[6]  Marvin V. Zelkowitz,et al.  Programming Languages: Design and Implementation , 1975 .

[7]  Alexander Aiken,et al.  A Development Environment for Horizontal Microcode , 1986, IEEE Trans. Software Eng..

[8]  John W. Backus,et al.  Can programming be liberated from the von Neumann style?: a functional style and its algebra of programs , 1978, CACM.

[9]  Ellis Horowitz,et al.  Fundamentals of programming languages (2. ed.) , 1984, Computer software engineering series.

[10]  Ravi Sethi,et al.  Programming languages - concepts and constructs , 1988 .

[11]  Joanne L. Martin,et al.  A Retrospective , 1988 .

[12]  R. R. Oldehoeft,et al.  HEP SISAL: parallel functional programming , 1985 .

[13]  David C. Cann,et al.  Applicative parallelism on a shared-memory multiprocessor , 1988, IEEE Software.

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

[15]  Kenneth G. Wilson,et al.  Viewpoint: Planning for the future of U.S. scientific and engineering computing , 1984, CACM.

[16]  Gilles Kahn,et al.  Coroutines and Networks of Parallel Processes , 1977, IFIP Congress.

[17]  B. Ramakrishna Rau,et al.  The Cydra 5 departmental supercomputer: design philosophies, decisions, and trade-offs , 1989, Computer.

[18]  Peter Henderson,et al.  Functional programming - application and implementation , 1980, Prentice Hall International Series in Computer Science.

[19]  Wil Plouffe,et al.  An asynchronous programming language and computing machine , 1978 .

[20]  HE Ixtroductiont,et al.  The Bell System Technical Journal , 2022 .