[go: up one dir, main page]

DE2361512C2 - Schaltungsanordnung zur Prüfung eines Additionsresultates - Google Patents

Schaltungsanordnung zur Prüfung eines Additionsresultates

Info

Publication number
DE2361512C2
DE2361512C2 DE2361512A DE2361512A DE2361512C2 DE 2361512 C2 DE2361512 C2 DE 2361512C2 DE 2361512 A DE2361512 A DE 2361512A DE 2361512 A DE2361512 A DE 2361512A DE 2361512 C2 DE2361512 C2 DE 2361512C2
Authority
DE
Germany
Prior art keywords
residual value
bits
sum
matrix
modulo
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.)
Expired
Application number
DE2361512A
Other languages
English (en)
Other versions
DE2361512A1 (de
Inventor
Tien Chi San Jose Calif. Chen
Irving Tze Poughkeepsie N.Y. Ho
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE2361512A1 publication Critical patent/DE2361512A1/de
Application granted granted Critical
Publication of DE2361512C2 publication Critical patent/DE2361512C2/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • G06F11/104Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error using arithmetic codes, i.e. codes which are preserved during operation, e.g. modulo 9 or 11 check

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Complex Calculations (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)

Description

a) ein Parallel-Addierwerk (11; F i g. 3) zur gleichzeitigen Verarbeitung eines Augenden und einer Mehrzahl von Addenden, das eine Zwisch^n^unme liefert, die aus mehreren Datenwörtern besteht, deren Anzahl kleiner als die der Operanden ist und deren Bitpositionen unterschiedliche Wertigkeiten zugeteilt sind;
b) zwei an das Parallel-Addierwerk (11) angeschlossene Restwertgeneratoren (15, 16), die jeweils den Restwert der Summe aus einer Gruppe von mehreren neuen Datenwörtern erzeugen, weiche aus den Zwischensummendatenwörtern gebildet sind derart, daß jedes neue Datenwort Bitpositionen eines bestimmten Wertigkeitsbereiches enthält, wobei der eine Restwertgenerator (15) diejenige Gruppe von neuen Datenwörtern verarbeitet, welche die höherwertigen Bitpositionen enthalten und der andere Restwertgenerator (16) diejenige Gruppe von neuen Datenwörtern verarbeitet, welche die niederwertigen Bitpositionen enthalten;
c) einen wc'teren, an die Restwertgeneratoren (15, 16) angeschlossenen Rer-*.wertgenerator (17; F i g. 6), der den Restwert der Summe aus den Restwerten der neuen Datenwörter bildet.
2. Schaltungsanordnung nach Anspruch I, dadurch gekennzeichnet, daß das Parallel-Addierwerk (U) eine Mehrzahl von Spaltenaddierern (9b, 136; Fig.4) enthält, in denen jeweils die gleiche Bitposition eines Operanden verarbeitet wird.
3. Schaltungsanordnung nach Anspruch I, dadurch gekennzeichnet, daß jeder Restwertgenerator einer. Festwertspeicher enthält.
4. Schaltungsanordnung nach Anspruch 3, dadurch gekennzeichnet, daß die Festwertspeicher zwei an Decodiereinrichtungen (18, 19; Fig.7) angeschlossene Scharen orthogonal verlaufender Leitungszüge (38, 39, 40, 41 und 60, 68, 69, 70) enthalten, die an bestimmten Kreuzungspunkten mit den Steuerelektroden matrixartig angeordneter Schalttransistoren verbunden sind, die beim Leitendwerden ein Potential durchschalten.
5. Schaltungsanordnung nach den Ansprüchen 1,3 und 4, dadurch gekennzeichnet, daß die Restwertgeneratoren Modulo-9-Restwerte liefern.
6. Schaltungsanordnung nach Anspruch 2, dadurch gekennzeichnet, daß jeder Spaltenaddierer (z. B. 9b) ein Summenbit (a)und ein oder mehrere Übectragsbits (i, ejals Ausgangssignale liefert.
Die Erfindung bezieht sich auf eine Schaltungsanordnung zur Prüfung eines Additionsresultates durch Vergleich eines aus dem Resultat gewonnenen Restwertes mit einem aus den einzelnen Operanden gewonnenen Restwertes.
Die Verwendung dezimaler Arithmetik in binären digitalen Rechenanlagen ist in den letzten Jahren zunehmend wichtiger geworden und wird in uer Zukunft noch wichtiger und vielleicht unentbehrlich. Die Benutzer von Rechenanlagen sind in ihrem sich nicht auf die Rechenanlagen beziehenden Denken an die ausschließliche Verwendung dezimaler Arithmetik gewöhnt und sie ziehen es vor, daß die Rechenanlagen in der Lage sind, dezimale Arithmetik zu verarbeiten
ίο anstatt nur binäre Arithmetik. Außerdem resultiert die Verwendung binärer Arithmetik in Rundungsfehlern, wenn bestimmte Dezimalzahlen verarbeitet werden und viele Benutzer empfinden die gerundeten Resultate als gefährlich oder unerträglich. Wenn beispielsweise die Dezimalzahl 0,05 zu der Dezimalzahl 0,05 addiert wird, yollte das Ergebnis genau die Dezimalzahl 0,10 sein. Jedoch Hefen eine digitale Rechenanlage, die mit binärer Arithmetik arbeitel, nicht dieses genaue Ergebnis.
Während Schaltungen zur Durchführung dezimaler arithmetischer Operationen in binären digitalen Rechenaniagen seit langem zum Stand der Technik gehören, wurden diese Operationen nicht mit der Wirksamkeit, der Geschwindigkeit und der Wirtschaft-Iichkeit durchgeführt, die viele Anwendungen erfordern. Eines der Grundprobleme sowohl bei dezimalen als auch bei binären arithmetischen Berechnungen bildet die Fehlererkennung, d.h. die Feststellung, ob das Ergebnis einer bestimmten arithmetischen Operation
jo richtig ist. Ein wichtiges und häufig angewendetes Verfahren zur Fehlererkennung stellt die Rest-Prüfung dar. Das übliche Verfahren der Rest-Prüfung nach dem Stand der Technik ist in F i g. 1 dargestellt. Eine Augendenzahl la und eine Addendenzahl 2a werden in
Jj einem Addierwerk 3a addiert., um eine resultierende Summe 4a zu liefern, die auf Richtigkeit zu prüfen ist. Ein Rechner 5a bestimmt den Rest modulo m des Addenden. Diesen Restwert erhält man, wenn der Addend durch das höchste ganzzahlige Vielfache des Moduls m dividiert wird. Wenn ivcispielsweise der Addend 34 ist und der Modul m den Wert 9 hat, dann ist die Zahl 9 in der Zahl 34 maximal dreimal enthalten, was 27 ergibt, wobei ein Rest von 7 übrigbleibt, der als Rest Modulo 9 des Addenden 34 bezeichnet wird.
■r» In ähnlicher Weise bestimmt ein anderer Rechner 6a den Rest modulo m des Addenden. Die beiden Restwerte werden dann in einem Modulo-m-Addierer 7a addiert, der an seinem Ausgang den Rest der Summe aus dem Rest des Addenden und dem Rest des
>o Augenden liefert.
Da der Rest der Summe aus den Restwerten zweier Zahlen gleich ist dem Rest der Summe der beiden Zrhlen, sollte das Ausgangssignal des Modulo-/n-Addierwerkes 7a gleich sein dem Ausgangssignal eines dritten Rechners 8a, der den Rest modulo m der zu prüfenden Summe 4a bestimmt Eine Vergleichsschaltung 9a vergleicht diese beiden Ausgangssignale und wenn sie ungleich sind, wird «in Fehler 10a dadurch festgestellt.
M) Diese Restwertprüfung nach dem Stand der Technik ist zu langsam und unwirtschaftlich, wenn eine Mehrzahl von Addenden zu einem Äugenden addiert werden müssen. In diesem Fall wird der erste Addend zu dem Augenden addiert, um eine erste Zwischensumme zu
f>5 erhalten, die einer Restwertprljfung unterzogen wird, die erste Zwischensumme ersutzt den Augenden, der zweite Addend wird dann zu der ersten Zwischensumme addiert, um eine zweite Zwilchensumme zu erhalten
und dieser Operationszyklus wird für jeden nachfolgenden Addenden immer wieder wiederholt, bis alle addiert worden sind und die Endsumme einer Restwertprüfung unterzogen wird. Es ist klar, daß, wenn viele Addenden vorliegen, die gesamte Additionsoperation äußerst zeitaufwendig und teuer wird.
Der Erfindung liegt daher die Aufgabe zugrunde, eine Schaltung anzugeben, die die Richtigkeit der Addition einer Mehrzahl von Addenden zu einem Augenden in einer Weise prüfen kann, die wesentlich schneller, wirksamer und ökonomischer ist als die vorher beschriebene Schaltung zur Restwertprüfung nach dem Stand der Technik.
Diese Aufgabe wird mit Hilfe einer Schaltung zur Prüfung eines Additionsresultates durch Vergleich eines aus dem Resultat gewonnenen Restwertes mit einem aus den einzelnen Operanden gewonnenen Restwertes gelöst, die im Anspruch 1 gekennzeichnet ist.
Nachfolgend wird ein Ausführungsbeispiel der Erfindung in Verbindung mit den Zeichnungen näher beschrieben, von denen zeigt
F i g. I ein Blockschaltbild einer Anordnung nach dem Stand der Technik für die Addition eines Addenden zu einem Augenden und für die Restwertprüfung der erhaltenen Summe,
F i g. 2 ein Blockschaltbild der erfindungsgemäßen Anordnung zur Addition einer Reihe von Addenden zu einem Augenden und zur Restwertprüfung der erhaltenen Summe,
F i g. 3 ein Blockschaltbild eines Parallel-Add-erwerks für viele Zahlen, dem die Addenden und der Augend zugeführt werden und dessen Zwischensummenworte einem Modulo-9-Restwertgenerator zugeführt werden,
Fig.4 ein Blockschaltbild der Komponenten des Parallel-Addierwerks,
Fig.5 ein Blockschaltbild mit den Einzelheiten jedes Spaltenaddierwerks des Parallel-Addierwerks,
F i g. 6 ein Blockschaltbild der Anordnung nach der Erfindung, aus dem auch zu ersehen ist, wie die Bits der Addenden und des Augenden dem Parallel-Addierwerk zugeführt wurden und wie die Bits der Zwischensummenworte vom Ausgang des Addierwerks den L- und R-Restwertgeneratoren zugeleitet werden,
F i g. 7 ein Blockschaltbild, das Einzelheiten des L-Rest wertgenerators zeigt,
F i g. 8 ein Blockschaltbild, das Einzelheiten des R-Restwertgenerators zeigt,
F i g. 9 ein Blockschaltbild, das die Einzelheiten des S-Restwertgenerators zeig:,
Fig. 10 einen angeschlossenen Matrix-Kreuzungspunkt, wie er in den Matrizen der Boolschen Schaltungen nach den Fig. 5 bis 9 vorhanden ist, und
Fig. 11 tinen nicht angeschlossenen Matrix-Kreuzungspunkt.
In Fig.2 ist eine Anordnung gemäß der Erfindung dargestellt, die der Addition einer Vielzahl von Addenden zu einem Augenden dient und der Restwertprüfung der erhaltenen Summe. Die Figur kann mit der Fig. 1 verglichen werden, in der eine Anordnung nach dem Stand der Technik dargestellt ist, bei der die Bezugszahlen bis auf den hinzugefügten Buchstaben a denen der F i g. 2 entsprachen.
Gemiiß der l-rfindung werden in Fig. 2 eine Reihe von η Addende'izahlen 2\, 2^... 2„ zu einer Augendenzahl 1 in einem Parallel-Addierwerk 3 addiert, um die Summe 4 zu ergeben, in der Fehler festgestellt werden sollen, d. h. die auf Richtigkeit zu prüfen ist. Zur Fehlererkennung wird e,t:e Modulo-9-Restwertprüfung verwendet. Zu diesem Zweck werden alle Datenworte, die die Addenden 2|, 22,..2„ und den Augenden J umfassen, einem Modulo-9-Restwertgenerator 5 zugeführt, der diese π+1-Datenworte gleichzeitig parallel verarbeitet, um den Modulo-9-Restwert der Summe aus allen Addenden und dem Augenden zu berechnen. Ein Modulo-9-Restwertgenerator 8 von bekanntem Aufbau bestimmt den Restwert modulo 9 der Summe 4, deren Richtigkeit zu prüfen ist. Eine Vergleichsschaltung 9 vergleicht dann den durch den Generator 8 bestimmten Restwert mit dem vom Generator 5 bestimmten, und wenn irgendein Unterschied zwischen diesen beiden Restwerten besteht, wird ein Fehler 10 angezeigt.
Der in F i g. 3 dargestellte ModuIo-9-Restwertgenerator 5 enthält ein Parallel-Addierwerk 11 für mehrere Zahlen und einen Modulo-9-Restwertgenerator 12. In Fig.3 sind die π+1-Datenworte, die die Addenden 2i, 22... 2„ und den Augenden 1 umfassen, mit Λ/ι bis Nn+1 bezeichnet und werden dem Addierwerk 11 zugeführt. Dieses liefert an seinem Ausgang einen Satz von Worten O\ bis Oj, die eine Zwisc'insumme bilden, wobei j gleich ΊεΓ dem Logarithmus zvr Basis 2 von (n+2) am nächsten kommenden ganzen Zahl ist. Beispielsweise sind in dem Ausführungsbeispiel sieben Datenworten zu addieren, die die sechs Addenden und einen A'igenden umfassen, so daß /7=6 und y=3 ist. Daher liefert das Addierwerk 11 ein Ausgangssignal, das aus drei Zwischensummenworten O\, Oi und Oj besteht, die dem Eingang des Modulo-9-Restwertgenerators 12 zugeführt werden. Der letztere erzeugt den Modulo-9-Restwert der Summe der drei Zwischensummenwörter O\, Oi und Oj, welcher Restwert gleich ist dem Restwert der Summe aus den sieben Datenworten N\ bis Nn+u
In Fig.4 ist ein Blockschaltbild der Komponenten des Addierwerks 11 für viele Zahlen und ihre Anordnung dargestellt. Im folgenden wird der Aufbau und die Arbeitsweise des Addierwerks 11 für viele Zahlen kurz beschrieben.
Jedes der sieben zu addierenden Datenwörter besteht aus vier Bits, wobei jedes Bit einer von vier Spalten entspricht. Aus vier Bits bestehende Wörter wurden ausgewählt aus Gründen der Kürze und der Klarheit der Darstellung. Es versteht sich, daß die zu addierenden Wörter eine beliebige Bitlänge aufweisen können, in welchem Fall das Addierwerk 11 zusätzliche Spalten aufweist, die den Bits entsprechen, die über vier hinausgehen. Jedes Bit der sieben zu addierenden Datenwörter wird durch einen vorgesetzten Buchstaben p, q, r oder 5 bezeichnet, der die Stelle und das Gewicht des Bits angibt sowie durch eine darauf folgende Zahl 1, 2,... 7, die das Datenwort bezeichnet. Z. B. besteht der erste Addend aus den Bits p\,q\,r\ und si.
Die sieben Datenwörter werden anfangs von einer Datenquelle wie einem (nicht gezeigten) Pufferregister über Kabel l£>, 2b, 3 b und 4b übertragen. Dar dem Kanal Ab zugeordnete Register 6b empfängt die niederstelligsten Bits 51 bis si der zu addierenden Datenwörter. In ähnlicher Weise empfängt das Register 676 die zweitniedrigsten Bits R 1 bis Rl, das Register 686 die drittniedrigsten Bits q 1 bis q 7 und das Register 69b die höchststelligen Bits pi bis ρ7 der zu addierenden Datenwörter. Nachdem das Laden so in üblicher Weise erfolgt ist, wird ein Addiersignal der Sammelleitung Tb zugeführt, das gleichzeitig an alle Torschaltungen G gelangt. Als Ergeb.iir, werden alle Bits der sieben Datenwörter, die das gleiche Gewicht besitzen, über die Torschaltungen C einem Spaltenaddierwerk, wie
beispielsweise dem Addierwerk 96 zugeführt. Dieses empfängt die niederstelligsten Bits 5i bis 5 7 von den durchgeschalteten Torschaltungen C über das Kabel 106. Gleichzeitig werden die zweitniedrigsten Bits rl bis r 7 über die durchgeschalteten Torschaltungen C und das Kabel 126 dem Addierer 136 zugeführt. Die restlichen Bits q\ bis ql und p\ bis ρ7 werden in ähnlicher Weise entsprechend den Bitgewichten den zugehörigen Spalteraddierern zugeleitet.
Ein typischer Spallenaddierc, wie z. B. der Spaltenaddierer 9b der Fig.4 ist in Fig. 5 dargestellt. Die niederstelligsten Bits si bis 5 7 der sieben zu addierenden Wörter werden über die durchgeschalteten Torschaltungen G und über ddas Kabel 106 den Phasenteilern und Decodiertreiberschaltungen 146 und 156der F i g. 5 zugeführt.
Die Leitungen 316 bis 356 stellen die V-Eingänge der Matrix 366 dar, die aus den Teilen 376. 386 und 396 besteht. Jede der Teilmatrizen 376. 386 und 396 ist mit Ausnahme, daß Verbindungen längs der ersten beiden Diagonalen fehlen, aber in den beiden nächsten nachfolgenden Diagonalen vorhanden sind (486, 496 und 506 sowie 516, 526, 536 und 546Jl Verbindungen fehlen längs der nächsten beiden folgenden Diagonalen und erscheinen wieder längs der nächsten beiden Diagonalen, wie das durch die Verbindungen 556, 566 und 576 dargestellt ist. Das Muster der Matrixkreuzungspunkte im Teil 376 wird als Modulo-2-Muster bezeichnet im Hinblick auf die Tatsache, daß das Muster der Verbindungen der kreuzungspunkte sich über einen Zyklus von zwei Matrixdiagonalen wiederholt. Ähnlich wird das Muster der Verbindungen der Matrixkreuzungspunkte im Teil 386 als Modulo-4-Muster bezeichnet, weil das Muster der Verbindungen der Kreuzungspunkte sich über einen Zyklus von vier Matrixdiagonalen wiederholt. Schließlich wird das Muster der Verbindungen der Kreuzungspunkie in der Teilmatrix 396 als Modulo-8-Muster bezeichnet, im Hinblick
f\f>r\ olpirhpn V- Fin σ'ά η tr*» η ι'ιΚργ Hit» I ρϊΐιιηπΑη ?&A 1ΛΑ ι-, Ha rauf HaR Hac Mnctpr ctr>K
r-h B
und 296 verbunden. Die X-Eingänge werden über Inverter 406 invertiert, nur um die Leitungserfordernisse der Transistorschalter zu erfüllen, die in dem bevorzugten Ausführungsbeispiel ausgewähl: wurden, um wählbare Verbindungen an vorgegebenen Kreuzungspunkten in der Matrix 36 herzustellen. Wie das in den Fig. 10 und 11 dargestellt ist. ist die Basis jedes Transistors Q\ mit einer der in der V-Richtung verlaufenden Leitungen > verbunden und der Kollektor des Transistors Q 1 ist mit einer Bezugsspannungsquelle V, verbunden. In F i g. 10 ist der Emitter des Transistors Q1 mit einer der in der X-Richtung verlaufenden Leitungen 28, 30, 29 und 27 verbunden, die in Fig. 10 mit ν bezeichnet sind. In F i g. 11 ist ein anderer Matrixkreuzungspunkt dargestellt, bei dem der Emitter des Transistors Q2 nicht mit der in der ,V-Richtung verlaufenden Leitung χ verbunden ist. Daher wird ein adressierter Transistorschalter oder ein Matrixkreuzungspunkt wie z.B. Q1 leitend gemacht, wenn das Potential der in V-Richtung verlaufenden Leitung ν ansteigt und das Potential der in der ,V-Richtung verlaufenden Leitung < fällt, so daß die Basisemitterstrecke des Transistors Q\ leitend wird. Die Inverter wo waren ment ertoraeriicn. wenn ein anderer ι yp des Transistorschalters für die Matrixkreuzungspunkte ausgewählt worden wäre, so daß gleichzeitig Signale gleicher Polarität auf den Leitungen in der V-Richtung und in der X-Richtung erforderlich sind. Die verbundenen Transistorschalter nach Fig. 10 sind in F i g. 5 und den restlichen F i g. 6 bis 9 durch kurze Leitungssegmente dargestellt, wie z. B. die I.eitungssegmente 416. 426. 436 und 446. Die nicht angeschlossenen Matmkreu/-punkte nach Fig. 11 sind durch das Fehlen solcher kurzen Leitungssegmente dargestellt.
Es sei bemerkt, daß die Verbindungen der Transistorschalter an den Kreuzurgspunkten der Matrix 366 einem vorgegebenen Muster folgen. Z. B. werden die Verbindungen der Transistorschalter längs jeder /weiten Diagonale des Matrixteiies 376 hergestellt. D. h.. es gibt keine Verbindung am Matrixkreuzungspunkt 456. während Verbindungen 416 und 436 längs der nächstfolgenden Diagonale des Teiles 376 vorhanden sind. Ebenso bestehen keine Verbindungen an den Matrixkreuzungspunkten 466.476 und 756. die längs der nachfolgenden Diagonale der Teilmatrix 376 liegen, wogegen die Verbindungen 426. 446. 766 und 776 längs der folgenden Diagonaler! vorhanden sine usv^. Die Situation in der Teilmainx 386 ist ähnlich mit der wiederholt, wie das in F i g. 5 gezeigt ist.
Die Matrixteile 376, 386 und 396 erzeugen Ausgangssignale, von denen das mit a bezeichnete Ausgangssignal für das Summenbit auf der Leitung 586 erscheint,
:. das mit e bezeichnete Ausgangssignal für das Übertragsbit auf der Leitung 596 und das mit /bezeichnete Ausgangssignal des Übertragsbits auf der Leitung 60 erscheint. Jedes der Ausgangsbits a, eund /wird erzeugt durch Hne ODER-Verknüpfung der Leitungen der
in ^Richtung des betreffenden Matrixtciles mit Hilfe der Isolalionstransistoren und dem Summentransistor 626, wie das im MatrixtPÜ 376dargestellt ist. Die Bits a. eund i, die durch die Signale auf den Ausgangsleitungen 586. 596 und 606 der F i g. 5 dargestellt werden, können
r. explizit folgendermaßen zusammengefaßt werden. Das Bit a besitzt den Wert I. wenn 1. 3, 5 oder 7 der sieben Bits 5 1 bis 5 7 an den Eingängen der Phasenteiler und Decodiertreiberschaltungen 146, 156 den Wert I besitzen. Das Bit e besitzt den Wert !,wenn 2,3,6 oder 7
■■'< der F.ingangsbits den Wert 1 besitzen. Das Bit /besitzt den Wert 1. wenn 4. 5.6 oder 7 der Eingangsbit den Wert 1 besitzen. In ähnlicher Weise werden die zweitniedrigsten Bits r I bis r7 in dem Spaltenaddierer 136 addiert, um ein isummenDit ü(h ig. 4) und zwei ÜDertragsbits /
:'■ und j zu liefern. Die drittniedrigsten Bits q\ bis q7 werden in ähnlicher Weise in ihrem zugeordneten Spaltcnaddierer addiert, um ein Summenbit eund zwei Übertragsbits g und Ar zu liefern. Die höchststelligen Bits p\ bis ρ 7 werden in einem vierten Spalteraddierer
"' addiert, um ein Summenbit dund zwei Übertragsbits h und /zu erzeugen.
In F i g. 6 ist der Modulo-9-Restwertgener~;or 5 genauer dargestellt. Die zwölf Summen- und Übertragsbits a bis /. die aus der Spaltenaddition in dem
·"■ Addierwerk 11 resultieren, sind in Spalten angeordnet dargestellt entsprechend ihren Gewichten, d. h.. das Summenbit a hat das Gewicht 1. das Summenbit 6 und das Übertragsbit e haben das Gewicht Z das Summenbit rund die Übertragsbits /"und /haben das Gewicht 4 usw. Die Bits a bis /sind in zwei Gruppen 13 und 14 unterteilt, wobei die höherwerligen Bits (die mit dem größeren Gewicht) d bis / zur Gruppe 13 und die weniger bedeutsamen Bits a bis / zur Gruppe 14 gehören. Die Bits der Gruppe 13 bestehen aus drei Wörtern: OOd
-'■■ Ohg und Ikj. Die Bits der Gruppe 14 bestehen aus drei Wörtern: c6a. feO. iOO.
Die Bits der Gmppe 13 werden einem L-Restwertgenerator 15 zugeführt, der den Modulo-9-Restwert der
Summe der drei Wörter C)Od+ Ohg+ Ikj in einer nachfolgend in Verbindung mit F i g. 7 beschriebenen Weise erzeugt. Ähnlich werden die Bits der Gruppe 14 einem E-Restvvertgenerator 16 zugeführt, der den Moclulo-9-Restwert der Summe der Wörter cba + feO+ iOO in der linien in Verbindung mit F ig. 8 zu beschreibenden Weise erzeugt. Der Restwert am Ausgang des L.-Rcstwertgenerators 15 besitzt die Form cint-i vjerziffrigen Wortes, das mit tuvw bezeichnet wird und der Restwert am Ausgang des R-Restwertgenera- π tors 16 besitzt die Form eines aus vier Bits bestehenden Wortes, das mit pqrs bezeicnnet wird. Die beiden Restwertc itivw und pqrs werden dann einem S-Restwertgencrator 17 zugeführt, der den Modulo-9-Restwert der Summe aus tuvw und pqrs in einer in Verbindung mit F i g. 9 näher beschriebenen Weise erzeugt. Dieser Ausgangsiestwert des SRestwertgcncrators 17 isl gleich dem Restwert der Summe der Datonwörtcr also der Summe der Addenden 2\. 2..... 2 und des Augenden I. und wird der Vergleichsschaltung 4 :<> (Fig. 2) zum Vergleich mit dem Ausgangswerl des Modulo-9-Kestwcrt rechner* 8 zugeführt.
In F i g. 7 ist der Aufbau des 1.-Restwertgenerators 15 dargestellt. Dieser umfaßt einen V-Decodierer 18 und einen V-Decodierer 14. Die Signale darstellenden Bits d, ■. i.p und / werden den Eingängen des Decodierer* 18 zugeführt und die signaldarstellenden Hits i. Λ und λ den Eingängen des Decodierer* 19. Die Ausgange 20, 21, 22,
23, 24, 25 und 26 des Decodierer* 18 liefern Kombinationen der w .ihren und invertierten Versionen n der Bits </. g und /. wie das in der /.eichnung dargestellt ist Die Ausgange 21, 22 und 23 sind mit einer gemeinsamen Leitung 28 verbunden und die Ausgänge
24. 25 und 26 mit einer gemeinsamen Leitung 29. Die Leitungen 20, 28, 29 und 27 führen zu einer Reihe von ;-, Invertcrn 30.
Die Schaltungsanordnung besteht aus vier Matrixteilen in 1. m2. in 3 und in 4. Inverter sind dem Matrixteil m 1 zugeordnet und in ähnlicher Weise sind die Inverter 31, 32 und 33 den Matrixteilen in 2. /"3 und m4. leder u. Satz von Invertern 30. 31. 32 und 33 enthält vier Transistoren 34. deren Basen mit den Leitungen 20, 28, 29 und 27 und deren Kollektoren mit den Leitungen 38. 39,40 und 41 \ erblinden sind. In ähnlicher Weise sind die Kollektoren der Inverter 31 des Matrixteiles m2 mit :. Leitungen 38'. 39', 40' und 41' verbunden. Die Kollektoren der Inverter 32 des Matrixteiles sind mit den Leitungen 38". 39", 40 und 41" verbunden. Die Kollektoren der Inverter 33 sind mit den Leitungen 38"', 39'", 40"' und 41" des Mairixiciles /?i4 verbunden. Die F.mitter der Transistoren 34, 35. 36 und 37 sind mit einer Leitung 42 verbunden, die wiederum an das eine Ende eines Widerstandes 43 angeschlossen ist. dessen anderes Lndc mit einer Spannungsquelle Vl verbunden ist. Die Leitungen 38,39,40 und 41 des Matrixteiles m 1 sind mit -.-> den Emittern eines Satzes 44 von Transistoren 48,49,50 und 51 verbunden und die anderen Leitungen der Matrixteile m 2. m 3 und m 4 sind in ähnlicher Weise mit Transistorsätzen 45, 46 und 47 verbunden. Die Basen der Transistoren 48,49,50 und 51 sind über eine Leitung r-i 52 mit einer Spannungsquelle V2 verbunden und ihre Kollektoren sind über eine Leitung 53 mit dem unteren Ende eines Widerstandes 54 verbunden, dessen oberes Ende an eine Spannungsquelle V"3 angeschlossen ist. Das untere Ende des Widerstandes 54 ist auch mit der c5 Basis eines in Kollektorschaltung arbeitenden Ausgangstransisiors 55 verbunden, dessen Kollektor mit der Spannungsquelle V 3 und dessen Emitter mit einer Ausgangsklemme 56 ν erblinden ist.
In ähnlicher Weise weisen die Matrixteile m 2, /7)3 und /;; 4 Ausgangsklemmen 57, 58 und 59 auf.
Der Decodierer 19 besitzt 8 Ausgänge, die mit 60 bis 67 bezeichnet sind, von denen jeder eine Kombination wahrer und komplementärer Versionen der Eingangssignale i, h und k liefert. Die Ausgänge 61 und 62 sind mit einer Leitung 68 verbunden, die Ausgänge 63 und 64 mit einer Leitung 69 und die Ausgänge 65 und 66 mit der Leitung 70. An verschiedenen Kreuzungspunkten der horizontalen Leitungen 38, 39, 40 und 41 und der vertikalen Leitungen 60, 68, 69, 70 und 67 sind die in Fig. IO dargestellten und vorher beschriebenen Kreuzungspunktverbindungen vorgesehen.
Diese sind durch kurze l.eitungssegmente. wie 71, 72, 73 und 74 dargestellt. Diejenigen Kreiizungspunkte. an denen keine solche kurzen l.eitungssegmente vorhanden sind, sind nicht verbunden, wie das in F ι g. 11 dargestellt und vorher beschrieben wurde. Die verbundenen Matrixkreuzpunkte nehmen cmc I)NI)-Verknüpfung der Signale auf den betreffenden horizontalen und vertikalen Leitungen vor. Als Ergebnis erscheinen an den betreffenden Ausgängen 56, 57, 58 und 59 die Bits u. ι. ti und / wie das mit Bezug auf die F i g. fe vorher beschrieben wurde.
In F i g. 8 ist der R-Restwertgcnerator 16 dargestellt, der im wesentlichen in seinem Aufbau und seiner Betriebsweise dem L-Rcstwcrtgenerator 16 ähnelt, der vorher in Verbindung mit F ι g. 7 beschrieben wurde, der aber Verbindungen der Matrix-Kreuzungspunkte anderen Punkten der betreffenden Matrixteile .lufweist. Den verschiedenen Komponenten in F i g. 8 wurden daher Bezugszahlen gegeben, die den Komponenten in Fig./ entsprechen und mit einem Strich versehen wurden Beispielsweise ist der Λ'-Decodierer in Fig. 8 mit 18' bezeichnet und der V-Decodierer in F i g. 8 mit 19'. Signale, die die Bits ;/. b und c darstellen, werden den Eingängen des Decodieren 19' zugeführt und Signale, die die Bits c. f und / darstellen, den Eingängen des Decodierers 18'. Die Bits s. r. qund p. die in Verbindung mit Fig. 6 erwähnt wurden, erscheinen an den Ausgängen 56', 57', 58' und 59'.
In F i ν 9 isl dor S-Rpuwrrtppni'iator 17 dargestellt, der in seinem Aufbau und seiner Arbeitsweise dem L-Restwertgenerator 15 ähnelt, der vorher in Verbindung mit Fig. 7 beschrieben wurde. Den entsprechenden Komponenten des S-Restwertgenerators 17 in F ι g. 9 wurden die gleichen Bezugszahlen gegeben, wie in F i g. 9. die jedoch durch einen Doppelstrich ergänzt wurden. Beispielsweise ist in F i g. 9 der X-Decodierer bezeichnet mit 18" und der .V-Decodierer mit 19". Die Signale, die die Bits p. t. q und u darstellen, werden den Eingängen des .Y-Decodierers 18" zugeführt und die Signale, die die Bits r. -. u und s darstellen, den Eingängendes V-Decodierers 19".
Der Decodierer 18" liefert die folgenden Ausgangssignale an den angegebenen Ausgangsleitungen:
••Ο«: ruft!
"4·· pii/u - ρημι
»8«: pii/u — pu/ii J- ρημι
'•12- : ρημι - /ΰιμι — ρημι ~ piqn
"2(i-: ptijii- pm f.
"24- : p'.qu
9 10
Der K-Decodierer 19" liefert die folgenden Ans- An den Ausgängen 56", 57", 38" und 39" erscheinen
gangssignale an den angegebenen Ausgangsleitungen: die Signale Rt, R 2, /?4 und R 8, die die Bits vom
Gewicht I. 2, 4 ^.nd 8 des Wortes bilden, das den
,, Modulo-9-Restwert der Summe aus luvw und nqis
, darstellt. Dies ist auch der Reswert der Summe der
..)..; ττϊΤλ 4-^7,,; sieben Datenwörter, d. h.. der serhs Addenden 2|, 2:...
. _ In und des Augenden I, wie das in F i g. 2 dargestellt ist.
"-": "" s + 1Π1Λ 4 " " ' Dieser Restwert wird dann /u der Vergleichsschaltung 9
.<}■·: ι™,-, nnrt-vnnMm« übertragen, wo er mn dem Ausgangssignal des
in Modulo-9-Restwertgenerators 8 verglichen wird. Wenn
»4«: ι·/-»-s + ΓπίΛ t-νηΐΛ die beiden Restwerte nicht gleich sind, zeigt die
- , - Vergleichsschaltung 9 einen Fehler an, wie das bei 10 in
F-1 g. 2 dargestellt ist.
I licr/u 1 HIaIt

Claims (1)

Patentansprüche:
1. Schaltungsanordnung zur Prüfung eines Additionsresultates durch Vergleich eines aus dem Resultat gewonnenen Restwertes mit einem aus den einzelnen Operanden gewonnenen Restwertes, dadurch gekennzeichnet, daß die Schaltung (5) zur Erzeugung der Restwerte aus den Operanden enthält:
DE2361512A 1972-12-14 1973-12-11 Schaltungsanordnung zur Prüfung eines Additionsresultates Expired DE2361512C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US00315268A US3816728A (en) 1972-12-14 1972-12-14 Modulo 9 residue generating and checking circuit

Publications (2)

Publication Number Publication Date
DE2361512A1 DE2361512A1 (de) 1974-06-20
DE2361512C2 true DE2361512C2 (de) 1981-09-17

Family

ID=23223633

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2361512A Expired DE2361512C2 (de) 1972-12-14 1973-12-11 Schaltungsanordnung zur Prüfung eines Additionsresultates

Country Status (7)

Country Link
US (1) US3816728A (de)
JP (1) JPS5241134B2 (de)
CA (1) CA1010572A (de)
DE (1) DE2361512C2 (de)
FR (1) FR2211140A5 (de)
GB (1) GB1430814A (de)
IT (1) IT1001100B (de)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4181969A (en) * 1978-01-18 1980-01-01 Westinghouse Electric Corp. System for detecting and isolating static bit faults in a network of arithmetic units
JPS60108675U (ja) * 1983-12-28 1985-07-24 ワイケイケイ株式会社 欄間を有するドアユニツトの竪枠
US4870607A (en) * 1986-07-03 1989-09-26 Nec Corporation Error detection carried out by the use of unused modulo-m code
JPS63240625A (ja) * 1987-03-27 1988-10-06 Nec Corp 障害検出方式
US4994993A (en) * 1988-10-26 1991-02-19 Advanced Micro Devices, Inc. System for detecting and correcting errors generated by arithmetic logic units
US4926374A (en) * 1988-11-23 1990-05-15 International Business Machines Corporation Residue checking apparatus for detecting errors in add, subtract, multiply, divide and square root operations
US5253349A (en) * 1991-01-30 1993-10-12 International Business Machines Corporation Decreasing processing time for type 1 dyadic instructions
DE19851690A1 (de) * 1998-11-10 2000-05-11 Ibm Residuum-Prüfung von Datenumwandlungen
WO2005124578A2 (en) * 2004-06-16 2005-12-29 Discretix Technologies Ltd System, method and apparatus of error detection during a modular operation
US7769795B1 (en) * 2005-06-03 2010-08-03 Oracle America, Inc. End-to-end residue-based protection of an execution pipeline that supports floating point operations
US7739323B2 (en) * 2006-06-20 2010-06-15 International Business Machines Corporation Systems, methods and computer program products for providing a combined moduli-9 and 3 residue generator
US8566383B2 (en) * 2008-10-17 2013-10-22 International Business Machines Corporation Distributed residue-checking of a floating point unit
US9110768B2 (en) * 2012-12-28 2015-08-18 Intel Corporation Residue based error detection for integer and floating point execution units
US9513870B2 (en) 2014-04-22 2016-12-06 Dialog Semiconductor (Uk) Limited Modulo9 and modulo7 operation on unsigned binary numbers
JP6049920B1 (ja) * 2016-01-15 2016-12-21 株式会社 ディー・エヌ・エー 情報処理装置及び情報処理プログラム
DE102018213512A1 (de) * 2018-08-10 2020-02-13 Denso Corporation Fehlererfassungs-arithmetik-logik-einheit-system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3636334A (en) * 1969-01-02 1972-01-18 Univ California Parallel adder with distributed control to add a plurality of binary numbers
US3603776A (en) * 1969-01-15 1971-09-07 Ibm Binary batch adder utilizing threshold counters
US3659089A (en) * 1970-12-23 1972-04-25 Ibm Error detecting and correcting system and method
US3723715A (en) * 1971-08-25 1973-03-27 Ibm Fast modulo threshold operator binary adder for multi-number additions

Also Published As

Publication number Publication date
FR2211140A5 (de) 1974-07-12
GB1430814A (en) 1976-04-07
JPS4990847A (de) 1974-08-30
IT1001100B (it) 1976-04-20
CA1010572A (en) 1977-05-17
US3816728A (en) 1974-06-11
JPS5241134B2 (de) 1977-10-17
DE2361512A1 (de) 1974-06-20

Similar Documents

Publication Publication Date Title
DE2361512C2 (de) Schaltungsanordnung zur Prüfung eines Additionsresultates
DE2132565C3 (de) Umsetzer
DE2256135C3 (de) Verfahren zum Prüfen von monolithisch integrierten Halbleiterschaltungen
DE2150751C3 (de) Digitaler Sinus-Kosinus-Generator
DE2532125C2 (de) Modularbaustein für Datenverarbeitungsanlagen
DE1197650B (de) Parallel-Addierer
DE2063199A1 (de) Einrichtung zur Ausfuhrung logischer Funktionen
DE1185404B (de) Fehlerermittlungsanlage
DE3828290C2 (de)
DE4117726C2 (de) Fehlerkorrekturverfahren und Einrichtung zu dessen Durchführung
DE2900587C3 (de) Decodierschaltung
DE1234054B (de) Byte-Umsetzer
DE69026363T2 (de) Multipositionsverschieber mit Paritätsbitgenerator
DE3587401T2 (de) Maskensignalgenerator.
EP0238978A1 (de) Modulo-2-Addierer zur Verknüpfung von drei Eingangssignalen
WO1990002994A1 (de) Schaltungsanordnung zur addition oder subtraktion von im bcd-code oder dual-code codierten operanden
DE2135607C2 (de) Schaltungsanordnung zur Inkrementierung oder Dekrementierung
EP0110257B1 (de) Schaltungsanordnung zur Adressierung von Baugruppen
DE1574603A1 (de) Binaere Addierschaltung
DE1109422B (de) Asynchrone binaere Additions- und Subtraktionseinrichtung
DE2140858C3 (de) Paritätsbit- Vorhersage schaltung für eine Stellenverschiebeeinrichtung
DE2806039A1 (de) Fluessigkristallanzeigevorrichtung und verwendung der vorrichtung als oszillograph
EP0065037B1 (de) Schaltungsanordnung für eine aus gleichartigen Halbleiterbausteinen aufgebaute logische Verknüpfungsanordnung
EP0191352B1 (de) Anordnung zur Erhöhung oder Erniedrigung eines binären Operanden um einen vorgegebenen Wert
EP0294678B1 (de) Sicherungseinrichtung zum Absichern von Daten in Speichereinheiten einer Datenverarbeitungsanlage unter Verwendung eines Fehlererkennungs- und Fehlerkorrekturcodes

Legal Events

Date Code Title Description
OD Request for examination
D2 Grant after examination
8339 Ceased/non-payment of the annual fee