View on GitHub


Cycle-accurate pre-silicon simulator of MIPS CPU

Download this project as a .zip file Download this project as a tar.gz file

This project is a part of MIPT ILab activity at Moscow Institute of Physics and Technology (MIPT). The project is being developed by a group of students under the guidance of Intel employees.

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.

Lectures on Computer Architecture

Lectures are delivered every Friday at 18:30 in 304 RT building of MIPT.

Term 1: CS Basics and Components

Date Event Hometask
Promotion event
Rus text, no audio, 8 MB
Eng text, no audio, 8 MB
L1: Project intro.
Basics of Simulator Development

Rus/Eng text, no audio, 0.7 MB
• Add your name to members.txt. Follow this instruction.
• Start reading of 1st and 2nd chapters of Schildt C++ manual.
L2: Layers of Computer Science.
ISA and uArch

Eng text, no audio, 9 MB
• Read our, build MIPT-MIPS, and run some traces.
• Take a look at MIPS ISA
L3: Combinational Circuits
Eng text, no audio, 0.9 MB
• Install Logisim, reproduce some schemes we discussed, look inside ALU example
L4: Integrated Circuits Basics
Eng text, no audio, 1.8 MB
• Watch YouTube videos about CPU production: 1, 2
• Look inside CMOS Logisim example
L5: Sequential Circuits Get ready for the upcoming test!
Test 1
• Review L2−L5 material
(excluding semiconductors, n/p-doping and transistor structure)
• Review 1st and 2nd chapters of Schildt C++ manual
• Review main Git commands

You may find previous lectures with audio narrations: the most complete set from 2015 and others: 2016, 2014, 2013, 2012.

Instructions to use downloaded material can be found on wiki page.

MIPT-MIPS Simulator

Build StatusBuild status

In our production repository you may find C++ sources required to complete this year course assignments — step-by-step implementation of MIPS simulator.

That repo has a lot of useful Wiki manuals about Git, MIPS, C++, Make utilites and so on.

There are some additional repositories:

Students Score

N Year Name Score Comments
1 2016/2017 Georgiy Korepanov 12 #28, #48, #49, #26, #60, #45, #73
2 2016/2017 Alexandr Seppar 4 fc526cb8, #25, #52
3 2017/2018 Kirill Nedostoev 2 #147
4 2017/2018 Alexey Steksov 1 #152
5 2016/2017 Ivan Korostelev 1 #32

About us

The project has been started in 2012. Currently it is mentored by Pavel Kryukov and Igor Smirnov. For more information, check this wiki page and MIPT ILab site