DE1549373C3 - Verfahren zur Fehlererkennung und Einrichtung zur Durchführung des Verfahrens im Restklassensystem - Google Patents

Verfahren zur Fehlererkennung und Einrichtung zur Durchführung des Verfahrens im Restklassensystem

Info

Publication number
DE1549373C3
DE1549373C3 DE19671549373 DE1549373A DE1549373C3 DE 1549373 C3 DE1549373 C3 DE 1549373C3 DE 19671549373 DE19671549373 DE 19671549373 DE 1549373 A DE1549373 A DE 1549373A DE 1549373 C3 DE1549373 C3 DE 1549373C3
Authority
DE
Germany
Prior art keywords
constants
digits
numbers
zero
error detection
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
DE19671549373
Other languages
English (en)
Other versions
DE1549373A1 (de
DE1549373B2 (de
Inventor
Israil Yakowlewitsch Akuschsky
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Publication of DE1549373A1 publication Critical patent/DE1549373A1/de
Publication of DE1549373B2 publication Critical patent/DE1549373B2/de
Application granted granted Critical
Publication of DE1549373C3 publication Critical patent/DE1549373C3/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)
  • Debugging And Monitoring (AREA)
  • Detection And Correction Of Errors (AREA)

Description

a) alle Ziffern an den Stellen p, bis p,_i und Pj+1 bis p„ Null sind;
b) die Ziffern an den Stellen p; alle Werte von 1 bis. pi — 1 und unabhängig hiervon an den Stellen pj alle Werte von 1 bis pj — 1 annehmen sowie
c) die restlichen Ziffern so gewählt sind, daß die resultierende Zahl im Arbeitsbereich P liegt;
daß aus dem Satz dieser Konstanten in höchstens "Schritten jeweils diejenige gewählt wird, die an
den Stellen i undy mit der zu prüfenden Zahl bzw. dem Zwischenergebnis nach der Subtraktion der vorausgehend gewählten Konstanten übereinstimmt.
3. Vorrichtung zur Durchführung des Verfahrens nach Anspruch 1 und 2, gekennzeichnet durch ein Rechenwerk (1), einen Speicher (4), eine Prüfeinheit (6), ein Steuerwerk (8) und einen »Fehler«- Signalgeber (7), wobei das Rechenwerk (1) gemeinsame Ein- und Ausgänge mit dem die zu prüfende Zahl im erweiterten Basiszahlensystem aufnehmenden Rechenwerk (2) der Rechenmaschine hat und die Ziffer an der zusätzlich eingeführten Stelle pn + 1 verarbeitet, der Speicher (4) mit den Recheneinheiten (1) und (2) verbunden ist und die Prüfkonstanten enthält, die Prüfeinheit (6) am Rechenwerk (1) angeschlossen ist und die Prüfziffer an der Zusatzstelle mit Null vergleicht, das Steuerwerk (8) mit den Rechenwerken (1, 2), dem Speicher (4) und der Prüfeinheit (6) verbunden und der »Fehlen-Signalgeber (7) an der Prüfeinheit (6) angeschlossen ist. ".· ·■
Die Erfindung betrifft ein Verfahren zur Fehlererkennung bei der übertragung bzw. arithmetischen Verarbeitung von informationen in Ziffernrechenmaschinen, bei denen die Zahlen in einem redundanten· Restklassensystem durch Erweiterung der Basis mittels einer zusätzlichen Basiszahl p„+1 dargestellt sind, die größer als jede der Basiszahlen P1, P2 ■ ■ -Pn des Arbeitsbereiches P ist, und Darstellung der Zahlen durch ihre Reste U1, u2,.. ■ «„, <i„+l in diesem erweiterten Basiszahlensystem, wobei zur Prüfung der in diesem erweiterten Basiszahlensystem dargestellten Zahlen in mehreren Prüfschritten bestimmte Konstanten derart abgezogen werden, daß nach der ersten Subtraktion die erste Stelle der Differenz und bei jeder weiteren Subtraktion von dem Zwischenergebnis jeweils der Wert an einer weiteren Stelle p; zu Null wird, bis die Werte an allen nicht redundanten Stellen zu Null geworden sind, wobei die verbleibende redundante Stelle zur Prüfung auf Fehlerfreiheit auf Null geprüft wird.
Ein derartiges Verfahren ist bereits aus der USA.-Patentschrift 3 137 788 bekanntgeworden. Hiernach werden bezüglich der zu überprüfenden Zahl mehrere Schritte ausgeführt, bis alle nicht redundanten Stellen zu Null geworden sind. Jedoch werden zwischen den Subtraktionsschritten auch noch Divisionen ausgeführt, so daß die Gesamtzahl der mathematischen Operationen höher als die Anzahl η der nicht redundanten Basiszahlen ist.
Der Erfindung liegt demgegenüber die Aufgabe zugrunde, ein Verfahren anzugeben, bei dem die Anzahl der Schritte reduziert wird und nur Subtraktionen erforderlich sind.
Diese Aufgabe wird dadurch gelöst, daß zur Fehlererkennung mittels Subtraktion Konstantensätze verwendet werden, deren Konstanten C, für die jeweiligen signifikanten Stellen i so gebildet sind, daß
a) alle Ziffern an den Stellen P1 bis P(^1) Null sind,
b) die Ziffern an den Stellen p, alle Werte von 1 bis Pi — 1 annehmen und
c) die restlichen Ziffern so gewählt sind, daß die resultierende Zahl im Arbeitsbereich P liegt,
und daß aus dem Satz dieser Konstanten in höchstens η Schritten jeweils diejenige gewählt wird, die an der Stelle / mit der zu prüfenden Zahl bzw. dem Zwischenergebnis nach der Subtraktion der vorausgehend gewählten Konstanten übereinstimmt.
Die Vorteile ergeben sich bereits aus der Aufgabenstellung.
Eine weitere Reduzierung der Arbeitsschritte ist dadurch möglich, daß zur Fehlererkennung mittels Subtraktion Konstan'jensätzc verwendet werden, deren
3 4
Konstanten C1-j für die jeweiligen signifikanten Stellen i maschine vorhandenen und zu verarbeitenden Zahlen
und ; = η - i + 1 so gebildet sind, daß jetzt in einem erweiterten Bereich (0; Q) liegen können,
a) alle Ziffern an den Stellen pt bis P1^1 und pJ+l bis w0 )I+ ,
pn Null sind, Q = π Pj = ρ ■ pn+l (4)
b) die Ziffern an den Stellen p, alle Werte von 1 bis j = i
Pi — 1 und unabhängig hiervon an den Stellen Pj
alle Werte von 1 bis ρ j — 1 annehmen sowie ist· .
c) die restlichen Ziffern so gewählt sind, daß die Beispiele
resultierende Zahl im Arbeitsbereich P liegt, τ^- ^ .. , ^ , , ^- . . „
ίο Die Darstellung der Zahl 17 im erweiterten Rest-
daß aus dem Satz dieser Konstanten in höchstens klassensystem lautet jetzt
y Schritten jeweils diejenige gewählt wird, die an den (1, 2, 2, 3, 6).
Stellen i und j mit der zu prüfenden Zahl bzw. dem Die größte eindeutig darstellbare Zahl ergibt sich zu
Zwischenergebnis nach der Subtraktion der voraus- 15 η — ?io 11 — ?iin
gehend gewählten Konstanten übereinstimmt. ^ ~~ ~~
Eine Vorrichtung zur Durchführung des erstgenann- Da aber nur der Bereich (0; P) der Arbeitsbereich ist,
ten Verfahrens ist in Anspruch 3 gekennzeichnet. d. h. der Bereich, in dem die zu verarbeitenden Zahlen
Nachfolgend werden Ausführungsbeispiele der Er- und die Resultate der Operationen mit diesen Zahlen
findung näher erläutert. 20 liegen können, so liegt offenbar ein Fehler vor, wenn
Es seien ein Zwischenergebnis während der Rechnung bzw.
PuPi---Pn übertragung P überschreitet. Im folgenden werden
Zahlen A < P als richtige und Zahlen A > P als
die teilerfremden Basiszahlen eines Restklassensystems unrichtige bezeichnet,
(s. Antonin Svoboda in »Digitale Informations- 25 Es gilt nun der
wandler«, Verlag Vieweg u. Sohn, 1962, S. 543 bis 574). Satz 1.
Eine beliebige ganze Zahl A aus dem Bereich (O; P)
wobei Es sei
P = FlPj, (1) 30 A\: = (a1,a2,...ai_vahai + v...an + 1) (5)
./ — 1
eine Folge aus Zahlen, deren Ziffern außer an der
läßt sich in diesem System folgendermaßen darstellen: Stelle p; gleich sind, d. h. bei denen a; die Werte von
0, 1, 2,...Pi- 1 annimmt. Dann befindet sich in
A = («,-, U2, ... U1 ... Un), (2) 35 jedem der Intervalle
wobei αχ der sich bei der Division der Zahl A durch /. = (j—;(j + l)Q\ mit/ = 0,1,2.. .p,- — 1 (6)
die Basiszahl p,- ergebende Rest ist. ' V Pi' PJ
BeisPiel * 40 je ein Wert dieser Zahlenfolge.
Als Basiszahlen seien P1 = 2, p2 = 3, p35 und Beweis s. schweizerische Patentschrift 489 059.
p4 = 7 gewählt. Der Bereich für eine Zahl A erstreckt Hieraus ergibt sich die wichtige Folgerung: Es gibt
sich damit von 0bisP = 2-3-5-7 = 210. eine und nur eine Zahl A1 mit einem bestimmten Wert
Für A sei nun die Zahl 17 angenommen. Ihre Dar- von ah die im Intervall
stellung in diesem System lautet 45
Es wird nun eine zusätzliche Basiszahl pn+1 einge- V Pi/
fuhrt, die teilerfremd zu allen pj aus (1) ist und der
Bedingung 50 liegt.
- ,. _ , n χ Weiter folgt aus Satz 1 auch der
Pn + l > PiV — i, ^- · ■ ■ n)
gehorcht. Satz 2:
Beispiel 2 Es seien Pi' P2> · · · Pn, Pn+1 die Basiszahlen mit
In dem in obigem Beispiel erwähnten System ist pn + 1 > pj(j = 0, 1, 2... n)
P4 = 1 die größte Basiszahl. Die nächstgrößere Zahl,
die außerdem teilerfremd zu 2,3,5 und 7 ist, beträgt 11. und A = (au «2,... «,-,... «„, «n+1) eine richtige, also
Damit sei nun nicht mit einem Fehler behaftete Zahl. Dann ist eine
,, 60 Zahl
Pn+ 1 = Ps = υ
auch für die folgenden Beispiele angenommen. A> = (a" "2'''' "' ^ "" ''' ""' "n+1^
In dem um pn + 1 erweiterten Restklassensystem wird unrichtig,
die Zahl A durch die Gleichung Beweis: Die Richtigkeit der Zahl A bedeutet ver-
65 einbarungsgemäß, daß
Λ = ("ι, «2. · · · «i, ■ · · Itn, it„+\) (3) n
dargestellt. Dies bedeutet nun, daß die in der Rechen- Pn + 1
5 6
ist. Da aber Bei der Verwandlung der Zahlen des Restklassen
systems in algebraische Zahlen wurde von den im vor- Q < _ö_ liegenden Beispiel gültigen orthogonalen Basen
p« + \ ~ Pi
5 Bx = (1,0,0,0,0) = 1155
(das Gleichheitszeichen bezieht sich auf den Fall „ =(01000)= 1540
ι = η + 1) ist, ist um so mehr A < — . Die Zahl A „ ,„ n . n A,
P, ö3 = (υ, υ, ι, υ, U) —
liegt also in jedem Fall innerhalb des Intervalls D /η λ r> ι m
Wenn aber nun a\ ψ «,· ist, kann die Zahl A' R = (0 0 0 0 1Ϊ - 210
gemäß Folgerung aus Satz 1 nicht im Intervall
?f liegen. Die Zahl A' ist unrichtig, da und dem auch hier gültigen additiven Gesetz Gebrauch
& gemacht. So gilt z. B.:
i4'>ß.>_6_. '5
Pi Pn + l
liegt also
(0; — ) ·.
gemäß
(O, 0, 0, 1, ο,Ί,ο, 0) + (0, 0, 0, 1, 0) = (0, 0,0,2, 0)
330 1386 + 330 = 660
auch
(0, 0) + (0, 0, 0, 0, 1) = (0, 0,1,0, 1)
+ 210 = 1596
Der Satz 2 stellt also folgende für die Entwicklung des Fehlererkennungsverfahrens im Restklassensystem 20 wichtige Tatsache auf: jede Verzerrung der Ziffer an einer Stelle der Zahl macht diese Zahl unrichtig und gibt damit die Möglichkeit zur Fehlererkennung. Darüber hinaus geht aus diesem Satz hervor, daß es
stets nur einen einzigen Wert für die Ziffer gibt, bei 25 Diese Gleichungen (in umgekehrter Richtung) werdem die Zahl richtig wahrgenommen wird. Es ist den bei der Verwandlung einer Zahl angewandt. So leicht einzusehen, daß der Satz nur unter der Vor- ergibt z. B. die Zahl (1, 2, 2, 5, 6):
aussetzung Gültigkeit hat, daß die zusätzliche Basiszahl größer ist als jede beliebige aus den Basiszahlen
der Gleichung (1). Diese Voraussetzung bestimmt die 30
Regel, nach der die Basiszahl pn+l zu wählen ist.
1 · 1155 = 1155
1540 = 3080
1386 = 2772
5 · 330 = 1650
6- 210 = 1260
Beispiel 4
Im Restklassensystem gemäß den Beispielen 1 bis 3
lautet die Darstellung der Zahl 17 35
(1, 2, 2, 3, 6).
Jetzt soll gezeigt werden, daß nur die Ziffer 3 an der
Stelle p4 = 7 eine richtige Zahl ergibt. Andere Ziffern Um die Mehrdeutigkeit der im Restklassensystem
liefern nämlich die Zahlen: 4° dargestellten Zahl auszuschließen und sie auf den
Π 2 2 0 6t — Π37 (erweiterten) Arbeitsbereich zurückzuführen, ist von
I >·»»»' ~ ' der so erhaltenen Summe noch ein passend gewähltes
(1, 2,2, 1, 6) = 1667, Vielfaches von Q = 2310 zu subtrahieren.
Π 0 7 7 (λ\ = 1007 Damit erhält man: 9917 - 4 -2310 = 677.
(' ' ' ' '~ ' 45 Es ist darauf hinzuweisen, daß sich analog zu Satz 2
(1,2,2,4,6) = 347, eine noch wichtigere Tatsache feststellen läßt. Es seien
π "> -> ς (λ — fan p.· die zu den verzerrten Ziffern einer Zahl gehörenden
(i, z, z, 0, o) - 011, Basiszahlen und außerdem
(1, 2, 2, 6, 6) = 1007.
_ 50 Pji Pj2 ·· -Pji - K < pn+1 .
Diese liegen alle außerhalb des Arbeitsbereiches mit Dann macht eine derartige Verzerrung eine richtige
P = 210. Zahl unrichtig. In allen diesen Fällen ist der Fehler
Ferner ist gemäß Satz 1 zu erkennen, daß in den grundsätzlich erkennbar. Diese Tatsache geht unmit-
Intervallen telbar aus Satz 2 hervor, wenn man R als eine der Basis-
n 55 zahlen betrachtet. Dann ist nämlich die Bedingung
10 = (0; 330) mit ^- = ==p = 330 des Satzes 2
Ρ· j? ^- ρ
11 = (330; 660) K "+I
12 = (660; 990) erfüllt und somit seine Aussage anwendbar. Der
60 Fehler an der Stelle R entspricht dann fehlerhaften
Ziffern an den Stellen der Basiszahlen pj.
I6 = (1980; 2310) Beispiel
je eine und nur eine dieser Zahlen liegt. Es sei statt der richtigen Zahl A = (1,2,2,3,6) = 17
Außerdem gilt gemäß Satz 2: 65 die Zahl (0,2,3,3,6) erhalten. Verzerrt sind also die
17 <? ?U) <? Tin Ziffern an den Stellen P1 = 2undp3 = 5. Daß = 2-5
au. = 10 < P5 = 11 ist, ist diese Verzerrung erkennbar.
Anmerkung hierzu: Tatsächlich ergibt (0,2,3,3,6) die Zahl 248, die außer-
7 8
halb des Arbeitsbereiches liegt und damit unrichtig ist. wobei C""'"" " eine Konstante aus dem Teilsatz C'„nn
Ein einzeln auftretender Fehler (Verzerrung einer ist, bei der tm = aj"-'1 ist. Nach dieser Subtraktion
Ziffer) kann also immer durch einfache Prüfung der ergibt sich eine Null auch an der η-ten Stelle des
Lage der Zahl bezüglich des Bereiches (0, P) erkannt Ergebnisses.
werden. Ergibt sich dabei A > P, so ist A mit einem 5 \st a W+ , +. 0, so ist die geprüfte Zahl unrichtig.
Fehler zumindest an einer Stelle behaftet. Anmerkung: Es ergibt sich während desj-ten Prüf-
Bei einer Ziffernrechenmaschine, in der die Zahlen schrittes eine Zwischendifferenz, bei der neben den
m einem Restklassensystem dargestellt sind, ist die j sinngemäß links auftretenden Nullen auch eine Null
Wahrscheinlichkeit des Auftretens eines Einzelfehlers an der Stelle; + 1 auftritt; so läßt man den 0" + l)-ten
infolge der unabhängigen Verarbeitung nach jeder io Prüfschritt aus und geht unmittelbar zum Schritt j + 2
Basiszahl am größten. Die Wahrscheinlichkeit des über, gleichzeitigen Auftretens eines Fehlers an zwei und
mehr Stellen ist dagegen um mehrere Größenordnun- Beispiel 6 gen niedriger als die Wahrscheinlichkeit eines Einzelfehlers. Das oben beschriebene Verfahren ermöglicht 15 Die Umformung einer konkreten Zahl zu Null soll also die Erkennung von Fehlern, die am wahrschein- nun an einem Beispiel veranschaulicht werden, lichsten sind. Das Basiszahlensystem ist aus den vorherigen Bei-
Bis jetzt wurden in allen Beispielen die Zahlen spielen entnommen. Zu diesem System gehören fol-
durch Berechnung ihrer Werte mit Hilfe der ortho- gende 2 + 3 + 5 + 7 — 4= 13 Konstanten:
gonalen Basis des Systems geprüft. Für eine im Rest- 20
klassensystem arbeitende Rechenmaschine ist dieser qi _ n\\ \ \\ Weg unmöglich, da er Rechnungen in einem posi-
tionellen Zahlensystem voraussetzt. Es gibt jedoch da- Q = (0,1,4,4,4); C2 = (0,2,2,2,2)
für ein Prüfverfahren, das sich leicht im Restklassen- /~i _ (no 1 fifiV Γ2 — inn? S IV
system verwirklichen laßt. Dieses Verfahren soll nach- 25 C4 — iO 0 4 3 2Ϊ
stehend beschrieben werden. 3 ~~ ' ' ' '
Es sei C15C2,...^ ein Satz Konstanten, die C4 = (0,0,0,1,10); C% = (0,0,0,2,8); C\ = (0,0,0,3,7);
Zahlen folgender Art sind: c% = (0,0,0,4,5); C% = (0,0,0,5,4);
_ o C% = (0,0,0,6,2).
1" - (tu. fei. · ■ · Wi 30 Die ZahM = (1)2,2,3,6) ist auf Richtigkeit zu prü-
Hill tu — 1, -^, . ■ ■ ΡΊ 1 .
C2" = (0, t22, t23, ... tn+l2) L schritt: A' =A-C\
mit t22 - 1,2, ... p2 ^ = (1Ä2j3j6) _ (U)Ujl) = (0)1)1Ä5)
c<3» = (o, 0, t33,... tn+u3)^ ^ 2 Schritt. A= A, _öi
mit i33 - 1, l, .. · P3= (0)U A5) _ (0,1,4,4,4) = (0,0,2,5,1)
q.aMa...M,r.Uj 3. Schritt: X'" = ^"-C|
mit ίιΊ ' ' ""' Pi 40 = (0,0,2,5,1) - (0,0,2,5,1) = (0,0,0,0,0)
cjr = (o, 0,0,... ο, ίππ, i„+1,„)
mit t„„ = 1,2, ... p„ — 1 Der 4. Prüfschritt wird in Übereinstimmung mit der
vorhergehenden Anmerkung ausgelassen. Das Ergeb-
(Die tiefgestellten Indizes geben die für den Prüfvor- nis der Prüfung ist O5"" = 0, die Zahl A ist also richtig,
gang signifikante Stelle der Zahl an, die hochgestellten 45 Prüfe die Zahl A = (1,2,2,3,0) auf Richtigkeit. Indizes den Ziffernwert der Konstanten an dieser
Stelle·) 1. Schritt: A' = A - C\
Die Gesamtzahl der Konstanten beträgt n„,m n Λ . , ,, /Λ r , o 1m
= (Ι,Ι,Ζ,ό,Ό) — (1,1,1,1, Ij = (Ό,Ι,ί,Ζ,ΙΌ)
Pi + Pi + - - · + Pi + - ■ ■ + Pn - η = M . 50 2 Schritt. A = A, _ c.
Die Prüfung einer Zahl A auf Fehlerfreiheit erfolgt = (0,1,1,2,10) — (0,1,4,4,4) = (0,0,2,5,6)
in η-Schritten (der Prüfvorgang wird nachstehend als . /( '
Umformung zu Null bezeichnet). 3· ^cnntt: A = A - C3
1. Schritt: Man berechnet die Differenz = (0,0,2,5,6) - (0,0,2,5,1) = (0,0,0,0,5)
A' = A - C\x = (0, «2, «3, ... a'm «,;+,) Der 4 Schrin wird ausgelassen. Es hat sich <4"' + 0
wobei Cj1 eine Konstante aus dem Teilsatz CJ" ist, ergeben. Die Zahl A = (1,2,2,3,0) ist folglich unrichtig,
bei der tu = «, ist. Dabei ergibt sich an der ersten Es liegt ein Rechen- bzw. Ubertragungsfehler vor.
Stelle des Ergebnisses eine Null. Anmerkung: Die Umformung zu Null erfolgt ganz
2. Schritt: Man berechnet die Differenz 60 analog zur fortschreitenden Subtraktion der Einer, λ" _ λ· r*i — mn " " " " ϊ Zehner-, Hunderterstellen usw. einer algebraischen
■ A -A-L2 - (U, υ, «3, (I4, ... «„,«„_ j, Zahl Der im Beispiel verwendete Konstantensatz
wobei Cf- eine Konstante aus dem Teilsatz C2 22 ist, besteht nämlich aus den Zahlen bei der i22 = u2' 'st· Dabei wird auch die Ziffer an der
zweiten Stelle gleich Null. 65 n. Schritt: Man berechnet die Differenz
C1 = 1 4 18; 24 509 615/362
C2 = 2; 12; ;90 ; 120; 150; 180
f 6; ;60
C4 = 30
Damit lauten die Prüfschritte im obigen ersten Fall mit (1,2,2,3,6) =17:
1. Schritt: 17 - 1 = 16
2. Schritt: 16 - 4 = 12
3. Schritt: 12 - 12 = 0
und im zweiten Fall mit (1,2,2,3,0) = 1067
1. Schritt: 1067 - 1 = 1066
2. Schritt: 1066 - 4 = 1062
3. Schritt: 1062 -12 = 1050
Es ist damit offenkundig, daß eine weitere Reduktion des Ergebnisses zu Null unmöglich ist.
Aus den oben gegebenen Beispielen geht hervor, daß die Umformung zu Null im ungünstigen Fall n-Prüfschritte (n = Anzahl der Basiszahlen des Arbeitsbereiches) erfordert. Die Zahl der Prüfschritte wird aber bis auf die Hälfte reduziert, wenn man in jedem Schritt die Ziffern an zwei Stellen gleichzeitig zu Null macht.
Hierfür ist aber ein größerer Vorrat an Prüfkonstanten erforderlich. Es läßt sich zeigen, daß die Auswahl der erforderlichen Prüfschritte bei einer solchen paarweisen Umformung am kleinsten wird, wenn man die Ziffern folgenderweise zu Paaren zusammenstellt: P1 und p„, p2 und p„_j, usw. Der Satz Prüfkonstanten umfaßt in diesem Falle P1 ■ pn + p2pn-x + ... + p„ ■ p„ _ Zahlen. 2
" Diese Prüfkonstanten sind dann die kleinsten unter
den Zahlen folgender Art:
werden. Cf.'n'-i ist eine Prüfkonstante aus dem Teilsatz Cf-;,'2 ■"-■ , bei der f22 = «2 und h.n-\ = "n-i >st·
C i]n" — (in, tl2, ίΐ3, . . . tln, fi,„ + i)
rniti,, = 0,1,2, ...Pl - 1 undi1-n = 0,1,2, ... pn- 1
'i;'n-\~ — (0, f22, f23> — · · · ^,«-1,0, f2.>i + l)
mit J22 = 0, 1,2, ... p2 - 1 undi2,„_, = 0,1,2, ...p„_, - 1
C '11'^ + ' = (0,0, ...t„n,tnn ,0, ...0,i„
T2+l 2'2 Il j."+
mit ίπ π = 0, 1, 2,... p„ — 1
T2 2
undi„ „ = 0, 1,2, .../,„ j
2' 2 2
wobei C'i'/„""die Konstante aus dem Teilsatz C'{]·„''■" ist, bei der tn mit M1 und T1 „ mit «„ übereinstimmt.
Damit werden die Ziffern an den Stellen P1 und p„ gleich Null.
2. Schritt: Man berechnet die Differenz
A" = A' - ctn'-\ - 1 = (0,0, r/3",
al', . . . ItI1L2,
0,0, ^+1), wobei die Ziffern an den Stellen p2 undp„_, gleich Null (-)-Schritt: Man berechnet die Differenz
5 -
wobei die Ziffern an den Stellen pn und pn gleich
2 2
Null werden und die Konstante C aus dem "letzten Teilsatz entsprechend den vorher beschriebenen Schritten entnommen ist.
Ergibt sich" nach dieser Operation « w 4= 0,
η 4-1
so ist
die betreffende Zahl unrichtig. Bei diesem Verfahren ist die Auslassung eines Schrittes möglich, nämlich wenn die Ziffern an beiden während dieses Schrittes signifikanten Stellen bereits Nullen sind.
Beispiel 7
Paarweise Umformung bei demselben Basiszahlensystem wie in obigen Beispielen. Hierbei gelten für die Paare P1 und p4 bzw. p2 und p3 die folgenden Prüfkonstanten:
35
40
45
Der Umformungsvorgang umfaßt in diesem Falle folgende \ -Schritte:
1. Schritt: Man berechnet die Differenz
f 0 Ή 1
(0,0,0,0,0) (1,1,2,0,7)
0 (0,2,3,1,8) (1,1,1,1,1)
1 (0,2,2,2,2) (1,0,4,2,9)
2 (0,1,0,3,10) (1,0,3,3,3)
3 (0,1,4,4,4) (1,2,1,4,0)
4 (0,0,2,5,1) • (1,2,0,5,5)
5 (0,0,1,6,6) (1,1,3,6,2)
6
--23
55
60
* 0 '22 2
'23 (0,0,0,0,0) (0,2,0,0,8)
(0,0,1,0,5) 1 (0,2,1,0,1)
0 (0,0,2,0,9) (0,1,0,0,4) (0,2,2,0,6)
1 (0,0,3,0,3) (0,1,1,0,9) (0,2,3,0,10)
2 (0,0,4,0,7) (0,1,2,0,2) (0,2,4,0,3)
3 (0,1,3,0,6)
4 (0,1,4,0,0)
Gesamtzahl der Konstanten:
Pi ■ P4 + Pi ■ Pi = 2 ■ 7 + 3 ■ 5 = 29
Beispiel hierzu:
Prüfe die Zahl A = (1,2,2,3,6) auf Richtigkeit durch paarweise Umformung zu Null
1. Schritt:/!' = A - C\\
= (1,2,2,3,6) - (1,0,3,3,3) = (0,2,4,0,3)
2. Schritt: A" = A' - Cf2,
= (0,2,4,0,3) - (0,2,4,0,3) = 0,0,0,0,0)
Die Ziffer U5" = 0 bestätigt die Richtigkeit der Zahl A.
Prüfe die Zahl A = (0,2,3,3,6) auf Richtigkeit durch paarweise Umformung zu Null:
1. Schritt: A' = A - C°d
= (0,2,3,3,6) - (0,1,0,3,10) = (0,1,3,0,7)
2. Schritt: A" = A' - C2I
= (0,1,3,0,7) - (0,1,3,0,6) = (0,0,0,0,1)
Die Kontrollziffer U5" bestätigt die Unrichtigkeit der Zahl A. Bei der Bestimmung dieser Zahl wurde ein Fehler begangen.
Anmerkung: Auch hier gilt sinngemäß das bei Beispiel 5 Gesagte. Der erweiterte Konstantensatz lautet in diesem Beispiel:
C14 = 0;l;2;3;4;5;6;7;8;9;10;ll;12;13;
C23 = 0; 14; 28; 42; 56; 70; 84; 98; 112; 126;
140;154;168;182;196.
Hs ist daraus sofort ersichtlich, daß jede Zahl aus dem Arbeitsbereich (0;210) durch höchstens zweimalige Subtraktion zu Null reduziert werden kann. Bei Zahlen außerhalb des Arbeitsbereiches verbleibt dagegen immer ein Rest, der auf ihre Unrichtigkeit schließen läßt.
Für das vorgeschlagene Verfahren zur Fehlererkennung ist folgender, sehr wichtiger Umstand kennzeichnend. Es ist nicht nötig, jedes Maschinenwort nach Ausführung jeder Elementaroperation in der Rechenmaschine der beschriebenen Richtigkeitsprüfung zu unterziehen. Im Gegenteil, der Richtigkeitsprüfung müssen nur die Ergebnisse einzelner Abschnitte der Berechnung unterzogen werden, die nicht Zwischen-, sondern Endergebnisse sind. Der Umfang solcher Rechnungsabschnitte und die Häufigkeit der Prüfung richten sich dabei nach den individuellen Besonderheiten des in der Rechenmaschine zu realisierenden Programms. Die Möglichkeit einer solchen Ausführung der Rechnungskontrolle, bei der die Wirksamkeit des vorgeschlagenen Fehlererkennungsverfahrens beträchtlich ansteigt, wird begründet durch den Satz 3:
Es sei eine Reihe von rationellen Operationen ausgeführt worden, deren echtes Resultat bei fehlerfreier Rechnung eine richtige Zahl sein muß, und es sei während des Rechenvorganges ein Fehler einmal bzw. ein Fehler mehrmals an einer der Stellen aufgetreten. Dann ist das Ergebnis der ganzen Rechnung entweder unrichtig oder richtig.
Beweis: Es sei K = (xux2, .. .,xh .. .,xn + l) das echte Resultat der Operationskette und A = (</,, Ii2, ..., (Z1, ..., «„ + ι) das erhaltene Ergebnis. Hat der Fehler die Stelle /?,· betroffen, so ist offenbar
"i'-t = + 1 = Xn
Für «,■ gibt es nur zwei Möglichkeiten: entweder 4= Xj oder «, = .v,. Bei der ersten Variante ist die Zahl A gemäß Satz 2 unrichtig. Bei der zweiten Variante ist sie aber richtig und fällt gleichzeitig mit K zusammen. Daraus geht hervor, daß A das echte Endergebnis der Operationskette ist.
Diese auf den ersten Blick recht einfache Feststellung hat eine wichtige Bedeutung für die Organisation der Fehlerkorrektur in einer im Restklassensystem arbeitenden Ziffernrechenmaschine. Aus dieser Feststellung geht nämlich hervor, daß in das Endergebnis einer Rechnung kein nicht erkennbarer Fehler durch die Operation eintreten kann, da es nur in dem Falle möglich wäre, wenn das Endergebnis richtig und gleichzeitig eine unrichtige Zahl wäre. Der Satz 3 schließt aber diese Möglichkeit aus. Ein während der Ausführung einer Kette von Operationen irgendwo aufgetretener Fehler bleibt entweder bis zum Schluß der Rechnung bestehen und macht sich durch die erfindungsgemäß leicht feststellbare Unrichtigkeit des Endergebnisses bemerkbar, oder er kommt im Laufe der weiteren Rechnung von selbst zur Aufhebung, und dann bekommt man das echte Resultat.
Eine Selbstkorrektur des Fehlers kann sowohl bei überlagerung mehrerer Störungen an derselben Stelle als auch bei einer einfachen Störung zustande kommen.
Wird beispielsweise ein Zwischenergebnis nach Auftreten eines Fehlers an der Stelle p; im Laufe der weiteren Rechnung mit einer Zahl multipliziert, die an der Stelle Pi eine Null hat, so ist das Produkt offenbar schon eine richtige Zahl. Es geht auch so in die weitere Rechnung ein, so daß die Rechnung das echte Resultat liefert, sofern keine neue Störung auftritt.
Der Effekt, welcher bei dem erfindungsgemäßen Fehlererkennungsverfahren durch Beschränkung der Prüfung auf Endergebnisse von Operationsketfen erreicht wird, ist einer einfachen Wiederholung der Rechnung äquivalent. Bei einer solchen Betriebsart steigt die tatsächliche Leistungsfähigkeit der Rechenmaschine um das Zweifache an.
Die nach dem erfindungsgemäßen Verfahren arbehende Vorrichtung zur Fehlererkennung bei der übertragung bzw. der arithmetischen Verarbeitung von Zifferninformationen besteht im wesentlichen aus dem Rechenwerk 1 (Fig. 1), dem Speichert der Prüfeinheit 6 und dem Fehler-Signalgeber 7. Das Rechenwerk 1 dient zur Verarbeitung der Ziffer mit der erfindungsgemäß eingeführten Basiszahl £>„+1. Es ist am Rechenwerk 2 der Rechenmaschine angeschlossen, das aus η Elementarzellen 3 besteht und in dem die zu prüfende Zahl η im System der Basiszahlen pu Pz ■ ■ ■ Pn eingespeichert wird. Der Speicher 4 dient zur Speicherung der erforderlichen Prüfkonstanten, die entsprechend der jeweiligen von Null verschiedenen und als Adresse benutzten Ziffer der im Rechenwerk 2 befindlichen Zahl entnommen werden. Der Speicher 4 besteht aus η je eine Gruppe von Prüfkonstanten aufnehmenden Zellen 5 und liegt mit seinen Ausgängen an den Rechenwerken 1 und 2. Am Rechenwerk 1 ist weiter die zum Vergleich der letzten Ziffer des Prüfungsergebnisses mit Null dienende Prüfeinheit 6 angeschlossen. An dieser liegt schließlich der »Fehler«- Signalgeber 7.
Alle zur Feststellung eines Fehlers erforderlichen Vorgänge werden durch das Steuerwerk 8 gesteuert, das mit den Rechenwerken 1 und 2, dem Speicher 4 und der Prüfeinheit 6 verbunden ist.
Eine Elementarzelle 3 des Rechenwerkes der Rechenmaschine besteht aus einem Speicher für die die Rechenfolge wiedergebende Rechentabelle (F i g. 2),
zwei an diesem angeschlossenen Operandenregistern 10, 11 mit wenigen Stellen zur Speicherung der Operanden und der Laufzeitkette 12, die den Ausgang des Speichers 9 auf den Eingang eines der Register 10, 11, beispielsweise des Registers 11, zurückführt. Die Operanden werden auf Eingänge 13,14 der Register 10,11 gegeben.
Die Fehlererkennungsvorrichtung hat folgende Wirkungsweise:
Die zu prüfende Zahl wird in das Rechenwerk 2 der Rechenmaschine aufgenommen und gelangt über die Eingänge 14 in die Eingangsregister 11 der Rechenzellen.
Nach der Adresse, bestimmt durch die Ziffer an der Stelle P1, wird aus dem Speicher 4 die erste Prüfkonstante entnommen und über die Eingänge 13 in die Eingangsregister 10 der Rechenzellen gebracht. Dann werden aus dem Speicher 9 die Differenzen für jede Stelle entnommen und in die Register 11 gespeichert. Nach der Adresse, bestimmt durch die zweite Ziffer der als Resultat dieser Operation anfallenden Zahl, liest man die nächste Prüfkonstante aus dem Speicher 4. Sie gelangt über die Eingänge 14 in die Register 11 der Rechenzellen. Dann wird wieder die Differenz zwischen der Prüfkonstante und der in den Registern 11 stehenden Zahl ermittelt usw.
Nach n-maliger Ausführung dieser Operation bekommt man die völlig zu Null umgeformte Zahl als Prüfergebnis. Jetzt analysiert die Prüfeinheit 6 die Ziffer an der Stelle pn+1 des Prüfergebnisses und löst den Signalgeber 7 aus, wenn diese keine Null ist, der ein »Fehler«-Signal erzeugt. Alle Vorgänge werden durch Synchronisationsimpulse des Steuerwerkes 8 eingeleitet.
Es ist eine Arbeitsweise der beschriebenen Fehlererkennungsvorrichtung möglich, bei der die zur Umformung zu Null dienenden Prüfkonstanten nicht im Speicher 4, sondern im Speicher 9 der Rechenzellen bereitgehalten werden. In diesem Falle wird die jeweilige umzuformende Ziffer aus dem Register 11 der entsprechenden Rechenzelle über den Ausgang 15 auf die Eingänge 10 der übrigen Rechenzellen gegeben. Die Differenz zwischen den Ziffern der zu prüfenden Zahl und den Ziffern der entsprechenden Prüfkonstante wird unmittelbar im Speicher 9 gebildet.
Liste der verwendeten Formelzeichen
A beliebige, ganze Zahl,
C Konstante zur Prüfung einer im Restklassensystem dargestellten Zahl,
/ Intervall,
K beliebige, ganze Zahl,
M Gesamtzahl der erforderlichen Konstanten C, P obere Grenze des Arbeitsbereichs,
Q obere Grenze des erweiterten Arbeitsbereichs,
R Produkt der Basiszahlen, die den fehlerbehafteten Ziffern einer Zahl zugeordnet sind, i, j laufende Indizes mit 0 < i,j < η + 1,
η Anzahl der Basiszahlen für die Darstellung einer Zahl im Arbeitsbereich,
ρ Basiszahl eines Restklassensystems,
t Ziffer einer Konstanten C in Restklassen-Darstellung,
χ Rest bei Teilung der darzustellenden Zahl durch eine Basiszahl des Restklassensystems,
« ebenso wie x.
Hierzu 1 Blatt Zeichnungen

Claims (2)

Patentansprüche:
1. Verfahren zur Fehlererkennung bei der übertragung bzw. arithmetischen Verarbeitung von Informationen in Ziffernrechenmaschinen, bei denen die Zahlen in einem redundanten Restklassensystem durch Erweiterung der Basis mittels einer zusätzlichen Basiszahl pn+1 dargestellt sind, die größer als jede der Basiszahlen pu p, ..., p„ des Arbeitsbereiches P ist, und Darstellung der Zahlen durch ihre Reste U1, a2, a„, an+l in diesem erweiterten Basiszahlensystem, wobei zur Prüfung der in diesem erweiterten Basiszahlensystem dargestellten Zahlen in mehreren Prüfschritten bestimmte Konstanten derart abgezogen werden, daß nach der ersten Subtraktion die erste Stelle der Differenz und bei jeder weiteren Subtraktion von dem Zwischenergebnis jeweils der Wert an einer weiteren Stelle P1 zu Null wird, bis die Werte an allen nicht redundanten Stellen zu Null geworden sind, wobei die verbleibende redundante Stelle zur Prüfung auf Fehlerfreiheit auf Null geprüft wird, dadurch gekennzeichnet, daß zur Fehlererkennung mittels Subtraktion Konstantensätze verwendet werden, deren Konstanten C1- für die jeweiligen signifikanten Stellen i so gebildet sind, daß
a) alle Ziffern an den Stellen P1 bis Pa-d Null sind,
b) die Ziffern an den Stellen p; alle Werte von 1 bis Pi — 1 annehmen und
c) die restlichen Ziffern so gewählt sind, daß die resultierende Zahl im Arbeitsbereich P liegt,
daß aus dem Satz dieser Konstanten in höchstens η Schritten jeweils diejenige gewählt wird, die an der Stelle i mit der zu prüfenden Zahl bzw. dem Zwischenergebnis nach der Subtraktion der vorausgehend gewählten Konstanten übereinstimmt.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß zur Fehlererkennung mittels Subtraktion Konstantensätze verwendet werden, deren Konstanten Cuj für die jeweiligen signifikanten Stellen i und j = η — i + 1 so gebildet sind, daß
DE19671549373 1967-08-22 1967-08-22 Verfahren zur Fehlererkennung und Einrichtung zur Durchführung des Verfahrens im Restklassensystem Expired DE1549373C3 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DEA0056568 1967-08-22

Publications (3)

Publication Number Publication Date
DE1549373A1 DE1549373A1 (de) 1971-03-25
DE1549373B2 DE1549373B2 (de) 1973-05-24
DE1549373C3 true DE1549373C3 (de) 1975-04-10

Family

ID=6940614

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19671549373 Expired DE1549373C3 (de) 1967-08-22 1967-08-22 Verfahren zur Fehlererkennung und Einrichtung zur Durchführung des Verfahrens im Restklassensystem

Country Status (1)

Country Link
DE (1) DE1549373C3 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2841252A1 (de) * 1978-09-22 1980-04-03 Smolko Einrichtung zur fehlererkennung und -korrektur fuer arithmetische operationen im restklassensystem

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2841252A1 (de) * 1978-09-22 1980-04-03 Smolko Einrichtung zur fehlererkennung und -korrektur fuer arithmetische operationen im restklassensystem

Also Published As

Publication number Publication date
DE1549373A1 (de) 1971-03-25
DE1549373B2 (de) 1973-05-24

Similar Documents

Publication Publication Date Title
DE68920560T2 (de) Restprüfungsvorrichtung zur Fehlerkennung in Additions-, Substraktions-, Multiplikations-, Divisions- und Quadratwurzel-Operationen.
DE102012212304A1 (de) Anordnung mit einem Mikroprozessorsystem
DE1474037C3 (de) Paritätsprüfverfahren und -prüfeinrichtung für datenverarbeitende Maschinen
DE2417932A1 (de) Verfahren und vorrichtung zum gewinnen der zyklischen codegruppe einer binaeren nachricht
DE2047868A1 (de) Schaltung zur Korrektur von Einzel fehlern in den Wortern eines zyklischen (n, k) Codes
DE1549373C3 (de) Verfahren zur Fehlererkennung und Einrichtung zur Durchführung des Verfahrens im Restklassensystem
DE2503152A1 (de) Schaltungsanordnung zur erkennung von durch bauteilausfall verursachten fehlern in der multipliziereinheit eines datenverarbeitungssystems
DE3750756T2 (de) Ausführung von Fehlererkennung unter Verwendung eines ungebrauchten Modulo-m-Kodes.
DE69312457T2 (de) Verfahren zum Erfassen von Ausführungsfehlern in einem Programm
DE102022208087A1 (de) Verfahren zum Überprüfen einer Verarbeitung von Nutzdaten
DE1197651B (de) Datenverarbeitungssystem
DE3132611C2 (de)
DE102013202140A1 (de) Verfahren und Vorrichtung zur Überprüfung eines digitalen Multiplizierers
DE1549372C3 (de)
DE1549375C3 (de)
DE1512583C3 (de) Verfahren und Anordnung zur Fehlererkennung und/oder Korrektur von binären Informationen
DE10126018A1 (de) Verfahren zum Bereitstellen von Fehlerinformationen über Inkonsistenzen in einem System von Differentialgleichungen
EP0267499B1 (de) Verfahren zur Paritätsbitermittlung und zur Überwachung der Übertragung beim Datenschieben sowie Schaltungsanordnung zur Durchführung der Verfahren
DE2841252C2 (de) Einrichtung zur Erkennung und Korrektur mehrfacher Fehler für arithmetische Operationen im Restklassensystem
DE3433679A1 (de) Verfahren und anordnung zur sicherung von wichtigen informationen in speichereinheiten mit wahlweisem zugriff, insbesondere von steuerbits in als cache-speicher arbeitenden pufferspeichern einer datenverarbeitungsanlage
DE102014208379A1 (de) Verfahren und Vorrichtung zum Ermitteln eines Funktionswerts eines bezüglich einer Eingangsgröße invertierten datenbasierten Funktionsmodells
DE102013112020B4 (de) Verfahren und Vorrichtung zum Erkennen von Bitfehlern
DE1549485A1 (de) Anordnung zur Division binaerer Operanden
DE102017213764A1 (de) Vorrichtung zur Zuverlässigkeitsanalyse eines mechatronischen Systems
EP0191452A1 (de) Verfahren und Schaltungsanordnung zur Überwachung der Summe bzw. Differenz zweier Grössen durch Vergleich mit einer dritten Grösse in binärer Darstellung

Legal Events

Date Code Title Description
C3 Grant after two publication steps (3rd publication)