SourceForge.net Logo

Eclipse Plugin for MMIX

This Sourceforge project is dedicated to providing an Eclipse-Plugin for Donald E. Knuth's famous MMIX-Processor.At the moment it contains only a visualisation of the pipeline contents as it can be shown with the configurable meta-mmix-simulator. It is kind-of similar to that one used by Don Knuth in his Computer Musing on "MMIX: A RISC Computer for the New Millennium".

I started developing since I needed such an animation for educational purposes.At the moment it is not really user-friendly!

Documentation will hopefully come soon.

Requires Eclipse Version 3.1 and Java Version 5.0

You need the GEF/draw2D plugin as prerequisite.

This site (mmix-plugin.sourceforge.net) can be used as an Eclipse-Updatesite as well.

To run the visualisation you need to have a running copy of mmmix (mmmix.exe on Windows) in your path.

  1. Open the MMIX-perspective.
  2. Create a simple project where an .mmb-file is located. Create a configuration (New->Simple->File) with extension "mpe". Edit and save the configuration (via button on the Overview tab of the configuration editor that is associated with the extension "mpe"). Right-click on the .mmb-file and select "LaunchMMB File" from the context menu. You also can use my experimental configuration for the PPC970 here.
  3. In the activity view at the bottom you can double click to any cycle you like and see the contents of the pipeline. There is a control window that allows you to proceed a defined amount of clock cycles. The color coding is: blue for stalled instruction, yellow for instructions that are currently executed; green for instructions that are already finished and are waiting for commit; and finally red for instructions that have to be deissued (e.g. after mispredicted branches). The activity view indicates the number of instructions in the respective state as well as state of memory)
  4. You need to double click several times in the activity view until all elements are on their places (I don't know how to change this behavior).

Screenshot to be seen here.