Startseite > Module

Module des Relaiscomputers

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

Blockbild Module Realais 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. Bildergalerie Module
  6. Das könnte Dich auch interessieren
  7. 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.

In der Bildergalerie kannst Du Dir die Bilder der Baugruppen vergrößert ansehen.

Anordnung der Module - linke Hälfte des Relaiscomputers

Module rechte Hälfte

Anordnung der Module - rechte Hälfte des Relaiscomputers

Rechenwerksmodule und Speicher

Arithmetisch-logische Einheit mit Register A und B für die Aufnahme der Operanden

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.

allgemenines Register C (Counter) zum speichern von Zählerständen

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.

Arithmetisch-logische Einheit mit Hilfsregister zum zwischenspeichern der Ergebnisse

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.

Hilfsregister für die 3 stellige Dezimaleingabe

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.

Hilfsregister O (Output) zum speichern des Ergebnisses

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.

Arithmetisch-logische Einheit mit SUB (Zweierkomplement Register B Subtraktion), LDC (lade Konstante Jumper) und Register B=0

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.

Arithmetisch-logische Einheit mit dem Addierwerk (4bit breit)

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.

Arithmetisch-logische Einheit mit den Funktionen NOT (bitweise negieren), AND (bitweises UND), OR (bitweise ODER)

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.

Arithmetisch-logische Einheit mit Schieberegister für Befehler SLA (shiebe A links), SLB (schiebe B links) und SRA (schiebe A rechts)

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.

Arithmetisch-logische Einheit mit der Anzeige der Zustände

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.

Lesen und schreiben Speichermodul (RAM) mit 1 Byte Kapazität

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.

Nur Lesen Speichermodul (ROM) mit 16 Byte mittels Steckbrücken (Jumper)

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

Spannungsversorgung und Taktgeber 1 Hz

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.

Schrittzaehler für den Maschinenzyklus

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.

Dekoder um Zählerstand binär 4 bit in 1 aus 16 Steuersignalen umzuwandeln

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.

4 bit Befehlszähler für 16 mögliche Maschinenbefehle

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)

Register zum speichern und dekodieren der Adressleitungen 1 - 16

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 (Instruction) zum speichern des aktuellen Maschinenbefehls lt. Befehlszähler

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.

Zum dekodieren des Maschinenbefehls in 1 aus 16 Steuersignalen

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 hexadezimalen Anzeige des Befehls 0-F.

Befehlszyklus Maschinenbefehl für den bedingten Sprung auf eine Adresse

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, fertig verdrahteter Maschinenbefehl um die Dezimaleingabe auf den Bus zu legen

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

Dreistellige Ergebnisanzeige Dezimal (0-255) und Hexadezimal (00-FF) mittels 16 Segment LED

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 um eine 16 Segment LED Anzeige dezimal und hexadezimal anzusteuern (Werte 0 - F)

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.

Umschaltung der Anzeige zwischen BCD und HEX

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.

Umwandlung binär nach BCD mittels Double Dabble Harware Implementierung

Double Dabble

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

8 bit (0 - 255) Dezimaltastatur für Hunderter (rot), Zehner (grün) und Einer (gelb)

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 um Dezimaleingabe (1 aus 10 Einzelsignalen) in ein Binärwort 8 bit umzuwandeln. Anzeige der Binärwerte mittels LED Matrix

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.

« » ×