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 RestklassensystemInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1012—Adding 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/104—Adding 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
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
./ — 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, p3 — 5 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.
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,
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-
die Zahl A durch die Gleichung Beweis: Die Richtigkeit der Zahl A bedeutet ver-
65 einbarungsgemäß, daß
Λ = ("ι, «2. · · · «i, ■ · · Itn, it„+\) (3) n
Λ = ("ι, «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äß
(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.
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 |
| 2· | 1540 | = 3080 |
| 2· | 1386 | = 2772 |
| 5 · | 330 | = 1650 |
| 6- | 210 | = 1260 |
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ü-
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.
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.
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,
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)
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ß
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)
| 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 |
-
1967
- 1967-08-22 DE DE19671549373 patent/DE1549373C3/de not_active Expired
Cited By (1)
| 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) |