Computer architecture simulator
Encyclopedia
In computer science
Computer science
Computer science or computing science is the study of the theoretical foundations of information and computation and of practical techniques for their implementation and application in computer systems...

, a computer architecture simulator, or an architectural simulator, is a piece of software to model computer devices (or components) to predict outputs and performance
Performance
A performance, in performing arts, generally comprises an event in which a performer or group of performers behave in a particular way for another group of people, the audience. Choral music and ballet are examples. Usually the performers participate in rehearsals beforehand. Afterwards audience...

 metrics on a given input. An architectural simulator can model a target microprocessor
Microprocessor
A microprocessor incorporates the functions of a computer's central processing unit on a single integrated circuit, or at most a few integrated circuits. It is a multipurpose, programmable device that accepts digital data as input, processes it according to instructions stored in its memory, and...

 only (see 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...

), or an entire computer system (see full system simulator) including a processor, a memory system, and I/O devices.

Categories

Computer architecture simulators can be classified into many different categories depending on the context.
  • Scope: micro-architecture vs. full-system simulators. The modeled scope could be only one microprocessor or the whole computer system.
  • Detail: functional vs. timing (or performance) simulators. Functional simulators emphasize achieving the same function as the modeled components(What to be done.), while timing simulators strive to accurately reproduce the performance/timing features (When is done.) of the targets in addition to their functionalities.
  • Input: trace-driven (or event-driven) vs. execution-driven simulators. Traces/Events are pre-recorded streams of instructions with some fixed input. Execution-driven simulators allow dynamic change of instructions to be executed depending on different input data.

Benefits of simulators

Architectural simulators are very useful for the following purposes:
  • evaluating different hardware designs without building costly physical hardware systems.
  • enabling the opportunities to access non-existing computer components or systems
  • obtaining detailed performance metrics: A single execution of simulators can often generate a large set of performance data.
  • debugging: Debugging on real hardware typically require re-booting and re-running the code to reproduce the problems. In contrast, some simulators have a fully controlled environment and allow software developers to run code backward once an error is detected.

Implementations

Some popular architectural simulators include:
  • CPU Sim
    CPU Sim
    CPU Sim is a software development environment for the simulation of simple computers. It was developed by Dale Skrien to help students understand computer architectures. With this application the user is able to simulate new or existing simple CPUs. Users can create new virtual CPUs with custom...

    , a Java application that allows the user to design and create a simple architecture and instruction set and then run programs of instructions from the set through simulation
  • M5: a freely available academic full system simulator developed at the University of Michigan
    University of Michigan
    The University of Michigan is a public research university located in Ann Arbor, Michigan in the United States. It is the state's oldest university and the flagship campus of the University of Michigan...

  • MikroSim
    MikroSim
    The program MikroSim is an educational software for hardware-non-specific explanation of the general functioning and behaviour of a virtual processor, running on the operating system Microsoft Windows...

    : a Microcode programmable CPU 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...

     http://www.OVPworld.org: a freely available full system simulator
  • PTLsim, a cycle accurate x86-64 full system simulator
  • SESC:a cycle-accurate architectural simulator
  • 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...

    : a full system simulator
  • SimpleScalar: a microarchitectural simulator suite
  • MARSSx86: Micro-ARchitectural and System Simulator for x86-based Systems
  • GEMS
    Gems
    -Gems:*gemstones*Gems , a 1988 compilation album by Aerosmith*Gems , a 1994 studio album by Patti LaBelle*Gems , a 2011 studio album by Michael Bolton...

    http://www.cs.wisc.edu/gems/home.html: General Execution-driven Multiprocessor Simulator

External links

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