Full system simulation
Encyclopedia
A full-system simulator is a computer program
Computer program
A computer program is a sequence of instructions written to perform a specified task with a computer. A computer requires programs to function, typically executing the program's instructions in a central processor. The program has an executable form that the computer can use directly to execute...

 that simulates computer systems 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
Computer memory
In computing, memory refers to the physical devices used to store programs or data on a temporary or permanent basis for use in a computer or other digital electronic device. The term primary memory is used for the information in physical systems which are fast In computing, memory refers to the...

, interconnection buses, and network connections. Full system simulation can speed the software development process by making it easier to detect, recreate and repair flaws .

The defining property of full-system simulation compared to an instruction set simulator
Instruction Set Simulator
An instruction set simulator is a simulation model, usually coded in a high-level programming language, which mimics the behavior of a mainframe or microprocessor by "reading" instructions and maintaining internal variables which represent the processor's registers.Instruction simulation is a...

 is that the model allows real device driver
Device driver
In computing, a device driver or software driver is a computer program allowing higher-level computer programs to interact with a hardware device....

s and operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...

s 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
Middleware
Middleware is computer software that connects software components or people and their applications. The software consists of a set of services that allows multiple processes running on one or more machines to interact...

, server
Server (computing)
In the context of client-server architecture, a server is a computer program running to serve the requests of other programs, the "clients". Thus, the "server" performs some computational task on behalf of "clients"...

s, and application programs.

The use of multi-core processors
Multicore
Multicore may refer to:* Multi-core processor ** Multicore Association, founded in 2005, a non-profit, industry consortium focused on multicore technology* multicore cable, a generic term for an electrical cable that has multiple cores...

 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 .

Examples of full system simulation include:
  • 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
    Simics
    Simics is a full-system simulator used to run unchanged production binaries of the target hardware at high-performance speeds. Simics was originally developed by the Swedish Institute of Computer Science , and then spun off to Virtutech for commercial development in 1998...

    : starting from 1994, modeling systems using Alpha, AMD64, ARM, EM64T, IA-64, MIPS, PowerPC, SPARC-V8 and -V9, and x86 CPUs
  • SimOS
    SimOS
    SimOS was a full system simulator, developed in the Stanford University in the late nineties in the research group of Mendel Rosenblum. It was enabled to run IRIX 5.3 on MIPS, and Unix variants on Alpha...

    : for MIPS-based multiprocessors
  • SimNow: AMD full-system simulator for x86 and x86_64 systems
  • gpsim
    Gpsim
    gpsim is a full system simulator for Microchip PIC microcontrollers.It is distributed under the GNU General Public License.From their website:...

    : Microchip PICmicro system simulator
  • Open Virtual Platforms (OVP), consisting of the freely available simulator OVPsim
    OVPsim
    OVPsim is a multiprocessor platform emulator that uses dynamic binary translation technology to achieve high simulation speeds. It has public APIs allowing users to create their own processor, peripheral and platform models. Various models are available as source . OVPsim is a key component of the...

    , a library of models of processors, peripherals and platforms, and APIs which enable users to develop their own models. The models in the library are open source, written in C, and include models of the MIPS 4K, 24K, 34K, 74K and 1004K families of cores, the ARM7, ARM9, ARM11, ARM Cortex A8/A9 families, the NEC v850 family, and also the ARC
    ARC International
    ARC International plc was a developer of configurable microprocessor technology and is now owned by Synopsys. ARC developed synthesisable IP and licensed it to semiconductor companies....

     600/700. Many of the processor models are validated by the IP
    Semiconductor intellectual property core
    In electronic design a semiconductor intellectual property core, IP core, or IP block is a reusable unit of logic, cell, or chip layout design that is the intellectual property of one party. IP cores may be licensed to another party or can be owned and used by a single party alone...

     providers. Also available as free open source are the MIPS Malta Full System simulation model and the ARM Integrator Full System simulation model.
  • MARSSx86: QEMU-based x86 full system simulator (utilized modified version of PTLSim internally).

See also

  • Computer architecture simulator
    Computer architecture simulator
    In computer science, a computer architecture simulator, or an architectural simulator, is a piece of software to model computer devices to predict outputs and performance metrics on a given input...

  • Instruction set simulator
    Instruction Set Simulator
    An instruction set simulator is a simulation model, usually coded in a high-level programming language, which mimics the behavior of a mainframe or microprocessor by "reading" instructions and maintaining internal variables which represent the processor's registers.Instruction simulation is a...

  • Simulation software
    Simulation software
    Simulation software is based on the process of modeling a real phenomenon with a set of mathematical formulas. It is, essentially, a program that allows the user to observe an operation through simulation without actually performing that operation...

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK