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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
M. Anlauff. Xasm-an extensible, component-based abstract state machines language. In This Volume.
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.
M. Anlauff, P.W. Kutter, and A. Pierantonio. Enhanced control flow graphs in Montages. In Perspective of System Informatics, number 1726 in LNCS, 1999.
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.
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.
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.
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.
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.
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.
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.
E. Börger and D. Rosenzweig. A mathematical definition of full Prolog. Science of Computer Programming, 24:249–286, 1995. North-Holland.
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.
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.
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.
S. Furber. ARM System Architecture. Addison-Wesley Longman, 1996.
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.
Y. Gurevich. Evolving algebras 1993: Lipari guide. In E. Börger, editor, Specification and Validation Methods, pages 9–36, Oxford University Press, 1995.
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.
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.
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.
S. Küng. Simulation mit Abstrakten Zustandsmaschinen, Studienarbeit, 1998.
P. W. Kutter and A. Pierantonio. The formal specification of Oberon. Journal of Universal Computer Science, 3(5):443–503, 1997.
P. W. Kutter and A. Pierantonio. Montages: Specification of realistic programming languages. Journal of Universal Computer Science, 3(5):416–442, 1997.
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.
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.
R. Leupers. Retargetable Code Generation for Digital Signal Processors. Kluwer Academic Publishers, Dordrecht, The Netherlands, 1997.
R. Leupers and P. Marwedel. Retargetable code compilation based on structural processor descriptions. Design Automation for Embedded Systems, 3(1):1–36, January 1998.
L. Nowak. Graph based retargetable microcode compilation in the MIMOLA design system. In 20th Annual Workshop on Microprogramming (MICRO-20), pages 126–132, 1987.
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.
J. Teich, P.W. Kutter, and R. Weper. A retargatable engine for the simulation of microprocessors using asms; DATE-report 04/00. 2000.
C. Wallace. The Semantics of the Java Programming Language: Preliminary Version. Technical Report CSE-TR-355-97, EECS Dept., University of Michigan, December 1997.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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