Constructing portable compiled instruction-set simulators: an ADL-driven approach

  • Authors:
  • Joseph D'Errico;Wei Qin

  • Affiliations:
  • Boston University, Boston, MA;Boston University, Boston, MA

  • Venue:
  • Proceedings of the conference on Design, automation and test in Europe: Proceedings
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

Instruction set simulators are common tools used for the development of new architectures and embedded software among countless other functions. This paper presents a framework that quickly generates fast and flexible instruction-set simulators from a specification based on a C-like architecture-description language. The framework provides a consistent platform for constructing and evaluating different classes of simulators, including interpreters, static-compiled simulators, and dynamic-compiled simulators. The framework also features a new construction method for dynamic-compiled simulator that involves no low-level programming. It profiles and translates frequently executed regions of simulated binary to C++ code and invokes GCC to compile such code into dynamically loaded libraries, which are then loaded into the simulator at run time to accelerate simulation. Our experimental results based on the MIPS architecture and the SPEC CPU2000 benchmarks show that our dynamic-compiled simulator is capable of achieving up to 11 times speedup compared to our fast interpreter. Compared to other dynamic-compiled simulators requiring significant system programming expertise to construct, the proposed approach is simpler to implement and more portable.