Facharbeit "Bau eines Relaiscomputers"
von Kilian Leonhardt
Email: mail@kilian-leonhardt.de

Zurück zum Inhaltsverzeichnis

Das Speichermodul

Speichermodulen kommt in dieser Rechenmaschine eine besonders große Rolle zu. Sie sind nicht nur Variablenspeicher für den Programmierer, sondern außerdem in der Recheneinheit ein wichtiges Modul. Ein Speichermodul besteht aus 11 Speicherzellen. Eine Speicherzelle ist eine sehr kleine Sinneinheit, sie besteht gerade mal aus drei Relais. Die Schaltung einer Speicherzelle muß genau einen Binärwert von einer Steuerleitung übernehmen können, diesen nach abschalten der Steuerleitung speichern, auf Befehl hin wieder auf die gleiche Steuerleitung schalten und außerdem löschen können.
Zunächst einmal das Schaltbild:

So wie die Schaltung im Schaltbild dargestellt ist, befindet sie sich in einem stabilen Zustand. Relais 1 ist aus, bei Relais 2 liegt zwar an Kontakt 1 Spannung an, aber nicht am Spulenkontakt. Relais 3 ist ebenfalls aus. Im Moment ist sozusagen einen Null gespeichert.
Liegt an der Steuerleitung Spannung an, und man gibt den Befehl „lesen“, so zieht Relais 3 an, Schaltet die Spannung an den Spulenkontakt von Relais 2, dieses zieht ebenfalls an, und schaltet die positive Spannung ebenfalls an den gleichen Spulenkontakt. Läßt man Relais 3 abfallen, so fließt zwar von Kontakt 1 von Relais 3 kein Strom mehr, aber Relais 2 versorgt sich selbst mit Strom, denn die positive Spannung liegt nach wie vor am Spulenkontakt von Relais 2. Die Schaltung befindet sich wiederum in einem stabilen Zustand. Nur ist jetzt eine 1 gespeichert. Will man diese 1 wieder auf die Steuerleitung schreiben, so muß man nur den Befehl „schreiben“ geben, also +5 Volt an die entsprechende Leitung anschließen, und die Zelle schaltet die „gespeicherte 1“ an die Steuerleitung. Gibt man den Befehl „löschen“, so trennt Relais 1 die Stromquelle von Kontakt 1 von Relais 2, Relais 2 fällt ab. Wenn dann wieder Spannung am Kontakt 1 von Relais 2 anliegt, bleibt Relais 2 aus. Die Speicherzelle ist wieder in ihrem ursprünglichen Zustand.

Man kann nun recht einfach diese Speicherzellen zu einem Speichermodul zusammenfassen. Man nehme elf dieser Schaltungen. Aus Sparsamkeitsgründen kann man Relais 1 10mal weglassen, denn es muß logischerweise immer eine ganze Binärzahl gelöscht werden, nicht nur ein Bit derselben. Daher kann man ein einziges Relais nehmen, welches den Kontakten 1 der Relais 2 gemeinsam den Saft abdreht. Die einzelnen Steuerleitungen, elf an der Zahl sind, wie nicht anders zu erwarten war, an den Datenbus anzuschließen. Die elf Relais 3 sind nämlich ein einfacher Datenschalter. Die „lesen/schreiben“-Anschlüsse der Zellen werden zusammengeschlossen, so daß ein Speichermodul letztlich abgesehen vom Anschluß für den Datenbus nur zwei Anschlüsse hat, nämlich „löschen“ und „lesen/schreiben“.
Dies reicht zum Datentransfer später allerdings nicht aus, denn es kann immer nur ein Befehl gleichzeitig über den Befehlsbus wandern. Nehmen wir an, wir haben eine 11 Bit Binärzahl in einer Speicherzelle abgespeichert. Um sie in einer andere (gelöschte) Speicherzelle zu übertragen, muß zuerst die erste Speicherzelle mittels Datenschalter auf den Datenbus geschaltet werden. Dann muß die zweite Speicherzelle kurz auf den Datenbus geschaltet und gleich wieder davon getrennt werden(denn sie hat den Binärwert gleich angenommen). Nun muß die erste Speicherzelle abgetrennt werden. Es fällt auf, daß das dauerhafte Schalten auf den Datenbus, und das „wegnehmen“ ebenfalls durch kurze Befehle verfügbar gemacht werden muß. Dies ist recht leicht mit folgender Schaltung machbar:

Das Prinzip mit zwei stabilen Zuständen ist erhalten geblieben, deswegen werde ich diese Schaltung nicht näher erklären. Aber ich werde ein Beispiel für einen Transfer einer 11 Bit Zahl mit Hilfe von Einzelbefehlen geben. Ein Wert soll von Speichermodul A nach Speichermodul B übergeben werden. Speichermodul A Befehl „auf Datenbus Schalten“, Speichermodul B „löschen“, Speichermodul B „kurz auf Datenbus schalten“, Speichermodul A „von Datenbus trennen“. Somit wurde, ohne an Befehlsleitungen dauerhaft Spannung anlegen zu müssen, dieser Transfer ermöglicht.
Vereinbarung: Es wird immer die Speicherzelle, welche die Daten liefert zuerst auf den Datenbus geschaltet, die Speicherzelle, die diese Daten übernehmen soll, wird danach kurzzeitig mit dem Datenbus verbunden. Es gibt im Rechner außerhalb der Variablenspeicher Speicherzellen, die in ihrer speziellen Funktion lediglich beschrieben und gelöscht werden müssen. Bei diesen Speicherzellen habe ich die Zusatzschaltung zum dauerhaften Verbinden mit dem Datenbus eingespart. Andererseits gibt es auch Binärwerte (beispielsweise das Ergebnis des Addierers) welche nur schreiben sollen, demnach also nicht kurzzeitig, sondern nur dauerhaft mit dem Datenbus verbunden werden müssen. Zusammenfassung: Die Speicherzelle hat also (maximal) 4 Befehlsleitungen: Löschen, Kurz auf Datenbus schalten, Dauerhaft auf Datenbus schalten, vom Datenbus trennen. Diese 4 Befehle für Speicherzellen werde ich später in der Arbeit wie folgt abkürzen:

S (steht für Speicherzelle) 1 (Speicherzelle Nr.1) lö (steht für löschen)
S 1 le (kurzzeitig auf den Datenbus schalten)
S 1 s (Dauerhaft auf den Datenbus schalten)
S 1 a (Vom Datenbus trennen)


Zurück zum Inhaltsverzeichnis