Skip to content

qsuo/mipt-mips

 
 

Repository files navigation

Build StatusBuild status

MIPT-MIPS

This project is a part of ILab activity at Moscow Institute of Physics and Technology (MIPT).

The aim of the project is to teach the students the computer architecture through development of a microprocessor implementing the MIPS instruction set in both functional and performance simulators.

This repository contains source files of cycle-accurate simulator (aka performance or pre-silicon simulator) of MIPS CPU.

More details about the project are available on Wiki

Getting started

  1. Install MIPS binutils if you need to build MIPS ELF binaries.
  2. MIPT-MIPS requires LibELF and Boost. We have an instruction how to get them
  3. In POSIX environment (Linux, OSX, Windows-Ubuntu, and Msys) you can build MIPT-MIPS just by make mipt-mips command
  4. WIP on MS Visual Studio support. Currently you can build MIPT-MIPS in command line using build.cmd batch file.

C++ requirements

MIPT-MIPS is written in C++17. Thus, you have to use one of these compilers:

  1. GCC 7 or higher
  2. MS Visual Studio 2017 or higher
  3. Clang 5.0 or higher

Required version of Boost is 1.55.

Basic command line options

  • -b <filename> — provide path to ELF binary file to execute
  • -n <number> — number of instructions to run
  • -f — enables functional simulation only
  • -d — enables detailed output of each cycle

Known issues

  • Reduced subset of MIPS instructions is supported at the moment.

May I contribute?

Yes, if you attend MIPT-MIPS lectures. See our CONTRIBUTING.md file for details.

About

Cycle-accurate pre-silicon simulator of MIPS CPU

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 95.5%
  • Makefile 3.4%
  • Batchfile 1.1%