Giter Club home page Giter Club logo

msim's Introduction

MSIM -- MIPS R4000 system simulator

MSIM is a light-weight computer simulator based on MIPS R4000 and RISC-V. It is used for education and research purposes, mainly to teach the construction and implementation of operating systems. MSIM is distributed with source code under the GNU GPL license to make possible modifications for users and works on most POSIX-compliance environments (mainly GNU/Linux, Mac OS X, but can be also compiled in Cygwin or MinGW in Windows).

The user interface is simple terminal-style.

MSIM provides following features (along others):

  • MIPS R4000 CPU
    • full memory management (TLB)
    • multiprocessor support
    • the instruction set is restricted to 32 bits
    • CPU cache is not simulated
  • RISC-V RV32IMA CPU
    • A extension
    • M extension
    • Supervisor and User modes
    • multiprocessor support
    • Cache is not simulated
  • simple debugging features (including disassembling, register content dump)
  • several simple hardware devices
  • various hardware-manipulating commands
  • widely configurable memory mapping of devices
  • script-like start-up configuration file

MSIM does not aim to be a speed-optimized real hardware simulator, but rather a fully deterministic simulator useful for kernel debugging. There are several other projects which aim speed-optimized simulation (e.g. GXemul), but they are more complex to use.

(Old) project homepage is at http://d3s.mff.cuni.cz/~holub/sw/msim/.

This project is forked from https://github.com/D-iii-S/msim.

Compilation and installation

./configure && make install

msim's People

Contributors

hanyzpapu avatar martin-decky avatar vhotspur avatar ceresek avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.