Praktikum Technische Grundlagen der Informatik
Hinweise zur Durchführung eines Mikroprogrammierprojekts
Allgemeine Hinweise
Diese Seite dient als praktischer Ratgeber bei der Durchführung eines
Mikroprogrammierprojekts im Rahmen des Praktikums Technische
Grundlagen der Informatik an der Technischen Universität München.
Eine formale Praktikumsordnung finden Sie
hier
Ablauf des Projekts
-
Legen Sie zunächst fest, wer aus Ihrer Gruppe für das Mikroprogrammierprojekt die Aufgabe des Projektmanagers übernimmt.
Melden Sie den Namen des Projektmanagers an Ihren Betreuer (beachten Sie die Hinweise für den Projektmanager).
Wenn Sie mit dem Mikroprogrammierprojekt beginnen, machen Sie sich zunächst mit der Aufgabenstellung und der
mikroprogrammierbaren Maschine vertraut. Lesen Sie dazu die zur Verfügung stehende Dokumentation, installieren Sie
die entsprechende Software und testen Sie einige Mikroprogramme aus der
TGI-Übung.
Wenn dabei Probleme auftreten sollten, wenden Sie sich bitte an die
studentischen
Betreuer, die zu den angegebenen Zeiten in den Praktikumsräumen anzutreffen sind.
Legen Sie dann fest, wer aus Ihrer Gruppe für welche Teile der Aufgabenstellung
zuständig ist und überlegen Sie sich einen Zeitplan. Auf Basis dieser Arbeiten erstellen Sie dann das Pflichtenheft
(beachten Sie die Hinweise zum Pflichtenheft).
Beginnen Sie nun mit der Spezifikation der zu erstellenden Mikroprogramme
(beachten Sie die Hinweise zur Spezifikation).
An dieser Stelle noch ein Hinweis: Die Praktikumsprojekte sind keine 'Aufgaben' in dem Sinne,
daß es dafür schon eine Lösung gibt. Es kann sich daher bei einigen Aufgaben durchaus
ergeben, daß sie (mit vernünftigem Aufwand) nicht exakt nach Vorgabe lösbar sind. Wenn Sie
in der Spezifikationsphase über ein derartiges Problem stolpern, besprechen Sie dies bitte mit
Ihrem Projektbetreuer. Seien Sie gewiß, daß Ihnen so etwas natürlich nicht negativ angerechnet
wird, vorausgesetzt, Sie können Ihre Ansicht vernünftig begründen.
-
Spätestens, wenn Sie glauben, daß Ihr Pflichtenheft und Ihre Spezifikation fertig ist, machen
Sie einen Termin mit Ihrem Projektbetreuer aus, um Pflichtenheft und Spezifikation vorzustellen.
Bitte machen Sie diesen Termin aber bereits frühzeitig aus, und nicht erst zwei Tage vor Ihrem
Abschlußtermin!
Betrachten Sie bei diesem Termin Ihren Projektbetreuer als Ihren Auftraggeber (im Sinne der
projektorientierten Durchführungsweise des Praktikums), d.h. versuchen Sie, ihm bei diesem Treffen
Ihr Projektmanagement und Ihre Vorgehensweise bei der Lösung Lösung möglichst gut zu ``verkaufen''.
Sie sollten daher bei diesem Termin vorbereitet sein und auch schriftliche Unterlagen (Pflichtenheft,
Spezifikation) mitbringen, die Ihr Projektbetreuer dann behalten kann. Die Betreuungstermine gehen mit
in die Bewertung Ihres Projekts ein.
Sollte Ihr Pflichtenheft oder Ihre Spezifikation nicht ausreichend sein, wird Sie Ihr Projektbetreuer
zu einem weiteren Termin verpflichten.
-
Wenn Sie es für nötig erachten, können Sie (vor oder nach der Vorstellung Ihrer Spezifikation) weitere
Termine mit Ihrem Projektbetreuer abmachen. Sie sollten dies z.B. immer dann tun, wenn die Aufgabenstellung
mehrdeutig ist oder sie aus irgendwelchen Gründen Modifikationen vornehmen wollen/müssen. Einfachere
Fragen können Sie natürlich auch per e-mail an Ihren Projektbetreuer richten. Fragen bzgl. der
Programmierumgebung (Simulator der mikroprogrammierten Maschine) richten Sie bitte an die
studentischen
Betreuer, die zu den angegebenen Zeiten in den Praktikumsräumen sind. Die studentischen Betreuer
können Ihnen auch helfen, wenn es um die Gliederung (nicht den Inhalt) Ihres Pflichtenhefts und der
Spezifikation geht. Sollten sie ein Problem haben, das sie mit den studentischen Betreuern nicht lösen
können, wenden Sie sich bitte an Ihren Projektbetreuer.
Erst nachdem Ihr Projektbetreuer (als Ihr Auftraggeber) Ihre Spezifikation genehmigt hat, beginnen Sie mit
der Implementierung. Dies schließt natürlich nicht aus, daß Sie zur Einarbeitung bereits kleinere Teile der
Mikroprogramme am Simulator vorher ausprobieren können.
-
Nachdem alle Mikroprogramme am Simulator realisiert wurden, testen Sie diese Hilfe eines kleinen Maschinenprogramms aus, das die von Ihnen implementierten Befehle verwendet. Testen Sie dabei nicht einfach `wild drauflos', sondern überlegen Sie sich vorher genau die kritischen Fälle und testen Sie diese auch konkret ab.
-
Zum Abschluß des Projekts erarbeitet ein Mitglied aus Ihrer Gruppe die endgültige schriftliche Ausarbeitung
(beachten Sie die Hinweise zur Ausarbeitung),
während ein anderes Mitglied eine ca. 10-minütige Präsentation Ihres Projekts vorbereitet
(Hinweise zum Vortrag). Der Projektmanager hält ebenfalls einen ca.
10-minütigen Vortrag zur Projektorganisation und Projektablauf
(Hinweise für den Projektmanager).
-
Die Vorträge finden üblicherweise in den Räumen 01.06.011 oder 01.06.020 statt. Nähere Informationen erhalten
Sie von Ihrem Betreuer.
-
Zu diesem Abschlußtermin liefern Sie bei Ihrem Projektbetreuer auch auch die schriftliche Ausarbeitung
(elektronisch und am besten auch als Papier) und die Simulatoreingabedatei mit ihren Mikroprogrammen und
dem Maschinentestprogramm ab.
Ein Mitglied Ihrer Gruppe übernimmt für das Mikroprogrammierprojekt die Funktion des Projektmanagers.
Der Projektmanager hat die folgenden Aufgaben:
-
Er organisiert ein erstes Treffen der Gruppe, in der festgelegt wird, wer die schriftliche Ausarbeitung erstellt und wer
den Abschlußvortrag hält. Das Ergebnis dieser Festlegung sowie der von Ihnen geplante Bearbeitungszeitraum des Projekts
wird dem Projektbetreuer vom Projektmanager unverzüglich mitgeteilt.
-
Er organisiert alle weiteren Treffen der Gruppe sowie die Besprechungstermine mit dem Projektbetreuer. Der Projektbetreuer hat u.a. dafür zu sorgen, daß die Gruppenmitglieder vollzählig, pünktlich und vorbereitet zu den Besprechungen erscheinen.
-
Er erstellt und archiviert schriftliche Protokolle der Gruppentreffen und der Besprechungstermine. In den Protokollen ist kurz (aber aussagekräftig) zu notieren, welche Themen besprochen wurden. Insbesondere sind alle Entscheidungen, die während einer Besprechung gefällt wurden (z.B. Implementierungsentscheidungen, Anpassungen der Aufgabenstellung, Termine, ...), festzuhalten. Die Protokolle sollten dem Projektbetreuer unmittelbar nach einem Treffen / einer Besprechung zugesandt werden. Auf jeden Fall müssen sie der Dokumentation des Projektverlaufs (s.u.) beigefügt werden.
-
Er organisiert und dokumentiert den Projektverlauf, insbesondere den Arbeits- und Zeitplan. Der Projektmanager ist für die Planung der Aufgabenverteilung im Projekt und die Zeitplanung ebenso verantwortlich wie für die Überwachung dieser Pläne. Der Projektmanager hat also zunächst diese Planungen zu erstellen. Dazu gehört unter anderem:
- wer hat welche Aufgaben zu erfüllen?
- welcher Zeitaufwand ist für diese Aufgaben notwendig?
- bis wann sollen die Arbeiten durchgeführt werden?
- wann werden Treffen der Gruppe durchgeführt?
- wann werden Treffen mit dem Betreuer notwendig?
Er hat die Einhaltung der Planung auch zu überwachen. Falls die Planung nicht eingehalten werden kann, sind die Ursachen zu ermitteln, und es müssen geeignete Maßnahmen ergriffen werden. Die Planungen, die Abweichungen, deren Ursachen und die getroffenen Maßnahmen sollen vom Projektmanager während der Projektlaufzeit dokumentiert werden. Diese Dokumentation ist am Projektende dem Projektbetreuer zu übergeben.
-
Er hält am Ende des Projekts einen Vortrag von ca. 10 Minuten Dauer über den Projektverlauf. In diesem Vortrag ist konkret und im Detail auf die organisatorische Durchführung des Projekts einzugehen, insbesondere auf die Planung, Abweichungen von dieser Planung und deren Ursachen.
Ein gutes Pflichtenheft sollte folgende Punkte umfassen:
-
Sollanalyse: Vollständige Beschreibung der Aufgabenstellung, also die zu realisierenden Befehle, Adressierungsarten, etc.
Dabei brauchen die Befehlsbeschreibungen aus der Beschreibung der Zielarchitektur nicht wiederholt werden. Lücken, Mehrdeutigkeiten, Probleme etc. in der vorgegebenen Beschreibung sollten jedoch erkannt und geschlossen werden.
- Istanalyse: Beschreibung der für Ihr Projekt relevanten (!) Merkmale der mikroprogrammierten Maschine. Beschreibung der vorgegebenen Infrastrur, Dokumentation und Hilfsmittel.
Bei der Beschreibung der Merkmale der Maschine sollten Sie versuchen, bereits Bezug zu Ihrer Aufgabenstellung zu nehmen (also welche Merkmale könnten sich positiv/negativ auf Ihre Arbeit auswirken, wo sind Probleme zu erwarten). Diese Überlegungen benötigen Sie auch, um eine vernünftige Aufwandsschätzung für Ihren Zeitplan machen zu können.
- Aufstellung der von Ihnen zu liefernden Leistungen, also Ihrer 'Vertragsverpflichtungen'.
Das Pflichtenheft sollte also mehr sein, als eine bloße Aufstellung der von Ihnen zu realisierenden Befehle und eine allgemeine Beschreibung der Maschine.
Ausgehend von obigen Überlegungen sollten Sie einen detaillierten Zeit- und Arbeitsplan erstellen. Im Idealfall enthält dieser die genaue Aufteilung der einzelnen Teilaufgaben und Arbeitsschritte auf die beteiligten Personen (z.B. wer spezifiziert wann welche Befehle), Aufwandsschätzungen für die einzelnen Schritte, ihre zeitliche Abfolge, sowie Fertigstellungs- und Überprüfungstermine.
Zu spezifizieren ist hier, wie Sie die zu realisierenden Maschinenbefehle implementieren wollen. Die Spezifikation beschreibt also auf einer abstrakteren Ebene, was Ihr Mikroprogramm einmal tun soll.
- Bei komplexeren Befehlen sollte zunächst die globale Vorgehensweise dargelegt werden, also der Algorithmus, den Sie implementieren wollen.
- Die einzelnen (logischen!) Schritte Ihres Mikroprogramms sollten genügend detailliert dargelegt werden, so daß Sie glaubhaft machen können, daß Ihre geplante Vorgehensweise wirklich realisierbar ist. Es ist noch nicht erforderlich, daß Sie bis ins letzte Bit wissen, wie die Realisierung der einzelnen Schritte schlußendlich aussehen wird. Sie sollten sich hier also z.B. überlegen: wie fließen die Daten, welche Funktionseinheiten werden benutzt? Unwesentliches soll hier weggelassen werden, die Beschreibung soll auf relativ hoher Abstraktionsebene erfolgen (also z.B. Inhalt von Register R0 über die ALU an den Adreßbus legen, nicht: SRC=ZA, DEST=NOP, Y-MUX=AB). Wichtig ist, daß aus der Spezifikation hervorgeht, welche Lösungsideen sie für die Aufgabe haben. Als Darstellungsform kann z.B. ein Flußdiagramm oder auch einfach eine numerierte Stichpunktliste gewählt werden.
- Schwierigkeiten und Besonderheiten sollten angesprochen, Ihre gewählte Lösung begründet und Realisierungsalternativen diskutiert werden. Dieser Punkt ist wichtig!
Die Spezifikation soll im Idealfall noch so abstrakt sein, daß ein Leser ohne Spezialkenntnis der Maschine Ihren Lösungsansatz verstehen kann, aber auch nachvollziehen kann, warum Sie gerade diesen Lösungsweg gewählt haben. Andererseits sollte sie aber auch detailliert und genau genug sein, so daß ein Programmierer, der diese Spezifikation bekommt, die Befehle auch so implementiert, wie Sie es sich vorgestellt haben. Auf keinen Fall soll sie lediglich eine (womöglich erst nach der eigentlichen Implementierung) entstandene Beschreibung der einzelnen Mikrobefehle sein.
Ein Mitglied Ihrer Gruppe zeichnet für die Ausarbeitung verantwortlich, die am Ende des Projekts bei Ihrem Projektbetreuer abzugeben ist. Die Ausarbeitung sollte die nachfolgende Aspekte umfassen:
Als Anlage sollte die Ausarbeitung eine aktuelle Kopie Ihres Pflichtenhefts und Ihrer Spezifikation enthalten. Siehe dazu die getrennten Hinweise zum Pflichtenheft und zur Spezifikation.
Da die von Ihnen zu realisierenden Maschinenbefehle (die ja die 'Anwenderschnittstelle' Ihrer Mikroprogramme darstellen) in der Regel bereits in der Aufgabenbeschreibung hinreichend dokumentiert sind, brauchen Sie hier normalerweise nicht viel zu beschreiben (Sie müssen dann aber zumindest auf die Beschreibung verweisen!). Dieser Abschnitt Ihrer Dokumentation sollte jedoch (soweit es angebracht ist) folgende Punkte enthalten:
-
Genaue Dokumentation etwaiger Abweichungen und Ergänzungen bzgl. der Beschreibung in der Aufgabenstellung (z.B. Änderung der Flags, eingeschränkte Wertebereiche etc.)
-
Beschreibung des von Ihnen mit Ihren Befehlen erstellten Maschinenprogramms. Diese soll als eine Art 'Tutorial' für die Benutzung (einiger) Ihrer Befehle dienen.
Die Entwicklerdokumentation ist der Teil Ihrer Dokumentation, der bei einem richtigen Projekt firmenintern bliebe.
Sie erfüllt mehrere Zwecke, u.a.:
Einarbeitung anderer Entwickler in Ihre Implementierung (z.B. bei späteren Modifikationen / Optimierungen)
- Weitergabe von Erfahrungen an andere Entwickler in ähnlichen Projekten
- Weitergabe von Verbesserungsmöglichkeiten an übergeordnete Abteilungen
- Qualitätssicherung
Ihre Dokumentation sollte im Idealfall alle diese Punkte berücksichtigen, d.h. die folgenden Themen abdecken:
-
Beschreibung Ihres Mikroprogramms. Dies sollte eine Erweiterung der Spezifikation sein, in der sie verstärkt auf Details der Maschine eingehen, und auch die von Ihnen verwendeten 'Tricks' erklären. Insbesondere sollten Sie bei der Beschreibung der einzelnen Programmschritte begründen, warum Sie diese genau so realisiert haben, wie Sie es getan haben. Sie sollten hier auch dokumentieren, welche Stellen in Ihrem Programm womöglich problematisch sein könnten (nur weil das Programm auf dem Simulator läuft, muß es auch auf der realen Maschine laufen!), und wo das Programm noch optimiert werden könnte. Ebenso sollten Sie hier natürlich auch detailliert etwaige Abweichungen von Ihrer ursprünglichen Spezifikation beschreiben und begründen.
Falls erforderlich, kann in der Dokumentation auf Teile der Spezifikation (z.B. Algorithmus-Beschreibungen) verwiesen werden.
-
Im Fall der Mikroprogrammierprojekte gibt es bei uns gleich drei 'übergeordnete Abteilungen': Die eine ist die, die die mikroprogrammierbare Maschine entwickelt (hat). Wenn Sie bei der Realisierung Ihrer Mikroprogramme also irgendwo auf Probleme gestoßen sind, die durch die Maschinenarchitektur gegeben sind (z.B. Sie können einen Datentransport nicht so durchführen, wie Sie es eigentlich bräuchten), sollten Sie darüber nachdenken, ob dieses Problem durch eine Anpassung der mikroprogrammierbare Maschine vermieden werden könnte, und der 'Hardware-Abteilung' eine entsprechende Modifikation vorschlagen (oder denen wenigstens das Problem klarmachen).
Ihre zweite übergeordnete Abteilung ist die, die die Zielarchitektur definiert (hat), die der Maschinenprogrammierer sieht. Auch hier kann es vorkommen, daß durch eine einfache, semantisch nicht relevante Änderung der Schnittstelle die Implementierung stark vereinfacht wird (z.B. könnte ein Befehl wesentlich einfacher zu realisieren sein, wenn man den Registeroperanden statt im RA- Adreßfeld im RB-Adreßfeld spezifiziert). Auch solche Optimierungsmöglichkeiten sollten sie spezifizieren.
Die dritte Abteilung ist endlich die, die die Programmier-Umgebung JMIC entwickelt. Besonders
hier können und sollten sie konstruktive (!) Kritik und Verbesserungsvorschläge anbringen.
-
Als Teil der Qualitätssicherung sollten sie schließlich auch noch dokumentieren, wie Sie Ihre Mikroprogramme getestet haben. Dabei ist nicht so sehr interessant, daß sie die Befehle im Simulator durchgelaufen sind (davon wollen wir doch einmal ausgehen). Vielmehr sollten Sie versuchen nachzuweisen, daß Ihre Programme wirklich in allen Situationen fehlerfrei sind, was sie nur durch genaue Angaben der Testbedingungen erreichen können, also: Welche Kombinationen von Befehlen haben Sie getestet? Mit welchen Operanden? Was kam dabei heraus? Wurden in der Testphase noch Fehler gefunden? Wenn ja, welche? Wie wurden sie behoben? Sie sollten hier konkrete Angaben machen, nicht nur pauschale Aussagen ("Wir haben alles getestet und es lief").
Insbesondere sind beim Testen natürlich immer auch Grenz- und Fehlerfälle zu prüfen (z.B. Division durch Null, Überlauf etc.)
Der Quellcode sollte in elektronischer Form (*.mpr Datei des Simulators JMic) abgegeben werden. Achten Sie darauf,
das die entsprechende Datei nicht nur ein Mikroprogramm, sondern auch ein geeignetets Maschinenprogramm enthält,
mit denen die Betreuer Ihre Arbeiten testen können. Die Dokumentation sollte in jedem Fall eine kurze Beschreibung
dieser Testprogramme enthalten.
Die Ausarbeitung ist in Form eines HTML-Dokuments anzufertigen. Eine Einführung und Referenzen zu hat HTML finden
Sie z.B. unter http://www.selfhtml.org. Nutzen Sie bitte die Möglichkeit
der Rechnerbetriebsgruppe, in der Rechnerhalle eine
eigene Homepage anzulegen. Senden Sie dann
den entsprechenden Link an ihren Betreuer.
Um Ihr geistiges Eigentum zu schützen, sollten Sie ihre Ausarbeitung nur einem ausgewählten Personenkreis zugänglich
machen. Näheres dazu finden Sie hier.
Bitte vergessen Sie nicht, Ihrem Betreuer auch das entsprechende Passwort zuzusenden.
Achtung: Die Speicherung der Passwörter in der Rechnerhalle und das Versenden von Passwörtern per Email ist nicht sicher!
Benutzen Sie daher für ihre TGI-Projekte keine "wichtigen" Passwörter.
Am Ende Ihres Projekts haben Sie dieses in einer ca. 10-minütigen Präsentation vor einem Publikum,
bestehend aus Ihrem Betreuer und einigen anderen Praktikumsgruppen,
vorzustellen. Dazu einige Hinweise:
- Beschreibung der mikroprogrammierbaren Maschine (ps)(ps.gz)(pdf)
- Allgemeine Aufgabenstellung (ps)(ps.gz)(pdf)
- Beschreibung der Zielarchitektur (ps)(ps.gz)(pdf)
- Die Unterlagen zur Übung im Wintersemester 2004/2005 finden Sie
hier
JMic: Installation und Starten des Programms
Im Praktikum wird der Simulator JMic eingestetzt, der die mikroprogrammierbare Maschine
mit Hilfe eines Java-Programms simuliert. Dieser ist auf den Rechnern der Rechnerhalle
bereits installiert. Zum starten des Simulators geben Sie einfach ein:
JMic &
Falls Sie lieber auf ihrem eigenen Rechner arbeiten wollen, können Sie sich hier
das entsprechende JAR-Archiv herunterladen:
Unter der Voraussetzung, dass Sie eine Java-Laufzeitumgebung (JRE) installiert haben, können Sie
den Simulator dann mit Hilfe des Kommandos
java -jar JMic.v1.02.jar
starten. Unter Windows starten Sie das Programm mit einem Doppelklick.
MIC 5.3 - Simulator für Windows
Da JMic noch ein paar Kinderkrankheiten hat - siehe Fehlerliste im
TGI-Wiki - wird der alte Simulator,
der nur unter Windows läuft, zur Verfügung gestellt.
Bedienung von JMic
Allgemeines
Nach dem Start wird im oberen Fensterbeich der Mikroprogrammspeicher, links unten die Register
und rechts unten der Hauptspeicher der mikroprogrammierbaren Maschine angezeigt. Sie können jederzeit
über den Menüpunkt Ansicht neue Fenster öffnen. Im Hintergrund ist ein Übersichtsplan
der mikroprogrammierbaren Maschine dargestellt.
Ganze Zahlen sollten in der Maschine hexadezimal eingegeben werden. Stellen Sie dazu dem Wert das
Zeichen # voran. Ohne dieses Zeichen werden die Zahlen als dezimale Werte interpretiert.
Eingabe von Mikroprogrammen
Durch einen Doppelklick auf eine Mikroinstruktion im oberen Fenster öffnet sich ein Dialogfenster
zur Eingabe von Mikroinstruktionen. In diesem Dialog können Sie links oben die gewünschte
Mikroinstruktion auswählen. Daneben befindet sich ein Textfeld, in das Sie einen beliebigen Kommentar
eingeben können. Bei Mikroinstruktionen, die als Einsprung in dei Implementierung eines Maschinenbefehls
dienen, sollte hier der Mnemonic des Maschinenbefehls eingetragen werden (z.B. ADD RA, RB oder JNZ imm).
Darunter können Sie geeignete Mikroinstruktionen auswählen. Die Zahlen in eckigen Klammern entsprechen
den jeweiligen Bits der Mikroinstruktion, wie sie in der Beschreibung der mikroprogrammierbaren
Maschine erklärt sind. Diese Bits werden am unteren Rand des Dialogs auch binär dargestellt.
Am untersten Rand des Dialogs finden Sie vier Knöpfe, mit denen Sie die eingegebenen Werte übernehmen oder
verwerfen können. Auserdem ist es möglich, die Mikroinstruktion mit Standardwerten zu belegen. Diese Werte
bewirken, das sich bei der Ausführung der Mikroinstruktion kein Register und keine Speicherzelle der Maschine
verändert.
Mapping PROM
Ein Programmieren des Mapping-PROMs, das die Zuordnung zwischen Op-Codes der Maschinenbefehle und
den Anfangsadressen der sie realisierenden Mikroprogramme enthält, ist im Simulator nicht möglich.
Stattdessen ist das Mapping-PROM nach der folgenden Regel fest programmiert:
Der Opcode i wird auf die Mikroprogrammadresse 16 * i abbgebildet
Beispiel: das Mikroprogramm des Maschinenbefehles mit Op-Code 47 (hex) beginnt an Adresse 470 (hex)
des Mikroprogrammspeichers.
Hauptspeicher
Der Inhalt des Hauptspeichers ist im Fenster rechts unten dargestellt. In der ersten Spalte steht die
Adresse der Speicherzelle, in der zweiten ihr Inhalt (beides in hexadezimaler Schreibweise). In der
dritten Spalte wird versucht, den Opcode des Maschinenbefehls darzustellen. Dies ist nicht immer sinnvoll,
da nicht jede Speicherzelle auch einen Maschinenbefehl enthält. Zum ändern einer Hauptspeicherselle
klicken Sie bitte auf die mittlere Spalte.
Register
Im Fenster links unten werden die Registerinhalte angezeigt und modifiziert. Ganz links befinden sich
die 16 Allzweckregister und das Q-Register. Per Konvention stehen dem Maschinenprogramm die Register
r0-r7 zur Verfügung, während die Register r8-r15 sowie das Q-Register dem Mikroprogramm zur Speicherung
von Zwischenergebnissen dient. Sie können den Register jederzeit beliebige Werte zuweisen.
Links neben den ALU-Registern werden oben die beiden 4-Bit Statusregister angezeigt. Auch diese können
durch Anklicken gesetzt und gelöscht werden. Darunter wird die aktuelle Mikroinstruktion, der
Mikrobefehlszähler, der Maschinenbefehlszähler und der Inhalt des Maschineninstruktionsregisters (IR)
angezeigt.
Das Feld "Aktuelle Instruktion" enthält die Adresse der Mikroinstruktion, die sich gerade im
Mikroinstruktionsregister befindet. Beim nächsten Taktimpuls wird also diese Mikroinstruktion ausgeführt.
Das Feld "Mikro-BZ" zeigt den Inhalt des Mikrobefehlszählers des Am2910. Dieser ist in den
meisten Fällen um eins größer als die aktuelle Mikroinstruktion. Die Felder "Maschinen-BZ" und
"Maschinen-IR" sind selbsterklärend.
Achtung: in den allermeisten Fällen sollten nur die Felder "Aktuelle Instruktion" und "Maschinen-BZ"
editiert werden.
Ausführen von Programmen
Nach der Eingabe von Mikro- und Maschinenprogrammen und der Initialisierung der Register kann die
Arbeitsweise der Maschine simuliert werden. Zweckmäßigerweise beginnt man dabei bei einer schrittweisen
Simulation, um das Verhalten der Maschine im Detail nachvollziehen zu können. Um die Abarbeitung
eines Taktes zu simulieren, wählt man den Menüpunkt Einzelschritt im Menü Simulation oder drückt auf
den Knopf mit dem senkrechten Balken und Pfeil in der Befehlsleiste.
Die Maschine kann auch in einen kontinuierlichen Simulationsmodus versetzt werden, indem man Starten
im Menü Simulation auswählt. Es werden dann solange einzelne Takte ausgeführt, bis der Menüpunkt Stop
ausgewählt wird. Alternativ kann diese Art der Simulation auch durch eine Betätigung der entsprechenden
Knöpfe in der Befehlsleiste gewählt werden.
Mit dem Menüpunkt Haltepunkt setzten können sie Mikroinstruktionen kennzeichnen, bei denen eine Simulation
immer anhalten soll. Setzen Sie beispielsweise einen Haltepunkt an der Mikroinstruktion 000, hält die
Simulation immer zu Beginn der Ausführung eines Maschinenprogramms an.
Speichern und Laden
Über die Menüpunkte Öffnen und Speichern lassen sich die Daten auf die übliche Weise im
Hintergrundspeicher ablegen. Es werden sowohl der Mikro-, also auch der Maschinenprogrammspeicher sowie
die Registerinhalte gesichert. Die Datei wird in einem ASCII-Format gespeichert, das auch mit einem
Texteditor manipuliert werdem kann.
Beim Öffnen von Dateien werden nur die Speicherbereiche überschrieben, die in der zu öffnenden Datei auch
sinnvolle Werte enthalten. Dadurch wird es möglich, mehrere Dateien in Folge zu öffnen und so die verschiedenen
Mikroprogramme miteinander zu kombinieren.