View on GitHub

MIPT-MIPS

Cycle-accurate pre-silicon simulator of MIPS CPU

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

MIPT-MIPS is a pre-silicon simulator of MIPS CPU. It is able to measure performance of program running on CPU, thus taking best features of RTL and common functional simulation.

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. Additionally, MIPT-MIPS is a supporting project to MIPT lectures on Computer Architecture and Software Development courses.

Lectures and seminars are delivered each Wednesday 17:05, room 108 of RT building.

Computer Architecture

Date Event name
13 Sep Promotion event
• Slides: russian version
19 Sep Layers of Computer Science, ISA and uArch
• Slides: L1
03 Oct CMOS and Combinational Circuits
• Slides: L2 - CMOS, L3 - Combinational Circuits
YouTube
• Homework: Install Logisim and look inside ALU and CMOS examples.
17 Oct Sequential Circuits
• Slides: L4 - Sequential Circuits
YouTube
• Homework: Study implementation of SR-latch, T-latch counter and Mem array with Logisim. Refresh scheme of ALU and look inside Flip-flop ALU.
31 Oct Single-cycle implementation of MIPS/RISC-V CPU
• Slides: L5 - Single-cycle MIPS/RISC-V
YouTube
• Homework: Read wiki’s MIPS section. Recap single-cycle data path (foils 20-26). Get familiar with single-cycle model: simulator & wiki. Study RISC-V opened issues.
14 Nov Pipeline

Instructions to use downloaded material can be found on wiki page. You may find lectures of previous year in our archive.

Software Development

Date Event name
13 Sep Promotion event
• Slides: russian version
26 Sep Version control system
Slides
YouTube
• Homework: read our our cheat sheet and contribute to members.md
• Further reading: Pro Git (Rus, Eng), Git Flight Rules (Rus, Eng)
10 Oct Build, Makefiles, and CMake
Slides
YouTube
• Homework: use Make or CMake to build your project, build MIPT-MIPS.
24 Oct Continuous Integration
Slides
• Homework: install Travis CI for your project to run your Make or CMake builds.
07 Nov Code form
Slides
21 Nov Unit tests

In addition, repository contains a lot of useful Wiki manuals about Git, MIPS, C++, Make utilites and so on.

Students Contribution Score

MIPT Name Score Comments
611 Denis Los 19 #98, #99, #77, #221, #225, #221, #70, #31, #20
618 Alexander Misevich 13 #37, #216, #201, #246, #124, #18, #283, #277
512 George Korepanov 12 #28, #48, #49, #26, #60, #45, #73
711 Vyacheslav Kompan 9 #354, #662, #122
616 Kirill Nedostoev 9 #147, #87, #93, #215, #214
616 Alexander Timofeev 5 #69, #132, #215, #214
616 Konstantin Soshin 5 #165
71x Yan Logovskiy 4 #92, ⅓#383, #506
616 Andrew Sultan 4 #282, #132
518 Alexander Seppar 4 fc526cb8, #25, #52
714 Yauheni Sharamed 3 #599
614 Alexey Steksov 3 #152, T#3
612 Danil Yarovoy 2 T#4
717 Arsen Davtyan 1 #660
717 Vsevolod Pukhov 1 #589
718 Andrey Agrachev 1 #563
516 Ivan Korostelev 1 #32

List of Upcoming contributuions

About us

The project is mentored by Igor Smirnov, Kirill Korolev, and Oleg Ladin under Pavel Kryukov’s supervising. For more information, check this wiki page and MIPT ILab site

Additional repositories: