Presentation is loading. Please wait.

Presentation is loading. Please wait.

Simics: A Full System Simulation Platform Synopsis by Jen Miller 19 March 2004.

Similar presentations


Presentation on theme: "Simics: A Full System Simulation Platform Synopsis by Jen Miller 19 March 2004."— Presentation transcript:

1 Simics: A Full System Simulation Platform Synopsis by Jen Miller 19 March 2004

2 Goals Simulate a complete system with perfect accuracy Simulate realistic work loads Achieve balance between accuracy and performance – Accurate enough to run commercial workloads – Abstract enough to simulate “quickly”

3 What can Simics do? Model a wide variety of systems – Embedded – Desktop – MPs – Clusters Run many realistic workloads – Unmodified operating systems – SPEC CPU2000 – TPC-C – Interactive desktop apps and games

4 How does Simics model systems? Processors are simulated at the instruction-set level – UltraSPARC, Alpha, MIPS, ARM, IPF, PowerPC, X86 and X86-64 Flexibility  Mix and match architectures with operating systems Accurate device models can run real firmware and device drivers

5 Operating Systems User-level applications can be run on a “bare bones” simulator by using an OS emulation layer We can isolate the behavior of a single application!

6 Full-Scale Distributed Systems Each target machine is a node A single Simics instance can simulate one or more nodes of the same basic architecture Heterogeneous nodes can be connected into a network using Simics Central Simulation is fast enough to be interactive Global time can be paused to inspect state Some capabilities: Access memory traffic or set breakpoints anywhere, modify any of the systems, timestamp user input, checkpoint simulations

7 Simics Central Synchronizes virtual time between Simics simulators and distributes simulated traffic between nodes Imposes a minimum latency on all messages Will halt the simulation if one process consumes cycles slower than others – Network simulation speed is limited by the slowest process Currently supports Ethernet networks

8 Debugging Simics supports traditional debugging – Loading symbolic information – Single stepping Repeatability: Prior sequences of events can be played back to trigger a bug External debuggers can be attached – For example, TCP/IP GNU debugger

9 Memory and I/O Devices Users can extend a simulated memory space by adding a timing model (such as Ruby) Simics uses a simulator translation cache to speed up loads, stores, and instruction fetches – The caches store pointers to simulated memory and are indexed by virtual addresses Simics supports a device set that enables firmware and the OS to run – Keyboard/mouse controller, DMA, Interrupt controller, floppy controller, Graphics cards, etc. Users can write new device models

10 Economic Benefits Single platform across the development cycle

11 Simics Architecture

12 Implementation The target system is described using a simple object-oriented language

13 Event Handling Simics can mix event-driven and time-driven components Each processor object has two event queues: a step queue and a time queue Events appear in the step queue after a number of program counter steps The time queue has a resolution of a processor clock cycle

14 Conclusions Full system simulation has benefits over testing physical hardware – Easy to arbitrarily modify conditions and insert errors – Discovered errors can be replicated – Automated testing – You can get a good idea of feasibility and performance before you build something


Download ppt "Simics: A Full System Simulation Platform Synopsis by Jen Miller 19 March 2004."

Similar presentations


Ads by Google