Als Beispiel eines von Neumann (RISC) Rechners soll in der Vorlesung
der MMIX Modellprozessor von Donald Knuth und der zugehörige
Assembler dienen. Zu diesem Prozessor existieren Beispielumgebungen
für verschiedene Systeme, so dass auch ein praktischer Umgang damit
möglich ist. Diese Seite soll eine kurze Einführung in den
Umgang mit diesen Umgebungen geben. Vor allem aber wird auf weitere
Informationen im WWW verwiesen.
Knuth schreibt als kurze Übersicht zu MMIX:
MMIX is a machine that operates primarily on 64-bit words. It has 256
general-purpose 64-bit registers that each can hold either fixed-point
or floating-point numbers. Most instructions have the 4-byte form
`OP X Y Z', where each of OP, X, Y, and Z is a single 8-bit byte. For
example, if OP is the code for ADD the meaning is ``X=Y+Z''; i.e.,
``Set register X to the contents of register Y plus the contents of
register Z.'' The 256 possible OP codes fall into a dozen or so easily
remembered categories. The designers of important real-world processor
chips (e.g., MIPS and ALPHA) have helped me with the design of MMIX.
mmix aus den Quelldateien unter Linux zu erzeugen).mms abspeichern.name.mms wie folgt assemblieren:
mmixal name.mms ->
name.mmo wird erzeugtmmix name.mmo oder mmix name
Assembler und Simulator haben verschiedene Optionen (mmixal
bzw. mmix -h eingeben). Die am Anfang interessantesten
Optionen für
mmix sind die Optionen -v (verbose, geschwätzig, gibt
verschiedene Informationen über den Zustand des Prozessors aus) und
-i (interaktiv, nach jedem Befehl wird der Prozessor angehalten
und man kann sich Speicher- und Registerinhalte anzeigen lassen und
verändern).
Der genaue Aufbau des MMIX-Prozessors und seines Befehlssatzes sowie
seine Programmierung wird in der Vorlesung behandelt.
