Skip to main content

Description and Simulation of Microprocessor Instruction Sets Using ASMs

  • Conference paper
  • First Online:

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

Abstract

In this paper, we describe how cycle-accurate processor behavior may be efficiently described using Abstract State Machines (ASMs). Given a register transfer description of the target processor, an extraction mechanism is described following the approach in [26] that extracts so called guarded register transfer patterns from the processor description. It will be shown that these may be directly transformed into a set of ASM rules which in turn provide an executable model of the processor for simulation purposes. Here, we use the ASM description language XASM from which the Gem-Mex tool [2] automatically generates a graphical simulator of a given architecture. The feasibility of this approach is demonstrated for an ARM microprocessor.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. M. Anlauff. Xasm-an extensible, component-based abstract state machines language. In This Volume.

    Google Scholar 

  2. M. Anlauff, P.W. Kutter, and A. Pierantonio. Formal aspects of and development environments for Montages. In Second Int. Workshop on the Theory and Practice of Algebraic Specifications, Workshops in Computing. Springer-Verlag, 1997.

    Google Scholar 

  3. M. Anlauff, P.W. Kutter, and A. Pierantonio. Enhanced control flow graphs in Montages. In Perspective of System Informatics, number 1726 in LNCS, 1999.

    Google Scholar 

  4. S. Bashford, U. Bieker, B. Harking, R. Leupers, P. Marwedel, A. Neumann, and D. Voggenauer. The MIMOLA language-version 4.1. Technical report, University of Dortmund, 1994.

    Google Scholar 

  5. E. Börger. Why use evolving algebras for hardware and software engineering? InM. Bartosek, J. Staudek, and J. Wiederman, editors, SOFSEM’95, 22nd Seminaron Current Trends in Theory and Practice of Informatics, volume 1012 of Springer Lecture Notes on Computer Science (LNCS), pages 236–271, 1995.

    Chapter  Google Scholar 

  6. E. Börger and G. Del Castillo. A formal method for provably correct composition of a real-life processor out of basic components (the APE100 reverse engineeringstudy). In B. Werner, editor, Proc. of the First Int. Conf. on Engineering of Complex Computer Systems (ICECCS’95), pages 145–148, November 1995.

    Google Scholar 

  7. E. Börger, G. Del Castillo, P. Glavan, and D. Rosenzweig. Towards a mathematical specification of the APE100 architecture: the APESE model. In B. Pehrson and I. Simon, editors, IFIP 13th World Computer Congress, volume I: Technology/Foundations, pages 396–401, Elsevier, Amsterdam, The Netherlands, 1994.

    Google Scholar 

  8. E. Börger, U. Glässer, and W. Müller. The semantics of behavioral VHDL’93 descriptions. In European Design Automation Conference (EURO-DAC’94), pages 500–505, IEEE CS Press, Los Alamitos, CA, U.S.A., 1994.

    Google Scholar 

  9. E. Börger and J. K. Huggins. Abstract state machines 1988-1998: Commented ASM bibliography. In H. Ehrig, editor, Formal Specification Column, Bulletin of the EATCS64. February 1998.

    Google Scholar 

  10. E. Börger and S. Mazzanti. A practical method for rigorously controllable hardware design. In J. P. Bowen, M. B. Hinchey, and D. Till, editors, ZUM’97: The Z Formal Specification Notation, volume 1212of Springer Lecture Notes on Computer Science (LNCS), pages 151–187, 1996.

    Google Scholar 

  11. E. Börger and D. Rosenzweig. A mathematical definition of full Prolog. Science of Computer Programming, 24:249–286, 1995. North-Holland.

    Article  MathSciNet  MATH  Google Scholar 

  12. G. Del Castillo and W. Hardt. Fast dynamic analysis of complex hw/sw-systems based on abstract state machine models. In Proc. of the 6th Int. Workshop on Hardware/Software Co-Design (Code/Cashe98), Seattle, pages 77–81, March 1998.

    Google Scholar 

  13. A. Fauth. Beyond tool-specific machine descriptions. In P. Marwedel and G. Goossens, editors, Code Generation for Embedded Processors, pages 138–152. Kluwer Academic Press, 1995.

    Google Scholar 

  14. A. Fauth, J. Van Praet, and M. Freericks. Describing instruction set processors using nML. In Proceedings on the European Design and Test Conference, Paris, France, pages 503–507, March 1995.

    Google Scholar 

  15. S. Furber. ARM System Architecture. Addison-Wesley Longman, 1996.

    Google Scholar 

  16. G. Goossens, J. Van Praet, D. Lanneer, W. Geurts, and F. Thoen. Programmable chips in consumer electronics and telecommunications. In G. de Micheli and M. Sami, editors, Hardware/Software Co-Design, volume 310 of NATO ASI Series E: Applied Sciences, pages 135–164. Kluwer Academic Press, 1996.

    Google Scholar 

  17. Y. Gurevich. Evolving algebras 1993: Lipari guide. In E. Börger, editor, Specification and Validation Methods, pages 9–36, Oxford University Press, 1995.

    Google Scholar 

  18. Y. Gurevich and J. Huggins. The semantics of the C programming language. In E. Börger, H. Kleine Büning, G. Jäger, S. Martini, and M. M. Richter, editors, Computer Science Logic, volume 702 of Springer Lecture Notes on Computer Science (LNCS), pages 274–309, 1993.

    Chapter  Google Scholar 

  19. J. Huggins and D. Van Campenhout. Specification and verification of pipelining in the ARM2 RISC microprocessor. Technical report, CSE-TR-321-96, EECS Dept., Univ. of Michigan, 1996.

    Google Scholar 

  20. J. Huggins and D. Van Campenhout. Specification and verification of pipelining in the ARM2 RISC microprocessor. ACM Transactions on Design Automation of Electronic Systems, 3(4):563–580, 1998.

    Article  Google Scholar 

  21. S. Küng. Simulation mit Abstrakten Zustandsmaschinen, Studienarbeit, 1998.

    Google Scholar 

  22. P. W. Kutter and A. Pierantonio. The formal specification of Oberon. Journal of Universal Computer Science, 3(5):443–503, 1997.

    MATH  Google Scholar 

  23. P. W. Kutter and A. Pierantonio. Montages: Specification of realistic programming languages. Journal of Universal Computer Science, 3(5):416–442, 1997.

    MathSciNet  MATH  Google Scholar 

  24. M. Langevin, E. Cerny, J. Wilberg, and H.-T. Vierhaus. Local microcode generation in system design. In P. Marwedel and G. Goossens, editors, Code Generation for Embedded Processors, pages 171–187. Kluwer Academic Press, 1995.

    Google Scholar 

  25. D. Lanneer, J. Van Praet, A. Kifli, K. Schoofs, W. Geurts, F. Thoen, and G. Goossens. Chess: Retargetable code generation for embedded dsp processors. In P. Marwedel and G. Goossens, editors, Code Generation for Embedded Processors, pages 85–102. Kluwer Academic Press, 1995.

    Google Scholar 

  26. R. Leupers. Retargetable Code Generation for Digital Signal Processors. Kluwer Academic Publishers, Dordrecht, The Netherlands, 1997.

    Book  MATH  Google Scholar 

  27. R. Leupers and P. Marwedel. Retargetable code compilation based on structural processor descriptions. Design Automation for Embedded Systems, 3(1):1–36, January 1998.

    Article  Google Scholar 

  28. L. Nowak. Graph based retargetable microcode compilation in the MIMOLA design system. In 20th Annual Workshop on Microprogramming (MICRO-20), pages 126–132, 1987.

    Google Scholar 

  29. P. Paulin, C. Liem, T. May, and S. Sutarwala. Flexware: A flexible firmware development environment for embedded systems. In P. Marwedel and G. Goossens, editors, Code Generation for Embedded Processors, pages 67–84. Kluwer Academic Press, 1995.

    Google Scholar 

  30. J. Teich, P.W. Kutter, and R. Weper. A retargatable engine for the simulation of microprocessors using asms; DATE-report 04/00. 2000.

    Google Scholar 

  31. C. Wallace. The Semantics of the Java Programming Language: Preliminary Version. Technical Report CSE-TR-355-97, EECS Dept., University of Michigan, December 1997.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2000 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Teich, J., Kutter, P.W., Weper, R. (2000). Description and Simulation of Microprocessor Instruction Sets Using ASMs. In: Gurevich, Y., Kutter, P.W., Odersky, M., Thiele, L. (eds) Abstract State Machines - Theory and Applications. ASM 2000. Lecture Notes in Computer Science, vol 1912. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-44518-8_15

Download citation

  • DOI: https://doi.org/10.1007/3-540-44518-8_15

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-67959-2

  • Online ISBN: 978-3-540-44518-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics