DE1474040B2 - Einrichtung zur Bildung von Speicheradressen - Google Patents
Einrichtung zur Bildung von SpeicheradressenInfo
- Publication number
- DE1474040B2 DE1474040B2 DE1474040A DE1474040A DE1474040B2 DE 1474040 B2 DE1474040 B2 DE 1474040B2 DE 1474040 A DE1474040 A DE 1474040A DE 1474040 A DE1474040 A DE 1474040A DE 1474040 B2 DE1474040 B2 DE 1474040B2
- Authority
- DE
- Germany
- Prior art keywords
- memory
- keyword
- keywords
- parity
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9014—Indexing; Data structures therefor; Storage structures hash tables
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99953—Recoverability
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99955—Archiving or backup
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
Description
Pj
=
k; (J= l,2...n-k)
f=I
liefert, worin Σ Summe Modulo 2 und yi} eine vorgegebene
charakteristische Koeffizientenmatrix der betreffenden algebraischen Gruppenordnung bedeutet.
3. Einrichtung nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß die Adressen aus dem Paritätsziffernfolgengenerator
(14) zur Adressierung eines ersten Speicherteiles (Primär-Speicher 28) dienen und daß ein mit dem adressierten Inhalt des
ersten Speicherteils adressierter zweiter Speicherteil (Sekundär-Speicher 32) Unterscheidungsadressen
bereithält für diejenigen Fälle, in denen für verschiedene Schlüsselwörter die gleiche Paritätsziffernfolge
errechnet worden ist.
4. Einrichtung nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß ein durch die Paritätsziffernfolgen
adressierter Hilfsspeicher (214) zur Aufnahme von der jeweiligen Eingangsgruppe
zugeordneten zusätzlichen Gruppenelementen dient und daß eine Addiereinheit (220) mit dem
Ausgang des Speichers verbunden ist, welche bestimmte Teile der zusätzlichen Gruppenelemente
und der das Schlüsselwort bildenden Eingangsgruppe addiert und die gebildeten Summen als
Adressen zu einem Adressenwähler (226) eines weiteren, die eigentlichen Informationsaufzeichnungen
enthaltenden Speichers (230) liefert.
5. Einrichtung nach Anspruch 4, dadurch gekennzeichnet, daß die dem Eingangsregister (204)
zugefuhrten Schlüsselworte derart aus Zeilen einer
35
40
45 Gruppenordnung bestehen, daß jede Zeile einen Beisatzleiter aufweist und sich innerhalb eines
bestimmten Hamming-Aostandes von einem Code der gleichen Spalte in der ersten Zeile der Gruppenordnung
befindet und daß der Hilfsspeicher (214) zur Aufnahme der Beisatzleiter dient.
6. Einrichtung nach Anspruch 4 oder 5, dadurch gekennzeichnet, daß die Addiereinheit (220) je
ein Modulo-2-Addierwerk für jedes Ziffernpaar gleicher Stellenordnung der Eingangsgruppe und
der zusätzlichen Gruppenelemente umfaßt.
7. Einrichtung nach Anspruch 1, dadurch gekennzeichnet, daß einem Eingangsschieberegister
(304), das in einer Gruppenordnung eines Fehlerkorrekturcodes dargestellte Schlüsselwörter aufnimmt,
ein Paritätszifferngenerator (312) parallel geschaltet ist, dem eine logische Schaltung (322)
zugeordnet ist, die nur dann ein definiertes Ausgangssignal erzeugt, wenn eine bestimmte gleichbleibende
Bedingung in der gebildeten Paritätsziffernfolge vorliegt, und daß eine Verknüpfungsschaltung
(328) mit den Ausgängen des Eingangsschieberegisters und der logischen Schaltung verbunden
ist, durch welche die Schlüsselwörter und die Ausgangssignale der logischen Schaltung zu
Adressen kombiniert werden.
8. Einrichtung nach Anspruch 7, dadurch gekennzeichnet, daß der Paritätszifferngenerator (312)
ein rückgekoppeltes Schieberegister enthält, das in Gruppen von Speicherzellen (312-1,312-2) unterteilt
ist und zur Aufnahme eines geeigneten Generator-Polynoms dient, daß zwischen die
Gruppen von Speicherzellen Modulo-2-Addierwerke (316) geschaltet sind, deren zweiter Eingang
durch die Rückkopplungs-Leitung (312) des Schieberegisters gebildet wird, und daß mit dem
Parallel-Ausgang (320) des Schieberegisters eine logische Schaltung (322) gekoppelt ist, die nur dann
ein definiertes Ausgangssignal liefert, wenn die erzeugte Paritätsprüffolge einem Beisatzleiter entspricht,
dessen höchste Wertstelle »1« ist.
9. Einrichtung nach Anspruch 7 oder 8, dadurch gekennzeichnet, daß als Verknüpfungsschaltung
(328) für die Eingangsgruppe und die Signale aus der logischen Schaltung (322) ein Modulo-2-Addierwerk
vorgesehen ist.
50 Die Erfindung bezieht sich auf eine Einrichtung zur Bildung unterschiedlicher Speicheradressen aus
Schlüsselwörtern, die zur Identifizierung von Informationen bei deren Gebrauch außerhalb des Speichers
verwendet werden und deren Binärstellenzahl größer ist als die der Speicheradressen.
Eine bekannte Anordnung zur Umwandlung von äußeren Adressen bzw. Schlüsselwörtern in innere
Adressen verwendet logische Schaltungen, die aus mehreren Addierwerken mit gleichen oder verschiedenen
Modulwerten bestehen. Durch diese Schaltungen werden wenigstens zwei Ziffernstellen der äußeren
Adresse zu einer Ziffernstelle der inneren Adresse durch Addition vereinigt. Die Summe wird durch den
Modulwert des betreffenden Addierwerkes dividiert, und der entstandene Rest dient als Adresse. Es wird
so eine Poissonsche Verteilung der Adressen auf den verfügbaren Speicherraum erreicht. Diese auf einer
3 4
empirischen Ableitung beruhende Umwandlungs- Fig. 2 ein Zeitdiagramm der Operation der Ein-
methode ist in ihrer Anwendung auf besondere durch richtung nach F i g. 1,
Codierung und Quantität bestimmte Typen von In- F i g. 3 und 4 detaillierte Blockschaltbilder der Ein-
formationsaufzeichnungen beschränkt. richtung nach F i g. 1,
Aufgabe der Erfindung ist es, eine verbesserte Ein- 5 F i g. 5 und 6 detaillierte Schaltbilder der Module-2-
richtung zur Bildung von Speicheradressen aus belie- Addierwerke von F i g. 3 und 4,
bigen Schlüsselwörtern zu entwickeln, die zur Errei- Fig. 7 ein Blockschaltbild einer Anwendung der
chung einer gleichmäßigen Verteilung der Speicher- Einrichtung von F i g. 1 bis 6 in einem Allzweck-Digi-
adressen auf den zur Verfügung stehenden Speicher- talrechner,
raum von der mathematischen Gesetzmäßigkeit alge- io F i g. 8 und 9 zwei weitere Ausführungsbeispiele der
braischer Codes Gebrauch macht und eine hohe Ar- Erfindung und
beitsgeschwindigkeit aufweist. Gelöst wird diese Auf- Fig. 10 ein detaillierteres Blockschaltbild eines
gäbe dadurch, daß die einem Eingaberegister züge- Teiles der F i g. 9.
führten Schlüsselwörter Elemente einer algebraischen
führten Schlüsselwörter Elemente einer algebraischen
Gruppenordnung sind bzw. in eine solche umgewan- 15 Allgemeine Beschreibung
delt werden, derart, daß die Schlüsselwörter innerhalb Bei den dargestellten Ausführungsbeispielen sind der algebraischen Gruppenordnung über eine Anzahl die einer Mehrzahl von Informationsaufzeichnungen von Untergruppen verteilt sind bzw. werden, daß an zugeordneten Schlüsselwörter jeweils als Codes in einer das Eingaberegister ein aus der Technik der Binär- Gruppenordnung niedergelegt. Durch die auf der Ziffernprüfung bekannter Paritätszifferngenerator an- 20 Struktur einer Gruppenordnung beruhende Umwandgeschlossen ist, der von ausgewählten Binärstellen- lung werden durch Schlüsselwörter dargestellte, nicht gruppen der Schlüsselwörter Paritätsziffernfolgen nach aufeinanderfolgende binäre Zahlen in aufeinandereiner für alle Untergruppen gleichen Vorschrift ablei- folgende oder fast aufeinanderfolgende binäre Zahlen tet, wobei sich für jede Untergruppe eine für diese mit weniger Ziffern umgewandelt.
Untergruppe spezifische Paritätsziffernfolge ergibt, 25 Daher wird eine einem Schlüsselwort zugeordnete und daß die für ein Schlüsselwort abgeleitete Paritäts- Informationsaufzeichnung in einer bestimmten Stelle Ziffernfolge als Speicheradresse einer Adressierschal- in einem Speicher festgelegt.
delt werden, derart, daß die Schlüsselwörter innerhalb Bei den dargestellten Ausführungsbeispielen sind der algebraischen Gruppenordnung über eine Anzahl die einer Mehrzahl von Informationsaufzeichnungen von Untergruppen verteilt sind bzw. werden, daß an zugeordneten Schlüsselwörter jeweils als Codes in einer das Eingaberegister ein aus der Technik der Binär- Gruppenordnung niedergelegt. Durch die auf der Ziffernprüfung bekannter Paritätszifferngenerator an- 20 Struktur einer Gruppenordnung beruhende Umwandgeschlossen ist, der von ausgewählten Binärstellen- lung werden durch Schlüsselwörter dargestellte, nicht gruppen der Schlüsselwörter Paritätsziffernfolgen nach aufeinanderfolgende binäre Zahlen in aufeinandereiner für alle Untergruppen gleichen Vorschrift ablei- folgende oder fast aufeinanderfolgende binäre Zahlen tet, wobei sich für jede Untergruppe eine für diese mit weniger Ziffern umgewandelt.
Untergruppe spezifische Paritätsziffernfolge ergibt, 25 Daher wird eine einem Schlüsselwort zugeordnete und daß die für ein Schlüsselwort abgeleitete Paritäts- Informationsaufzeichnung in einer bestimmten Stelle Ziffernfolge als Speicheradresse einer Adressierschal- in einem Speicher festgelegt.
tung zugeführt wird. Die Schlüsselwörter sind gekennzeichnet als Codes
Die Erfindung gestattet unter Verwendung von aus in einer Gruppenordnung, und die Umwandlung
der Datenprüf- und Datenkollektortechnik bekannten 30 ergibt jeweils Funktionen davon, welche Adresserrim
Einrichtungen und Codierungsformen mit verhältnis- Speicher bezeichnen, an denen die jeweiligen Informäßig
geringem Schaltungs- und Zeitaufwand, eine mationsaufzeichnungen stehen. Im allgemeinen han-Schlüsselwort/Speicheradressenumsetzung
vorzuneh- delt es sich bei den Funktionen um Boolesche Funkmen. Auf Grund der zur Anwendung kommenden tionen. Im besonderen sind die Schlüsselwörter Folgen
algebraischen Gesetzmäßigkeiten wird eine annähernd 35 von binären Ziffern und die Funktionen die Ziffern
gleichmäßige Verteilung der Adressen über den zur einer Paritätsprüffolge für den jeweiligen Code in der
Verfugung stehenden Speicherraum erreicht. Hierbei Gruppenordnung. Jedes Schlüsselwort wird in eine
ist die erneute Bildung der gleichen Speicheradresse Folge von Ziffern umgewandelt, von denen jede eine
aus einem bestimmten Schlüsselwort, um die von die- Funktion von Ziffern des Schlüsselwortes ist und die
sem bezeichneten und zuvor abgespeicherten Daten 40 zur Bezeichnung einer Adresse in einem Speicher
wieder aufzufinden, auch dann gewährleistet, wenn benutzt werden. Wenn höchstens ein Schlüsselwort
das Schlüsselwort in bestimmten Grenzen fehlerhaft in einer Codereihe der Gruppenordnung enthalten
ist. ■■ ist, wird die Adresse der Informationsaufzeichnung, die Zur Erläuterung der in den Ansprüchen und in der dem Schlüsselwort entspricht, direkt durch die Funk-Beschreibung
verwendeten Fachausdrücke wird auf 45 tionen in einem Primärspeicher bezeichnet. Wenn
das Buch von J. S wo boda, »Codierung zur Fehler- mehr als ein Schlüsselwort in einer Zeile in der
korrektur und Fehlererkennung«, München, 1973, - Gruppenordnung vorhanden ist, bezeichnet die EinBezug
genommen. 'Nachfolgend werden für einige gäbe der entsprechenden Speicherstelle in einen
dieser Fachausdrücke Seitenreferenzen zu diesem ! Primärspeicher eine Startadresse für einen Sekundär-Buch
genannt: 50 speicher. In dem Sekundärspeicher werden die Infor-Algebraische
Gruppe und mationsaufzeichnungen, die den Schlüsselwörtern in Gruppencodes S 29 39 der betreffenden Reihe der Gruppenordnung zuge-Binäre
Fehlerkorrektur-Codes und ' ' orln.et *ind' der Reihe nach festgelegt. .. .'
algebraische Codes S 37ff. Dle dargestellten Ausfuhrungsbeispiele der Erfin-
algebraische Codes S 37ff. Dle dargestellten Ausfuhrungsbeispiele der Erfin-
Mindestabstand "..'/.'..'.'.'. S. 19, 20, 38 55 dung nutzt eine Abstandseigenschaft der Fehlerkorrek-
Generatorwort, Generatorpoly- tur-Codes aus. Bestimmte dieserCodes werden als die
nom, Generatormatrix ........ S. 39,40, 48 Schlüsselwörter angesehen, die der gegebenen Mehr-
Syndrom (Fehlervektor) S 45 zahl von Informationsaufzeichnungen zugeordnet sind.
Code-Polynom-Darstellung '.'.'.'.'.'. S. 48 bis 50 Die Schlüsselwörter die einen bestimmten Abstand
Modulo-2-Addition S 22 ^ vonemander haben, befinden sich m derselben Spalte
Fire-Code · · · · · · · ■ g^ der Gruppenordnung, und die dazugehörigen Infor-
'■" mationsaufzeichnungen werden in einem bestimmten
Verschiedene vorteilhafte Ausgestaltungen der Er- Feld eines Speichers festgelegt, das durch die Codes
findung sind aus den Ansprüchen ersichtlich. Nachfol- der ersten Reihe in der Spalte, in der das gegebene
gend werden mehrere Ausführungsbeispiele der Erfin- 65 Schlüsselwort erscheint, bezeichnet wird. Dadurch
dung an Hand von Zeichnungen erläutert. Es zeigt kann ein Schlüsselwort, selbst wenn es bestimmte
Fig. lein Blockschaltbild eines ersten Ausführungs- falsche Stellen enthält, benutzt werden, um eine
beispiels der Erfindung, ■■■■■■-■ Adresse in einem Speicher für die Informationsauf-
zeichnung für ein korrektes Schlüsselwort zu identifizieren.
Die Schlüsselwertumsetzung geschieht in der folgenden Weise:
1. Zunächst wird eine (n,fc)-Gruppencodeordnung, die die gegebene Liste von Schlüsselwörtern einschließt,
derart gekennzeichnet, daß durch eine zugehörige Paritätsprüfung ein gegebenes Schlüsselwort
in eine Adresse umgewandelt wird. Die Gruppencodeordnung erhält man gemäß herkömmlichen
Verfahren, z. B. mit einem Digitalrechner, der mit dem Speichersystem verbunden sein kann.
2. Schaltungen zur Durchführung der Paritätsprüfung sind in das Speichersystem eingebaut. '5
Wenn ein Speichersystem ab und zu für mehr als ■ eine Liste von Schlüsselwörtern verwendet wird,
kann darin eine Paritätsprüfung für jede Liste von Schlüsselwörtern aufgenommen werden, und
die Änderung verschiedener Paritätsprüfungen M
kann durch eine Schalttafel oder eine Lochkarte erfolgen, wodurch die Verbindungen zwischen
den Schaltungen für die Paritätsprüfungen verändert werden, während die Informationen in dem
Speicher dementsprechend umzuordnen sind.
Die Erfindung läßt sich entweder mit einem Dauerspeicher oder mit einem Halbdauerspeicher zusammen
verwenden. Besonders ist sie jedoch für einen Dauerspeicher brauchbar. Zum Beispiel wird bei der
Zeichenerkennungstechnik ein gegebenes Zeichen durch einen binären Code als Ergebnis der Zuordnung
einer »1« oder eine »0« zu jedem seiner vorhandenen bzw. fehlenden Merkmale dargestellt. Die einem
bestimmten Zeichen zugeordnete Information läßt sich dann leicht in einem Speichersystem finden, das
einen Dauerspeicher besitzt, indem man die hierin beschriebenen Einrichtungen anwendet.
Im allgemeinen lassen sich die kürzeste Zugriffszeit und die geringste Zahl leerer Speicherstellen nicht
gleichzeitig erreichen. Diese Faktoren hängen ab von der Verteilung der Schlüsselwörter, d.h. der Liste
von Schlüsselwörtern aus allen möglichen 2" binären Codes. Daher muß ein Kompromiß zwischen diesen
Zielen gefunden werden, und dafür gibt die Erfindung Mittelan.
Beisatz-Erweiterung einer Gruppe
Einige Aspekte der Gruppentheorie, die für die praktische Ausübung der Erfindung von Bedeutung
sind, werden nachstehend beschrieben. Interessierende Literaturstellen sind
a) Artikel »A Class of Binary Signaling Alphabete«, von D. S1 e ρ i a n, Bell System Technical Journal,
Jan. 1956, p. 203, et seq.
b) Buch »Theory and Applications of Finite Groups«, von G. A. M i 11 e r u. a., G. E. Stecker &
Co., New York, 1938.
Eine »Gruppe« wird definiert als ein Satz von Elementen, die folgende Bedingungen erfüllen:
1. In der Gruppe ist ein einziges Produkt zwischen je zwei beliebigen Elementen vorhanden.
2. Die Produktoperation ist assoziativ.
3. Es ist ein Identitätselement vorhanden, dessen Produkt mit einem beliebigen anderen Element
der Gruppe das Element selbst ergibt.
55
4. Es ist ein Inversionselement für jedes Element der Gruppe vorhanden, so daß deren Produkt das
Identitätselement ergibt. Wenn die Produktoperation kommunitativ ist, wird die Gruppe als
Abelsche Gruppe bezeichnet. Wenn ein Teilsatz von Elementen in einer Gruppe die obengenannten
vier Bedingungen erfüllt, wird er als Untergruppe bezeichnet.
Wenn jeder der binären Codes eine Länge von η Bits hat, ist die Zahl aller möglichen binären Codes
gleich 2". Das Produkt zwischen zwei binären Codes, U = (U1, u2 ... u„) und V = (V1, V2... Vn), wird wie
folgt definiert:
U φ V= (U1 © V1, U2 © V2...u„ ® Vn),
worin © die Modulo-2-Addition bezeichnet und M1
und V1 (i = 1, 2... n) entweder »1« oder »0« sind.
Bei dieser Definition eines Produkts bilden alle 2" binären Codes eine Abelsche Gruppe. Ein (n, fc)-Gruppencode
ist eine Abelsche Untergruppe dieser Gruppe, in der die Zahl der binären Codes gleich 2k ist.
Die Abelsche Gruppe von 2" binären Codes kann in der folgenden Gruppencodierung erweitert werden
durch eine Beisatz-Erweiterung unter Verwendung jeder beliebigen Untergruppe davon, bei der es sich
um einen (n, fc)-Gruppencode handelt.
A2 | θ | Tabelle | I | Αμ | Θ | Αμ | |
/ | S2 | © | A3 | S2 | θ | A, | |
S2 | S3 | θ | A2 | S2Q | S3 | θ | Αμ |
S3 | Sv | A2 | s3e | Sy | |||
Sy | A2 | Sy€ | |||||
M3 | |||||||
M3 | |||||||
M3 | |||||||
Hierin sind μ = 2*undy = 2" k. Alle binären Codes
in der ersten Reihe bilden eine Untergruppe. / ist ein Identitätselement. Die zweite bis letzte Zeile werden
»Beisätze« genannt, und ein Element S in jedem Beisatz in der ersten Spalte der Tabelle wird als Beisatzleiter
des betreffenden Beisatzes bezeichnet.
Der Aufbau der Ordnung durch eine Beisatz-Erweiterung einer Gruppe geschieht wie folgt: Es sei
angenommen, daß eine Untergruppe, d.h. alle Elemente in der ersten Reihe, gegeben ist. Jeder beliebige
binäre Code kann dann aus dem Rest aller 2" binären Codes ausgewählt und als S2 eingesetzt werden. Es
wird ein Produkt von S2 mit einem Element A1 in der
ersten Reihe gebildet und in die Spalte von A1 eingesetzt.
Auf diese Weise wird die zweite Reihe gebildet. Ein beliebiger binärer Code wird aus den restlichen
Codes (mit Ausnahme der binären Codes in der ersten und der zweiten Reihe) ausgewählt, z. B. S3, und
S3 φ A1 wird gebildet und in die Spalte von A1 eingesetzt.
Damit ist die dritte Reihe gebildet.
Dieser Prozeß wird wiederholt, bis alle 2" binären Codes ausgewertet sind. Ein Beispiel wird nachstehend
angegeben.
Diese Gruppenordnung oder Beisatz-Erweiterung einer Gruppe hat folgende wichtigen Eigenschaften:
1. Alle 2" binären Codes der Gruppe erscheinen in
der Ordnung ohne zweimaliges Vorkommen. Welcher binäre Code in einem Beisatz auch immer als Beisatzleiter
gewählt wird, man erhält denselben Satz von' binären Codes für den betreffenden Beisatz mit Aus-
nähme der Verschiedenheit der Reihenfolge, in der die
binären Codes darin erscheinen. Unabhängig davon, welcher Beisatz als nächstes kommt, erhält man denselben
Satz von Beisätzen abgesehen von der Verschiedenheit in der Reihenfolge ihres Erscheinens.
2. Eine binäre Folge (^1, p2 ■ ■. Pn-k), die durch die
Paritätsprüfung eines binären Codes (bu b2 ■ ■ ■ b„)
errechnet wird,
.Pi =
(Z = l,2...n-k),
1 = 1
worin Σ Modulo-2-Addition bedeutet und γ^ entweder
1 oder 0 ist, ist für jeden binären Code in derselben Reihe gleich. Der Satz von yy-Elementen wird aus
der Untergruppe der Ordnung, d. h. der ersten Zeile,
gewonnen. Zur Veranschaulichung sei eine Liste von binären Codes, die jeder 4 Bits läng sind, angenommen.
Der Satz von 16 binären Codes (= 24J bildet eine
Abelsche Gruppe, und es sind mehrere Untergruppen vorhanden. Es sei eine Untergruppe angenommen,
die aus (0000), (1011), (0101), (1110) besteht und ein (4,2)-Gruppencode ist. Auf der Grundlage dieser
Untergruppe erhält man folgende Beisatz-Erweiterung
0000
1011
0101
1110
0100 | 1111 | 0001 | 1010 |
0010 | 1001 | Olli | 1100 |
1000 | 0011 | 1101 | 0110 |
Die resultierenden binären Codes werden aus der Untergruppe eliminiert. Es sei angenommen, daß G3
einer der übrigbleibenden binären Codes ist. Alle Summen
" g,G,
werden dann gebildet und aus der Untergruppe entfernt. Das Verfahren wird wiederholt, bis alle binären
Codes aus der Untergruppe eliminiert sind. Das Ergebnis ist eine binäre Matrix, die diese k Generatoren
aus Zeilen aufweist. Diese Matrix kann abgewandelt so aufgezeichnet werden:
[J : G]) k Reihen,
η Spalten
η Spalten
worin / eine Matrixeinheit mit Einsen in nur diagonalen Eigaben und mit Nullen in den übrigen ist. Dabei
wird folgendes Verfahren angewendet:
1. Modulo-2-Addition von Reihen zu einer Zeile und
2. Ersetzen von Spalten oder Ersetzen von Zeilen.
Die Paritätsprüfung
Pj =
wird in Matrixform ausgedrückt:
30
worin (0000) ein Identitätselement der Untergruppe ist. Die Paritätsprüffolge für die Untergruppe ist:
Pn-Ii) = Φι ■ ■ ■ K)
oder
P2 = £>! θ b2
®b4
35.
Eine Paritätsziffernfolge für einen beliebigen binären Code in der ersten Reihe ist P1 =0, p2 = 0. Die
Paritätsprüffolgen für die zweite, dritte und vierte Reihe sind (0,1), (1, 0) bzw. (1,1).
Bestimmung der Koeffizientenmatrix aus einer
Untergruppe
Untergruppe
40 Pi
Pn-k
G
I _
I _
Zur Veranschaulichung sei folgende Untergruppe Die Koeffizienten Vij, die für die Paritätsprüfung 45 angenommen: 00000, Hill, 01010, 10101, 00011,
11100, 01001, 10110. Zwei beliebige binäre Codes G1
und G2 werden ausgewählt, z. B.
bi(j = h2...n- k)
benötigt werden, werden wie folgt erhalten, wenn eine Untergruppe, d. h., die erste Zeile einer Beisatz-Erweiterung,
bekannt ist. Jeder beliebige binäre Code in einer Untergruppe mit 2k binären Codes kann als
Modulo-2-Summe der Generatoren G1, G2 ... Gk bei
richtiger Wahl der binären Koeffizienten g;, d. h. g,- = 1 oder 0, ausgedrückt werden:
Zwei binäre Codes der Untergruppe werden willkürlich mit G1 und G2 bezeichnet. Alle Summen
g/G/
werden gebildet durch Zuordnen aller möglichen Kombination von Einsen und Nullen für die g,-Werte.
G1 = Hill und G2 = 01010.
Indem g1 und g2 die Werte 1 und 0 in allen möglichen
Kombinationen zugeordnet werden, erhält man folgende Codes aus ^1G1 -Fg2G2JOOOOO5IIlIl1OlOlO,
10101. Zum Beispiel erhält man für gt = g2 = 1
10101. Wenn alle diese binären Codes aus der Untergruppe eliminiert werden, ist der Rest 00011, 11100,
01001 und 10110. Darunter wird G3 = 00011 ausgewählt. Wenn die Summe gt G1 + g2 G2 + g3 G3
gebildet wird, erschöpfen binäre Codes, die erhalten werden, indem 1 und 0 den Begriffen gls g2 und g3
zugeordnet werden, sämtliche binären Codes der Untergruppe.
Eine resultierende Matrix ist
Eine resultierende Matrix ist
11111
0 1 0 1 0
0 0 0 11
0 0 0 11
509508/104
Die zweite Zeile wird nach Modulo-2-Art zur ersten Zeile addiert, und das Ergebnis ist
1 | 0 | 1 | 0 | 1 |
0 | 1 | 0 | 1 | 0 |
0 | 0 | 0 | 1 | 1 |
Die dritte und die vierte Spalte werden ausgetauscht; das Ergebnis ist
10 0 1
0 1 1
0 0 1
0 0 1
O | Φ | O | 1 | , bA, | 1 | |
1 | O | O | 1 | |||
O | 1 | O | 1 | |||
1 | Die Paritätsprüfung | ist jetzt | ||||
O | (Pi. P2) = | 2,b3 | bs) | |||
O |
11
Ol
00
Ol
00
10
_01.
oder gleichwertig
oder gleichwertig
P1 = ^1 ®bA
Anwendungen der Beisatz-Erweiterung unter
verschiedenen Umständen
verschiedenen Umständen
Nachstehend wird die Anwendung der Beisatz-Erweiterung einer Abelschen Gruppe unter. verschiedenen
Umständen besprochen. Für jeden Umstand besteht ein anderes Ziel wie folgt:
1. Erster Umstand
Schnelle Zugriffszeit ist das Hauptziel, und die größtmögliche Verringerung der Zahl der leeren
Speicherstellen ist ein wünschenswertes, aber sekundäres Ziel. Es gibt viele Möglichkeiten zur Wahl der
Untergruppe in der ersten Zeile der Beisatz-Erweiterung, weil eine große Zahl von Untergruppen für die
Gruppe von 2" binären Codes besteht. Es wird eine Untergruppe mit der Eigenschaft gewählt, daß in einer
sich auf die Untergruppe beziehenden Beisatz-Erweiterung jede Zeile höchstens ein Schlüsselwort enthält
und die Zahl von Zeilen ohne Schlüsselwort sehr gering ist.
Wenn eine solche Untergruppe entsteht, erhält man einen Satz von /,-,-Werten für eine Paritätsbildung, die sich auf die Untergruppe bezieht, wie es
nachstehend besprochen wird. Jede Paritätsziffernfolge entspricht höchstens einem der Schlüsselwörter.
Daher wird die jedem Schlüsselwort zugeordnete Information in einer Speicherstelle gespeichert, deren
Paritätsziffernfolge dem Schlüsselwort entspricht und
Die dritte Zeile wird nach Modulo-2-Art zur zweiten Zeile addiert, und das Ergebnis ist
als Adresse des Speichers dient. Wenn ein Schlüsselwort mit den Ziffern (Zc1, Zc2 ... k„) gegeben ist, wird
eine Paritätsziffernfolge aus Ziffern (^1, p2 .. ·/>„_*)
errechnet durch die Paritätsbildung
worin Σ Modulo-2-Addition bedeutet. Diese Paritätsbildung läßt sich verwirklichen durch eine Schaltung
mit extrem hoher Arbeitsgeschwindigkeit, da nur eine Modulo-2-Addition nötig ist. Durch Verwendung
der Paritätsziffernfolge als Adresse eines Aktenspeichers wird eine Informationsaufzeichnung, die dem
gegebenen Schlüsselwort zugeordnet ist, in einer Speicherstelle gefunden, deren Adresse diese Paritätsziffernfolge
ist. Die Speicherstellen, deren Adressen den Paritätsziffernfolgen für leere Reihen entsprechen,
erhalten keine Eingaben. Wenn z.B. (1011), (0100) und (1001) als Schlüsselwörter gegeben sind, ist das
Nachstehende eine geeignete Beisatz-Erweiterung für die praktische Ausübung des ersten Merkmals dieser
Erfindung:
25 | 0000 | Beisatz-Erweiterung | 0101 | 1110 | Paritäts ziffernfolge |
0100 0010 1000 |
1011 | 0001 Olli 1101 |
1010 1100 0110 |
00 | |
30 | 1111 1001 0011 |
*■ oi 10 11 |
|||
Die Paritätsbildung ist
ft = K
P2 = Κ ® K
ft = K
P2 = Κ ® K
Die dargestellten Ausführungsbeispiele enthalten eine Schaltung für diese Operation. Es erfolgt eine
Speicherung von Informationsaufzeichnungen, die den Schlüsselwörtern (1011), (0100) und (1001) zugeordnet
sind, in den Speicherstellen mit den Adressen 00, 01 bzw. 10. Keine Informationen werden in der Stelle
mit der Adresse 11 gespeichert. Im allgemeinen besteht
nur eine begrenzte Möglichkeit zur Wahl von Unter-
. gruppen, obwohl die Zahl der möglichen Untergruppen groß ist, und eine Gruppenordnung ohne leere
Zeilen läßt sich nicht leicht herstellen. Wenn versucht wird, die Zahl der leeren Reihen zu reduzieren, kann
• es sein, daß einige Zeilen mehr als ein Schlüsselwort haben. Es muß dann ein Kompromiß geschlossen
werden, wie in Verbindung mit dem nachstehenden zweiten Umstand beschrieben wird.
2. Zweiter Umstand
Sowohl eine möglichst weitgehende Reduzierung der Zahl der leeren Speicherstellen als auch eine kurze
Zugriffszeit sind Hauptziele. Da es sich dabei um etwas widersprüchliche Forderungen handelt, wird
ein Kompromiß geschlossen. Unter dem Umstand (2) wird die Zahl der leeren Reihen dadurch reduziert,
daß in einigen Zeilen mehr als ein Schlüsselwort vorhanden sind. Informationsaufzeichnungen werden
in Speicherstellen gespeichert, die Paritätsziffernfolgen als Adressen haben wie beim Umstand (1). Wenn
mehr als eine Informationsaufzeichnung an einer
Adresse gespeichert werden müssen, weil eine Zeile, die der Paritätsziffernfolge für die betreffende Adresse
entspricht, mehr als ein Schlüsselwort enthält, wird ein zweiter Speicher vorgesehen. Eine Informationsaufzeichnung
wird in dem Primärspeicher gespeichert, wenn das zugeordnete Schlüsselwort das einzige
Schlüsselwort ist, dessen Adresse der Paritätsziffernfolge entspricht, d. h., wenn es das einzige Schlüsselwort
in einer Reihe ist. Wenn ein Schlüsselwort eine Reihe mit anderen Schlüsselwörtern gemeinsam hat,
wird eine Startadresse für ein Feld von Informationsaufzeichnungen, die den Schlüsselwörtern in einer
Reihe im Sekundärspeicher zugeordnet sind, in der Speicherstelle des Primärspeichers gespeichert, deren
Adresse die Paritätsziffernfolge ist. Nach Adressierung des Primärspeichers und nach Adressierung des
Sekundärspeichers erfolgt eine Suchaktion durch das bezeichnete Feld des Sekundärspeichers, bis eine dem
gegebenen Schlüsselwort entsprechende Information gefunden ist.
Der Sekundärspeicher ist gegenüber dem Primärspeicher
nur zur begrifflichen Erleichterung unterschieden worden. Es kann sich dabei auch um verschiedene
Teile desselben Speichers handeln. Es kann aber auch ein Speicher mit wahlfreiem Zugriff als
Primärspeicher und ein Speicher mit serienweisem Zugriff, z. B. eine Magnettrommel oder ein Magnetband,
als Sekundärspeicher benutzt werden.
3. Eine größtmögliche Reduzierung der Zahl der leeren Speicherstellen ist das primäre Ziel und eine
kurze Zugriffszeit das sekundäre. Für den Umstand (3) ist das Ziel eine weitere Verringerung der Zahl der
leeren Speicherstellen auf ein Minimum hinunter. Der Primärspeicher speichert nur Startadressen des
Sekundärspeichers. Wenn die Feldgröße des Sekundärspeichers einheitlich ist, braucht der Primärspeicher
nicht benutzt zu werden. Der Sekundärspeicher wird direkt addressiert durch Paritätsziffernfolgen, an deren
Ende zusätzliche Nullen stehen. Die verlängerten Paritätsziffernfolgen sind die Adressen der Felder
des Sekundärspeichers.
Die vorstehende Einstufung von Umständen ist allgemein, und eine weitere Einteilung durch Berücksichtigung
ihrer einzelnen Merkmale ist möglich. Diese Fälle können als Spezialfälle der vorstehenden
Fälle angesehen werden.
4. Vierter Umstand
Der Fall, daß die Zahl gegebener Schlüsselwörter groß ist und daher angenommen werden kann, daß
die Verteilung von Schlüsselwörtern fast zufällig ist. Dieser Umstand kann als Spezialfall des Umstands (3)
ausgeführt werden.
5. Fünfter Umstand
Der Fall, daß die Zahl gegebener Schlüsselwörter klein ist. Dieser Umstand kann als Spezialfall von
Umstand (1) oder Umstand (3) ausgeführt werden.
6. Sechster Umstand
Einige Schlüsselwörter werden häufiger als andere benutzt, und die Zugriffszeit soll so kurz wie möglich
werden. Dieser Umstand kann als Spezialfall von Umstand (2) ausgeführt werden. Die selten benutzten
Schlüsselwörter werden in möglichst wenig Zeilen einer Gruppenordnung aufgenommen, und die häufig
benutzten Schlüsselwörter werden als ein Schlüsselwort pro Reihe eingesetzt.
Mögliche Verfahren zur Bildung einer Gruppencodeordnung für eine gegebene Liste von Schlüsselwörtern
Nachstehend werden Verfahren zur Bildung einer Untergruppe für eine gegebene Liste von Schlüsselwörtern
angegeben, so daß sich die resultierende Gruppencodeordnung für die praktische Ausübung
der Erfindung eignet.
1. Ausschöpfungsverfahren
Ein Verfahren besteht darin, alle Untergruppen von 2k binären Codes auszuschöpfen. Wenn k linear
selbständige binäre Codes GuG2...Gk gewählt werden,
werden alle binären Codes einer Abelschen Untergruppe durch die lineare Summe
ίο gebildet, indem alle möglichen Kombinationen von
Einsen und Nullen für gu g2 ... g„ ausgeschöpft
werden, wobei die g,-Werte »1« oder »0« sind, wobei g,Gj oder /, / ein Identitätselement (00... 0) ist, wie
g. = »l« bzw. »0«, und wobei Σ die ziffern weise Modulo-2-Addition bedeutet. Die G,-Werte werden
Generatoren der Untergruppe genannt. Wenn alle möglichen Kombinationen von Generatoren erschöpft
sind, werden alle möglichen Untergruppen ausge-
' schöpft. ·*.
Wenn η und k groß sind, kann durch Berücksichtigung
der folgenden Eigenschaften die Zeit für die Ausschöpfung aller möglichen Untergruppen verkürzt
werden. Ein linear selbständiger Satz von Codes wird aus einer in die erste Zeile einzuschließenden Zahl
von Schlüsselwörtern ausgewählt. Diese selbständigen Codes werden als Generatoren gewählt, und binäre
Codes, die keine Schlüsselwörter sind, werden als andere Generatoren gewählt. Es wird geprüft, ob die
gebildeten binären Codes die Schlüsselwörter mit umfassen, die in der ersten Zeile nicht zu erwarten sind.
Wenn die Schlüsselwörter mit umfaßt sind, wird eine andere Kombination von Generatoren ausprobiert.
Das Verfahren wird wiederholt, bis nur die Schlüsselwörter, die in der ersten Zeile zu erwarten sind, in
den aus den Generatoren gebildeten binären Codes erscheinen. Eine Untergruppe in der ersten Zeile
und alle binären Codes der zweiten Zeile bilden eine größere Untergruppe. Die Zahl der binären Codes
ist 2*+I, und ein Beisatzleiter S2 ist der (k + l)-te
Generator dieser Untergruppe. Wenn daher die zweite Zeile irgendeine Anzahl von Schlüsselwörtern aus
der Liste enthalten soll, wird eins der Schlüsselwörter als S2 gewählt und eine Prüfung ausgeführt, um
festzustellen, ob die erste und die zweite Zeile Schlüsselwörter enthalten, die in der ersten und der
zweiten Zeile zu erwarten sind.
Die erste Zeile, die selbst eine Untergruppe ist, und drei von S2, S3 und S2 θ S3 angeführte Beisätze bilden
eine noch größere Untergruppe. Durch Weiterführung des Verfahrens wird der Suchbereich für eine optimale
Untergruppe eingeengt.
2. Halbierungsverfahren
Mit diesem Verfahren erhält man mindestens eine pseudo-optimale Untergruppe. N binäre Codes zu
je η Bits sind in Matrixform angeordnet. Es wird eine Spalte bestimmt, die eine gleiche oder fast gleiche
Anzahl von Einsen und Nullen aufweist. Wenn eine
14
solche Spalte nicht vorhanden ist, werden die anderen
Spalten nach Modulo-2-Weise ziffernweise auf eine der Spalten aufaddiert. Dann wird durch eine Prüfung
festgestellt, ob die resultierende Spalte gleich oder
fast gleich viel Einsen und Nullen enthält Wenn eine solche Spalte oder eine addierte Spalte erlangt wird,
werden die Schlüsselwörter der Liste in zwei Gruppen eingeteilt, und zwar eine mit Einsen in der betreffenden
Spalte und die andere mit Nullen.
Als nächstes muß eine andere Spalte oder eine addierte Spalte gesucht werden, die jede der vorher
halbierten Gruppen von Schlüsselwörtern wiederum in zwei Gruppen je nach Einseh und Nullen in der
betreffenden Spalte unterteilt. Das Verfahren wird wiederholt, bis jede geteilte Gruppe von Schlüssel-Wörtern
höchstens ein Schlüsselwort enthält und ein Minimum oder eine genügend kleine Zahl an Spalten
erlangt ist. Diese (n — /c)-Spalten sind Die ersten beiden Spalten unterteilen die Schlüsselwörter
bis hinunter zu jedem einzelnen Schlüsselwort. Indem man nun zurückverfolgt, welche Spalten addiert
werden, erhält man folgende Paritätsbildung:
Pi = Ki ty K3
P2 = k2®k3@k4.
Dieser Operation entspricht folgende Beisatz-Erweiterung:
Pi Pi
0000 0101 1011 HjO 0 1010 Hü 0001 0100 0
0110 0011 1101 1000 1 0010 Olli 1001 1100 1
Pi =
P2 =
20
Yi2ki
Pn-k =
1 = 1
worin die Spalte p} das Ergebnis der Addition von
Spalten /c,· ist, bei denen y,v = 1 ist. Dieser Satz
von Äquivalenten ergibt Paritätsziffernfolgen, für die jede Reihe einer Beisatz-Erweiterung höchstens
ein Schlüsselwort enthält.
Falls das Verfahren gestoppt wird, wenn einige der geteilten Gruppen von Schlüsselwörtern eine
bestimmte Zahl von Schlüsselwörtern enthalten, erhält man eine Paritätsbildung, für die einige Zeilen einer
Beisatz-Erweiterung mehr als ein Schlüsselwort enthalten.
Wenn z. B. die folgende Liste von Schlüsselwörtern gegebenist: 1110
1111
10 0 0
Olli
10 0 0
Olli
wird die dritte Spalte nach Modulo-2-Art auf die erste aufaddiert, und das Ergebnis ist
0 1 1.0
Olli
10 0 0
1111
Olli
10 0 0
1111
Die dritte und die vierte Spalte werden auf die zweite aufaddiert, und das Ergebnis ist
0 0 10
Olli
10 0 0
.1 1 1 1 .
Olli
10 0 0
.1 1 1 1 .
55
60
65 worin die Unterstreichung die gegebene Liste von Schlüsselwörtern anzeigt.
* Jetzt sei ein weiteres Beispiel angeführt. Wenn
folgende Liste von Schlüsselwörtern gegeben ist
1 1 10 110 1 1111
0 10 1
wird die dritte Spalte nach Modulo-2-Art zur zweiten Spalte addiert, und das Ergebnis ist
10 10 110 1
10 11 0 10 1.
Die erste und die vierte Spalte werden zu der dritten Spalte addiert, und das Ergebnis ist
10 0 0 110 1
10 11 Olli.
Daher ist die Paritätsbildung wie folgt:
P1 = Zc2 θ k3
y2 — ^ ^? 3 *& 4 *
Die entsprechende Beisatz-Erweiterung lautet
Pi Pi 0000 1110 Olli 1001 0
1010
0110
0010
0110
0010
worin die Schlüsselwörter der gegebenen Liste von Schlüsselwörtern unterstrichen sind. Wenn die Beisatz-Erweiterung
in dem vorhergehenden Beispiel für die gegenwärtige Liste von Schlüsselwörtern benutzt wird,,
enthält sie irgendeine Reihe mit mehr als einem Schlüsselwort.
0100 | 1101 | 0011 | 1 | 0 |
1000 | 0001 | 1111 | 0 | 1 |
1100 | 0101 | 1011 | 1 | 1 |
3. Verfahren, das eine Beisatz-Erweiterung benutzt, deren Beisatzleiter eine Untergruppe bilden. Es gibt
eine Beisatz-Erweiterung, deren Beisatzleiter eine gegebene Liste von Schlüsselwörtern enthalten und
eine Untergruppe bilden. Eine Untergruppe wird aus einer gegebenen Liste von Schlüsselwörtern oder einem
Teil davon gebildet. Dann wird eine Beisatz-Erweiterung konstruiert, die die betreffende Untergruppe als
Beisatzleiter enthält.
4. Verfahren, das auf Fehlerkorrekturcodes beruht. Viele Fehlerkorrekturcodes mit verschiedenen Kombinationen
von n, k und Abstand sind bekannt. Mehrgliedrige Fehlerkorrekturcodes können in Gruppencodes
umgewandelt werden. Daher lassen sich Beisatz-Erweiterungen und Paritätsbildungen durch deren
Verwendung erlangen. Wenn ein Fehlerkorrekturcode mit richtigem k und richtiger Abstandseigenschaft
gewählt wird, ist er für die praktische Ausübung der Erfindung brauchbar.
Ausfuhrungsbeispiel I
Gemäß dem vorstehenden Verfahren zur Bildung von Beisatz-Erweiterungen bildet man eine Gruppenordnung
für eine gegebene Liste von Schlüsselwörtern, wonach die entsprechende Paritätsbildung erlangt
wird. Für diese Paritätsbildung wird ein logischer Operator angegeben, und die Informationsaufzeichnungen
werden in einem Speicher entsprechend der Paritätsbildung angeordnet. Nach dieser Anordnung
werden folgende Operationen vorgenommen:
a) Zunächst wird eine Paritätsbildung in bezug auf ein gegebenes Schlüsselwort durch eine logische
Schaltung durchgeführt. Ein binärer Code, der am Ausgang der Schaltung entsteht, wird als
Paritätsziffernfolge bezeichnet.
b) Dann wird die so erhaltene Paritätsziffernfolge als Adresse im Speicher benutzt.
c) Als drittes wird die einem Schlüsselwort zugeordnete Information in einer Eingabe im Speicher
gefunden, wobei die Adresse erlangt wird, wenn die Eingabe nicht mehr als einem Schlüsselwort
entspricht. Wenn die Eingabe mehr als einem Schlüsselwort entspricht, ergibt sie eine Startadresse
für ein Feld von Speicherstellen in einem Sekundärspeicher. Durch Auslesen einer Startadresse
aus der Eingabe erfolgt eine Durchsuchung eines Speicherfeldes, bis die dem gegebenen
Schlüsselwort entsprechende Information erreicht ist.
Fig. 1 ist ein Blockdiagramm einer Anordnung zum Bezeichnen einer Adressenstelle in einem Speicher,
die einem Schlüsselwort in einer Liste von Schlüsselwörtern entspricht, F i g. 2 ist ein Zeitdiagramm
dafür und F i g. 3 bis 6 sind eine detailliertere Darstellung zu F i g. 1.
Im allgemeinen wird ein Schlüsselwort K = ^k2.. .k„ aus einer Liste von Schlüsselwörtern
während der Zeitdauer T1 in einem Schlüsselwortregister
10 eingestellt. Das Schlüsselwort wird der logischen Operatoreinheit 14 und der Vergleichereinheit
18 über Kabel 12 bzw. 16 während der Zeitdauer T2 zugeleitet. Die Paritätsbildung für die Bits
des Schlüsselwortes wird während der Zeit T2 in der
logischen Operatoreinheit 14 entwickelt. Diese Operation bezüglich der η Bits des Schlüsselwortes Zc1... /c„
ergibt eine Paritätsziffernfolge P = P1, p2 ... p„_k
von η — k Bits entsprechend der Paritätsbildungsregel
worin γ^ binäre Koeffizienten sind und Σ nach
Modulo-2-Art ausgeführt wird.
Die Paritätsziffernfolge pt ... p„_t wird über das
Kabel 20 der Primärspeicher-Adreßwählereinheit 24
ίο zugeleitet, die in der Zeit T3 eine Speicherstelle in dem
Primärspeicher 28 mit P als Adresse bezeichnet. Wenn die gesuchte Informationsaufzeichnung im Primärspeicher
28 gefunden wird, wird sie während der Zeit T5 zu der Auswertvorrichtung 55 übertragen.
Wenn die gesuchte Informationsaufzeichnung im Sekundärspeicher 32 gefunden wird, wird sie während
der Zeit TB+1 zu der Auswertvorrichtung 55 übertragen.
Im einzelnen wird ein Schlüsselwort aus einer Liste
Im einzelnen wird ein Schlüsselwort aus einer Liste
20: von Schlüsselwörtern in Form eines binären Codes
K = Ii1, k2... k„ über Kabel 8 in ein Schlüsselwortregister
10 eingespeichert und von dort aus über Kabel 12 dem logischen Operator 14 und über Kabel
18 dem Vergleicher 18 zugeführt. Der logische Operator 14 enthält den Schaltkreis 15 und Modulo-2-Addiereinheiten
100, die noch in Verbindung mit F i g. 3 bis 6 beschrieben werden. Das Ausgangsergebnis des
logischen Operators 14 wird über Kabel 20 dem Adreßwähler 22 zugeleitet. Der Primärspeicher-Adreßwähler
24 des Adreßwählers 22 bezeichnet über Kabel 26 eine Adressenstelle im Primärspeicherteil 28 des
Speichers 30, die der Paritätsprüffolge entspricht, welche am Ausgang des logischen Operators 14 entsprechend
dem Schlüsselwort K im Schlüsselwortregister 10 festgelegt worden ist.
Der Primärspeicher 28 hat beliebig zugängliche Speicherstellen, z. B. 60-1, 60-2, 60-3, 60-4. Die Speicherstellen
60-1 und 60-3 enthalten z. B. die »0« in den Identifizierungsbits und speichern den Schlüssel-Wörtern
zugeordnete Informationsaufzeichnungen. Die Speicherstellen 60-2 und 60-4 z. B. enthalten die »1«
in ihren Identifizierungsbits und speichern die Startadressen A1 bzw. A2 von Speicherfeldern in dem Sekundärspeicher
32. Der Sekundärspeicher 32 besitzt Speidarstellen
70-1, 70-2, 70-3, 70-4, die einer Startadresse
A1 zugeordnet sind, und Speicherstellen 80-1,
80-2, 80-3, 80-4, die einer Startadresse A2 zugeordnet
sind.
Der Speicher 30 kann je nach bestimmten Operationsumständen abgewandelt werden, z. B. können der Primärspeicher 28 und der Sekundärspeicher 32 mit zwei getrennten Speichereinheiten verwirklicht oder in einer einzigen Speichereinheit untergebracht werden. Der Primärspeicher 28 kann z. B. ein Speicher mit wahlfreiem Zugriff und der Sekundärspeicher 32 entweder ein Speicher mit wahlfreiem Zugriff oder ein Speicher mit serienweisem Zugriff, wie z. B. ein Magnetband, eine Magnettrommel oder eine Magnetplatte sein.
Der Speicher 30 kann je nach bestimmten Operationsumständen abgewandelt werden, z. B. können der Primärspeicher 28 und der Sekundärspeicher 32 mit zwei getrennten Speichereinheiten verwirklicht oder in einer einzigen Speichereinheit untergebracht werden. Der Primärspeicher 28 kann z. B. ein Speicher mit wahlfreiem Zugriff und der Sekundärspeicher 32 entweder ein Speicher mit wahlfreiem Zugriff oder ein Speicher mit serienweisem Zugriff, wie z. B. ein Magnetband, eine Magnettrommel oder eine Magnetplatte sein.
Die Informational an der Adressenstelle in dem
Primärspeicher 28 des Speichers 30, die durch den Adreßwähler 24 bezeichnet wird, wird über Kabel 33
in ein Register 34 übertragen. Eine binäre Identifizierungsziffer, die der Information A zugeordnet ist,
wird über Leitung 36 in das Flipflop 38 des Identifizierungsregisters
40 eingestellt. Der »1«-Teil des Flipflops 38 ist über die Verbindung 42 an die Und-Einheit
44 angeschlossen, und sein »0«-Teil ist über
509508/104
die Verbindung 46 und die Umkehrstufe 47 an die Oder-Einheit 48 angeschlossen. Das Ausgangssignal
des Vergleichers 18 wird über Kabel 18 dem Flipflop 23 im Signalregister 21 zugeleitet. Der »1«-Teil des
Flipflops 23 ist über die Verbindung 50 an den Eingang der Oder-Einheit 48 angeschlossen. Der Ausgang
der Oder-Einheit 48 ist über Leitung 51 mit der Und-Schaltung 52 verbunden. Das Register 34 ist
über das Kabel 54 mit der Und-Schaltung 44, über das Kabel 56 mit der Und-Schaltung 52 und über
das Kabel 58 mit dem Vergleicher 18 verbunden. Der »O«-Teil des Flipflops 23 des Registers 21 ist
über den Leiter 60 und die Umkehrstufe 62 an die Sekundäradreßwählereinheit 64 des Adreßwählers 22
angeschlossen. Die Und-Schaltung 52 ist über Kabel 53 mit der Auswertvorrichtung 55 verbunden.
Die im Primärspeicher 28 adressierte Eingabe ist entweder die gewünschte Informationsaufzeichnung
oder die Startadresse des entsprechenden Speicherfeldes im Sekundärspeicher 32. Die Information A
wird aus dem Speicher 30 in das Register 34 übertragen, und ein damit verbundenes Identifizierungsbit,
entweder eine »1« oder eine »0«, wird in das Flipflop 38 des Identifizierungsregisters 40 eingestellt. Wenn das
Identifizierungsbit eine »0« ist, wird das Signal vom »0«-Teil des Flipflops 38 über die Leitung 46 den
Umkehrstufen 47 zugeführt, und die Oder-Schaltung 48 erregt die Und-Schaltung 52 zur Weiterleitung der
Informationsaufzeichnung aus dem Register 34'in die Auswertvorrichtung 55.
Wenn das Identifizierungsbit im Flipflop 38 eine »1«
ist, wird die Und-Schaltung 44 über die Leitung 42 erregt. Die im Primärspeicher 28 adressierte Eingabe
stellt die richtige Startadresse eines Speicherfeldes dar, das aus einer Folge von Speicherstellen im Sekundärspeicher
32 besteht. Die Startadresse wird über Register 34 und Und-Schaltung 44 zum Adreßwähler 22
übertragen. Die Sekundärspeicher-Wähleinheit 64 des Adreßwählers 22 bezeichnet die richtige Startadresse
im Sekundärspeicher 32. Die Information aus der bezeichneten Startadresse im Sekundärspeicher 32
wird dann aus dem Speicher 30 in das Register 34 übertragen. Diese Information besteht aus zwei Teilen,
und zwar aus bestimmten Ziffern eines Schlüsselwortes und der dem Schlüsselwort zugeordneten Informationsaufzeichnung.
Die Ziffern des Schlüsselwortes werden von dort aus dem Vergleicher 18 zugeleitet,
der sie mit den entsprechenden Ziffern des Schlüsselwortes K im Schlüsselwortregister 10 vergleicht. Wenn
eine Übereinstimmung besteht, wird das Flipflop 23 in den »1 «-Zustand gestellt, und wenn keine Übereinstimmung
besteht, gelangt das Flipflop 23 in den »0«-Zustand. Wenn das Flipflop 23 auf »1« gestellt
wird, wird die Und-Schaltung 52 über die Oder-Schaltung 48 erregt, und die I nformationsaufzeichnung
im Register 34 wird zu der Auswertvorrichtung 55 über Kabel 56 und 53 übertragen. Wenn das Flipflop
23 im »0«-Zustand ist, wird die Adreßwählereinheit 64 gestoppt, und die Information in der
nächsten Speicherstelle in dem Speicherfeld wird aus dem Sekundärspeicher 32 in das Register 34 übertragen,
und ihr erster Teil, der aus bestimmten Ziffern eines Schlüsselwortes besteht, wird zum Vergleicher 18
übertragen. Dort wird der Teil mit den entsprechenden Ziffern des Schlüsselwortes im Register 10 verglichen.
Dieser Vorgang wird für die Folge von Speicherstellen in dem bezeichneten Feld des Sekundärspeichers 32
wiederholt, bis eine Übereinstimmung erlangt wird, was durch »1« im Flipflop 23 angezeigt wird. Dann
wird die dem gegebenen Schlüsselwort entsprechende Informationsaufzeichnung im Register 34 zu einer
konventionellen Auswertvorrichtung 55 übertragen, die beispielsweise ein Kartenlocher sein kann.
Die Information in der Speicherstelle im Primärspeicher 28, die mit der Paritätsziffernfolge P adressiert
wird, ist die dem Schlüsselwort zugeordnete Informationsaufzeichnung. Wenn das Schlüsselwort K eins
von mehreren Schlüsselwörtern in einer Reihe der zugeordneten Gruppenordnung ist, wird die zugehörige
Informationsaufzeichnung aus dem Sekundärspeicher 32 gewonnen.
Die zeitliche Steuerung des Ausführungsbeispiels 6 von F i g. 1 sei nun im einzelnen an Hand des Zeitdiagramms
von F i g. 2 beschrieben. Ein Schlüsselwort Zc1 Zc2 Zc3 fc4, bei dem η — A und Zc = 2 sind, wird während
der Zeit T1 in das Schlüsselwortregister 10 eingespeichert.
Während der Zeit T1 wird das Schlüsselwort dem logischen Operator 14 zugeführt und die
entsprechende Paritätsziffernfolge P1 p2 durch den logischen
Operator 14 entwickelt. Während der Zeit T3 wird die Paritätsprüffolge P1 p2 der Primärspeicher-Adreßwählereinheit
24 des Adreßwählers 22 zugeführt und die Adresse der Speicherstelle in dem Primärspeicher
28, die der Paritätsziffernfolge entspricht, durch das Kabel 26 bezeichnet. Während der Zeit T4
wird die Information A in der Speicherstelle des Primärspeichers 28 in das Register 34 eingeführt und das
zugeordnete Identifizierungsbit in das Flipflop 38 des Registers 40 eingestellt. Wenn das Identifizierungsbit
eine »0« ist, zeigt dies an, daß die aus der Speicherstelle ausgelesene Eingabe die dem Schlüsselwort zugeordnete
Informationsaufzeichnung ist. Die Informationsaufzeichnung wird während der Zeit T5 zu der Auswertvorrichtung
55 übertragen. Wenn das Identifizierungsbit eine »1«ist, ist die im Register 34 stehende
Information A die richtige Startadresse, z. B. A1 oder
A2, eines Speicherfeldes im Sekundärspeicher 32. Während
der Zeiten T6 bis TB, wobei B von der Größe des
Speicherfeldes abhängig ist, werden darin enthaltene Eingaben nacheinander aus seinen Speicherstellen
ausgelesen, und zwar beginnend mit dieser Startadresse. Wenn der Vergleicher 18 eine Übereinstimmung
anzeigt, bedeutet dies, daß der andere Teil der abgelesenen Eingabe im Register 34 die dem gegebenen
Schlüsselwort zugeordnete Informationsaufzeichnung ist. Während der Zeit TB+1 wird die Information aus
dem Register 34 in die Auswertvorrichtung 55 übertragen.
Bestimmte Einzelheiten des Schlüsselwortregisters 10 und des logischen Operators 14 werden an Hand
von F i g. 3 bis 6 für die speziellen Umstände von zwei Schlüsselwortlisten R1 und R2 beschrieben. Zwei als
binäre Bitfolgen Zc1 Zc2 Zc3 Zc4 ausgedrückte Listen von
Schlüsselwörtern sind
R1 = (1110, 1111, 1000 und Olli)
R2 = (1110, 1101, 1111 und 0101).
R2 = (1110, 1101, 1111 und 0101).
Die Listen sind in Fig. 3 bzw. 4 dargestellt, und zwar oberhalb der Schaltung. Die jeweilige Paritätsziffernfolge
P1P2 für ein Schlüsselwort Zc1Zc2Zc3Zc4 ist
neben dem Schlüsselwort aufgeführt. Der logische Operator 14 umfaßt einen Schaltkreis 15 und Modulo-2-Addiereinheiten
100-1 und 100-2. In F i g. 3 für R1 sind die Ziffernstellen des Registers 10, die kx und k3
entsprechen, über den Schaltkreis 15 mit der Modulo-2-Addiereinheit 100-1 und die Ic2, Ic3 und Zc4
entsprechenden Ziffernstellen über den Schaltkreis 15 mit der Modulo-2-Addiereinheit 100-2 verbunden. In
F i g. 4 für R2 sind die U2 und Zc3 entsprechenden
Ziffernstellen über den Schaltkreis 16 mit der Modulo-2-Addiereinheit
100-1 und die Zc1, Zc3 und Zc4 entsprechenden
Ziffernstellen über den Schaltkreis 15 mit der Modulo-2-Addiereinheit 100-2 verbunden.
F i g. 5 und 6 stellen die Modulo-2-Addiereinheiten 100-1 und 100-2 von F i g. 3 bzw. 4 genauer dar. Für
die Liste R1 werden die Ziffern Zc1 und Zc3 eines dazugehörigen
Schlüsselwortes den Klemmen 104 bzw. 106 der Modulo-2-Addiereinheit 100-1 und die Ziffern k2,
k3 und Zc4 des Schlüsselwortes den Klemmen 110,108
bzw. 112 der Modulo-2-Addiereinheit 100-2 zugeführt. Um die Modulo-2-Addiereinheiten 100-1 und 100-2
für die Liste von Schlüsselwörtern R2 verwenden zu
können, wird die Verdrahtung im Schaltkreis 15 so verändert, daß die Ziffern Zc2, Zc3, Zc1, Zc3 und Zc4 eines
bestimmten Schlüsselwortes aus der Liste R2 den Klemmen 104,106, 110, 108 bzw. 112 der Modulo-2-J
Addiereinheiten 100-1 und 100-2 zugeführt werden.
In der Modulo-2-Addiereinheit 100-1 sind die Umkehrstufe
114 und die Und-Schaltung 116 an die Klemme 104 und die Umkehrstufe 118 und die Und-Schaltung
120 an die Klemme 106 angeschlossen. Die Ausgänge der Umkehrstufen 114 und 118 sind
mit Und-Schaltungen 120 bzw. 116 verbunden. Die Ausgänge der Und-Schaltungen 116 und 120 sind an
die Eingänge der Oder-Schaltung 122 angeschlossen, deren Ausgang mit der pj-Klemme 124 verbunden ist.
In der Modulo-2-Addiereinheit 100-2 sind die Umkehrstufe
126 und die Und-Schaltung 128 mit der Klemme 108, die Umkehrstufe 130 und die Und-Schaltung
132 mit der Klemme 110 und die Umkehrstufe 134 und die Und-Schaltung 136 mit der Klemme
112 verbunden. Die Ausgänge der Umkehrstufen sind mit den Eingängen der Und-Schaltungen 132 bzw. 128
verbunden, deren Ausgänge an die Eingänge der Oder-Schaltung 138 angeschlossen sind. Die Umkehrstufe
140 und die Und-Schaltung 142 sind mit dem Ausgang der Oder-Schaltung 138 verbunden. Die
ι Ausgänge der Umkehrstufen 140 und 134 sind an die J Eingänge der Und-Schaltungen 136 bzw. 142 angeschlossen,
deren Ausgänge mit dem Eingang der Oder-Schaltung 144 verbunden sind, deren Ausgang
wiederum an die p2-Klemme 146 angeschlossen ist.
Fig. 7 zeigt ein Informationsverarbeitungssystem
148 zur praktischen Anwendung der Erfindung unter Verwendung eines Allzweck-Digitalrechners 152, mit
dessen Hilfe ein flexibler Austausch einer Liste von Schlüsselwörtern ermöglicht wird. Ein Schlüsselwortregister
10, welches ein Eingangskabel 8 besitzt, ist über ein Kabel 150 mit dem Rechner 152 verbunden.
Außerdem ist das Register 10 über ein Kabel 12 mit dem logischen Operator 14 verbunden. Der logische
Operator 14 ist über ein Kabel 20 mit dem Adreßwähler 22 verbunden, dessen Adreßwählereinheit 24
über ein Kabel 26 mit dem Primärspeicher 28 gekoppelt ist. Die Adreßwählereinheit 64 im Adreßwähler 22
ist über ein Kabel 65 mit dem Sekundärspeicher 32 verbunden. Der Speicher 30 ist über das Kabel 36
mit dem Flipflop 38 des Identifizierungsziffernregisters 40 verbunden, welches über Leitung 156 an die Und-Schaltung
44 angeschlossen ist. Der Rechner 152 ist über ein Kabel 158 mit der Und-Schaltung 44 verbunden,
die über das Kabel 160 an die Adreßwählereinheit 64 angeschlossen ist. Der Speicher 30 ist über
ein Kabel 162 mit dem Rechner 152 verbunden. Der logische Operator 14 enthält einen Schaltkreis 15 und
Modulo-2-Addiereinheiten 100.
Der Allzweck-Digitalrechner 152 besitzt einen Speicher mit wahlfreiem Zugriff. Wenn eine Liste von
Schlüsselwörtern verändert wird, wird die Liste von Schlüsselwörtern über das Eingabekabel 7 in den
Rechner 152 eingeführt, der eine geeignete Beisatz-Erweiterung einer Gruppe für die Schlüsselwortliste
durch ein nach den oben beschriebenen Verfahren aufgebautes Rechnerprogramm errechnet. Es verändert
den Schaltkreis 15 im logischen Operator 14 über die Leitung 168 so, daß die Paritätsbildungsregel
erfüllt wird, die vom Rechner aufgestellt worden ist. Wenn der Rechner 152 die geeignete Beisatz-Erweiterung
einer Gruppe für eine gegebene Liste von Schlüsselwörtern identifiziert hat, wird ein Schlüsselwort
aus dem Schlüsselwortregister 10 in den logischen Operator 14 eingeführt, und die dadurch
gebildete Paritätsziffernfolge wird durch das Kabel 20 dem Adreßwähler 22 zugeleitet, der eine Adresse im
Speicher 30 bezeichnet. Wenn die einem Schlüsselwort entsprechende gewünschte Informationsaufzeichnung
sich an der Adresse in dem Primärspeicher 38 befindet, wird sie über Kabel 162 zum Rechner 152 und über
Kabel 159 zur Auswertvorrichtung 55 übertragen. Wenn der Eintrag A an der Adresse in dem Primärspeicher
eine Startadresse für den Sekundärspeicher-32 ist, wird die Eintragung A in ein Register 35 im
Rechner 152 eingegeben, und einige Ziffern des gegebenen Schlüsselwortes werden mit dem Schlüsselwortziffernteil
der Eintragung A im Rechner 152 verglichen. Wenn keine Übereinstimmung besteht, wird die
nächste Eintragung in dem bezeichneten Feld im Sekundärspeicher 32 zum Register 35 des Rechners
152 übertragen. Dieser Prozeß des Auslesens von Einträgen im Speicherfeld und des Vergleichens wird
wiederholt, bis eine Übereinstimmung festgestellt wird. Im allgemeinen gleicht die Wirkungsweise des
Ausführungsbeispiels von F i g. 7 im übrigen der des in Fig. 1 gezeigten Ausführungsbeispiels.
Abwandlungen des Ausführungsbeispiels I
Die nachstehend angegebenen Abwandlungen des Ausführungsbeispiels von F i g. 1 sind unter bestimmten
Umständen vorteilhaft:
1. Wenn eine Liste von Schlüsselwörtern festliegt und eine kurze Zugriffszeit ein erwünschtes Merkmal
ist, kann der Speicher 30 nur einen Primärspeicher enthalten, weil eine Beisatz-Erweiterung einer Gruppe
erreichbar ist, in der jede Reihe höchstens ein Schlüsselwort enthält.
2. Wenn die Zahl leerer Speicherstellen im Speicher 30 so klein wie möglich sein soll oder wenn die
Suchzeit für die einem gegebenen Schlüsselwort zugeordnete Information relativ lang sein darf, kann
der Speicher 30 nur einen Sekundärspeicher umfassen. Für diesen Fall erhält man eine Beisatz-Erweiterung
mit der Eigenschaft, daß die Zeilen entsprechend der Reihenfolge der jeweiligen Paritätsziffernfolgen angeordnet
sind. Jede der gleich gruppierten Zeilen enthält eine gleiche oder fast gleiche Zahl von Schlüsselwörtern.
Nach Erreichung der Beisatz-Erweiterung werden nur die Paritätsziffernfolgen der ersten Zeile in jeder
Reihengruppe verwendet. Das bedeutet die Verwendung eines bestimmten Satzes von Paritätsziffernfolgen,
d. h. von Paritätsziffernfolgen, deren letzte Ziffern
Null sind, anstatt der Verwendung aller aufeinanderfolgenden Paritätsziffernfolgen. Diese Paritätsziffernfolgen
werden als Adressen für den Sekundärspeicher benutzt. Daher ist der Primärspeicher unnötig.
Ein Sonderfall von Umstand 2
Wenn eine nichteinheitliche Verteilung von Speicherfeldern im Sekundärspeicher 32 nötig ist, kann eine
Folge von einigen wenigen Ziffern, die für jede der Paritätsziffernfolgen verschieden sein kann, zu den
letzten paar Ziffern jeder Paritätsziffernfolge in dem bestimmten Satz von Paritätsziffernfolgen addiert
werden. Die Zahl der für jede Paritätsziffernfolge zu addierenden Ziffern muß im voraus angegeben werden.
Die resultierenden Adressen sind allgemein der Boolesche Funktionen von Ziffern eines Schlüsselwortes als
die Relation zwischen den Ziffern einer Paritätsziffernfolge und den Ziffern eines Schlüsselwortes.
3. Wenn die Zahl leerer Zeilen in einer Beisatz-Erweiterung groß ist, erhält man eine solche Beisatz-Erweiterung,
daß viele leere Reihen am Ende der Reihe von Paritätsziffernfolgen erscheinen. Entsprechende
leere Speicherstellen können dann eliminiert oder für völlig andere Zwecke verwendet werden.
, 4. Wenn eine Liste von Schlüsselwörtern häufig geändert wird und zu verwendende Listen von Schlüsselwörtern im voraus bekannt sind, lassen sich die Verbindungen zwischen den Ziffern des Schlüsselwortregisters 10 und der Modulo-2-Addiereinheiten, z. B. 100-1 und 100-2, im logischen Operator 14 im Schaltkreis 15 verändern. Diese Veränderung kann durch steckbare Schalttafeln oder Lochkarten erfolgen, wobei Schaltverbindungen oder Kontakte durch Lochungen entsprechend jeder Liste von Schlüsselwörtern vorgenommen werden.
, 4. Wenn eine Liste von Schlüsselwörtern häufig geändert wird und zu verwendende Listen von Schlüsselwörtern im voraus bekannt sind, lassen sich die Verbindungen zwischen den Ziffern des Schlüsselwortregisters 10 und der Modulo-2-Addiereinheiten, z. B. 100-1 und 100-2, im logischen Operator 14 im Schaltkreis 15 verändern. Diese Veränderung kann durch steckbare Schalttafeln oder Lochkarten erfolgen, wobei Schaltverbindungen oder Kontakte durch Lochungen entsprechend jeder Liste von Schlüsselwörtern vorgenommen werden.
Ausführungsbeispiel II
Das zweite Ausführungsbeispiel umfaßt ein Speichersystem mit einer Anordnung zur Umwandlung eines
Schlüsselwortes in eine Adresse, die sich für zwei Umstände eignet. Beim ersten Umstand ist eine Liste
von Schlüsselwörtern gegeben, die derart in Teillisten unterteilt ist, daß die Schlüsselwörter in einer Teilliste
von einem darin enthaltenen mittleren Schlüsselwort geringere Abstände aufweisen als von Schlüsselwörtern
in anderen Teillisten. Wenn jede Teilliste ein Feld von Speicherstellen bezeichnet, lassen sich die zugeordneten
Informationsaufzeichnungen in dem Speicher gut bearbeiten. Im allgemeinen sind an einer Änderung
des Informationsinhalts eines Speichers oder an der Suche nach darin enthaltenen Informationsaufzeichnungen
einander ähnelnde Schlüsselwörter beteiligt.
Bei dem zweiten Umstand des Ausführungsbeispiels II ist es selbst auf die Gefahr hin, daß ein
gegebenes Schlüsselwort einige falsche Ziffern enthält, erwünscht, die Informationsaufzeichnung aus dem
Speicher zu entnehmen, die dem richtigen Schlüsselwort entspricht.
Mathematisch erhält man eine derartige Beisatz-Erweiterung einer Gruppe, daß jeder binäre Code
einen größeren als einen vorgeschriebenen Abstand von dem binären Code hat, der sich in seiner Spalte
in der ersten Zeile der Gruppenordnung befindet (Tabelle I). Wenn ein Schlüsselwort gegeben ist, besteht
das Verfahren zum Suchen einer Feldinformation darin, einen binären Code abzuleiten, der sich in
seiner Spalte in der ersten Zeile der Gruppenordnung befindet.
Die Wirkungsweise des Ausführungsbeispiels II unterscheidet sich von der des Ausführungsbeispiels I
wie folgt: Mittels des Merkmals I der Erfindung werden mit Paritätsziffernfolgen die Reihen einer
Beisatzerweiterung für gegebene Schlüsselwörter identifiziert. Die Beisatz-Erweiterungen brauchen jedoch
keine Abstandsbestimmungen zu erfüllen. Mittels des
ίο Ausführungsbeispiels II der Erfindung werden die
Spalten einer anderen Beisatz-Erweiterung identifiziert, die diese Abstandsbestimmungen erfüllt. Die
hierfür geeigneten Beisatz-Erweiterungen können nach ■ der Veröffentlichung »Error-Correcting Codes« von
W.W. Peterson, John Wiley Sons, Inc., 1961, aufgebaut werden.
Das Ausführungsbeispiel II ist in F i g. 8 dargestellt. An Hand des in Fig. 2 enthaltenen Zeitdiagramms
wird seine Wirkungsweise leichter verstanden.
Allgemein gilt, daß ein Schlüsselwort in ein Schlüsselwortregister
204 eingespeichert wird. Der logische Operator 210, bei dem es sich um die in Verbindung
mit F i g. 3 bis 6 beschriebene Ausführung handeln kann, bildet eine Paritätsziffernfolge für das Schlüsselwort,
wenn es als Codewort in einer Gruppenordnung gekennzeichnet ist, und der Adressen wähler 213 identifiziert
den Beisatzleiter für dieselbe Zeile der Gruppenordnung, die im Hilfsspeicher 214 gespeichert ist.
Das Modulo-2-Addierwerk 220 bildet die Modulo-2-Summe
zwischen dem über Kabel 222 zugeführten
- ursprünglichen Schlüsselwort und dem bezeichneten Beisatzleiter aus dem Hilfsspeicher 214. Der Adressenwähler
226 bezeichnet das Speicherfeld im Speicher 230, in dem sich alle Aufzeichnungen befinden, deren
zugeordnete Schlüsselwörter einen gegebenen Abstand voneinander haben. Die Informationsaufzeichnungen
in dem bezeichneten Feld werden über das Kabel 232 der Auswertvorrichtung 234 zugeführt.
Im einzelnen wird ein Schlüsselwort K = /cj,/c2 ... k„
über die Eingangsleitungen 202-1, 202-2... 202-n in die Speicherzellen 206 des Registers 204 eingespeichert.
Die Speicherzellen 206-1, 206-2... 206-n sind über das Kabel 208, das die Leitungen 208-1, 208-2...
208-n enthält, mit dem logischen Operator 210 verbunden. Das Ausgangssignal des logischen Operators
210, das eine dem gegebenen Schlüsselwort entsprechende Paritätsziffernfolge ist, wird über das Kabel212
dem Adressenwähler 213 zugeleitet. Der Adressenwähler 213 steuert über das Kabel 215 den Hilfsspeicher
214 mit der Paritätsziffernrolle an. Eine adressierte Speicherstelle des Hilfsspeichers 214 enthält
k Ziffern eines Beisatzleiters einer Reihe der Beisatz-Erweiterung, die der vom logischen Operator
210 gelieferten Paritätsziffernfolge entspricht. Der Hilfsspeicher 214 hat Speicherstellen 214-1, 214-2...
214-2" "k, in die die Beisatzleiter I, S2, S3 ... S^n - /c
einer Beisatz-Erweiterung einer Gruppenordnung, die für die jeweilige Liste von Eingangsschlüsselwörtern
gekennzeichnet ist, eingespeichert werden. Die Ausgangsinformation aus dem Hilfsspeicher 214, bei der
es sich um k Ziffern eines bezeichneten Beisatzleiters handelt, wird über das Kabel 216 den Modulo-2-Addierwerken
des logischen Operators 220 zugeführt, und zwar sind die Leitungen 216-1,216-2... 216-k mit
den Modulo-2-Addierwerken 220-1, 220-2... 220-fe,
verbunden, über die Leitungen 222-1, 222-2... 222-k
sind k Speicherzellen des Registers 204, z. B. 206-1,
23 24
206-2.... 206-fc mit den Modulo-2-Addierwerken anschaulichen. Es ist folgende Liste von Schlüssel-
220-1, 220-2... 220-/c verbunden. Die Ausgänge der Wörtern gegeben:
Modulo-2-Addierwerke 220-1, 220-2... 220-k sind v _ nnmnnrn
jeweils über Leitungen 224-1, 224-2... 224-fc mit dem x ~ ^υιυυυυ;
Adressen wähler 226 verbunden, der über das Kabel 5 K2 — (0110000)
228 die dem Schlüsselwort im Schlüsselwortregister ^ _ /ιιοΐΟΟΟΪ
204 entsprechende Folge vö"ri Informationsaufzeich- 3 · ~
nungen im Speicher 230 bezeichnet. Die im Speicher . K4 = (0101000)
230 bezeichnete Folge von Informationsaufzeichnun- ^- _ fiQoiooO}
gen wird über das Kabel 232 der Auswertvorrichtung io 5
234 zugeführt. . K6 = (1110100)
Für den ersten Anwendungsfall des Ausführungs- ~ ■ _ μ nnn 1001
beispielsll, bei dem mehrere Codes pro Spalte der 7 — ν i
Gruppenordnung vorhanden sind, bezeichnen k Zif- K8 = (0100100)
fern aus dem logischen Operator 220 die Adresse 15 K= Π10000 Π
eines Feldes von Speicherstellen im Speicher 230. 9 — ν
Hinter den k Ziffern aus dem logischen Operator 220 Ki0 = (0010001)
werden Nullen eingesetzt, um getrennte Schritte von
werden Nullen eingesetzt, um getrennte Schritte von
Adressen zu erhalten, die jeder ein Speicherfeld dar- K1 bis K2, K3 bis K5, K6 bis K8 und K9 bis Kj0 sollen
stellen. Wie bereits beschrieben, bezeichnen für den 20 jeweils in die gleichen Felder des Speichers 230 einzweiten
praktischen Anwendungsfall des Ausführungs- gegeben werden. Eine entsprechende Paritätsbildung
beispiels II, bei dem ein Code pro Spalte für die sieht z. B. so aus:
Korrektur fehlerbehafteter Ziffern verwendet wird,
Korrektur fehlerbehafteter Ziffern verwendet wird,
k Ziffern aus dem logischen Operator 220 die Adresse P1 = Zc1 Θ ® k4 φ k5 © Zc7
jeder Speicherstelle im Speicher 230. 25 _ . ffi. ffi k ffi k
Wie das Ausführungsbeispiel 200 dann arbeitet, Pl 2 w 4 w^w 7
wenn mehr als ein Code pro Spalte vorliegen, wird p3 = k3 © k5 ® k6 ® k-,
jetzt an Hand von F i g. 8 und 2 näher beschrieben.
jetzt an Hand von F i g. 8 und 2 näher beschrieben.
Im Zeitabschnitt T1 wird ein Schlüsselwort Dem entspricht folgende Beisatz-Erweiterung, von
K = k[, k'2... k'„ in einer Liste von Schlüsselwörtern 30 der nur ein Teil gezeigt ist, wobei die gegebenen
in die Speicherzellen 206-1, 206-2... 206-n des Regi- Schlüsselwörter unterstrichen sind:
stos 204 über die Eingangsleitungen 202-1, 202-2 mmm mim mQm mQm
202-n eingespeichert. Im Zeitabschnitt T2 wird das
Schlüsselwort K über die Kabel 208 und 222 den 1000000 0101000 0010100 0110001
logischen Operatorerι 2101 tew./218 zugeführt. Der 35 0100000 1001000 mpjOO ' 1010001
logische Operator 210 liefert die Pantatsziffernfolge
für das Schlüsselwort K entsprechend dem Ausdruck 0010000 1111000 1000100 1100001 .....
1100000 0010001 . ....
p'j = ]^~y^(/ = \,2...n-k), 40 1010000
i=1
0110000
worin p'j das>te Bit der Paritätsziffernfolge und y'n ein 1110000 0011000 0100100
Koeffizient »1« oder »0«, der aus der Beisatz-Erweiterung einer Gruppe für die Liste von Schlüssel- 45 Die letzten vier Ziffern der Beisatzleiter (0000000),
Wörtern bestimmt wird, sind. Die Indexstriche sollen (1000000), (0100000).. .(1110000) sind im Hilfsspeidie
Matrix [/·,·] für die Anwendung beim Ausführungs- eher 214 gespeichert, d. h. (0000), (0000), (0000) bzw.
beispiel I von der Matrix \y\j\ für die An Wendung beim (0000). Wenn z. B. das Schlüsselwort (0100100) gege-Ausführungsbeispiel
II unterscheiden. Der Adressen- ben ist, wird die Paritätsbildung (111) durch den logiwähler
213 bezeichnet über das Kabel 215 im Zeit- 50 sehen Operator 210 gemäß der vorstehenden Paritätsabschnitt T3 einen der Beisatzleiter /,S2, S3 ... S2 n — k bildung gebildet. Der Hilfsspeicher 214 wird durch
im Hilfsspeicher 214. Dann werden k Ziffern des die Paritätsziffernfolge(111)angesteuert. Inder adresbezeichneten
Beisatzleiters über das Kabel 216 im sierten Speicherstelle werden die letzten vier Ziffern
Zeitabschnitt T4. dem logischen Operator 220 züge- (0000) des Beisatzleiters (1110000) festgestellt. Diese
führt. Die Modulo-2-Summen der k Ziffern aus dem 55 Ziffern (0000) werden nach Modulo-2-Art zu den
Kabel 216 und der k Ziffern aus dem Kabel 222 werden letzten vier Ziffern (0100) des gegebenen Schlüsselin
den Modulo-2-Addierwerken 220-1 bis 220-/c gebil- Wortes durch den logischen Operator 220 addiert,
det und über das Kabel 224 dem Adressenwähler 226 Die resultierenden Ziffern (0100) auf den Leitungen
zugeleitet. Er bezeichnet im Zeitabschnitt T5 eine 224-1 bis 224-k veranlassenden Adressenwähler 226,
Adresse für eine Speicherstelle oder die Startadresse 60 die Adresse über das Kabel 228 im Speicher 230 zu
eines Feldes der Speicherstellen 230-1,230-2... 230-2* bezeichnen. Für den im voraus erwähnten ersten Anim
Speicher 230. Die durch das Schlüsselwort K iden- wendungsfall gilt, daß, wenn die maximale Zahl von
tifizierte Folge von Informationsaufzeichnungen wird Schlüsselwörtern aus der Liste in einer Spalte vier ist,
. über das Kabel 232 zu der herkömmlichen Auswert- zwei Nullen nach den Resultatziffern eingesetzt werden,
vorrichtung 234 übertragen, bei der es sich um einen 65 um (010000) zu erlangen. Diese Adresse bezeichnet
Kartenlocher handeln kann. das Feld von Informationsaufzeichnungen im Speicher Das folgende numerische Beispiel soll die Wirkungs- 230 in den mit dieser Adresse (010000) beginnenden
weise des Ausführungsbeispiels nach Fig. 8 ver- Speicherstellen.
Ausfuhrungsbeispiel III
Die Beschaffenheit und die Wirkungsweise eines anderen Ausführungsbeispiels 300 der Erfindung wird
nun an Hand von Fig. 9, 10 und 2 beschrieben. Die in Fig. 9 gezeigte Entschlüsselereinheit 302 ist
zum Entschlüsseln eines Schlüsselwortes ausgelegt, das als binärer »Fire«-Code angesehen wird, der
durch das Generator-Polynom
G(x) = (x5 + x2 + 1) (x9 + 1)
= x14 + x11 + x9 + xs + x2 + 1
erzeugt wird. In der Technik der Fehlerkorrekturcodes hat dieser »Fire«-Code eine Länge η = 9(25 — 1) = 279
und korrigiert jeden als Einzelstoß auftretenden Fehler mit der Länge 5 oder darunter. Er enthält 14 Prüfziffern
und 265 Informationsziffern. Daher gilt für die Schlüsselwörter zur praktischen Anwendung der Erfindung
mit dem Ausführungsbeispiel III, daß η = 279, k = 265
und π — k = 14. Das Register 312 ist in Fig. 9 nur teilweise gezeigt und in Fig. 10 im einzelnen
dargestellt.
Ein Schlüsselwort K = Zc1, k2.. .k„ von einer Liste
von Schlüsselwörtern wird über die Klemme 301 in die Entschlüsselereinheit 302 eingeführt. Das Schlüsselwort
wird über die Leitung 303 in ein Pufferschieberegister 304 eingespeichert, das Speicherzellen 304-1,
304-2... 304-n hat. Außerdem wird es über die
Leitung 306 und die Modulo-2-Addierwerke 308 und 310 dem Schieberegister 312 zugeleitet. Der Ausgang
des Modulo-2-Addierwerks 310 ist über Leitung 314 mit den Modulo-2-Addierwerken 316-1 bis 316-4
(F i g. 10) und über die Leitung 318 mit der Speicherzelle 312-1 verbunden. Die Ausgänge der Speicherzellen
312-1, 312-2... 312-(n — k) sind jeweils über Leitungen 320-1, 320-2... 320-(n - k) mit der logischen
Kombinationsschaltung 322 verbunden, deren Ausgang über die Leitungen 323 und 325 an das
Modulo-2-Addierwerk 308 und über die Leitung 323 und 326 an das Modulo-2-Addierwerk 328 angeschlossen
ist.
Die logische Kombinationsschaltung 322 ist so ausgelegt, daß sie nur dann eine 1 an ihrem Ausgang
323 liegen hat, wenn eine Paritätsziffernfolge, deren entsprechender Beisatzleiter eine 1 in der höchsten
Ziffernstelle enthält, in den Leitungen 320-1 bis 320-(n — k) erscheint. Eine solche logische Kombinationsschaltung
läßt sich nach der konventionellen logischen Schaltungstechnik aufbauen. Die logische
Kombinationsschaltung 322 ist nach der konventionellen Technik unter Verwendung einer Wahrheitstabelle
konstruiert worden. .
Der Ausgang der Speicherzelle 304-n des Pufferschieberegisters
304 ist über die Leitung 330 mit dem Modulo-2-Addierwerk 328 verbunden. Die Ausgangsziffern
k[, k'2 ... k'„ werden von dem Modulo-2-Addierwerk
328 beim Schieben des Pufferschieberegisters 304 ziffernweise zur Klemme 327 übertragen und in die
Speicherzellen 336-1, 336-2... 336-« des Schieberegisters
336 eingeführt. Dann werden k der η binären Ziffern k{... Wn im Schieberegister 336 über die Leitungen
338-1, 338-2... 338-fc des Kabels 338 dem Adressen wähler 340 zugeführt, der über das Kabel 341
mit dem Speicher 342 verbunden ist. Die Folge von Informationsaufzeichnungen an der bezeichneten
Adresse in Speicher 342 wird über das Kabel 344 zu der konventionellen Auswertvorrichtung 346 übertragen,
bei der es sich z. B. um einen Kartenlocher handeln kann.
Das Schieberegister 312 mit den zugeordneten Leitungen soll jetzt im einzelnen an Hand von Fig. 10
beschrieben werden. Es enthält Speicherzellen 312-1 bis 312-4, die den Gliedern des Generator-Polynoms
G(x) = 1 + x2 + xs + x9 + x11 + x14
zugeordnet sind. Das Modulo-2-Addierwerk 316-1 ist zwischen die Speicherzellen 312-2 und 312-3 eingeschaltet.
Zwischen den Speicherzellen 312-5 und 312-6 ist das Modulo-2-Addierwerk 316-2 angeordnet,
zwischen den Speicherzellen 312-9 und 312-10 das Modulo-2-Addierwerk 316-3, zwischen den Speicherzellen
312-11 und 312-12 das Modulo-2-Addierwerk 316-4, und die Modulo-2-Addierwerke'316-l bis 316-4
liegen vor den Speicherzellen 312-3,312-6,312-10 und
312-12, die den Gliedern x2, x5, x9 bzw. x11 des
Generatorpolynoms G(x) entsprechen.
Die Leitungen 320-1 bis 320-8 sind von den Ausgängen
der Speicherzellen 312-1, 312-2, 312-4, 312-5, 312-6, 312-7, 312-8 bzw. 312-9 aus an die logische
Kombinationsschaltung 322 angeschlossen. Der Ausgang des Modulo-2-Addierwerks 316-3 ist über die
Leitung 320-9 mit der logischen Kombinationsschaltung 322 verbunden. Die Ausgänge der Speicherzellen
312-10 und 312-11 sind über die Leitungen 320-10 bzw. 320-11 mit der logischen Kombinationsschaltung 322
verbunden. Der Ausgang des Modulö-2-Äddierwerks 316-4 ist über die Leitung 320-12 mit der logischen
Kombinationsschaltung 322 verbunden. Die Ausgänge der Speicherzellen 312-12,312-13 und 312-14 sind über
die Leitungen 320-13, 320-14 bzw. 320-15 mit der
logischen Kombinationsschaltung 322 verbunden. Der Ausgang der Speicherzelle 312-14 ist außerdem über
die Leitung 321 an ein Eingangs-Modulo-2-Addierwerk 310 angeschlossen.
Vom Ausgang dieses Modulo-2-Addierwerks 310 führt die Leitung 314 zum Eingang der Speicherzelle
312-1. Zwischen Leitung 314 und den Modulo-2-Addierwerken 316-1 bis 316-4 verlaufen Leitungen
317-1 bis 317-4.
Die Paritätsziffernfolgen P1, p2 ... p„ _k für die
Schlüsselwörter It1, k2 ... k„, die der Klemme 301
(F i g. 9) zugeführt worden· sind, gelangen also in die Speicherzellen 312-1 bis 312-(« — k) des Schieberegisters
312. Für die Schlüsselwörter, für welche das Register 312 konstruiert worden ist, stimmt die Speicherzelle
312-(n —' k) mit der Speicherzelle 312-14 überein. Im Betrieb des Schieberegisters 312 werden die
in den Speicherzellen 312-1 bis 312-(n — k) stehenden binären Ziffern für jede weitere der Klemme 301
zugeführte Ziffer eine Stelle weitergeschoben.
Für den ersten Umstand, bei dem eine Anzahl von Codes, die einen vorgeschriebenen Abstand voneinander
haben, in einer Spalte einer Gruppenordnung stehen, bezeichnet die binäre Folge von
k Ziffern aus dem Schieberegister 336 über den Adressenwähler 340 eine Startadresse eines Feldes von
Speicherstellen im Speicher 340. Zu den k Ziffern werden so viele Nullen hinzugefügt, daß die Zahl der
Speicherstellen in einem Feld überspannt wird.
Für den zweiten Umstand wird ein Schlüsselwort pro Spalte in einer Gruppenordnung von Codes, die
bestimmte Abstandsforderungen erfüllen, festgelegt, und k Ziffern aus dem Schieberegister 336 bezeichnen
die Adresse jeder Speicherstelle. Wenn das gegebene
Schlüsselwort bestimmte fehlerbehaftete Ziffern enthält, wird es zu einem anderen Code in derselben Spalte
der Gruppenordnung, und es wird trotzdem die richtige Adresse erhalten.
Die zeitliche Steuerung des Ausführungsbeispiels III von F i g. 8 wird nun an Hand des Zeitdiagramms von
Fig. 2 beschrieben. Im Zeitabschnitt T1 wird ein
gegebenes Schlüsselwort K in das Pufferschieberegister 304 eingegeben, und seine Paritätsziffernfolge
wird vom Entschlüsseier 302 gebildet. Im Zeitabschnitt T2 wird ein binärer Code, der sich in der
ersten Zeile einer Beisatz-Erweiterung einer Gruppenordnung und in derselben Spalte wie das gegebene
Schlüsselwort befindet, in das Schieberegister 336 eingeführt. Dieser binäre Code enthält in einigen seiner
Ziffernstellen die Paritätsziffernfolge. Im Zeitabschnitt T3 wird eine Adresse im Speicher 342, die k
der η Ziffern der binären Folge im Schieberegister 336 entspricht, durch den Adressenwähler 340 bezeichnet.
Im Zeitabschnitt T4 wird eine Folge von Informationsaufzeichnungen
im Speicher 340 zu der Auswertvorrichtung 346 übertragen.
In der Entschlüsselereinheit 302 wird ein gegebenes Schlüsselwort, dessen entsprechende Informationsaufzeichnung
aus dem Speicher 340 erhalten wird, ziffernweise dem Pufferschieberegister 304 und über die
Modulo-2-Addierwerke 308 und 310 dem Schieberegister
312 zugeleitet. Das Schieberegister 312 dient zur Bildung einer dem gegebenen Schlüsselwort entsprechenden
Paritätsziffernfolge. Zwischen der im Schieberegister 312 erscheinenden Paritätsziffernfolge
lind dem Beisatzleiter der Reihe der Gruppenordnung, zu der das gegebene Schlüsselwort gehört, besteht eine
Übereinstimmung von eins zu eins. Die logische Kombinationsschaltung 322 schickt auf Leitung 323 eine
»1« zur Klemme 324, wenn die Paritätsziffernfolge im Schieberegister 312 einem Beisatzleiter entspricht, der
eine »1« in der höchsten Ziffernstelle enthält, d.h. der nächsten aus dem Pufferregister 304 kommenden
Ziffernstelle. Daher wird die Korrektur der nächsten aus dem Pufferschieberegister 304 kommenden Ziffernstelle
dadurch bewirkt, daß dazu der Signalausgang der logischen Kombinationsschaltung im
Modulo-2-Addierwerk 328 addiert wird. Wenn die Ziffer aus dem Pufferregister 304 korrigiert ist, wird
die Paritätsziffernfolge im Schieberegister 312 ebenfalls weitergeschoben und abgeändert, indem der
Signalausgang der logischen Kombinationsschaltung 322 über die Modulo-2-Addierwerke 308 und 310
zu der Speicherzelle 312-1 des Schieberegisters 312
und den Modulo-2-Addierwerken 316-1 bis 316-4 übertragen wird.
Dieser Schiebevorgang wird wiederholt, -bis das ganze Schlüsselwort K durch ziffern weises Verschieben
des Pufferregisters 304 aus dem Pufferregister 304 ausgelesen ist. Für jede aus dem Pufferregister 304 ausgelesene
Ziffer sind sowohl das Pufferregister 304 als auch das Schieberegister 312 eine Ziffer nach rechts
geschoben worden, und der Signalausgang wird dem Schieberegister 336 zugeführt. Der Signalausgang der
logischen Kombinationsschaltung 322 an Klemme 324 zeigt an, ob die nächste aus dem Pufferschieberegister
304 kommende Ziffer über das Modulo-2-Addierwerk 328 korrigiert werden muß. Wenn das
ganze Schlüsselwort im Pufferschieberegister 304 ausgelesen ist, ist ein binärer Code, der in der ersten Zeile
einer Beisatz-Erweiterung einer Gruppenordnung und in derselben Spalte wie das gegebene Schlüsselwort
steht, im Schieberegister 336 gespeichert. Die Zahl der binären Codes in der ersten Reihe einer Beisatz-Erweiterung
ist gleich 2\ und die Identifizierung eines darunter befindlichen binären Codes kann durch
bestimmte k von η Ziffern eines binären Codes erfolgen. Diese k Ziffern im Schieberegister 336 dienen
zum Adressieren des Speichers 342.
Für den ersten Umstand befindet sich, wenn ein ausgewählter Fehlerkorrekturcode einen Abstand'^
hat, jeder binäre Code, dessen Abstand von einem, binären Code in der ersten Zeile einer Beisatz-Erweiterung
einer Gruppe nicht größer als d ist, in derselben Spalte wird der betreffende binäre Code
in der ersten Reihe. Wenn daher Schlüsselwörter in einer Spalte einer Gruppenordnung in einem d nicht
überschreitenden Abstand von einem binären Code der betreffenden Spalte eingesetzt werden, wird ein
Feld von Speicherstellen in dem Speicher 342, zu dem ein gegebenes Schlüsselwort gehört, durch den
Adressenwähler 340 bezeichnet.
Für den zweiten Umstand wird, wenn einige Ziffern eines gegebenen Schlüsselwortes falsch sind, jedoch
die Anzahl dieser fehlerbehafteten Ziffern derart ist, daß das Schlüsselwort noch in derselben Spalte der
Gruppenordnung steht, wie das ihm entsprechende korrekte Schlüsselwort stehen würde, die dem korrekten
Schlüsselwort entsprechende Informationsaufzeichnung trotzdem im Speicher 342 adressiert.
Hierzu 7 Blatt Zeichnungen
Claims (2)
1. Einrichtung zur Bildung unterschiedlicher Speicheradressen aus Schlüsselwörtern, die zur
Identifizierung von Informationen bei deren Gebrauch außerhalb des Speichers verwendet werden
und deren Binärstellenzahl größer ist als die der Speicheradressen, dadurch gekenn ζ eic hn
e t, daß die einem Eingaberegister (10) zugeführten Schlüsselwörter Elemente einer algebraischen
Gruppenordnung sind bzw. in eine solche umgewandelt werden, derart, daß die Schlüsselwörter
innerhalb der algebraischen Gruppenordnung über eine Anzahl von Untergruppen verteilt sind bzw.
werden, daß an das Eingaberegister (10) ein aus der Technik der Binärziffernprüfung bekannter
Paritätszifferngenerator (14) angeschlossen ist, der von ausgewählten Binärstellengruppen der Schlüsselwörter
Paritätsziffernfolgen nach einer für alle Untergruppen gleichen Vorschrift ableitet, wobei
sich für jede Untergruppe eine für diese Untergruppe spezifische Paritätsziffernfolge ergibt, und
daß die für ein Schlüsselwort abgeleitete Paritätsziffernfolge als Speicheradresse einer Adressierschaltung
(22) zugeführt wird.
2. Einrichtung nach Anspruch 1, dadurch gekennzeichnet,
daß der Paritätsziffernfolgengenerator (14) mehrere Modulo-2-Addierwerke (100)
und eine voreinstellbare Eingangszuordner-Schaltung(15) umfaßt und aus den als Zeilen einer
algebraischen Gruppenordnung auftretenden binären Schlüsselwörtern Ic1, Ic2.. .k„ Paritätsprüffolgen
Pi,p2---P„-k entsprechend dem Ausdruck
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US272707A US3311887A (en) | 1963-04-12 | 1963-04-12 | File memory system with key to address transformation apparatus |
Publications (3)
Publication Number | Publication Date |
---|---|
DE1474040A1 DE1474040A1 (de) | 1968-12-12 |
DE1474040B2 true DE1474040B2 (de) | 1975-02-20 |
DE1474040C3 DE1474040C3 (de) | 1975-10-02 |
Family
ID=23040932
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE1474040A Expired DE1474040C3 (de) | 1963-04-12 | 1964-04-10 | Einrichtung zur Bildung von Speicheradressen |
Country Status (4)
Country | Link |
---|---|
US (1) | US3311887A (de) |
DE (1) | DE1474040C3 (de) |
FR (1) | FR1398181A (de) |
GB (1) | GB1048435A (de) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3366927A (en) * | 1964-06-17 | 1968-01-30 | Ibm | Computing techniques |
US3389376A (en) * | 1965-07-06 | 1968-06-18 | Burroughs Corp | Micro-program operated multiple addressed memory |
GB1115551A (en) * | 1965-11-11 | 1968-05-29 | Automatic Telephone & Elect | Improvements in or relating to data processing systems |
US3487373A (en) * | 1965-11-16 | 1969-12-30 | Gen Electric | Apparatus providing symbolic memory addressing in a multicomputer system |
US3473158A (en) * | 1966-03-07 | 1969-10-14 | Gen Electric | Apparatus providing common memory addressing in a symbolically addressed data processing system |
US3469241A (en) * | 1966-05-02 | 1969-09-23 | Gen Electric | Data processing apparatus providing contiguous addressing for noncontiguous storage |
US3431558A (en) * | 1966-08-04 | 1969-03-04 | Ibm | Data storage system employing an improved indexing technique therefor |
US3462744A (en) * | 1966-09-28 | 1969-08-19 | Ibm | Execution unit with a common operand and resulting bussing system |
FR1546203A (de) * | 1966-12-22 | 1900-01-01 | ||
US3480916A (en) * | 1967-01-30 | 1969-11-25 | Gen Electric | Apparatus providing identification of programs in a multiprogrammed data processing system |
US3512134A (en) * | 1967-04-03 | 1970-05-12 | Burroughs Corp | Apparatus for performing file search in a digital computer |
US3568155A (en) * | 1967-04-10 | 1971-03-02 | Ibm | Method of storing and retrieving records |
US3500337A (en) * | 1967-09-27 | 1970-03-10 | Ibm | Data handling system employing a full word main memory transfer with individual indirect byte addressing and processing |
US3582900A (en) * | 1969-05-05 | 1971-06-01 | Telecredit | Information processing machine |
US3633175A (en) * | 1969-05-15 | 1972-01-04 | Honeywell Inc | Defect-tolerant digital memory system |
BE756371A (fr) * | 1969-09-20 | 1971-03-18 | Philips Nv | Circuit logique |
US3731285A (en) * | 1971-10-12 | 1973-05-01 | C Bell | Homogeneous memory for digital computer systems |
JPS4953346A (de) * | 1972-09-25 | 1974-05-23 | ||
US4497020A (en) * | 1981-06-30 | 1985-01-29 | Ampex Corporation | Selective mapping system and method |
JPH04162856A (ja) * | 1990-10-26 | 1992-06-08 | Nec Corp | エラー表示方式 |
GB9305801D0 (en) * | 1993-03-19 | 1993-05-05 | Deans Alexander R | Semiconductor memory system |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NL223913A (de) * | 1957-01-11 | 1900-01-01 | ||
US3036773A (en) * | 1957-12-26 | 1962-05-29 | Ibm | Indirect addressing in an electronic data processing machine |
US3202971A (en) * | 1958-08-29 | 1965-08-24 | Ibm | Data processing system programmed by instruction and associated control words including word address modification |
US3111648A (en) * | 1960-03-31 | 1963-11-19 | Ibm | Conversion apparatus |
-
1963
- 1963-04-12 US US272707A patent/US3311887A/en not_active Expired - Lifetime
-
1964
- 1964-03-19 GB GB11579/64A patent/GB1048435A/en not_active Expired
- 1964-04-10 DE DE1474040A patent/DE1474040C3/de not_active Expired
- 1964-04-10 FR FR970438A patent/FR1398181A/fr not_active Expired
Also Published As
Publication number | Publication date |
---|---|
FR1398181A (fr) | 1965-05-07 |
US3311887A (en) | 1967-03-28 |
GB1048435A (en) | 1966-11-16 |
DE1474040A1 (de) | 1968-12-12 |
DE1474040C3 (de) | 1975-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE1474040C3 (de) | Einrichtung zur Bildung von Speicheradressen | |
DE2508706C2 (de) | Schaltungsanordnung zur Codierung von Datenbitfolgen | |
DE2640157C2 (de) | Verfahren und Anordnung zum redundanzvermindernden Codieren von Bildern | |
DE69435034T2 (de) | Verfahren ind vorrichtung zur durchfuehrung einer schnellen hadamard transform | |
DE3132225C2 (de) | Einrichtung für die Adressierung gespeicherter Ergebniswerte bei einer schnellen Hadamard-Transformation | |
DE19758079A1 (de) | Verfahren und Vorrichtung zur Galoisfeld-Multiplikation | |
DE2017667A1 (de) | Verfahren zum Aufbau einer elektn sehen Schaltung mit einer Vielzahl von miteinander zu verbindenden Bauelementen | |
DE2625973A1 (de) | Verfahren und anordnung zur redundanzvermindernden transformation von bildern | |
DE2913327C2 (de) | Matrix-Multiplizierer | |
DE2816609C2 (de) | Anordnung zur Bildverarbeitung | |
DE2618823A1 (de) | Generator zur erzeugung periodischer folgen unter verwendung gewoehnlicher arithmetik | |
DE1499178A1 (de) | Steuerbarer Datenspeicher mit Verzoegerungsleitung | |
DE2357654C2 (de) | Assoziativspeicher | |
DE2148152A1 (de) | Verfahren und schaltungsanordnung zum automatischen erkennen von schriftzeichen mit hilfe einer translationsinvarianten klassifikationsmatrix | |
EP1495552B1 (de) | Verfahren und vorrichtung zur berechnung eines iterierten zustands einer rueckgekoppelten schieberegisteranordnung | |
DE1296428B (de) | Einrichtung zur Ermittlung von Speicheradressen aus Schluesselwoertern | |
DE2062164A1 (de) | Verfahren zur Erzeugung eines mehr stufigen Index für gespeicherte Daten einheiten | |
DE3702697A1 (de) | Paritaetserzeugungsschaltung | |
DE1474039A1 (de) | Einrichtung zur Umwandlung von Schluesselwoertern in Speicheradressen | |
DE1236578C2 (de) | Einrichtung zur Schraeglaufkompensation | |
DE2657408B2 (de) | Fehlerkorrekturschaltung | |
DE1474041C3 (de) | Anordnung zum Sortieren von in zufälliger Reihenfolge aufgenommener Informationsbit Gruppen | |
DE1574784C3 (de) | Elektrische Signalverzögerungsschaltung | |
DE1562137C3 (de) | Anordnung zum zyklischen Belegen von verschiedenartigen Verbindungseinrichtungen in Vermittlungs-, insbesondere in Fernsprechvermittlungsanlagen | |
DE1193102C2 (de) | Speichervorrichtung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C3 | Grant after two publication steps (3rd publication) | ||
E77 | Valid patent as to the heymanns-index 1977 | ||
EHJ | Ceased/non-payment of the annual fee |