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.
- ARM7 User Manual, http://www.arm.comGoogle Scholar
- 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 Scholar
- 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 ScholarCross Ref
- 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 Scholar
- Freericks, M. 1991. “The nML Machine Description Formalism.” Tech. Rep. 1991/15, TU Berlin, Fachbereich Informatik.Google Scholar
- Futamura, Y. 1971. Partial evaluation of computation process---An approach to a compiler--compiler. Systems, Computers, Controls 2, 5, 45--50.Google Scholar
- 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 Scholar
- Hadjiyiannis, G., Hanono, S., and Devadas, S. 1997. ISDL: An instruction set description language for retargetability. Design Automation Conference (DAC). Google Scholar
- 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 Scholar
- 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 Scholar
- IA-32 Intel® Architecture Software Developer's Manual, Vol. 2: Instruction Set Reference, http://www.intel.com.Google Scholar
- 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 Scholar
- 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 Scholar
- MiBench benchmarks available at http://www.eecs.umich.edu/mibenchGoogle Scholar
- Mong, W. S. and Zhu, J. 2003. A retargetable micro-architecture simulator. Design Automation Conference (DAC). 752--757. Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 ScholarDigital Library
- Simplescalar Home page: http://www.simplescalar.comGoogle Scholar
- SPARC Version 7 Instruction set manual: http://www.sun.comGoogle Scholar
- SPEC benchmarks available at http://www.specbench.orgGoogle Scholar
- Trimaran Home page: http://www.trimaran.orgGoogle Scholar
- Vachharajani, M., Vachharajani, N., Penry, D. A., Blome, J. A., and August, D. I. 2002. Microarchitectural exploration with Liberty. International Symposium on Microarchitecture. Google Scholar
- Zhu, J. and Gajski, D. D. 1999. A retargetable, ultra-fast instruction set simulator. Design Automation and Test in Europe (DATE). 298--302. Google Scholar
Index Terms
- A retargetable framework for instruction-set architecture simulation
Recommendations
Instruction set compiled simulation: a technique for fast and flexible instruction set simulation
DAC '03: Proceedings of the 40th annual Design Automation ConferenceInstruction set simulators are critical tools for the exploration and validation of new programmable architectures. Due to increasing complexity of the architectures and time-to-market pressure, performance is the most important feature of an ...
An efficient retargetable framework for instruction-set simulation
CODES+ISSS '03: Proceedings of the 1st IEEE/ACM/IFIP international conference on Hardware/software codesign and system synthesisInstruction-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 ...
Comments