Description and Simulation of Microprocessor Instruction Sets Using ASMs

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.

[1]  Rainer Leupers,et al.  Retargetable Code Generation Based on Structural Processor Description , 1998, Des. Autom. Embed. Syst..

[2]  Egon Börger,et al.  A Mathematical Definition of Full Prolog , 1995, Sci. Comput. Program..

[3]  Steve Furber,et al.  ARM System Architecture , 1996 .

[4]  Alfonso Pierantonio,et al.  Formal aspects of and development environments for Montages , 1997 .

[5]  Heinrich Theodor Vierhaus,et al.  Local microcode generation in system design , 1994, Code Generation for Embedded Processors.

[6]  Alfonso Pierantonio,et al.  Montages Specifications of Realistic Programming Languages , 1997, J. Univers. Comput. Sci..

[7]  Egon Börger,et al.  Why Use Evolving Algebras for Hardware and Software Engineering? , 1995, SOFSEM.

[8]  Matthias Anlauff,et al.  XASM - An Extensible, Component-Based ASM Language , 2000, Abstract State Machines.

[9]  Markus Freericks,et al.  Describing instruction set processors using nML , 1995, Proceedings the European Design and Test Conference. ED&TC 1995.

[10]  Alfonso Pierantonio,et al.  Enhanced Control Flow Graphs in Montages , 1999, Ershov Memorial Conference.

[11]  Wolfram Hardt,et al.  Fast dynamic analysis of complex HW/SW-systems based on abstract state machine models , 1998, Proceedings of the Sixth International Workshop on Hardware/Software Codesign. (CODES/CASHE'98).

[12]  Lothar Nowak Graph based retargetable microcode compilation in the MIMOLA design system , 1987, MICRO 20.

[13]  Egon Börger,et al.  Towards a Mathematical Specification of the APE100 Architecture: The APESE Model , 1994, IFIP Congress.

[14]  Yuri Gurevich,et al.  The Semantics of the C Programming Language , 1992, CSL.

[15]  Jonathan P. Bowen,et al.  ZUM '97: The Z Formal Specification Notation , 1997, Lecture Notes in Computer Science.

[16]  Egon Börger,et al.  A formal method for provably correct composition of a real-life processor out of basic components. (The APE100 Reverse Engineering Study) , 1995, Proceedings of First IEEE International Conference on Engineering of Complex Computer Systems. ICECCS'95.

[17]  Wolfgang Müller,et al.  The semantics of behavioral VHDL '93 descriptions , 1994, EURO-DAC '94.

[18]  G. Goossens,et al.  PROGRAMMABLE CHIPS IN CONSUMER ELECTRONICS AND TELECOMMUNICATIONS , 1996 .

[19]  Alex K. Simpson,et al.  Computational Adequacy in an Elementary Topos , 1998, CSL.

[20]  Alfonso Pierantonio,et al.  The Formal Specification of Oberon , 1997, J. Univers. Comput. Sci..

[21]  Yuri Gurevich,et al.  Evolving algebras 1993: Lipari guide , 1995, Specification and validation methods.

[22]  Gert Goossens,et al.  Chess: retargetable code generation for embedded DSP processors , 1994, Code Generation for Embedded Processors.

[23]  Rainer Leupers,et al.  Retargetable Code Generation for Digital Signal Processors , 1997, Springer US.

[24]  Andreas Fauth Beyond tool-specific machine descriptions , 1994, Code Generation for Embedded Processors.

[25]  Pierre G. Paulin,et al.  Flexware: A flexible firmware development environment for embedded systems , 1994, Code Generation for Embedded Processors.

[26]  Egon Börger,et al.  Abstract State Machines 1988-1998: Commented ASM Bibliography , 1998, Bull. EATCS.

[27]  David Van Campenhout,et al.  Specification and verification of pipelining in the ARM2 RISC microprocessor , 1998, TODE.

[28]  Egon Börger,et al.  A Practical Method for Rigorously Controllable Hardware Design , 1997, ZUM.