MMIX Home Page


Documentation, Sources, Binaries, Links, Examples, Contributions

Table of Content

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

MMIXware Cover 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

MMIXVD Screenshot1

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.

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.

Reporting Bugs

Improvements, Feature Requests, or Enhancement Proposals

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.

Please help to keep this site up to date! If you want to point out important material or projects that are not listed here, if you find errors or want to suggest improvements, please send email to email