VM-arm is a highly optimized and accurate simulation of the ARM architecture. It uses a sophisticated dynamic instruction recompiler, called the VirtualMHz Translation Engine, which dynamically converts ARM instruction sequences into native x86 instruction sequences. This approach gives a significant speed-up over traditional interpretive simulation techniques.
The main objectives are:
- Provide an accurate simulation of the ARM instruction set and system architecture.
- Very high simulation performance: capable of "real-time" ARM simulation (depending on the performance of the x86 host machine).
- Support a range of ARM software environments, including bare machine programs (running without an operating system) and full operating systems (such as ARM Linux).
- Provide a simulation of the Sharp Zaurus SL-5500 PDA.
This gives an ARM simulation environment that is ideal for ARM software development. Software can be prototyped and debugged before deployment on the real ARM system. The simulator provides rich debug facilities to support and accelerate the software development process.
An additional advantage of simulation is that a simulator can be extended to model modified ARM processors and systems before they reach production.
More information is available in the VM-arm whitepaper. It describes the rationale, feature set, technology and performance of the VM-arm products.