DE2027464A1 - Verfahren zum W lederauffinden ge speicherter Informationen - Google Patents
Verfahren zum W lederauffinden ge speicherter InformationenInfo
- Publication number
- DE2027464A1 DE2027464A1 DE19702027464 DE2027464A DE2027464A1 DE 2027464 A1 DE2027464 A1 DE 2027464A1 DE 19702027464 DE19702027464 DE 19702027464 DE 2027464 A DE2027464 A DE 2027464A DE 2027464 A1 DE2027464 A1 DE 2027464A1
- Authority
- DE
- Germany
- Prior art keywords
- byte
- key
- signal
- stored
- 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/99931—Database or file accessing
Description
Anmelderin:
Böblingen, 11. Mai 1970 gg-rz
International Business Machines Corporation, Armonk, N.Y. Io 5o4
Amtliches Aktenzeichen:
Neuanme!dung
Aktenzeichen der Anmelderin: Docket PO 968 027
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, unverdichteter 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 und in dieser
Form auch wieder zu suchen. Jeder verdichtete Schlüssel liefert
009884/1897 '■
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 Vorfahren weisen in vieler Hinsicht Mängel auf„ Sin wesentlicher
Mangel ergibt sich aus dem großen Bedarf aa Speicherkapazitäto Die
unverdichteten Schlüsselformate bedingen,, daß bei jedem
eine große Anzahl von Bytes in
muß. Diese Verfahren sind
aufwendig, wenn ein großer Index abgesucht ©des· snaeh wenn ein kleiner Index wiederholt abgesucht werden muB, Die Erfindung vermeidet diese Mängel, da durch sie die Äaaahl der abzutastende» Bytes je Zugriff wesentlich herabgesetzt wiröL huf. diese Weise wird der Bedarf an Speicherkapazität und di® Sraehzeit wesentlich Ml herabgesetzt.
muß. Diese Verfahren sind
aufwendig, wenn ein großer Index abgesucht ©des· snaeh wenn ein kleiner Index wiederholt abgesucht werden muB, Die Erfindung vermeidet diese Mängel, da durch sie die Äaaahl der abzutastende» Bytes je Zugriff wesentlich herabgesetzt wiröL huf. diese Weise wird der Bedarf an Speicherkapazität und di® Sraehzeit wesentlich Ml herabgesetzt.
Bei der gegenwärtigen Computer verwendenden Süshteetoik, wie sie
in den angegebenen US-Patentschriften begchriefofsn ist g sind den
auf Magnetplatten- oder Magenttromm@lsp@i6h@rn gespeicherten Dokumenten zum Zwecke der Indeusiemang wmrerd±eht@fc@ Schlüssel zugeordnet.
Eine Suche nach eineia Dokoeant kam über <äe» Schlüssel
oder über die Adresse des Dokumentes erf©lg©ao Beispielsweise
sind in den US-Patentschrift©» 3 <30@ 631» 3 35© iS3, 3 343 134,
3 344 402, 3 344 403 wad 3 344 405. aaip@ffd±eat©t@ Schlüssel auf
Magnetplattenspeichern registriert. Ein foestiimtdS' Schlüssel
kann durch Vergleich mit ©inern entsprechend®» Sraehargraient ermittelt werden. Sobald <SI<!l@titeit 'rolschen Schlüssel und Suchargu-
Docket PO 968 027
■ ;. : ■ ■■■■. ■ - 3 - ■■:■■■..■
ment 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 von digitalisierten Fernsehsignalen. Die US-Patente 3
824 und 3 237 170 zeigen Verfahren,bei denen die Anzahl der
Nichtübereinstimmungen- zwischen aufeinanderfolgenden Verläufen digitaler Übertragungssignale 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, wobei die Forderung
der Reversierbarkeit nicht besteht.
Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren zum Wiederauffinden gespeicherter Information anzugeben, wobei in erster
Linie Wert darauf gelegt wird, mit einem Minimum an Speicherkapazität und ebenso mit einem Minimum an Suchzeit auszukommen.
Das erfindungsgemäße Verfahren baut auf einem in der Patentanmel-DocKet PO 968 O27
dung P 1 965 507 angegebenen entsprechenden Verfahren auf und weist
diesem gegenübercden Vorteil auf, daß es bei maximaler Verdichtung
einfacher ist, schneller arbeitet.» Das erfindungsgemäße Verfahren
eignet sich insbesondere für die Anwendung bei verdichteten Indexen,
die häufig abgesucht werden, aber nur relativ selten erweitert oder verändert werden müssen.
Gemäß der Erfindung wird 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 verdichteter
Schlüssel jeder unverdientste Schlüssel mit dem in der Folge jeweils
voranstehenden Schlüssel byteweise verglichen und die höchste ungleiche Byteposition ermittelt wird,, daß lediglich das Schlüsselbyte
aus der höchsten ungleichen Byteposition eines jeden unverdichteten Schlüssels gespeichert wird und daß dieses Schlüsselbyte
in die verdichtete Folge eingefügt wird und alleine den verdichteten Schlüssel bildet.
Vorteilhafte Weiterbildungen bestehen darin, daB für das ermittelte
Schlüsselbyte eine Stellenanzeige in Bezug auf den zugehörigen unverdichteten Schlüssel erzeugt wird und daß diese Stellenanzeige
mit dem Schlüsselbyte gespeichert wird, wobei jeder verdichtete Schlüssel eine feste Länge aufweist, und
daß jeder unverdichtete Schlüssel einen Hinweis auf die Adresse des Speicherplatzes der zugeordneten Information enthält und daß
dieser Hinweis dem entsprechenden verdichteten Schlüssel hinzugefügt wird.
Ein Verfahren zum Suchen eines Schlüssels nach einem Suchargument
in einem verdichteten Index, bei dem jeder verdichtete Schlüssel aus einem einzelnen Schlüsselbyte «ad einer Stellenanzeige in
Bezug auf den zugehörigen unverdichteten Schlüssel besteht, ist dadurch gekennzeichnet, daß die Stellenanzeige jedes verdichteten
Schlüssels der Folge gelesen wird, daß ein Suchargumentbyte mit
dieser Stellenanzeige aufgerufen wird, daß dieses Suchargumentbyte
mit dem Schlüsselbyte des verdichteten Schlüssels verglichen wird
Docket PO 968 027 009884/1897
und daß bei Gleichheit ein Signal erzeugt und der entsprechende
Schlüssel gespeichert wird.
Vorteilhafte Weiterbildungen des Verfahrens zum Suchen eines Schlüssels bestehen im einzelnen in folgenden Maßnahmen, die dadurch gekennzeichnet sind,
daß ein Signal erzeugt wird, wenn beim Vergleich des Suchargumentbytes
mit einem Schlüsselbyte ein bestimmter Zusammenhang angezeigt wird, und daß bei Auftreten dieses Signals ein Kennzeichen für den
entsprechenden verdichteten Schlüssel gespeichert wird,
daß die Stellenanzeige des verdichteten Schlüssels für den das
Kennzeichen gespeichert wird, registriert wird,
daß der Hinweis eines letzten verdichteten Schlüssels gespeichert wird, bei dem das erzeugte Signal die Gleichheit des Suchargumentbytes
mit dem Schlüsselbyte angibt,
daß bei Auftreten des Signals ein Kennzeichen für die Bewertung
gespeichert wird, das bei der weiteren Suche nach dem vorliegenden Suchargument ausgewertet wird,
daß in Abhängigkeit davon, ob das Schlüsselbyte des verdichteten
Schlüssels höher oder niedriger als das Suchargumentbyte ist, als Kennzeichen in entsprechender Weise ein hohes oder niedriges
Signal erzeugt wird, und daß die Stellenanzeige des entsprechenden
verdichteten Schlüssels gespeichert wird,
daß bei Auftreten des Gleichheitssignals ein zweites Kennzeichen für die Bewertung gelöscht wird,
daß Kennzeichen für die Gleichheit und für die Ungleichheit zur
Bewertung eines oder mehrerer aufeinanderfolgender verdichteter Schlüssel gespeichert und kontrolliert werden,
daß beim Vergleich ein hohes oder ein niedriges Signal erzeugt wird,
abhängig davon, ob das Schlüsselbyte höher oder niedriger als das
Docket PO 968 027 009884/1897
Sucharguinentbyte ist, und daß ein oder beide Bewertungskennzeichen
von diesem Signal beeinflusst werdenο
Schließlich besteht elra vorteilhaftes Ausführungsbeispiel darin,
daß das Suchverfahren auf zunehmende wie auf abnehmende Schlüsse1-folgen
anwendbar gemacht wird.
Die Erfindung wird durch die nachstehende Beschreibung 'und die
Zeichnungen näher erläutert. Es zeigen;
Fig. IA . Darstellung eines unverdientsten. Index,,
)| Fig. IB Darstellung des entsprechenden, abgeleiteten ver~
dichteten Index,
Fign. 2A und B Pufferspeicher and E/Ä-Sehaltttngon.zum Speiehern
oder Lesen eines anverdichteten.,, bzw. verdichte=·
ten Index,
Fign. 3A^ 3B, 4 Schaltwagen g«r Steuerung des Erg©wpingsv©rgangs
5A und 5B von verdichteten Schlüssels mit eia©m Sehllisselbyte,
Fign. 6A und 6B Taktierung beim Eraeugungsvorgang,
^ " Fig. 7 Takt- und Betriebsartsteuenaag,
Fign. 8 und 9 Taktsteuerung
Fign. IQA bis C Ablauf eines
Fign. HA - 16 beim
Fig. 17
Fig. 17
Fig. 18 Taktstewonaagsafklea der Sefaaltmag gemäß Fig» 17 und
Fign. 19A - D Ablauf eia@s SisetworgsiJSf@s
Docket PO 968 027 009884/18g7
Beim erfindungsgemäßen Erzeugungsvorgang besteht die Eingabe aus
einer sortierten UK-Folge (UK ■ unverdichteter Schlüssel). Diese
Schlüssel bilden einen Suchindex für beliebige Angaben. Jeder Schlüssel kann beispielsweise ein Name, eine Personalnummer oder
eine andere Angabe in alphabetischer, numerischer und/oder in einer anderen Zeichenform sein. Die Adresse dieser Angabe wird
dem zugeordneten Schlüssel mitgegeben. Diese Adresse wird "Hinweis" genannt, da sie tatsächlich die Stelle oder den Speicherplatz bezeichnet, an der die Angabe zu finden ist. Obwohl diese
Angaben vorzugsweise maschinell suchbar sind, können sie auch mit Hilfe der Hinweise durch manuelle Bedienung wieder aufgefunden
werden. Die tatsächlichen Speicherplätze der Angaben können in Bezug auf ihre zugeordneten Schlüssel eine beliebige Ordnung
aufweisen. Die Angaben können in einer sortierten oder in einer unsortierten Reihenfolge gespeichert sein.
Wenn die UK's in unsortierter Folge vorliegen, müssen sie vor Beginn des erfindungsgemäßen Erzeugungsvorganges sortiert werden.
Beispiele von unverdichteten Schlüsselfolgen: Die Namen eines Telefonverzeichnisses, die Personalnummern der Angestellten eines
Betriebes, die Autorenkartei einer Bibliothek, die Teilnummern einer Bestandsliste, etc. In einer Folge gibt es nicht zwei gleiche
UK's. Ein UK besteht beispielsweise aus einem Namen und einer Adresse, welche mögliche, mehrfach vorkommende Namen unterscheidet.
Die Schlüssel werden in einer ganz bestimmten Sortierfolge angeordnet. Diese kann sich nach einem numerischen, einem alphabetischen oder nach einem anderen Ordnungsprinzip richten. Einem
Telefonverzeichnis oder einem Wörterbuch liegt beispielsweise ein alphabetisches Ordnungsprinzip zugrunde. Auch in der sortierten
Reihenfolge werden die Schlüssel nicht von ihren dazugehörigen
Hinweisen getrennt.
Wenn die UK-Folge sehr lang ist, kann sie in mehrere Teile zerlegt werden. Am günstigsten wird eine Folge so zerlegt, daß die
Docket PO 968 027 00 988 4/ 1897
einzelnen Teile der Kapazität einer E/A-Einheit in einem Datenverarbeitungssystem
entsprechen» Jeder Teil kann als ein separater Eingabeblock betrachtet werden.
Jeder Teil einer Folge wird im folgenden "unverdienteter Indexsatz"
genannt.
In dieser Beschreibung werden UK's eines zunehmenden Index vorausgesetzt.
Die Erfindung kann aber auch in einer abnehmenden UK-Fölge angewandt werden. In diesem Fall müssen die Sortier-
_ regeln umgekehrt werden. Der Erzeugungsvorgang für einen ver-™
dichteten Index mit CK's (CK = verdichteter Schlüssel) einer
abnehmenden Sortierfolge ist der gleiche. Es wird die von K> Ά oder K <
A abhängige Beziehung umgekehrt. Es kann P_ den Wert P„ ersetzen, wobei PT=P. wenn K
< Ά. Die Bedeutung von P„ wird weiter unten erklärt.
Die Tabellen A, B, C und D stellen jeweils einen UK-Index dar.
Im sortierten Index sind die aufeinanderfolgenden UK's jeweils mit den Zahlen 1, 2, 3, usw. gekennzeichnet. Jeder beliebige
UK ist also durch eine entsprechende Seriennummer i gekennzeichnet.
fc Bei der Erzeugung eines verdichteten Index werden die UK's in
der obigen Reihenfolge paarweise verwendet, wobei der zweite UK
aus dem vorangegangenen Paar immer der erste UK des nächstfolgenden Paares ist. Die UK's eines Paares werden verglichen, wodurch
ein entsprechender CK entsteht. Im folgenden wird jedes laufende UK-Paar, das verglichen werden soll, mit i-1 und i gekennzeichnet.
Der Vergleich eines UK-Paares beginnt an der werthöchsten, also an der äußersten linken Stelle der UK's. Der Vergleich wird
so lange in den wertgleichen Bytes fortgesetzt, bis ein ungleiches Bytepaar abgefühlt wird. Wenn ein UK kürzer als der
andere ist, liegt eine Ungleichheit gemäß Definition vor. Durch
die Feststellung dieser Ungleichheit wird die Information zur
Docket PO 968 027 009884/189?
Μ» Q H,
Verfügung gestellt, die zur Erzeugung der zwei Teile/ P und K,
eines entsprechenden CK's notwendig sind.
Jeder CK besteht aus zwei Teilen: Der eine Teil gibt die Stelle
an (P), und der andere den Schlüssel (K).
Der P-Teil gibt die ungleiche Bytestelle in dem verglichenen
UK-Paar an. P kennzeichnet diese Stelle durch die Bytezahl zwischen P und der werthöchsten Stelle des UK's, die verglichen
wurden. Wenn bei zwei UK's in ihren werthöchsten Stellen Ungleichheit
besteht, hat P den Wert 1. Wenn die ersten Bytestellen
gleich sind, die zweiten Stellen jedoch ungleich sind, hat P
den Wert 2. P:>1 bei jedem reellen CK. Eine Null nach dem letzten
CK im Index wird als außerordentlicher P-Wert erkannt, der das Indexende anzeigt.
Der K-Teil kennzeichnet das erste ungleiche Byte aus dem zweiten
UK in einem UK-Paar. Dieses bestimmte Byte für das K-FeId
ist also das werthöchste, ungleiche Byte im zweiten UK eines verglichenen UK-Paares.
Der erste CK eines Index (Beginn der Tabellen A, B, C oder D) wird aus dem Vergleich zwischen einem Null-Schlüssel und dem
ersten UK des entsprechenden, unverdichteten Index abgeleitet. Ein Null-Schlüssel verdichtet das niedrigste Byte in der Sortierfolge;
dieser Null-Schlüssel kann beispielsweise aus lauter Nullen bestehen. Es wird also Ungleichheit festgestellt, wenn
die werthöchsten Bytestellen verglichen werden. Daher ist im
ersten CK P=I, und K entspricht dem ersten Byte des ersten UK's.
Deshalb kann der Null-Schlüssel nur aus einer Null bestehen.
Für die Ableitung des zweiten CK's werden der erste und der zweite
UK verglichen, etc. Schließlich wird der letzte CK aus dem Vergleich
der letzten UK's im Index abgeleitet. Das Indexende nach dem letzten CK wird beispielsweise durch eine Null angezeigt.
Die Hinweisadresse Rl des ersten UK's wird nach den ersten UK-DoOcet
PO 968 027 „
Vergleich in den ersten CK gesetzt, etc, bis die letzte Hinweisadresse
des letzten UK0S in den letzten CK nach dem letzten UK-Vergleich
gesetzt wirdο
In der Fig. IA ist eine unverdiehtete
stellt. In der Fig. IB sind die CK's (die
dem UK-Index erzeugt wurden) mit den entsprechenden
dargestellt.
Jedes Byte in einem UK (der Tabellen A, B, C oder D) wird darefa
die Zeichen B, K .oder N gekennzeichnet„ Bei jedem ¥erglsich von
P wertgleichen Bytes im laufenden UK. end im wosrangegaageaea UK.
werden zunächst die werthöchsten Bytestelld» w@rg2.iens
äußersten linken Bytestellen der entsi
Tabelle). Ein B gibt Gleichheit wisehnra sia@» Byte und ü®m
gleichen Byte ider gleichen Spalte) in de» gegangenen UK an. Eia K zeigt die ©rst© üagleieMnsife g^iseaea
zwei gleichwertigen Bytes w©i©g- adbeaeiaaadee li©g®ad<ia UK's an„
Ein N zeigt alle Bytes eiaes OK's aaf die wertaiedEiges· als das
K-Byte sind, d.h.; die rechts vom K-Byte liegen„
Bei solchen Bytevergleichen ia eiaem sorti©rt@a U3£-Xad@s wird die
Position des K-Bytes durch das Byte des jeweils f©lg@ad®a OK feefe
stimmt. Deshalb kann sich jedes
K-Byteposition an eine beliebige Position Verschiebung), oder überhaupt aieht iferaefeiabsia Ck@ia@ Verschiebung)
.
Diese K-Byteverschlebong hat besü
Absuchen von verdichteten Sortierfolgen mit selbyte wichtig sind. Deshalb Imt ®&nm geaaists Dcifiaiti®» dieser
Verschiebungseigenschaft wletffeifi § Em feaad©lfe gi©a isa ®ia© lainks-
verschiebung 9 wenn P.»<P.
•Ala JU
P »P. y es handelt sieh
Die VersehiebungenügliefakeiteH! simd ia d@a fab©ll@a Kg B^ C »ad
D mit durchgezogenen us&d w&t.®zh%@<gh©mcsin Linien geteanzeichnet» -
Docket PO 968 027
Serien- | 1 | 1 | 2 | 3 | 4 | UK-FeId | 5 | 6 | 7 | 8 | 9 | 10 | UK-FeId | 5 | 6 | 7 | 8 | 9 | 10 | UK-FeId | 5 | 6 | 7 | 8 | 9 | 10 | 11 | P | Hinweisadressen- | 2 | 3 | 4 | 5 | 6 | 2 | 3 | 4 | 5 | VOl | 2 | 3 | 4 | 5 | 6 |
Nummer | [Kl | [Kl | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N » | 1 | Feld | R | R | R | R | R | R | R | R | R | R | R | R | R | R | R | |||
B | B | B | B | B | B | B | B | B | Ik I | N | N | N | N | N | N | N | B | B | Jk | N | N | N | N ». | 9 | 1 | R | R | R | R | R | R | R | R | R | R | R | R | R | R | R | ||||
1 | B | B | B | B | B | B | IkI | N | N | N | N | IiL | N | N | N | N | N | B | B | iK | N | N | N | N-—► | 6 | R | R | R | R | R | R | R | R | R | R | R | R | R | R | R | R | |||
2 | B | B | B | B | IkI | N | N | N | N | N | N | B | B | B | |K| | N | N | B | B | 1K | N | N | N | N » | 4 | R | R | R | R | R | R | R | R | R | R | R | R | R | R | R | R | |||
3 | B | B | B | [k[~ | N | N | N | N | N | N | N | N | N | N | N | N | N | B | B | 1K | N | N | N | N * | 3 | R | R | R | R | R | R | R | R | R | R | R | R | R | R | R | R | |||
4 | B | B | JET | N | N | N | N | N | N | N | N | B | I Kt | N | N | N | N | B | B | .K | N | N | N | N—* | 2 | R | R | R | R | R | R | R | R | R | R | R | R | R | R | R | R | |||
5 | ET | B | N | N | N | N | N | N | N | N | N | B | B | |k | N | N | N | B | B | iK | N | N | N | N ► | 1 | R | R | R | R | R | R | R | R | R | R | R | R | R | R | R | R | |||
6 | B | Tabelle B | B | B | B | B | B | B | B | B | N | N | N | R | R | R | R | R | R | R | R | R | R | R | ||||||||||||||||||||
7 | Serien- | Tabelle C | B | B | !κ | N | N | N | - | R | Hinweisadressen- | R | R | R | R | R | ||||||||||||||||||||||||||||
Nummer | B | B | !K | N | N | N | Feld | Hlnwei sadres sen- | R | R | R | R | R | |||||||||||||||||||||||||||||||
2 | 3 | 4 | 11 | P | 1 | FeId | ||||||||||||||||||||||||||||||||||||||
1 | 1 | N | N | N | N > | 1 | R | 1 | ||||||||||||||||||||||||||||||||||||
2 | m | B | IkI | N | N * | 3 | R | R | ||||||||||||||||||||||||||||||||||||
3 | B | B | B | B | N- » | 5 | R | R | ||||||||||||||||||||||||||||||||||||
4 | B | B | B | B | ν—#. | 8 | R | R | ||||||||||||||||||||||||||||||||||||
5 | B | B | B | |k| | N ► | 4 | R | R | ||||||||||||||||||||||||||||||||||||
6 | B | B | B | B | N—* | 6 | R | R | ||||||||||||||||||||||||||||||||||||
7 | B | B | B | B | Ν—ν | 7 | R | R | ||||||||||||||||||||||||||||||||||||
8 | B | B | B | B | LkJ-* ] | Ll | R | R | ||||||||||||||||||||||||||||||||||||
B | R | |||||||||||||||||||||||||||||||||||||||||||
Serien- | B | R | ||||||||||||||||||||||||||||||||||||||||||
Nummer | B | R | ||||||||||||||||||||||||||||||||||||||||||
2 | 3 | 4 | 11 | P | ||||||||||||||||||||||||||||||||||||||||
1 | N | N | N | N * | 1 | |||||||||||||||||||||||||||||||||||||||
2 | B | B | B | N—* | 7 | |||||||||||||||||||||||||||||||||||||||
3 | B | B | B | N ► | 7 | |||||||||||||||||||||||||||||||||||||||
4 | B | B | B | N—> | 7 | |||||||||||||||||||||||||||||||||||||||
5 | B | B | B | N-* | 7 | |||||||||||||||||||||||||||||||||||||||
6 | B | B | B | N * | 7 | |||||||||||||||||||||||||||||||||||||||
7 | B | B | B | ν—> | 7 | |||||||||||||||||||||||||||||||||||||||
8 | B | B | B | N > | 7 | |||||||||||||||||||||||||||||||||||||||
9 | B | B | B | N ► | 7 | |||||||||||||||||||||||||||||||||||||||
10 | B | B | B | N ► | 7 | |||||||||||||||||||||||||||||||||||||||
Docket PO 968 027
009884/1897
- 12 Tabelle D
Serien-Nummer
UK-FeId Hinweisadressen-Feld
12 3 4 5 6 7 8 9 10 11 12 13 14·
12 3 4 5 6
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
28 29 30 31 32 33 34 35 36 37 38
N NN N N
BBB BBB BBB
BBB BBB BBB BBB
BBB B B [K B B IK B B JK
B B IK B B |K B B IK BBB
BBB BBB BBB BBB BBB
BBB BBB BBB
BBB BBB BBB
B IkI N N B B B IK[
BBBB BBBB BBBB
BBBB BBBB B B B HI
NNNN NNNN NNNN
NNNN NNNN
NNNl
B B BlKj
β IkIn ν
NWN NNN
NNN
B B JKJ
BBB B B
β β IkI IkJn ι
NNl NNN
NNl NNN
NIN NlN
NNN
B | B | B | B | B | Ik. | N |
B | B | |κ | N | N | N | N |
B | B | ιΚ | N | N | N | M |
B | B | JK | N | N | N | N |
BBBB BBBB BBBB BBBB
BBBB B B B(Kf
B | B | B | B | Jk | N | N |
B | B | B | B | 'K | N | N |
B | B | B | B | Ik | N | N |
B | B | !κ | N | N | N | N |
N | N | IK | N | N | N | N |
K | N | N | N | N | N | N |
MMM NMN
NNI NNN NNN
NMN NMN
BBBBBBB BBBBBBB BBBBBBB
BBBB
BBjKI BBB B B B
BBB BiKJNN Indexende
NNN NNN
RRR
RRR
RRR
RRR
RRR
RRR
RRR
RRR
RRR
RRR
RRR
RRR
RRR
RRR
RRR
RRR
RRR
RRR
ERR
RRR
R R .R
RRR
RRR
RRR
RRR
RRR
RRR
RRR
RRR
RRR
RRR
RRR
RRR
RRR
RRR
R- R R.
RRR
RRR
RRR
RRR
RRR
RRR
RRR
RRR
RRR
RRR
RRR
RRR
RRR
ERR
RRR
R R .R
RRR
RRR
RRR
RRR
RRR
RRR
RRR
RRR
RRR
RRR
RRR
RRR
RRR
RRR
R- R R.
RRR
RRR
RRR
RRR
RRR
RRR
RRR RRR RRR
RRR RRR
R RR RRR RRR
RRR RRR RRR
R-R R RRR RRR
RRR RRR RRR
RRR R R R RRR
RRR RRR
RRR RRR
RRR RRR RRR
RRR RRR
RRR RRR RRR
RRR RRR RRR
RRR RRR RRR
Docket PO 968
009884/1897
BEZIEHUNG GLEICHSTELLIGER BYTES
(innerhalb einer Spalte eines sortierten Index)
(innerhalb einer Spalte eines sortierten Index)
a. in der Spalte benachbarte B = B, K oder N
b. dazwischenliegende B1S B = B, K oder N
c. dazwischenliegende K's B > B, K oder N
d. dazwischenliegende N's B ?B, K oder N
a. in der Spalte benachbarte ., K > B, K oder N
b. dazwischenliegende B's K > B, K oder N
c. dazwischenliegende K's K > B, K oder N
d. dazwischenliegende N's K^B, K oder N
a. in der Spalte benachbarte N "J B, K. oder N
b. dazwischenliegende B's N "j B, K oder N c* dazwischenliegende K's NjB, K oder N
d. dazwischenliegende N's N ~j B, K oder N
PocketP0 968 O27 009884/189
■20 2 7 4-6
Die durchgezogene Linie kennzeichnet ©ine Rechtsverschiebung;
die unterbrochene Linie kennzeichnet eine Linksverschiebung. Die Verschiebungsmöglichteit liegt in einem bestirnten UK-Xndex fest,
sie sind bei allgemeinen OK=*Indizes jedoch nieht eingeschränkt.
In den Tabellen A, B und C ist jeweils eine Vessehiebungsart
herausgestellt. D.h., in der Tabelle A handelt ©s sieh hauptsächlich um linksverschobene OK's, in der Tabelle B en reehfesversehobene
UK's und in der Tabelle C handelt es
verschobene UK's. In der Tabelle D ist mit verschiedenen Verschiebungsmögliehkeiteh
verschobene UK's. In der Tabelle D ist mit verschiedenen Verschiebungsmögliehkeiteh
Bestimmte Zusammenhänge bestehen zwischen angss
nicht angrenzenden Bytes der gleichen Stelle JdLh0 der
Tabellenspalte) in einem sortierten OK^Indess^ beispielsweise in
dem der Tabelle D. B kennzeiehnet Jb@iüp±@i©%y®is@ ©in
dem angrenzenden, vorangegangen!
gleich ist. K kennzeichnet ein gegangenen Byte nicht gleich ist;
ten Susammenhaag, d„fao „ M kann w@rtgl®ich Q «urtndnes· ©der
niedriger als das
Die folgende Tabelle E beinhaltet di© allg@H®in@n Segeln g in
welcher Beziehung ein Byte zu einem vorangegangenen Byte der
gleichen Stelle in eiaem sortierten Index sten©n kann,, Dies©
Regeln sind zum Verständnis eines
teten Index notwendig. Bei« Suchvorgsimg wird naen @inem Suchargument gesucht, das einem der UK's des I»d@2s gl©ien ist Dieser erfindungsgemäfie Suehvorgang wird noefe näheE1 erllmtert
teten Index notwendig. Bei« Suchvorgsimg wird naen @inem Suchargument gesucht, das einem der UK's des I»d@2s gl©ien ist Dieser erfindungsgemäfie Suehvorgang wird noefe näheE1 erllmtert
Ablauf des Erzeugungsvorgaages
Die Fign. 1OA, B und C zeigen
Erzeugung eines Index mit Cl0Sj, die jeweils mms ©in Soalfissel-"
byte enthalten. Die Figau 3-9 zeige» die erfiadnjsgsg@iliiia
Schaltungen und Taktieruagesip die für das erfindwsgsgeiBäSe Verfahren
(Fig. IQS-C notwendig siaäo Das erfiadiiagsgemäße Verfahren
kann beginnen, weiwa d®K PmSfesispeiefeer 10 gemSe der Figa
Docket PO 968 027 A ^ ^ Λ t
009884/1897
2Ά geladen ist. Der Pufferspeicher 10 speichert Daten in Byteform. Jedes Byte kann beispielsweise 8 Bits umfassen (jedes
gespeicherte Byte kann ein zusätzliches, herkömmliches Paritäts-Bit zur Fehierprüfung enthalten. Da das erfindungsgemäfie Verfahren nicht von dem Paritäts-Bit abhängt, wird es in der weiteren
Beschreibung außer Betracht gelassen). Die Methode nach der der Index in den Pufferspeicher eingegeben wird, ist nicht Gegenstand
dieser Erfindung. Die Eingabe kann nach bekannten Programmierverfahren erfolgen.
Die beschriebenen Schaltungen liefern bestimmte Taktzyklen. Sämtliche Taktierungsvorgänge werden durch Taktimpulse TO-T7
(Fig. 7) synchronisiert. Die obere Gruppe der Impulse TO-T7 aus der Ringschaltung 45 synchronisieren den Erzeugungsvorgang. Der
Betriebsarten-Trigger 55 wird durch ein Erzeugungsvorgang-Startsignal gesetzt. Für jedes UK-Byte wird ein Impulssatz TO-T7
übertragen. Wenn ein Byte aus dem Pufferspeicher 10 abgerufen
wird, läuft also eine vollständiger Zyklus TO-T7 ab.
Die Taktsteuerungen der Fign. 8 und 9 bestimmen die für den Erzeugungsvorgang erforderliche Zyklenfolge. Die sequentiellen
Zyklen und die Verzweigungszyklen werden durch die Taktsteuerung der Fign. 8 und 9 erzeugt.
(dieses Signal kann durch eine Computerinstruktion bewirkt werden) schaltet die UND-Schaltung 48 durch, wodurch Impulse aus
dem Oszillator 44 an die Ringschaltung 45 geleitet werden, die die Ausgangsimpulse TO-T7 an die Schaltungen für den Erzeugungsvorgang liefert.
Das Startsignal für den Erzeugungsvorgang leitet außerdem den
zyklischen Ablauf der Taktsteuerung (Fig. 8) ein. Diese erzeugt ein anfängliches Rückstellsignal aus der monostabilen Kippschaltung 60b (Fig. 8).
Docket PO 968 027 Q0988471897
Die Taktsteuerungen der Flgn. 8 und 9 erzeugen sechs verschiedene
Zyklen, die jeweils verschiedenen Zwecken dienen. Die verschiedenen
Zyklen und ihre Aufeinanderfolge ist· in der Fig. 6Ä
abgebildet. Jeder Satz von Ausgangsirapulsen TO-T7 ist in jedem
der sechs verschiedenen Zyklen MUKL7 LVL, RL, Al, A2 und R
(siehe Fig. 6A und 6B) vorhanden« In der Fig« 6B ist die Aufeinanderfolge
der Zyklen abgebildet.
Jeder dieser sechs verschiedenen Taktsteuerungszyklen mit Ausnahme
des Zyklus Al schaltet die Adresse in einem.Aufrufadressenzähler
26a um eine Byteposition weiter» Das erste Byte im Pufferspeicher 10 wird während des Zyklus MUKL adressiert, so daß das MUKL-Byte
aus dem Speicher 10 in das MUKL-Register 20c (Fig. 3A) übertragen
wird. Darauf folgt unmittelbar der Zyklus LVL, welcher die Übertragung des LVL-Bytes in das LVL-Register 22c (Fig. 3A)
bewirkt. Das LVL-Byte gibt an, daß ein verdichteter Index einer
niederen Ebene erzeugt werden soll«
Darauf folgt der RL-Zykl«s„ welcher die übertragung des Bytes
für die Hinweislänge (RL) in das RL-Register 23c (Pig. 3A) bewirkt.
Die erfindungsgemäße Betriebsweise beginnt mit Startschritt 101
in Fig. 1OA. Dieser Schritt wird von dem Startsignal für den Erzeugungsvorgang ausgelöst, der aa die Schaltung der Fig. 7
und an die Taktsteuerung der Fig. 8 geliefert wird. Das Startsignal kann unterschiedlich ausgelöst werden« Entweder wird der
Schalter S (Fig. 8) durch Handbedieroaag geschlossene oder das
Startsignal wird auf elektronischem Weg ausgelöstο Die letztere
Art wird bevorzugt. Dabei wird das Startsignal wo» einem Computersystem aufgrund eines bestimmten Befehles geliefert«. Dieser
Befehl kann ein bestimmtes Kaaalbefehlswort (CCW)'sein. Auf jeden
Fall muß der Befehl-Operationseode wischen ctem Erzeugungsvorgang
und dem Suchvorgang unterscheiden, damit das geeignete Startsignal ausgelöst wird.
Docket PO 968 027 0 0 9 8 8 A / 1 8 9 7
Die ersten drei Bytes im Pufferspeicher 10 (Fig. 2A) sind Kennzeichenbytes , welche die Organisation im Pufferspeicher IO bestimmen.
In den Schritten 102 bis 104 (Fig, IQA) werden jeweils ein Kennzeichenbyte in ein entsprechendes Register 20c,
22c oder 23c (Fig. 3A) gespeichert. Das MUKL-Byte enthält
einen Wert, der die Länge (in Bytes) jedes UK-Registers (UK-I,
UK-2 ... UK-N) im Pufferspeicher 10 bestimmt. D.h., jedes UK-Register
hat die Länge des registrierten MUKL-Wertes (MUKL=maximale
Länge eines UK's).
Im Schritt 102a beginnt der MUKL-Zyklus auf Leitung 6OA. Dieser
Zyklus wird von der Taktsteuerung der Fig..8 nach Empfang des i
Startsignals (welches den Trigger 60a setzt) ausgelöst.
Im Schritt 103a wird im MUKL-Zyklus das MUKL-Kennzeichenbyte
aus dem Pufferspeicher 10 in das Register 20c übertragen (Fig. 3A). Das Signal MUKL-Zyklus aktiviert über die UND-Schaltung
20b die Torschaltung '20a, wodurch das MUKL-Byte vom Pufferausgang
14 in das MUKL-Register 20c geleitet wird. Das MUKL-Byte wird auf den Pufferausgang gegeben, da der Aufrufadressenzähler
26a (Fig. 3B) dieses Byte adressiert, wenn er anfangs durch das Startsignal auf der Rückstelleitung 6OA (aus Fig. 8) auf Null
eingestellt wird. Das Ausgangssignal des Zählers 26a wird über
den Addierer 26c an die Leitung 26a und zur Torschaltung 43
(Fig. 5A) geliefert, welche dieses Signal zur Zeit Tl auf die '
Pufferadressierleitung 16 schaltet. Dieses Ausgangssignal beaufschlagt
ferner über Leitung 43A das Byte-Datenregister 12 (Fig. 2A), wodurch die übertragung aus dem Pufferspeicher über
die Ausgangsleitung 14 bewirkt wird.
Schritt 103a wird zur Zeit T7 während des MUKL-Zyklus ausgeführt,
wenn die UND-Schaltung 26b den Zähler 26a zur Adressierung des nächsten LVL-Bytes schrittweise vorwärtsschaltet. Die UND-Schaltung
26b wird zur Zeit T7 in jedem Zyklus, mit Ausnahme von
Zyklus Al, vorwärtsgeschaltet.
Docket PO 968 027
Die nächsten Schritte 102b, 103b «ad 104b werden ähnlich wie
die vorangegangenen Schritte 102a, 103a wad 104a ausgeführtι
in ihnen wird das LVL~Byt© ia das Register 22c„ Figο 3Ay geleitet. Das LVL-Bft© baitiasBt eine Indexstufe (LVL) für dea verdichteten
Indexff der aas dem sich ursprünglich im Pufferspeicher
10 befindlichen UK-Index erzeugt werden solle Das 3LVL~Byte geigt
an, in welche unterste Stufe der mehr stuf igea laäeasstsOkter der
verdichtete Index hineingehdren wird» Deaentspreehei
LVL-Byte auf 1 voreingestellt sein β
stufe angezeigt wird.
stufe angezeigt wird.
Danach wird auf ähnlich® tflsise ia <ä©a Seforltt©a 102e„
104c das RL-Byte iß das Hegistes1 23<s fibertrageao Das HIa=Byt©
liefert die Länge (ia Bytes) jedss Bifweisregisters {R·=·! <, ο o R=N) „
das jeweils dem entspreefeeadea OK-Registes1 aagegliedert isfeo Di®
Bytezahl e die für jedkus Hia^eisregister ao&jeadig ist^
von der Adresseiaart als 0 die ge Aefruf ©ia©s Dateasafeges q
wiedergefunden %j@rdea SoIl17 wsn-yeaclet tfird«, H©aa ®s sieh
spielsweise rasa ©ijsea Dat©saJbl©sk aaaeteit ? der auf ©iaor
mehreren Slagnetplattea g@sp©ieh©fft ISt6, keaa eia® Läag® ^©a 10
Bytes verwendet werde»o
Durch Verwendung der der OK- und R-Eegister
ändert werden*, wqüws'wL·
oder Einweise versclii©<ä@; 10 mufi zur ÄBpassraag
Schlüssel und Hinweis der UK's und/oder des
kleinere Werte ira setzt werden»
Mit Schritt 107 ist die
abgeschlossene Das i-j@Efea©<sai5fee Byfeo ia ©sstea öE^Refigtes" wirä
auf ein im UK-Index sosast aleat geüraimeatos laisasa ©imgestellt.
Die restlichen Bjt©© 1» ©s-sfeea OT-Segistes bleibe» unberücksichtigt.
Docket PO 968 027 ^ . .
Docket PO 968 027 ^ . .
98B4/1897-
Das werthöchste Byte eines UK's wird In ein UK-Register an die
äußerste linke Stelle (siehe Flg. 1) gesetzt. D.h. das erste Byte (= das werthöchste) des Schlüssels wird in die äußerste
linke Byteposition des ÜK-Registers gesetzt. Die restlichen Bytes des Schlüssels schließen sich rechts an. Die nicht benötigten
Bytepositionen rechts von einem in das UK-Register eingegebenen UK
können beispielsweise mit Nullen oder Leerzeichen aufgefüllt
werden. Daher kann die Länge jedes eingegebenen UK's unterschiedlich
sein und maximal die Größe des UK-Registers einnehmen. Ein UK, der größer als das UK-Register ist, wird an der wertniedrigsten
Seite verkürzt, d.h., die Zeichen der rechten Seite, die nicht in das UK-Register passen, werden gelöscht. Eine derartige Verkürzung (
wirkt sich nicht unbedingt auf den erzeugten CK aus. Der verkürzte
UK muß lediglich ein eindeutig definierter Schlüssel bleiben.
Dem letzten Hinweis R-N der Eingabefolge folgt ein Endanzeigebyte«
das das Indexende anzeigt.
Im Schritt 107 folgt dem RL-Zyklus ein Al-Zyklus (vergleiche
Fign. 6A und 6B).
Das K-Byte des ersten, erzeugten CK's ist das werthöchste Byte
des CK, und P ist gleich 1. Dies kann direkt erreicht werden, oder indirekt, indem am Anfang ein Pseudo-UK vorgesehen wird. Letzeres Λ
geschieht in der nachstehend beschriebenen Weise. ™
In Schritt 108 wird das werthöchste Byte aus UK-I abgerufen.
Dieser ist ein Pseudo-UK, der mindestens ein nichtbenötigtes Zeichen, z.B. eine Null, an der werthöchsten Stelle hat. In
folgenden Schritt 109 wird ein A2-Zyklus ausgelöst, welcher das
werthöchste Byte aus dem nächsten UK, UK-2 (der erste, reelle UK),
abruft, damit es mit dem werthöchsten Byte aus dem Pseudo-UK-1
verglichen wird. Die Adressenindexlerung erfolgt an der Al-Byteadresse,
so daß das entsprechende A2-Byte aufgerufen werden kann.
Es wird die Adresse des Al-Bytes (aus dem ersten UK) durch die Summe der Werte im MUKL- und RL-Register indexiert, damit das
entsprechende A2-Byte (des xweiten OK1S) adressiert werden kann.
Docket PO 968 027
009884/1-897
Diese Funktion wird von dem Addierer 27a CFig» 3B) ausgeführt,
welcher di© Summe der MUKL- und RL-Werte an den Addierer 26c
ausgibt. Dieser indexiert die Al-Adresse im Aufrufadressenzähler
26a, um die effektive Adresse desA2»Bytes im A2-Zyklus zu erhalten.
Der Aufrufadressenzähler 26a (Fig- 3B) enthält immer die
laufende Aufrufadresse,, mit Ausnahme von der indexierten A2-Byteadresse.
Die A2-Adresse auf der Sammelleitung 26A aus-dem Addierer
26c adressiert das Byte, das aus dem Pufferspeicher IO abgerufen
werden soll. Da die Torschaltung 27b das Ausgangssignal des
Addierers 27a nur im A2-Zyklus weiterleitet, liefert diese Torschaltung 27b (außer im A2-Zyklus) ein Null-Ausgangssignal an
fc den Addierer 26c«, In allen anderen Zyklen überträgt der Addierer
26c nur das Ausgangssignal des Aufrufadressen^ählers 26a auf die
Sammelleitung 26A.
Schritt 109 geht bei A in Schritt 111 (Fig« 10B) über. Im Schritt
111 wird das adressierte ÜK-Byte über Torschaltung 32B (Fig. 4)
in das Register 32a gebracht«, Im Sehritt 112 wird jedes A2-Byte
überprüft, ob es eine Indexende-Anseige enthält» Diese Funktion
übernimmt der Decodierer 50 und die UND-Schaltung 51b (Fig. 5B),
deren Ausgangssignal den Trigger 51a bei' Vorhandensein einer Endanzeige einstellt.
Dementsprechend werden die äußersten linken Bytes in den Registern
™ für UK-I und UK-2 während der anfänglichen Zyklen Al und A2 abgerufen,
und sie werden aus dem Bytedatenregister 12 (Fig. 2A) über den Pufferspeicherausgang 14 in das Al-Byte-Register 30a,
bzw. in das A2-Byte-Register 32a
Schritt 116 wird ausgeführt, uenn bei Sehritt 112 festgestellt
wird, daP das laufende A2-Byte nicht das Indexeade anzeigt« Im
Schritt 116 wird bei Impuls Tl la jadem A2-Zyklea über OND-Schaltung
24 der. UK-Bytezähler 25a vorwärtsgeschaltet.
Der Zähler 25a zeigt also die laufende UK-Bytezählung von der
äußersten linken UK-Bytestelle bis zur laufenden ÜK-Bytestelle
Docket PO 968 027
009884/1897
an. Im R-Zyklus, der jedem UK folgt, wird der UK-Bytezähler 37a
auf Null zurückgestellt. Er wird zu Beginn eines Zyklus bei Impuls T2 schrittweise vorwärtsgeschaltet, ehe die P.-Entscheidung
bei Impuls T5 getroffen wird; daher zeigt er die richtige UK- -Bytezählung an, wenn die Leitung 36a (speichern 1?*) (Fig. 4)
ein Signal führt.
Danach folgt Schritt 118, bei welchem der Zustand des das Blockieren
der Speicherung bestimmenden Triggers 34a (Fig. 4) überprüft
wird. Trigger 34a ist anfangs durch ein Signal auf Leitung 6OA zurückgestellt. Ehe die äußersten linken Bytes eines jeden UK-
-Paares verglichen werden, ist Trigger 34a ebenfalls im zurückgestellten
Zustand, weil der Trigger während des letzten Hinweises von einem Signal aus der UND-Schaltung 37d zurückgestellt wird.
Trigger 34a wird gesetzt, wenn die Bytes in den Registern 30a und 32a bewirken, daß der Vergleicher 31a ein Signal auf der A1^A2-Leitung
3IA erzeugt, welches auftritt, wenn das erste ungleiche
Bytepaar in den beiden UK' s erreicht wird.
Da der erste UK ein Pseudo-UK ist, wird im Schritt 119 festgestellt, daß "Α1?Ά2 "-Trigger 35a bei der ersten UK-Bytestelle sich
im eingestellten Zustand befindet. Deshalb hat der erste, erzeugte CK P=I, und sein K ist das äußerste linke Byte des zweiten UK's,
welcher das erste, echte Byte im Pufferspeicher 10 ist. ä
Die über die Al7*A2-Leitung 31A (vergleiche 31a) geschaltete UND-Schaltung
35b stellt bei Impuls T3 den Trigger 35a ein. Im gleichen A2-Zyklus wird bei Impuls T7 die Al/A2-Einstellung von Trigger 35a
über UND-Schaltung 34b durchgeschaltet, um den Trigger 34a einzustellen,
dessen "Nicht Blockieren Speicherung1·-Leitung 34A unwirksam gemacht wird. Bei T5 im gleichen A2-3yklus betätigen das
Signal auf der A1^A2-Einstelleitung 35B und das Signal auf der "Nicht Blockieren Speicherung"-Leitung 34A die UND-Schaltung 36,
da Trigger 34a noch nicht eingestellt ist. Das Ausgangssignal der UND-Schaltung 36 beaufschlagt die "P. speichern"-Leitung 36A,
Docket PO 968 027
009884/1897
Dann wird Schritt 119 zur Zeit T3 ausgeführto Das Programm leitet zu Schritt 122, wen» der Alf*A2-Trigger 35a in der "Zeit T5
eingestellt ist» Wälir©ad des gleichen Impulses T5 schaltet die
ODER-Schaltung 42 das Sigaal auf die "P. speieh©rnm=]L)eit»ag 3Sh^
damit der Speicheradressenzähler 41a erhöht uird öad damit die
Torschaltung 41b den erhöhten Inhalt des 2§si@rs 41a ober die
ODER-Schaltung 41c auf die Pufferadressierleitisag IS sehaltefeo
Dann adressiert der Zähler 41a die aSeagte CK=Byt©=st®ll© im
Pufferspeicher IO (Fig„
Der Zähler 41a wird zu Äafaag auf die Bytepositioa '2 zurückgestellt(
welche die Bytestelle für das 1L-Byt@ im Prafferspeieaer 10 dar=
stellt» Wenn der Inhalt das Wählers 42La %wä ©rsteamai erhöht
wird, adressiert der gSilss ä±® Bjt©st@ll@ d©s Safierstsn liakon
Pseüdo-UK-Bytes im Puff@rsp@i©fe@2· 3LO CFig» 2Ά) o Deshalb überlagert das erste gespei©h®zta P -Byte das Fs®ad©°ö3IC°Byt@ „ tml°
ches im Pufferspeicher IO aieht mmhs bmmötigt uird unä ddsfealb ia
das A2-Byte-Register 32a iFigo 41) geleitet
TT W1A /J^ f^ailt* Wn i*Sl ι! Sc* '*ll"t'i^ (W f2) ίΞΪ (Π? i ί=^ τί (f^lnlfSiril TK J^ ^^un^Vx ? ι Τ1*Ϊ1 © Y"Vni ^3IoI li TiTl ^/f^lnt Tr3"Tl Ir* ir U j? τι (Π fS>
V
Inhalt des üK~Bfte-iäal©rs 25a als F =B]fte gespeicherte Ia
Schsritt 123 bewirkt das Äiasgaagssigaal der ülD=Sehaltöag 3Si,
daß die Torschalteag 37 di© Sfeeliiaiag desj UK=®]ffee=^Salerii 25a
'von der Leitung 25A über die ODIR=ieaaltiaag 33b auf di© Puff©.
eingaagsleitumg 13 leitet<, Daaa wird das F,=Byte ia das Bjt©=
Datenregister 12 gesetzt naad ia Pnafferspeifsaer 10 aa der St©l
5©s|3@i©Ii©r"t g di©
angegeben wurde.
angegeben wurde.
Während (äerselbssa Ä2=ljlslea t-jird g©r leife
leitet, sobald mim.® P3»=S<§Sa©Ifeiaaf 40 CFIf0 5A) über
Leitung 35fe üem frigges·© 3S ©isa Si§sa©l srallfe uaä isa
für das K-I
Während des gleiches Ispalü©® T<$ <K?ird d@r nmmm laaalt deis
Zählers 41a über di© T©%&©hsiltums 41Ib rad Sbsr die ©PIE^S«
027 0098β4/1
tung 41c zur Pufferadressierleitung 16 geleitet, damit die Stelle
des K-Bytes, welches sogleich in den Pufferspeicher 10 gespeichert
werden soll, adressiert wird.
Während des gleichen Impulses T6 wird Schritt 125 ausgeführt,
bei welchem das Signal auf Leitung 4ΟΆ über die ODER-Schaltung
33c (Fig. 4) die Torschaltung 33a betätigt, welche das K-Byte
aus dem A2-Byte-Register 32a auf die Puffereingangsleitung 13 schaltet, über diese wird das K-Byte in die vom Speicheradressenzähler 41a zuletzt adressierte Bytestelle gespeichert.
Schritt 126 wird zur Zeit T7 während des gleichen Zyklus A2 aus- (
geführt. Bei diesem Schritt schaltet die UND-Schaltung 34b das
Ausgangssignal des Al/A2-Triggers 35a an den "Blockieren Speicherung "-Trigger 34a (Fig. 4), wodurch dieser eingestellt wird
und wodurch infolgedessen weitere Speichervorgänge im Pufferspeicher 10 solange unterbunden werden, bis Trigger 34a wieder
zurückgestellt wird.
Schritt 127 wird am Ende des gleichen A2-Zyklus ausgeführt,
sobald der Impuls T7 auf die UND-Schaltung 26b (Fig. 3B) geleitet wird, damit der Aufrufadressenzähler 26a erhöht wird. Die neue
Stellung des Zählers 26a wird auf die Leitung 26A gegeben, damit
das nächste Byte aus dem ersten UK des laufenden UK-Paares
adressiert wird. .-■■■*
In Schritt 128'wird in jedem A2-Zyklus überprüft, ob das laufende A2-Byte die letzte Bytestelle im UK-Register einnimmt. Wenn
bei Schritt 128 festgestellt wird, daß das laufende A2-Byte sich nicht in der letzten UK-Registerstelle befindet, wird über B2
zu den Schritten der Fig. 1OA übergegangen.
Die Taktsteuerungen liefern nach dem A1^A2-Signal Al- und A2-Zyklen, bis das UK-Ende erreicht wird. Dieses Ende wird signalisiert, indem die "Nicht-UK-Ende"-Leitung 25B, die Ausgangsleitung
des Vergleichers 25d (Fig. 3A), entregt wird.
Docket PO 968 027
009884/1897
Über B2 (Fig. 1OA) wird Schritt 107 eingeleitet, in welchem ein
Al-Zyklus beginnt. Dies geschieht am Ende des vorangegangenen A2-Zyklus (Fig. 9). Der Impuls T7 setzt dabei über die UND-Schaltung 66b den Trigger 66a, v^ährend die nMieht-üK»Ende"-Leitung 25B
(aus Fig. 3A) ein Signal führt. Jedesmal wenn Trigger 66a eingestellt
ist, wird die UND-Schaltung 66c su Beginn des nächsten
Zyklus (zur Zeit TO) durchgeschaltet, wodurch ei-n Ausgangs signal
auf die Al-Zyklus-A-Leitung 66A gegeben wird. Dieses Signal auf
Leitung 66A stellt den Trigger 64a (Fig» 8) ein, wodurch der
nächste Al-Zyklus beginnt»
Nach Schritt 107 wird Schritt 108 ausgeführt, und die Schritte
107-109 und 111, 112, 116-118 werde» wiederholt» In Schritt 118 wird aber festgestellt, daß der aBloekieren=Speicherungm-Trigger
für alle UK-Bytesteilen, die der P.-Stelle folgen, eingestellt
ist. Nach Schritt 118 wird zu Sehritt 127 übergegangen, bei welchem
der Aufrufadressenzähler 26a vorwärtsgeschaltet wird» Von
Schritt 128 wird so lange zu B2 sisrüekgeleiteti, bis das Ende des
UK-Paares erreicht 1st. Die Schritte 107 bis 109, 111, 112, 116, 118, 127 und 128 werden für jede UK-Bytestelle so lange wiederholt,
bis das Ende des OK-Registers in Schritt 128 signalisiert wird, wobei festgestellt wird, daß der Inhalt des UK-Bytezählers
und das MUKL-Byte gleich sind« Dureh diese Schritt-Wiederholungen
wird der Rest des laufenden UK=Paares abgetastet.
Wenn der nächste Hinweis erreicht ist, wird der "Blockieren Speicherung"-Trigger 34a durch einen R-Zyklus zurückgestellt,
welcher an die UND-Schaltung 37d geliefert wird»
Wenn in Schritt 128 die letsfee Bytestelle im -OK-Register abgefühlt
wird, wird die "UK-Ende-Leitung" 25A (FIg0 3A) beaufschlagt,
wodurch die UND-Schaltung 67b durchgeschaltet wird, deren Ausgangssignal
den Trigger 67a (Fig„ 9} sur Vorbereitung des R-Zyklus
einstellt. Es wird Schritt 131 (Fig„ IOC) im nächsten TO-Impuls
ausgeführt. Dieser Impuls schaltet die UND-Schaltung 67c durch,
deren Ausgangssignal den "R-Zyklias-Trigger1" 67 einstellt,- wodurch
der R-Zyklus auf Leitung
Docket PO 968 027
00988^/1897
In Schritt 132 wird im Register 32a (Fig. 4) das erste Hinweisbyte gespeichert, wenn das Signal des Zyklus R über ODER-Schaltung
32c die Torschaltung 32b betätigt. Die Torschaltung 32b
schaltet das erste Hinweisbyte aus dem Pufferspeicher in das Register 32a.
In Schritt 133 wird der Speicheradressenzähler 41a (Fig. 5A)
vorwärtsgeschaltet, wenn die "R speichern"-Leitung 33A von der UND-Schaltung 33d ein Signal an die ODER-Schaltung 42 abgibt,
damit die nächste Speicheradresse in den Pufferspeicher 10 geliefert wird. Danach wird in Schritt 134 das R-Byte im Register
33a über die ODER-Schaltung 33b und über die Pufferspeichereingangsleitung 13 in die Bytestelle im Speicher 10 geleitet,
welche gerade vom Zähler 41a adressiert wurde.
In Schritt 135 wird zur Zeit Tl der R-Byte-Zähler 69c (Fig. 9)
durch den R-Zyklus erhöht, weicher an die UND-Schaltung 69a geleitet
wird.
In Schritt 136 wird festgestellt, ob das letzte Hinweisbyte das letzte im laufenden Hinweis ist. Wenn der Hinweis aus mehreren
Bytes besteht, wird zu Schritt 137 übergegangen, da der Trigger für den R-Zyklus (67d) eingestellt bleibt, wodurch der nächste
Zyklus R beginnt. Die R-Bytes werden weiterhin aus der Puffer-Speicherausgangsleitung
14 über das Register 32a zur Pufferspeichereingangsleitung 13 übertragen. Die Schritte 131-137
werden folglich solange wiederholt, bis in Schritt 136 festgestellt
wird, daß der Vergleicher 69d die Gleichheit zwischen der R-Bytezählung im Zähler 69a und dem Wert des RL-Bytes im Register
23c (Fig. 3A) signalisiert.
Bei einer Ja-Aussage in Schritt 136 wird Schritt 138 ausgeführt,
in dem der Aufrufadressenzähler 26a (Fig. 3B) während der
Zeit T7 des letzten R-Zyklus schrittweise vorwärtsgeschaltet wird. Dieser adressiert das äußerste linke Byte im nächsten UK,
welcher der erste UK des folgenden UK-Paares wird. Dieser UK ist
Docket PO 968 027
009S84/1897
der erste reelle UK im Index, nachdem das erste UK-Paar mit dem
Pseudo-UK verarbeitet ist. Nach Schritt 138 wird über C zu den Schritten der Fig. IQA übergeleitet. Damit beginnt durch Vergleich
des nächsten OK-Paares die Erzeugung des nächsten CK's. Dieses UK-Paar besteht aus dem zweiten und dem dritten-UK im
Pufferspeicher IO (Fig. 2A). Diese UK's sind die ersten echten UK's im Index.
Schritt 107 wird bei C begonnen, wenn das Ausgangssignal äer
UND-Schaltung 68d den Trigger 68a einstellt. Diese UND-Schaltung wird zur Zeit T7 von einem Signal aus dem "R-Ende-Vergleicher"
69d durchgeschaltet. Beim nächsten Impuls TO liefert die Schaltung 68c ein Signal auf die Af-Zykl«s-B->Leitiang S8A,
welche den Trigger 64a (Fig. 8) einstellt? dieser leitet ersten AJ.-Zyklus für das neue UKHPaar ©in. Bei Schritt 108
das äußerste linke Byte des ersten OK0S aus dem neuen UK-Pass1
in das Al-Byteregister 30a, wie bereits beschrieben,,
Danach über A zu Schritt 111 (Fig. I0B) weitergeleitet, welchem das äußerste linke Byte des zweiten UK0S aus
UK-Paar in das A2-Byteregister übertragen wird_o
Nach Schritt 112 folgt Schritt 116, da jenes Ä2~Byte nicht den
Index beendet. In Schritt 116 wird der UK-Bytegäfeler 25a wie
bereits beschrieben vorwärtsgeschaltet,.
Bei negativem Ergebnis von Schritt 119 folgt Schritt 120 water
der Voraussetzung, daß die äußersten liakea Bytes im AI- and in
A2-Register gleich sind, und daß infolgedessea"die L®iteng 31Ä
nicht beaufschlagt ist.
Nach Schritt 119 folgt Schritt 120, Ia we]
zähler 26a (Fig. 3B) am Ende d©@ laufen
schaltet wird, über Bl wird auf Schritt
geführt. Danach wiederholt sich das Programm üb@r
107-109, 111, .112, 116-12.© für die näcfcisten„ äaßerea linken Bytes,
Bei Schritt 118 wird duseSa Äl^Ä2=TEigger 35a entschieden, ©b der
weitere Ablauf über äeu liast©!!= ©der den Rückstellausgang von
Docket PO 968 027
Schritt 119 laufen soll. Wenn das erste, ungleiche Al- und
A2-Bytepaar erreicht ist, erfolgt der weitere Ablauf über den Einstellausgang. In den Schritten 122-126 wird der CK aus dem
laufenden UK-Paar erzeugt. Danach werden in den Schritten 107-109,
111, 112, 116, 118, 128 die restlichen UK-Bytestellen abgetastet. Nach Schritt 128, am Ende des laufenden UK-Paares, wird über B3
zu Schritt 131 (Fig. IOC) verzweigt.
In Schritt 131 wiederholen sich die R-Zyklen einmal für jedes
Hinweisbyte, wodurch die Byteanzahl des Hinweises übertragen werden, wie sie von dem Wert im RL-Register 23c (Fig. 3A) bestimmt
wurde. Der Vergleicher 69d erhält die Ausgangssignale aus dem RL-Zähler und aus dem RL-Register und liefert ein .
"Gleich-RL-SignalT an die UND-Schaltung 68b, wenn das letzte
Byte eines Hinweises abgerufen ist.
Dann bewirkt die Taktsteuerung der Fig. 8, daß die neue Zyklusfolge
für das nächste UK-Paar, UK. , und UK., eingeleitet wird. Das Verfahren wird wie oben beschrieben zur Erzeugung des nächsten
CK's wiederholt.
Die jedem Hinweis folgenden UK-Paare (jeweils UK., und UK.) werden nacheinander verglichen, bis der letzte UK der UK . des
laufenden UK-Paares wird. Dann wird in Schritt 112 das Ende des Index im A2-Zyklus durch den Decodierer 50 (Fig. 5B) angezeigt.
Dieser Decodierer 50 überprüft das erste Byte im A2-Register, ob
es die Verschlüsselung für das Indexende enthält. Sobald der
Decodierer diese abfühlt, gibt er ein "Erzeugungsvorgang Ende"-Signal
auf Leitung 51A (Fig. SB) und ein "P=O"-Signal auf Leitung
51C. Infolgedessen geht der weitere Ablauf von Schritt 112 über dessen Ja-Ausgang zu Schritt 113.
In Schritt 113 erhöht das "Erzeugungsvorgang Ende"-Signal auf
Leitung 51A über ODER-Schaltung 42 den Inhalt des Speicheradressenzählers
41a, welcher über die Torschaltung 41b auf die Pufferadressenleitung geschaltet wird. In Schritt 114 wird über Leitung
Docket PO 968 027
009884/1897
51C und die Torschaltung 33b (Fig. 4) ein Null-Byte erzeugt,
welches zur Speicherung an der vorgesehenen Adresse auf die Puffereingangsleitung 13 geleitet wird. In Schritt 115 wird
mit dem Ende des Impulses der monostabilen Kippschaltung 52b die Erzeugung des verdichteten Index beendet. Diese Kippschaltung wird zur Zeit T5 nach der Einstellung des Triggers 51a
ausgelöst.
Ablauf des Suchvorganges und Systemausführungsbeispiele Beim Suchvorgang besteht die Eingabe aus dem CK-Index, der nach
dem erfindungsgemäßen Verfahren erzeugt wurde. Die erfindungsgemäßen Ausführungsbeispiele dienen zum Absuchen eines verdichteten
Index, welcher sich im Pufferspeicher 10 oder in einer E/A-Einheit
befinden kann. ' _
Der Eingabeart-Trigger 201 zeigt an, ob sich der verdichtete Index
in der E/A-Einheit 46 oder im Pufferspeicher 10 befindet. Dieser Trigger wird durch ein E/A-Betriebsart-Signal eingestellt, wenn
die Eingabe aus der E/A-Einheit erfolgt; er wird durch ein Puffer-Betriebsart-Signal zurückgestellt, wenn der verdichtete
Index sich im Pufferspeicher 10 befindet.
Unter Steuerung des Eingabe-Auswahl-Triggers 205 werden die Bytes des CK-Index durch die Tore 202 und 203 geleitet.
Der Trigger 205 wird durch einen zentral gesteuerten Startbefehl eingestellt. Am Ende eines Suchvorganges stellt das "Suchvorgang
vollständig"-Signal auf Leitung 24OA Trigger 205 zurück.
Das erfindungsgemäße Verfahren zum Absuchen eines Index mit nur
ein Schlüsselbyte langen CK's ist in den Fign. 19A-D dargestellt.
In Schritt 301 wird das Startsignal für den Suchvorgang an die UND-Schaltung 25Oc (Fig. 17) geleitet, wodurch die Taktsteuerungen
für den Suchvorgang betätigt werden.
Schritt 302 ist der Einleitungsschritt, in welchem alle wesent-
Docket PO 968 027
009884/ 1 897
lichen Trigger ung Register zurückgestellt und die Taktsteuerungen
für den Suchvorgang in Betrieb gesetzt werden. MUKL, LVL und RL
sind die Einleitungszyklen aus der Taktsteuerung. Die Zyklen der Taktsteuerung für den Suchvorgang (Fig. 17) sind in Fig. 18 dargestellt. Die Zyklen der Taktsteuerung übertragen die eingegebenen
Kennzeichenbytes LVL und RL in die Register 209a und 21Oa (Fig. HB). Das LVL-Kennzeichenbyte muß eine niedere Ebene angeben,
damit die Operation fortgesetzt wird, da ein UK-Index einer
niederen Ebene als Eingabe bei der erfindungsgemäßen Betriebsweise
vorausgesetzt wird.
Der Aufrufadressenzähler 221a (Fig. 12) wird nur benötigt, wenn·
die Eingabe aus dem Pufferspeicher 10 erfolgt. In diesem Fall wird der Zähler am Schluß (T7) jedes Taktzyklus auf die nächste
Byteadresse erhöht. Das Ausgangssignal des Zählers 221a wird von
der UND-Schaltung 221d weitergeleitet, welche nur durchgeschaltet wird, wenn ein Pufferspeicher-Eingabesignal auf Leitung
201B (aus Fig. 11A) geliefert wird. Wenn die Torschaltung 221b durch das Ausgangssignal der UND-Schaltung 221d betätigt wird,
schaltet sie das Ausgangssignal des Zählers 221a über die ODER-Schaltung
221c auf die Pufferspeicheradressierleitung 16. Die Impulse T0-T7 werden von der Ringschaltung 45 erzeugt, welche
vom Oszillator 44 (Fig. 7) geschaltet wird, wenn der Inhalt des
Pufferspeichers 10 abgesucht wird.
Wenn eine E/A-Einheit abgesucht wird, werden die Daten auf der
Datenausgabeleitung 2O4A (aus Fig. HA) empfangen. Die Impulse
T0-T7 werden von der Ringschaltung 45 (Fig. 7) geliefert, wenn der Schalter 47 die E/A-Einheit mit der UND-Schaltung 49 verbindet.
Im Einleitungsschritt 302 wird das Suchargument (S.A.), nach
welchem im Index gesucht werden soll, von einer Zentraleinheit (nicht gezeigt) gesteuert und in ein Suchargumentregister 16
übertragen. Die für diesen Vorgang notwendigen Schaltungen gehören nicht zum Gegenstand der Erfindung. Das Suchargument
Docket PO 968 027
00 9 884/189 7
wird vollständig in das Suchargumentregister 16 übertragen, von
wo aus jedes S.A.-Byte zu einem Teilsuchvorgang wahlweise abgerufen
werden kann« Die S0A0-Bytestelle aus dem Register 16 wird
in ein Register 222b gesetst (Fig. 12); es handelt sich um die Adresse des äußersten linken Bytes im Suchargwnent? dieses kann,
obwohl es nicht das RL-Byte ist, im RL-Zyklus in das Register
222b gesetzt werden.
Nach Schritt 302 folgt Schritt 305 (Fig. 19A), in welchem im P-Zyklus die Eingabe des ersten P-Bytes erfolgt. Dieser Zyklus
läuft am Ende des letzten Kennzeichenbyte-Zyklus ab.
In Schritt 306 wird während dieses P-Zyklus das P-Byt@ in
das Register 212a gespeichert.
In Schritt 307 wird im P-Zyklus ein ausgewähltes Byte des argumentes aus dem Register 16 in das A-Byteregister 223a
12) gespeichert.
Die Adresse für das erwünschte Α-Byte wird im Adöiarer 222a
(Fig. 12) erzeugt, wenn dieser den laufenden P -Wert erhält» Die A-Byteadresse wird über die Torschaltung 222c geliefert,
sobald diese während jedes P-Zyklus vom Ausgangssignal der UND-Schaltung
223c durchgeschaltet wird» Daher erhält die Pufferspeicheradressierleitung
16 zur Zeit T3 jedes P-Zyklus eine A-Byteadresse, die sich aus der Summe der Stellenadresse_im
Register 222b und des laufenden Pj-Wertes im P-Register 212a
(Fig.*11B) ergibt. Das adressierte Α-Byte wird auf der Pufferspeicherausgangsleitung
14 über die Torschaltung 223b in das A-Byte-Register 223a (Fig. 12) übertragen,.
In Schritt 308 wird während jedmrn P-Zyklus überprüft„ ©3b der
P-Wert Null ist und damit das - Indexende erreicht istο
Sobald das Indexende festgestellt ist, wird in Schritt 309 der
"Suchvorgang vollständig"-Trigger 240 (Flg. 16) eingestellt, der
Docket PO 968 027 0 0 9 8 8 4/1897
den Suchvorgang beendet. Wenn P/O ist, wird über A zu den
Schritten der Fig. 19B übergegangen.
Beim SuchVorgang muß das P-Byte in jedem CK, das K-Byte in
fast jedem CK und in wenigen CK's das Hinweisbyte untersucht
werden. Die CK- und Hinweisbytes werden sequentiell in der erzeugten Indexanordnung eingegeben, und zwar mit einer von der
E/A-Einheit oder dem Pufferspeicher bestimmten Geschwindigkeit. Bei dem erfindungsgeraäßen Verfahren ist es also nicht notwendig,
daß alle eingehenden Bytes untersucht werden.
Wenn in Schritt 309 (Fig. 19A) der Suchvorgang nicht beendet "
wurde, wird in Schritt 311 (Fig. 19B) nach dem P-Zyklus ein K-Zyklus eingeleitet. In Schritt 312 wird das eingegebene K-Byte
im K-Register 22Oa (Fig. 12) gespeichert.
In Schritt 313 werden das K- und das A-Byte - zu diesem Zeitpunkt
im Register 22Oa, bzw. 223a-223d verglichen.
Schritt 314 wird durch ein Signal aus Vergleicher 223d ausgeführt.
Ein Signal am Ausgang 223A bedeutet K«A, ein Signal am Ausgang
223B bedeutet K>A und ein Signal am Ausgang 223C bedeutet K<A.
Wenn das Suchargument in dem eingegebenen Index vertreten ist, A
so wird im richtigen CK K»A festgestellt. Dieses wird rechtzeitig
durch ein Signal am Ausgang 223A (Fig. 12) angezeigt.
Es ist jedoch anzunehmen, daß bei anderen CK's ebenfalls Signale
am K=A-Ausgang 223A entstehen. Deshalb sind weitere Schritte und
Schaltungen vorgesehen, damit der richtige CK von dem falschen CK, bei dem ebenfalls K=A ist, unterschieden werden kann. Der Vergleich
der Signale am K>A- und am K<A-Ausgang liefert ebenfalls wesentliche
Informationen. Aus den P.-Werten der eingegebenen CK's wird
ebenfalls eine Information gewonnen, die bei der Bestimmung des richtigen CK's notwendig sein kann. Die folgenden Schritte 316-319
können aus dem laufenden P.-Wert eine Information ableiten, die
Docket PO 968 027 009884/1897
'- 32 später zur Bestimmung des richtigen CK's notwendig sein kann.
Die in den Fign. 14 und 15 abgebildeten Schaltungen dienen zur Unterscheidung des richtigen von einem falschen CK während des
in den Fign. 19B und C abgebildeten Suchverfahrens. Es wird
zwischen zwei P^Werten PE und PH, unterschieden. Sie unterscheiden
sich in ihrer Art der Auswahl. P_ zeigt an, daß im CK K=A ist.
Cl
Der Wert P zeigt an, daß im CK K>A ist. Es muß also nur der
P -Wert der gleich P ist, gespeichert werden. Der P -Wert kann
Xn E
durch ein einziges Bit (Trigger 286) angezeigt werden. Dieses Bit gibt an, ob der im Register 17 gespeicherte Hinweis gültig
ist.
Das Ausgangssignal der UND-Schaltung 271, bzw. 275, das den Trigger 273 (Fig. 15) einstellt, entscheidet, daß P_ angegeben,
und der dazugehörige Hinweis gespeichert werden soll. Das Ausgangssignal der UND-Schaltung 276 oder 279, das den Trigger
277 einstellt, trifft die Entscheidung, daß P gespeichert
werden soll. Die Torschaltung 267 (Fig. 14) überträgt den ausgewählten
P -Wert zur Speicherung in das P -Register 268.
π Η
Das Ausgangssignal der UND-Schaltung 274, das den Trigger
264 einstellt, gibt den Wert P„ an, wenn K=A. Wenn ein P -
et H
Wert im Register 268 gespeichert ist, wird der entsprechende Trigger 287 (Fig. 15) eingestellt.
Die Schaltzustände der Trigger 264 oder 268 geben vier Zustände Sl bis S4 an. In der folgenden Tabelle bedeutet 1, daß ein
Trigger eingestellt, und O, daß ein Trigger zurückgestellt ist.
Zustandstabelle
Zustand | Einstellungen von P P E H |
O D /. / 1 C Q 1S | 0 |
Sl | 0 | 0 | |
S2 | 1 | 1 1 |
|
S3 S4 |
0 1 |
||
Docket PO 968 027 Λ η α |
■ . - 33 -
Wenn P_ oder P„ nicht mehr bei der Bestimmung des richtigen CK's
notwendig sind, wird Trigger 286, bzw. 287 zurückgestellt, wodurch eine Zustandsänderung erfolgt. Das P -Register 286 wird
durch Zurückstellung des Triggers 287 ebenfalls zurückgestellt.
Wenn UND-Schaltung 282 oder 285 Trigger 283 (Fig. IS) einstellt,
wird angezeigt, daß die Werte P_ und PTT nicht maßgebend sind.
In der folgenden Zusammenfassung des Suchverfahrens wird die Beziehung zwischen den Zuständen S1-S4 und den laufenden P-, K-
und Α-Werten in den Registern 212a, 22Oa und 223a dargestellt.
Zusammenfassung des Suchverfahrens
I. Voraussetzung;
Das Suchargument ist mit einem UK aus dem ursprünglichen UK-Index aus welchem der verdichtete Index abgeleitet wurde,
identisch. Der CK, der aus einem entsprechenden UK abgeleitet wurde, muß bei dem Suchvorgang gefunden werden.
Bei dem richtigen CK ist K=A; bei einem nichtrichtigen CK kann auch K=A sein. Während des Suchvorganges werden die
folgenden Zustände S1-S4 zur Unterscheidung des richtigen
CK's vom falschen CK erzeugt.
II· Zustand Sl:
Dieser Zustand besteht zu Beginn eines Suchvorganges, oder
wenn die alten P- und P -Werte beim Absuchen des laufenden
CK's (d.h. CK.) nicht von Bedeutung sind. Im Zustand Sl war
kein vorangegangener CK richtig. Dann sind beim Vergleich von K, und A folgende Ergebnisse möglich:
a.) Wenn K. < A ist, befindet sich der gesuchte CK weiter
unten im Index. Zustand Sl fortsetzen und nächsten CK lesen.
b.) Wenn K »A ist: Den Hinweis mit CK registrieren. P
ι i £
anzeigen, damit in den Zustand S2 übergegangen wird. Näch sten CK lesen.
Docket PO 968 027 00 9884/1897
Docket PO 968 027 00 9884/1897
c.) Wenn K>A, und CK nicht der erste CK ist.
(In diesem Fall ist der Wert P. von Bedeutung, da er eine nicht entscheidende Stelle im Suchargument darstellt.
Der richtige CK kann ebenfalls nicht unter allen folgenden CK 's sein, welche eine gleiche oder eine grössere
Bytezahl haben.) P als P speichern, damit das
i H
System in den Zustand S3 übergehen kann. Nächsten CK lesen.
d.) Wenn K>A, und CK der erste CK im Index ist, befindet
sich das Suchargument nicht im Index und ist niedriger als der erste Schlüssel. Suchvorgang beendenο
III. Zustand S2:
Dieser besteht, wenn bei einem früheren CK K=A ist« Zustand
S2 wird durch einen P -Wert aber durch keinen gespeicherten P -Wert angezeigt. Im Zustand S2 könnte der letzte, gespeicher-
te Hinweis der richtige sein. a.) P. ist nach rechts verschoben:
1.) Wenn K.<A: Der letzte gespeicherte Hinweis kann
nicht der richtige sein. P ist nicht signifikant. P_ zurückstellen. Es folgt Zustand Sl. Nächsten CK
lesen.
2.) Wenn K =A: P_ anzeigen, und der alte Hinweis ist
i ε·
nicht signifikant. Den Hinweis mit CK., welcher wahrscheinlich der richtige ist, registrieren.
Zustand S2 fortsetzen. Nächsten CK lesen.
3.) Wenn K.>A: Der letzte Hinweis ist wahrscheinlich
der richtige. Der alte P -Wert ist signifikant.
P als P_ registrieren, damit das System in Zustand
i η
S4 übergehen kann. Nächsten CK lesen.
b.) P. ist nach links oder gar nicht verschoben:
Docket PO 968 027 Q09884/1897
: - 35 -
1.) Wenn K <A; Der letzte, gespeicherte Hinweis kann
nicht der richtige sein. Sein gespeicherter P-Wert ist nicht signifikant und wird deshalb zurückgestellt.
Es folgt Zustand Sl. Nächsten CK lesen.
2.) Wenn K»A: CK ist wahrscheinlich richtig. Sein
Hinweis wird registriert. P„ anzeigen; der alte Hinweis ist nicht signifikant. Im Zustand S2 bleiben
und nächsten CK lesen.
3.) Wenn P >A: Der letzte gespeicherte Hinweis ist (
wahrscheinlich der richtige. P. als P registrie-
i H
ren. P„ versetzt das System in den Zustand S4. Näch-
sten CK lesen.
Zustand S3;
Dieser besteht, wenn ein vorangegangener CK P„ gespeichert
hat (P1. kann beim Suchvorgang in CK, signifikant sein) , und
η i
wenn P_ nicht signifikant ist. Im Zustand S3 kann kein frü-
herer CK richtig sein.
a.) Wenn P. rechts von P liegt: Zusammenhang größer, gleich
oder kleiner zwischen K und A nicht beachten. Nächsten CK im Zustand S3 lesen (dadurch werden alle unmittelbar ™
folgenden CK's mit P>P„ ausgeschieden. Bei dem nächsten
CK
, dessen K-Byte überprüft wird, hat P£PH·)
b.) Wenn P. linksverschoben ist oder wenn P die gleiche
Stelle wie Pn einnimmt:
1.) K<A zeigt an, daß Pn nicht signifikant ist. P„
A H H
zurückstellen und in Zustand Sl übergehen; nächsten
CK lesen.
2.) K.=A: P ist nicht signifikant. P„ zurückstellen,
in H
Docket PO 968 027 009884/1897
P anzeigen und in Zustand S2 übergehen. 3.) K.>A: Der alte P -Wert ist nicht signifikant. P.
In 1
als neuen P -Wert speichern. In Zustand S3 bleiben, η
Nächsten CK lesen. ■
V. Zustand S4;
Dieser besteht, wenn die zwei vorangegangenen CK's P ange-
zeigt und P gespeichert haben. Der letzte, gespeicherte
Hinweis kann der richtige sein.
a.) Wenn P rechts von P liegt j Die alten P- und P-1
Ii L· H
Werte sind signifikant. In Zustand S4 übergehen und Zusammenhang größer, gleich oder kleiner zwischen
K. und A unbeachtet lassen- (Dadurch werden alle unmittelbar folgenden rechtsverschobenen CK's ausgeschieden)
.
b.) P. liegt rechts von P : 1 H
1.) K. <A: P und P„ sind nicht signifikant und v/erden
X E M
zurückgestellt. Dadurch wird Zustand Sl hergestellt.
2.) K =A: CK, ist wahrscheinlich richtig. P_ anzeigen
i i L·
und P zurückstellen. In Zustand S2 übergehen, H
Hinweis registrieren und nächsten CK lesen.
3.) K.>A: Der alte P -Wert ist signifikant. P. als
1 £· i
neuen P„ speichern. Zustand 4 fortsetzen und
nächsten CK lesen. VI. EndbediirJunc
Wenn K>A hai P=I, ist der Suchvorgang abgeschlossen.
Sonst ist er erst dann abgeschlossen, wenn das Indexende erreicht ist. In beiden Fällen ist derjenige CK der richtige,
welcher zuletzt einen Hinweis ausgelesen hat. Die-Docket PO 968 027 009884/1897
ser Hinweis gehört zu dem CK, welcher den letzten signifikanten
P -Wert enthält. Deshalb kommen nur Zustand S2 oder S4 in Frage, wenn der Suchvorgang mit einer richtigen
Ausgabe endet. Wenn aber Zustand Sl oder S3 eintritt, ist das Suchargument nicht in dem Index enthalten, und alle
zuvor ausgelesenen Hinweise werden nicht berücksichtigt.
VII. Zusätzliche, mögliche Endbedingungen:
Es kann ein Suchargument-Gleichheitszähler vorgesehen werden, damit der Suchvorgang beendet werden kann, wenn
wenn K größer als A ist, während P kleiner oder gleich
der laufenden Stellung des Gleichheitszählers ist. Der
Gleichheitszähler wird nur erhöht, wenn K=A ist, während P. gleich der laufenden Stellung des Gleichheitszählers
ist. Diese mögliche Endbedingung hängt von der Wahl des Suchargumentes und von den Verschiebungseigenschaften im
Index ab.
Diese Zusammenfassung steht in Einklang mit der Tabelle E, in
welcher die Beziehungsregeln der gleichstelligen Bytes in einem sortierten, unverdichteten Index aufgestellt sind.
Die Zusammenfassung hat ihre Grundlage in dem Verfahren der Fig.
19A-D und den Schaltungen Fign. 7, 1IA-I7.
Die folgende Matrixtabelle gibt eine ganz knappe Aufstellung der
verschiedenen Vorgänge und Zustände, die in der vorangegangenen Zusammenfassung erklärt wurden.
Docket PO 968 027 009884/1897
Matrixtabelle
AUS Sl | AUS S2 | AUS S3 | AUS S4 | |
EIN Sl |
C: 1) K<A und 2) Verschiebung A: Keine |
C: 1) K=A und 2) Verschiebung A: Hinweis spei chern & P_ Cl anzeigen |
C: 1) K>A und 2) Verschiebung A: P1J speichern & P1J anzeigen |
|
EIN S2 |
C: 1) K<A und 2) Vers chiebung ' A: P„ zurückstellen |
C: 1) K=A und 2) Verschiebung A: Hinweis spei chern & PE anzeigen |
Cs 1) K>A und 2) Verschiebung As P1J speichern & P„ anzeigen (Alter Pe ist signi fikant) · |
|
EIN S3 |
C: I) K<A und 2) Ρ±<ΡΗ |
Cs 1) K=A und 2) Pi<PH |
C: 1) K>A und 2). Pi<PH As Pjj speichern & PH anzeigen |
|
EIN | C: 1) K<A und 2) Ρ±<ΡΗ |
Cs 1) K=A und 2) P±<PH |
Ci Pi>PH As Keine (K-A-BeZiehung berücksichtigen; alter P ist signifikant) |
Cs 1) K>A und 2) Pj^Pj1 As Pjj speichern & Pjj an zeigen (alter PE ist signifikant) |
Cs 1) P±>PH As Keine (Alter PE u. Pj1 sind signifikant) K-A- Beziehung nicht be rücksichtigen. |
/Q27A64
In dieser Matrixtabelle sind die Übergänge zwischen den einzelnen Zuständen mit "EIN" und mit "AUS" abgekürzt/Beispielsweise ist
im linken, obersten Feld (Sl+Sl) und im linken, untersten Feld ist
(S4+S1) definiert. Diese Darstellung wird benötigt, um eine bestimmte
UND-Schaltung in Fig. 15 zu einem oder mehreren Feldern der Matrixtabelle in Beziehung zu bringen. Diese gleiche Darstellung
wird außerdem verwendet, damit in dem Verfahren der Fign. 19B und C die Schritte der Matrixtabelle entsprechen.
Der Inhalt jedes Feldes bezeichnet die Bedingungen (C), die in dem laufenden, gelesenen CK vorliegen, und die entsprechende
Aktion (A), welche für den Übergang in den im Feld angegebenen
Zustand notwendig ist. Folgende Bedingungen (C) sind möglich: K <A,
K=A oder K>A. Außerdem ist das Verhältnis zwischen dem laufenden P (d.h. P.) und dem laufenden, gespeicherten P- und/oder
P -Wert zu berücksichtigen. Dementsprechend ist in jedem Feld H
links der Eingangszustand angegeben. Der Ausgangszustand, welcher von den Bedingungen und von der innerhalb des Feldes angegebenen
Aktion abhängt, steht senkrecht in der Spalte oberhalb der entsprechenden Felder.
In manchen Feldern stehen zwei verschiedene Gruppen von Bedingungen
(C) und Aktionen (A) . Es sind die Felder (S2+S2) ;
(S3+S3) und (S4+S4) . In der unteren Gruppe dieser Felder sind
keine neuen Aktionen erforderlich. D.h. P_ und P haben unter den
EH
im Feld angegebenen Bedingungen (C) den gleichen Aus- und Eingangszustand.
Daher sind für diese Zustände keine besonderen Schaltungen notwendig.
Manche Felder beinhalten die gleichen Bedingungen und die gleichen
Aktionen. Sie können von derselben Schaltung in der Fig. 15 ausgeführt
werden. Die UND-Schaltungen 271, 275, 276, 279, 282 oder
285 sind beispielsweise für zwei Felder der Matrixtabelle zuständig.
Die vorangegangene Zusammenfassung des Suchverfahrens und die Matrixtabelle verdeutlichen das Verfahren der Fign. 19B und C
Docket PO 968 027 00 9884/1897
- 40 und die entsprechenden Schaltungen.
Es wird zu Schritt 316 übergegangen, wenn in Schritt 314 ein
K«A-Signal auf Leitung 223A vorhanden ist. In Schritt 316
werden auf Leitung 287A bzw. 287B aus dem Trigger 287 Signale
abgegeben. Diese Signale hängen vom Schaltzustand des Triggers 287 ab und sie zeigen an, ob gerade ein signifikanter P„-Wert
im Register 268 (Fig. 14) gespeichert ist.
Wenn -P gespeichert ist, herrscht Zustand S3 oder S4. Ist
P„ jedoch zurückgestellt, muß Zustand S2 oder S2 vorliegen.
Schritt 317 wird ausgeführt, wenn P nicht gespeichert ist (d.h.
Leitung 287B führt ein Signal). In diesem Fall liegt Eingangszustand
Sl oder S2 vor, und es folgt Ausgangszustand S2. In Schritt 317 wird der "nächsten Hinweis lesen"-Trigger 262 (Fig., 14) eingestellt,
um das Verfahren für die Speicherung des Hinweises, der unmittelbar auf das laufende K-Byte folgt und der zu dem
laufenden CK gehört, vorzubereiten, da bei Schritt 314 festgestellt
wurde, daß bei diesem CK K~Ä ist.
Daraufhin folgt Sehritt 319, in welchem der P -Trigger 286 eingestellt
wird, da P_ für den nächsten CK signifikant ist.
Daraufhin wird in Schritt 320 {wem Schalter S2 wie gezeigt
eingeschaltet ist) ein R-Zyklus eingeleitete in welchem der dazugehörige
Hinweis, welcher mit dem nächsten,, eingegebenen Byte
beginnt, in das Hinweisregister 17 (FIg0 2Bj gespeichert wird,
da bei Schritt 317 der "nächsten Hinweis lesen"-Trigger eingestellt
wurde. Es wird su Schritt 318 übergegangen,, wenn in
Schritt 316 festgestellt wird*-. etaB PH gespeichert wurde (<ä.he
Leitung 287A führt ein Signal).
In diesem Fall liegt Zustand S3 oder S4 vor?
gangazustand S2. In Schritt 318 wird festgestellt 0 daß der dazugehörige
Hinweis gespeichert werden SoIi17 weshalb Schritt 317
Docket PO 968 027 009884/1897
unter der Bedingung P4<P„ ausgeführt wird (P„ ist der im Register
286, Fig. 15, augenblicklich gespeicherte Wert). - ;
Χ— π
in Schritt 320 ein R-Zyklus für den nächstfolgenden Hinweis
eingeleitet. Bei diesem Schritt wird der dazugehörige Hinweis
übersprungen, da Schritt 317 übergangen und der "nächsten Hinweis lesen"-Trigger nicht eingestellt wurde (d.h. er befindet .
sich im zurückgestellten Zustand).
der Fig. 19B ausgeführt werden, wenn in Schritt 314 in dem gerade *
eingegebenen CK K=A festgestellt wurde.
Wenn jedoch in Schritt 314 K/A festgestellt wurde, wird Über
Bl zu Schritt 331 der Fig. 19C übergegangen, bei welchem festgestellt wird, ob die K>A-Leitung 223B ein Signal führt. Wenn
keines vorliegt, wird Schritt 351 ausgeführt, in welchem angezeigt wird, daß die K<A-Leitung 223C ein Signal führt. Wenn das,
K=A- und das K>A-Signal fehlen, muß ein K<A-Signal vorliegen.
Schritt 332 wird ausgeführt, wenn in Schritt 331 K>A festgestellt wird. In Schritt 332 wird überprüft, ob P.-l ist. Dieser
Fall tritt ein, wenn das laufende K-Byte das äußerste linke A
Byte aus dem entsprechenden UK ist. Wenn P1 19I und K.>A ist,
muß das Suchargument niedriger als der UK sein, welcher van CK vertreten wird. In diesem Fall ist der Suchvorgang nach Schritt
332 bei Cl (Fig. 19A) beendet. Wenn der laufende CK der erste im Index ist, bedeutet ein Obergang zu Cl, daß das Suchargument
nicht im Index vertreten und niedriger als der erste Indexschlüssel ist; in diesem Fall kann kein Hinweis in das Hinweisregister 17 gespeichert werden. Wenn der übergang zu Cl bei einem
CK, welcher nicht der erste des Index ist, stattfindet, kann der in das Hinweisregister 17 gespeicherte Hinweis der richtige sein,
wenn der P -Trigger 286 eingestellt ist. Wenn jedoch kein signifikanter Hinweis im Register 17 gespeichert ist (d.h. P£-Trigger
Docket PO 968 027 009884/1897
286 ist zurückgestellt), befindet sich das Suchargument nicht im
Index.
Wenn P1J1I, wird von Schritt 332 zn Schritt 337 übergegangen,
falls Schalter S2 dementsprechend geschaltet ist. In den Fign. 19B und C sind die zwei mögliche» Schaltstellungen des Schalters S2
gezeigt, der zur Auswahl alternativer Schritte dient. In der nicht
dargestellten Schaltstellung wird ein Gleichheitszähler (GZ) verwendet, um den Suchvorgang etwas schneller beenden zu können,
wenn bestimmte Bedingungen im Ind@seaufbau und in der Wahl des
Suchargumentes gegeben sind. Wenn diese Bedingungen nicht gegeben sind, bietet die Betriebswelse alt dem Gleichheitszähler
keine Vorteile. Die Betriebsweise mit dem Gleiehheltszähler wird weiter unten erörtert.
Bei der Beschreibung des Verfahrens der Fign. 19B und C ist bezug
auf die Matrixtabelle genommen.
In Fig. 19B ist eine abwärts verlaufende Schrittfolge von Schritt
314 für den Fall K»A dargestellt. Diese Folge endet am Ausgang
von Schritt 319, in welchem P gespeichert wird, so daß Zustand
£1
S2 folgt. Diese Folge entspricht den vier Feldern der "AUS S2n-Spalte
der Matrixtabelle. K»A ist eine der Bedingungen (C) in
jedem Feld dieser Spalte. Daher ist "AUS S2" der Ausgangszustand
dieser K»A-Bahn In Fig. 19B.
Eine weitere Schrittfolge ist zwischen Schritt 318 und 320 vorgesehen, um die unteren Hälften der Felder (S3+S3) und (S4-»-S4)
darzustellen, wenn K-A in der unberücksichtigten K-A-Beziehung
ist. Die Situationen K>A und K<A in der unberücksichtigten K-A-Beziehung
sind in Fig. 19C dargestellt.
In der Fig. 19C werden zwei nach unten verlaufe&de Sebxittfolgen
von Schritt 331 nach Ausgang C2 (Fig. 19B) für die Verarbeitung
des nächsten Hinweises gezeigt. Die teiden Folgen sind die K>A-Folge
(link· Folge) und die ΚΆ-Folge .(rechte- Feige) DIa rechte
Docket PO 968 027 009984/1897
Folge (K<A) bezieht sich auf die vier Felder der Spalte "AUS Sl"
der Matrixtabelle. Jedes Feld enthält die Bedingung (C) K<A. Die
rechte Folge verläuft von Schritt 355 zum Ausgang C2. Im Schritt
355 werden die gespeicherten Pn- und P -Werte zurückgestellt,
so daß der Ausgangszustand Sl eintritt, wie es in der Zustandstabelle bestimmt ist. Sl ist also der Ausgangszustand der rechten
Schrittfolge.
Die linke Folge (K>A) entspricht den vier Feldern der Spalten
"AUS S3" und "AUS S4W der Matrixtabelle. Sie verläuft von Schritt
339 zum Ausgang C2. In Schritt 339 wird der P -Wert gespeichert,
so daß entweder Ausgangszustand S3 oder S4 erfolgt, je nachdem ob
der Eingangszustand von ]
gangenen P-Wert enthält.
der Eingangszustand von P_ zurückgestellt 1st oder einen vorangeln allen drei beschriebenen Schrittfolgen erfolgt eine positive
Aktion. Jede dieser drei Schrittfolgen weist jedoch zusätzlich eine abgespaltete Schrittfolge auf, in der keine positive Aktion
stattfinden muß, um die richtige Entscheidung zu treffen, d.h.
die Eingabewerte P-, und P werden als Ausgabewerte zurückgehalten.
Die abgespaltete Folge von Schritt 318 nach Schritt 320 (Fig. 19B)
wurde bereits erwähnt. Die abgespalteten Folgen entsprechen den
Feldern der Matrixtabelle, welche das Wort "keine" nach Aktion (A)
enthalten. Es sind die Felder (S1+SI), (S2+S2), (S3*S3) und (S4+S4)
Der Bezeichnung II in den Flgn. 19B und C gibt an, daß die untere
Hälfte eines Feldes betroffen ist. Die tiefgestellten Buchstaben
A oder B geben an, daß nur ein Teil der im Feld angegebenen Funktion von der entsprechenden, abgespalteten Folge ausgeführt wird;
beispielsweise wird bei (S3+S3) II und (S4+S4) II der Vergleich
zwischen K und A nicht berücksichtigt, und es sind diese Felder bei jeder K-A-Beziehung betroffen. Deshalb wird in der Schrittfolge
zwischen 318 und 320 nur die Komponente B von (S3+S3) II und
(S4+S4) II (wenn K»A) erhalten. Der abgespaltete Zweig 356 (Fig.
19C) liefert ihre restlichen Komponenten A aus Schritt 342, wenn K>A in den Keine-Aktion-Feldern (S3+S3) und (S4-»-S4) ist. Zweig
356. liefert auch das Keine-Aktion-Feld (Sl+Sl) aus Schritt 354.
Docket PO 968 027 009884/T89 7
Am Anfang der linken und der rechten Schrittfolge in Fig. 19C wird
in Schritt 337, bzw. 352 untersucht, ob P„ gespeichert ist, um die
richtige Aktion zu bestimmen.. Bei Verneinung wird Sl bzw. S2 als Eingangszustand bestimmt, bei Bejahung hingegen wird S3 bsw. S4
als Eingangszustand bestimmt.
Bei der Ausführung der Schritte 337 bzw..352 werden die Signale
auf der Leitung 287A bzw. 287B des Triggers 287 geprüft.
In jeder der beiden Folgen wird über den Ja-Ausgang zu Schritt
342 bzw. Schritt 353 weitergeleitet«, Beide Schritte sind identisch
und werden von einem Ausgangssignal (bzw. keinem Ausgangssignal)
des Vergleichers 269 auf Leitung 269A ausgeführt.
In der rechten Folge der-Fig., 19C wird über den Nein-Ausgang
des Schrittes 352 Schritt 354 eingeleitet, welcher vom Ausgangssignal
des Triggers 286 auf den Leitungen 286A und 286B ausgeführt
wird.
Der Ja-Ausgang der Schritte 353 und 354 führt zu Schritt 355,
in welchem der P- und der P -Trigger 286 und 287 und der
Γι η
Inhalt des Registers 268 zurückgestellt werdenο
über die UND-Schaltung 282 der Fig. 15 laufen die Sehritte 351,
352 und 355 ab, wodurch der Trigger 233 eingestellt und ein Signal auf der Leitung 284A erzeugt wird. Damit werden auch die
Felder (S3+S*) und (S4+S1) der Matrixtabelle erledigt.
Dementsprechend laufen über UND-Schaltung 285 der Fig» 15 die
Schritte 351, 352, 354 und 355 ab, wodurch ein Signal auf Leitung
284A erzeugt wird, welches die Trigger 286 rad 287 und den Inhalt des Registers 268 auf den erforderlichen Sl-Zustand
zurückstellt. Damit sind die Felder iBUSl) und (S2+S1) in der
Matrixtabelle ausgeführt. Von den Nein-Ausgängem der Schritte 353'
und 354 gehen die bereits erwähnten abgespalteten zweige aus.
Dabei sind keine Signale auf den Leitungen 274A, 27SA und 284A
vorhanden.
Docket PO 968 027 009884/1Q97
Die linke Folge verläuft vom Nein-Ausgang des Schrittes 337 zu Schritt 339, wodurch die Felder (S2+S4) und (S1+S3) ausgeführt
werden, über die UND-Schaltung 276 der Fig. 15 (wenn die UND-Schaltung
241 der Fig. 16 nicht durchgeschaltet ist) laufen die
Schritte 331, 332 und 337 ab. Wenn hingegen die UND-Schaltung 241 durchgeschaltet ist, wird die UND-Schaltung 276 nicht betätigt,
so daß zum Ausgang Cl weitergeleitet wird.
über die UND-Schaltung 279 (wenn UND-Schaltung 241 nicht durchgeschaltet ist) laufen die Schritte 331, 332, 337, 343 und 339 ab;
dadurch wird die obere Hälfte der Felder (S3+S3) und (S4+S4)
ausgeführt. Wie bereits erwähnt, erfolgt nach dem Nein-Ausgang Λ
von Schritt 342 keine Aktion. In diesem Fall sind keine Signale auf den Leitungen 274A, 278A und 284A vorhanden.
Von Ausgang C2 wird zu Schritt 320 (Fig. 19B) übergegangen,
in welchem ein R-Zyklus zur Verarbeitung des nächsten eingegebenen
Hinweises eingeleitet wird. Dann folgen die Schritte der Fig. 19D.
Durch den Verfahrensablauf der Fig. 19D wird die Abfühlung und das
Auslesen des Hinweises für einen CK gesteuert. Jede Aktion, die die Einleitung des R-Zyklus im Schritt 320 bewirkt, führt über
Ausgang B2 zu den Schritten der Fig. 19D.
Die Hinweise werden in dem R-Zyklus abgetastet. Es werden jedoch nur die Hinweise in das Hinweisregister 17 (Fig. 2B) gespeichert,
welche die K=A- und andere Bedingungen erfüllen.
Der Inhalt des Registers 224b in Fig. 12 lokalisiert das Hinweisregister
17 im Pufferspeicher 10 (Fig. 2B). Das Register 224b wird
während des RL-Kennzeichenzyklus mit der Bytestelle von Register 17 geladen, welche die Adresse des äußersten linken Bytes ist.
Danach ergibt sich jede erforderliche Hinweisbyteadresse aus der Summe aus dem Addierer 224a von der Adresse im Register 224b und
von dem laufenden Wert im R-Zähler (Fig. HB). Die Hinweisadressen
sind nur erforderlich, wenn der "nächsten Hinweis lesen"-Trigger
'(fig. 14) eingestellt ist. Gegebenenfalls wird die Hinweisadresee
Docket PO 968 021 009894/1897
über die Torschaltung 224c auf die Puffersp@i<sheradressier
leitung 16 übertragene, um dl
leitung 16 übertragene, um dl
bytes asu lokalisieren und .lsi
wenn sie von der
die UND-Schaltung 232b, über das
über die Torschaltung 232c auf dies J?a£fes:sg>©±ehereingang
13 geleitet werden«
16 zu speichern« (FIg0 13) über
232a und
Der eingegebene Hinweis wird in
gen, wenn bei dem dazugehörigem
abgerufenen Α-Byte gleich ist 0
gen erfüllt sind. Das eher 223d erzeugt, wenn
und - das gleiche Α-Byte aus de» legi
Hiaweisregister 17 Ifosrtralaa
K-Byte dem angeüfifolielslieh
Ifte am® <ä®M Eegister 22Oa
ir 223a erhalten hat.
In Schritt 361 {Fig. 19D) wird festgestellt<, ob ües eingegebene
Hinwels übersprungen oder ob ©r ia das Hiaweisregister 17 ausgelesen
werden soll. Diese Entscheidung ist Savon abhängig, ©b
der "nächsten Hinweis lesen'-Tr&gger 262 (PIg0 141 eingestellt
ist» Diese EntScheidung wurde v©a ÜND-Schaltraag 271 oder 275
getroffen, welche äen Trigger 273 ©instellt«, Bms gustaxidy bei
dem K»A ist, und bei üea keiö Hiweis is üsl® Register 17 übertragen wird, tritt ein, wenn·P.>F„ ist® Sie© ist bei arafeinaaderfolgenden CK's der Fall, deren K-Byte ara ües gleichen Stelle
(oder an einer Steil© weiter
Wert liegt.
getroffen, welche äen Trigger 273 ©instellt«, Bms gustaxidy bei
dem K»A ist, und bei üea keiö Hiweis is üsl® Register 17 übertragen wird, tritt ein, wenn·P.>F„ ist® Sie© ist bei arafeinaaderfolgenden CK's der Fall, deren K-Byte ara ües gleichen Stelle
(oder an einer Steil© weiter
Wert liegt.
Wenn in Schritt 361 festgestellt wird,
weis lesenw-Trigger nicht eingestellt ist, wird <äie UND-Schaltung 232d (Fig. 13) nicht dtasfeg©schaltet* Ia diesem Fall werden über Torschaltung 224© keia© eingegebene» liisweisfoytes auf den Puf ferspeiehereii&gang
weisbytes übersprangen c
366 übergegangen,, Wenn die
nicht beaufschlügt ist', fol^t
3§6 der Seferitt 367, in
wslt@2?g®schaltet wird» ©es
weis lesenw-Trigger nicht eingestellt ist, wird <äie UND-Schaltung 232d (Fig. 13) nicht dtasfeg©schaltet* Ia diesem Fall werden über Torschaltung 224© keia© eingegebene» liisweisfoytes auf den Puf ferspeiehereii&gang
weisbytes übersprangen c
366 übergegangen,, Wenn die
nicht beaufschlügt ist', fol^t
3§6 der Seferitt 367, in
wslt@2?g®schaltet wird» ©es
Docket PO 968 021
Schaltung 221c im vorangegangenen K-Zyklus zurückgestellt und
zählt über die UND-Schaltung 211b alle R-Zyklen für den laufenden
Hinweis.
Nach Schritt 367 folgt über D2 der Schritt 320 (Fig. 19b), um den
nächsten R-Zyklus einzuleiten. Danach wird über B2 zurück zu
Schritt 361 gegangen (Fig. 19D), und Schritt 366 wird so lange
ausgeführt, wie die R-Zahl»RL-Leitung 21OA nicht beaufschlagt ist.
Demnach wird Schritt 367 während jedes Zyklus R so lange ausgeführt, bis in Schritt 366 angezeigt wird, daß das Hinweisende
erreicht ist. In diesem Fall wird während des letzten R-Zyklus ein R-Zahl-RL-Signal auf Leitung 210A gegeben. Das R-Zahl«RL-Signal wird im Vergleicher 21Oe (Fig. 11B) erzeugt, welcher die
R-Zyklus-Zählung aus Zähler 211a erhält und welcher diese mit dem
Hinweislängenwert (RL) im RL-Register 210a vergleicht. Das R-Zahl«
RL-Slgnal auf Leitung 210A wird während des letzten R-Zyklus an
die UND-Schaltung 260 (Flg. 14) (für jeden Hinweis) geliefert.
Dadurch wird Schritt 364 (Fig. 19D) ausgeführt, in welchem der
"P-Zyklus"-Trigger 261 eingestellt wird. Da durch wird ein Auegangssignal auf Leitung 261A an die UND-Schaltung 253e (Fig. 17)
gegeben, welches während des nächsten Taktsteuerungszyklus einen
P-Zyklus einleitet. Das Ausgangssignal der UND-Schaltung 260
stellt außerdem den "nächsten Hinweis lesen"-Trigger 262 zurück,
auch wenn sich dieser schon im zurückgestellten Zustand befindet. Danach folgt Schritt 365, in welchem der P-Zyklus für den nächsten
CK eingeleitet wird.
Wenn in Schritt 361 festgestellt wird, daß der "nächsten Hinweis
lesen"-Trigger eingestellt ist, wird in Schritt 362 der Hinweis in das Hinweisregister 17 übertragen. Wenn in Schritt 363
kein R-Zahl*RL-Signal auf Leitung 210A festgestellt wird, folgt
Schritt 367, in welchem der R-Zähler 211a vorwärtsgeschaltet wird,
ober den Ausgang B2 folgt Schritt 320 (Fig. 19B), in welchem der
nächste R-Zyklus eingeleitet wird. Danach wird über B2 zurück zu
Schritt 361 und zu Schritt 362 gegangen, in welchem das nächste Hinweisbyte in das Register 16 gespeichert wird. Das rückgekoppelte
Durchlaufen der Arbeitsgänge wird so lange fortgesetzt, bis in
Docket PO 968 027 009884/1*89
Schritt 363 das Ende des Hinweises festgestellt wirdo Dann werden
die Schritte 364 und 365 ausgeführt. Ober Ausgang Dl CFig. 19D) folgt Schritt 305 (Fig. 19Ä) , im dem nächsten CK auf gleiche Weise
zu verarbeiten. Dieser Vorgang wiederholt sich so !aage, bis
Schritt 309 ausgeführt wird» Bei Sehritt 310 wird der gespeicherte
Hinweis als der richtige an die Zentraleinheit gegeben» Damit ist
der Suchvorgang für das Suehargwment, das sieh augenblicklich im
Suchargument-Registes? 16 (FIg9 2B) befindet ρ beendete
Suchvorgang In einem abnehmenden Index
Das soeben beschriebene Äös£öti:rafi§gb<§ispi@l jbe^ieht sich auf einen
zunehmenden; verdichteten Indexe der aas ein©!? umnehmenden
UK-Sortierfolge erzeugt wurde» Das beschrieb©»© Eraettgungsverfahren
kann jedoch auch eits©a afoHefenente! e verdichteten Index
erzeugen, wenn die ©ingegebene UK-Folge abnehmend sortiert ist.
Dies ist möglich, da beim Ers@iifiiragsvorg.aag die auftretende Ungleichheit
«!sehen zwei Bytestellen, nicht aber die eigentliche
Sortieirfolge relevant ist«. Else bekannte Sortierfolgenkontrolle
kann, wenn erforflerlieh, eingebaut werden»
Folgende einfache ^änderungen sind Ih erfiaetangsgemäßen Ausftthrungsbeispiel
beim Äbsracfeea eines ataetei©Bd@a ladesc notxiendigs
Die Leitungen 223B und 223C missen n»f©p©lt werde» (Flgna 15 und
16). D.h., die K»Ä-Leituag 223B su den öHD»S<shaltöng©a 276^ 279,
und 245 wird durch die K<1>223d
ersetzt. Die K<Ä-Leitung
285 wird durch" die R>A-1 setzt· Die Bezeichnung an
tungen werden dementspreeixenä abgeänderte Pi© Eqe;
E Pign. 14 «sad 15 ersdtat (E bedeutet ho
L bedeutet niedrig).
wird durch P„ in den Pign. 14 «sad 15 mrmmtst (E bedewtet
Diese Abänderungen kdnnen durch Einbau
schalters (nicht gezeigt) in den ¥ergleicher 223d erhielt werden,
durch welchen die Ausgangsleitnmgen 223B und 223C umgepolt
werden.
Docket PO 968 027 0098 84/1897
Folgende Abänderungen sind im erfindungsgeraäßen Verfahren bei
einem abnehmenden Index notwendig: K>A und K<A umkehren; P11
durch P_ ersetzen; d.h. P„ wird durch P- in den Schritten 316,
318, 319, 337, 342, 352, 353, 354 und 355 ersetzt. Im Schritt 331 wird K<A durch K>A, und im Schritt 351 wird K>A durch K<A
ersetzt.
Wahlweise Verwendung eines Gleichheitszählers
Eine andere Möglichkeit, einen Suchvorgang zu beenden» bietet der S.A.-Gleichheitszähler. Diese Möglichkeit kommt dann in .
Frage, wenn der P.-Wert des laufenden CK's genauso groß oder kleiner als die Stellung des S.A.-Gleichheitszählers ist. Das ist
eine besondere Endbedingung bei einem Suchvorgang, da der richtige CK in einem Index (mit CK*s die nur ein K-Byte haben) einen P.-Wert hat, der größer als die laufende Stellung des Gleichheitszählers ist.
Die Zweckmäßigkeit dieses Gleichheitszählers ist von der Form des Index und von der Stelle des Suchargumentes im Index abhängig. Er ist zweckmäßig, wenn der Index CK's mit P.-Werten
hat, die alle werthohen Bytestellen einnehmen, zumindest den P -Wert des richtigen CK's. Ein sehr dichter Index, und
infolgedessen ein sehr umfangreicher Index, hat diese Eigen" schaft. Ein Index hat nicht unbedingt diese Eigenschaft, es
sei denn, es werden Pseudo-CK's mit den fehlenden P.-Werten und ein K-Byte, das richtig in den sortierten Index passt,
eingefügt.
Die Verwendung eines Gleichheitazählers ist also nicht zweckmäßig,
wenn kein CK einen P -Wert 2 hat. Im allgemeinen wächst die Zweckmäßigkeit des Einsatzes eines Gleichheitszählers, wenn die P.Lücke sich an den wertniedereren Bytestellen, z.B. an der dritten,
vierten, fünften usw. Bytestelle, befindet. Der in der Tabelle B dargestellte Index hat eine Lücke an der zweiten Byteitelle. In
diesem Fall lohnt sich nicht die Verwendung eines Gleichheitezählers.
* ■ ■ ■ ·
0er S.A.-Gleichheitszähler 243« (Fig. 16) i«t Anfang« auf I
Docket PO 968 027 QÖ9884/1007
- 50 -
eingestellt. Er wird über die UND-Schaltung 244 erhöht, wenn
U) ein CK einen P^Wert hat, der ü@r augenblicklich©» Stellung
(GZ) des Gleichheitsszähiers entspricht und wenn (2) bsi diesem
CK K»A ist. Da der Pj-Ifert beliebig b©ä aufeinanderfolgenden CK's
springen kann, und da sich das A-Byte &m der P.-Bfta®teile im
Suchargument befindet, ist. es nicht sieher, dad die vorangegangenen
CK's die (sich erhdlienden) Bedingungen dee «»leicfeheitszählers erfüllen?
wenn der richtige CK g@Jes©a wird. Aber in den besonderen
Fällen, in denen die Gleichheltsssähler-Bedisignangen erfüllt sind,
ist es zweckmäßig und zeitsparend f den Suchvorgang zu beenden,
ehe das Indexende erreicht wurde.
Die Schritte für diese Verfahr©» siai ist ά®η Figsu 19B und 19C
gezeigt. Der Schalter S2 mu0 ungelegt werden* Auf Schritt 319
folgt Schritt 321, in welchem festgestellt wird, ob die Leitung
343B ein P »GZ-Signal aus dem Ifergleicher 243d führt. Schritt
319 wird jedoch nur ausgeführt, wenn vorher in Schritt 314 K-A festgestellt wurde.
Wird in Schritt 321 kein P^-Gü-Sigiial festgestellt, geschieht
nichts und in Schritt 320 wird der nächste Hinweis verarbeitet, welcher mit den nächsten, eingegebenen Bytes beginnt.
Wenn jedoch in Schritt 321 ein P^k'.~Signal festgestellt wird,
wird in Schritt 322 über die OüD-Schaltung 244 der Gleichheitszähler
um 1 erhöht. Der Gleichheitszähler kann während dieses .CK's den Suchvorgang nicht beenden, vielleicht aber im nächsten, falls die
geeigneten Bedingungen erfüllt werden.
In Schritt 336 (Fig. 19C) sind die geeigneten Bedingungen für
den Gleichheitsasähier dargestellt. Schritt 336 wird ausgeführt,
wenn im Schritt 331 ein K>A~Signal für den laufenden CK
festgestellt wurde. In Schritt 336 wird der Swltirorfastg beendet,
wenn Leitung 243A eist F.£GS*Slgi%a3. fltat. über €i folgt
Schritt 30t (Fig. 19A), in. weiche» ö@k ^uetamsrgang toeeadet"1»
Trigger eingestellt wird. Da« ^«fungiesigst»! &m oro-sctoltwig-
Docket PO 9C8 037
- 51 -(Fig. 16) führt die Schritte 331, 336 und 309 aus.
Wenn der Wert P^ größer als die laufende Stellung des
Gleichheitszählers ist, folgt nach Schritt 336 der Schritt 337,
um die Bedingungen herzustellen, welche zur Fortsetzung des
Suchvorganges ohne Gleichheitszähler notwendig sind.
Ein Suchvorgangsbeispiel wird anhand der Tabelle D, der Regeln
der Matrixtabelle und anhand der Tabelle E erklärt. Bei diesem Beispiel wird vorausgesetzt, daß in dem Suchvorgang das Suchargument gefunden wird· und daß es dem 26. UK in der Tabelle D
(UK-26) entspricht. Jeder CK im Index hat die Bezugsnummer des
entsprechenden UK's. Jeder CK hat den Wert P in der Spalte P
und ein einziges K-Byte aus dem entsprechenden UK.
Zu Beginn befindet sich das System la Zustand Sl, da zu Beginn
eines Suchvorganges kein P- oder P -Wert vorhanden sein kann. Daher werden P_ und P_ zu Beginn zurückgestellt.
JE η
Der Suchvorgang beginnt bei CK-O, und es wird festgestellt, daß
das erste K-Byte und das äußerste linke S.A.-Byte gleich sind, da P«l für den ersten CK ist.
PE wird auf 1 eingestellt, und deshalb wird der Hinweis R-O
im Hinweisregister 17 (Fig. 2B) gespeichert. P_ bleibt zurückgestellt, und Zustand S2 folgt als Ausgabezustand. Bei
Verwendung eines S.A.-Gleichheitszählers wird dieser von seinem zurückgestellten Wert 1 auf 2 erhöht.
Dann wird CK-I im Eingangszustand 2 gelesen. Es ist P »5 und hat
keine Beziehung zum fünften Byte des Suchargumentes (d.h. UK-26) , da N-Bytes in dieser Spalte dazwischenliegen (d.h. in
UK-9 bis UK-I4). Deshalb kann K. niedriger, gleich oder höher
als das fünfte S.A.-Byte sein. Wenn K niedriger ist, wird
Zustand Sl ausgegeben und UK-I kann, nicht richtig sein. Wenn K.
Docket PO 968 027 009884/1897
gleich ist, folgt Ausgangszustand 2; in diesem Fall kann UK-I .
richtig sein; daher wird P_ eingestellt und R-I wird im Hinweisregister 17 gespeichert und überlagert dabei R-O, welcher
nicht nehr der richtige Hinweis ist. Wenn K. höher ist, folgt Ausgangszustand 4, P wird auf 5 eingestellt und P£ bleibt zurückgestellt.
Danach wird CK-2 gelesen. Der Eingangszustand kann Sl, S2 oder S4 sein. Bei Eingangszustand Sl oder S2 hängt der Ausgangszustand
davon'ab, ob K niedriger, gleich oder höher als A ist. Es ist
P.*7. Jedes Feld der Matrixtabelle ist in diesem Fall anwendbar.
Keines kann den Suchvorgang beenden. Höchstens wird der Hinweis R-2 gespeichert· Der Ausgangszustand kann entweder Sl, S2, S3
oder S4 sein.
Gleichermaßen werden für CK-3 bis CK-8 bestenfalls ihre entsprechenden Hinwelse gespeichert, und der Ausgangszustand kann
entweder Sl, S2, S3 oder S4 sein.
CK-9 hat P«3· Es »iB ein K<A-Signal entstehen, da nur B-Bytes
dazwischenliegen. Aueerdem muß ein P4<P -Signal entstehen,
ausgenommen wenn Pn zurückgestellt ist. Es folgt Ausgangszustand
ε n ■
Ein früherer P -Wert oder eine frühere P -Anzeige ist nicht
η js
■ehr signifikant. Kein im Register 17 gespeicherter Hinweis
ist richtig.
CK-IO bis CK-13 werden wie CK-9 gehandhabt, und jeder dieser
CK's hat Sl als Ausgangszustand.
Bei CK-14 ist K-A, der Hinwels R-14 wird gespeichert und es wird
P gesetzt. CK-15 hat P«7, und sein K-Byte steht in keiner
Beziehung zum siebten A-Byte, da N-Bytee in der gleichen Spalte
für die UK*s 16, 18, 19 und 2O dazwischen liegen. Deshalb kann
das K-Byte niedriger, gleich oder höher als das siebte A-Byte
sein. Der Ausgangszustand kann daher Sl, S2, S3 oder S4 sein.
Docket PO 968 027 009884/189 7
- 53 -Bestenfalls wird R-I5 gespeichert, wenn P_ für Zustand S2 einge-
Ei
stellt ist, oder Pn kann für Zustand S4 auf sieben gesetzt werden.
Danach wird CK-I6 gelesen. Hier ist P=5; K ist dem fünften
A-Byte gleich, da nur B-Bytes dazwischenliegen. Daraus folgt
Ausgangszustand S2. Der Hinweis R-15 wird gespeichert. '-P_ wird
gesetzt und jeder frühere P -Wert wird zurückgestellt,
CK-I7 hat P.=9, und K. kann niedriger, gleich oder höher als das
Α-Byte sein. Der Ausgangszustand ist Sl, S2 oder S4. Bestenfalls wird der Hinweis R-17 gespeichert.
CK-18 bis CK-19 haben P »6 und K<A. Aus beiden CK's folgt Zustand Sl und P und P„ werden zurückgesetzt. CK-20 hat K«A.
E H
Daher wird R-20 gespeichert und P wird gesetzt.
CK-21 hat P=IO, und sein K-Byte kann niedriger, gleich oder
höher sein, und ist nicht von dem N-Byte im UK-26 (d.h. die
zehnte Stelle des Suchargumentes) abhängig. Daher ist der
Ausgangszustand entweder Sl, S2 oder S4. Der Hinweis für CK-21 kann ebenfalls gespeichert werden.
Bei CK-22 bis CK-25 besteht kein Zusammenhang zwischen K. und
A. K. kann niedriger, gleich oder höher sein, da das A-Byte das |
N-Byte im UK-26 darstellt (d.h. das Suchargument). Der Ausgangszustand kann Sl, S2, S3 oder S4 sein. Bestenfalls werden die
Hinweise R-22 bis R-25 gespeichert.
Wenn CK-26 gelesen wird, ist K »A. wenn ein P -Wert alt einem
der CK's (CK-21 bis CK-25) gespeichert wurde, ist P,<P„. Da
P zurückgestellt ist, wird P auf sieben gesetzt, und der
Hinweis R-26 wird im Register 17 gespeichert, wobei jeder zuvor gespeicherte Hinweis überlagert und damit gelöscht wird. Ob
R-26 der richtige Hinweis ist, ist zu diesem Zeitpunkt noch nicht bekannt. Deshalb wird automatisch der nächste CK-27 gelesen. «
Docket PO 968 027 "0098.84/1807
signifikant, und P wird als Pg«5 gespeichert. Es folgt Ausgangszustand S4.
Bei CK-28 und CK-29 ist K,>A und P±"PH· ßaher trifft di© untere
Hälfte des Feldes (S4+S4) su„ Der alte P -Wert und der alte
JS
Der linksverschobene CK-30 hat P »3; es ist K.>A und ^1<^η· Daher
trifft die obere Hälfte des Feldes (S4*S4) zu. Der alte Pn-Wert bleibt signifikant, uj
Zustand 4 bleibt bestehen.
X X £ H
Die untere Hälfte des Feldes (S4+S4) trifft zu, und der alte
P_-Wert und der alte P -Wert (»3) bleiben signifikant» Zustand
S4 bleibt bestehen. Der linksverschobene CK-32 hat P1"! und K.
λ. Damit wird der Suchvorgang gemäß Schritt 332 (Fig, 19C) beendet, und der zuletzt gelesen· Hinwels R-26 wird an die Zentraleinheit als der richtige Hinweis weitergegeben.
Wenn jedoch angeneanen wird, daß P =»2 (nicht in der Tabelle D)
für CK-32 ist, dann hat CK-32 ebenfalls K.>A und P.<Pnr über
P.ffl, so dafl der Suchvorgang noch nicht beendet ist. Die obere
Hälfte des Feldes (S4+S4) trifft zu. Es ist P=7 und PE"2. Zust
S4 bleibt bestehen.
Bei CK-33 bis CK-37 ist P1-IO, 11 und 5. Daher ist ν±>*Ε' da P H"2·
Der Vergleich zwischen K und A wird nicht berücksichtigt, wenn
P.>P_ ist. Bs trifft die untere Hälfte von Feld (84*84) zu, und
χ η
der alte P -Wert und Pn bleiben bestehen· Zustand S4 bleibt
So
bestehen bis die Sndexende-Aiiz®ige P»O erreicht ist. R-26
1st der im Hlnwfisregister 17 gespeicherte, richtige Hinweis«.
■- 55 -
Wenn bei CK-32 P±-2 ist, ict bei Verwendung eines Gleichheitszählers zu diese« Seitpunkt der Suchvorgang beendet, da
dieser Zähler zu diese« Zeitpunkt auf 2 vorwärtsgeschaltet
wird und P. und die Stellung des Gleichheitszahlers dadurch
gleich sind. Deshalb wird der richtige Hinweis R-26 in
Register 17 gespeichert.
Docket PO 968 027 009884/1897
Claims (13)
- PATENTANSPRÜCHE Verfahren zum maschinellen Wiederauffinden gespeicherteres*Informationen in Verbindung mit einem Verfahren zur maschinellen Erzeugung einer Folge verdichteter Schlüssel (verdichteter Index) aus einer Folge sortierter, verschiedenen Informationsgegenständen zugeordneter, unverdichteter Schlüssel (unverdichteter Index), dadurch gekennzeichnet, daß zur Erzeugung verdichteter Schlüssel jeder unverdichtete Schlüssel mit dem in der Folge jeweils voranstehenden Schlüssel byteweise verglichen und die höchste ungleiche Byteposition ermittelt wird, daß lediglich das Schlüsselbyte aus der höchsten ungleichen Byteposition eines jeden unverdichteten Schlüssels gespeichert wird und daß dieses Schlüsselbyte in die verdichtete Folge eingefügt wird und alleine den verdichteten Schlüssel bildet.
- 2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß für das ermittelte Schlüsselbyte eine Stellenanzeige in bezug auf den zugehörigen unverdichteten Schlüssel erzeugt wird und daß diese Stellenanzeige mit dem Schlüsselbyte gespeichert wird, wobei jeder verdichtete Schlüssel eine feste Länge aufweist.
- 3. Verfahren nach Anspruch 1 und Anspruch 2, dadurch gekennzeichnet, daß jeder unverdichtete Schlüssel einen Hinweis auf die Adresse des Speicherplatzes der zugeordneten Information enthält und daß dieser Hinweis dem entsprechenden verdichteten Schlüssel hinzugefügt wird.
- 4. Verfahren zum Suchen eines Schlüssels nach einem Suchargumentin einem nach den Ansprüchen 1 bis 3 verdichteten Index, bei dem jeder verdichtete Schlüssel aus einem einzelnen Schlüsselbyte und einer Stellenanzeige in bezug auf den zugehörigen unverdichteten Schlüssel besteht, dadurch gekennzeichnet, daß die Stellenanzeige jedes verdichteten Schlüssels der Folge gelesen wird, daß ein Suchargumentbyte mit dieser StellenanzeigeDocket PO 968 027 009884/1897aufgerufen wird, daß dieses Sucharguinentbyte mit dem Schlüsselbyte des verdichteten Schlüssels verglichen wird und daß bei Gleichheit ein Signal erzeugt und der entsprechende Schlüssel gespeichert wird.
- 5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, daß ein Signal erzeugt wird, wenn beim Vergleich des Suchargumentbytes mit einem Schlüsselbyte ein bestimmter Zusammenhang angezeigt wird, und daß bei Auftreten dieses Signals ein Kennzeichen für den entsprechenden verdichteten Schlüssel gespeichert wird.
- 6. Verfahren nach Anspruch 5, dadurch gekennzeichnet, daß die Stellenanzeige des verdichteten Schlüssels, für den das Kennzeichen gespeichert wird, registriert wird.
- 7. Verfahren nach Anspruch 5, dadurch gekennzeichnet, daft der Hinweis eines letzten verdichteten Schlüsseis gespeichert wird, bei dem das erzeugte Signal die Gleichheit des Suchargumentbytes mit dem Schlüsselbyte angibt.
- 8. Verfahren nach Anspruch 5, dadurch gekennzeichnet, daß bei Auftreten des Signais ein Kennzeichen für die Bewertung gespeichert wird, das bei der weiteren Suche nach dem vor- | liegenden Suchargument ausgewertet wird.
- 9. Verfahren nach Anspruch 5, dadurch gekennzeichnet, daß in Abhängigkeit davon, ob das Schlüsselbyte des verdichteten Schlüssels höher oder niedriger als das SucharguMntbyte ist, als Kennzeichen in entsprechender Heise ein hohes oder niedriges Signal erzeugt wird, und daß die Stellenanzeige des entsprechenden verdichteten Schlüssels gespeichert wird.
- 10. Verfahren nach Anspruch 8, dadurch gekennzeichnet, daß bei Auftreten des Gleichheitssignals ein zweit·· Kennzeichen für die Bewertung gelöscht wird. ,Docket PO 968 027 009884/1897
- 11. Verfahren nach Anspruch 5, dadurch gekesm&©ichn@t, daß Kennseichen für die Gleichheit und für die Ungleichheit zur Bewertung eines oder mehrerer aufeinanderfolgender verdichteter Schlüssel gespeichert und kontrolliert werden.
- 12. Verfahren nach Anspruch 11, dadurch gekennzeichnet; das beim Vergleich ein hohes oder ein niedriges Signal erzeugt wird, abhängig davon, ob das Schlüsselbyte höher oder niedriger als das Suchargunentbyte ist, und daß ein oder beide Bewertungskennzeichen von diesem Signal beeinflusst werden.
- 13. Verfahren nach den Ansprüchen 4 bis 12, dadurch gekennzeichnet, daß das Suchverfahren auf zunehmende wie auf abnehmende Schlüsselfolgen anwendbar gemacht wird«Dock.t PO SO 027 009884/1897Leerseite
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US83752669A | 1969-06-30 | 1969-06-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
DE2027464A1 true DE2027464A1 (de) | 1971-01-21 |
Family
ID=25274716
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19702027464 Withdrawn DE2027464A1 (de) | 1969-06-30 | 1970-06-04 | Verfahren zum W lederauffinden ge speicherter Informationen |
Country Status (5)
Country | Link |
---|---|
US (1) | US3602895A (de) |
JP (1) | JPS5033628B1 (de) |
DE (1) | DE2027464A1 (de) |
FR (1) | FR2052416A5 (de) |
GB (1) | GB1259068A (de) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3984817A (en) * | 1973-11-08 | 1976-10-05 | Honeywell Information Systems, Inc. | Data processing system having improved program allocation and search technique |
JPS59146302A (ja) * | 1983-02-10 | 1984-08-22 | Nissan Motor Co Ltd | デジタル制御装置 |
US4606002A (en) * | 1983-05-02 | 1986-08-12 | Wang Laboratories, Inc. | B-tree structured data base using sparse array bit maps to store inverted lists |
US4633393A (en) * | 1983-10-21 | 1986-12-30 | Storage Technology Partners Ii | Generic key for indexing and searching user data in a digital information storage and retrieval device |
US5274805A (en) * | 1990-01-19 | 1993-12-28 | Amalgamated Software Of North America, Inc. | Method of sorting and compressing data |
US5270712A (en) * | 1992-04-02 | 1993-12-14 | International Business Machines Corporation | Sort order preserving method for data storage compression |
US5832499A (en) * | 1996-07-10 | 1998-11-03 | Survivors Of The Shoah Visual History Foundation | Digital library system |
US6208713B1 (en) * | 1996-12-05 | 2001-03-27 | Nortel Networks Limited | Method and apparatus for locating a desired record in a plurality of records in an input recognizing telephone directory |
US6247108B1 (en) * | 1998-06-03 | 2001-06-12 | Lucent Technologies Inc. | Memory management during processing of binary decision diagrams in a computer system |
US6353831B1 (en) | 1998-11-02 | 2002-03-05 | Survivors Of The Shoah Visual History Foundation | Digital library system |
US6496830B1 (en) * | 1999-06-11 | 2002-12-17 | Oracle Corp. | Implementing descending indexes with a descend function |
US6965894B2 (en) * | 2002-03-22 | 2005-11-15 | International Business Machines Corporation | Efficient implementation of an index structure for multi-column bi-directional searches |
US20060212449A1 (en) * | 2005-03-21 | 2006-09-21 | Novy Alon R J | Method and apparatus for generating relevance-sensitive collation keys |
-
1969
- 1969-06-30 US US837526A patent/US3602895A/en not_active Expired - Lifetime
-
1970
- 1970-05-22 FR FR7018633A patent/FR2052416A5/fr not_active Expired
- 1970-06-04 DE DE19702027464 patent/DE2027464A1/de not_active Withdrawn
- 1970-06-15 GB GB1259068D patent/GB1259068A/en not_active Expired
- 1970-06-29 JP JP45056069A patent/JPS5033628B1/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
FR2052416A5 (de) | 1971-04-09 |
JPS5033628B1 (de) | 1975-11-01 |
US3602895A (en) | 1971-08-31 |
GB1259068A (de) | 1972-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2027464A1 (de) | Verfahren zum W lederauffinden ge speicherter Informationen | |
DE2846495C2 (de) | Zentraleinheit | |
DE2712575C2 (de) | Assoziatives Speichersystem in hochintegrierter Halbleitertechnik | |
DE2417795C2 (de) | Datenverarbeitungsanlage | |
DE2023354A1 (de) | Programmierbare Einheit und Verfahren zum Betreiben einer programmierbaren Einheit | |
DE2346525A1 (de) | Virtuelle speichereinrichtung | |
DE2930441C2 (de) | Anzeigeeinrichtung zur wahlweisen dynamischen oder statischen Anzeige | |
DE2227975A1 (de) | Vorrichtung und verfahren zum verschluesseln von binaersignalen | |
DE2054947A1 (de) | Adressenvorbereitungseinnchtung und verfahren und Speicherzugnffan forderungseinnchtung fur ein Infor mationsver arbeitungssystem | |
DE2000340A1 (de) | Verfahren und Vorrichtung zum Suchen verdichteter gespeicherter Informationen | |
DE1197650B (de) | Parallel-Addierer | |
DE2054830A1 (de) | Informationsverarbeitungssystem mit wortstrukturiertem Speicher und Verfahren fur einen Zugriff zu einem derar tigen Speicher | |
DE2926322A1 (de) | Speicher-subsystem | |
DE1213144B (de) | Anordnung zur Verarbeitung von Daten | |
DE2458286A1 (de) | Datenverarbeitungssystem zum verschieben von datenfeldern mit verschiedenen strukturen | |
DE1964570A1 (de) | Verfahren zum Wiederauffinden gespeicherter Informationen | |
DE1171650B (de) | Maschine zur serienmaessigen Verarbeitung von Daten in binaerer Zeichenverschluesselung | |
DE3518818A1 (de) | Datenverarbeitungsvorrichtung und verfahren und vorrichtung zur umsetzung von datenelementen | |
DE2446646C3 (de) | Schaltung zur Eingabe eines eine eingetastete Taste des Tastenfeldes charakterisierenden Eintastsignals in einen elektronischen Rechner | |
DE2458331A1 (de) | Datenverarbeitungssystem zur adressierung eines in einem sekundaerspeicher abgelegten datensatzes | |
DE2245284A1 (de) | Datenverarbeitungsanlage | |
DE2952163C2 (de) | Datenverarbeitungsanlage mit einem ersten und einem zweiten Prozessor | |
DE1212748B (de) | Datenverarbeitende Maschine mit Programmunterbrechung | |
DE1965507A1 (de) | Verfahren zum Wiederauffinden gespeicherter Informationen | |
DE2525394C3 (de) | Verfahren und Schaltungsanordnung zum Übertragen, Einspeichern und Ausspeichern von binärcodierten Datenblöcken |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8130 | Withdrawal | ||
8178 | Suspension cancelled |