DE1424746A1 - Datenverarbeitungsanlage - Google Patents

Datenverarbeitungsanlage

Info

Publication number
DE1424746A1
DE1424746A1 DE19621424746 DE1424746A DE1424746A1 DE 1424746 A1 DE1424746 A1 DE 1424746A1 DE 19621424746 DE19621424746 DE 19621424746 DE 1424746 A DE1424746 A DE 1424746A DE 1424746 A1 DE1424746 A1 DE 1424746A1
Authority
DE
Germany
Prior art keywords
word
parity
digits
locks
bus
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE19621424746
Other languages
English (en)
Inventor
Eli Gloates
Rakoczi Laszlo Leslie
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
RCA Corp
Original Assignee
RCA Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by RCA Corp filed Critical RCA Corp
Publication of DE1424746A1 publication Critical patent/DE1424746A1/de
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Detection And Correction Of Errors (AREA)
  • Executing Machine-Instructions (AREA)

Description

3684-62 Dr. ν. Β. /Fl. ' 1 4 2 4 7
RCA 50, 213 (L. L. Racoczi) U. S.-Serial No: 113,678 Filing Date; May 31, 1961
Radio Corporation of Anaerica New York, N. Y., V. St. A.
DATENVERARBEITUNGSANLAGE
Die vorliegende Erfindung betrifft Datenverarbeitungsanlagen und inabesondere neue und bessere Paritätserzeugungs-, Maskierungs- und Mischverfahren für Digitalrechen'· anlagen.
Digitalrechenanlagen enthalten eine Anzahl von Untereinheiten, die die ihnen zugeführten Wörter auf die eine oder andere Weise abwandeln. Ein Adder addiert z.B. ein Addendenwort zu einem Augendenwort und liefert ein Summen" wort. Das von einer Untereinheit erzeugte geänderte oder abgewandelte Wort muß nicht notwendigerweise dieselbe Parität haben, wie das ursprüngliche Wort. Man muß deshalb in jedem derartigen System einen Paritätsgenerator vorsehen, um die richtige Parität für das modifizierte Wort zu erzeugen.
-2« 809808/021-1
Paritätsgeneratoren, insbesondere solche für große Digitalrechenanlagen enthalten eine beträchtliche Anzahl von Stufen und sind verhältnismäßig kostspielig. Bei einem Computer, der noch genauer beschrieben werden wird, enthält beispielsweise jeder Paritätsgenerator 148 Transistoren. Jede die Ziffer eines verarbeitenden Wortes ändernde Untereinheit in einem Computer, die einen Paritätsgenerator erfordert, erhöht also die Kosten der ganzen Anlage» Die Paritäts»» erzeugung in den einzelnen Untereinheiten kostet außerdem Zeit.
Durch die Erfindung soll daher die Anzahl der in einer
Rechenanlage benötigten Paritätsgeneratoren und damit die Kosten der Anlage verringert werden.
Andere Probleme die mit der Paritätserzeugung zusammen« hängen sind Maskieren und Mischen. Maskieren ist ein Verfahren, das angewandt wird, wenn ein Wort in einer Daten·· > Verarbeitungsanlage in zwei oder mehr Teilworte, die jeweils weniger Stellen haben, als das ganze Wort, getrennt werden soll. Ein Adressenwort kann beispielsweise bestimmte Bits enthalten, die die Adresse eines Datenwortes in dem Computerspeicher angeben und andere Bits, die als Indexbits bezeichnet werden und dazu dienen, automatisch die Adresse in dem Befehlswort zu ändern. Die Adressenbits müssen ge-
-3-
809808/0211
gebenenfalls in einen Adressenspeicher und die Indexbits in einen Indexspeicher übertragen werden. In diesem Falle können die Indexbits dann z.B. durch bestimmte Schleusen gesperrt (maskiert) werden, während die Adressenbits dann in den Adressenspeicher eingeschrieben werden. In entsprechender Weise· werden die Adressenbits maskiert, wenn die Index« bits dem Indexspeicher zugeführt werden. Eines oder beide Teilwörter können außerdem die Erzeugung.eines Paritätsbits erfordern, bevor das Teilwort weiter verwendet wird.
Das Maskieren erfordert ebenso, wie oben bezüglich der Paritätserzeugung erwähnt wurde, zusätzliche Einrichtungen und Rechenzeit. Wenn ein Wort maskiert und ein Teilwort mit richtiger Parität erzeugt werden soll, wird normalerweise das ganze Wort mit Ausnahme der Paritätsziffer vorübergehend in einem Speicher in der Recheneinheit des Computers gespeichert. In einem zweiten Speicher sind in diejenigen Stufen Nullen eingeschrieben, die den zu maskierenden Bits des ganzen Wortes entsprechen. Die Ausgänge der Speicher werden dann einem logischen FunktionsnetzwerK zugeführt, das eine Und-Funktion leistet. Das von diesem Funktionsnetzwerk erzeugte Teilwort wird dann einer Paritätsgeneratorstufe in der Recheneinheit zugeführt. Das erzeugte Paritätsbits und das übrige Teilwort werden dannjdurch den Akkumulator der Recheneinheit dem Adressenspeicher des Computers zugeführt.
-4-
809808/0211
Ziel der Erfindung ist es daher außerdem, eine neue und verbesserte Maskierungstechnik anzugeben, die wesentlich weniger Zeit und apparativen Aufwand erfordert, als das beschriebene Verfahren.
Der Begriff "Mischen" soll in diesem Zusammenhang ein in Computern angewandtes Verfahren bedeuten, bei welchem zwei oder mehr Teilworte zu einem ganzen Wort vereinigt werden, bevor das letztere in einem Register oder im Hauptspeicher der Anlage gespeichert wird. Das Mischen erfolgt normalerweise im Rechenwerk des Computers. Wie beim Maskieren muß vor dem Speichern des ganzen Wortes ein Paritätsbit erzeugt werden.
Durch die Erfindung soll daher auch eine neue Technik zum Mischen zweier Teilwörter angegeben werden, die weniger Zeit benötigt, als die bekannten Verfahren.
Gemäß der vorliegenden Erfindung wird ein Paritätsgenerator verwendet, der mehr als einer der oben erwähnten Untereinheiten gemeinsam ist. Vorzugsweise werden nur einer oder zwei zentrale Paritätsgeneratoren für die ganze Rechen« anlage verwendet. Der Paritätsgenerator ist mit einer oder mehreren Sammelleitungen verbunden, durch die Daten*· und Befehlswörter zwischen Registern des Computers übertragen werden, Die Parität wird nicht wie bisher bei den die züge«·
809808/Ü211
führten Wörter ändernden Untereinheiten erzeugt, sondern während der Zeitspanne, in der ein geändertes Wort von einer Stelle der Rechenanlage zu einer anderen übertragen wird. Anders als bisher werden außerdem Maskieren und Mischen nicht im Rechenwerk durchgeführt, sondern in Kreisen, die dem zentralen Paritätsgenerator zugeordnet sind. Etats Maskieren und Mischen erfolgt ebenfalls während der Zeitdauer, in der die Daten von einer Stelle im Computer zu einer anderen übertragen werden.
Ein wesentlicher Vorteil, der durch die Erfindung er« reicht wird, besteht in einer beträchtlichen Verringerung des apparativen Aufwandes. Im bevorzugten Falle wird für das ganze Computersystem nur ein einziger zentraler Paritätsgenerator verwendet während bisher in einem Computer vergleichbarer Größe für jede der verschiedenen Einheiten, in denen der Wortinhalt modifiziert oder geändert wurde, ein eigener Paritätsgenerator erforderlich war. Bei dem hier zu Diskussion stehendem Computertyp bedeutet dies 8 bis Paritätsgeneratoren, je nach der Anzahl der Rechenwerke, mit denen der Computer ausgerüstet ist im Gegensatz zujder einen einzigen bei der Erfindung nötigen Einheit.
Ein weiterer Vorteil, der durch die Erfindung erzielt wird, ist eine beträchtliche Einsparung an Arbeitszeit dadurch, daß die Paritätserzeugung, das Maskieren und das
-6·
80 9 808/021 1
Mischen während der Datenübertragung und nicht im Bechert·· werk durchgeführt werden. Die Zeitersparnis, die beim Maskieren und Mischen "im Durchlaufen" erzielt wird, soll später noch diskutiert werden. Eine-kurze Diskussion der Zeitersparnis, die durch eine Paritätserzeugung "beim Durchlaufen" erzielt wird, folgt.
Dadurch, daß man die Paritätserzeugung zu einem Teil der Datenübertragung macht, kann man die für die Erzeugung der Paritätsziffer erforderliche Zeit mit der Ruek* Stellzeit des empfangenden Registers zusammenfallen lassen. Die Paritätserzeugung erfordert also keinen eigenen Zeitauf«· wand. Bisher wurde die Paritätsziffer vor der Übertragung der Daten erzeugt, so daß Zeit erforderlich war, während' derer keine anderen Rechenvorgänge ausgefttiirt werden konnten.
Wie weiter unten noch genauer erläutert werden wird, E
besteht ein weiterer Vorteil dieser Art der Paritätserzeugung % darin, daß sie asynchron erfolgen kann. Hierdurch ist eine viel schnellere Paritätserzeugung möglich, da das für die Paritätserzeugung erforderliche Zeitintervall nicht für den ungünstigsten Fall bemessen werden muß, wie bei taktgebergesteuerten Paritätsgeneratoren. ^
Die Erfindung soll nun anhand der Zeichnung näher er» läutert werden; es zeigen;
809808/02 11
Figur 1 ein Blockschaltbild eines die Erfindung enthaltenden Teiles einer größeren Digitalrechenanlage;
Figur 2 ein Blockschaltbild des Speicherregisters 44 mit den an dieses angeschlossenen Wort- und Komplement-Sammelleitungen;
Figur 3 eine mehr ins Einzelne gehende Darstellung der Schleusen 58 am Eingang des Paritätsgenerators;
Figur 4, 5 und 6 Blockschaltbilder von Teilen des Paritätsgenerators 60;
Figur 7 ein Blockschaltbild des vollständigen Paritätsgenerators 60 und
Figur 8 ein Blockschaltbild eines Teilregisters mit den Eingangs-und Ausgangsschleusen für das Register. Figur stellt insbesondere ein Schaltbild der Stufen 66, 54 und Θ0 in Figur 1 dar.
Eine Anzahl der in den Figuren enthaltenen Blöcke sind an sich bekannte Schaltungsanordnungen. Sie werden durch elektrische Signale gesteuert, die bei einem Tegel die Binärziffer I und bei einem anderen Tegel die Binärziffer O bedeu« ten. Bei der folgenden Diskussion soll angenommen werden, daß ein hoher Signalpegel die Binärziffer I und ein niedriger Signalpegel die Binärziffer O darstellt. Der Einfachheit halber wird im folgenden auch häufig anstatt von Signalen zu sprechen
809803/021 1
-8-
einfach gesagt werden, daß einem Block oder einer logischen Stufe eine 1 oder eine 0 zugeführt wiid«
In den Figuren werden für Signale, die Binär ziffern entsprechen, immer große Buchstaben verwendet. So kann bei·» spielsweise D1 entweder die Binärziffer I oder die Binärziffer O darstellen. D1 bedeutet das Komplement von D-. In manchen Fällen werden Großbuchstaben in Boole* sehen Gleichungen verwendet, um die Arbeitsweise von Schaltungsanordnungen bequem kurz beschreiben zu können.
In manchen Fällen werden in der Beschreibung Kombi·· nationen von Großbuchstaben zur Kennzeichnung von Leitungen und Signalen verwendet. So bedeutet beispielsweise R I ein Steuersignal, das bestimmte Und-Gatter ansprechbereit macht, wenn das Steuersignal die Binärziffer I darstellt. Andere Buchstabenkombinationen werden erläutert, wenn sie vorkommen.
In allen Figuren kommt eine logische Schaltung mit mehreren Eingängen vor, die als "KeinwGatter" bezeichnet wird. Ein Kein»Gatter liefert das Ausgangssignal I nur, wenn alle Eingänge des Gatters O sind und das Ausgangssignal O wenn einer oder mehrere Eingänge I sind. Dieses Gatter kann aus einer Und»Stufe bestehen, deren Eingängen jeweils ein Inverter in Reihe geschaltet ist. Ein Kein-Gatter kann auch aus einem Oder-Gatter bestehen, indem ein Inverter nach« geschaltet ist. Unabhängig vom Aufbau ist die Boole* sehe
809808/02.1 1 -9-
Gleichung für den Fall zweier Eingänge A und B und eines Ausganges C AB » C oder A + B ■ C und es gut folgende Funktionstabelle:
0 ' 0 I
0 I 0
I 0 0
I I 0
Ein Wort ist eine geordnete Buchstabengruppe und stellt die normale Einheit dar, in der Information in einer Datenverarbeitungsanlage gespeichert, übertragen oder anderweitig verarbeitet wird. In dem Computer, der die vorliegende Erfindung enthält, soll ein ganzes Wort 56 Bits und ein halbes Wort 28 Bits lang sein. Zur Vereinfachung der Diskussion sollen nur immer 28 Bits in Betracht gezogen werden und diese 28 Bits werden daher einfach als Wort bezeichnet. Das aus 28 Bit bestehende Wort kann in 9 Zeichen zu je 3 Bits» die manchmal als Oktalzeichen bezeichnet werden ,und ein Paritätsbit unterteilt werden.
Bei der Darstellung der Erfindung sind die zur Speicherung eines Worts dienenden Flip-Flops eines Registers^ mit 2 -Flip-Flop 2 _. Flip-Flop^l-Flip-Flop bezeichnet. Der Exponent bedeutet dabei Jeweils den Rang oder die Stelle des gespeicherten
809808/02-11 „ίο-
Binärzeichens. Die Sammelleitungen, die ein 28 Bits enthaltendes Wort führen, bestehen jeweils aus 28 Drähten. Jeder Draht ist mit einer die Sammelleitung angebenden Zahl be« zeichnet, z.B. 310, auf die ein Bindestrich und die Drahtnummer,yl z.B. 1 folgen. Der Draht 1 führt die erste Ziffer, d.h. das 2 -Bi^ der Draht 2 führt die zweite Ziffer, d.h. das 2 -Bit usw. und der Draht 28 führt die Paritätsziffer, d.h. das 2 7-Bit.
Ein Befehl ist eine Wort gruppe, die den Computer eine gewünschte Operation ausführen läßt. Das erste Wort des Befehls im Computer, das diskutiert werden soll, ist das Operationswort. Es enthält 24 Bits, die allgemein gesagt die Art der Operation und die Weise ihrer Durchführung angeben. Es enthält außerdem drei Bits, die als Markierungebits (tag bits)* bezeichnet werden und die beispielsweise zum Erkennen besonderer Bedingungen oder für andere hier nicht interessierende Zwecke dienen können. Die letzte Ziffer ist ein Paritätsbit.
Auf das eben erklärte Operationswort können ein oder mehrere Wörter, nämlich die Adressenwörter folgen. Im allgemeinen geben 19 Bits des Adressenwortes den Speicherplatz eines Datenwortes an, mit dem eine Operation, beispielsweise eine Addition, ausgeführt werden soll. 8 der anderen BitsL des Wortes sind Indexbits. Diese Bits hängen allgemein gesagt mit Änderungen der Adresse zusammen, die manchmal als "Indexsteuerung" bezeichnet wird. Das 28. also letzte Bit ist ein Paritätsbit.
-11· 809808/0211
- χι -
Als Paritätskontrolle bezeichnet man ein Verfahren zur Feststellung von Fehlern in einem Wort oder Zeichen. Man bedient eich dabei eines selbstprüfenden Codes, in dem die Gesamtzahl der Einsen, oder Nullen immer gerade oder ungerade ist, je nach der getroffenen Vereinbarung. Als Paritätsziffer in einem Wort wird anfänglich eine 1 oder eine 0 gewählt, um zu erreichen» daß die Gesamtzahl aller Einsen des Wortes beispielsweise ungerade wird. Wenn das Wort später geprüft wird und es stellt sich heraus, daß es eine ungerade Anzahl von Einsern enthält, ist die Parität richtig und es wird angenommen, daß keine Fehler vorgekommen sind. Die Schaltungsanordnung, die die Paritätsziffer erzeugt, wird als Paritätsgenerator bezeichnet.
Figur 1 zeigt in Blockform einen Teil einer großen Digitalreqhenanlage, der die Erfindung enthält. Sammelleitungen sind in der Zeichnung nur als einzelne Linien dargestellt, sie könne jedoch in der Praxis aus einer großen Anzahl von einzelnen Leitern oder Adern bestehen. In der betrachteten Rechenanlage werden außerdem die Daten zwischen den Registern durch zwei Sammelleitungen übertragen von denen die eine ein Wort und die andere das Komplement dieses Wortes führt. Die das Komplement führende Sammelleitung ist in Figur 1 der Einfachheit halber nicht besonders dargestellt. SLe ist jedoch in späteren mehr ins Einzelne gehenden Figuren vorhanden.
~12~ "
8 0 9 8 0 8/0211
« 12 «·
Die in den Zeichnungen vorkommenden einzelnen Blöcke sind mit Ausnahme des zentralen Paritätsgenerators und der diesem zugeordneten Kreise an sich bekannt. Zur Vereinfachung der Zeichnung sind nicht sämtliche Eingänge und Ausgänge aller Blöcke dargestellt. ·
Der Speicher 30 hölie* Arbeitsgeschwindigkeit kann ein Magnetkernspeicher oder irgend ein anderer bekannter Typ sein. Bei der vorliegenden Reehenanlage soll der dargestellte Teil des Speichers eine Kapazität von etwas über 8000 Wörtern mit je 28 Bits besitzen. Es kann für die Erläuterung der Erfindung angenommen werden, daß Befehlswörter und Datenwörter bereits in den Speicher eingeschrieben sind und daß der Speicherplatz, der als erstes adressiert werden soll, durch ein Register im Programmfolge generator angegeben wird.
Um das Computerprogramm ablaufen zu lassen, liefert der Programmfolgegenerator 32 an die Adressensammelleitung ein Wort, das den gewünschten Speicherplatz angibt. Dieses Wort gelangt durch Schleusen 36 in das Speichenadressenregister 38. Der dem Speicheradressenregister zugeordnete Paritätsprüfer 40 kontrolliert die Parität des Wortes und gibt dieses an den Adressenentschlüssler 42 weiter, wenn die Parität stimmt. Der Adressenentschlüssler wählt einen Befehl aus der durch den Programmfolgegenerator ausgewählten Speicheradresse aus.
809808/0211
Das erste Wort das vom Speicher als Folge der durch den Adressenentschlüssler zugeführten Signale kommt, ist das Operationswort. Es läuft zum Speicherregister 44 und durch Schleusen 46 und eine Datensammelleitung 48 zum Be·· fehlsregLster 50. In den meisten Fällen bleibt dieses Wort im Register gespeichert, bis die Operation, auf die es sich bezieht, ausgeführt ist. Während der Ausführung dieses Befehls wir<I das gespeicherte Wort durch den Befehlsentschlüssler 52 entschlüsselt, wie noch genauer ausgeführt werden soll. Der entschlüsselte Befehl kann einem nicht dargestellten Maschinenbefehlsgenerator zugeführt werden, dtv Maschinenbefehle für verschiedene andere Einheiten der Rechenanlage liefert, die diese Befehle ausführen sollen. Der Maschinenbefehlsgenerator läßt sich in etwa mit dem Operationssignalgenerator vergleichen, der von Ledley in "Digital Computer and Control Engineering" Kap. 17 erwähnt wird. Typische Maschinenbefehle können fordern, daß die Maschine (Rechenanlage, Computer) zwei oder-,mehrere Wörter addiert, subtrahiert, multipliziert, verschiebt oder irgendwelche anderen logischen Operationen durchführt.
Nachdem das Befehlswort im Befehlsregister gespeichert ist, liefert der Programmfolgegenerator 32 ein anderes Ausgangswort (oder Adressenwort) - normalerweise das nächste einer Folge. Dieses Wort läuft wie das vorhergehende durch die
-14-8 0 9808/02 11
14247*6
Schleusen 36 zum Speicheradressenregister 38. Hier wird die Parität des Wortes geprüft und das Wort wird dem Adressenentschlüssler weitergegeben, wenn die Parität richtig ist. Dieser wählt den richtigen Platz im Speicher 30 aus und der Speicher liefert an das Speicheradressenregister ein Adressenwort· Dieses Wort läuft durch Schleusen 46 zur Datensammelleitung 48.
Das Adressenwort besteht aus einem Adressenteilwort und einem Indexteilwort. Die Schleusen 46 können verhindern, daß das Paritätsbit zur Datenleitung gelangt, wenn gewünscht wird, daß das aus 19 Bits bestehende Adressenteilwort und das richtige Paritätsbit für dieses Teilwort einem der Adressen· register zugeführt werden. Einzelheiten dieser Schaltung folgen später. Es soll willkürlich angenommen werden, daß dieses erste Teilwort in das X-Adressenregister 54 eingeschrieben wird. Das Indexteilwort soll einem der Indexregister, dbeispiels« weise dem X-Iniexregister 54 zugeführt werden. Dieser Vorgang erfordert eine Maskierung.
Gemäß dervo rliegenden Erfindung wird das Adressenwort auf der Sammelleitung 48 zum Teil durch Schleusen 58 einem Paritätsgenerator 60 zugeführt, der der ganzen Bechenanlage gemeinsam ist. Ein Maskengenerator 62 liefert an die 2 -2 Stufen der Schleusen des Blockes 58 Sperrspannungen. Diese Schleusen sind mit den Drähten verbunden, die die Indexbits
809808/0211 "15"
führen. JSe können daher also nur die AdresseribitSj d.h. die
0 18
2 - 2 rBita durch die Schleusen zum zentralen Paritätsgenerator 60 gelangen. r . ,
Der zentrale Paritätsgenerator 60 stellt die richtige
0 18
Parität for die 2-2 -Bits her, d.h. für das Adressenteilwort. Das erzeugte Paritätsbit und die 19 Adressenbits werden von der Sammelleitung 48 über eine zwanzigadrige Leitung 64 durch Schleusen 66 dem X-Adressenregister" 54 zugeführt. Die Indexbits gelangen über eine achtadrige Leitung 66 und durch Schleusen 68 zum X-Indexregister 56. Für diese Bits braucht kein Paritätsbit erzeugt zu werden, da sie nicht zur Adressierung des Speichers benötigt werden. Vom X-Indexregister 56 werden die 8 Bits der Indexsteuerung 70 zugeführt. Die In· dexsteuerung liefert Maschinenbefehle an das Rechenwerk des ComputerS4 das nur teilweise mit Stufen 72, 74 dargestellt wird. Die Funktion der dem Rechenwerk zugeführten Maschinenbefehle besteht darin, die in den Adressenregistern gespeicherten Adressen zu ändern, da dies jedoch beider vorliegenden Erfindung keine Rolle spielt, soll hierauf nicht näher eingegangen werden.
Die bisher ausgeführten Verfahrensschritte bestanden also kurz zusammengefaßt darin, daß zuerst durch den Programm» folgegenerator ein im Speicher 30 gespeichertes Operations·· wort ausgewählt wurde. Das ausgewählte Operations wort wftrde im Befehlsregister 50 gespeichert. Als nächstes bestimmte ...
-16-
809808/Q2H
der Programmfolgegenerator 32 die Auswahl eines im Speicher gespeicherten Adressenwortes. Dieses Adressenwort wurde mit Ausnahme des Paritätsbits zur Datensammelleitung 48 geleitet, um teilweise in einen ersten Teil der Rechenanlage, nämlich das X-Adressenregister 54 und teilweise in einen .......
anderen Teil der Rechenanlage, nämlich das X-Indexregister 56, übertragen zu werden. Während der Übertragung wurden die Indexbits des Wortes maskiert und für den Rest des Wortes wurde das richtige Paritätsbit erzeugt und zwar für die Adressen« bits des Wortes. Der Adressenteil des Wortes und das richtige Paritätsbit, insgesamt 20 Bits, wurden im X-Adressenregister gespeichert, während der 8 Bits umfassende Indexteil des Wortes in das X-Indexregister 56 eingeschrieben wurde.
Nach den eben aufgeführten Schritten kann es gegebenen« falls erforderlich sein, ein anderes Adressenwort aus dem Speicher zu entnehmen und es im Y-Adressenregister zu speichern. Der Vorgang verläuft ähnlich, wie gerade beschrieben. Der Programmfolgegenerator 32 erzeugt das nächste Wort der Folge, Anschließend wird das Adressenwort im nächsten Speicherplatz ausgewählt, in der beschriebenen Weise maskiert und für die 19 Bits des Adressenteiles des Wortes wird die Parität hergestellt. Diese 19 Bits und das Paritätsbit werden über die Leitung 78 und die Schleusen 80 in das Y-Adressenregister geleitet. Die Indexbits für dieses Halbwort werden über eine
-17-
809808/02 11-
Leitung 82 und durch Schleusen 84 dem Y-Indexregister 86 züge· führt.
Der Vorgang, ein Adressenwort aus dem Speicher zu entnehmen und es vor der Ausführung eines Befehls zu speichern soll im folgenden als "Maschinebeschickungsroutine" bezeichnet werden. Nachdem dieses Routineprogramm durchgeführt ist, folgt als nächster Schritt der Rechnerfunktion die Ausführung des Befehls. Das X-Adressenregister 54 bezeichnet eine Speicher* adresse, an der ein Datenwort gespeichert ist, mit dem eine Operation ausgeführt werden soll. Das Y-Adressenregister 76 macht dasselbe für ein zweites Datenwort im Speicher.
Es erleichtert vielleicht das Verständnis, wenn die Ausführung eines Befehls anhand eines speziellen Beispieles erläutert wird. Bei diesem Beispiel sollen die Wörter in den Speicherplätzen X1 bis X10 zu den entsprechenden Wörtern in den Speicherplätzen Y bis Y10 addiert und die dabei erhaltenen Summen in bestimmte Stellen des Speichers eingeschriebeiiwerden. Das X-Adressenregister und das Y-Adressenregister enthalten
A ■:·;·■■■ anfänglich die Adressen der Wörter in den Speicherplätzen X1, Y Diese werden über Schleusen 90, 92 sowie die Schleusen 36, das Register 38 und den Entschlüssler 42 dem Speicher hoher Arbeitsgeschwindigkeit zugeführt. Die Daten in den gewünschten Speicher« platzen werden über das Speicherregister 44, die Schleusen und die Sammelleitung 48 dem Rechenwerk zugeführt, das durch
809808/0211
-18-
den gestrichelten Block 94 angedeutet ist. Die Summe kann in einem nicht dargestellten Akkumulator des Rechenwerkes gespeichert und anschließend unter Steuerung durch geeignete Anordnungen über die Sammelleitung 48, durch Schleusen 96 und über das Speicherregister 44 in einen bestimmten Platz im Schnellspeicher 30 eingeschrieben werden.
Nach diesem Additionsschritt steuern bestimmte Ziffern des Operationswortes im Befehlsregister 50 den Befehlsentschlüssler 52, so daß dieser Signale an den oben rechts in Figur 1 dargestellten Adressenänderer 98 liefert. Der Adressen"· änderer 98 liefert seinerseits Signale an die X- und Y-Adressen-^ register 54, 76 und schaltet diese um eine Einheit weiter. Die nun in diesem Registern gespeicherten neuen Adressen be· stimmen dann die Auswahl der Wörter in den X_- und Y--Speicherplätzen für die Addition. Der beschriebene Prozeß setzt sich fort, bis die angegebenen 10 X-Wörter zu den an- „ gegebenen 10 Y-Wörter addiert und die erhaltenen Summen im Speicher 30 gespeichert sind.
Ein Befehl anderer Art kann fordern, daß der Inhalt eines Registers, wie des X-Adressenregisters 54, mit dem Inhalt eines anderen Registers, z.B. einem Q-Register (linke unten in Figur 1) kombiniert wird. Hierfür muß dann der Adressenteil des Teilwortes (z. B. 2 -2 ) im X-Adressenregister 54
-19-
durch Schleusen .98 den ersten 19 Drähten der Datensammelleitung zugeführt werden. Das Paritätsbit kann beispielsweise durch eine,der Schleusen 98 blockiert, werden. Gleichzeitig
19 26 wird das ina, i^-Ilegister gespeicherte Teil wort (2 -2 ) durch Schleusen 99 den nächsten, 8 Drähten der Datensammelleitung 48 zugeführt. Die beiden Teilworte werden durch Schleusen dem zentralen Paritätsgenerator 60 zugeführt. Der Paritätsgenerator erzeugt das richtige Paritätsbit 2* für das 27-stellige Wort liefert es an die 28. Ader der Datensammelleitung 48. Das ganze Wort, d.h. 27 Bits und das ParitätsbitJt: gelangen durch Schleusen 96 zum Speicherregister 44 und von diesem zu dem» jenigen Platz im Schnellspeicher 30, zu dem der Adressenentschlüssler 42 die Information leitet. Der Adressenentschlüssler wird durch den Programmfolgegenerator 32 auf den richtigen Speicherplatz eingestellt.
Die eben beschriebenen Paritätserzeugunge-, Mischungsund Maskierungsverfahren ergeben eine beträchtliche Einsparung an Rechnerzeit. Dies wird besonders deutlich, wenn man eine bekannte Maschinenbeschickungsroutine betrachtet, wie sie unten beschrieben werden soll. Die in der folgenden Diskussion angenommenen Zeiten sind die tatsächlichen Verzögerungszeiten, die durch die Untereinheiten des speziellen in Betracht gezogenen Computers eingeführt werden.
-20-
809808/0211
Eine typische Maschinenbeschickungsroutine, wie sie bisher üblich war, kann die folgenden Schritte enthalten· Die für jeden Schritt erforderliche Zeit ist im Anschluß an die Beschreibung des Verfahrensschrittes aufgeführt.
1. Abfragen des Schnellspeicherplatzes, der durch den Programmfolgegenerator 32 adressiert wurde. Überführung der herausgelesenen Adresse in das Speicherregister 44. Weiterschalten des Programmfolgegenerators um eine Stelle. Über» tragung der im Speicherregister 44 gespeicherten 2 — bis 2 — Bits in ein nicht dargestelltes Eingangsregister des Rechenwerkes 94
19>* 26^
und der Indexbits, nämlich der 2 — bis 2 — Bits in das X-Index
27
register S6. Das Paritätsbit 2 wird zu diesem Zeitpunkt nicht übertragen, gewttnschtenfalls kann es natürlich übertragen werden. Zeitdauer » I9 5
| 26/fc
2. Maskierung der 2 — bis 2 -Bits, die in dem Register des Rechenwerkes 94 gespeichert sind. Zeitdauer ■ 1 ^is.
3. Überführung der nicht maskierten Bits vom Register des Rechenwerkes 94 durch ein nicht dargestelltes logisches Netzwerk im Rechenwerk in den nicht dargestellten Akkumulator des Rechenwerkes 94. Gleichzeitig Erzeugung der Paritätsziffer für diese unmaskierten Bits und Übertragung dieser Paritätsziffer in den Akkumulator. Zeitdauer » 1, 5 ^us.
-21-809808/0211
4. Überführung der Daten aus dem Akkumulator in das X-Adressenregister 54. Zeitdauer * 1,5 us.
Wiederholung der ersten vier Schritte für die im Y-Adressen« register 76 zu speichernde Adresse. Zeitdauer » 5, 5 ^is.
Die Gesamtdauer für die Durchführung des beschriebenen Maschinenbeschickungspro grammes beträgt 11 p.e.
Gemäß der vorliegenden Erfindung ergeben sich für das Maschinenbeschickungsprogramm folgende Schritte und Zeiten:
1. Herauslesen des durch den Programmfolgegenerator 32 adressierten Schnellspeicherplatzes in den Speicher 42. Weiterschalten des Programmfolgegenerators 32 um eine Stelle. Über· tragung der im Speicherregister gespeicherten 2 -bis 2 —Bits auf die Datensammelleitung 48. Auftasten der den 2 -bis 2 -Adern der Datensammelleitung 48 entsprechenden Schleusen 58 und Erzeugung der für die Ziffern auf diesen Adern passenden Paritätsziffer auf der 2 -»Ader der Datenleitung. Auftasten der Schleusen 66 und 68, so daß die Daten auf der Datenlei· tung in da« X-Adressenregister 54 bzw. das X-Indexregister gelangen, Zeitdauer » 1,8 us.
2· Wiederholung der oben beschriebenen Schritte füifdieim Y-Adre*«*nr«gi«ter und im Y-Indexregister zu speichernden Daten. Zeitdauer ■ 1, Sjul
-22-809808/0211
Die Geeamtdauer für die MascMnenbeschickungsroutine gemäß der vorliegenden Erfindung beträgt also nur 3,6 as im Gegensatz zu 11.5 Jist die bei dem bekannten "Verfahren er·· forderlich sind« Der Befehl, der das Speichern dee Inhalte des Adressenregisters fordert, kann in ähnlicher Weise analysiert werden. Man findet dabei, daö die Zeitdauer für die Befehlsausführung bei der Erfindung 3, 6 ^s beträgt, während bei den bekannten Verfahren eine vergleichbare Befehleaus* führung 9us dauert.
Das Speicherregister 44 ist in Figur 2 dargestellt, es enthält 28 Flip-Flops, jeweils einen für jedes Bit des Wortes« Der Einfachheit halber sind nur vier Flip*Flopa im Register dargestellt. Diese sind mit 2 ^Flip-«ΕΊσρ, 2 -Flip-Flop* % Z Flip-Flop und Paritätsbit |227) «Flip-Flop bezeichnet. Jeder Flip-Flop hat einen I-Ausgang und einen O*Ausg&ng, Im Gegensatz zu gewissen Konventionen soll hler vereinbart werden» daß ein Flip-Flop im eingestellten Zustand am O-Ausgang die Binärziffer I und im rückgestellten Zustand am !«Aueg&ßg die Binärziffer O liefert.
feaib der Flip-Flop befinde» BiQh vier Kein«G&tter WQ0 301, 302, 303, die Jeweils eh die £«memme <&img-. TUp^Wlopu und vier Kein-Gatttr 305, 3Ö6, 30?» 3Oi die jöwelia an eine O-Klemme eines Flip-Flop* angeschlossen sind. Hirn
809808/0211
der Kein-Gatter 300 biß 303 Bind mit Adern einer Sammelleitung SlO verbunden« Diese Sammelleitung 310 und die darunter dargestellte Komplementsammelleitung 311 enthalten jeweils 28 Adern, von denen jedoch nur 4 dargestellt sind. Die Kein-Gatter 300 bis 308 liefern ihre Ausgangssignale an die Adern der Komplementsammelleitung 311. Die beiden Sammelleitungen 310, 311 bilden zusammen die Sammelleitung 48 der Figur. 1. Die Sammelleitung 310 führt die D-Bits eines Wortes, während die Sammelleitung 311 das Komplement des Wortes führt.
Die Kein-Gatter 300 bis 308 sind jeweils mit zwei Eingängen versehen, von denen der eine bereits erwähnt wurdejL Der zweite Eingag der Kein-Gatter 300 bis 302 und 305 bis 307 ist ein Binärziffer-Lesebefehl RO, der vom Zentralsteuerbereich des Computers kommt. RO ist normalerweise I, so daß die erwähnten Kein-Gatter normalerweise gesperrt sind. Wenn ein Kein-Gatter geöffnet werden soll, wird RO von I in O geändert.
Der zweite Eingang der Kein-Gatter 303 und 308 ist ein Steuerimpuls ROP. In dem oben beschriebenen System soll die Paritätsziffer im Speicherregister nicht der Sammelleitung 48 zugeführt werden. ROP bleibt bei dieser Betriebsart also I, wenn ' RO in O geändert wird.
Für den Betrieb soll angenommen werden, daß der 2 «-Flip-Flop die Ziffer I und der 2*^Flip«Flop die Ziffer O darstellen.
0*· Dies bedeutet, daß der 2 -Flip-Flop eingestellt ist, während der
-24-
809808/021 1
142474S
2 ^-Flip-Flop rückgestellt bleibt. Wenn der 2 -Flip-Flop eingestellt wird, erscheint das Ausgangs signal O an der I-KLemme. Wenn RO nun O wird, leitet das Gatter 300 und ein Ausgangssignal I wird der Ader 310-1 zugeführt. In entsprechender Weise wird der Ader 311-1 der Sammelleitung 311 das Ausgangssignal O zugeführt. Es kann ebenfalls gezeigt werden, daß das Gatter 301, wenn es durch ein RO-Signal angesteuert wird, nicht leitet und nie** die im 2 -Flip-Flop gespeicherte O der Ader 310-2 zugeführt wird. Zur gleichen Zeit leitet das Gatter 306 und eine I wird der Ader 311-2 der Komplementleitung 311 zugeführt. Die übrigen Gatter arbeiten in entsprechender Weise.
Bei manchen Formen der vorliegenden Erfindung werden R und ROP gleichzeitig O. Dies bedeutet, daß das gespeicherte Paritätsbit den zugeordneten Adern der Leitung 48 zugeführt wird. Wenn in diesem Falle ein Wort maskiert werden soll und eine Paritätsziffer für ein Teilwort erzeugt wird, läßt man das Paritätsbit in der Sammelleitung 48 außer Betracht. Außerdem wird das für das Teilwort erzeugte Paritätsbit einer getrennten Ader zugeführt. Diese getrennte Ader ist mit dem Adressenre« gister verbunden. Da jedoch die Arbeitsprinzipien der zuletzt erwähnten Ausführungsform und der genauer beschriebenen Ausführungsform gleich sind, erübrigen sich weitere Erläuterungen oder Darstellungen.
-25-
809808/02 1 1
Die in Figur l dargestellten Schleusen 58 enthalten 27 Inverter und 27 Kein-Gatter für die Wortleitung 310 (Figur 2) und 54 Kein-Gatter für die Komplementleitung 311 (Figur 2). Um die Zeichnung zu vereinfachen, sind nur die für vier Bits des Wortes und vier Bits des Komplements erforderlichen Stufen in Figur 3 dargestellt. Die anderen Stufen sind bei den gestrichelten Linien zu ergänzen.
Die Wortsammelleitung führt ein Wort, das aus D "Bits besteht. Die Komplementsammelleitung führt ein aus J-Bits bestehendes Wort.
Bei der Diskussion des in Figur 1 teilweise dargestellten
19* 26··
Rechners war erwähnt worden, daß die 2 - bis 2 -Bits maskiert und die 2 —bis 2 — Bits in das Adressenregister übertragen werden sollen. Eine Möglichkeit, diesen speziellen Maskierungs-Vorgang auszuführen ist in Figur 3 dargestellt.
Die Schleusen 58 enthalten die vier Inverter 320 bis 323, die jeweils mit einer Ader der Wortleitung 310 verbunden sind. Die Inverter sind jeweils mit einem von vier Kein-Gattern bis 327 verbunden. Die Adern der Komplementleitung 311 sind jeweils an Kein-Gatter 328 bis 331 einer ersten Gruppe verbunden. Diese vier Kein-Gatter sind mit entsprechenden von vier anderen Kein-Gattern 332 bis 335 verbunden·.
-26-
809808/02M
Wenn im Betrieb die Kein-Gatter 324 bis 327 aufgetastet sind, wird ein Ausgangswort A erzeugt, das gleich dem Eingangswort D ist. Wenn in entsprechender Weise die durch die Stufen 328 bis 335 dargestellten Kein-Gatter aufgetastet sind, wird ein Ausgangswort B erzeugt, das gleich dem Ein·· gangswort J ist. Wenn die verschiedenen Gatter gesperrt sind, ist das Wort A gleich dem Wort B gleich Null.
Um die letzten 8 Ziffern des Wortes zu maskieren, wird den Eingangsklemmen 337, 338 ein Signal MA * I und der Eingangsklemme 339 ein Signal MB * O zugeführt. Die MA- und MB-Signale stammen vom Maskierungs generator 62 der Figur 1. Das Signal MA = I sperrt die Gatter 326, 327, 330, 331 der Figur 3. Am Ausgang dieser Gatter erscheint dahei eine Null. Das MB-Signal O und die Ausgangssignale O der Gatter 330, 331 werden als Eingangssignale den Kein-Gattern 334 bzw. 335 zugeführt. Diese Gatter sprechen daher an und an ihrem Ausgang erscheint eine I. Die Wirkung der Maskierung besteht also darin, für die maskierten A-Bits (A20 bis Α-«) die Wortbits darstellen, Nullen zu simulieren, während für die B«Bits (B2_ bis B37), die Komplementbits, Einser zu simulieren. Die Α-Bits sind ja normalerweise gleich den entsprechenden D-Bits.
Das Teilwort, für das die Parität hergestellt werden eoll, wird durch die Ziffer D. bis D.- dargestellt und das Komplement
809808/0211 "27"
dieses Teilworts durch die Ziffer J. bis J.». Das Wort und sein Komplement werden dem zentralen Paritäts generator 60 dadurch zugeführt, daß ein Signal MG a O den Eingangsklemmen 386, 340, 341 zugeführt wird. Das Signal MG ■ O kann von dem bereite erwähnten Maschinenbefehlsgenerator stammen. Dieses Signal macht die ersten 19 Kein-Gatter ent» sprechend den 19 Ziffern des Wortes und die ersten 38 Kein-Gatter entsprechend den 19 Ziffern des Komplements durch·· laß bereit. Zwei der erstgenannten Kein-Gatter, nämlich die Gatter 324, 325 und vier der letztgenannten Kein-Gatter, nämlich die Gatter 328, 329, 332, 333 sind dargestellt.
Zusammenfassend kann gesagt werden, daß zum Maskieren bestimmter Bits eines Wortes für die zu maskierenden Bits Nullen und für die Komplements dieser Bits Einsen simuliert werden· Diese Nullen und Einsen werden zusammen mit den wirklichen Bits und ihren Komplementen des Restes des Wortes dem weiter unten beschriebenen Paritätsgenerator zugeführt. Das ganze Wort sieht für den Paritäts generator wie jedes andere Wort aus.
Ein erstes logisches Netz des zentralen Paritätsgenerators ist in Figur 4 dargestellt und mit 112 bezeichnet. Die logischen Netze 113 bis 120 (Figur 7) gleichen im Aufbau dem Netz 112, werden jedoch mit anderen binären Eingangsbits gespeist und
809808/0211
liefern andere Ausgänge. Dem logischen Netz 113 werden beispielsweise die binären Ziffern A., A , Aß und B4, B5, Bg zugeführt und es liefert die Ausgänge O„ und E„. Dem logischen Netz 14 werden die Bits A7, Ag, Ag und B7, Bg, Bg zugeführt usw. Dies geht im einzelnen aus Figur 7 hervor, auf die noch eingegangen wird.
Das logische Netz dient zur Prüfung der ersten drei Bits A.
bis A0, also dem ersten Oktalzeichen, und zur beugung eines a Q
Aus gangs signale s, das angibt, ob diese drei Bits eine gerade oder eine ungerade Anzahl von Einsen enthalten. Beim Fehlen von Bits ist A = B * 0 und O. = E * I. Wenn eine ungerade Anzahl von Einsen in einer Gruppe von drei Α-Bits enthalten ist, bleibt E 1 und O wird O und wenn eine ungerade Anzahl von Einsen vorhanden ist, wird E gleich O und O bleibt 1.
Das logische Netz 112 enthält 8 Kein-Gatter 140 bis 147. Die Ausgänge der ersten vier Gatter und der zweiten vier Gatter sind jeweils miteinander verbunden. Jedem Gatter sind verschiedene Kombinationen von A- und B-Eingängen, jeweils drei auf einmal, zugeführt und sie arbeiten asynchron. Diese Arbeits« weise wird durch die folgenden Boole' sehen Gleichungen beschrieben, wobei das logische Netz 112 als Beispiel genommen wird und dann die allgemeinen Ausdrücke für alle Netze 112 bis 120 abgeleitet werden.
-29-
809808/021 1
O1 » U + V + W + X (1)
Durch Substitution von A* s und B' s für U-X erhält man:
O1 - B1-B2-A3 + B1-I2-B3 + A1-B2-B3 + X1-S3-A3 (2)
In entsprechender Weise:
E1 » B1-A2-A3 + A1-B2-S3 + A1-A2-B3 + B1-B3-B3 (3)
Es läßt sich leicht zeigen, daß für den allgemeinen Fall gilt:
Dn β B(3n-2)· 33On-I)-^n + B(3n-2)'5<3n-l)*B3n +
A(3n-2)* B(3n-1)· B3n + A(3n-2)* A(3n-1)* A3n
En " B(3n-2)#A(3n-irA3n + A(3n-2)'B(3n-2)* An A<3n-2)*A(3n~irB3n + B(3n~2)* B(3n-l)*B3n
Dabei ist η eine ganze Zahl von 1 bis 9. η = N-111, wobei sich N auf das logische Netz bezieht, von welchem die O- und E-Terme stammen.
Die oben stehenden Gleichungen sagen einfach ausge« drückt aus, daß wenn die drei zu prüfenden Bits der A«Information und drei Bits der B-Information vorhanden sind E * 1 und O » O, wenn die drei A-Eingangsbits eine ungerade Anzahl von Einsen enthalten und E = O und O ■ I, wenn die drei A-Eingangsbitβ eine gerade Anzahl von Einsen enthalten. Die Funktionstabelle für ein logisches Netz, beispielsweise das Netz 112 ist:
-30«
809808/02.1 1
gerade 143
ungerade 146
ungerade 145
gerade 142
ungerade 144
gerade 141
gerade 140
ungerade 147
δ δ δ τι -α τι /λ τ? Anzahl der Einsen Leitendes Al A2 A3 Bl B2 B3 Ul 1^l in den Α-Bits Gatter
00 011110 0 0111001 0 101010 1 0 1110010 1000 1101 10.1010 10 110001 10 11100001
Figur 5 zeigt eines der logischen Netze der zweiten Stufe der Paritätsschaltung (Figur 7). Es ist mit "logisches Netz 121" bezeichnet und enthält 8 Kein-Gatter 148 bis 155. Die logischen Netze 122, 123 haben den gleichen Aufbau wie das logische Netz 121, jedoch andere Eingänge und Ausgänge. Das logische Netz 122 hat beispielsweise die Eingänge O4, ■» O5, O- und E4, E_, Ε« und Ausgange F„, G2 während das logische Netz 123 die Eingänge O_, O0, On und E-, E0, En hat. Die Aufgabe dieser logischen Netze besteht darin, jeweils drei O" und E-Bits gleichzeitig zu prüfen und festzustellen, ob sie eine ungerade oder gerade Anzahl von Einsen ent" halten. Wenn O und E beide gleich 1 sind, sind F und G beide gleich 0. Wenn die drei O-Eingänge eines logischen Netzes eine ungerade Anzahl von Einsen enthalten, wird F 1 und G
809808/0211
bleibt O; wenn die drei O-Elngänge des Netzes eine gerade Anzahl von Einsen enthalten, bleibt F 0 und G wird 1. Es kann ebenfalls gezeigt werden, daß wenn eines der drei Eingangsbit fehlt, wenn also beispielsweise O1 und E. beide gleich I sind, die Kombinationen der verbleibenden beiden Bits* wie O0, O "und E0, E derart beschaffen sind, daß F und G1 beide gleich O werden. Die Arbeitsweise der Schaltung der Figur 5 ist ganz ähnlich wie der der Figur 4. Die Boole* sehen Gleichungen für das Netz 121 sind:
Fl β V°2-B3 + Ws + 5V V°3 + 1I-1^3 (6>
Gl * O1-E2-E3 + E1. O2. E3 + E1-E2. O3 + O1-O3-O3 (7)
Die allgemeinen Ausdrücke werden nicht angegeben, sie können leicht entsprechend Gleichung (4) und (5) errechnet werden.
Die Funktionstabelle des logischen Netzes 121, die als Beispiel für die Netze 121 bis 123 dient, lautet·
O O O 1 ]
O O 1 1 1
CM
O
O 1 O 1 O
0 0 OVF F W r Anzahl der Einsen Leitendes 1 2 3 1 2 ^3 *1 ^l in den O-Bits Kein-Gatter
1 01
010
110
S 01110001
σ> 10001 110 ο
10101 001 110 0 0 1 0 1 11100 010
gerade 155
ungerade 148
ungerade 149
gerade 152
ungerade 150
gerade 153
gerade 154
ungerade 151
Wenn die logischen Netze 121 bis 123 ihre Funktionen durch" geführt haben, verbleiben zwei Gruppen von je drei Binärziffern F1, Fn, F_ und G., G0, G0. Die in Figur 6 dargestellte Schaltung dient dazu, diese drei Ziffern zu prüfen und festzustellen, ob die einzelnen Gruppen eine gerade oder ungerade Anzahl von Einsen enthalten. Die Schaltung der Figur 6 ist identisch mit der der Figur 5. Sie enthält 8 Kein-Gatter 156 bis 163, die zu Vierergruppen zusammengeschaltet sind. Jedes Kein-Gatter erhält eine andere Kombination von F- und G-Eingängen. Die ersten vier Kein-Gatter liefern einen Η-Ausgang und die zweiten vier einen L-Ausgang. Wenn F = G = O ist H a L » I.
Die Funktion des logischen Netzes 124 kann durch die folgenden Boole* sehen Gleichungen beschrieben werden; H - F1-F2-G3 + F1-G2-F3 + G^F3-F3 + G1-G3-G3 (8) L a 5V5A + 5I-5V5S + 5i-°a-S3 + 5V5V1S Für das logische Netz 124 gilt folgende Funktionstabelle:
Anzahl der Einsen Offenes
Fl F F
2 3
1 1 G2 G3 H L in den F1-Bits Kein-Gatter
0 0 0 1
1
1 1 0 1 gerade 163
CM
O
OO
0
0
0
1
1
0
1
0
1
0
0
1
1
1
0
0
ungerade
ungerade
156
157
809801 0
1
1
0
1
0
0 0
1
0
1
0
1
1
0
gerade
ungerade
160
158
1 0 1 0 1 0 0 1 gerade 161
1 1 0 0 0 1 0 1 gerade 162
1 1 1 0 0 1 0 ungerade 159 "33-
Aus den Gleichungen und der Funktionstabelle ist ersichtlich, daß L 1 bleibt und H 0 wird, wenn die drei F-Eingänge eine gerade Anzahl von Einsen enthalten und daß L 0 wird und H 1 bleibt, wenn die drei F-Eingänge eine ungerade Anzahl von Einsen enthalten. Die ursprünglich zu prüfenden 27 Bits sind also auf ein einziges Bit reduziert worden. Es kann gezeigt werden, dftß wenn diese 27 Bits drei für drei geprüft werden und dasselbe dann mit den resultierenden neun Bits und den daraus gewt^u^nen drei Bits wie beschrieben durchgeführt wird, das letztlicfai resultierende Bit L eine 1 ist, wenn die 27 A-Bits eine ungerade Ans&hi von Einsen enthalten, während das schließ«· lieh gewonnene Augjpogsbit L 0 ist, νζβηη die 27 A-Bits eine gerade Anzahl von Blasen enthalten hatten.
Figur 7 s&igt das ganze Paritätssystem. Die verschiedenen, das System bildenden Blöcke mit der Ausnahme der die Paritäts· ziffer erzeugenden Schaltungsanordnung sind bereits beschrieben worden und tragen entsprechende Bezugszeichen. Die verschiedenen Leitungen der Figur 7 stellen manchmal einen einzelnen Draht
** und manchmal eine mehradrige Leitung dar. So bedeutet bei-
%#* '
'Spieleweise die mit A-A bezeichnete erste Leitung oben links eine dreiadrige Leitung, auch die mit B1-B0 bezeichnete zweite
Iu
Leitung von links hat drei Adern.
Wenn ein aus drei Bits bestehendes Oktalzeichen keine In-
-34-
80980a/Q2t1
formation enthält, sind die E- und O-Signale für dieses Zeichen gleich I. Wenn beispielsweise A * B1 * O oder A„ » B„ » oder A » B * O dann ist O1 » E1 * L Sonst sind E und O komplementäre
Die Funktion der logischen Netze 112 bis 120 in der ersten logischen Ebene besteht darin, die Eingangsziffern und ihre Komplemente jeweils drei zugleich, d.h. immer ein Oktalzeichen auf einmal, zu prüfen und ein Ausgangssignal zu erzeugen, das anzeigt, ob die drei untersuchten Ziffern eine ungerade oder gerade Anzahl von Einsen enthalten. Wenn die drei untersuchten Α-Ziffern eine ungerade Anzahl von Einsen enthalten, bleibt E eins und O wird null.
Die Netze 121 bis 123 in der zweiten Ebene der Logik besteht darin, die Q-Ziffern und ihre Komplemente, die E-Ziffem jeweils drei zugleich zu prüfen und zu bestimmen, ob die E-Ziffern. eine ungerade oder gerade Anzahl von Einsen enthalten. Wenn ^ die Anzahl der Einsen in den geprüften drei Ε-Ziffern ungerade ist, wird G 1 und F bleibt 0.
Die logischen Netze 124 in der dritten Ebene der Logik sind dazu bestimmt* die drei F-Ziffern und ihre Komplemente, die drei G-Ziffern zu untersuchen und^fest zustellen, ob die drei G-Ziffern eine ungerade oder gerade Anzahl von Einsen enthalten. Wenn die drei G-Ziffern eine ungerade Anzahl von Einsen enthalten, bleibt L 1 und H wird 0.
-35-809808/021 1
Das interessierende Wort besteht aus D-Bits, die den ent« sprechenden Α-Bits gleichen. Es kann gezeigt werden, daß H gleich 0 ist, wenn die Anzahl der Einsen in den durch die oben beschriebenen Netze geprüften 27 Α-Bits ungerade ist und daß H 1 ist, wenn die 27 A-Bits eine gerade Anzahl von Einsen enthalten. Wenn also eine ungerade Parität vereinbart wird, kann H als die Paritätsziffer angesehen werden, die für die 27 Α-Bits und damit auch für die 2733»Bits erzeugt werden soll.
Der L-Bit«Ausgang des Netzes 24 wird über einen Inverter 341 der Ader 310-28, der Paritätsbitsader der Wortsammelleitung, zugeführt) L « H und daher ist L die Paritätsziffer des B-Wortes. In entsprechender Weise wird das durch einen Inverter 340 erhaltene Komplement des Η-Bits der Ader 311-28, der Paritätsbitsader, der Komplementsammelleitung zugeführt.
Das Kein-Gatter 342 ist eines der 28 Kein-Gatter im Block 413, der in Verbindung mit Figur 8 noch genauer erläutert werden wird. Der Zweck dieses und der anderen KelnwGatter besteht darin, festzustellen, ob ein Bit fehlt. Wie erwähnt, bleiben H und L beide gleich 1, wenn ein A- oder B-Bit fehlt. Unter diesen Umständen sind H und L beide 0. H und L sind die Eingänge des Kein-Gatters 342, so daß das Kein-Gatter 342 leitet und ein Aus gangs signal ■ I liefert, wenn ein Bit fehlt. Diese Anzeige kann zur Erzeugung eines Alarms
-36-809808/0211
oder auf irgend eine andere Weise in der Rechenanlage nutzbar gemacht werden.
Figur 8 zeigt beispielsweise das X-Adressenregister als Teilregister, dem die 19 unmaskierten Bits und das Paritäts» bit zugeführt werden. Die Schleusen 66 und 90 im Eingang und Ausgang des Registers sind ebenfalls dargestellt.
Die 28 -adrige Wortsammelleitung 310 ist im oberen Teil der Figur dargestellt. 20 Adern, nämlich die Adern 310-1 bis 310-19 und 310-28 führen dasjenige Wort und sein Paritätsbit, das in das Teilregister übertragen werden soll. Das Paritätsbit war, wie man sich erinnerri|wird, von dem zentralen Paritätsgenerator 60 nebenbei erzeugt worden. Die genannten Bits werden durch 20 Und-Gatter zugeführt, die die Schleusen 66 im Eingang des X-Adressenregisters bilden. Zur Vereinfachung der Zeichnung sind nur drei dieser Schleusen, nämlich die Schleusen 400, 401, 402 dargestellt. Diese Schleusen sind mit den Einstellklemmen der das X-Adressenregister 54 bildenden Flip-Flops verbunden.
Das X-Adressenregister enthält 20 Flip-Flops, die ersten 19 für die ersten 19 Bits und den letzten für das Paritätsbit. Auch hier sind der Einfachheit halber wieder nur drei Flip^Flops 403,404,405 dargestellt. Der eine Ausgang der jeweiligen Flip« Flops ist über eine Ausgangssefrleuse an eine entsprechende Ader einer 20~adrigen Adresseniaitung 34 angeschlossen. Auch hier
8 0 9 8 0 8/0211
sind nur drei der 20 Schleusen, nämlich die Schleusen 406,407, 408 dargestellt. Die Schleusen bestehen aus Kein-Gattern.
Wenn im Betrieb ein aus 20 Bit bestehendes Wort von der Wortleitung in das X-Adressenregister geleitet werden soll, werden die Und-Gatter 400 bis 402 durch ein der Klemme zugeführtes Signal RI = I geöffnet. Die Klemme 410 ist mit den zweiten Eingängen aller Und-Gatter verbunden. Gleichzeitig kann einer Klemme 411 ein Signal RO = O zugeführt werden. Diese Klemme ist mit den zweiten Eingängen aller Kein-Gatter verbunden. Das Signal RO = O macht die Kein-Gatter durchlaß« bereit, so daß das vom X-Adressenregister empfangene Wort auf die Adressensammelleitung 34 übertragen wird, die zu den Schleusen 36 des Speicheradressenregisters führt.
Die durch den Block 412 dargestellte Schaltungsanordnung vergleicht 20 Bits des Wortes auf der Wortleitung mit den entsprechenden Bits des Wortes auf der Adressenleitung. Wenn die Bits übereinstimmen, liefert die Schaltungsanordnung des Blockes 412 ein Aus gangs signal, das anzeigt, daßjdas Register alle Bits richtig erhalten hat. Dieses Signal kann zur Beendigung des Signales RI » I dienen, das die Eingangs ~Und«Gatter öffnet. Der Block 412 stellt keinen Teil der vorliegenden Erfindung dar, er ist genauer in der Patentanmeldung R 31281 IXc/ 42m beschrieben. In Figur 7 ist eines der Gatter dieses Blockes, nämlich dasjenige, das zur Feststellung des Fehlens des Paritätsbits
»38-809808/0214
dient, dargestellt.
Die Komplement Sammelleitung und die Wortsammelleitung sind mit einer durch einen Block 413 dargestellten Schaltungsanordnung verbunden. Diese Schaltungsanordnung stellt fest, ob ein Bit fehlt und zeigt damit Fehler bei der Übertragung des Wortes an. Auch diese Schaltungsanordnung gehört nicht zur Erfindung, sie ist ebenfalls in der oben erwähnten Anmeldung genauer erläutert. Eine Stufe dieser Schaltanordnung wird jedoch in Verbindung mit Figur 7 beschrieben.
Die in Figur 1 dargestellte Schaltungsanordnung ist von Natur aus ia der Lage, zwei Teilwörter im Durchlaufen zu mischen. Angenommen, es soll ein im Q-Register gespeichertes Teilwort mit einem im X-AcIre«3senregister 54 gespeicherten Teilwort gemischt werden. Hierfür werden alle Schleusen geöffnet, so daß das im Q-Register gespeicherte Wort zur Sammelleitung 48 gelangt. In entsprechender Weise werden alle Schleusen 98, mit Ausnahme derjenigen, die der Paritätsziffer zugeordnet ist, geöffnet, so daß die Datenbits des Teilwortes im X-Adressenregister 54 der Leitung 48 zugeführt wer« den. Die im einzelnen in Figur 3 dargestellten Schleusen 58 werden alle geöffnet» Die Bits der beiden Teilwörter durchlaufen daher die Schleusen zum zentralen Paritätsgenerator 60 (Figur 1) und dieser stellt die Parität für die beiden Teilwörter her» Die erzeugte Paritätsziffer wird in der oben beschriebenen Weise
-39« 809808/021 1
in die Leitung 48 zurückgespeist. Die Sammelleitung enthält nun das gemischte Wort mit der richtigen Paritätsziffer.
809808/0211

Claims (10)

Patentansprüche
1. Rechenanlage mit einer Sammelleitung, auf der ein Wort übertragen wird, gekennzeichnet durch einen zentralen Paritätsgenerator für die Rechenanlage, der mit der Sammelleitung gekoppelt ist und asynchron eine Paritäts ziffer für das Wort erzeugt, während dieses auf der Sammelleitung übertragen wird,
2. Rechenanlage nach Anspruch 1, gekennzeichnet durch eine Anzahl von mit der Sammelleitung gekoppelten Stufen, die jeweils die Erzeugung einer Paritätsziffer für ein von ihnen verarbeitetes Wort erfordern und durch einen allen diesen Stufen gemeinsamen, mit der Sammelleitung gekoppelten, zentralen Paritätsgenerator, der asynchron eine Paritäts ziffer für ein Wort erzeugt, während dieses auf der Sammelleitung übertragen wird.
3. Rechenanlage nach Anspruch 1, gekennzeichnet durch eine mehradrige Sammelleitung, deren Adern jeweils eine Binärziffer eines Wortes führen; durch jeweils eine Schleuse für die einzelnen Adern, die im geöffneten Zustand jeweils eine der Binärziffern zum Paritätsgenerator gelangen läßt und durch eine Anordnung zur Maskierung bestimmter Binärziffern, die Einrichtungen zur Sperrung der diesen Ziffern zugeordneten
809808/0211 ~2"
Schleusen enthält.
4. Rechenanlage nach Anspruch 1, gekennzeichnet durch eine mehradrige Sammelleitung, die eine Ader für eine Pa ritätsziffer enthält, während die übrigen Adern die Binärziffern eines Wortes führen; durch eine Anzahl von Registern, die jeweils mit einer Gruppe der Adern zur Führung des Paritätsbits gekoppelt sind und jeweils ein Teilwort mit der zugehörigen Paritätsziffer empfangen und speichern können; durch einen allen Registern gemeinsamen, zentralen Paritätsgenerator zur Erzeugung der Paritätsziffer für die in den Registern gespeicherten Teilwörter; durch eine Anzahl von Schleusen, die jeweils einer Ader mit Ausnahme der Ader für die Paritätsziffer zugeordnet sind und jeweils verschiedene Binärziffern zu dem Paritätsgenerator weiterleiten, wenn sie geöffnet sind, durch eine Anordnung zur Maskierung bestimmter Ziffern, die ein Einrichtungen enthält, welche bewirken, daß die diesen Ziffern entsprechenden Schleusen Nullen liefern und durch eine Verbindung zwischen dem Ausgang des Generators zu der für eine Paritätsziffer bestimmten Ader des Sammelleiters, so daß eine Gruppe der Adern der Sammelleitung ein Teilwort mit der zugehörigen Paritätsziffer führt.
5. Rechenanlage nach einem der vorhergehenden Ansprüche, gekennzeichnet durch Schleusen, die zwischen die Adern der
-3-
8O90O8/O2M
Sammelleitung und den Paritätsgenerator geschaltet sind; durch eine Anordnung zum Maskieren eines Teiles des Wortes, die eine Einrichtung zur Erzeugung von die Binärziffer 0 darstellenden Signalen an den Ausgängen der die zu maskierenden Ziffern empfangenden Schleusen bewirkt, wobei der Paritätsgenerator
i eine Paritätsziffer für die verbleibenden Ziffern des Wortes \
erzeugt.
6. Rechenanlage nach Anspruch 1, gekennzeichnet durch
eine erste und eine zweite Sammelleitung die die Bits eines Wortes bzw- die Komplemente dieser Bits führen; eine erste Vielzahl von Schleusen, die jeweils eine andere Binärziffer erhalten; durch eine zweite Vielzahl von Schleusen, die je··' weils eine andere komplementäre Ziffer enthalten; durch, einen Paritätsgenerator, der die Ausgänge aller Schleusen enthält und eine Paritätsziffer sowie deren Komplement liefert und durch eine Anordnung zur Maskierung bestimmter Ziffern des Wortes, die eine Einrichtung zur Sperrung der diesen Ziffern zugeordneten Schleusen, so daß diese für die betreffenden Ziffern Nullen liefern und eine Anordnung zur Aktivierung der den Komplementen der betreffenden Ziffern zugeordneten Schleusen, so daß diese für die komplementären Ziffern Einsen liefern, enthalt.
809808/0211
7, Rechenanlage nach Anspruch 1, gekennzeichnet durch eine erste, mehradrige Sammelleitung, deren eine Ader eine Paritätsziffer und deren übrige Adern jeweils eine Ziffer eines Wortes führenj durch eine zweite, mehradrige Sammelleitung, deren Adern die Komplemente der Ziffern der entsprechenden Adern der ersten Leitung führen, also das Komplement der Paritätsziffer und des Wortes; durch eine Anzahl von Registern, die jeweils mit einer Gruppe· der Adern der ersten Leitung gekuppelt sind und ein Teilwort und die Paritätsziffer für diesen Teil des Wortes erhalten; durch einen allen Registern gemeinsamen, zentralen Paritätsgenerator zur Erzeugung von Paritätsziffern für die den Registern zugeführten Teile des Wortes; durch eine Anzahl von Schleusen, jeweils eine für jede einzelne Ader mit Ausnahme der die Paritätsziffer führenden Ader beider Sammelleitungen, die jeweils eine andere Binärziffer zu dem Paritäts generator gelangen lassen, wenn sie geöffnet sind; durch eine Anordnung zum Maskieren der Ziffern mit einer Einrichtung, die bewirkt, daß die diesen Ziffern des Wortes entsprechenden Schleusen Nullen erzeugen und die den Ziffern des Komplementwortes entsprechenden Schleusen Einsen erzeugen; und durch Verbindungen vom Ausgang des Generators zu den für die Paritäts ziffer des Wortes und ihrj? Komplement bestimmten Adern der Sammelleitungen.
-5-
809808/0211
8. Rechenanlage nach Anspruch 1, gekennzeichnet durch eine Anzahl von Stufen, von denen einige die Erzeugung einer Paritätsziffer für ein durch sie bearbeitetes Wort erfordern und einige zum Speichern oder anderweitigen Verarbeiten eines Teiles eines Wortes dienen; durch eine Sammelleitung zur Über« tragung von Ziffern zwischen den Stufen; und durch eine allen diesen Stufen gemeinsame, mit der Sammelleitung koppelbare Schaltungsanordnung um wahlweise a) ein Paritätsbit für ein zwischen zwei Stufen übertragenes Wort zu erzeugen, b) Maskierung eines, von einer der Stufen übertragenen Teilwortes und Erzeugung einer Paritätsziffer für den verbleibenden Teil des Wortes, der für eine andere Stufe bestimmest und c) Mischen zweier Teilwörter, die von zweien der Stufen übertragen werden und Erzeugung einer Paritäts ziffer für das gemischte Wort, das für eine dritte Stufe bestimmt ist.
9. Rechenanlage nach Anspruch 1, gekennzeichnet durch zwei Register, die jeweils zur Speicherung eines Teiles eines Wortes dienen; durch eine mit den beiden Registern gekoppelte Sammelleitung zur Übertragung der beiden Teilwörter zu einer dritten Stufe der Rechenanlage und durch eine mit der Sammelleitung gekoppelte Schaltungsanordnung zur Mischung der beiden Teile des Wortes und zur Erzeugung einer Paritäts ziffer für das gemischte Wort während der Übertragung des gemischten Wortes auf der Sammelleitung.
809808/0211
10. Rechenanlage nach Anspruch 1, gekennzeichnet durch eine ein binäres Wort führende Sammelleitung; durch eine mit der Sammelleitung verbundene Addierschaltung, die zu addierende binäre Wörter aufnimmt und die erhaltene Summe an die Sammelleitung weitergibt, um sie in andere Bereiche der Anlage zu übertragen und durch einen zentralen Paritätsgenerator, der mit der Sammelleitung verbunden ist und asynchron eine Paritätsziffer für die von der Addierschaltung gebildeten Summen währendlderen Übertragung über die Sammelleitung erzeugt.
809808/024 1
DE19621424746 1961-05-31 1962-05-30 Datenverarbeitungsanlage Pending DE1424746A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US113678A US3140464A (en) 1961-05-31 1961-05-31 Central parity checker operating from and into a data transfer bus

Publications (1)

Publication Number Publication Date
DE1424746A1 true DE1424746A1 (de) 1968-11-14

Family

ID=22350860

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19621424746 Pending DE1424746A1 (de) 1961-05-31 1962-05-30 Datenverarbeitungsanlage

Country Status (5)

Country Link
US (1) US3140464A (de)
DE (1) DE1424746A1 (de)
GB (1) GB978657A (de)
NL (1) NL279116A (de)
SE (1) SE306189B (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3370270A (en) * 1963-04-10 1968-02-20 Bell Telephone Labor Inc Information checking system
US3569939A (en) * 1963-12-31 1971-03-09 Bell Telephone Labor Inc Program controlled data processing system
DE1549535C2 (de) * 1967-09-28 1971-02-18 Siemens AG, 1000 Berlin und 8000 München Verfahren zur Kontrolle der Über tragung von digitalen Meßwerten
BE790527A (fr) * 1971-10-25 1973-04-25 Siemens Ag Memoire d'informations a fonctionnement controle, et notamment memoire integree a semi-conducteurs
DE2158433C3 (de) * 1971-11-25 1975-07-31 Ibm Deutschland Gmbh, 7000 Stuttgart Verfahren und Einrichtung zur Fehlerprüfung und Fehlerlokalisierung in einer moduleren Datenverarbeitungsanlage

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL148455B (nl) * 1948-09-03 Tech Electr Jarret T E J Elektrische machine met variabele reluctantie.
FR1084147A (de) * 1952-03-31 1955-01-17
US2674727A (en) * 1952-10-14 1954-04-06 Rca Corp Parity generator
US2956124A (en) * 1958-05-01 1960-10-11 Bell Telephone Labor Inc Continuous digital error correcting system
US2906997A (en) * 1957-09-18 1959-09-29 Sperry Rand Corp Ford Instr Co High speed redundancy check generator
US3001708A (en) * 1959-01-26 1961-09-26 Burroughs Corp Central control circuit for computers

Also Published As

Publication number Publication date
GB978657A (en) 1964-12-23
US3140464A (en) 1964-07-07
NL279116A (de)
SE306189B (de) 1968-11-18

Similar Documents

Publication Publication Date Title
DE1499722C2 (de) Einrichtung zur Modifizierung von Informationswörtern
EP0010195B1 (de) Vorrichtung zur Adressumwandlung in einer Datenverarbeitungsanlage
EP0097725B1 (de) Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen
DE2524046C2 (de) Elektronische Datenverarbeitungsanlage
DE2311220A1 (de) Digital-informations-verarbeitungsvorrichtung zur zeichenerkennung
DE2117936B2 (de) Mikroprogrammgesteuerte Zentraleinheit eines elektronischen Datenverarbeitungssystems
DE3232600C2 (de)
DE1178623B (de) Programmgesteuerte datenverarbeitende Maschine
DE2758830A1 (de) Rechenvorrichtung
DE2928488A1 (de) Speicher-subsystem
DE1269393B (de) Mikroprogramm-Steuerwerk
DE1474062B2 (de) Datenverarbeitungsanlage mit einer anzahl von pufferspeichern
DE2926322A1 (de) Speicher-subsystem
DE2358593A1 (de) Datenverarbeitungsanordnung und bei dieser verwendbare steuerschaltung
DE2900586C2 (de) Anordnung zum Decodieren von Codewörtern variabler Länge
DE1115488B (de) Datenverarbeitungssystem
DE1922304A1 (de) Datenspeichersteuergeraet
DE1424747B2 (de) Erweiterbare digitale datenverarbeitungsanlage
DE1953364A1 (de) Wahlausfuehrungsschaltung fuer programmgesteuerte Datenverarbeiter
DE1499191B2 (de) Elektronische einrichtung fuer eine datenverarbeitungsanlage
DE2830334A1 (de) Multipliziereinrichtung
DE1424746A1 (de) Datenverarbeitungsanlage
DE1957600C3 (de)
DE2644180C3 (de) Datenverarbeitungssystem
DE1474017C3 (de) Datenverarbeitungsanlage