Die Mima ist eine fiktive mikroprogrammierte Minimalmaschine, die in der Vorlesung "Technische Informatik II" an der Uni Karlsruhe
zum Einsatz kommt. Eine ausführliche Beschreibung der Funktionalität der Mima findet man über die Homepage der Vorlesung.
Der MimaSimulator ermöglicht eine Simulation der Mima auf Mikrobefehls-Ebene.
Seit Mai 2007 gibt es dank Adam Taras eine neue Version (1.1) des Mima-Simulators mit folgenden Änderungen:
erfolgt mittels
java -jar mima_1.1.jar Dateinamewobei für "Dateiname" der Pfad zur Programmdatei einzusetzen ist, die Mikrobefehle, Speicherinhalte und Startwerte für die Register enthält. Seit Version 1.1 kann der Dateiname auch weggelassen werden - es wird dann ein Datei-Öffnen-Dialog angezeigt.
Diese Datei gliedert sich in vier unterschiedliche Abschnitte, die im folgenden beschrieben werden.
Adresse Anweisung Kommentarwobei "Adresse" eine zweistellige Hex-Zahl im Bereich von 00 bis FF und "Anweisung" eine siebenstellige Hex-Zahl mit dem in Aufgabe 1 des dritten Übungsblattes beschriebenen Format ist. Zu Beachten ist, dass das Fetch-Programm immer bei Adresse 00 beginnen muss. Der (optionale) Kommentar wird auch im Programmfenster angezeigt und kann das Nachvollziehen des Programmablaufs vereinfachen.
Adresse OpCodewobei "OpCode" eine zweitstellige Hex-Zahl (die Bits B23 bis B16 in hexadezimaler Darstellung) und "Adresse" die Startadresse des Mikroprogramms ist, das den durch "OpCode" gegebenen Assembler-Befehl realisiert.
Adresse Wert Kommentarwobei "Adresse" eine fünf- und "Wert" eine sechsstellige Hex-Zahl ist. Assembler-Programme sind auf diese Art im Speicher abzulegen.
Name Wertwobei als "Name" in Frage kommen: AKKU, X, Y, Z, IAR, IR, SAR und SDR. Der "Wert" ist je nach Register-Größe eine fünf- oder sechsstellige Hex-Zahl. Über Zuweisen eines Anfangswertes für IAR kann man den Beginn des Assembler-Programms festlegen.
Zwischen den beiden Werten muss genau ein Leerzeichen stehen. Leere Zeilen oder solche, die mit "//" beginnen werden ignoriert.
Die Oberfläche des Mima-Simulators ist sehr sparsam gehalten. Der folgende Screenshot gibt einen Überblick über sämtliche Elemente der Oberfläche, die anschließend im einzelnen erklärt werden.

Einige Eigenschaften im Verhalten der Mima sind nicht explizit vorgegeben, da sie in der Vorlesungen keine Rolle spielen. Daher hier ein paar Anmerkungen zu Details im Simulator-Verhalten.