DE1965507A1 - Verfahren zum Wiederauffinden gespeicherter Informationen - Google Patents
Verfahren zum Wiederauffinden gespeicherter InformationenInfo
- Publication number
- DE1965507A1 DE1965507A1 DE19691965507 DE1965507A DE1965507A1 DE 1965507 A1 DE1965507 A1 DE 1965507A1 DE 19691965507 DE19691965507 DE 19691965507 DE 1965507 A DE1965507 A DE 1965507A DE 1965507 A1 DE1965507 A1 DE 1965507A1
- Authority
- DE
- Germany
- Prior art keywords
- byte
- key
- compressed
- cycle
- search
- 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.)
- Withdrawn
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
-
- 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/9017—Indexing; Data structures therefor; Storage structures using directory or table look-up
- G06F16/902—Indexing; Data structures therefor; Storage structures using directory or table look-up using more than one table in sequence, i.e. systems with three or more layers
-
- 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/99941—Database schema or data structure
- Y10S707/99942—Manipulating data structure, e.g. compression, compaction, compilation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
1955507
IBM Deutschland Internationale Büra-Masehinen Gaellaehaft mbH
Anmelderin:
Amtliches Aktenzeichen:
Böblingen, 17. Dezember 1969 gg-rz
International Business Machines Corporation, Armonk, N.Y. IO 504
Neuanmeldung
Aktenzeichen der Anmelderin: Docket PO 967 078 Verfahren zum Wiederauffinden gespeicherter Informationen
Die Erfindung betrifft ein Verfahren zum Wiederauffinden gespeicherter
Informationen in Verbindung mit einem Verfahren zur Erzeugung verdichteter Schlüssel aus einer Folge sortierter,
verschiedenen Informationsgegenständen zugeordneter, unverdiente ter Schlüssel.
Ganz allgemein handelt es sich um ein Verfahren zum Wiederauffinden
von in geeigneter Weise gespeicherten Informationen, die in Form eines Verzeichnisses sortiert sind. Der Anfall an
Informationen verschiedenster Art ist ständig im Wachsen begriffen. Selbstverständlich erhöht sich dadurch auch die Anzahl
der Fälle, in denen eine in der Masse von Informationen enthaltene
Information nicht mehr mit der erforderlichen Geschwindigkeit wiederaufgefunden werden kann. Obgleich bereits große
Anstrengungen hinsichtlich einer optimalen Lösung dieses Problems unternommen wurden, ist bisher noch kein grundsätzlicher
Weg bekannt geworden, der das Wiederauffinden von Informationen aus einer großen Anzahl von Dokumenten oder Aufzeichnungen in
gewünschter Weise erlaubt.
Das erfindungsgemäße Verfahren zeigt einen brauchbaren Weg zur
maschinellen Lokalisierung von mittels Schlüsseln oder Kennworten registrierten Informationen. Die Erfindung gestattet es,
jegliche Art alphanumerischer Schlüssel, die in einer sortierten" Folge angeordnet sind, in verdichtete Schlüssel umzuwandeln
009829/1443
und in dieser Form auch wieder zu suchen. Jeder verdichtete Schlüssel liefert eine Abgrenzung für den unverdichteten Schlüssel,
den er repräsentiert. Eine örtliche Bestimmung für die dem Schlüssel
zugeordnete Information kann einer hinzugefügten Adresse, einem sogenannten Zeiger oder dem Schlüssel selbst entnommen
werden.
Verfahren und Einrichtungen zum Wiederauffinden von Informationen,
die in unverdichteter sortierter Folge registriert sind, sind in großer Zahl bekannt. Bei diesen Verfahren werden Computer eingesetzt,
wobei spezielle Zugriffsmethoden und elektronische Katalogisierung angewendet werden. Als Stand der Technik auf
diesem Gebiet sind insbesondere die US-Patente 3 408 631, 3 315 233, 3 366 928, 3 242 470 und 3 030 609 zu erwähnen.
Die gegenwärtig gebräuchlichen, mit Computern arbeitenden Verfahren
weisen in vieler Hinsicht Mangel auf. Ein wesentlicher Mangel ergibt sich aus dem großen Bedarf an Speicherkapazität.
Die unverdichteten Schlüsselformate bedingen, daß bei jedem Zugriff eine große Anzahl von Bytes in jedem Schlüssel abgetastet
werden muß. Diese Verfahren sind demnach zeitlich und kostenmäßig
sehr aufwendig, wenn ein großer Index abgesucht oder auch wenn ein kleiner Index wiederholt abgesucht werden muß. Die Erfindung
vermeidet diese Mängel, da durch sie die Anzahl der abzutastenden Bytes je Zugriff wesentlich herabgesetzt wird. Auf
diese Weise wird der Bedarf an Speicherkapazität und die Suchzeit wesentlich herabgesetzt.
Bei der gegenwärtigen Computer verwendenden Suchtechnik, wie sie in den angegebenen US-Patentschriften beschrieben ist, sind den
auf Magnetplatten- oder Magnettrommelspeichern gespeicherten Dokumenten zum Zwecke der Indexierung unverdichtete Schlüssel zugeordnet.
Eine Suche nach einem Dokument kann über den Schlüssel oder über die Adresse des Dokumentes erfolgen. Beispielsweise
sind in den US-Patentschriften 3 408 631, 3 350 693, 3 343 134,
3 344 402, 3 344 403 und 3 344 405 unverdichtete Schlüssel auf
Magnetplattenspeichern registriert. Ein bestimmter Schlüssel Docket PO 967 078 009829/1443-
kann durch Vergleich mit einem entsprechenden Suchargument ermittelt
werden. Sobald Gleichheit zwischen Schlüssel und Suchargument festgestellt wird, wird eine mit dem unverdichteten
Schlüssel gespeicherte Hinweisadresse dazu verwendet, das an einer anderen Stelle des Speichers gespeicherte Dokument abzurufen .
Das erfindungsgemäße Verfahren zum Wiederauffinden gespeicherter
Informationen verwendet dagegen verdichtete Schlüssel, bei denen die durch die Indexierung vorhandene Redundanz entfernt ist.
Auf dem Gebiet der Beseitigung von Redundanz durch Maßnahmen zur Informationsverdichtung sind .mehrere Methoden bekannt. Die
US-Patente 2 978 535 und 3 225 333 betreffen beispielsweise die Verdichtung /on digitalisierten Fernsehsignalen. Die US-Patente
3 185 824 und 3 237 170 zeigen Verfahren, bei denen die Anzahl der Nichtübereinstimmungen zwischen aufeinanderfolgenden Verlaufen
digitaler Ubertragungssignale festgestellt wird. Das US-Patent 3 237 170 verwendet Maßnahmen zur Codierung sich wiederholender
Bitmuster. Das US-Patent 3 275 989 befaßt sich mit Befehlen, die jeweils nur den Teil enthalten, der sich vom vorhergehenden
Befehl unterscheidet. In entsprechender Weise betrifft US-Patent
3 233 982 ein Verfahren, bei dem bei einer Adresse jeweils nur der Teil verwendet wird, der sich von der vorhergehenden Adresse
unterscheidet.
Diese bekannten Maßnahmen bedienen sich größtenteils einer Informationsverdichtung,
die reversierbar sein soll. Die Informationen werden zunächst verdichtet, dann übertragen und schließlich
wieder in ihre originale, unverdichtete Form gebracht. Dagegen befaßt sich die Erfindung mit einem Verfahren zur Beseitigung
von durch Sortiermaßnahmen hervorgebrachter Redundanz,1
wobei die Forderung der Reversierbarkeit nicht besteht.
Der Erfindung liegt die Aufgabe zugrunde, ein Verfahrem zum Wiederauffinden
gespeicherter Information anzugeben, wobei in erster Linie V7ert darauf gelegt wird, mit einem Mininum an Speicher-.
Docket PO O67 078 009829/U43
kapazität und ebenso mit e£nem Minimum an Suchzeit auszukommen.
Zur Lösung dieser Aufgabe wird gemäß der Erfindung ein Verfahren
zum Wiederauffinden gespeicherter Informationen in Verbindung mit einem Verfahren zur Erzeugung verdichteter Schlüssel aus
einer Folge sortierter, verschiedenen Informationsgegenständen zugeordneter, unverdichteter Schlüssel derart vorgeschlagen,
daß zur Erzeugung der verdichteten Schlüssel nacheinander jeweils ein Paar in der sortierten Folge aufeinanderfolgender unverdichteter Schlüssel aufgerufen wird, daß beginnend mit der höchstwertigen
Byteposition die sich entsprechenden Bytepositionen jedes Schlüsselpaares unter Bildung von Gleichsignalen und Ungleichsignalen miteinander verglichen werden, daß die Bytepositionen bis
zur höchsten ungleichen Byteposition gezählt werden und daß mindestens das aus der höchsten ungleichen Byteposition stammende
Schlüsselbyte des zweiten Schlüssels jedes Paares in dem gebildeten verdichteten Schlüssel gespeichert wird.
Vorteilhafte Ausgestaltungen des erfindungsgemäßen Verfahrens ergeben sich aus den nachstehenden Einzelmaßnahmen.
Die Anzahl der Bytepositionen bis zur höchsten ungleichen Byteposition wird als Kontrollfeld für den jeweiligen verdichteten
Schlüssel gespeichert.
Die Speicherung eines Kontrollfeldes für jedes aufeinanderfolgende
Paar unverdichteter Schlüssel wird zur Erzeugung eines verdichteten Schlüssels wiederholt, wobei der zweite unverdichtete Schlüssel
jedes Paares jeweils den ersten unverdichteten Schlüssel des folgenden Paares bildet.
Das Schlüsselbytefeld wird jeweils nach dem Kontrollfeld gespeichert.
Im Kontrollfeld wird der Wert Null gespeichert, um damit das Indexende anzuzeigen.
Docket PO 967 078 009829/UU
,Nach der Erzeugung eines verdichteten Schlüssels wird jeweils
ein Zeiger (Hinweisadresse) für die vom ersten unverdichteten Schlüssel repräsentierten Daten angefügt.
Die höchste ungleiche Byteposition des vorhergehenden und des gerade erzeugten verdichteten Schlüssels werden gespeichert.
Die höchste ungleiche Byteposition des vorhergehenden und des gerade erzeugten verdichteten Schlüssels werden verglichen und
dabei ein Signal erzeugt, das angibt, ob die höchste ungleiche Byteposition .des gerade erzeugten verdichteten Schlüssels höher,
gleich oder niedriger als die des vorhergehenden verdichteten Schlüssels ist.
Die höchste ungleiche Byteposition des gerade erzeugten verdichteten
Schlüssels wird als Kontrollfeld gespeichert und außerdem wird das Byte dieser Byteposition aus dem zweiten unverdichteten
Schlüssel als Schlüsselbyte für den gerade erzeugten verdichteten Schlüssel gespeichert, wenn ein Signal erzeugt wird, das
angibt, daß die höchste ungleiche Byteposition des gerade erzeugten verdichteten Schlüssels gleich oder niedriger als die
des vorhergehenden verdichteten Schlüssels ist.
Die höchste ungleiche Byteposition des vorhergehenden verdichteten
Schlüssels wird als Kontrollfeld gespeichert und außerdem werden alle Bytepositionen des zweiten unverdichteten
Schlüssels von der höchsten ungleichen Byteposition des vorhergehenden bis zu der des gerade erzeugten verdichteten Schlüssels gespeichert, wenn ein Signal erzeugt wird, das angibt,
daß die höchste ungleiche Byteposition des gerade erzeugten verdichteten Schlüssels höher als die des vorhergehenden
verdichteten Schlüssels ist.
Das erfindungsgemäße Verfahren zum Suchen nach einem Suchargument in einem verdichteten Index, bei dem jeder verdichtete
Schlüssel mindestens ein Schlüsselbyte enthält, ist dadurch gekennzeichnet, daß das vorhergehende Kontrollfeld und das
Docket PO 967 078 009828/1443
des gerade anstehenden verdichteten Schlüssels registriert werden
und daß beide Kontrollfelder verglichen werden, wobei festgestellt wird, ob das anstehende Kontrollfeld höher, gleich oder
niedriger als das vorhergehende Kontrollfeld ist.
Weitere vorteilhafte Ausgestaltungen dieses nach dem erfindungs
gemäßen Verfahren ablaufenden Suchvorganges ergeben sich aus den nachstehenden Einzelmerkmalen.
Im anstehenden verdichteten Schlüssel wird ein einzelnes Schlüsselbyte aufgezeichnet, wenn beim Vergleich festgestellt
wird, daß das anstehende Kontrollfeld gleich oder niedriger als das vorhergehende ist, wobei die höchste ungleiche Byteposir
tion des anstehenden verdichteten Schlüssels vom anstehenden Kontrollfeld geliefert wird.
Für den anstehenden verdichteten Schlüssel wird eine Angabe über die Schlüsselbyteanzahl gleich der um Eins erhöhten Differenz
zwischen dem anstehenden und dem vorhergehenden Kontrollfeld ermittelt, wenn beim Vergleich festgestellt wird, daß das anstehende
Kontrollfeld größer als das vorhergehende Kontrollfeld ist, wobei die höchste ungleiche Byteposition für den anstehenden
verdichteten Schlüssel vom vorhergehenden Kontrollfeld geliefert
wird.
Beginnend mit dem höchstwertigen Byte wird jeweils ein Byte des Sucharguments übertragen, das gerade anstehende Byte des
Sucharguments wird mit dem höchstwertigen Schlüsselbyte eines verdichteten Schlüssels verglichen und es wird ein Suchsignal /
erzeugt, das angibt, ob das Schlüsselbyte höher, gleich oder niedriger als das Byte des Sucharguments ist.
Ein Suchvorgang wird abgeschlossen, wenn das Suchsignal angibt, daß das Schlüsselbyte höher als das Byte des Sucharguments ist. -:
Es wird jeweils das nächste Schlüsselbyte des anstehenden verdichteten
Schlüssels mit dem nächsten Byte des Sucharguments Docket PO 967 078 009829/U43
verglichen, wenn das Suchsignal angibt, daß das Byte des Suchargu-
nts und das Schlüsselbyte gleich sind.
Ee wird zum nächsten verdichteten Schlüssel übergegangen, wenn
das Suchsignal angibt, daß das Schlüsselbyte geringer als das
Byte des Sucharguments ist.
Die beim erfindungsgemäßen Verfahren erzeugten verdichteten
Schlüssel gewährleisten eine optimale Beseitigung der durch Sortiermaßnahmen hervorgebrachten Redundanz, so daß für die Abspeicherung
der erzeugten verdichteten Schlüssel nur eine relativ geringe Speicherkapazität benötigt wird. Gleichzeitig
wird beim Suchvorgang eine hohe Geschwindigkeit erzielt, da
jeweils nur relativ wenige Bytes abgefragt werden müssen.
Weitere Einzelheiten und Vorteile der Erfindung ergeben sich aus der nachstehenden Beschreibung der in den Zeichnungen dar
gestellten Ausführungsbeispiele. Es zeigen:
Fig. IA einen unverdichteten Index,
Fig. IB einen aus dem unverdichteten Index abgeleiteten verdichteten
Index,
Fign. 2A
und 2B einen Pufferspeicher mit den zugehörigen Eingangsund
Ausgangsschaltungen, in welchem ein unverdichteter und der entsprechende verdichtete Index gespeichert sind,
Fig. 3 eine Takt- und Ablaufsteuerung,
Fig. 4A die Taktierung während des Erzeugungsvorganges,
Fig. 4B die Taktierung während des Suchvorganges,
Fig. 5A das Format eines niedrigverdichteten Indexblockes,
009829/U43
Docket PO 967 078
ϊ » t 1
Fig, 5B das Format eines hochverdichteten Indexblockes,
Fig· 6 die Taktsteuerung für den Erzeugungsvorgang,
Fig. 7 die Pufferadressierung und andere während des Erzeugungsvorganges verwendete Steuerungen,
Fign. 8A
bis 8D Schaltkreise zur Steuerung der Erzeugung verdichteter
Schlüssel,
Fign. 9A
und 9B die Taktsteuerung beim Suchvorgang,
Fign. 10 -
und 11 SpeicherSteuerungen für den Erzeugungs- und Suchvorgang
für einen verdichteten Index,
Fign. 12
und 13 Schaltungen für den Suchvorgang bei einem verdichteten
Index und
Fign. 14A
bis 14C das beim Suchvorgang angewendete Verfahren.
Das erfindungsgemäße Verfahren zur Erzeugung verdichteter Schlüssel
1(CK1S) wird auf eine Folge unverdichteter Schlüssel (UK1S) angewendet. Die Schlüssel können beispielsweise ein Suchverzeichnis
für beliebige Gegenstände darstellen. Die Adresse des durch den Schlüssel repräsentierten Gegenstandes ist jedem Schlüssel hinzu- -gefügt. Diese Adresse ist im folgenden mit Zeiger oder Hinweisadresse bezeichnet.
Sollten die unverdichteten Schlüssel zunächst in unsortierter Folge anfallen, so werden sie vor Anwendung des erfindungsgemäßen
Verfahrens in eine sortierte Folge gebracht. Beispiele für unverdichtete Schlüsselfolgen stellen beispielsweise Telefonverzeich-
DocKet PO 967 078 009829/U43
nisse, Namenslisten der Mitarbeiter eines Betriebes, Buchverzeichnisse
in einer Bibliothek usw. dar. Dabei dürfen in der Folge keine'zwei gleiche unverdichtete Schlüssel auftreten, was
beispielsweise dadurch sichergestellt wird, daß bei einem Namensverzeichnis mit gleichen Namen als Unterscheidungsmerkmal die
Anschrift hinzugefügt wird.
Die Sortierung der Schlüsselfolge kann beispielsweise nach numerischen
oder alphabetischen Gesichtspunkten erfolgen. Beispielsweise erfolgt die Sortierung bei Telefonverzeichnissen oder
Wörterbüchern nach dem Alphabet. Die Erfindung wird in Bezug auf eine Schlüsselfolge beschrieben, die nach aufsteigender Ordnung '
sortiert ist. Selbstverständlich kann das Verfahren auch auf eine nach absteigender Ordnung sortierte Folge angewandt werden.
Handelt es sich um eine sehr lange Folge unverdichteter Schlüssel,
so kann diese in aufeinanderfolgende Untergruppen aufgeteilt werden. Die Größe der Untergruppen kann so gewählt werden, daß
sie an die Eingabe/Ausgabe-Einheit eines Computersystems angepasst ist. Jede dieser Untergruppen ist im folgenden als unverdichteter
Index bezeichnet.
Fig. IA zeigt einen unverdichteten Index, während in Fig. IB die
erfindungsgemäß daraus abgeleiteten verdichteten Schlüssel dargestellt sind.
Der im obersten Teil der Fig. IB dargestellte CK ist durch einen
Vergleich des ersten und zweiten UK aus dem oberen Teil der Fig. IA ermittelt. Der zweite CK ist das Ergebnis eines Vergleiches
des zweiten und dritten UK's usw. Schließlich wird der letzte CK gebildet, wenn der UK mit der Indexendeanzeige verglichen
wird. Die mit dem letzten CK verbundene Hinweisadresse steht
im untersten Teil der Fig. IB. Jeder Vergleich beginnt auf der werthohen Seite der unverdichteten Schlüssel.
Jeder CK (mit Ausnahme des letzten) besteht aus zwei Teilen- und zwar aus einem Positionsbyte P und einem oder mehreren Schlüssel-Docket
PO 967 078 009829/ U 43
- IO -
bytes K. Die Positionsbytes und die Schlüsselbytes werden jeweils
beim Vergleich zweier aufeinanderfolgender unverdichteter Schlüssel ermittelt. Das Positionsbyte P wird auf einen Wert, gesetzt, der
ausgehend von der werthohen Seite der verglichenen unverdichteten Schlüssel die erste ungleiche Byteposition angibt. Zeigen zwei
verglichene unverdichtete Schlüssel bereits in ihren werthöchsten Bytepositionen Ungleichheit, so hat das Positionsbyte P den Wert
Sind die ersten Bytepositionen gleich aber die zweiten Bytepositionen ungleich, so hat das Positionsbyte P den Wert 2. Xm
hier betrachteten Ausführungsbeispiel wird das Positionsbyte P zu Beginn der Vergleiche für einen unverdichteten Index und
am Ende des letzten Vergleiches eines jeden ve eiIchteten Indexes
auf O gestellt.
Das K-FeId besteht aus einem oder mehreren Bytes, die dem
zweiten UK eines jeden Paares entnommen werden. Diese Bytes
werden über die Werte von P aus dem laufenden und dem verhergehenden
Vergleich ermittelt. Ist der jeweilige Wert P gleich oder kleiner als der letzte Wert P, so wird nur ein einzelnes
K-Byte verwendet, welches das erste ungleiche Byte aus dem
zweiten UK des laufenden Vergleiches darstellt. Ist jedoch der jeweilige P-Wert größer als der letzte P-Wert, so erhält das
K-FeId mehrere Bytes aus dem zweiten UK des- laufenden Vergleiches
und zwar aus den Bytepositionen, die hinter der von letzten P-Wert
definierten Byteposition beginnen und sich bis einschließlich
der ersten ungleichen Byteposition des gerade anstehenden P-Wertes erstrecken. Somit gilt für sämtliche K-Bytes mit
Ausnahme des letzten, daß Gleichheit vorherrscht.
Im folgenden sind die für die Erzeugung eines i-ten verdichteten Indexes erforderlichen Regeln angegeben.
1. Erzeugung von P1
Zur Erzeugung des i-ten verdichteten Schlüssels werden der i-te und der (i+l)te unverdichtete Schlüssel Byte für Byte
verglichen, wobei mit der werthöchsten Byteposition begonnen und bei der ersten ungleichen Byteposition geendet wird. Die
Byteposition mit dem ersten ungleichen Byte beat — den je-Doüket
PO 967 078 0 0 9 8 2 9 / 1 4 4 3
BAD ORIGINAL
weiligen P-Wert P±.
2. Erzeugung iron K.
Der vorhergehende P-Wert P1-1 wird zur Bestimmung von K1 festgehalten.
a) Ist P± < P1-1, so wird in das K-FeId lediglich ein
Byte gestelltf und «war von der Byteposition P, des
(i-fl)ten unverdichteten Schlüssels.
b) Ist P1 > P1-1/ so beträgt die in das K-FeId gestellte
Anzahl von Bytes ^""P*.*· Dae K-FeId erstreckt sich
dabei von Byte der Position P1-1 +I bis einechließlich
den Byte der Position P1 des (i+l)ten unverdichteten
Schlüssel«·
.3· Rlnweisadresse
Die Hinweisadresse (Seiger) R, die dem i-ten unverdichteten
Schlüssel zugeordnet 1st» wird dem i-ten verdichteten Schlüssel zugefügt, so dae ein verdichteter Index der Form PKR erzeugt
wird«
4« Indexende
Die Anzahl der erzeugten verdichteten Schlüssel entspricht der Anzahl der unverdichteten Schlüssel im unverdichteten Index.
Die verdichteten Schlüssel weisen jedoch nur einen Bruchteil der Bytes aus de* unverdichteten Index auf. Wird das Indexende erreicht, wird der letzte verdichtete Schlüssel auf folgende
Weise gebildet!
a) P wird gleich O gesetzt, was das Indexende bedeutet,
b) K wird ausgelassen und
c) der dem letzten unverdichteten Schlüssel zugeordnete Zeiger R wird neben das auf O gesetzte P-Byte gestellt.
009829/U43
Docket PO 967 078
unverdichtete Liste | PTR | verdichteter Index | K | 1>TR |
P « 1 2 3 4 5 | 1 | P | ABD | 1 |
ABCD | 2 | 3 | E | 2 |
ABDD | 3 | 4 | C | 3 |
ABDEF | 4 | 2 | DSG | 4 |
ACDEF | S | 5 | D | S |
ACDEG | 2 | 6 | ||
AJ) | O | |||
Beim Suchvorgang wird ein Suchargument verwendet« das aus einem
unverdichteten Schlüssel bestehen kann. Für den Suchvorgang ' gelten die in den Fign* 11 bis 14 gebrauchten Regeln*
1. Die Suche nach einem gegebenen Sucharguaent beginnt am
Anfang eines verdichteten Indexes. Das K-FeId jedes CK wird dabei, beginnend mit dem werthöchsten Byte mit dem
jeweils anstehenden Byte des Sucharguments verbunden.
2. Das P.-Byte jedes CK wird festgehalten. Der P. ,-Wert
wird auf O gesetzt um den nächsten verdichteten Index
zu lesen. Das zurückgehaltene P.-Byte wird das P.-Byte,
wenn das P -Byte des nächsten verdichteten Indexes gelesen wird. Deshalb entspricht die Länge des ersten K-
Feldes dem Wert P^-i
eine Länge von P -
= P . Die Länge des K-Feldes hat .- Bytes, wenn P±
> P1-1 ist.
3. Beginnend mit dem werthöchsten Byte des Sucharguments
wird der verdichtete Index jeweils mit einem Suchargumentbyte verglichen. Wird dabei die Gleichheit zwischen einem
Suchargumentbyte und einem K-Byte festgestellt, so wird
dieses Suchargumentbyte durch das nächste, wertniedrigere Docket PO 967 078 009829/.1443
Suchargumentbyte ersetzt. Das jeweilige Suchargumentbyte wird nacheinander mit den K-Bytee verglichen, wobei jeweils'
mit den werthöchsten K-Bytes jedes CK begonnen wird. Bei einem CK mit (P4-P4 .) >
1 ist das erste verglichene
± χ—χ
K-Byte P4. +1 und es wird, wenn A >
K, jeweils solange zum nächsten, wertniedrigeren K-Byte übergegangen, bis das K-Byte mit P, verglichen wird. Bei einem CK mit
(P. - Pj-1) ^ 1 wird nur das einzelne, durch P. identifizierte
K-Byte mit dem Suchargumentbyte verglichen. Dies geschieht auf folgende Weise:
a) Es wird die Zahl E der Suchargumentbytes festgestellt, die sich während des Vergleiches mit den verdichteten
Schlüsseln als gleich mit den K-Bytes herausstellen. Wenn A-K ist, wird die Zahl E nur dann um 1 erhöht,
wenn E gleich der Position des gerade verglichenen K-Bytes ist.
b) Wird in einem Vergleich A >
K festgestellt, wird die Suche durch übergang zum nächsten verdichteten
Schlüssel fortgesetzt.
c) Die Suche ist abgeschlossen, sobald bei einem Vergleich
das erstemal, festgestellt wird, daß A < K f und die Zahl E gleich der Bytepositisn des K-Bytes
ist. Der dabei ermittelte verdichtete Schlüssel enthält die gewünschte Hinweisadresse.
d) Die gefundene Hinweisadresse führt zum Wiederauffinden des zugeordneten Informationsgegenstandes.
e) Eine Kontrolle kann durch Vergleich des gefundenen Informationsgegenstandes mit dem Suchargument herbeigeführt
werden.
C Erzeugungsvorgang
In Fig. 2A wird zur Einleitung eines Erzeugungsvorganges einem
Docket PO 967 078 009829/U43
Pufferspeicher 10 ein Eingangssignal zugeführt. Der Pufferspeicher
10 enthält die unverdichteten Schlüssel in der angegebenen Organisation. Die entsprechenden Daten sind in Bytes gespeichert, beispielsweise
besteht jedes Byte aus 8 Bits. Jedes Byte kann in üblicher Weise ein Paritätsbit zum Zwecke der Fehlerprüfung enthalten
.
Der Vorgang wird dadurch eingeleitet, daß der Anordnung gemäß
Fig. 3 ein Startsignal zugeführt wird. Das Startsignal kann manuell durch Betätigen eines Schalters 5O in Fig. 6 oder 210
in Fig. 9A oder vorzugsweise durch einen Befehl aus einem Computer erfolgen. Dieser Befehl kann ein besonderes Kanalbefehlswort
(CCW) sein wenn das erfindungsgemäße Ve , i-fe* a übex einen Datenverarbeitungskanal
oder eine Eingabe/A ^gabc-einheit erfolgt.
Auf jeden Fall muß der Befehl eine Unterscheidung zzwischen dem Erzeugungsvorgang für einen verdichtet"i Schlüssel und den
Suchvorgang nach einem verdichteten Schlüssel dadurch herbeiführen,
daß er den Betriebsarttrigger 20 in Fig. 3 in die entsprechende Schaltstellung bringt.
Die ersten vier Bytes im Pufferspeicher IO sind Kennzeichenbytes,
die die Organisation im Speicher definieren. Das Anfangsbyte MUKL stellt einen Wert dar, der die Länge jedes für die unverdichteten
Schlüssel vorgesehenen Registers (UK-I, UK-2 usw. bis UK-N) in Bytes angibt. Jedes Register weist die maximale
unverdichtete Schlüssellänge (MJKL) auf.
Das Byte LVL bestimmt einen Idexierungsgrad. Gewöhnlich ist
eine hohe Indexierung vorgesehen, um die Suchgeschwindjgkeit ;
zu erhöhen. Das erfindungsgemäße Verfahren kann zur Erzeugung jedes Indexierungsgrades verwendet werden.
Das Byt RL liefert die Länge jedes Zeigerregisters (R-I, R-2 usw. bis R-N) in Bytes. Die Anzahl der erforderlichem
Bytes hängt von der Art der Adresse ab, die zum Wiederauffinden des jeweiligen Inforroationsgegenstandes verwendet wird«
Ist beispielsweise der Index auf einer Magnetplatte gespeichert, Docket PO 967 078 009828/1443
BAD ORIGINAL
•o kann «ine Bytelänge von 10 Bytes vorgesehen werden. Das nächste
Byte ist für das erste erzeugte P-Byte reserviert·
Die UK- und R-Register folgen. Jeden UK-Register folgt ein
zugehöriges R-Register nach, wobei beide die gleiche numerische Bezeichnung haben.
Die Verwendung der MUKL-Bytes und der RL-Bytes gestattet in
einfacher Heise die Größe der UK- und R-Register dann zu verändern, wenn die maximale Länge der vorkommenden unverdienteten
Schlüssel oder feiger unterschiedlich ist. ^
Dm werthöchste Byte eines UK's wird, wie in Flg. 1 gezeigt, linksbündig in das UK-Register eingegeben. Die restlichen Bytes
des Schlüssels schließen nach rechts an. Auf der rechten Seite freibleibende Bytepositionen werden mit dem niedrigsten Byte
der sortierten Folge gefüllt und erhalten demnach beispielsweise eine O. Jeder eingegebene UK kann demnach eine unterschiedliche
Länge, die maxiaal der Größe des zugeordneten UK-Registers
enspricht, aufweisen. Ein eine größere Länge als das zugeordnete UK-Register aufweisender UK wird auf seiner wertniedrigen Seite
begrenzt, d.h., die entsprechenden Bytes bleiben unberücksichtigt. Diese Begrenzung hat nicht notwendigerweise eine Auswirkung auf
den erzeugten CK. Der begrenzte UK muß jedoch noch einen ein- ä
deutigen Schlüssel darstellen.
Dem letzten Zeiger R-N einer eingegebenen Indexfolge ist ein Byte angeschlossen, das das Indexende anzeigt.
Die im folgenden beschriebenen Schaltkreise sind taktgesteuert.
Für Erzeugungs- und Suchvorgang sind gesonderte Taktierungsfolgen vorgesehen. Auch innerhalb derselben Betriebsart können
unterschiedliche Taktfrequenzen eingesetzt werden.
In beiden Betriebsarten wird ein einzelner Impulszyklus TO-T7 von -der in der Fig. 3 dargestellten Synchronisierschaltung erzeugt.
Diese Impulsfolge wird zu der in Fig. 6 dargestellten Taktsteue-Docket PO 967 078 0Q9 8 2 9/U43
1Ö65507
rung übertragen, sobald der Betriebsarttrigger 20 gesetzt ist·
Bei jeden Laden des Pufferspeichers 10 mit einer Liste verdichteter
Schlüssel während eines Erzeugungsvorganges läuft ein Taktierungezyklus ab. Die Taktsteuerung für den Erzeugungevorgang ist in
Fig. 6 dargestellt.
In der Anordnung gemäß Fig. 3 wird der Betriebsarttrigger 20 Über beispielsweise einen Coaputerbefehl gesetzt. Dadurch können
die Impulse eines Oszillators 23 Über eine UND-Schaltung 21 zu einer Ringschaltung 26 gelangen, die dann die Impulse T0-T7 an
die Anordnungen gemäß Fign. 6 bis 8 liefert* Jeder Impulszyklus T0-T7 bestimmt einen Operationszyklus der Taktsteuerungen gemäß
Fig. 6. Der zeitliche Ablauf ist in Fig. 4A oben dargestellt.
Fig. 4A zeigt die Taktierung während des Erzeugungsvorganges.
Die Taktsteuerungen bewirken im betrachteten Ausführungsbeispiel eine Folge von sieben Arten von Erzeugungsvorgängen, die jeweils
für verschiedene Zwecke vorgesehen sind. Jeder Taktsteuerungszyklus schaltet die Aufrufadresse in einem als Aufrufadressensteuerung
110 dienenden Zähler (Fig. 7) um eine Byteposition weiter. Zunächst bewirkt der MüKL-Zyklus die übertragung des MUKL-Bytes
vom Speicher 10 in ein MUKL-Register (Fig. 7). Ein unmittelbar
nachfolgender LVL-Zyklus bewirkt die übertragung des LVL-Bytes
in ein LVX-Register. Dieses Byte bestimmt, ob ein hoch- oder
neidrigverdichteter Index erzeugt werden soll, was aus den Fign. 5A oder 5B zu ersehen ist. Der nachfolgende RL-Zyklus überträgt
in entsprechender Weise das die Zeigerlänge betreffende RL-Byte in das RL-Register. Das RL-Byte ist im betrachteten Beispiel auf
den niedrigsten Indexierungsgrad eingestellt. Als nächstes erfolgt
ein lP-Zyklus, der keine übertragung sondern lediglich das Anhalten
der Speicheradresse bewirkt. Das IP-Byte wird während des Aufrufes
übersprungen.
Dem RL-Zyklus folgt ein Al-Zyklus, der das werthöchste Byte im
Register UK-I aufruft. Im nachfolgenden A2-Zyklus wird im Register
UK-2 das werthöchste Byte aufgerufen, so daß diese beiden wert-Docket PO 967 078 0 0 9 8 2 9/1443
gleichen Bytes verglichen werden können. Zum Aufrufen des entsprechenden
A2-Bytes wird auf die Al-Byteadresse Adressenindexierung
angewandt. Dabei wird die Adresse des Al-Bytes (vom i-ten UK)
durch die Summe der Werte in den MUKL- und RL-Registern geteilt,
um das entsprechende A2-Byte (vom(i+Uten UK) zu adressieren.
Dies erfolgt in der Darstellung der Fig. 7 mittels der Addierer A + B. Die Aufrufadressensteuerung 110 speichert die laufende
Aufrufadresse mit Ausnahme der A2-Byteadresse. Die A2-Byteadresse
aus Addierer A bewirkt den Aufruf dieses Bytes aus Speicher 10. Während eines A2-Zyklus liefert Addierer B lediglich ein nicht O
Ausgangssignal. Der getastete Addierer B liefert ein Ausgangs- μ
signal, das der Summe der Inhalte der HUKL- und RL-Register entspricht.
Addierer A erhält normalerweise vom Addierer B den Wert O zugeführt, nicht aber während des A2-Zyklixs. Während
der Al-? und A2-Zyklen werden also zunächst die am weitesten
links in den Registern UK-I und UK-2 stehenden Bytes abgerufen
und entsprechend in die Al- und A2-Byteregister (Figo 8A) übertragen.
Ein Vergleicher 125 vergleicht die Bytes in den Al- und A2-Registern.
Nachdem die werthöchsten Bytes verglichen sind, werden im nächsten Al- und A2-Zyklus die beiden nächsten Bytes
aufgerufen und verglichen. Die Taktzyklen Al und A2 werden auf diese Weise so oft wiederholt, wie durch den im MUKL-Register \
gespeicherten Wert angegeben ist. Dieser Wert wieci von Vergleicher
114 in Fig. 7 angezeigt.
Die Aufrufadressensteuerung 110 wird am Ende (T7) jedes Taktzyklus
weitergeschaltet, jedoch nicht am Ende eines jeden Al-Zyklus, da dann die Al-Adresse eingestellt bleiben muß. In
diesem Fall wird die Aufrufadressensteuerung 110 von einem Impuls T7 am Ende jedes A2-Zyklus zur nächsten Byteadresse
weitergeschaltet, um das nächstniedrigere Al-Byte zu adressieren. Ein UK-Bytezähler (Fig. 7) wird in jedem A2-Zyklus (zum Zeitpunkt
Tl über Tor 106) weitergeschaltet, um die Byteposition anzugeben, die gerade verglichen wird.
Docket PO 967 078 ü 0 9 8 2 9 / 1 A 4 3
BAD ORIGINAL'
Das letzte aus jedem Register UK-i und UK-i+1 aufgerufene Byte
wird durch ein Signal ÜK-Ende des Vergleichers 114 angezeigt.
Während des letzten A2-Zyklus eines UK-Paares, wird die Aufrufadressens
teuer ung 110 über Tor 100 zum Zeitpunkt T7 weitergeschaltet und adressiert dadurch das erste Byte des ersten
Zeigerregisters Rl im Pufferspeicher 10. Dadurch wird der erste R-Zyklus, wie er in Fig. 4A dargestellt ist ausgelöst. Der
R-Zyklus wird bei der übertragung jedes Zeigerbytes einmal
wiederholt, wobei die Anzahl der Bytes sich aus dem Wert ergibt,
der im RL-Register steht. Jeder R-Zyklus schaltet einen RL-Zähler (Pig. 8D) über Tor 186 zu einem Zeitpunkt Tl weiter, um
die Zahl der aufgerufenen R-Bytes zu zäfcl-αϊϊ* ^inem Vergleisher
189 werden die Ausgangssignale ctes RL-8äh!e.-s unä äes RL-Registers
zugeführt, so daß er nachdem das letzte Seigerbyte aufgerufen ist ein Gleichanzeigesignal liefert, ÄasGhlifeoeüä startet die
Taktsteuerung (Fig. 6) einen Al-Zyklus der einen Vsrgiöieh
des nächsten UK-Paares außer den Registern üK-2 und UK-3 einleitet.
Der (i+l)te UK des letzten Paares wird dabei der i-te UK des laufenden Paares. Die alternierend auftretenden Al- A2-Zyklen
wiederholen sich dann in der beschriebenen Weise, Diese aufeinanderfolgenden Vergleiche jeweils des nächsten Paares
unverdichteter Schlüssel (1 und i+1) werden* solange fortgesetzt,
bis bei der (i+1)ten Eingabe vom Endanzeigedecodierer 180
(8D) das Indexende abgefühlt wird. Der anfängliche A2-Zyklus für diesen letzten Vergleich bewirkt, daß das erste Endansseigebyte
in das A2-Register (Fig. 8A) gestellt wird. Der Endaiimeigs-'
decodierer 180 in Fig. 8D prüft jedes Byte im A2-Register, ob es sich um ein Endanzeigebyte handelt. Ist dies der Fall, >
so wird ein entsprechendes Signal an Speicher IO weitergeleitet.
Im einzelnen läuft der Erzeugungsvorgang folgendermaßen ab. Zunächst wird durch ein entsprechendes Signal, das vor der
Anordnung gemäß Fig. 3 an die Anordnung gemäß Fig. 6 geliefert
wird, der Starttrigger 45 gesetzt. Ist das geschehen, so ist ein UND-Tor 52 vorbereitet, das vom nächsten Taktimpuls TO
Docket PO 967 078 0 0 9 8 2 9 / U 4 3
BAD ORKSlNAt
durchgeschaltet wird. Ober den Auegang des Tores 52 wird Über
da« ODER-Tor 49 der Starttrigger 45 zurückgestellt und ein Trigger
gesetzt, der einen MURL-Zyklus auslöst. Dadurch wird ein MUKL-Byte vom Speicher IO (Fig. 2A) in das MUKL-Register (Fig. 7)
übertragen. Der den MUKL-Zyklus einleitende Trigger bringt
über die ODER-Tore 36, 42» 44, 48, 51 und 56 sämtliche andere
Zyklustrigger in den rückgestellten Zustand. Dieser Trigger
bereitet über ein UND-Tor 46 auch den LVL-Zyklus vor.
Der Impuls TO vom nächsten Zyklus der Ringschaltung in Fig. 3 gelangt Über Tor 46 auf den Setzeingang eines Triggers, der
einen LVL-Zyklus einleitet. Dabei wird der MUKL-Zyklustrigger
über das ODER-Tor 53 und gleichzeitig sämtliche weiteren Trigger in der Taktsteuerung zurückgestellt. Während des LVL-Zyklus
wird das LVL-Byte, wie bereits beschrieben, übertragen.
über das vom Signal des LVL-Zyklus durchgeschaltete UND-Tor 46
wird vom nächsten Impuls TO ein RL-Zyklustrigger gesetzt. Das Ausgangssignal dieses Triggers bringt über das ODER-Tor 51 den
LVL-Zyklustrigger und damit außerdem alle anderen Zyklustrigger
in den rückgestellten Zustand.
In gleicher Weise setzt der nächste Impuls TO über ein UND-Tor
54 einen lP-Zyklustrigger, wobei das UND-Tor 54 während eines
RL-Zyklus durchgeschaltet wird und der RL-Trigger über das
ODER-Tor 48 vom lP-Zyklussignal zurückgestellt wird.
Der folgende Impuls TO setzt über das ODER-Tor 38 einen Al-Zyklustrigger und es wird ein UND-Tor 39 vom lP-Zyklussignal
vorbereitet. Das Al-Zyklussignal stellt den lP-Zyklustrigger zurück und bereitet ein UND-Tor 41 vor.
Nach einem Al-Zyklus schaltet der nächste Impuls TO das Tor
41 durch und setzt einen A2-Zyklustrigger. Vom Ausgangssignal dieses Triggers und ebenso von einem Signal Nicht-UK-Ende, das solange auftritt, bis das wertniedrigste Byte jedes UK abgerufen ist,
wird ein UND-Tor 43 vorbereitet. Damit gelangt über Tor 43 und Docket PO 967 078 0 0 9 8 2 9 / 1 U 4 3
des Al-Zyklustriggers, der dann den A2-Zyklustrigger zurückstellt.
Das wechselweise Setzen und Zurückstellen des Al-Zyklustriggere
und des A2-Zyklustriggers wird solange fortgesetzt, solange das
Signal Nicht-UK-Ende vorhanden ist. Sobald dieses Signal fehlt wird UND-Tor 43 gesperrt, so daß der Al-Zyklustrigger nicht
mehr vom nächsten Impuls TO gesetzt werden kann.
Als Ergebnis eines Satzes einer Anzahl MUKL von Al- und A2-Zyklen werden die P- und K-Bytes für einen CK aus dem verglichenen
UK-Paar gewonnen.
Der R-Zyklus wird während des Auftretens eines die Gleichheit
feststellenden MUKL-Signals eingeleitet. Die Länge eines Satzes von R-Zyklen entspricht der Anzahl RL von R-Zyklen, was von
einem in Fig. 8D dargestellten Vergleicher 188 in Form eines die Gleichheit anzeigenden RL-Signals einem UND-Tor 37 signalisiert wird.. Ein Satz von R-Zyklen ruft sämtliche Bytes in
einem einem i-ten UK folgenden R-Register im Pufferspeicher 10 auf. Der nächste Taktzyklus hängt davon ab, ob vom LVL-Reglster
(Fig. 7) hohe Indexierung oder niedrige Indexierung signalisiert wird. Von diesen Signalen wird eines der zugeordneten UND-Tore
30 und 33 (Fig. 6) vorbereitet. Formate für hohe und niedrige Indexierung sind in den Fign. 5A und 5B dargestellt. Bei
niedriger Indexierung folgt jedem Satz von Al-A2-Zyklen ein Satz mit einer Anzahl RL von R-Zyklen. Bei hoher Indexierung folgt
jeweils ein Satz von R-Zyklen zwei Sätzen von Al-A2-Zyklen.
Nachdem das letzte UK-Signal aus dem Pufferspeicher 10 aufgerufen
ist, muß ein letzter CK erzeugt werden. Dazu ist ein P-Zyklus erforderlich, dem RL R-Zyklen folgen. Das ODER-Tor 33b (Fig. 6)
erhält aus der Anordnung gemäß Fig. 8D ein Signal Indexende und löst einen R-Zyklus als nächsten Zyklus aus. Die Anzahl
RL von R-Zyklen werden im RL-Zähler (Fig. 8D) gezählt. Ein monostabiler Multivibrator 185 (Fig. 8D) liefert einen allgemeinen
Rückstellimpuls, der die Anordnung gemäß Fig. 6 bis zum
Empfang des nächsten Startimpulses in die Ausgangsstellung bringt. Docket PO 967 078 009829/1443
Es wurde oben erklärt, wie die laufende Aufrufadresse für jedes
Kennzeichen-, UK- und Zeigerbyte im Puffer 10 der Reihe nach
erhöht und durch die Aufruf-Adressensteuerung in Fig. 7 gehalten
wird. In ähnlicher Heise wird der Reihe nach durch eine Speicheradressteuerung 156 in Fig. 8C eine Speicheradresse für jedes im
Puffer 10 zu speichernde CK-Byte und Zeigerbyte erhöht und gehalten .
Die UK- und CK-Operationen laufen gleichzeitig ab, während ihre
Byteübertragungen vom und zum Puffer 10 im Zeit-Multiplexverfahren erfolgen, da im beschriebenen Ausführungsbeispiel der
Puffer 10 nur jeweils ein Byte adressieren kann»
Nach ihrer Rückstellung beginnt die Aufruf-Adressensteuerung in
Fig. 7 mit der Adressierung der Byteadresse O CMUKL-Byte). Das
erste MUKL-Byte wird hier mit einer Verschiebungsadresse von angenommen, kann also praktisch jede Basisadresse in irgendeinem Speicher sein. Nach der Rückstellung beginnt die Speicheradressteuerung in Fig. 8C die Adressierung mit der Byteadresse
3 (IP-Byte). Somit werden die Kennzeichnungsbytes HUKL, LVL und
RL aus den Verschiebungsadressen 0, 1 und 2 durch die Speicheroperationen nicht gestört. Sie können später mit dem verdichteten
Index nach dessen Erzeugung gespeichert werden*
Das P-Byte für den ersten CK wird an der reservierten IP-Bytesteile im Puffer 10 gespeichert. Das erste K-Byte wird so
gespeichert, daß es das erste werthöchste Byte des ersten UK-Byte überlagert. Anschließend folgen der Reihe nach die zugehörigen CK- und R-Eytes ohne Oberspringen einer Bytestelle
innerhalb oder zwischen CK's oder Hinweisadressen.
Nach dem ersten fehlenden Byte der CK-Speicheradresse hinter
der UK-Abrufadresse fehlt bei fortschreitender verarbeitung in der Speicheradresse in zunehmendem Maße die Abrufadresse, da
jeder gespeichert· CK kurzer als der abgerufene UK ist, den er
ersetzt. Hinter jedem CK steht eine Reihe von Hinweiabyte·, die
mit Ausnahme des letzten unmittelbar von einem P-Byte gefolgt
009829/1443
werden, das beim nächsten CK beginnt. I» Gegensatz zur festgelegten
Reihenfolge sind Stellen für die CK*s nicht festgelegt,
wie es für die UK's der Fall ist (aufgrund der Werte in den MUKL- und den RL-Bytes).
Jedes gleichrangige Paar von Bytes int laufenden UK (i) und im
nächsten UK (i+1) werden in den in Fig. 8A gezeigten Vergieicher 125 miteinander verglichen. Der Vergieicher stellt die Gleichheit
oder Ungleichheit der UK-Bytes im Al-Byteregister und im &2~
Byteregister fest. Die zu vergleichenden laufenden Bytes werden
vom Puffer 10 in die Register Al und A2 abgerufen und zwar aas
denselben Bytepositionen beider UK's i und i-H, Di« gleiche Position
dieser Bytes in den verglichenen UK's id durch den UK-
-Bytezähler 116 in Fig. 7 angegeben.
Die Schaltungen in Fig. 8B liefern die * Jictgebung, nach der
die Stellung des P-Zählers und die A2~Bytee gewählt warden, üSm zu
CK-Bytes werden. Die folgende Zeichenerklärung für Fig. 8B verdeutlicht
die Arbeitswelse:
ZEICHENERKLÄRUNG FÜR FIGUR 8B
Leitiincfsbeaeichnung Funktionsanzeige
Leitiincfsbeaeichnung Funktionsanzeige
K-I K - 3 P-I
Gleiches A2 zwischen P1-1 und Pi äes
(Leite K von P1-1 nach P^)
Ungleiches A2-Byte bei P£ >
P1-1. (Leite K bei P±
> P4-1)
Leite P-Zählerstand nach Paffer da P
ÜK'
K - 2
P - 2
Ungleiches A2-Byte bei P1 <
P1-1.
(Leite K bei P1 < V1^1I
Leite P-Zählerstand auf Puffereingangsi«^
Docket PO 967 078
i ii
(Leite P1 < P1-1J
009829/U43
BAD ORIGINAL
(Leerbytes)
nächsten UK-Abtastung· (Gleiche redundante Bytes)
Sustand E Signal P1 <
P1-..
Sustand F Gleiches A2-Byte bei P1-. für laufende
Nicht Sustand F Erste UK-Abtastung oder spätere Abtastung
■it P1 <
P1-. oder spätere Abtastung nicht auf Position P, mit P1 >
P .
Rückstellen Sustand C UK-Sahl * pi-i+1
Start P-Zähler Während jedes K-Byte aus dem i+1 UK gesogen
wird.
Stopp P-Zähler Während kein K-Byte herausgezogen wird.
Der P-Zähler in Fig. 8A wird am Anfang durch den Zyklus IP auf ™
0 zurückgestellt. Der P -Wert wird im P-Zähler auf zwei Arten registriert, abhängig davon, ob P
> P1-1 oder kleiner P1-1 ist.
Die zuletztgenannte Bedingung wird durch ein Signal für den Zustand E von Fig. 8B auf die Torschaltung 136 in Fig. 8A angezeigt,
welches die Registrierung der UK-Zählerwerte im P-Zähler
beim ersten ungleichen A2-Byte an einer Position veranlasst, die unter P1-1 liegt. Wenn P. >
P1-1 ist, wird diese Bedingung durch
ein Signal "Start P-Zähler" von Fig. 8B angezeigt. Durch dieses Signal wird der P-Zähler durch die Torschaltung 135 bei jedem
T2-Impuls nach Erreichen des Wertes Pj-1 weitergeschaltet,
solange eine Gleichheit von UK-Bytes vorliegt. Der P-Zähler stoppt bei dem ersten ungleichen UK-Byte, welches der P -Wert ist.
0Q9829/U43
Docket PO 967 078
Am Anfang eines UK-Vergleiches wird der in P-Zähler enthaltene
P.-Wert zum Wert P. . für den nächsten ÜK-Vergleich. nachdem
der P.-Wert während eines UK-Vergleiches gesetzt ist, wird der
P-Zähler für den Rest dieses UK-Vergleiches nicht und auch solange während des folgenden Vergleiches nicht verändert, bis die Position P. oder P. . durch den UK-Bytezähler zum ersten Mal erreicht
wird.
Bevor die Position P., bei einem UK-Vergleich erreicht wird,
wird der Wert im UK-Zähler 116 in Flg. 7 mit der Zahl P.. im P-Zähler der Fig. 8A durch den Vergleicher 132 in Fig. 8A verglichen. Durch die besondere Anwendung des P-Zählerβ in diesem
Ausführungsbeispiel können die Werte für P. und P1-1 nicht durch
den Vergleicher 132 alleine bestimmt werden. Der Vergleich zwischen diesen beiden Werten erfordert die in Fig. 8B gezeigte
Schaltung.
Die Bedingung P. < p4-i wütä durch die Torschaltung 144a in Fig.
8B festgestellt und durch Setzen des Triggers 144b angezeigt. Es wird ein Signal Zustand £ geliefert. Der P-Zähler wird mit
diesem P.-Wert über die Torschaltungen 134 und 136 durch die
dann beim Auftreten des Signales Zustand E vorliegende UK-Bytezahl gesetzt. Danach bleibt P. im P-Zähler und der Vergleicher
bleibt für den Rest der Abtastung dieses UK-Paares stehen.
Die Bedingung P±>
^1-1 bei Gleichheit von UK-Bytes wird durch
die Torschaltung 146a festgestellt und das Setzen des Triggers 147a in Fig. 8B liefert das Signal Zustand F, d.h. es stellt
fest, daß eine Gleichheit zwischen UK-Bytes existiert und daß das nächste Bytepaar auf Gleichheit verglichen wird. Die Torschaltung 147b liefert die Taktsignale, wenn der UK-Bytezähler den
Wert P^-1 +I enthält. Wenn die Gleichheit von UK-Bytes auch an dieser Stelle vorliegt, ist es die erste Byteposition in einem
aus mehreren Bytes bestehenden CK. Das letzte Schlüsselbyte und seine P.-Position in einem aus mehreren Bytes bestehenden CK werden durch Signale K - 3 und P-I von den Torschaltungen. 14Oa und
14Ob in Fig. 8B angezeigt. Dadurch wird die erste ungleiche Byte-
009829/U43-
Docket Po 967 078
BAD ORIGINAL
position hinter der Position P1-1 in laufenden UK-Vergleich angezeigt.
Ein Trigger 141b wird durch das Signal K - 3 gesetzt und liefert ein'Signal "Zustand C, das für den Rest der Abtastung
des laufenden UK-Paares durch den ÜK-Zähler in Fig. 7 bestehen
bleibt. Die Torschaltungen 14Oa und 140b zeigen ein Schlüsselbyte an einer Position P. 5» Pi-t an·
Die Fortschaltung des P-Zählers wird gestoppt, wenn, die Torschaltung
14Ob die erste ungleiche UK-Byteposition Kit einem Signal
P-I feststellt, welches den Trigger 14Ib so setzt, daß dieser
das Signal "Stopp P-Zählerw abgibt und das Signal "Start P-Zähler"
abfallen lässt, Während desselben A2~ZyJclus signalisiert die
Torschaltung 14Oa die übertragung des A2-Bytes als des letzten oder vielleicht einzigen Schlüsselbytes des laufenden CH, während
die Torschaltung 140b die Übertragung des entsprechenden P-Bytes
signalisiert. Für den Rest dieses fJK-*Vergleiches stellt der P-Zähler
links von dem Wert P. und wird zum Zwecke äes Erzeugung des
nächsten CK zum Wert Pj^1 ·
Die letzte UK-Abtastung erfolgt wäisrenö des Ztista&cües C*. Die
Abtastung läuft welter, während der UK-Bytesähler waiter bei
Tl fortgeschaltet wird, und zwar während jedes hl^Zjklus über die
UND-Schaltung 3.06 in Fig. 7e auch wenn der P-Zähler beim Wert P^
stehen bleibt. Somit ist die ΏΚ-Sahl nicht langes fleisl:. der
P-Zahl hinter- der Position P^. ©lese Weitersehalfetssic? durch den
UK-Bytezähler wird fortgesetstf bis die A2«2yfclosfolge durch
den Vergleicher 114 in. Pie» ? beendet wird. Er M@£erfe ein. Signal
ÜK-Ende an die Torschaltung 142 in Fig. 8BP weleß© öinec; Trigger
142a so setzt. Dieser gibt das Signal *Rückst«!ltii%f Q® ab : das die
Beendigung der UK-Abtastung anzeigt.
Jedes Byte eines jeden i*l UK in einem Vergleich wird auf das
A2-Register 124 in Fig. 8A über die Torschaltung 123 übertragen.
Für die Übertragung vom A2-Register in das CK-FeId im Puffer
10 über eine Torschaltung 128b werden jedoch nur ausgewählte CK-Bytee zugelassen« Die Schaltung in Fig. 8B entscheidet, welche
A2-Bytea im A2-Regieter 124 über die Torschaltung 128b als Schlüssel-Docket
PO 96? 078 009829/1443
BAD ORIGINAL
bytes für das laufende CK-FeId zu übertragen sind. Die übertragung
erfolgt über eine ODER-Schaltung 130 in Fig, 8A. Diese schaltet
wahlweise die Torschaltung 128b für die übertragung eines jeden ausgewählten A2-Bytes in den Puffer IO als Teil des laufenden CK
ein.
Die Schaltung in Fig. 8C steuert die Speicheradressen für den Puffer 10 mittels eines Speicheradresszählers XSg f der am Anfang
auf die erste K-Byteadresse (Verschiebung 4i für den ersten CE
gesetzt ist. Er wird bei Bedarf auf die Verschiebung.sadresae für
die entsprechenden zu speichernden Bytes weitergeselisitet. Eint;
ODER-Schaltung 159 steuert dia Adressenfort»«?!;, ir.iiju.g für die
K- und R-Bytese Die Steuersignale K - I * * und K ~ 3 vor* Fig.
8B werden auf die ODER-Schaltung 155 sovie über üi* ÜND-Sch&.tttmg
160 für der» R«2yklus auf den Zähler ISi üfcer die ODER-Schaltung
158 und auf den Steuertrigger 161 ge^si'sn* IfBX Trigger 161 gleicht
die verschiedenen Taktzeiten der Signale von der CD
159 aus t die vor T6 während eines K-Zyklus oder eines R-auftreten,
wenn über eine UND-Schaltung J £2 das Adressengatter
157 so betätigt wird, daß dieses eine Adresse auf die Pufferadressier
leitung 16 über die ODER-Schaltung 153 gibt* Trigger 161
wird durch den folgenden TQ-Impuls zurückgestelltν
Der F-1-Wert wird auf die adressierte P^-Stelle im Buffer IO
vo» P-Zähler über die F.,-Torschaltung I2s>
T die ODER-Sehaltunc
131 und die Leitung 13 in Fig· 8A übertrage»., Di« TaJctgebui:-c;
für die Übertragung erfolgt über die ODER-Schaltung 133tp die äi-Signa:
e F-I und P - 2 von der Fig* 8B oder ein bestinttt&.J
Signal für das Indexende von J*«r üND-Schaltunc lii& eopfSngu -
Register 124 in Fig. 8A kann sowohl die R-Bytes als auch die
A2-Bytes ohne Schwierigkeiten verarbeiten, da sie zu
009829/1443
Docket PO 967 078
BAD ORKatNAL
denen Zeiten auftreten, wie bereits oben für das Auftreten
der Taktzyklen A2 und R von Fig. 6 erklärt wurde.
Die R-Zyklen an der Torschaltung 123 in Fig. 8A übertragen die
Hinweisbytes der Reihe nach auf das Byteregister 124. In ähnlicher Heise kann die Torschaltung 128b die Wahl entweder
der A2- oder der R-Bytes ohne Schwierigkeiten steuern, da sie zu verschiedenen Zeitpunkten auftreten. Die Hinweisbytes werden
der Reihe nach durch jeden R-Zyklus bei T5 an der UND-Schaltung 127 übertragen, die die Torschaltung 128 betätigt« Die Hinweisbytes werden int Register 124 gepuffert, das ihre Rückspeicherung -in Puffer IO an einer anderen Adresse als der Adresse, von der ™
sie abgerufen wurden, gestattet. Diese Adresse wird entsprechend durch die Aufruf-Adressensteuerung 110 in Fig. 7 wnü Sein Speicher-Adressenzähler 156 in Fig. 8C angegeben. Diese beides! laufen in
jedem R-Zyklus synchron. Diese Synchronisierung erfolgt durch die UND-Schaltung 100 in Fig. 7, die ODER-Schaltung 159, UND-Schaltung
160 und ODER-Schaltung 158 in Fig. 8C.
einem Vergleicher 189 in Flg. 8D abgegeben, wenn die RL-Zahl
für die R-Zyklen erreicht ist. Die normale Fortschaltung des
adresse des nächsten CK gestellt.
Diese P-Byteadresse wird im Register 150 mit der Bezeichnung
"Nächste P-Adresse" gespeichert, da die Feststellung des nächsten P. durch das Signal P-I nach Speicherung von einem oder mehreren
Schlüsselsbytes erfolgen kann. Die P-Adresse wird im Register während des letzten R-Bytes gespeichert, indem der Speicheradressenzähler 156 durch das Signal R-Ende-Reserve vor dem
nächsten P-Byte für den neuen CK weitergeschaltet wird.
Zur Steuerung dieses P. und der ersten K-Adressoperation in
Fig. 8C wird während des letzten R-Bytes eines jeden Hinweises
Docket PO 967 078 009829/1443
ein Signal erzeugt (R-Ende Reserve), welches die nächste P-Speicheradresse
über die Torschaltung 152 in das Register 150 mit der Bezeichnung "Nächste P -Adresse" stellt, wo die nächste
P,-Adresse zur Verfügung steht, während die Speicheradressteuerung auf die nächsthöhere Adresse, den zuletzt im Register 150 enthaltenen
Wert, weitergeschaltet wird.
Das Gleichheit anzeigende RL-Signal ändert die Taktgebung von
R-Zyklen auf Al- und A2-Zyklen um und leitet so den Vergleich
für das nächste UK-Paar in der oben beschriebenen Art ein, was zur Erzeugung des nächsten CK führt. Diese Operation wird, für
jedes folgende UK-Paar wiederholt, bis alle UK-Paare im Puffer 10 verarbeitet sind.
Das Ende der UK-Liste im Puffer 10 wird festgestellt, wenn der
erste (und letzte) A2-Zyklus das Byte "Indexende" auf das A2-Byteregister
überträgt. Jedes A2-Byte wird durch einen Endanzeigedecodierer 180 in Fig. 8D und eine UND-Schaltung 180a festgestellt,
die einen Trigger 181 für die Anzeige des Indexendes setzt.
Der letzte CK wird aufgrund des Signales Indexende erzeugt. Der letzte CK hat einen P.-Wert 0, keine Schlüsselbytes und
das zum letzten UK gehörige Hinweisfeld. Der P-Zähler wird durch das Signal Indexende vom Trigger 181 in Fig. 8D
auf 0 zurückgesetzt. Der UK-Bytezähler wird durch die vorhergehenden
R-Zyklen auf 0 zurückgestellt.
Der letzte A2-Zyklus schaltet den UK-Zähler über die Torschaltung
106 in Fig. 7 auf 1 weiter, wodurch die UK-Zahl größer als die P-Zahl wird. Dies verhindert eine Betätigung der in Fig. 8B
gezeigten Schaltung. Der P-Zähler bleibt auf 0, da kein Signal Start P-Zähler auf die in Fig. 8A gezeigte Torschaltung 135
gegeben wird. Die im Register 150 in Fig. 8C gespeicherte P.Adresse wird während des letzten A2-Zyklus durch das über die
ODER-Schaltung 151a und
Docket PO 967 078 0 D 9 8 2 9 / U 4 3
BAD ORiGlNAt
die Verriegelung 15ld auf eine UND-Schaltung 151c gegebene Signal Indexende ausgegeben. Der P.-Wert O im P-Zähler wird von der über
die P.-Torschaltung 129 durch den letzten A2-Zyklus und das Signal
Indexende zur Zeit T6 über die ODER-Schaltung 133b eingeschalteten UND-Schaltung 133a auf die Puffereingangsleitung 13 übertragen.
In Fig. 6 ersetzt das Signal Indexende das über die ODER-Schaltung
33b kommende Signal UK-Ende und leitet die R-Zyklusfolge (und die
Endzyklen Al und A2) ein, so daß die Übertragung des R-Feldes in
der oben beschriebenen Art beginnt.
Am Ende der Übertragung des letzten Hinweisfeldes wird die Zyklusfolge
des Taktgebern durch ein allgemeines Rückstellsignal monostabilen Kippschaltung 185 beendet, die durch eine Torschaltung
183 in Fig. 8D eingeschaltet wird. Die Torschaltung 183 wird durch das Gleichheit anzeigende RL-Signal während des Vorhandenseins
des Signales Indexende eingeschaltet.
Der genaue Ablauf des im gezeigten Ausführungsbeispiel wiedergegebenen
Erzeugungsvorganges ist im Folgenden zusammengestellt:
I. Startsignal an Fig. 6 verursacht Kennzeichnungszzyklen und Start des Systems vor Abruf des ersten UK-Byte durch:
a) Setzen des Registers "Nächste P-Adresse" auf "IP-Byte" (Byte = 3).
b) Setzen "Speicheradresszähler zur Vorbereitung für die erste UK-Adresse (Byte = 3).
c) Setzen "P-Zähler" und "UK-Zähler" auf O vor Abruf des
ersten UK.
d) Alle Trigger in Fig. 8B werden zurückgestellt, wobei nur die Signale "Nicht Zustand F" und "Start P-Zähler" aktive
Signale sind.
Anfang der A1-A2 Taktfolge in Fig. 6
II. Zur Zeit Tl, UK-Bytezähler um 1 in Fig. 7 vorgeschaltet.
Docket PO 967 078 009829/1443"
Zur Zeit T2, P-Zähler in Fig. 8A um 1 vorgeschaltet.
Zur Zeit T3, wenn A1=A2, übergang nach III, wenn aber Al
ungleich A2, übergang nach IV.
III. Zur Zeit T3, leite K - 1 in Fig. 8B, da ÜK-Zähler = P-Zähler
und übergang nach II.
IV. Zur Zeit T3, leite K - 3 in Fig. 8B, da UK-Zähler = P-Zähler.
Einschalten "Zustand C" in Fig. 8B.
Zur Zeit T4, leite P-I in Fig. 8B.
Einschalten "Stopp P-Zähler" und Ausschalten "Start P-Zähler in Fig. 8B und übergang nach V.
V. Schalte ÜK-Bytezähler um 1 weiter in Fig. 7 (P-Zähler
ist jetzt mit P. gesperrt, da UK-Zähler ungleich P-Zähler).
Solange UK-Zähler ungleich MUKL-Register (d.h. kein Signal "UK-Ende"), gehe nach V.
Wenn UK-Zähler = MUKL-Register (d.h. Signal "UK-Ende",
gehe nach VI.
VI. Einschalten Signal "Rückstellung Zustand C" in Fig. 8B.
Ausschalten Signal "Zustand C in Fig. 8B. Beginn R-Zyklus folge in Fig. 6 zur übertragung der Hinweisbytes vom i.
UK i. CK. Beendigung der R-Byteübertragung angezeigt durch
Signal "R-Ende Reserve" in Fig. 8D. übergang nach VII.
VII. Beginn der Al- und A2-Taktzyklusfolge in Fig. 6 für das
nächste UK-Paar. (P.-Wert im P-Zähler jetzt neu zugeordnet als Wert Pj-1)- Zur Zeit Tl, UK-Bytezähler um 1 erhöht.
Wenn das erste A2-Byte in Fig. 8D als Indexende decodiert wird, übergang nach XIII. Wenn erstes A2-Byte
nicht als Indexende decodiert wird, übergang nach VIII.
VIII. Wenn UK-Bytezählerstand < P-Zählerstand und Al verschieden
A2 in Fig. 8B, übergang nach IX, sonst übergang nach X.
009829/UA3
Docket PO 967 078
IX. Zur Zelt T3 Setzen Signal "Zustand E" in Fig. 8B. Zur Zeit T4 leite UK-Bytezählerstand in P-Zähler in Fig. 8A zur
Erzielung des neuen P.. Zur Zeit T5 Torschaltung K - 2 in Fig. 8B einschalten zur übertragung des A2-Byte in Fig.
8A als K-Byte auf Puffereingangsleitung, in Fig. 8B Einschalten der Signale "Zustand C" und "Stopp P-Zähler" und
Rückstellung des Signales "Rückstellung C". Zur Zeit T6 Betätigen der Torschaltung P-2 in Fig. 8B zur übertragung
des Wertes von P^ in den P-Zähler in Fig. 8A auf die Puffereingangsleitung,
Einschalten des Signales "Stopp P-Zähler" in Fig. 8B. übergang nach V. Λ
X. Wenn ÜK-Bytezählerstand ■.P-Zählerstand und A1=A2 (Torschaltung
146a), übergang nach XI, sonst übergang nach XII.
XI. Zur Zeit T2, Einschalten Signal "Zustand F" in Fig. 8B,
Zur Zeit T7, Erzeugen Signal "Rückstellen Zustand C". Rückstellen Schalter "Zustand C". Rückstellen Schalter
"Rückstellen C"^ Setzen "Start P-Zähler". übergang nach
II.
XII. Wenn VIII und X nicht zutreffen, übergang nach VIII.
XIII. Rückstellen P-Zähler auf O in Fig. 8A. (Bedingungen f
liegen vor, bei denen die Signale in Fig. 8B in den Anfangslagen bleiben). Start der R-Zyklen in Fig. 6
und übertragen letztes Hinweisfeld. Allgemeine Rückstellung in Fig. 8D am Ende der R-Byteübertragung zur
Beendigung der Operation.
D. Suchvorgang
Das Grundlegende des Suchvorganges wurde bereits beschrieben. Dementsprechend wird nachfolgend eines der zahlreichen möglichen,
erfindungsgemäßen Ausführungsbeispiele beschrieben.
009829/1443
Docket PO 967 078
1. Schaltungen für den Suchvorgang
Öle Eingabe von der Datenausgangsleitung in Fig. 12 besteht
aus einem verdichteten Index, der von einer beliebigen Quelle stammen kann. Für dieses Ausführungsbeispiel sind zwei alternative allgemeine Quellen vorgesehen. Die eine Quelle ist eine
Anlage mit wahlfreiem Hortzugriff wie z.B. ein Kernspeicher und die andere eine serielle Eingabe/Ausgabeinheit wie Platte,
Trommel oder Band.
Fig. 10 zeigt eine Schaltung zum Anschließen solcher Geräte,
nämlich einer EA-Einheit oder eines Pufferspeichers. Ein Eingabeauswahltrigger 305 wird durch Ausführung einer herkömmlichen Computerinstruktion betätigt. Die Instruktion kann
die beiden Betriebsarten EA-Betrieb und Pufferbetrieb enthalten. Bei EA-Betrieb wird ein Trigger 301 in Fig. IQ gesetzt.
Bei Pufferbetrieb wird dieser Trigger zurückgestellt. I» gesetzten Zustand verbindet der Trigger die EA-Einheit 300 alt
der Datenausgangsleitung über die Torschaltung 302 und die ODER-Schaltung 304. Ia zurückgestellten Zustand verbindet
der Trigger 301 die Pufferausgangsleitung 14 vom Puffer 10 in Fig. 2B über eine Torschaltung 303 und eine ODER-Schaltung
304 mit der Datenausgangsleitung.
Beim Suchvorgang wird die in den Fign. 9A und B gezeigte
Taktsteuerschaltung benutzt, die dieselben Kennzeichnungszyklen liefert wie die Taktsteuerung für den Erzeugungsvorgang in Fig. 6. In gleicher Weise wird in Fig. 9A der MUKL-Zyklus zum ersten Rückstellen benutzt, das HUKL-Byte wird
bei diesem Ausführungsbeispiel des Suchvorganges jedoch nicht übertragen. Fig. 4B zeigt die Taktierung für die
Taktsteuerschaltung in den Fign. 9A undHWährend der LVL-Zykluszeit und Tl, wird das nächste Eingangsbyte (LVL) auf
das LVL-Register 268 in Fig. 12 geleitet. Die Ausgänge des LVL-Registers legen fest, ob der verdichtete Index, welcher
gerade verarbeitet wird, ein hohes oder niedriges Format hat.
Docket PO 967 078 009829/1443
BAD ORiOINAt.
Zur RL-Zykluszeit und zur Zeit TL, wird das nächste Eingangs*
byte auf das RL-Register geleitet, welches die Länge für
jedes Hinweisfeld hinter einem CK definiert.
Nach den RL-Zyklus folgt ein P-Zyklus. Zur Zeit TO während
jedes P-Zyklus wird ein P.-Register 308 in Fig. 13 auf die Anfangsstellung 0 zurückgestellt. Während des P-Zyklus
zur Zeit Tl wird das P-Byte eines CK von der Eingabeinheit auf das P -Register 3Q8 in Fig. 13 über die Torschaltung
307 zur Zeit Tl gesendet. Register P1-1 wurde durch den μ
MOKL-Zyklus am Anfang auf +1 zurückgestellt. Die Ausgänge
des P.-Register 308 und des P. ,-Zählers 314 werden auf
den Vergleicher 316 geschaltet, um den P.-Wert (am Anfang 1 oder größer) mit dem Wert P. , (am Anfang 1) zu vergleichen. Wenn später P. kleiner als P^1 ist, wird ein Trigger
319 eingeschaltet.
Die Taktsteuerschaltung in Fig. 9B liefert nach jedem einzelnen P-Zyklus einen oder mehrere K-Zyklen. Während jedem
K-Zyklus, wird ein K-Byte (das nächste Byte aus der Eingabeeinheit) zur Zelt Tl in das K-Register 256 in Fig. 12 geleitet.
Das K-Register wird immer während jedes K-Zyklus zur Zeit TO über die UND-Schaltung 257 auf O zurückgestellt und wird zur %
Zeit Tl über die Torschaltung 254 auf den Wert des empfangenen K-Bytes eingestellt.
Ein Gleichheitszähler 301 (Fig. 13) erhöht den Wirkungsgrad der Operation dadurch, daß er es ermöglicht, daß jedes Byte
des Suchargumentes nur einmal in einem verdichteten Index untersucht wird. Dadurch können beim Erzeugungsvorgang die
werthohen gleichen Bytes der verglichenen UK's fallengelassen werden.
Wenn bei einer K-Zykluszeit der Zähler P. , gleich dem
Gleichheitszähler 301 in Fig. 13 ist, wird ein Byte des Suchargumentes (A) in das Suchargumentenregister 252 in
FIg* 12 geleitet· Wenn das Suohargumentenbyte (A) größer
Docket ro 967 078 009829/1443
BAD
als das K-Byte (in K-Register) ist, bleibt das A-Byt· im
Argunentenregister während das erste K-Byte des nächsten CK in das K-Register zu eine« weiteren Vergleich geleitet
wird. Wenn das Α-Byte kleiner als das K-Byte ist, endet die Suche und die zu diesen CK gehörigen R-Bytee werden wiedergewonnen und in das Hinweisregister in Fig. 2B gestellt,
wohin auch der Hinweis »it den ersten hohen CK gesetzt wird (wobei für die UK's eine aufsteigende Sortierfolge angenommen
wird).
Die Anfangsstellung des Gleichheitszählers 301 in Fig. 13 ist der Wert 1, der während des MUKL-Zyklus bei TO über die
UND-Schaltung 302 gesetzt wurde. Somit wird bein ersten Vergleich zwischen den Werten in Zähler P, , 314 und in Gleichheitszähler 301 Gleichheit festgestellt und diese Gleichheit
wird durch ein Ausgangssignal des Vergleichers 303 angezeigt. Jede Gleichheit zwischen den Zählern 314 und 301 setzt während
eines K-Zyklus zur Zeit T2 einen Gleichheitsschalter 306. Dieser Schalter 306 wird kurz danach zur Zeit T4 zurückgestellt ι
so daß ein S.A.-Gleichheitssignal während der Zeiten T2-T4 signalisiert wird.
Wenn der Vergleicher 253 in Fig. 12 signalisiert, daB K - A
ist und der Gleichheitsschalter 306 gesetzt ist, wird der Gleichheitszähler 301 durch das Gleichheitssignal über die
UND-Schaltung 326 und die ODER-Schaltung 324 un 1 weitergeschaltet.
Während der nächsten K-Zykluszeit, wird ein neues K-Byte
in das K-Register 256 in Fig. 12 geleitet. Wieder wird durch den Vergleicher 303 in Fig. 13 festgestellt, ob der Zähler
314 nit den Zähler 301 übereinstinnt. Wenn die beiden Zählerstände gleich sind, wird das nächste Suchargunentenbyte abgerufen und ein weiterer Vergleich durchgeführt. Der Gleichheitezähler 301 wird nicht gesetzt, wenn das K-Byte größer als das
A-Byt· 1st. Statt dessen wird ein Trigger 328 über die UND-Schaltung
Docket PO 967 078 009829/1443
BAD ORIGINAL
327 gesetzt, die eine UND-Schaltung 329 vorbereitet. Diese beendet die Suchoperation für dieses Suchargument, nachdem
der Hinweis der laufenden CK's durch Setzen des Triggers
331 (Suchvorgang vollständig) gefunden ist.
In Fig. 13 wird der Zähler 314 während jedes K-Zyklus zur Zeit
T3 um 1 erhöht. Wenn während eines K-Zyklus zur Zeit TO P. gleich P. . ist, wird Trigger 222 für den nächsten R-Zyklus in Fig. 9B eingeschaltet. Der nächste Zyklus ist dann ein
R-Zyklus. Nährend der R-Zyklen werden die Hinweisbytes von
der Eingabeinheit dadurch in das Register 256 in Fig. 12 geleitet, daß die Torschaltung 254 durch die R-Zyklen Über
die ODER-Schaltung 255 durchgeschaltet wird. Die Hinweisbytes werden Über die Torschaltung 256 auf die Puffereingangsleitung
13 gegeben, wenn diese Torschaltung durch die UND-Schaltung 260 aufgrund des R-Auswahlsignales eingeschaltet ist.
Zwischen dem RL-Register 259 und dem R-Zähler 264 wird durch
einen Vergleich festgestellt, ob sie gleich sind. Ist das der Fall, wird das Ende des Hinweises durch ein Signal R * RL
angezeigt. Dann wird der Trigger für den nächsten P-Zyklus eingeschaltet.
Während des P-Zyklus wird das P -Register in Fig. 13 zur Zeit
TO auf O zurückgestellt und durch die Torschaltung 307 zur Zeit Ti auf ein neues P.-Byte gesetzt, das dann auf der Datenausgangsleitung von der Eingabeeinheit her vorliegt. Jedem P-Zyklus folgt ein K-Zykius, durch den das K-Register zur Zeit
Tl mit dem nächsten Byte von der Eingabeinheit geladen wird.
Während jedes P-Zyklus wird durch eine Prüfung vom ¥©rgleicher
316 festgestellt, ob der Wert im P.-Register kleiner ist als ·
der Wert im Register 3?±_,· Ist das der Fall und der P.-Wert
von O verschieden (was durch die UND-Schaltung 317 festgestellt
wird), wird der Inhalt des P.-Registers über die Torschaltung
313 in den Zähler P. .gegeben, um einen neuen Wert zn liefern,
Docket PO 967 078 009829/1443
BAD ORtetNAL
- 36 -. der zu diesen Zeitpunkt P4 darstellt.
Wenn der Vergleicher 316 jedoch anzeigt, daß P. größer ist als Pj,* wird der von vorhergehenden CK stammonde P.-Wert zum
Wert P1-1 und direkt benutzt. In diesem Fall wird der X«hier
P^-1 wahrend jedes unmittelbar folgenden K-Zyklus über di·
UND-Schaltung um l erhöht und stellt das nächste K-Byte dar. Der erhöhte Wert im Zähler P. . wird mit dem
Wert im P^-Register durch den Vergleicher 316 verglichen·
Ebenso wird der erhöht· Wert im Zähler Ρ±>>1 mit dem Wert
im Gleichheitszähler Ober den Vergleicher 303 verglichen·
Der echte Wert für P1-1 ist nur im Zähler 314 enthalten,
bevor er während einer neuen CK-Operation erhöht wird. Wenn er einmal erhöht ist, 1st der Wert im Zähler 314 *
höher als der laufende Wert für P1- .· Jeder erhöhte Wert
im P1-1-Zähler stellt die tatsächliche UK-Position für du
laufende K-Byte in dem durch den laufenden CK dargestellten UK dar.
Nur wenn festgestellt wird, daß der erhöhte P1-1-Zählerwert
gleich dem Wert im Gleichheitszähler ist, kann das nächst· Byte des Suchargumentes vom Puffer IO geholt und in das
Argumentenregister 252 geladen werden.
Der Gleichheitszähler wird durch ein Signal "+1 in Gleichheitezähler" von der UND-Schaltung 326 um 1 erhöht, Diese UND*
Schaltung wird zur Zelt T3 während eines K-Zyklus betätigt,
sobald das laufende K-Byte gleich dem Suchargumentenbyte A ist. und das Signal "S.Jl.-Gleichheit" vom Trigger 306 empfangen
wird. Das Signal S.A. Gleichheit wird zwischen den Zeiten T2 und T4 geliefert, und zwar nach einem Signal "S.A. Gleichheitszählerstand gleich P1-1" vom Vergleicher 303 zur Zelt T2
während eines K-Zyklus.
009829/U43 Docket PO 967 078
BAD ORIGINAL
wird das nächste Argumentenbyte bis zum nächsten K-Zyklus
nicht in das Suchargumentenregister 252 geleitet. Nach dem Laden des Suchargumentenregisters werden die Trigger 242 und
243 eingeschaltet, um eine Adressierung des nächsten Suchargunentes bis zu den Zeitpunkt zu verhindern, zu welchem ein
weiteres Signal "+I In Gleichheitszähler" erzeugt wird.
Dasselbe Suchargumentenbyte wird dazu benutzt, der Reihe
nach die CK's abzutasten, bis das Argumentenbyte gleich dem
K-Byte an derselben relativen Position im unverdichteten Schlüssel (dargestellt durch den erhöhten Wert im Pj-1"
Zähler 314) wie im Suchargument des laufenden Argumentenbyte* ist (dargestestellt durch den Wert im Gleichheitszähler 301).
Die Suche ist beim Vorliegen dreier Bedinungen abgeschlossen: (1) Ein laufendes Argumentenbyte A ist höher als ein K-Byte
i» ganzen CK Index, d.h., das P-Byte wird als 0 durch den
Nullendetektor 309 decodiert, oder (2) ein P.-Wert ist kleiner als die laufende Stellung des Gleichheitszählers oder (3) der
Wert im Zähler P1-1 ist gleich dem Wert im Gleichheitszähler
und das Argumentenbyte A ist kleiner als K. Die dritte Bedingung wird durch ein Ausgangssignal von der UND-Schaltung
327 angezeigt, das einen Trigger 328 einschaltet. Die zweite Bedingung wird angezeigt durch eine UND-Schaltung 315 in Fig. ™
13, die durch ein Signal vom Vergleicher 303 eingeschaltet wird, welches anzeigt, daß P. kleiner als die laufende Stellung des Gleichheitszählers Zur Zeit T2 während eines K-Zyklus
ist. Die erste Bedingung liegt offentsichtlich vor, wenn das
Suchargument größer als ein Schlüssel ist und wird durch ein Ausgangssignal von der UND-Schaltung 332 verursacht,
welches den Trigger 328 setzt.
Der Trigger 328 bleibt eingeschaltet und löst ein Signal R-Auswahl aus, während der laufende Hinweis oder Zeiger hinter
de» letzten CK abgerufen und im Zeigerregisterteil des Puffers
10 in Fig. 2B gespeichert wird.
Docket PO 967 078 009829/U43
BAD ORIGINAL v
Das Ende der Hinweisübertragung wird durch ein Signal R - BL an die UND-Schaltung 334 angezeigt, die einen Trigger 331
"Suchvorgang vollständig* Ober die UND-Schaltung 329 setzt, welche ihrerseits durch den Trigger 328 oder Trigger 333 vorbereitet ist. Trigger 331 bereitet UND-Schaltung 336 für die
Erzeugung eines allgemeinen Rückstellimpulses zur nächsten Zeit T6 vor, der dann die Trigger 328 und 333 sowie die Taktsteuerung in den Fign. 9A und 9B zurückstellt und den Suchvorg
beendet.
Wenn das Argument im verdichteten Index nicht gefunden wird,
wird schließlich durch den Detektor 309 in Fig. 13 ein P.Wert von O festgestellt. Dadurch wird die UND-Schaltung 332
während des letzten P-Zyklus eingeschaltet und setzt den
Trigger 333, der dann ein Signal "K-Zyklus überspringen"
an die Taktsteuerung in Fig. 9B gibt, so daß diese mit den R-Zyklen zum Setzen des letzten Hinweises in das Hinweisregister in Fig. 2B beginnt. Außerdem liefert der Trigger 333 ein
Ausgangssignal über die ODER-Schaltung 333 auf die UND-Schaltung 329, um den Trigger 331 "Suchvorgang vollständig" zu
setzen, wenn der letzte Hinweis registriert ist.
Somit zeigt das Signal für die Beendigung der Suche in Fig. 13 an, daß der ganze Hinweis im bezeichneten R-Register für
den gefundenen Hinweis gespeichert ist und die Suchoperation damit abgeschlossen 1st.
Der letzte Hinweis kann dazu benutzt werden, den letzten ursprünglichen, unverdichteten Schlüssel abzurufen und daraufhin zu untersuchen, ob das Suchargument ein Teil der Ursprungs
liste unverdichteter Schlüssel war. Ist das nicht der Fall, kann die Liste fortgeschrieben werden, indem neue UK's eingefügt und der CK Index neu erzeugt werden.
Die Schaltung in Fig. 11 stellt die Stelle im Puffer IO für
die Hinwelsbytes fest, dl· durch Register 256 in Fig. 12
Docket PO 967 078 009829/1443
BAD ORfGiNAl.
- 3S -
auf die Puffereingangeleitung 13 übertragen werden, wenn
der Trigger 328 in Fig. 13 geeettt ist. Die Adressierung
des vorbestimmten Hinweisregister· in Fig. 2B erfolgt durch den XMhler 156 in Fig. 11. Das Signal für den nächsten R-Zyklus von Fig. 9B setzt den Adresszähler 156 auf die Startbyteadresse des Hinweisregisters la Puffer 10, die irgendeine verfügbare vorbestinuBte Stelle im Puffer IO sein kann.
(Der Adressxähler kann auch die bei den Erzeugungsvorgang
benutzte Speicheradressteuerung 156 sein). Eine UND-Schaltung 314 schaltet den Zähler 156 zur Seit T6 während jedes R-Zyklus vor, während der Trigger 328 so gesetzt wird, daß er
jedes R-Byte la Hinweisregisterfeld erzeugt. Der andere
Eingang zusi Addierer A liefert lauter Nullen auf den Addierer, da die Torschaltung 315 durch einen K-Zyklus nicht eingeschaltet wird.
Der Abruf-Adressenzähler HO kann ebenfalls derselbe sein,
der beim Erzeugungsvorgang benutzt wurde. Er wird im Suchbetrieb durch den MUKL-Zyklus auf O zurückgestellt und danach zur Zeit T7 durch jeden folgenden Taktzyklus in Fig.
um 1 erhöht. Die Abrufadresse wird vom Zähler HO zu jeder
Taktselt TO auf die Pufferadressleitung 16 über die UND-Schaltung 312a und die ODER-Schaltung 312b ausgegeben. Somit
tastet der Aufrufadressenzähler der Reihe nach einen verdichteten Index ab.
Die Sttchargumentenbytes werden auch durch den Zähler 156
adressiert, der während jedes P-Zyklus auf den Anfang einer vorbestimmten Suchargumentenreglsteradresse im Puffer 10
in Fig. 2B gesetzt wird. Die laufende Byteposition in dem für einen Vergleich benötigten Suchargument erhält man vom
Gleichheitszähler 301 in Fig. 13· Sie wird auf die Torschal- , tung 315 in Fig. 11 gegeben, die sie während jedes K-Zyklus
auf den Addierer A gibt, der den Wert des Gleichheitszählers zur ersten Argumentenadresse im Adresszähler 156 addiert. Der
009829/1443
Docket PO 967 078
BAD ORIGtNAl
Ausgang des Addierers A wird über die UND-Schaltung 313 und
die ODER-Schaltung 312b zur Zeit T7 auf die Pufferadressleitung 16 gegeben um das für einen Vergleich mit dem laufenden
K-Byte benötigte Argumentenbyte abzurufen.
Eine Suche nach dem Suchargument im selben verdichteten Index
kann begonnen werden.
2. Taktsteuerungen für den Suchvorgang
Die Fign. 9A und B zeigen Such-Taktsteuerungen zur Lieferung der sechs Zyklusarten, die in Fig. 4B gezeigt und zur Absuche
eines verdichteten Index benutzt werden. Die Suchtaktsteuerungen für die ersten Kennzeichnungsbytes in Fig. 9A sind
ähnlich wie die Steuerungen für die Kennzeichnungsbytes der in Fig. 6 gezeigten Erzeugungs-Taktsteuerungen. -
Durch die Suchtaktsteuerungen wird eine Gesamttaktfolge beim Suchen eines verdichteten Indexblockes geliefert, der mit
einem CK endet, dessen P-Byte O ist. Die Kennzeichnungsbytezyklen (MUKL, LVL und BL) treten einmal pro Suche für ein
Suchargument auf. Der P-Zyklus tritt einmal während des P-Bytes am Anfang eines jeden CK auf. Ein K-Zyklus tritt
einmal pro K-Byte in einem CK auf. Ein R-Zyklus tritt einmal
pro mit einem CK verbundenen Hinweisbyte auf.
Die Taktsteueroperation beginnt mit einem Startsignal auf der Leitung 205 in Fig. 9A. Dieses Startsignal wird genauso
erzeugt, wie es für das Startsignal in Fig. 6 erklärt wurde.
Die Trigger und die Operation für diese drei Kennzeichnungszyklen in Fig. 9A sind identisch mit den genauso bezeichneten
Docket PO 967 078 009829/ U43
Schaltungen in Flg. 6, die bereits oben für den Erzeugungsvorgang beschrieben wurden.
Demnach unterscheiden sich die Suchtaktsteuerungen von den
Erzeugungstaktsteuerungen. Das ist hauptsächlich auf die unterschiedliche Länge der CK's beim Suchvorgang im Gegensatz
zur festen Länge der UK's beim Erzeugungsvorgang zurückzuführen. Die unterschiedlichen Längenbedingungen werden
in Fig. 9B durch einen Trigger 213 für den nächsten Zyklus behandelt. Dieser Trigger zeigt im Voraus an, wenn die nächste
Zyklusart gewählt werden muß. Daher wird der Trigger 213 {f
durch eine Torschaltung 212 zur Zeit Tl während eines RL-Kennzeichnungszyklus gesetzt, da ein P-Zyklus einem RL-Zyklus
folgen muß. Außerdem folgt bei jeder Hinweisabtastung ein P-Zyklus dem letzten R-Zyklus, was durch ein Signal R = RL
an die UND-Schaltung 218 angezeigt wird, die Träger 213 zur Zeit T6 während des RL-Zyklus setzt. Im gesetzten Zustand
bereitet Trigger 213 die Torschaltung 214 vor, die dann den P-Zyklustrigger zur nächsten TO-Zeit setzt. Daher beginnt
der P-Zyklus bei der nächsten Zeit TO und Trigger 213 für den nächsten P-Zyklus wird beim nächsten Tl-Impuls zurückgestellt.
Ein Trigger 229 für den nächsten K-Zyklus wird durch
die Torschaltung 228 während des P-Zyklus zur Zeit T6 einge- ™
schaltet, wenn P verschieden von O ist (d.h. nicht der letzte CK). Die Torschaltung 231 wird dadurch vorbereitet, so
daß sie den nächsten TO-Impuls durchläßt, der den K-Zyklus-Trigger
auf den Anfang eines K-Zyklus setzt. Der erste K-Zyklus stellt den P-Zyklustrigger über die ODER-Schaltung
216 zurück.
Der Zyklustrigger bleibt während der K-Bytes im laufenden
CK gesetzt, worin die K-Zyklen nacheinander ablaufen, bis ein Signal p iye*m.1 vora Vergleicher 316 in Fig. 13 anzeigt,
daß der Inhalt des P .^-Zählers 314
Docket PO 967 078 009829/U43
gleich dem laufenden P -Wert im Register 308 ist.
Das Signal P^P1.x an die UND-Schaltung 221 veranlasst das
Setzen des Triggers 222 für den nächsten R-Zyklus während jedes letzten K-Bytes bei niedrigem Verdichtungsformat. Zur
folgenden Zeit Tl wird Trigger 229 für den nächsten K-Zyklus zurückgestellt und Trigger 222 für den R-Zyklus
auf den Anfang einer Folge von R-Zyklen gesetzt. Der erste R-Zyklus stellt den K-Zyklustrigger über die ODER-Schaltung 232 zurück. Die R-Zyklen laufen weiter, bis die R-Zahl
gleich dem RL-Wert im Register 259 in Fig. 12 ist, was durch
ein Ausgangssignal RL CT vom Vergleicher 261 in Fig. 12 an die Torschaltung 218 in Fig. 9B signalisiert wird. Diese
setzt den Trigger für den nächsten P-Zyklus zur Zeit T6 und der Vorgang läuft bei niedriger Verdichtung für jeden nächsten
CK noch einmal ab, bis ein P-Byte mit dem Wert O abgefühlt
wird, welches das Ende einer CK-Gruppe anzeigt. Dadurch wird ein Signal "K-Zyklus überspringen" vom Trigger 333 in Fig.
erzeugt, das den Trigger 222 in Fig. 9B auf die nächsten R-Zyklen setzt und dadurch die K-Zyklen für den letzten CK
überspringt. Dadurch ist die Taktsteuerung bei niedrig verdichtetem Indexbetrieb beendet.
Die Operation für hoch verdichteten Indexbetrieb ist ähnlich, jedoch folgt hier ein zweiter Satz von P-Zyklen und K-Zyklen
einem ersten Satz von P- und K-Zyklen, bevor die R-Zyklen erzeugt werden, wie es durch die Folge in Fig. 5B dargestellt
ist. Diese wird durch einen Binärtrigger 211 gesteuert, der am Anfang zurückgestellt und durch jeden folgenden P-Zyklus
umgeschaltet wird.
Somit bereitet nach einer ungeraden Anzahl von CK's der
Binärtrigger 211 eine UND-Schaltung 209 auf das Setzen des Triggers 213 am Ende des letzten K-Zyklus des letzten CK
vor, wodurch ein P-Zyklus anstatt eines R-Zyklus eii 3Hi ungeraden CK folgt. Die geradzahligen CK-Signale vom Trigger 211
Docket PO 967 078 0 0 9 82 9/1443
bereiten eine UND-Schaltung 221 über die ODER-Schaltung
219 auf das Setzen des Triggers für den nächsten R-Zyklus vor.
Ua eine Zweideutigkeit der Suche zu vermeiden, sollte hinter
dem wertniedersten Byte des Suchargumentes ein Spezialbyte
stehen, das kleiner ist als jedes mögliche K-Byte im Index. Als Spezialbyte kann das niedrigste Byte in der verwendeten
Sortierfolge benutzt werden. Wenn dann bei einem Suchvorgang alle Sucharguaentenbytes zu einem gleichen Vergleichsergebnis
führen, erzwingt dieses Spezialbyte ein A<.K beim nächsten
K-Byte, so daß die Suche beim laufenden CK beendet und sein Hinweis gelesen wird.
Docket PO 967 078 0 0 9 8 2 9 / U 4 3
Claims (17)
1. Verfahren zum Wiederauffinden gespeicherter Informationen in
Verbindung mit einem Verfahren zur Erzeugung verdichteter '
Schlüssel aus einer Folge sortierter, verschiedenen Informationsgegenständen zugeordneter, unverdichteter Schlüssel, dadurch gekennzeichnet, daß zur Erzeugung der verdichteten
Schlüssel nacheinander jeweils ein Paar in der sortierten Folge aufeinanderfolgender unverdichteter Schlüssel aufgerufen wird, daß beginnend mit der höchstwertigen Byteposition die sich entsprechenden Bytepositionen jedes Schlüsselpaares unter Bildung von Gleichsignalen und Ungleichsignalen
miteinander verglichen werden, daß die Bytepositionen bis zur höchsten ungleichen Byteposition gezählt werden und daß
mindestens das aus der höchsten ungleichen Byteposition stammende Schlüsselbyte des zweiten Schlüssele jedes -Paares
in dem gebildeten verdichteten Schlüssel gespeichert wird.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daft die
Anzahl der Bytepositionen bis zur höchsten ungleichen Byteposition als Kontrollfeld für den jeweiligen verdichteten
Schlüssel gespeichert wird.
3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, daß die Speicherung eines Kontrollfeldes für jedes aufeinanderfolgende
Paar unverdichteter Schlüssel zur Erzeugung eines verdichteten Schlüssels wiederholt wird, wobei der zweite unverdichtete
Schlüssel jedes Paares jeweils den ersten unverdichteten Schlüssel des folgenden Paares bildet.
4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, daß das
Schlüsselbytefeld jeweils nach dem Kontrollfeld gespeichert wird.
5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, daß im Kontrollfeld der Wert Null gespeichert wird, um damit das
Indexende anzuzeigen.
Docket PO 967 078 0 0 9 8 2 9 / U 4 3
6. Verfahren nach Anspruch 3, dadurch gekennzeichnet, daß nach
der Erzeugung eines verdichteten Schlüssels jeweils ein Zeiger (Hinweisadresse) für die vom ersten unverdichteten Schlüssel
repräsentierten Daten angefügt wird.
7. Verfahren nach Anspruch 3, dadurch gekennzeichnet, daß die höchste ungleiche Byteposition des vorhergehenden und des
gerade erzeugten verdichteten Schlüssels gespeichert werden.
8. Verfahren nach Anspruch 7, dadurch gekennzeichnet, daß die
höchste ungleiche Byteposition des vorhergehenden und des μ
gerade erzeugten verdichteten Schlüssels verglichen werden und dabei ein Signal erzeugt wird, das angibt, ob die höchste
ungleiche Byteposition des gerade erzeugten verdichteten Schlüssels höher, gleich oder niedriger als die des vorhergehenden verdichteten Schlüssels ist.
9. Verfahren nach Anspruch 8, dadurch gekennzeichnet, daß die höchste ungleiche Byteposition des gerade erzeugten verdichteten Schlüssels als Kontrollfeld gespeichert wird und daß
außerdem das Byte dieser Byteposition aus dem zweiten unverdichteten Schlüssel als Schlüsselbyte für den gerade erzeugten
verdichteten Schlüssel gespeichert wird, wenn ein Signal erzeugt wird, das angibt, daß die höchste ungleiche Byteposition f
des gerade erzeugten verdichteten Schlüssels gleich oder niedriger als die des vorhergehenden verdichteten Schlüssels
ist.
10. Verfahren nach Anspruch 8, dadurch gekennzeichnet, daß die höchste ungleiche Byteposition des vorhergehenden verdichteten Schlüssels als Kontrollfeld gespeichert wird und daß
außerdem alle Bytepositionen des zweiten unverdichteten Schlüssels von der höchsten ungleiche Byteposition des
vorhergehenden bis zu der des gerade erzeugten verdichteten Schlüssels gespeichert werden, wenn ein Signal erzeugt wird,
das angibt, daß die höchste ungleiche Byteposition des gerade
'erzeugten verdichteten Schlüssels höher als die des vorher-
Docket PO 967 078 0 0 9 8 2 9 / U 4 3
gehenden verdichteten Schlüssels ist.
11. Verfahren zum Suchen nach einem Suchargument in einem verdichteten
Index, bei dem jeder verdichtete Schlüssel mindestens ein Schlüsselbyte enthält, dadurch gekennzeichnet, daß
das vorhergehende Xontrollfeld und das des gerade anstehenden verdichteten Schlüssels registriert werden und daß beide
Kontrollfelder verglichen werden, wobei festgestellt wird, ob das anstehende Kontrollfeld höher, gleich oder niedriger
als das vorhergehende Kontrollfeld ist.
12. Verfahren nach Anspruch 11, dadurch gekennzeichnet, daß im anstehenden verdichteten Schlüssel ein einzelnes Schlüsselbyte
aufgezeichnet wird, wenn beim Vergleich festgestellt wird, daß das anstehende Kontrollfeld gleich oder niedriger
als das vorhergehende ist, wobei die höchste ungleiche Byteposition des anstehenden verdichteten Schlüssele vom
anstehenden Kontrollfeld geliefert wird.
13. Verfahren nach Anspruch 11, dadurch gekennzeichnet, daß für den anstehenden verdichteten Schlüssel eine Angabe über die
Schlüsselbyteanzahl gleich der um Eines erhöhten Differenz zwischen dem anstehenden und dem vorhergehenden Kontrollfeld
ermittelt wird, wenn beim Vergleich festgestellt wird, daß das anstehende Kontrollfeld größer als das vorhergehende
Kontrollfeld ist, wobei die höchste ungleiche Byteposition für den anstehenden verdichteten Schlüssel vom vorhergehenden
Kontrollfeld geliefert wird.
14. Verfahren nach den Ansprüchen 12 oder 13, dadurch gekennzeichnet,
daß beginnend mit dem höchstwertigen Byte jeweils ein Byte des Sucharguments übertragen wird, daß das gerade anstehende
Byte des Suchargusents mit dem höchstwertigen Schlüsselbyte eines verdichteten Schlüssels verglichen wird
und daß ein Suchsignal erzeugt wird, das angibt, db das
Schlüsselbyte höher, gleich oder niedriger als das Byte des
Docket PO 967 G7B 009829/1443
Sucharguments ist.
15. Verfahren nach Anspruch 14, dadurch gekennzeichnet, daß
ein Suchvorgang abgeschlossen wird, wenn das Suchsignal angibt, daß das Schlüsselbyte höher als das Byte des Sucharguments ist.
16. Verfahren nach Anspruch 14, dadurch gekennzeichnet, daß jeweils das nächste Schlüsselbyte des anstehenden verdichteten
Schlüssels alt dem nächsten Byte des Sucharguments verglichen wird, wenn das Suchsignal angibt, daß das Byte des Suchargument8 und das Schlüsselbyte gleich sind.
17. Verfahren nach Anspruch 14, dadurch gekennzeichnet,· daß zum
nächsten verdichteten Schlüssel übergegangen wird, wenn das Suchsignal angibt, daß das Schlüsselbyte geringer als das
Byte des Sucharguments ist.
Docket PO 967 078 009829/1443
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US78887669A | 1969-01-03 | 1969-01-03 |
Publications (1)
Publication Number | Publication Date |
---|---|
DE1965507A1 true DE1965507A1 (de) | 1970-07-16 |
Family
ID=25145858
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19691965507 Withdrawn DE1965507A1 (de) | 1969-01-03 | 1969-12-30 | Verfahren zum Wiederauffinden gespeicherter Informationen |
Country Status (6)
Country | Link |
---|---|
US (1) | US3613086A (de) |
JP (1) | JPS4922222B1 (de) |
CA (1) | CA918811A (de) |
DE (1) | DE1965507A1 (de) |
FR (1) | FR2027738A1 (de) |
GB (1) | GB1280484A (de) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5524134B2 (de) * | 1974-11-15 | 1980-06-27 | ||
US4232375A (en) * | 1978-06-12 | 1980-11-04 | Ncr Corporation | Data compression system and apparatus |
US5270712A (en) * | 1992-04-02 | 1993-12-14 | International Business Machines Corporation | Sort order preserving method for data storage compression |
US5590317A (en) * | 1992-05-27 | 1996-12-31 | Hitachi, Ltd. | Document information compression and retrieval system and document information registration and retrieval method |
US5832499A (en) * | 1996-07-10 | 1998-11-03 | Survivors Of The Shoah Visual History Foundation | Digital library system |
US6353831B1 (en) | 1998-11-02 | 2002-03-05 | Survivors Of The Shoah Visual History Foundation | Digital library system |
US6909384B2 (en) * | 2002-01-31 | 2005-06-21 | Microsoft Corporation | Generating and searching compressed data |
US11073828B2 (en) * | 2017-12-08 | 2021-07-27 | Samsung Electronics Co., Ltd. | Compression of semantic information for task and motion planning |
CN113659993B (zh) * | 2021-08-17 | 2022-06-17 | 深圳市康立生物医疗有限公司 | 免疫批次数据处理方法、装置、终端及可读存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3030609A (en) * | 1957-10-11 | 1962-04-17 | Bell Telephone Labor Inc | Data storage and retrieval |
US3275989A (en) * | 1961-10-02 | 1966-09-27 | Burroughs Corp | Control for digital computers |
US3242470A (en) * | 1962-08-21 | 1966-03-22 | Bell Telephone Labor Inc | Automation of telephone information service |
US3295102A (en) * | 1964-07-27 | 1966-12-27 | Burroughs Corp | Digital computer having a high speed table look-up operation |
US3408631A (en) * | 1966-03-28 | 1968-10-29 | Ibm | Record search system |
US3448436A (en) * | 1966-11-25 | 1969-06-03 | Bell Telephone Labor Inc | Associative match circuit for retrieving variable-length information listings |
-
1969
- 1969-01-03 US US788876A patent/US3613086A/en not_active Expired - Lifetime
- 1969-12-18 CA CA070223A patent/CA918811A/en not_active Expired
- 1969-12-19 JP JP44101728A patent/JPS4922222B1/ja active Pending
- 1969-12-30 GB GB63203/69A patent/GB1280484A/en not_active Expired
- 1969-12-30 FR FR6945787A patent/FR2027738A1/fr not_active Withdrawn
- 1969-12-30 DE DE19691965507 patent/DE1965507A1/de not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
FR2027738A1 (de) | 1970-10-02 |
CA918811A (en) | 1973-01-09 |
JPS4922222B1 (de) | 1974-06-06 |
US3613086A (en) | 1971-10-12 |
GB1280484A (en) | 1972-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2547035C3 (de) | Datenverarbeitungseinrichtung | |
DE3788563T2 (de) | Verfahren und Einrichtung um eine Datenbankadresse zu bestimmen. | |
DE2854397A1 (de) | Pufferspeichereinheit fuer ein datenverarbeitungssystem | |
DE69026764T2 (de) | Verfahren zur Datenübertragung mit hoher Geschwindigkeit | |
DE2400161A1 (de) | Datenverarbeitungssystem und in diesem enthaltenes speichersystem | |
DE2905328A1 (de) | Verfahren und vorrichtung zur assoziativen informationswiedergewinnung | |
DE1449532B2 (de) | Datenverarbeitungsanlage | |
DE2755897A1 (de) | Ein/ausgabe-system | |
DE2227148B2 (de) | Schaltungsanordnung zur Umsetzung digitaler Daten | |
DE602004008911T2 (de) | Verfahren und system um die reihenfolge von paketen mit hilfe eines zwischenspeichers zu gewährleisten | |
DE1288144B (de) | ||
DE2132250B2 (de) | Datenübertragungssystem | |
DE2227975A1 (de) | Vorrichtung und verfahren zum verschluesseln von binaersignalen | |
DE69129729T2 (de) | FIFO-Puffer | |
DE2000340A1 (de) | Verfahren und Vorrichtung zum Suchen verdichteter gespeicherter Informationen | |
DE1965507A1 (de) | Verfahren zum Wiederauffinden gespeicherter Informationen | |
DE1449544A1 (de) | Datenverarbeitende Maschine mit ueberlappend abrufbarem Speicherwerk | |
DE1271191B (de) | Einrichtung zur UEbertragung von Informationseinheiten in die Binaerstellen eines Umlaufspeichers | |
DE1549681B1 (de) | Einrichtung zum optischen darstellen von zeichen | |
DE1964570A1 (de) | Verfahren zum Wiederauffinden gespeicherter Informationen | |
DE3333366A1 (de) | Aufloesungsnetzwerk fuer zuletzt erfolgte benutzungen | |
DE1499713A1 (de) | Verfahren und Schaltungsanordnung zum Packen von Informationen in einem zyklisch umlaufenden Speicher mit wahlfreiem Zugriff zu den auf den Spuren befindlichen Speicherzellen | |
DE2031797A1 (de) | Verfahren zur Erzeugung eines mehr stufigen verdichteten Index | |
DE2517525B2 (de) | Verfahren und Signalisierungsidentifizierer zum Erkennen von Fernmelde-Signalisierungskriterien | |
EP1145113B1 (de) | Verfahren und anordnung zur erzeugung und ausführung von komprimierten programmen eines vliw-prozessors |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
SH | Request for examination between 03.10.1968 and 22.04.1971 | ||
8130 | Withdrawal |