Simulators provided

sim-fast
a fast functional simulator
sim-cache
a functional cache simulator
sim-outorder
a very detailed out-of-order issue superscalar processor with a two-level memory system and speculative execution support

Target architectures

  • PowerPC Linux
  • AIX

Supported host platforms

  • PowerPC Linux
  • Intel Linux
  • Mac OSX
  • Solaris
  • Cygwin

Dynamic execution

DSS supports programs that generate executable code, such as JIT compilers.

Dynamic loading

When simulating the Linux PPC target, DSS does not require that the program to execute be statically linked. This allows you to simulate programs such as JikesRVM.

Virtual devices

DSS provides virtual devices to allow the simulator and simulated program to communicate with each other. For example, the simulated program can set a flag describing different phases of execution and the simulator can use this information to generate statistics for each phase.

Freeze/thaw, checkpointing

DSS provides limited support for saving its current state to a file and later reloading that file. It can also periodically save its state to prevent having to restart an entire simulation if the host machine crashes.