From Marss86

Revision as of 15:25, 4 February 2013 by Fitz (Talk | contribs) (More Resources)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

MARSSx86 - Micro-ARchitectural and System Simulator for x86-based Systems

MARSS Block Diagram
MARSSx86 (MARSS for short) is a tool for cycle accurate full system simulation of the x86-64 architecture, specifically multicore implementations. Our goal is to create a simple yet efficient full system architectural simulation environment based on existing tools.

The key features of MARSS are:

  • Multicore simulation environment for the x86-64 ISA, with detailed pipeline model, including the breakdown of instructions into uops
  • Based on PTLsim with extensive enhancements for improved simulation accuracy and performance: average simulated commit rate of 200K+ instructions/second
  • QEMU based full system emulation environment with models for chipset and peripheral devices
  • Detailed models for Coherent Caches and On-Chip Interconnections . The current distribution includes :
    • Support for Write-Back or Write-Through caches at any level
    • The implementation of the MESI, MOESI Protocols
    • Split-Phase On-Chip Bus, Switch Interconnect Model
    • Simple DRAM Model that simulates bank conflicts and DMA channels
  • Full System simulation, including the simulation of unmodified operating systems, kernel interrupt handlers and standard libraries
  • Other features to promote ease of use are:
  • Runs in user-space only, without any need for root access or the installation of any kernel module
    • Ability to include pre-compiled libraries with the simulator
    • Full debugging support using standard debuggers like GDB

You can download the latest released version from Downloads page.

MARSS is being developed at Computer Architecture & Power Aware Systems Research Group (CAPS Research group) at State University of New York at Binghamton (SUNY Binghamton). MARSS has its roots in MPTLsim, an internally-used multicore simulator based on PTLsim. Avadh Patel is the lead developer of MARSS, with support from Furat Afram, Hui Zeng and Kanad Ghose. Questions/comments about MARSS should be directed to: [apatel at cs dot binghamton dot edu] or via email to the MARSS development mailing list.

The development of MARSS has been supported in part by NSF (Award No.0720811).


  • [Aug 22nd 2012] - Full day tutorial on MARSS at PACT 2012. Find more details here
  • [April 12th 2012] - Full day tutorial on MARSS at ISCA 2012. Find more details here

More Resources

Please register for MARSS development mailing list to receive email notifications about latest bug-fixes and developement updates to MARSS.

We recommend searching the mailing list before asking questions, as they may have already been answered.

Add Marss page on Google+ to your circle to get regular updates on important bug fixes and new features.

Visit Avadh's Blog on Marss for interesting posts related to MARSS, Simulators, Benchmarks, and Computer Architecture in general.

Fork Marss on GitHub.

Getting Started

Checkout Get Started with MARSS-86 page to quickly get started on MARSS. For more documentations please visist Documentation page.

For documentation about PTLSim -- PTLSim Documentation

<meta name="keywords" content="x86, x86-64, simulator, full system, system simulator, cycle accurate, fast simulator, avadh patel, furat afram, kanad ghose"></meta> <meta name="description" content="MARSSx86 - Micro Architectural System Simulator of x86 based systems"></meta>

<meta name="title" content="MARSSx86 - Cycle Accurate x86 Simulator"></meta>
Personal tools