Module des Relaiscomputers

Für die Konstruktion dieses Relaiscomputers sollten keine integrierte Schaltkreise (IC) 1 für die Speicher- und Logikfunktionen zum Einsatz kommen.

RAM Modul Leiterplatten Abb: RAM Module zu je ein Byte (8 bit) im Computer

Inhaltsverzeichnis

  1. Anordnung der Module im Relaiscomputer
    1. Module linke Hälfte
    2. Module rechte Hälfte
  2. Rechenwerksmodule und Speicher
    1. Register A und B, Register C, Register D, Register E, Register O
    2. Komplement B, Addierwerk, Binärlogik, Schiebeoperation, Zustandsanzeige
    3. RAM 1 x 8 bit, ROM 16 byte
  3. Steuerwerksmodule
    1. Zeitgeber, Schrittzähler, Schrittdecoder, Befehlszähler
    2. Adressregister M, Befehlsregister I
    3. Befehlsdekoder, Befehlszyklus, Befehl INP
  4. Module der Dezimalein- und Ausgabe
    1. Ergebnisanzeige, Anzeigedekoder, BCD / HEX Weiche, Double Dabble
    2. Dezimaltastatur, Binärkodierer
  5. Das könnte Dich auch interessieren
  6. 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.

Anordnung der Module - linke Hälfte des Relaiscomputers

Module rechte Hälfte

Anordnung der Module - rechte Hälfte des Relaiscomputers

Rechenwerksmodule und Speicher

Register A und B Modul

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 Modul

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.

Hilfsregister D Modul

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 Modul

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 Modul

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 Modul

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 Modul

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 Modul

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 Modul

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 Modul

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 Modul 1 byte

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 Modul 16 byte

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 Modul

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 Modul

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 Modul

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 Modul

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)

Speicher Adressregister und Adressdekoder

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 Modul

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 Modul

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 Modul

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.

Befehlszyklus Dezimaleingabe Modul

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 Modul

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 Modul

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 Modul

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 Modul

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 Modul

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 Modul

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.

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.