Module des Relaiscomputers
Für die Konstruktion dieses Relaiscomputers sollten keine integrierte Schaltkreise (IC) 1 für die Speicher- und Logikfunktionen zum Einsatz kommen.
Abb: RAM Module zu je ein Byte (8 bit) im Computer
Inhaltsverzeichnis
- Anordnung der Module im Relaiscomputer
- Rechenwerksmodule und Speicher
- Steuerwerksmodule
- Module der Dezimalein- und Ausgabe
- Das könnte Dich auch interessieren
- Begriffsklärung Module
Anordnung der Module im Relaiscomputer
Der Aufbau des Relaiscomputers wurde ausschließlich mit Relais und diskreten Bauelementen 2 auf 24 unterschiedlichen Baugruppen realisiert. Jedes dieser Module ist in sich funktional abgeschlossen und wird mittels Schraubklemmen 3 im Gerät verdrahtet. Insgesamt sind diese Module auf 70 Leiterplatten 4 im Relaiscomputer verbaut.
Module linke Hälfte
Module rechte Hälfte
Rechenwerksmodule und Speicher

Register A und B ↑
Die Register A und B sind 8 bit Speicher und nehmen die Operanden für die arithmetischen und logischen Operationen auf. Register A enthält nach dem Maschinenzyklus das Ergebnis (Akkumulator). Zwei Steuersignale erlauben den Zugriff für Lesen und Schreiben über den Bus.

Register C ↑
Das Register C ist ein 8 bit Speicher und wird als Zähler für Programmschleifen mittels Maschinenbefehlen benutzt. Es wird mit einem Zählwert geladen und mittels ALU dekrementiert (-1 gerechnet). Der Wert Null kann über einen Indikator abgefragt werden.

Register D ↑
Das Hilfsregister D ist ein 8 bit Speicher und puffert das Ergebnis aus dem Addierwerk. Es fungiert gleichzeitig als Statusregister für die Flags C, Z und N. Das Puffern ist erforderlich, weil der Ausgang des Addierwerks nicht direkt auf Register A zurückgekoppelt werden darf.

Register E ↑
Das Register E ist ein Spezialregister um die dezimale Tastatureingabe, kodiert als 5 bit für die Hunderter-, 6 bit für die Zehner- und 4 bit für die Einerstelle aufzunehmen. Mit vier Steuersignalen werden die Dezimalstellen auf den Bus geschaltet bzw. gelöscht.

Register O ↑
Das Register O ist ein 8 bit Speicher und nimmt den anzuzeigenden Wert für die Ausgabe auf der Dezimal- oder Hexadezimalanzeige auf. Es ist direkt mit der Anzeigehardware gekoppelt. Das Register kann mit einem Steuersignal nur geschrieben werden.

Komplement B ↑
Das Komplement B unterstützt die Subtraktion im Addierwerk. Mittels dreier Steuersignale gelangt entweder Register B direkt, das Komplement (not B) aus Register B, bzw. eine feste 8 bit Konstante -1 (0xff) zum Addierwerk.

Addierwerk ↑
Das Addierwerk ist als 2 x 4 bit Volladdierer aufgebaut. Register A und Komplement B sind direkt mit dem Addierwerk verbunden. Das Ergebnis der Addition wird über ein Steuersignal auf den 8 bit Bus geschaltet.

Binärlogik ↑
Durch drei Steuersignale kann Register A mit Register B logisch UND / ODER verknüpft bzw. Register A komplementiert (not A) werden. Das Ergebnis der logischen Verknüpfung wird auf den 8 bit Bus geschaltet.

Schiebeoperation ↑
Durch drei Steuersignale können die Register A jeweils um 1 bit nach rechts oder links, bzw. Register B nach links verschoben werden. Das Ergebnis der Schiebeoperation wird auf den 8 bit Bus geschaltet.

Zustandsanzeige ↑
Die Zustandsanzeige dient der Darstellung der aktiven Speicherbank (0=RAM, 1=ROM) und der Anzeige des Inhalts der Statusregister nach arithmetischer Operation: (C)arry, (Z)ero, (N)egativ. Die Anzeige ist mit Register D verbunden.

RAM 1 x 8 bit ↑
Der Speicher für ein Byte zu 8 bit, ist fast Baugleich zu einem der anderen Register. Der Unterschied besteht nur in einer zusätzlichen Signalleitung für die Adressauswahl 0-15. Insgesamt sind 16 dieser RAM Module im Computer vorhanden.

ROM 16 byte ↑
Der ROM mit 16 x 8 bit Kapazität ist eine zweite alternative Speicherbank für Programmcode und Daten im Computer. Er wird über Jumper programmiert. Alle Speicherstellen 0-15 sind direkt mit dem Adressdekoder verbunden.
Steuerwerksmodule

Zeitgeber ↑
Der Zeitgeber erzeugt ein symmetrisches 1 Hz Rechtecksignal mit einer bistabilen Kippstufe. Hiervon werden insgesamt drei Taktimpulse abgeleitet, welche den Schrittzähler und Befehlsdekoder im Steuerwerk bzw. den Rechner mit dem Systemtakt versorgen.

Schrittzähler ↑
Der Schrittzähler ist ein 4 bit Asynchronzähler oder auch Zählregister, welcher durch einen Taktimpuls für die Dauer der Programmausführung vom Zeitgeber binär hochgezählt wird. Zusätzlich kann es mit einem Steuersignal auf einen bestimmten Wert gesetzt werden.

Schrittdekoder ↑
Der Schrittdekoder wandelt den 4 bit Wert des Schrittzählers in 1 aus 16 Einzelschritte für den Maschinenzyklus um. Der Zyklus besteht aus Fetch-Cycle (3) und Execution-Cycle (4 .. 11) und hat eine variable Länge mit min. 3 und max. 11 Einzelschritten.

Befehlszähler ↑
Der Befehlszähler ist ein 4 bit Zählregister, welches durch einen Impuls binär hoch zählt. Zusätzlich kann es mit einem Steuersignal auf einen bestimmten Wert gesetzt werden. Der Zähler zeigt auf den nächsten Befehl im Programmspeicher (RAM oder ROM)

Adressregister M ↑
Das Adressregister M ist ein 4 bit Speicher, verbunden mit bit0 bis bit3 auf dem 8 bit Bus und wandelt mit einem Dekoder diesen Wert in 1 aus 16 Speicheradressen um. Die 16 Signalleitungen steuern jeweils eine Speicherzelle mit 8 bit an.

Befehlsregister I ↑
Das Befehlsregister I ist ein 8 bit Speicher, welcher den aktuellen Befehl aus dem Programmspeicher (RAM oder ROM) aufnimmt und direkt mit dem Befehlsdekoder im Steuerwerk verbunden ist.

Befehlsdekoder ↑
Der Befehlsdekoder wandelt den oberen 4 bit Wert, bit4 bis bit7, des direkt verbundenen Befehlsregisters I für die 1 aus 16 Maschinenbefehle um und leitet die Ausgänge in das Steuerwerk. Der integrierte Dekoder dient nur der Anzeige des Befehls 0-F.

Befehlszyklus ↑
Der Befehlszyklus, auch Maschinenzyklus genannt, entsteht durch Verdrahtung geeigneter Mikrobefehle pro Schritt. Insgesamt sind so bis zu 8 Schritte in einem Maschinenbefehl möglich. Das Bild zeigt den verdrahteten Sprungbefehl JMP mit insgesamt 3 Taktzyklen.

Befehl INP ↑
Einer von 16 Maschinenbefehlen im Relaiscomputer ist der INP Befehl mit 8 Taktzyklen. Es wird drei Schritten das Register E mit den Dezimalstellen ausgelesen und im Addierwerk Hunderter, Zehner und Einer summiert. Das Rechenergebnis steht in Register A.
Module der Dezimalein- und Ausgabe

Ergebnisanzeige ↑
Das Rechenergebnis wird entweder als positive Dezimalzahl (BCD) 000-255 oder Hexadezimal 00-FF angezeigt. Über die Tasten kann die Anzeigeart ausgewählt werden.

Anzeigedekoder ↑
Der Anzeigedekoder wandelt einen 4 bit Binärwert in ein Zeichen für eine 16 Segment Darstellung 0-F um. Für die Anzeige sind somit drei Dekoder vorhanden.

BCD/HEX Weiche ↑
Die BCD / HEX Weiche schaltet die Anzeigeart der Ergebnisanzeige um. Entweder wird der 8 bit Ergebniswert direkt oder als BCD umgewandelt, 10 bit breit, auf den Anzeigedekoder geleitet.

Double Dabble ↑
Der Double Dabble Algorithmus wurde als Hardware Lösung für die Umwandlung eines Binärwertes in einem Dezimalwert verwendet. Es werden 7 Double Dabble Schaltnetze für die Umwandlung von hexadezimal FF in 255 BCD benötigt.

Dezimaltastatur ↑
Über die Dezimaltastatur kann ein positiver, 3stelliger Dezimalwert eingegeben werden. Hunderter- (rot), Zehner- (grün) und Einerstellen (gelb). Die Tastatur ist direkt mit dem Binärkodierer verbunden.

Binärkodierer ↑
Im Binärkodierer wird die 3-stellige Eingabe einer Dezimalzahl in drei binäre Werte für Hunderter-, Zehner- und Einerstellen kodiert. Der Binärkodierer ist direkt mit dem Register E verbunden.
Das könnte Dich auch interessieren
zurück zum Seitenanfang ↑
Begriffsklärung Module
Hier findest Du eine kurze Begriffsklärung und weiterführende Informationen zu den Inhalten auf dieser Seite. Über die Links gelangst Du bspw. zu Wikipedia. ↑