Welcome to the home page of
EduMIPS64,
a free (as in free speech) visual and cross-platform MIPS64 CPU Simulator.
The simulator was written in order to support Computer Architecture students with a free and cross-platform tool that allows them to run programs written in the MIPS64 assembly dialect and see how the CPU behaves during the execution, experimenting with various aspects of low-level programming that they learn throughout the course.
EduMIPS64 started as a GPL Java port of WinMIPS64, a Windows-only MIPS64
simulator, but independently evolved soon after into a stand-alone open source
application.
News
: Release 1.3.0 (codename: Lourdes)
EduMIPS64
1.3.0 is out! This is a release introducing a backwards-incompatible change to `DMULU`, Simplified Chinese translation, a more modern look and feel and minor bug-fixes. Find it on
GitHub.
: Release 1.2.10 (codename: FP - Freedom and Peace)
EduMIPS64
1.2.10 is out! This is a bug-fix release that addresses 3 bugs. Find it on
GitHub.
: Release 1.2.9 (codename: Baby Shark)
EduMIPS64
1.2.9 is out! This is a bug-fix release that fixes a LUI bug and a help bug. Find it on
GitHub.
: Release 1.2.8 (codename: NLMS)
EduMIPS64
1.2.8 is out! This release contains a new experimental CLI front-end, a native Windows installer and a few bug-fixes, including a major fix for the LUI instruction. Here is the link to the release on
GitHub.
: Release 1.2.7.1 (codename: Hope)
EduMIPS64
1.2.7.1 is out! This is a minor bug-fix release that fixes a small issue in 1.2.7.
Here is the link to the release on
GitHub.
: Release 1.2.7 (codename: Hope)
EduMIPS64
1.2.7 is out! This release contains bug fixes for 2 issues, a correctness
bug (an instruction was erroneously overwritten in the pipeline) and a UI
bug (some FPU instructions were not represented correctly).
Here is the link to the release on
GitHub.
: Release 1.2.6 (codename: Phlegmatic)
EduMIPS64
1.2.6 is out! This release fixes some bugs related to memory handling (OOM),
increases the amount of memory available to programs, adds a better way to
report bugs and contains the usual miscellaneous bugfixes and improvements
related to the dev side of EduMIPS64 (e.g., migrating back to Gradle, using
Azure Pipelines for CI, etc))
Here is the link to the release on
GitHub.
: Release 1.2.5 (codename: Eden)
EduMIPS64
1.2.5 is out! This release fixes a bunch of bugs that have been
lying around for some time, both in the core and in the UI.
Here is the link to the release on
GitHub.
: Release 1.2.4 (codename: Nicolosi)
EduMIPS64
1.2.4 is out! This release further improves execution speed,
adds the ability to scale fonts in the UI and adds some code
quality improvements.
Here is the link to the release on
GitHub.
: Release 1.2.3 (codename: Angelo)
EduMIPS64
1.2.3 is out! This release improves dramatically the execution
speed for large programs and fixes a bunch of outstanding bugs,
in addition to adding code quality improvements.
Here is the link to the release on
GitHub.
: JavaScript port proof-of-concept
We just published a blog
post about the recent work on a
proof-of-concept for an EduMIPS64 port to JavaScript. The core
was already ported and the prototype interface is available at
www.edumips.org/edumips64.html.
: Release 1.2.2 (codename: Contrada Fumata)
EduMIPS64
1.2.2 is out! This release fixes Issue
#68. Here is the link to the release on
GitHub.
: Release 1.2.1 (codename: IFSC)
EduMIPS64
1.2.1 is out! Most of the changes are not user-visible, but a
few bugs have been fixed. You can read about all the
changes in the release page on
GitHub.
: Website migrated to GitHub Pages
The VPS that hosted the web site is being turned down, so we
migrated the web site to GitHub pages. The old contents have
been backed up and might be added to this new site over time.
P.S. on 15 March, we deleted the project on Google Code, since
the service is shutting down. All the development will continue,
as usual on GitHub, and release will be uploaded on GitHub and
SourceForge.
: Release 1.2 (codename: Ringsend)
EduMIPS64
1.2 is out! Lots of bugs have been fixed in this new version,
mainly related to the Dinero Frontend.
Changelog,
release notes for 1.2.
Downloadable files are available on
GitHub
and SourceForge.
EduMIPS64
1.1 is out! This is mainly a bugfix release post-1.0. The main
areas of improvement for this version are correctness, internal
cleanliness and packageability: you can read about all the
changes in the
release notes for 1.1.
: Release 1.0
Wow. After only 6 years, we finally released version 1.0 of
EduMIPS64
(codename: Philadelphia). The main new features since
0.5 are the Floating Point Unit (FPU) support and the
in-application HTML help. There are of course a lot of small bug
fixes and improvements, and you can read about that in the
release notes for 1.0.
The JAR file, source archive and PDF docs are available on
SourceForge,
while as usual the development happens on
github.
: Code moved to github.org
All the source code has been moved to
github,
the SVN repository has been retired.
: Research paper published
A paper about
EduMIPS64
has been published by the IEEE Transactions on Education; it is
about the usage of the simulator in undergraduate computer
architecture courses. You can find the pdf here.
History
The development of the simulator started in 2006, when a group of
students from the University of Catania decided that they didn't
want to be tied to the Windows operating system to complete their
Computer Architecture assignments. Also, writing a CPU simulator
from scratch sounded fun!
Most of the features were implemented in 2006, and after that only a
handful of developers kept adding features in 2007 and 2008. From
2008 on, the simulator has been maintained by
lupino3, one of the
founders of the project.
The ChangeLog
offers a bit of history, but unfortunately the bulk of the
development (prior to 0.0.7) was not recorded as it happened via
email using lupino3 as a human VCS.
Contributing
Please feel free to contribute to EduMIPS64, in the spirit of free software.
The most basic form of contribution is filing bugs against the simulator, reporting
any defects you find or suggesting improvements. We use GitHub issues to track bugs
and feature requests, see the
GitHub issues page for a list of existing issues and a way to open new ones
Please report any security vulnerabilities through the public GitHub issue tracker.
If you want to contribute by writing code, please contact the maintainers via GitHub,
as they will be able to direct you to the code areas where your skills will be most
useful. Please have a look first at the
developer guide, which explains how to build EduMIPS64 from source and how the
code is structured
Support
The development of EduMIPS64 is aided by two companies that provide
tools for free for developers of free software. Those companies are:
YourKit, that supports open source projects with its full-featured Java Profiler.
YourKit, LLC is the creator of YourKit Java Profiler
and YourKit .NET Profiler,
innovative and intelligent tools for profiling Java and .NET applications.