HSG

Aktuelle Seite: HSG/Fächer/Informatik/Material/Bonsai

Die ersten Schritte mit dem Lehrcomputer

Um den Umgang mit dem Rechner zu illustrieren, soll das kleine Additionsprogramm

                          Adresse     Datum
  0 JMP 3    Befehle      0000 0000   10 000011
  1 INC 7                 0000 0001   00 000111
  2 DEC 8                 0000 0010   01 001000
  3 TST 8                 0000 0011   11 001000
  4 JMP 1                 0000 0100   10 000001
  5 JMP 5   *             0000 0101   10 000101
  6     0   Lücke         0000 0110    00000000
  7     3   Daten         0000 0111   0000 0011
  8     2                 0000 1000   0000 0010

in den Speicher gebracht und ausgeführt werden.

Jeden von-Neumann-Rechner kann man in Operationswerk und Steuerwerk aufteilen. Das Operationswerk ermöglicht vielerlei 'Operationen' wie Registertransfers, Rechnungen u.s.w., das Steuerwerk steuert diese Operationen. Mit dem Lehrcomputer ist es möglich, die Rolle des Steuerwerks selbst zu übernehmen und das eingebaute Steuerwerk abzuschalten. Genau das müssen Sie bei Ein-und Ausgaben auch tun.
Achten Sie bei den folgenden Ausführungen auf die Zahlen (1,2,3,...), sie ermöglichen Ihnen mit Hilfe der Übersichtszeichnung eine einfachere Orientierung:

Bonsai-Hardware

  1. Stellen Sie den Schalter zur Steuerwerkskontrolle auf 'Hand' (Knebel nach rechts), die rote Leuchtdiode, die das Schreiben des Steuerwerks auf den Steuerbus anzeigt, erlischt.
  2. Wählen Sie auf der PC-Platine die richtige Adresse. Benutzen Sie dazu die gelben Tasten 'up' und 'down' bzw. die graue 'clear'-Taste zum 'Auf-Null-Setzen'. Beachten Sie die Anzeige des Adressbusses auf der Speicherplatine, sie folgt der Anzeige des PC. Die rotleuchtende Diode auf der PC-Platine zeigt, dass der PC auf den Datenbus schreibt.
  3. Stellen Sie mit den acht Kippschaltern der Eingabe das richtige Datum ein ('1' = Knebel nach oben).
  4. Drücken Sie die grüne 'write'-Taste auf der Speicherplatine, um das eingestellte Datum in den Speicher zu schreiben Wenn Sie die Taste etwas gedrückt halten, können Sie am Aufleuchten der Leuchtdioden den Weg der Eingabedaten verfolgen. Der Eingabemodul schreibt auf den Datenbus (rote Leuchtdiode), der Speicher liest vom Datenbus (grüne Leuchtdiode). Sie können auch während des Schreibens ('write'-Taste gedrückt) das Datum ändern (die Eingabeschalter betätigen).
  5. Mit Hilfe der roten 'read'-Taste können Sie das in den Speicher geschriebene Datum wieder auslesen. Da Sie während des Lesens die Adresse ändern dürfen, ist es ein leichtes, z.B. zu Kontrollzwecken den Speicher durchzublättern.
  6. Haben Sie durch mehrmaliges Wiederholen der Schritte 2 bis 4 das Programm und seine Daten in den Speicher gebracht, können Sie das Programm starten. Durch Drücken der blauen Reset-Taste auf der Platine EIN/TAKT/RESET wird ein 'Hardware-Reset' durchgeführt, der im einzelnen folgendes bewirkt:
    • der PC wird auf Null gesetzt
    • der Mikroprogrammzähler (MPC) im Steuerwerk wird auf Null gesetzt
    • der AKKU wird auf Null gesetzt
    • das Befehlsregister (instruction register, IR) wird mit Nullen gefüllt
    • das Steuerwortregister im Steuerwerk wird mit lauter '1'en (alle Signale auf inaktiv) gefüllt
  7. Überprüfen Sie die Stellung der beiden Kippschalter am Taktgeber: Mit dem oberen Schalter können Sie zwischen dem hohen und dem niederen Frequenzbereich umschalten. Es ist an sich gleich wie dieser Schalter steht, aber wenn Sie von der Ausführung des Programms etwas sehen wollen, stellen Sie ihn auf 'langsam' (Knebel nach unten). Der untere Kippschalter schaltet zwischen Einzel- und Dauertakt um, stellen Sie ihn zunächst auf Einzeltakt (Knebel nach unten). Sollte der Taktgeber gelaufen sein (die rote Leuchtdiode 'Takt' auf der gleichen Platine war in Betrieb), so stellen Sie durch einen neuerlichen RESET sicher, dass der Mikroprogrammzähler auf Null steht (Die vier grünen Leuchtdioden auf der Steuerwerksplatine müssen aus sein.).
  8. Übergeben Sie nun dem Steuerwerk durch Betätigen des Schalters Hand/ Steuerwerk (1) die Kontrolle. Das Steuerwerk schreibt auf den Steuerbus, wenn die dreieckige rote Leuchtdiode (1) aufleuchtet. Jetzt starten Sie das Programm, indem Sie entweder den Dauertakt einschalten oder einzelne Taktimpulse durch Betätigen der 'Takt'-Taste (6) auslösen.
  9. Wie bereits bei der binären Kodierung erwähnt fehlt ein HLT-Befehl. Der Rechner wird durch eine Endlosschleife abgefangen, deren Auftreten an einem stabilen Bitmuster (im Beispielprogramm: 10 000101) im Befehlsregister zu erkennen ist.
  10. Auslesen der Ergebnisse:
    Wenn nicht schon geschehen, so wird der Rechner durch Schalten auf Einzeltakt angehalten. Jetzt wird das Steuerwerk abgeschaltet und am PC die Adresse der interessierenden Speicherzelle (hier: z.B. 710 = 0000 01112) eingestellt. Drücken der READ-Taste auf der Speicherplatine läßt nun das Datum (hier: z.B. 510 = 0000 01012) auf dem Datenbus erscheinen.

Ein kleines Delphi-Tool (bma2bin.zip oder - komfortabler - bma2bin2.zip) kann bei der Erstellung der Binärdaten aus der bma-Datei helfen.

Der Bonsai-Computer ist schnell!

Multiplikation

In der Simulation (Duron 800) dauert die Multiplikation 13x17 = 227 mit ihren 22826 Takten ca. 1 h. Die Hardware läuft über 1MHz schnell, hier dauert die Rechnung ca. 0,02s!

Anspruchsvolleres Beispiel

Das 'ordentliches' Divisionsprogramm divmodpy.bon, das systematisch erstellt wurde, kann ein weiterer Prüfstein für den Bonsai-Computer sein.

Nachdem das Programm automatisch zu divmodpy.bma übersetzt wurde, benötigt es 2531 Takte um 7 durch 3 zu dividieren.

divmodpy.bon

Es kann mit Hilfe des Tools bma2bin weiter in eine binäre Darstellung divmodpy.bin (divmodpy.txt) konvertiert werden. Mit einem weiteren Tool, bin2hard kann, wenn auch unter DOS, die Bonsai-Hardware direkt programmiert werden