A macro expansion approach to embedded processor code generation

This paper describes an experimental prototype of a code generation tool for embedded special-purpose processors. The tool is a retargetable assembly-code-level macro expander capable of program flow analysis. The main advantage of the tool is its strong support for macro hierarchy: hierarchical macro libraries make the code (produced either by the compiler writer or by the assembly language programmer) more modular.

[1]  James R. Larus Assemblers, Linkers, and the SPIM Simulator , 1993 .

[2]  Donald J. Patterson,et al.  Computer organization and design: the hardware-software interface (appendix a , 1993 .

[3]  M. Douglas McIlroy Macro instruction extensions of compiler languages , 1960, CACM.

[4]  William A. Wulf,et al.  BLISS: a language for systems programming , 1971, CACM.

[5]  Peter Marwedel,et al.  Code generation for embedded processors: an introduction , 1994, Code Generation for Embedded Processors.

[6]  Martin Campbell-Kelly An introduction to macros , 1973 .

[7]  Joseph A. Fisher The VLIW Machine: A Multiprocessor for Compiling Scientific Code , 1984, Computer.

[8]  E.A. Lee Programmable DSP architectures. I , 1988, IEEE ASSP Magazine.

[9]  Peter J. Brown Levels of language for portable software , 1972, CACM.

[10]  Peter J. Brown,et al.  Macroprocessors and Techniques for Portable Software , 1974 .

[11]  William A. Wulf Compilers and Computer Architecture , 1981, Computer.

[12]  Eero Lassila ReFlExAn Experimental Tool for Special-Purpose Processor Code Generation , 1996 .

[13]  Ken Rimey,et al.  A Compiler for Application-speciic Signal Processors , 1988 .

[14]  J A Fisher,et al.  Instruction-Level Parallel Processing , 1991, Science.

[15]  H. N. Dickman ETC - An extendible macro-based compiler , 1899 .

[16]  Paul Hilfinger,et al.  A Compiler for Application-Specific Signal Processors , 1989 .

[17]  장훈,et al.  [서평]「Computer Organization and Design, The Hardware/Software Interface」 , 1997 .

[18]  Sharad Malik,et al.  Challenges in code generation for embedded processors , 1994, Code Generation for Embedded Processors.

[19]  Edward A. Lee,et al.  Gabriel: a design environment for DSP , 1989, IEEE Micro.

[20]  Scott Davidson High level microprogramming: current usage, future prospects , 1983, SIGM.

[21]  William A. Wulf,et al.  Reflections on a systems programming language , 1971 .

[22]  Edward A. Lee Programmable dsp architectures: part ii , 1988 .

[23]  Subrata Dasgupta,et al.  Developments in Firmware Engineering , 1985, Adv. Comput..

[24]  William M. Waite The mobile programming system: STAGE2 , 1970, CACM.

[25]  Alfred V. Aho,et al.  Compilers: Principles, Techniques, and Tools , 1986, Addison-Wesley series in computer science / World student series edition.

[26]  David A. Patterson,et al.  Reduced instruction set computers , 1985, CACM.

[27]  Joos Vandewalle,et al.  An efficient microcode compiler for application specific DSP processors , 1990, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[28]  E.A. Lee Programmable DSP architectures. II , 1989, IEEE ASSP Magazine.

[29]  Apostolos Dollas,et al.  Rapid Prototyping of Microelectronic Systems , 1995, Adv. Comput..

[30]  Vijay K. Madisetti VLSI Digital Signal Processors: An Introduction to Rapid Prototyping and Design Synthesis , 1995 .

[31]  Niklaus Wirth,et al.  PL360, a Programming Language for the 360 Computers , 1968, JACM.

[32]  D. Farber A survey of the systematic use of macros in systems building , 1971, SIGPLAN Symposium on Languages for System Implementation.

[33]  S. M. Kafka An assembly source level global compacter for digital signal processors , 1990, International Conference on Acoustics, Speech, and Signal Processing.

[34]  David Salomon,et al.  Assemblers and loaders , 1992, Ellis Horwood series in computers and their applications.

[35]  Gert Goossens,et al.  Code Generation for Embedded Processors , 1995 .