Das 8-bit-Arbeitsregister

  1. Einleitung

    Der Rechner soll einen Satz von verschiedenen Arbeitsregistern erhalten, in denen Zwischenergebniße und Operanden gespeichert werden können. Diese Register sollen, genau wie die ALU, eine Breite von 8 bit (1Byte) haben. Alle Register sollen direkt mit dem internen Datenbus des Rechners verbunden sein und über diesen Daten untereinander und mit der ALU austauschen. über Steuerleitungen soll es möglich sein, folgende Aktionen des Registers auszulösen:

    Der Registerblock soll mindestens 8 und maximal 16 Einzelregister enthalten.
  2. Die Schaltung des 8-bit-Registers

    Auf dem folgenden Bild ist die Schaltung des 8-bit-Registers dargestellt.
    Die Anschlußleitungen haben folgende Bedeutungen:
    PinnummerNameFunktionPegel
    1DB0Dateneingang/ausgang 00V,12V,H
    3DB1Dateneingang/ausgang 10V,12V,H
    5DB2Dateneingang/ausgang 20V,12V,H
    7DB3Dateneingang/ausgang 30V,12V,H
    9DB4Dateneingang/ausgang 40V,12V,H
    11DB5Dateneingang/ausgang 50V,12V,H
    13DB6Dateneingang/ausgang 60V,12V,H
    15DB7Dateneingang/ausgang 70V,12V,H
    17GNDStromversorgung 0V0V
    19GNDStromversorgung 0V0V
    21GNDStromversorgung 0V0V
    23GNDStromversorgung 0V0V
    25+12VStromversorgung 12V12V
    27+12VStromversorgung 12V12V
    29+12VStromversorgung 12V12V
    31+24VStromversorgung 24V24V
    33+24VStromversorgung 24V24V
    35CLEARSteuereingang CLEAR0V,12V
    37WRITESteuereingang WRITE0V,12V
    39READSteuereingang READ0V,12V
    2..40/SELECTSteuereingang SELECT0V,12V
  3. Funktionsweise der Schaltung

    Da der Datenaustausch innerhalb des Rechners über einen gemeinsamen Datenbus erfolgen soll, müßen alle Datenleitungen bidirektional ausgelegt sein. Das bedeutet, daß eine Datenleitung sowohl Eingang als auch Ausgang sein muß. Die Leitungen des Datenbußes werden den Registern über DB0..DB7 an den Anschlüßen 1;3;5;7;9;11;13 und 15 zugeführt. Die eigentliche Speicherung erfolgt mit den Relais REL4 bis REL11. Diese sind mit einer Selbsthalteschaltung versehen. Die genaue Funktion soll am Beispiel von Relais REL4 erläutert werden. Wenn am Anschluß 15 eine positive Spannung angelegt wird, so öffnet Diode D4 und das Relais zieht an. Dadurch schließt Kontakt REL4[8,4] und dem Anschluß 1 des Relais wird über die Leuchtdiode D2 und den Widerstand R1 eine positive Spannung zugeführt. Damit bleibt das Relais angezogen, auch wenn die Spannung am Anschluß 15 wieder auf 0V wechselt.
    Die Löschung des gespeicherten Wortes wird mit Relais REL2 erreicht. Wenn der Steuereingang CLEAR mit einer positiven Spannung von +12V belegt wird, zieht Relais REL2 an und trennt die Relais von der Haltespannung, sodaß sie abfallen.
    Da das Register nun aber nicht auf alle positiven Spannungen auf dem Bus reagieren soll, sondern nur ganz bestimmte Worte auf dem Datenbus abspeichern soll, habe ich Relais REL1 vorgesehen. Dieses Relais bewirkt eine Umschaltung der Haltespannung. Wenn der Anschluß WRITE auf +12V gelegt wird, so zieht Relais REL1 an und die Haltespannung der Relais REL4..REL11 liegt zwischen 0V und 12V. Dadurch werden die Relaisanschlüße 16 der Speicherrelais REL4..REL11 mit GND (0V) verbunden und die Relaiskontakte 8 über die Leuchtdioden und Widerstände mit einer Haltespannung von ca 9V. Somit öffnet nun, wie bereits oben beschrieben, bei einer positiven Spannung am Datenbus die Diode in der Datenleitung und das Relais zieht an. Fällt die Spannung an der Datenbusleitung, so hält das Relais über die geringere Haltespannung über Widerstand und Leuchtdiode. Das ganze hat einen Stromspareffekt, da die Registerrelais oftmals über längere Zeit angezogen bleiben müßen und so der Stromfluß über die Relaißpule abgesenkt wird und dadurch weniger Wärme entsteht. Außerdem zeigt die Leuchtdiode das angezogene Relais an, sodaß der Speicherinhalt des Registers abgelesen werden kann. Fällt Relais REL1 nun ab, weil die Steuerleitung WRITE auf 0V gelegt wird, so wechseln die Relaiskontakte am Relais REL1 und verbinden die Haltespannung der Speicherrelais REL4..REL11 nun mit +12V und +24V. Das hat zur Folge, daß die Relaisanschlüße 16 der Relais nun mit +12V und die Haltekontakte 9 mit 21V verbunden sind. Dadurch kann eine positive Spannung von +12V auf einer Datenbusleitung das entsprechende Speicherrelais REL4..REL11 nicht mehr anziehen laßen, denn die Diode in der Datenleitung wird nicht göffnet. Daurch ist der Registerinhalt dauerhaft gespeichert. Der Kondensator C1 dient dazu, die Relais REL4..REL11 während des kurzen Kontaktwechsels an Relais REL1 weiter mit Spannung zu versorgen, sodaß der Registerinhalt erhalten bleibt.
    Das Relais REL3 hat die Aufgabe, die Ausgangsleitungen des Registers mit Spannung zu versorgen. Wird der Steuereingang READ positiv, dann zieht das Relais an und verbindet die Relaiskontakte 9 und 11 der Relais REL4..REL11 mit 0V und +12V. Fällt das Relais REL3 ab, so ist der Ausgang stromlos und die Dioden entkoppeln die einzelnen Datenleitungen voneinander.
    Die Anschlüße 16 der Relais REL1,2 und 3 liegen nicht auf 0V, sonder sind als SELECT-Leitung zusammengefaßt. Nur wenn dieser Anschluß auf 0V gelegt wird, reagieren die Sreuerrelais REL1,2 und 3, ansonsten sind sie alle abgefallen und bewirken, daß das Register den Registerinhalt dauerhaft speichert und die Ausgänge des Register im hochohmigen Zustand verbleiben. Das Register behält also seinen Speicherinhalt, ist aber vom Datenbus komplett abgekoppelt. Damit kann diese Leitung genutzt werden, um eines der Arbeitsregister aus der Registerbank auszuwählen, daß auf Steuersignale reagieren soll. Die Select-Leitung kann nun über eine Lötbrücke mit einem der Kontakte 2..40 verbunden werden, sodaß insgesamt 20 Register über den Bus adreßiert werden können.

  4. Wahrheitstabelle

    In der Wahrheitstabelle sind nun die einzelnen Pegel zur Umsetzung der Registersteuerung aufgelistet. Durch die Programmsteuerung müßen also, je nach den Vorgaben der Befehlsdecodierung, diese Pegel an den Eingangsleitungen des Registers erzeugt werden.
    0=logisch 0-Pegel, entspricht 0V
    1=logisch 1-Pegel, entspricht 12V
    H=hochohmiger Zustand
    X=beliebiger Zustand
    SELECTREADWRITECLEARDB0..DB7Erläuterung
    1,H X X X HDas Register ist vom Datenbus abgekoppelt, der Registerinhalt bleibt erhalten, die Ausgänge sind hochohmig
    0 0 0 1DB=0 Der Registerinhalt wird auf 0 zurückgesetzt (gelöscht), das Register selbst ist vom Datenbus abgekoppelt
    0 1 0 0DB=OUT Der Registerinhalt wird am Datenbus ausgegeben, die Datenleitungen sind als Ausgänge geschaltet
    0 0 1 0DB=IN Der Inhalt des Datenbußes wird mit dem Registerinhalt ODER-Verknüpft, die Datenleitungen sind als Eingänge geschaltet
  5. Schluß

    Durch den Einsatz der Halbleiterdioden ist es gelungen, die Anzahl der Relais pro Register zu minimieren, sodaß die Kosten und die Leistungsaufnahme der Schaltung gesenkt werden konnten, bei gleichzeitiger Erhöhung der Zuverlässsigkeit. Um ein neues Datenwort in das Register zu übernehmen ist aber leider eine vorherige Löschung des Registerinhaltes notwendig, was zusätzlich Zeit kostet. Durch geschicktes Design der Ablaufsteuerung sollte es jedoch gelingen, diesen Makel wieder auszubügeln.




Sollte jemand seine Rechte durch eine Veröffentlichung auf dieser oder einer anderen meiner Seiten verletzt sehen, bitte ich um sofortige Kontaktaufnahme. Ich werde die entsprechenden Inhalte umgehend entfernen. Somit sind sowohl ein anwaltlicher Rat als auch eine kostenpflichtige Abmahnung nicht erforderlich! Weiterhin weise ich darauf hin, dass der Inhalt verlinkter Seiten nicht in meiner redaktionellen Verantwortung liegt.
Vielen Dank

www.schlaefendorf.de 2012

www.linux-web.de