MMIX Documentation, Sources, Binaries, Examples, Links, Projects, Proposals
This site is devoted to MMIX and MMIXware.
The following message from Donald Knuth gives a good introduction to MMIX.
A Message From Don Knuth, 01 September 2011
Welcome to all lovers of clean (or nearly clean) hardware design!
During the 1990s I spent considerable time designing a computer
that would be representative of modern machines, yet easy to
learn. Several of the leading experts in the field gave me
considerable help with the design. The result was MMIX —
"A RISC computer for the new millennium". In 1999 I completed
the preliminary software to support basic MMIX programming and
the simulation of many versions of the architecture. During the
subsequent twelve years, ... (read more ...)
After MMIXware, as described in Volume 1 Fascicle 1 of TAOCP,
was finally frozen in September 2011, this site, hosted by the
MMIX group at Munich University of Applied Sciences,
coordinates the future development of MMIXware.
We provide here a collection of materials for all those that work
with MMIX, study MMIX, engage in the further development of MMIX,
use MMIX, or just want to find out what MMIX is.
The new edition of
A RISC Computer for the Third Millennium,
Lecture Notes in Computer Science, Volume 1750, is now in print.
It documents Version 1 of MMIX, and it corresponds to
the programs of
Version 1 is permanently frozen, and
"bug-free by definition."
Of course this does not preclude future developments.
The new MMIX Visual Debugger version 1.1 has been released.
MMIXVD, the MMIX Visual Debugger, is a complete integrated development environment
for the MMIX under the Windows operating system. It integrates:
- an editor (based on the Scintilla editing engine),
- the mmixal assembler, and
- the mmix simulator.
For downloading the setup file and screen shots, see the
- Source level debugging
- Display of memory and registers (including the register stack)
- One click assembly and execution
- Interactive breakpoints
- Stepping of instructions and/or functions
- And much more...
For those new to MMIX, this is the place to start.
One of the primary reasons to design MMIX was the replacement of MIX in all
volumes of The Art of Computer Programming by Donald E. Knuth. So far volumes 1, 2 and 3
are still using MIX; but The MMIX supplement to the Art of Computer Programming
is about to be published by in February 2015. This supplement contains all the programs
contained in volume 1 to 3 rewritten for MMIX. These programs are available
here for download.
The documentation page provides a full set of MMIX related documentation -
mostly in pdf format but also including some videos.
The latest MMIX source files can be found on the sources page.
NEW:The Sources of MMIX and Friends are now in an svn repository.
You can get the sources via svn or
browse them directly.
For those who prefer ready to run executables,
the whole MMIX family and related tools can be found here:
Thanks to Anselm Binninger,
there is an new free Integrated Development Environment (IDE)
for MMIX implemented in Java. Check it out at
BWK-Technik. Another IDE is under development (see
the bottom of
Contributions to future editions of "The Art of Computer Programming"
You can send MMIX related material to the email address provided below.
We will try to provide you with immediate feedback.
All of the MIX programs in Volumes 1--3 of "The Art of Computer Programming"
needed to be rewritten in MMIX. The volunteers who were working on these conversions are called the
The MMIXmasters project has reached its first milestone with the publication of
"The MMIX Supplement".
Following the publication, we will happily accept (and reward) any improvements
to the existing programs. Because the activities will now be documented
on the MMIX Supplement pages, the content of the MMIXmasters pages are there
mostly as a reference.
We plan to set up a system to submit
bug reports and other material
to help us improve MMIX and the software provided here. For now, you can
just send an email to the address provided below.
The Links page tries to offer a "complete" collection of links
to MMIX related web pages. Please help to keep it current. Send me
an email if you think there is a link missing or outdated.