[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#751397: ITP: drmips -- Educational MIPS simulator - DrMIPS



Thank you for your response!

You can find links in the URL of the package to a paper and to my Dissertation.
It explains this tool in detail, and also some similar tools (SPIM/QtSPIM too).

Related to SPIM, the version that is in Debian is 8.0 (old, yes).
But there is a newer version that uses Qt called QtSPIM, version 9.1.12 uploaded to SourceForge in December 2013. This version is not that old. If you didn't know about it, you can find it here: http://spimsimulator.sourceforge.net/
By the way, in my University I used, as student, MARS (http://courses.missouristate.edu/kenvollmar/mars/). It's written in Java and I found it easy to use (it has an integrated editor).

Now, this package (DrMIPS) isn't competing with SPIM or MARS, though they are used in education.
SPIM and MARS support almost all MIPS instructions and pseudo-instructions and also support floating point operations and syscalls. They show, during the simulation, the registers, data memory and assembled code.
They are a bit like debuggers (but simulated).

DrMIPS supports a small subset of instructions/pseudo-instructions and no floating point operations or syscalls. However, DrMIPS displays a graphical representation of the datapath (and its state), both unicycle and pipeline versions (with and without hazard detection and resolution). You can find screenshots in the URL.
And DrMIPS is available for Android too (not in Google Play, though).
It's most useful to understand how the MIPS datapath, and also pipelining, work.

I would say that, for Operating Systems, SPIM and MARS are more useful (syscalls, large instruction set, etc), unless the course includes Computer Architecture topics where the graphical datapath would be useful.
For Computer Architecture, I would say they are both useful. SPIM/MARS for assembly programming and DrMIPS to understand how the datapath works.

2014-06-12 14:41 GMT+01:00 Gunnar Wolf <gwolf@gwolf.org>:
Hi Bruno,

> * Package name    : drmips
>   Version         : 1.2.1
>   Upstream Author : Bruno Nova <brunomb.nova@gmail.com>
> * URL             : https://bitbucket.org/brunonova/drmips/
> * License         : GPL
>   Programming Lang: Java
>   Description     : Educational MIPS simulator - DrMIPS
> (...)
> I am the author of the program. Above was the "general" description of the
> software.
> This simulator is to be used mostly in Computer Architecture classes where the
> MIPS architecture is studied.
> It simulates some MIPS code and shows, step-by-step: the assembled code, the
> registers, the data memory and a graphical representation of the datapath
> (unicycle or pipeline).
> I intend to package the PC version of the simulator (obviously).

As a teacher (although I teach Operating Systems, but for some things,
I'm sure it's needed for my students to understand Computer
Architecture, and it's good to have tools to point them to), I am
interested in seeing this tool.

> Now, I know this is a very specific program, and useless to most people.
> Also, besides the University where it was created, probably almost no one else
> uses it (1 or 2 other universities, at maximum).
> So, I'm perfectly fine if the package is not accepted. After all, no one
> requested this package.
> But this would also be the first package I would send to Debian, so it would be
> useful for me to learn how to submit packages to Debian and Ubuntu
> repositories.
> I have a package for Ubuntu in a PPA, though (ppa:brunonova/ppa).

Most packaes are requested only by the person uploading and
maintaining them, and only later are found to be useful for others. I
would say your package is welcome; even more so knowing that you as
the upstream author are interested in having it in Debian.

I'd only ask what does your package provide that existing packages
don't - I know, for example, we have SPIM. SPIM is quite old, and has
had a slow upload history. Its last new upstream release is eight
years already. But for the task it fulfills, it is a good tool. How
would you compare DrMIPS with SPIM?

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)

iQIcBAEBCAAGBQJTma4NAAoJEGc6A+TB25IfIygP/3oXA5ePGgeErS/3edxRYRlI
ae5wjV75cUrVAni6Jng/DaQpTqV0oLZhJhrY/FxShQBiFSLlvGwBFCemDru65Jxn
uArvPgWyHzhme16gIRn+TImgKRyoFb2r7oTvlsXVYIcFLEYiNCvDMgJ1BCvVAo/Z
Vob7TVpz1nihl8cGwfDo/ecHtaY57tu3N6fePtaVKA7U8dRETvNIR4Bwb9lIPmVF
M2iUgkA5Cy7vlo4uRaN3SfPAF8O0FC7mA6EbNqJ4RWD5LXhf41b8Xq54opuuzO2M
sjveMUwCSzm9Hr2KWg3a4qpHTsBIAaf9obRCCy626viUFuKK8D/bTx48yWq/2eJ/
NECS2f/7AMHqxUtfQy+k96lpDEaTSWsMjxQZaQ8rTdsqVm9ztHgAiLcQtyUxrVcQ
2fYlMEQTwx9sUUO37LnX+S9SJePLkAGPhAAYhjUaYAAY1XoHL2Nyd58oPViQ2EnA
XnS2gnD4JxEYtQhhqNYQNnxEaJK5iGCy6DvAW0GhMU6v1ThIoNyY70OVoDyxdT0G
9RUbMolTcC6K7JlfznkX/svj/WfMZL5xo/hvUF3VLRU4CsYncKebrT8vquIy90a9
dciQxU6ovosXNBAcWjcLoG134pNLskjMgFlQASfl0ARIYjcOQPTwGTBsrnSQ5pES
fH6kBGEiV9qrvtveBbvd
=Pmdb
-----END PGP SIGNATURE-----




--
Bruno Nova

Reply to: