|
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
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.
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.
It features
- 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 downloading the setup file and screen shots, see the
MMIXVD page.
For those new to MMIX, this is the place to start.
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.
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 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.
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.
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.
|