Nothing Special   »   [go: up one dir, main page]

skip to main content
article

A retargetable framework for instruction-set architecture simulation

Published: 01 May 2006 Publication History

Abstract

Instruction-set architecture (ISA) simulators are an integral part of today's processor and software design process. While increasing complexity of the architectures demands high-performance simulation, the increasing variety of available architectures makes retargetability a critical feature of an instruction-set simulator. Retargetability requires generic models while high-performance demands target specific customizations. To address these contradictory requirements, we have developed a generic instruction model and a generic decode algorithm that facilitates easy and efficient retargetability of the ISA-simulator for a wide range of processor architectures, such as RISC, CISC, VLIW, and variable length instruction-set processors. The instruction model is used to generate compact and easy to debug instruction descriptions that are very similar to that of architecture manual. These descriptions are used to generate high-performance simulators. Our retargetable framework combines the flexibility of interpretive simulation with the speed of compiled simulation. The generation of the simulator is completely separate from the simulation engine. Hence, we can incorporate any fast simulation technique in our retargetable framework without introducing any performance penalty. To demonstrate this, we have incorporated fast IS-CS simulation engine in our retargetable framework which has generated 70% performance improvement over the best known simulators in this category. We illustrate the retargetability of our approach using two popular, yet different, realistic architectures: the SPARC and the ARM.

References

[1]
ARM7 User Manual, http://www.arm.com
[2]
Bashford, S., Bieker, U., Harking, B., Neumann, A., and Voggenauer, D. 1994. The MIMOLA Language V4.1. Technical Report, University of Dortmund, Dept. of Computer Science.
[3]
Cmelik, B., and Keppel, D. 1994. Shade: A fast instruction-set simulator for execution profiling. ACM SIGMETRICS Performance Evaluation Review 22, 1, 128--137.
[4]
Engel, F., Nührenberg, J., and Fettweis, G. P. 1999. A generic tool set for application specific processor architectures. The Eighth International Workshop on Hardware/Software Codesign. 126--130.
[5]
Freericks, M. 1991. “The nML Machine Description Formalism.” Tech. Rep. 1991/15, TU Berlin, Fachbereich Informatik.
[6]
Futamura, Y. 1971. Partial evaluation of computation process---An approach to a compiler--compiler. Systems, Computers, Controls 2, 5, 45--50.
[7]
Gyllenhaal, J. C., Hwu, W. W., and Rau, B. R. 1996. HMDES Version 2.0 Specification. Technical Report IMPACT-96-3. University of Illinois at Urbana-Champaign, Urbana-Champaign, IL.
[8]
Hadjiyiannis, G., Hanono, S., and Devadas, S. 1997. ISDL: An instruction set description language for retargetability. Design Automation Conference (DAC).
[9]
Halambi, A., Grun, P., Ganesh, V., Khare, A., Dutt, N., and Nicolau, A. 1999. EXPRESSION: A language for architecture exploration through compiler/simulator retargetability. Design Automation and Test in Europe (DATE).
[10]
Hartoog, M. R., Rowson, J. A., Reddy, P. D., Desai, S., Dunlop, D. D., Harcourt, E. A., and Khullar, N. 1997. Generation of software tools from processor descriptions for hardware/software codesign. Design Automation Conference (DAC).
[11]
IA-32 Intel® Architecture Software Developer's Manual, Vol. 2: Instruction Set Reference, http://www.intel.com.
[12]
Lee, C., Potkonjak, M., and Mangione-Smith, W. H. 1997. Mediabench: A tool for evaluating and synthesizing multimedia and communications systems. In Proceedings of the 30th Annual International Symposium on Microarchitecture (Micro 30).
[13]
Leupers, R., Elste, J., and Landwehr, B. 1999. Generation of interpretive and compiled instruction set simulators. In Proceeding of Asian-Pacific Design Automation Conference, Hong Kong.
[14]
MiBench benchmarks available at http://www.eecs.umich.edu/mibench
[15]
Mong, W. S. and Zhu, J. 2003. A retargetable micro-architecture simulator. Design Automation Conference (DAC). 752--757.
[16]
Nohl, A., Braun, G., Hoffmann, A., Schliebusch, O., Meyr, H., and Leupers, R. 2002. A universal technique for fast and flexible instruction-set architecture simulation. Design Automation Conference (DAC). 22--27.
[17]
Paulin, P. G., Liem, C., May, T. C., and Sutarwala, S. 1997. Flexware: A flexible firmware development environment for embedded systems. Code Generation for Embedded Processors. 67--84.
[18]
Reshadi, M., Mishra, P., and Dutt, N. 2003. Instruction-set compiled simulation: A technique for fast and flexible instruction-set simulation. Design Automation Conference (DAC). 758--763.
[19]
Schnarr, E. and Larus, J. R. 1998. Fast out-of-order processor simulation using memoization. In Proceedings of ASPLOS98, San Jose CA. 283--294.
[20]
Schnarr, E., Hill, M. D., and Larus, J. R. 2001. Facile: A language and compiler for high-performance processor simulators. Programming Language Design and Implementation (PLDI). 321--351.
[21]
Simplescalar Home page: http://www.simplescalar.com
[22]
SPARC Version 7 Instruction set manual: http://www.sun.com
[23]
SPEC benchmarks available at http://www.specbench.org
[24]
Trimaran Home page: http://www.trimaran.org
[25]
Vachharajani, M., Vachharajani, N., Penry, D. A., Blome, J. A., and August, D. I. 2002. Microarchitectural exploration with Liberty. International Symposium on Microarchitecture.
[26]
Zhu, J. and Gajski, D. D. 1999. A retargetable, ultra-fast instruction set simulator. Design Automation and Test in Europe (DATE). 298--302.

Cited By

View all
  • (2021)Domain-specific programming assistance in an embedded DSL for generating processor emulatorsProceedings of the 36th Annual ACM Symposium on Applied Computing10.1145/3412841.3442000(1256-1264)Online publication date: 22-Mar-2021
  • (2020)A Cost Model for Decoder Decision TreesProceedings of the 2020 European Symposium on Software Engineering10.1145/3393822.3432329(142-147)Online publication date: 6-Nov-2020
  • (2019)InvadeSIM-A Simulation Framework for Invasive Parallel Programs and ArchitecturesModeling and Simulation of Invasive Applications and Architectures10.1007/978-981-13-8387-8_3(41-76)Online publication date: 31-May-2019
  • Show More Cited By

Index Terms

  1. A retargetable framework for instruction-set architecture simulation

      Recommendations

      Comments

      Please enable JavaScript to view thecomments powered by Disqus.

      Information & Contributors

      Information

      Published In

      cover image ACM Transactions on Embedded Computing Systems
      ACM Transactions on Embedded Computing Systems  Volume 5, Issue 2
      May 2006
      253 pages
      ISSN:1539-9087
      EISSN:1558-3465
      DOI:10.1145/1151074
      Issue’s Table of Contents
      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Journal Family

      Publication History

      Published: 01 May 2006
      Published in TECS Volume 5, Issue 2

      Permissions

      Request permissions for this article.

      Check for updates

      Author Tags

      1. Retargetable instruction-set simulation
      2. architecture description language
      3. decode algorithm
      4. generic instruction model
      5. instruction binary encoding

      Qualifiers

      • Article

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • Downloads (Last 12 months)6
      • Downloads (Last 6 weeks)1
      Reflects downloads up to 11 Jan 2025

      Other Metrics

      Citations

      Cited By

      View all
      • (2021)Domain-specific programming assistance in an embedded DSL for generating processor emulatorsProceedings of the 36th Annual ACM Symposium on Applied Computing10.1145/3412841.3442000(1256-1264)Online publication date: 22-Mar-2021
      • (2020)A Cost Model for Decoder Decision TreesProceedings of the 2020 European Symposium on Software Engineering10.1145/3393822.3432329(142-147)Online publication date: 6-Nov-2020
      • (2019)InvadeSIM-A Simulation Framework for Invasive Parallel Programs and ArchitecturesModeling and Simulation of Invasive Applications and Architectures10.1007/978-981-13-8387-8_3(41-76)Online publication date: 31-May-2019
      • (2019)Rapid Instruction Decoding for IA-32Perspectives of System Informatics10.1007/978-3-030-37487-7_1(1-9)Online publication date: 2-Jul-2019
      • (2017)Automated generation of dynamic binary translators for instruction set simulation2017 22nd Asia and South Pacific Design Automation Conference (ASP-DAC)10.1109/ASPDAC.2017.7858322(214-219)Online publication date: 16-Jan-2017
      • (2016)Decision tree generation for decoding irregular instructionsProceedings of the 2016 Conference on Design, Automation & Test in Europe10.5555/2971808.2972179(1592-1597)Online publication date: 14-Mar-2016
      • (2015)Pydgin: generating fast instruction set simulators from simple architecture descriptions with meta-tracing JIT compilers2015 IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS)10.1109/ISPASS.2015.7095811(256-267)Online publication date: Mar-2015
      • (2015)Simulation to ARM Processors Based on the Instruction's EigenvalueProceedings of the 2015 IEEE 17th International Conference on High Performance Computing and Communications, 2015 IEEE 7th International Symposium on Cyberspace Safety and Security, and 2015 IEEE 12th International Conf on Embedded Software and Systems10.1109/HPCC-CSS-ICESS.2015.177(1579-1584)Online publication date: 24-Aug-2015
      • (2013)A distributed timing synchronization technique for parallel multi-core instruction-set simulationACM Transactions on Embedded Computing Systems10.1145/2435227.243525012:1s(1-24)Online publication date: 29-Mar-2013
      • (2013)An Efficient Cycle Accurate Performance Estimation Model for Hardware Software Co-DesignEmbedded and Real Time System Development: A Software Engineering Perspective10.1007/978-3-642-40888-5_8(213-234)Online publication date: 20-Nov-2013
      • Show More Cited By

      View Options

      Login options

      Full Access

      View options

      PDF

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      Media

      Figures

      Other

      Tables

      Share

      Share

      Share this Publication link

      Share on social media