View on GitHub

MIPT-MIPS / MIPT-V

Cycle-accurate pre-silicon CPU simulation

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

MIPT-MIPS / MIPT-V is a pre-silicon simulator of MIPS and RISC-V CPUs 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, it is a supporting project to MIPT lectures on Computer Architecture and Software Development courses.

Computer Architecture 2021/2022

Lectures are given each Monday at 10:45-12:10. In-person lectures are given in room 108 of RT building in MIPT. Online lectures are given via Google Meet, a link to join the conference: link.

Date Type Event
13.09.2021 Org. Course introduction
• Slides: download
13.09.2021 Lecture:
Comp Arch
L1: Layers of Computer Architecture
• Slides: download
• Recording: watch
20.09.2021 Lecture:
Comp Arch
L2: ISA and uArch
• Slides: download
• Recording: watch
20.09.2021 Lecture:
Comp Arch
L3: Integrated Circuits
• Slides: download
• Recording: watch
27.09.2021 Lecture:
Comp Arch
L4: CMOS
• Slides: download
• Recording: watch
27.09.2021 Lecture:
Comp Arch
L5: Combinational Circuits
• Slides: download
• Recording: watch
04.10.2021 Lecture:
Comp Arch
L6: Sequential Circuits
• Slides: download
• Recording: watch
11.10.2021 Practice P1: Combinational and Seqientional Circuits
• Slides: download
18.10.2021 Lecture:
Soft Dev
L7: Version Control System
• Slides: download
• Recording: watch
• Git demo: watch
25.10.2021 Lecture:
Comp Arch
L8: RISC-V ISA
• Slides: download
• Recording: watch
01.11.2021 Lecture:
Comp Arch
L9: RISC-V Single-Cycle implementation
• Slides: download
• Recording: watch
08.11.2021 Lecture:
Comp Arch
L10: Pipelining
• Slides: download
• Recording: watch
15.11.2021 Lecture:
Comp Arch
L11: Data Hazards
• Slides: download
• Recording: watch
22.11.2021 Lecture:
Comp Arch
L12: Control Hazards. Branch Prediction
• Slides: download
• Recording: watch
29.11.2021 Lecture:
Soft Dev
L13: Code Form
• Slides: download
• Recording: watch
29.11.2021 Lecture:
Soft Dev
L14: Unit Testing. TDD.
• Slides: download
• Recording: watch
07.02.2022 Lecture:
Comp Arch
L15: Caches, part 1
• Slides: download
• Recording: half 1, half 2
14.02.2022 Lecture:
Comp Arch
L16: Caches, part 2
• Slides: download
• Recording: watch
21.02.2022 Lecture:
Comp Arch
L17: Caches, part 3
• Slides: download
• Recording: half 1
28.02.2022 Lecture:
Comp Arch
L18: Virtual memory
• Slides: download
14.03.2022 Lecture:
Comp Arch
L19: Advanced Pipelining. ILP. Superscalar. OOO - part 1
• Slides: download
• Recording: watch
21.03.2022 Lecture:
Comp Arch
L20: OOO - part 2
• Slides: download
• Recording: watch
28.03.2022 Lecture:
Comp Arch
L21: OOO - part 3. Load-Store Architecture
• Slides: download
• Recording: watch
11.04.2022 Lecture:
Comp Arch
L22: TLP. SMT
• Slides: download
• Recording: watch

You may find lectures from the previous year in our archive.

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

Software Development 2018/2019

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, YouTube
• Homework: install Travis CI for your project to run your Make or CMake builds.
07 Nov Code form
Slides, YouTube
21 Nov Unit testing
Slides, YouTube
05 Dec Test-driven development
Slides, YouTube

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

Students Contribution Score

Group Name Score Comments
MIPT-611 Denis Los 19 #98, #99, #77, #221, #225, #221, #70, #31, #20
MIPT-718 Andrey Agrachev 13 #563, #465, ¼#626, #830, #248, #879, #821
MIPT-714 Yauheni Sharamed 13 #599, #724, #649, #910, #925
MIPT-618 Alexander Misevich 13 #37, #216, #201, #246, #124, #18, #283, #277
MIPT-81? Eric Konks 12 #520, #1140, #1257
MIPT-512 George Korepanov 12 #28, #48, #49, #26, #60, #45, #73
MIPT-711 Vyacheslav Kompan 11 #354, #662, #122, ½#290
MIPT-715 Rustem Yunusov 10 #901, #760, #614
MIPT-712 Egor Bova 10 ½#530, #235, #461
MIPT-717 Vsevolod Pukhov 9 #589, ½#530, #602, #130
MIPT-711 Yan Logovskiy 9 #91, #92, ⅓#383, #506, ¼#613
MIPT-616 Kirill Nedostoev 9 #147, #87, #93, #215, #214
MIPT-91? Vladimir Graudt 7 #1410, #1409, #512, ⅓#463
MIPT-616 Alexander Timofeev 5 #69, #132, #215, #214
MIPT-616 Konstantin Soshin 5 #165
BSUIR Alex Kulsha 5 #356
BSUIR Vladislav Zhuravski 4 1448
BSUIR Andrei Karpyza 4 #355
MIPT-616 Andrew Sultan 4 #282, #132
MIPT-518 Alexander Seppar 4 fc526cb8, #25, #52
MIPT-614 Alexey Steksov 3 #152, T#3

Minor contributors: Ivan Startsev (#525), Arsen Davtyan (#660, #643), Danil Yarovoy (T#4), Maxim Davydov (#1096), Ivan Korostelev (#32)

RISC-V B instructions are delivered by Kirill Chemrov, Yaroslav Okatev, Alexandr Vinogradov, Airat Nazmiev, Roman Zlobin, Igor Bulatov, Daniel Kofanov, Nikolay Zernov, Nikita Gorbachev, Vladimir Prokhorov, Eric Konks, Maxim Davydov, Ilya Burtakov, Alexey Shcherbakov, Anton Okley, Egor Titov, Eugene Naydanov, Mihail Fedorov, Vasilii Zaitsev, Ravil Zakiryanov, Ivan Burtakov, Vladimir Graudt, Roman Glaz, Michael Bargatin, Andrey Vyazovtsev, Kirill Radkin, Ivan Panferov, Vasilii Matrenin, and Aleksey Otrashchenko.

List of Upcoming contributions

About us

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

Additional repositories: