ABSTRACT
Instruction 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 instruction-set simulator. Interpretive simulators are flexible but slow, whereas compiled simulators deliver speed at the cost of flexibility. This paper presents a novel technique for generation of fast instruction set simulators that combines the benefit of both compiled and interpretive simulation. We achieve fast instruction accurate simulation through two mechanisms. First, we move the time consuming decoding process from run-time to compile time while maintaining the flexibility of the interpretive simulation. Second, we use a novel instruction abstraction technique to generate aggressively optimized decoded instructions that further improves simulation performance. Our instruction set compiled simulation (IS-CS) technique delivers upto 40% performance improvement over the best known published result that has the flexibility of interpretive simulation. We illustrate the applicability of the IS-CS technique using the ARM7 embedded processor.
- A. Nohl et~al. A Universal Technique for Fast and Flexible Instruction-Set Architecture Simulation. DAC, 2002.]] Google ScholarDigital Library
- S. Pees et~al. Retargeting of Compiled Simulators for Digital Signal Processors using a Machine Description Language. DATE, 2000.]] Google ScholarDigital Library
- Simplescalar Home www.simplescalar.com.]]Google Scholar
- G. Braun et~al. Using Static Scheduling Techniques for the Retargeting of High Speed, Compiled Simulators for Embedded Processors from an Abstract Machine Description. ISSS, 2001.]] Google ScholarDigital Library
- B. Cmelik et~al. Shade: A Fast Instruction-Set Simulator for Execution Profiling. ACM SIGMETRICS Performance Evaluation Review, Volume 22(1), Pages 128--137, May 1994.]] Google ScholarDigital Library
- J. Zhu et~al. A Retargetable, Ultra-fast Instruction Set Simulator. DATE, 1999.]] Google ScholarDigital Library
- A. Halambi et~al. EXPRESSION: A Language for Architecture Exploration through Compiler/Simulator Retargetability. DATE, 1999.]] Google ScholarDigital Library
- E. Schnarr et~al. Fast Out-of-Order Processor Simulation using Memorization. PLDI, 1998.]]Google Scholar
- E. Schnarr et~al. Facile: A Language and Compiler for High-Performance Processor Simulators. PLDI, 1998.]] Google ScholarDigital Library
- E. Witchel et~al. Embra: Fast and Flexible Machine Simulation. MMCS, 1996.]] Google ScholarDigital Library
- F. Engel et~al. A Generic Tool Set for Application Specific Processor Architectures. HW/SW Codesign, 1999.]] Google ScholarDigital Library
- M. Hartoog et~al. Generation of Software Tools from Processor Descriptions for Hardware/Software Codesign. DAC, 1997.]] Google ScholarDigital Library
- Y. Futamura. Partial Evaluation of Computation Process---an Approach to a Compiler-Compiler. Systems, Computers, Controls, Volume 2(5), Pages 45--50, 1971.]]Google Scholar
- G. Hadjiyiannis et~al. ISDL: An Instruction Set Description Language for Retargetability. DAC, 1997.]] Google ScholarDigital Library
- P. Mishra et~al. Functional Abstraction driven Design Space Exploration of Heterogeneous Programmable Architectures. ISSS, 2001.]] Google ScholarDigital Library
- R. Leupers et~al. Generation of Interpretive and Compiled Instruction Set Simulators. DAC, 1999.]]Google Scholar
- The ARM7 User Manual www.arm.com.]]Google Scholar
Index Terms
- Instruction set compiled simulation: a technique for fast and flexible instruction set simulation
Recommendations
Hybrid-compiled simulation: An efficient technique for instruction-set architecture simulation
Instruction-set simulators are critical tools for the exploration and validation of new processor architectures. Due to the increasing complexity of architectures and time-to-market pressure, performance is the most important feature of an instruction-...
A multiprocessing approach to accelerate retargetable and portable dynamic-compiled instruction-set simulation
CODES+ISSS '06: Proceedings of the 4th international conference on Hardware/software codesign and system synthesisTraditionally, instruction-set simulators (ISS's) are sequential programs running on individual processors. Besides the advances of simulation techniques, ISS's have been mainly driven by the continuously improving performance of single processors. ...
Using static scheduling techniques for the retargeting of high speed, compiled simulators for embedded processors from an abstract machine description
ISSS '01: Proceedings of the 14th international symposium on Systems synthesisInstruction set simulators are indispensable tools for both the design of programmable architectures and software development. However, due to a constantly increasing processor complexity and the frequent demand for cycle-accurate models, such ...
Comments