Jump to content

Full system simulator

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Piv-pro (talk | contribs) at 10:00, 2 February 2013 (References: interwiki to Russian article). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

A full-system simulator is a computer architecture simulator that simulates an electronic system 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 effectively provides virtual hardware that is independent of the nature of the host computer. The full-system model typically has to include processor cores, peripheral devices, memories, interconnection buses, and network connections.

Definition

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.

Benefits

Full system simulation can speed the system development process by making it easier to detect, recreate and repair flaws.[1] 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.[2] This also allows the software development to take place before the hardware is ready,[3] thus helping to validate design decisions.

Examples

  • PDP-11 simulator in 1980s
  • g88 in late 1980s for modeling a uniprocessor M881100-based system, capable of booting Unix
  • gsim in early 1990s for modeling multiple processors with shared memory.
  • Simics: starting from 1994, modeling systems using Alpha, AMD64, ARM, EM64T, IA-64, MIPS, PowerPC, SPARC-V8 and -V9, and x86 CPUs
  • SimOS: for MIPS-based multiprocessors
  • SimNow: AMD full-system simulator for x86 and x86_64 systems
  • gpsim: Microchip PICmicro system simulator
  • OVPsim: for various MIPS, ARM, NEC, and ARC processors
  • MARSSx86: QEMU-based x86 full system simulator (utilized modified version of PTLSim internally).[4]

See also

References

  1. ^ Peter Magnusson (2004). "Full System Simulation: Software Development's Missing Link".
  2. ^ Debugging and Full System Simulation
  3. ^ Vania Joloboff (2009). "Full System Simulation of Embedded Systems" (PDF).
  4. ^ MARSSx86 - Micro-ARchitectural and System Simulator for x86-based Systems