Description and Simulation of Microprocessor Instruction Sets Using ASMs

  • Jürgen Teich
  • Kutter Philipp W. 
  • Ralph Weper
Conference paper
Part of the Lecture Notes in Computer Science book series (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.

Keywords

Number System Program Counter Register Transfer Hardware Description Language Architecture Description 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    M. Anlauff. Xasm-an extensible, component-based abstract state machines language. In This Volume.Google Scholar
  2. 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. 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. 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. 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.CrossRefGoogle Scholar
  6. 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. 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. 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. 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. 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. 11.
    E. Börger and D. Rosenzweig. A mathematical definition of full Prolog. Science of Computer Programming, 24:249–286, 1995. North-Holland.MathSciNetCrossRefMATHGoogle Scholar
  12. 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. 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. 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. 15.
    S. Furber. ARM System Architecture. Addison-Wesley Longman, 1996.Google Scholar
  16. 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. 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. 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.CrossRefGoogle Scholar
  19. 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. 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.CrossRefGoogle Scholar
  21. 21.
    S. Küng. Simulation mit Abstrakten Zustandsmaschinen, Studienarbeit, 1998.Google Scholar
  22. 22.
    P. W. Kutter and A. Pierantonio. The formal specification of Oberon. Journal of Universal Computer Science, 3(5):443–503, 1997.MATHGoogle Scholar
  23. 23.
    P. W. Kutter and A. Pierantonio. Montages: Specification of realistic programming languages. Journal of Universal Computer Science, 3(5):416–442, 1997.MathSciNetMATHGoogle Scholar
  24. 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. 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. 26.
    R. Leupers. Retargetable Code Generation for Digital Signal Processors. Kluwer Academic Publishers, Dordrecht, The Netherlands, 1997.CrossRefMATHGoogle Scholar
  27. 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.CrossRefGoogle Scholar
  28. 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. 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. 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. 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

Copyright information

© Springer-Verlag Berlin Heidelberg 2000

Authors and Affiliations

  • Jürgen Teich
    • 1
  • Kutter Philipp W. 
    • 2
  • Ralph Weper
    • 1
  1. 1.Electrical Engineering DepartmentUniversity of PaderbornGermany
  2. 2.Department of Electrical EngineeringSwiss Federal Inst. of Tech.ZurichSwitzerland

Personalised recommendations