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.
Lectures and seminars are delivered each Friday 18:30, room 108 of RT building.
YouTube playlist: MIPT-MIPS 2018/2019
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, 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, 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 • Slides: L6, YouTube • Homework: Walk through documentation on performance simulator and ports concepts. Read original paper on ASIM Perf Model Framework. |
28 Nov | Branch prediction • Slides: L7, YouTube |
12 Dec | Advanced pipelining • Slides: L8, YouTube |
19 Dec | First Test |
08 Feb | Superscalar CPU and multicore systems • Slides: L9, no video was recorded. |
15/22 Feb |
Caches, pts I and II • Slides: L10-11, YouTube L10, YouTube L11 |
15 Mar | Out-of-order execution • Slides: L12, YouTube |
22 Mar | Out-of-order execution: load-store architecture • Slides: L13, YouTube |
29 Mar | Virtual Memory • Slides: L14, YouTube |
05 Apr | Multiprocessor Systems • Slides: L15, YouTube |
12 Apr | Simultaneous Multithreading • Slides: L16, no video was recorded. |
19 Apr | |
26 Apr | Final Test |
Instructions to use downloaded material can be found on wiki page. You may find lectures of previous year in our archive.
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.
MIPT | Name | Score | Comments |
---|---|---|---|
611 | Denis Los | 19 | #98, #99, #77, #221, #225, #221, #70, #31, #20 |
718 | Andrey Agrachev | 4 + 9 | #563, #465, ¼#626, #830, #248, #879, #821 |
714 | Yauheni Sharamed | 6 + 7 | #599, #724, #649, #910, #925 |
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 | 10 + 1 | #354, #662, #122, ½#290 |
712 | Egor Bova | + 10 | ½#530, #235, #461 |
711 | Yan Logovskiy | 4 + 5 | #91, #92, ⅓#383, #506, ¼#613 |
616 | Kirill Nedostoev | 9 | #147, #87, #93, #215, #214 |
717 | Vsevolod Pukhov | 4 + 2 | #589, ½#530, #602 |
616 | Alexander Timofeev | 5 | #69, #132, #215, #214 |
616 | Konstantin Soshin | 5 | #165 |
616 | Andrew Sultan | 4 | #282, #132 |
518 | Alexander Seppar | 4 | fc526cb8, #25, #52 |
614 | Alexey Steksov | 3 | #152, T#3 |
717 | Ivan Startsev | 2 | #525 |
717 | Arsen Davtyan | 2 | #660, #643 |
612 | Danil Yarovoy | 2 | T#4 |
516 | Ivan Korostelev | 1 | #32 |
List of Upcoming contributions
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: