skip to main content
article

A retargetable framework for instruction-set architecture simulation

Published:01 May 2006Publication History
Skip Abstract Section

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.comGoogle ScholarGoogle Scholar
  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.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarCross RefCross Ref
  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. Google ScholarGoogle Scholar
  5. Freericks, M. 1991. “The nML Machine Description Formalism.” Tech. Rep. 1991/15, TU Berlin, Fachbereich Informatik.Google ScholarGoogle Scholar
  6. Futamura, Y. 1971. Partial evaluation of computation process---An approach to a compiler--compiler. Systems, Computers, Controls 2, 5, 45--50.Google ScholarGoogle Scholar
  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.Google ScholarGoogle Scholar
  8. Hadjiyiannis, G., Hanono, S., and Devadas, S. 1997. ISDL: An instruction set description language for retargetability. Design Automation Conference (DAC). Google ScholarGoogle Scholar
  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). Google ScholarGoogle Scholar
  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). Google ScholarGoogle Scholar
  11. IA-32 Intel® Architecture Software Developer's Manual, Vol. 2: Instruction Set Reference, http://www.intel.com.Google ScholarGoogle Scholar
  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). Google ScholarGoogle Scholar
  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.Google ScholarGoogle Scholar
  14. MiBench benchmarks available at http://www.eecs.umich.edu/mibenchGoogle ScholarGoogle Scholar
  15. Mong, W. S. and Zhu, J. 2003. A retargetable micro-architecture simulator. Design Automation Conference (DAC). 752--757. Google ScholarGoogle Scholar
  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. Google ScholarGoogle Scholar
  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.Google ScholarGoogle Scholar
  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. Google ScholarGoogle Scholar
  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. Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Simplescalar Home page: http://www.simplescalar.comGoogle ScholarGoogle Scholar
  22. SPARC Version 7 Instruction set manual: http://www.sun.comGoogle ScholarGoogle Scholar
  23. SPEC benchmarks available at http://www.specbench.orgGoogle ScholarGoogle Scholar
  24. Trimaran Home page: http://www.trimaran.orgGoogle ScholarGoogle Scholar
  25. Vachharajani, M., Vachharajani, N., Penry, D. A., Blome, J. A., and August, D. I. 2002. Microarchitectural exploration with Liberty. International Symposium on Microarchitecture. Google ScholarGoogle Scholar
  26. Zhu, J. and Gajski, D. D. 1999. A retargetable, ultra-fast instruction set simulator. Design Automation and Test in Europe (DATE). 298--302. Google ScholarGoogle Scholar

Index Terms

  1. A retargetable framework for instruction-set architecture simulation

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader