Bug#926201: ITP: qtmips -- MIPS CPU simulator for education purposes with pipeline and cache visualization.
Package: wnpp
Severity: wishlist
Owner: Pavel Pisa <pisa@cmp.felk.cvut.cz>
* Package name : qtmips
Version : 0.6.8
Upstream Author : Pavel Pisa <pisa@cmp.felk.cvut.cz>
* URL : https://github.com/cvut/QtMips/
* License : GPL
Programming Lang: C++
Description : MIPS CPU simulator for education purposes with pipeline and cache visualization.
The project has started as diploma theses work of Karel Koci.
The complete text of the thesis Graphical CPU Simulator
with Cache Visualization is available from the online
archive of the Czech Technical University in Prague.
https://dspace.cvut.cz/bitstream/handle/10467/76764/F3-DP-2018-Koci-Karel-diploma.pdf
The document provides analysis of available alternative simulators,
overview of the project architecture and basic usage information.
The used MIPS CPU building block diagram, and a pipeline model matches
lecture slides prepared by Michal Stepanovsky for the subject Computer
Architectures. The course is based on the book Computer Organization
and Design, The HW/SW Interface written by professors Paterson
and Henessy.
Reasons to package
- We have not found appropriate tool for teaching of CPU pipeline
and cache basis. There are expensive professional tools which work
on real CPUs RTL level and many tools to provide approximation
computations of the cache performance etc. We have used MipsIt
emulator
https://www.eit.lth.se/fileadmin/eit/courses/eit090/MipsIt/MipsITEnvRef.html
in the past but it is Windows only and dated. SPIM
is widely used but it provides no pipeline and extension
is almost impossible because it interprets instructions
directly. MARS is even better with IDE ideal for education
but again its internals are centered about software
instructions emulation. QtMips decodes instructions
to set of signals which are propagated through pipeline
stages similar way as on real hardware. Result is quite
low speed with huge graphics overhead but with internal
state visualization. On the other hand it is much faster
then complete chip with RTL simulation.
- The QtMips simulator is used in the course for 350 students
now and even other faculty expressed interest to use it.
It can be quite useful for many universities and it
matches well the classic and widely used book for the subject.
- I have led the diploma thesis and I have done substantial
enhancements in the past months to make emulator fit needs
of our seminaries. I have intent to mantain the package
as time allows. The backup person is Karel Koci - initial
project author.
- Project is already built in Ubuntu launchapd
https://launchpad.net/qtmips
and Suse Open Build Service
https://build.opensuse.org/package/show/home:ppisa/qtmips
Reply to: