Traditionally, simulators of computer architecture have been trace-driven. Trace-driven simulation has been especially useful to evaluate cache performance. In Trace-driven simulation, a trace of the instructions executed by the processor is recorded in a file and then later interpreted by the simulator. In simulating meaningful programs, the trace files are large and difficult to obtain.
Execution-driven simulation provides an alternative to trace-driven simulation. Instead of interpreting the instructions in a trace file, the simulator actually interprets instructions . Since cross-compilers are often readily available, executables are much easier to obtain and store.