DE1474040B2 - Einrichtung zur Bildung von Speicheradressen - Google Patents

Einrichtung zur Bildung von Speicheradressen

Info

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
Application number
DE1474040A
Other languages
English (en)
Other versions
DE1474040A1 (de
DE1474040C3 (de
Inventor
Saburo Yorktown Heights N.Y. Muroga (V.St.A.)
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE1474040A1 publication Critical patent/DE1474040A1/de
Publication of DE1474040B2 publication Critical patent/DE1474040B2/de
Application granted granted Critical
Publication of DE1474040C3 publication Critical patent/DE1474040C3/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9014Indexing; Data structures therefor; Storage structures hash tables
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99955Archiving 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
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.
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-
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
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
40 Pi
Pn-k
G
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
11111
0 1 0 1 0
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
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
10
_01.
oder gleichwertig
P1 = ^1 ®bA
Anwendungen der Beisatz-Erweiterung unter
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
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
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
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 .
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
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
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.
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).
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.
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
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,
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.
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)

Patentansprüche:
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
DE1474040A 1963-04-12 1964-04-10 Einrichtung zur Bildung von Speicheradressen Expired DE1474040C3 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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