Skip to main content
Log in

CISL: A Class-Based Machine Description Language for Co-Generation of Compilers and Simulators

  • Published:
International Journal of Parallel Programming Aims and scope Submit manuscript

Abstract

It is currently difficult fully to understand the performance of a modern dynamic programming language system, such as Java. One must observe execution in the context of specific architectures in order to evaluate the effects of optimizations. To do this we require simulators and compiler back-ends for a wide variety of machines that are capable of handling the demands of today’s dynamically compiled languages and their environments. We introduce here CISL, a machine description language specifically designed for the automatic generation of simulators and compiler back-end. CISL is a class-based language with a C/Java style syntax aimed at extensibility. CISL is processed by tools to generate descriptions of architectures represented in an intermediate form; the descriptions are then further combined and processed to produce efficient compiler and simulator components designed to “plug in” to existing frameworks. CISL provides the necessary flexibility to advance the simulation paradigm to match the state of the art in computer systems.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. C.W. Milner, Pipeline Descriptions for Retargetable Compilers: A Decoupled Approach, Technical Report CS-99-11, University of Virginia (June 1998).

  2. E.C. Schnarr, Applying Programming Language Implementation Techniques to Processor Simulation, Ph.D. dissertation., Computer Sciences, University of Wisconsin-Madison (2000).

  3. R.G.G. Cattell (April 1980) ArticleTitleAutomatic Derivation of Code Generators from Machine Descriptions, ACM Trans Program. Lang. syst. 2 IssueID2 173–190

    Google Scholar 

  4. S.R. of Machine Instructions, Norman Ramsey and Mary F. Fernandez, ACM Trans. Program. Lang. Syst. 19(3):492–524 (May 1997).

  5. N. Ramsey and J. W. Davidson, Machine Descriptions to Build Tools for Embedded Systems, ACM SIGPLAN Workshop on Languages, Compilers, and Tools for Embedded Systems (LCTES ’98), pp. 172–188 (June 1998), available as Springer Verlag LNCS 1474.

  6. A. Fauth, J. V. Praet, and M. Freericks, Describing instruction set processors using nML, in Proc. of the 1995 European conference on Design and Test, p. 503, IEEE Comput. Soc. (1995).

  7. S. Onder R. Gupta (May 1998) Automatic Generation of Microarchitecture Simulators, IEEE Inter Conference on Computer Languages ICCL Chicago, IL.

    Google Scholar 

  8. A. Halambi and R Grim, EXPRESSION: A Language for Architecture Exploration Through Compiler/Simulator Retargetability, in Proc. of the European Conference on Design, Automation and Test, DATE (March 1999).

  9. E. Schnarr, M. D. Hill, and J. R. Larus, Facile: A Language and Compiler for High-Performance Processor Simulators, ACM SIGPLAN Conference on Programming Language Design and Implementation, ACM (2001).

  10. L. George and A. Leung, MLRISC: A Framework for Retargetable and Optimizing Compiler Back Ends. Availble at http://cs1.cs.nyu.edu/leunga/www/MLRISC/Doc/html/.

  11. R. Lipsett, C.F. Schaefer, C. Ussery, VHDL: Hardware Description and Design, Kluwer Academic Publishers (1989).

  12. Thomas D., Moorby R (1995). The Verilog Hardware Description Language. Kluwer Academic Publishers

  13. T. Palmer, T. Richards, E. Walters, CoGenT Langauge Manual, Availble at http://www.ali-cs.umass.edu/cogent.

  14. C.W. Fraser D.R. Hanson T.A. Proebsting (September 1992) ArticleTitleEngineering a Simple, Efficient Code Generator Generator ACM Lett. Program. Lang. Syst. 1 IssueID3 213–226

    Google Scholar 

  15. D.C. Burger T.M. Austin (June 1997) ArticleTitleThe SimpleScalar Tool Set, Version 2.0, Comput Architecture News. 25 IssueID3 13–25

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Timothy Richards.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Moss, J.E.B., Palmer, T., Richards, T. et al. CISL: A Class-Based Machine Description Language for Co-Generation of Compilers and Simulators. Int J Parallel Prog 33, 231–246 (2005). https://doi.org/10.1007/s10766-005-3587-1

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10766-005-3587-1

Keywords

Navigation