| |
Simit-ARM: A series of free instruction-set simulators and micro-architecture simulators Xinping Zhu, 6 Oct 2004 Last updated: 14 Feb 2005
SimIt-ARM
Primary Author:
Wei Qin (Princeton)
See
http://simit-arm.sourceforge.net/
for up to date information.
SimIt is the name of a series of free instruction-set simulators and
micro-architecture simulators. The intention of SimIt is to
share research infrastructures with colleagues in all fields related to
computer architecture.
The first release of the SimIt series
is SimIt-ARM: simulators for the ARM architecture.
The SimIt-ARM package contains an
instruction-set simulator (sometimes called emulator) and
a cycle-accurate simulator for the StrongARM architecture.
Both simulators read ELF32 little-endian ARM-linux
binaries and can simulate most of the SPEC Int and SPEC FP benchmarks.
The instruction set simulator was formerly released as Armsim.
SimIt-ARM was developed to demonstrate the usefulness of the
Operation State Machine model and the Mescal Architecture Description
Language.
SimIt-ARM is free software and you may use it under the terms of the
GNU General Public License. See the enclosed COPYING file for more information.
SimIt-ARM features:
- Very high simulation speed.
On a Pentium III 846MHz desktop, the instruction-set simulator runs at above
9.5MIPS, and the cycle-accurate simulator runs at around 1MHz.
- High accuracy.
The cycle-accudate simulator is calibrated against
a Linux based IPAQ PDA containing a SA-1100 chip. The timing
accuracy is within 3% for integer benchmarks according to my measurements.
- FPE support.
The ARM FPE instructions are emulated by
the NetWinder FPE library, which reflects the real
execution trace on a Linux based ARM platform.
- Auto-synthesized components.
The binary decoders used in release 1.0 and above are automatically
synthesized with
high quality and guaranteed correctness (see reference 2).
The cycle-accurate simulator in release 2.0 is mostly synthesized
from a MADL (Mescal Architecture Description Language) program.
- Multi-processor simulation support.
Release 1.1 and beyond supports multi-processor simulation.
More than one emulator or simulator instances can be created at the same time.
Moreover, in relase 2.0, the processor core can communicate with external
devices through either memory mapped means or comminication APIs.
The structure of the instruction set simulator resembles that of the powerpc emulator written by Gilles Mouchard. Simplescalar was also used for reference and validation. The cycle accurate simulator is based on the Operation State Machine formalism (see reference 1).
Download some prebuilt benchmarks benchmarks.tar.bz2(6.25MBytes).
Feedback or contributions are welcome!
Reference:
- Wei Qin, Sharad Malik. Flexible
and Formal Modeling of Microprocessors with Application to
Retargetable Simulation. Design, Automation, and
Test in Europe (DATE), March, 2003.
- Wei Qin, Sharad Malik. Automated
Synthesis of Efficient Binary Decoders for Retargetable
Software Toolkits. DAC'03, June, 2003.
| |