Skip to main content

Machine descriptions to build tools for embedded systems

  • Refereed Papers
  • Conference paper
  • First Online:
Languages, Compilers, and Tools for Embedded Systems (LCTES 1998)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1474))

Included in the following conference series:

Abstract

Because of poor tools, developing embedded systems can be unnecessarily hard. Machine descriptions based on register-transfer lists (RTLs) have proven useful in building retargetable compilers, but not in building other retargetable tools. Simulators, assemblers, linkers, debuggers, and profilers are built by hand if at all—previous machine descriptions have lacked the detail and precision needed to generate them. This paper presents detailed and precise machine-description techniques that are based on a new formalization of RTLs. Unlike previous notations, these RTLs have a detailed, unambiguous, and machine-independent semantics, which makes them ideal for supporting automatic generation of retargetable tools. The paper also gives examples of λ-RTL, a notation that makes it possible for human beings to read and write RTLs without becoming overwhelmed by machine-dependent detail.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  • Bailey, Mark W. and Jack W. Davidson. 1995 (January). A formal model and specification language for procedure calling conventions. In Conference Record of the 22nd Annual ACM Symposium on Principles of Programming Languages, pages 298–310, San Francisco, CA.

    Google Scholar 

  • Benitez, Manuel E. and Jack W. Davidson. 1988 (July). A portable global optimizer and linker. Proceedings of the ACM SIGPLAN ’88 Conference on Programming Language Design and Implementation, in SIGPLAN Notices, 23(7):329–338.

    Article  Google Scholar 

  • Cook, Todd and Ed Harcourt. 1994 (May). A functional specification language for instruction set architectures. In Proceedings of the 1994 International Conference on Computer Languages, pages 11–19.

    Google Scholar 

  • Davidson, Jack W. and Christopher W. Fraser. 1980 (April). The design and application of a retargetable peephole optimizer. ACM Transactions on Programming Languages and Systems, 2(2):191–202.

    Article  Google Scholar 

  • Davidson, Jack W. and David B. Whalley. 1990 (May). Ease: An environment for architecture study and experimentation. In Proceedings of the 1990 ACM Sigmetrics Conference on Measurement and Modeling of Computer Systems, pages 259–260, Boulder, CO.

    Google Scholar 

  • Emmelmann, Helmut, Friedrich-Wilhelm Schröer, and Rudolf Landwehr. 1989 (July). BEG — a generator for efficient back ends. Proceedings of the ACM SIGPLAN ’89 Conference on Programming Language Design and Implementation, in SIGPLAN Notices, 24(7):227–237.

    Article  Google Scholar 

  • Fauth, Andreas, Johan Van Praet, and Markus Freericks. 1995 (March). Describing instruction set processors using nML. In The European Design and Test Conference, pages 503–507.

    Google Scholar 

  • Fernández, Mary F. 1995 (November). A Retargetable Optimizing Linker. PhD thesis, Dept of Computer Science, Princeton University.

    Google Scholar 

  • Fraser, Christopher W., Robert R. Henry, and Todd A. Proebsting. 1992 (April). BURG—fast optimal instruction selection and tree parsing. SIGPLAN Notices, 27(4):68–76.

    Article  Google Scholar 

  • Intel Corporation. 1993. Architecture and Programming Manual. Vol. 3 of Pentium Processor User’s Manual. Mount Prospect, IL.

    Google Scholar 

  • Larus, James R. and Eric Schnarr. 1995 (June). EEL: machine-independent executable editing. Proceedings of the ACM SIGPLAN ’95 Conference on Programming Language Design and Implementation, in SIGPLAN Notices, 30(6):291–300.

    Article  Google Scholar 

  • Larus, James R. 1990 (September). SPIM S20: A MIPS R2000 simulator. Technical Report 966, Computer Sciences Department, University of Wisconsin, Madison, WI.

    Google Scholar 

  • Lipsett, R., C. Schaefer, and C. Ussery. 1993. VHDL: Hardware Description and Design. 12 edition. Kluwer Academic Publishers.

    Google Scholar 

  • Milner, Robin, Mads Tofte, and Robert W. Harper. 1990. The Definition of Standard ML. Cambridge, Massachusetts: MIT Press.

    Google Scholar 

  • Milner, Robin. 1978 (December). A theory of type polymorphism in programming. Journal of Computer and System Sciences, 17:348–375.

    Article  MATH  MathSciNet  Google Scholar 

  • Morrisett, Greg. 1995 (December). Compiling with Types. PhD thesis, Carnegie Mellon. Published as technical report CMU-CS-95-226.

    Google Scholar 

  • Proebsting, Todd A. and Christopher W. Eraser. 1994 (January). Detecting pipeline structural hazards quickly. In Conference Record of the 21st Annual ACM Symposium on Principles of Programming Languages, pages 280–286, Portland, OR.

    Google Scholar 

  • Ramsey, Norman and Jack W. Davidson. 1997 (November). Specifying instructions’ semantics using CSDL (preliminary report). Technical Report CS-97-31, Department of Computer Science, University of Virginia. Revised, May 1998.

    Google Scholar 

  • Ramsey, Norman and Mary F. Fernández. 1997 (May). Specifying representations of machine instructions. ACM Transactions on Programming Languages and Systems, 19(3):492–524.

    Article  Google Scholar 

  • Ramsey, Norman and David R. Hanson. 1992 (July). A retargetable debugger. ACM SIGPLAN ’92 Conference on Programming Language Design and Implementation, in SIGPLAN Notices, 27(7):22–31.

    Article  Google Scholar 

  • Ramsey, Norman. 1996 (April). A simple solver for linear equations containing nonlinear operators. Software—Practice & Experience, 26(4):467–487.

    Article  Google Scholar 

  • Srivastava, Amitabh and Alan Eustace. 1994 (June). ATOM: A system for building customized program analysis tools. Proceedings of the ACM SIGPLAN ’94 Conference on Programming Language Design and Implementation, in SIGPLAN Notices, 29(6):196–205.

    Article  Google Scholar 

  • Stallman, Richard M. 1992 (February). Using and Porting GNU CC (Version 2.0). Free Software Foundation.

    Google Scholar 

  • Thomas, Donald and Philip Moorby. 1995. The Verilog Hardware Description Language. 2nd edition. Norwell, USA: Kluwer Academic Publishers.

    Google Scholar 

  • Wang, Daniel C., Andrew W. Appel, Jeff L. Korn, and Christopher S. Serra. 1997 (October). The Zephyr abstract syntax description language. In Proceedings of the 2nd USENIX Conference on Domain-Specific Languages, pages 213–227, Santa Barbara, CA.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Frank Mueller Azer Bestavros

Rights and permissions

Reprints and permissions

Copyright information

© 1998 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Ramsey, N., Davidson, J.W. (1998). Machine descriptions to build tools for embedded systems. In: Mueller, F., Bestavros, A. (eds) Languages, Compilers, and Tools for Embedded Systems. LCTES 1998. Lecture Notes in Computer Science, vol 1474. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0057790

Download citation

  • DOI: https://doi.org/10.1007/BFb0057790

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-65075-1

  • Online ISBN: 978-3-540-49673-1

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics