Content
MMIX Documentation, Sources, Binaries, Examples, Links, Projects, Proposals
Introduction
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.
News
MMIXware
The new edition of
MMIXware,
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 mmix-20131017.tgz. Version 1 is permanently frozen, and "bug-free by definition."
Of course this does not preclude future developments.
MMIXVD
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.
- 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...
Getting Started
For those new to MMIX, this is the place to start.The MMIX Supplement
One of the primary reasons for designing MMIX was to replace MIX in the previously published volumes 1, 2, and 3 of The Art of Computer Programming, by Donald E. Knuth, and to use it in every subsequent volume, starting with volume 4.Until updated editions of volumes 1 through 3 are available, The MMIX Supplement to the Art of Computer Programming includes MMIX versions of every MIX program in those volumes. These MMIX versions are also available for download here. The book itself, which includes substantial supplemental material on MMIX programming, (ISBN-13: 978-0133992311, ISBN-10: 0133992314) is available from Amazon or other bookstores.
MMIX Documentation
The documentation page provides a full set of MMIX related documentation - mostly in pdf format but also including some videos.Sources
The latest MMIX source files can be found on the sources page.NEW:The Sources of MMIX and Friends are in a git repository. You can get the sources at https://gitlab.lrz.de/mmix.
Executables
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 Win32 Executables).
Contributing
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.MMIXmasters
Although MMIX versions of all MIX programs in volumes 1--3 of The Art of Computer Programming are now available (see above), we would happily accept (and reward) any improvements you contribute.The ongoing project is documented on the MMIX Supplement pages, hence the content of the MMIXmasters pages are intended mostly for reference.