FULL-SYSTEM SIMULATORS
A full-system simulator is execution-driven architecture simulation at such a level of detail that
complete software stacks from real systems can run on the simulator without any modification. A full
system simulator provides virtual hardware that is independent of the nature of the host computer. The
full-system model typically includes processor cores, peripheral devices, memories, interconnection
buses, and network connections. Emulators are full system simulators that imitate obsolete hardware
instead of under development hardware.
The defining property of full-system simulation compared to an instruction set simulator is that the
model allows real device drivers and operating systems to be run, not just single programs. Thus, full-
system simulation makes it possible to simulate individual computers and networked computer nodes
with all their software, from network device drivers to operating systems, network stacks, middleware,
servers, and application programs.
Full system simulation can speed the system development process by making it easier to detect, recreate
and repair flaws. The use of multi-core processors is driving the need for full system simulation, because
it can be extremely difficult and time-consuming to recreate and debug errors without the controlled
environment provided by virtual hardware. This also allows the software development to take place
before the hardware is ready, thus helping to validate design decisions.
56
A full-system simulator is execution-driven architecture simulation at such a level of detail that
complete software stacks from real systems can run on the simulator without any modification. A full
system simulator provides virtual hardware that is independent of the nature of the host computer. The
full-system model typically includes processor cores, peripheral devices, memories, interconnection
buses, and network connections. Emulators are full system simulators that imitate obsolete hardware
instead of under development hardware.
The defining property of full-system simulation compared to an instruction set simulator is that the
model allows real device drivers and operating systems to be run, not just single programs. Thus, full-
system simulation makes it possible to simulate individual computers and networked computer nodes
with all their software, from network device drivers to operating systems, network stacks, middleware,
servers, and application programs.
Full system simulation can speed the system development process by making it easier to detect, recreate
and repair flaws. The use of multi-core processors is driving the need for full system simulation, because
it can be extremely difficult and time-consuming to recreate and debug errors without the controlled
environment provided by virtual hardware. This also allows the software development to take place
before the hardware is ready, thus helping to validate design decisions.
56