DE2217500A1 - Verfahren und Einrichtung zum Suchen von Schlüsselwörtern in einer elektronischen Datenverarbeitungsanlage - Google Patents

Verfahren und Einrichtung zum Suchen von Schlüsselwörtern in einer elektronischen Datenverarbeitungsanlage

Info

Publication number
DE2217500A1
DE2217500A1 DE19722217500 DE2217500A DE2217500A1 DE 2217500 A1 DE2217500 A1 DE 2217500A1 DE 19722217500 DE19722217500 DE 19722217500 DE 2217500 A DE2217500 A DE 2217500A DE 2217500 A1 DE2217500 A1 DE 2217500A1
Authority
DE
Germany
Prior art keywords
address
address list
register
bit
successor
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.)
Ceased
Application number
DE19722217500
Other languages
English (en)
Inventor
Luther Jay Poughkeepsie N.Y. Woodrum (V.St.A.)
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE2217500A1 publication Critical patent/DE2217500A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9027Trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

  • Verfahren und Einrichtung zum Suchen von Schlüsselwörtern in einer elektronischen Datenverarbeitungsanlage Die Erfindung betrifft ein Verfahren und eine Einrichtung zum Suchen von Schlüsselwörtern in einer elektronischen Datenverarbeitungsanlage, die einen Adressenspeicher enthält zur Aufnahme der Schlüsselwörter zusammen mit einer Adressenliste, deren Einträge eine Baumstruktur bilden, die ferner einen oder mehrere Datenspeicher enthält zur Aufnahme von Daten, deren Adressen in den Schlüsselwörtern enthalten sind, und die einen Suchwortspeicher aufweist zur Aufnahme eines Suchargumentes, dessen Elemente den Einträgen der Adressenliste zugeordnet sind und einen Suchpfad durch die Baumstruktur festlegen, in dessen Endzweigen sich die Schlüsselwörter befinden.
  • Es ist bekannt, zum Auffinden von Daten in den Speichern einer Datenverarbeitungsanlage Schlüsselwörter zu verwenden, die nacheinander mit einem Suchargument verglichen werden. Die Schlüsselwörter sind in einem Speicher der Datenverarbeitungsanlage in einer sortierten Folge gespeichert. Es wird ein Suchschema angewandt, das in Form binärer Verzweigungen verläuft und auch binäres Suchen genannt wird (H. Wedekind, "Datenorganisation" Berlin 1970, Seiten 56 und 57). Die Suchoperation wird durch einen Vergleich des Suchargumentes mit einem Schlüsselwort begonnen, das etwa in der Mitte der Schlüsselwortfolge liegt. Das Vergleichsergebnis gibt Auskunft, ob das gesuchte Schlüsselwort kleiner oder größer als das Suchargument ist. In Abhängigkeit dann wird als nächstes das Schlüsselwort in der Mitte der linken oder der rechten Hälfte der sortierten Schlüsselwortfolge einem Vergleich mit dem Suchargument unterzogen. Dieser Vorgang wird solange wiederholt, bis das gesuchte Schlüsselwort gefunden ist. Das Schlüsselwort bezeichnet die gesuchten Daten, die entweder dem Schlüsselwort benachbart oder an anderer Stelle auf einer im Schlüsselwort enthaltenen Adresse gespeichert sind. Dieses Verfahren erfordert eine sortierte Schlüsselwortfolge, die das nachträgliche Andern des Schlüsselwortbestandes erschwert. Sollen z.B. dem Schlüsselwortbestand weitere Schlüsselworte hinzugefügt werden, ist ein zeitaufwendiger neuer Sortiervorgang durchzuführen.
  • Zum zeitsparenden Suchen von Schlüsselwörtern, die in unsortierter Folge im Speicher einer Datenverarbeitungsanlage gespeichert sind, ist es bekannt, eine Adressenliste zu benutzen, die den Charakter eines Adreßbuches (Directory) hat. Die Einträge der Adressenliste sind über Hinweis adressen miteinander zu einer Baumstruktur verbunden, die aus mehreren Verzweigungsstufen besteht, von denen jede mehrere Einträge aufweist. (Z.B Seiten 183 - 186 des obengenannten Buches). Das Suchargument besteht aus mehreren Bytes, deren Anzahl von der Größe des Schlüsselwortbestandes abhängt. Jeder Eintrag der Adressenliste ist einem dieser Bytes zugeordnet. Diejenigen Einträge, die den Enden der Bauzzweige zugeordnet sind, bilden jeweils die Schlüsselwörter. Das Suchargument legt einen Suchweg fest durch die Adressenliste bis zum gesuchten Schlüsselwort. Die Suchoperation durch die Adressenliste erfolgt stufenweise, wobei jede Stufe einem Verzweigungsniveau der Baumstruktur entspricht. Zunächst werden alle über Hinweisadressen verkettete Schlüsselwörter der ersten Stufe durchsucht, bis der dem ersten Teil des Schlüsselwortes entsprechende Eintrag gefunden ist. Dieser Eintrag enthält neben der Verkettungs-Hinweisadresse eine Hinweisadresse auf einen Eintrag der zweiten Stufe. Auf dieser Stufe wird die Suchoperation nach einem Eintrag fortgesetzt, welcher dem zweiten Byte des Suchargumentes entspricht. Hierbei werden jeweils die Namensfelder der Eintragungen der betreffenden Stufe mit dem jeweiligen Byte des Suchargumentes verglichen. In dieser Weise wird von Stufe zu Stufe die Baumstruktur durchlaufen, bis das gesuchte Schlüsselelement gefunden ist. Bei diesem Verfahren ist es nachteilig, daß im Falle eines großen Schlüsselwortbestandes verhältnismäßig lange Suchargumente benötigt werden.
  • Außerdem sind in den meisten Stufen der Baumstruktur mehrere Einträge der Adressenliste für eine Vergleichsoperation aufzurufen, wodurch der Zeitbedarf erhöht wird.
  • Aufgabe der Erfindung ist es, ein Verfahren der letztgenannten Art anzugeben, das unter Vermeidung dieser Nachteile ein schnelleres und weniger Zugriffe erforderndes Durchsuchen einer Adressenliste zur Ermittlung eines bestimmten Schlüsselwortes ermöglicht. Gemäß der Erfindung wird dies dadurch erreicht, daß jedem auf dem Suchpfad liegenden Eintrag einer als binäre Baumstruktur organisierten Adressenliste eine Bitstelle im Suchargument zugeordnet ist, deren Inhalt bei Erreichen des betreffenden Eintrages abgefragt wird und die Auswahl einer von zwei Ausgangsverbindungen steuert, daß aus dem Eintrag der Adressenliste eine der ausgewählten Ausgangsverbindung entsprechende Hinweisadresse zum Nachfolger-Eintrag in der Baumstruktur abgeleitet wird, daß vor dem Übergang zum Nachfolger-Eintrag ein in jedem Eintrag der Adressenliste enthaltenes Kennzeichen abgetastet wird und daß der Nachfolger-Eintrag aufgesucht wird, wenn das Kennzeichen kein Ende der Suchoperation anzeigt.
  • Es ist auch Aufgabe der Erfindung, eine vorteilhafte Einrichtung zur Ausführung des obengenannten Verfahrens anzugeben. Gemäß der Erfindung besteht eine solche Einrichtung darin, daß ein Speicher zur Aufnahme einer als binäre Baumstruktur organisierten Adressenliste vorgesehen ist, der für eine selektive selektive Entnahme von durch ein Zeilenadreßregister bezeichneten Adressenlistenzeilen sowie von Einzeldaten eingerichtet ist, daß an den Speicher ein Zeilenregister angeschlossen ist, das ein Verbindungsfeld, ein Kennzeichnungsfeld und ein Suchargument-Indexierungsfeld enthält, von denen der Inhalt des letzteren Feldes zur Adressierung eines Bits in einem über ein Adressenregister voradressierten Suchargument im Speicher dient, daß ein Suchargument-Bitregister zur Aufnahme dieser Bits vorgesehen ist und daß eine Steuerschaltung vorgesehen ist, durch die in Abhängigkeit von einem vorbestimmten Inhalt des Suchargument-Bitregisters der Inhalt des Verbindungsfeldes allein oder zusammen mit einem Zeilenadressen-Inkrementwert zum Inhalt des Zeilenadreßregisters addiert wird, um die Adresse der nächsten Adressenlistenzeile zu erhalten.
  • Nachfolgend sich mehrere vorteilhafte Ausführungsbeispiele des erfindungsgemäßen Verfahrens und ein vorteilhaftes Ausführungsbeispiel einer Einrichtung zur Ausführung des erfindungsgemäßen Verfahrens anhand von Zeichnungen beschrieben.
  • Es zeigen; Fig. 1 ein Beispiel einer Adressenliste in Form einer binären Baumstruktur, Fig. 2A ein Beispiel einer Anzahl Adressenlisteneinträge, die zu einer binären Baumstruktur miteinander verbunden sind, Fig. 2B das Datenformat der Einträge von Fig. 2A, Fig. 3 eine Datenverarbeitungsanlage, die zur Ausführung der als Ausführungsbeispiel beschriebenen Verfahren geeignet ist, Fig. 4A ein Ablaufdiagramm zur Erläuterung der Verfahrensschritte eines ersten Ausführungsbeispiels, Fign. 4B und 4C eine Speicher- und Registerorganisation, wie sie zur Ausführung des Verfahrens gemäß Fig. 4A benutzt wird, Fig. 5A ein Ablaufdiagramm für die Arbeitsschritte eines weiteren Ausfihrungsbeispiels des erfindungsgemäßen Verfahrens, Fig. 5B eine Abwandlung des Verfahrens von Fig. 5A, Fig. 6 eine. Speicher- und Registerorganisation, wie sie in Verbindung mit dem Verfahren von Fig. 5A verwendet wird, Fig. 7 ein Ausführungsbeispiel einer Einrichtung zur Ausführung des Verfahrens von Fig. 4A, Fig. 8 eine Taktgeberschaltung, wie sie in der Einrichtung von Fig. 7 verwendbar ist, Fig. 9 eine Schaltung zur Erzeugung von Torsteuersignalen in der Einrichtung von Fig. 7 und Fig. 10 eine Folgesteuerschaltung für die Taktgeberschaltung von Fig. 8.
  • Fig. 1 zeigt eine Baumstruktur, die aus einer Anzahl Schlüsselelementen KO bis K32 und einer Anzahl von Scheitelelementen D1 bis D33 besteht. Die Schlüsselelemente befinden sich jeweils an den Enden der Baumzweige, während die Scheitelelemente den Verzweigungen des Baumes zugeordnet sind. Das oberste Scheitelelement D25 der Baumstruktur wird Quellenscheitel genannt. Alle anderen Scheitelelemente sind innere Scheitel der Baumstruktur.
  • Jedes der Scheitelelemente wird durch ein Datenwort dargestellt, dessen Format aus Fig. 2B ersichtlich ist. Es weist ein rechtes Feld 11 auf, welches Daten enthält, die die Verbindung eines Scheitelelementes zu den innerhalb der Baumstruktur nachfolgenden Elementen oder zu den vorausgehenden und nachfolgenden Elementen darstellt. Ein mit FLG bezeichnetes Feld 12 dient als Kennzeichnungsfeld, welches angibt, ob die beiden Nachfolgerelemente des betreffenden Scheitelelementes wiederum Scheitelelemente sind o - ~ ob es sich um Schlüsselelemente handelt. Das linke Feld 13, das in Fig. 2B mit D-Index bezeichnet ist, dient als Xennfeld zur Steuerung einer Suchoperation durch die Baumstruktur nach einem bestimmten Schlüsselelement. Die Funktionen des D-Index-Feldes werden im einzelnen in späteren Abschnitten der Beschreibung erläutert. Zunächst soll die Funktion des äußersten rechten Feldes im Datenwortformat von Fig. 2B unter Bezugnahme auf Fig. 2A beschrieben werden.
  • Die Fig. 2A ist eine andere Darstellung einer Baumstruktur, worin die einzelnen Scheitelelemente durch entsprechende Datenwort-Speicherplätze einer Datenverarbeitungsanlage und die Schlüsselelemente durch weitere Datenwort-Speicherplätze angegeben sind, wobei die letzteren beispielsweise die Adressen enthalten zu Datenaufzeichnungen, die in externen Speichern der Datenverarbeitungsanlage gespeichert sind. Die Scheitelelemente besitzen ein Format, das dem in Fig. 2B dargestellten entspricht. Bei der Baumstruktur von Fig. 2A handelt es sich um einen binären Raum, dessen Quellenscheitel a ist. Die Nachfolger von a sind die inneren Scheitelelemente b und bsl. Die Verbindung zu diesen Nachfolgern wird über das Verbindungsfeld 11 hergestellt, das die Adresse des Scheitelelementes b enthält. Die Adresse des Scheitelelementes kil wird durch Addition von 1 zum Wert b erzeugt. Der Wert 1 ist hierbei eine Adreßkonstante; anstelle des Wertes 1 kann auch ein beliebiger anderer konstanter Wert verwendet werden, z.B. die Wortlänge der Scheitelelemente. In der gleichen Weise wird die Adresse des rechten Nachfolgers eines jeden Scheitelelementes durch Addition von 1 zum Adreßwert des linken Nachfolgers ermittelt, wie dies beispielsweise für die Nachfolger c und cal des Scheitelelementes b in der Baumstruktur von 2A ersichtlich ist. Das gleiche geschieht für die Schlüsselelemente, die den linken und rechten Nachfolger eines #cheitelelementes darstellen, wie beispielsweise f und ffl.
  • Der Inhalt der Verbindungsfelder 11 aller inneren Scheitel, wie z.B. b, c, c+l usw. ist so gewählt, daß sie eine sogenannte umkehrbare Verbindung enthalten. Hierunter wird ein Adressenwert des betreffenden Elementes verstanden, der sich durch Anwendung einer Rechenvorschrift aus dem Vorgänger dieses Elementes und dem Nachfolger dieses Elementes innerhalb der Baumstruktur ergibt.
  • Die Rechenvorschrift ist so gewählt, daß sie eine Umkehrung gestattet. Als Rechenvorschrift kommt z.B. die Addition in Frage, deren Umkehrung die Subtraktion ist. Weitere Beispiele sind Multiplikation und Division, mathematische Ringe oder Gruppen, oder die logische Operation Exklusiv-Oder. Die letztere Operation besitzt als Umkehrung die gleiche Rechenvorschrift Exklusix-Oder.
  • Im dargestellten Beispiel wird die Exklusiv-Oder-Operation als umkehrbare Verbindung benutzt, da sie in der Datenverarbeitungsanlage mit einfachen Schaltmitteln und sehr schnell ausführbar ist.
  • Die umkehrbare Verbindung im Feld 11 des Scheitelelementes b ergibt sich somit aus a Y c, worin a die Adresse des Quellenscheitelelementes ist, das der Vorgänger von b ist, und worin c die Adresse des (linken) Nachfolgers von b ist. Ebenso ergibt sich der Inhalt des Verbindungsfeldes des Scheitelelementes c+l aus b V e, worin b der Vorgänger von csl und e dessen Nachfolger ist, der ein Schlüsselelement darstellt mit dem Inhalt "ADR2".
  • Die umkehrbaren Verbindungen in den Verbindungsfeldern de Elemente der Baumstruktur von Fig. 2A gestatten ein Durchsuchen der Baumstruktur in beiden Richtungen, sofern zwei aufeinanderfolgende Startelemente bekannt sind. Wenn die Baumstruktur von oben nach unten durchsucht werden soll, genügt es, daß das Quellenscheitelelement a bekannt ist, da dieses die direkte Adresse seines linken Nachfolgers b enthält. Damit sind zwei aufeinanderfolgende Scheitelelemente bekannt, so daß nach der Rechenvorschrift, der die Daten in den Verbindungsfeldern 11 genügen, die anschließenden Elemente bestimmt werden können. Z.B. kann die Adresse des internen Scheitelelementes c, das der linke Nachfolger von b ist, durch die Verknüpfungsoperation c = (a V c) V a bestimmt werden. Ebenso kann die Adresse des linken Nachfolgers von c bestimmt werden durch f = b V (b V f). Auf diese Weise kann jeder Pfad innerhalb der Baumstruktur vom Quellenscheitel bis zu einem der Schlüsselelemente durchlaufen werden, indem jeweils die Adresse des Nachfolgers durch Anwendung der Exklusiv-Oder-Rechenvorschrift abgeleitet wird.
  • Ebenso kann jeder Pfad in umgekehrter Richtung, also von einem der Schlüsselelemente zurück zum Quellenscheitelelement in der gleichen Weise gefunden werden, sofern die Adresse des betreffenden Schlüsselelementes und die von dessen Vorgänger bekannt sind.
  • Z.B. können bei Vorliegen der Adressen von f und c die Adressen von b und a abgeleitet werden durch b = f V (b v f) und a = c V (a V c). Die Möglichkeit, die Baumstruktur wahlweise in Vorwärts-oder in Rückwärtsrichtung durchsuchen zu können, erhöht ihre Anwendbarkeit.
  • Abweichend von der oben erläuterten Ausführungsform kann der Inhalt der Verbindungsfelder 11 in den internen Scheitelelementen der Baumstruktur auch jeweils die direkte Adresse zum jeweiligen Nachfolger enthalten. Diese Art von Verbindung ist im Ausführungsbeispiel von Fig. 2A lediglich für den Quellenscheitel a angegeben.
  • Dabei ist es nicht notwendig, daß die Felder 11 einen absoluten Adreßwert enthalten. Der Adreßwert ist vielmehr relativ zum Quellenscheitel zu verstehen der beispielsweise die relative Adresse O haben kann. Durch entsprechende Verschiebe-Adreßkomponenten kann dann die Baumstruktur an einen beliebigen Platz innerhalb des Speichers der Datenverarbeitungsanlage gebracht werden.
  • Eine weitere Möglichkeit, Verbindungen zwischen den Elementen der Baumstruktur herzustellen, besteht darin, daß in den Verbindungsfeldern eine sogenannte Versetzung" gespeichert wird.
  • Diese Versetzung gibt den Abstand an, den das betreffende Element von seinem Nachfolgerelement aufweist. Es kann sich dabei z.B.
  • um eine bestimmte Anzahl von Adressenpositionen handeln. Die Versetzung kann sowohl positiv als auch negativ sein, d.h., der Nachfolger kann im Speicher der Datenverarbeitungsanlage von dem betreffenden Element oder nach dem betreffenden zement gespeichert sein.
  • Vorausgehend wurde erläutert, wie die einzelnen Elemente der Baumstruktur miteinander in Verbindung stehen. Im folgenden soll darauf eingegangen werden, wie eine derartige Baumstruktur nach einem bestimmten Schlüsselelement durchsucht wird.
  • Als Suchargument für eine Suchoperation kann jedes Schlüsselelement dienen, wie beispielsweise die Schlüsselelemente KO bis K32 der Baumstruktur von Fig. 1. Es kann auch jedes nicht in der Baumstruktur enthaltene Schlüsselelement für eine Suchoperation verwendet werden; es wird in diesem Falle jedoch kein entsprechendes Schlüsselelement gefunden.
  • Das Suchargument besteht ebenso wie ein Schlüsselelement aus einer Folge von Bits von einer hochstelligen bis zu einer niedrigstelligen Wertstelle, d.h. vom äußersten linken Bit zum äußersten rechten Bit nach der Art, wie Binärzahlen in einer Datenverarbeitungsanlage gespeichert werden. Jedes Suchargument definiert einen ihm eigenen ~Pfad" durch eine in Form einer Baumstruktur aufgebauten Adressenliste vom Quellenscheitelelement bis zum Schlüsselelement, welches dem Suchelement entspricht, sofern ein derartiges Schlüsselelement in der Adressentabelle existiert. Die Reihenfolge der Bits im Suchargument wird durch diesen Suchpfad bestimmt. Von der Reihenfolge von Bits, wie sie durch ein Suchargument angegeben wird, kann während der Suchoperation abgewichen werden, indem einzelne der Bits des Suchargumentes übersprungen werden, Die Reihenfolge von Bits, die den Suchpfad definieren, werden "Pfadvektor" genannt.
  • Bei Betrachtung einer Suchoperation in der Baumstruktur von Fig. 1 kann ein Suchvektor gebildet werden aus den Namen einer Anzahl von Scheiteln, die während der Suchoperation nacheinander zu durchlaufen sind. Z.B. würde in Fig, 1 der Suchvektor D25, D17, D9, Dll, D13, D15, K14 vom Quellenscheitelelement D25 zum Schlüsselelement K14 führen.
  • Im Gegensatz hierzu bringt der "Pfadvektor" eine Unterscheidung zwischen a n linken und rechten Verbindungen von den Ausgängen der Scheitelelemente beim Durchlaufen der Baumstruktur zum Ausdruck. Diese Unterscheidung kann für jedes innere Scheitelelement durch ein einzelnes Bit erfolgen, das z.B. für eine linke Verbindung den Wert 0 und für eine rechte Verbindung den Wert 1 enthält. Es kann daher für jeden inneren Scheitel die Ausgangsrichtung durch den O-Zustand oder den Zustand eines diesem Scheitel zugeordneten Bits definiert werden, das sich im Pfadvektor des Suchargumentes befindet. Der 0- oder l-Zustand des äußersten linken -Bits im Pfadvektor liefert jeweils die Steuerinformation für die Auswahl der Nachfolger des Quellenscheitels.
  • Der Zustand des nächsten Bits bestimmt die Nachfolger der Nachfolger des Quellenscheitels im binären Baum usw. Der Pfadvektor legt somit die Verbindungsauswahl für alle Scheitelelemente fest, die während eines Durchgangs durch die Baumstruktur aufzurufen sind, und zwar in der Reihenfolge, in der dieser Aufruf stattfindet. Durch den Pfadvektor erübrigt es sich deshalb, die einzelnen Scheitelelemente über besondere Namen anzusprechen, die im Suchvektor enthalten sein müssen, wozu eine erheblich größere Anzahl von Bits benötigt wird. Der erfindungsgemäße Pfadvektor sieht dagegen für jedes Scheitelelement nur eine einzelne Bitstelle vor, wobei im Pfadvektor außerdem nicht explizit aufgezeichnet werden muß, welche Scheitel beim Durchgang durch die Baumstruktur aufgesucht werden müssen.
  • Die Pfadvektordarstellung für die oben als Beispiel angegebene Suchfolge vom Quellenscheitelelement D25 bis zum Schlüsselelement K14 lautet somit -001110, wozu sechs Bitstellen benötigt werden.
  • Der die einzelnen Scheitelelemente über deren Namen ansprechende Spurvektor benötigt dagegen ein mehrfaches dieser Bitstellenzahl.
  • In den Fign. 4B und 6 sind Adressenlisten dargestellt, die Einträge nach Art von Fig. 2B aufweisen und die in ihrer Gesamtheit eine binäre Baumstruktur bilden. Jede Zeile dieser Adressenlisten mit Ausnahme der ersten Zeile enthält eine Bitgruppe, die dem Feld 12 von Fig. 2B entspricht und als Anzeige dafür dient, ob der durch das Feld 11 dargestellte Eintrag für die Verbindung zum linken Nachfolger auf ein internes Scheitelelement oder auf ein Schlüsselelement (auch Endelement genannt) bezogen ist. Das D-Indexfeld 13 innerhalb eines Eintrages, der auf ein internes Scheitelelement bezogen ist, ordnet den Eintrag einer bestimmten Pfadvektor-Bitposition in einem Suchargument zu. Der eigentliche Pfadvektor wird aus dem Suchargument zur gleichen Zeit erzeugt, wenn die Bits des Pfadvektors zur Festlegung des Pfades während der Suchoperation benutzt werden. Es besteht daher keine Notwendigkeit, in der Datenverarbeitungsanlage neben dem Suchargument separat einen Pfadvektor zu speichern. Die Erzeugung eines Pfadvektors während einer Suchoperation erfolgt durch nachstehende Schritte: Schritt 1: In der Adreßliste wird der D-Index des als nächsten ausgewählten Scheitelelementes gelesen (am Anfang der Suchoperation ist dies das Quellenscheitelelement).
  • Schritt 2: Im Suchargument wird die Bitstelle aufgesucht, die vom Inhalt des gelesenen D-Indexfeldes bestimmt wird. Dieses Bit ist ein Bit des Pfadvektors.
  • Schritt 3: Das Bit der in Schritt 1 bestimmten Bitstelle wird auf seinen Inhalt geprüft. Wenn der Inhalt O ist, wird die Verbindung des Schlüsselelementes zu seinem linken Nachfolger ausgewählt. Wenn der Inhalt des Bits dagegen 1 ist, wird die Verbindung zum rechten Nachfolger ausgewählt. Der Nachfolger der ausgewählten Verbindung stellt das nächste Scheitelelement im Suchpfad dar.
  • Schritt 4: Das Kennzeichenfeld 12 des laufenden Scheitelelementes wird geprüft, um zu bestbpdmen, ob der Nachfolger der ausgewählten Verbindung ein inneres Scheitelelement oder ein Schlüsselelement ist. Wenn es sich um ein Schlüsselelement handelt, wird es aufgesucht, und die Suchoperation in der Adressenliste ist beendet. Wenn es sich dagegen um ein inneres Scheitelelement handelt, wird die Suchoperation durch Entnahme des Nachfolger-Scheitelelementes fortgesetzt, das der ausgewählten Verbindung entspricht. Mit diesem Scheitelelement werden die Schritte O bis 3 wiederholt.
  • In der oben erläuterten Weise werden nacheinander die Bits des Suchpfadvektors in Verbindung mit dem Suchargument bestimmt. Der Suchpfadvektor ist vollständig, wenn im Verlaufe des Schrittes 4 festgestellt wird, daß der Nachfolger ein Schlüsselelement ist.
  • Wie oben bereits ausgeführt wurde, dient im Datenformat von Fig.
  • 2B jeweils ein einzelnes Feld zur Kennzeichnung sowohl der linken als auch der rechten Verbindung eines inneren Scheitelelementes zu einem Nachfolgerpaar von Scheitelelementen. Dies kann dadurch verwirklicht werden, daß die beiden Scheitelelemente des Nachfolgerpaares in der Adressenliste unmittelbar nebeneinander oder durch eine vorbestimmte Zeilenzahl voneinander entfernt gespeichert sind. Der Inhalt des Verbindungsfeldes 11 bezeichnet jeweils die Verbindung (Adresse) zum linken Nachfolger und die Verbindung (Adresse) zum rechten Nachfolger wird in der Adressenliste erhalten, indem die Zeilenadresse dieser Liste um 1 erhöht wird bzw. um die vorerwähnte vorgegebene Zeilenzahl inkrementiert wird. In der Adressenliste der Baumstruktur von Fig. 2A sind die rechten Nachfolger jeweils direkt hinter den linken Nachfolgern gespeichert, weshalb die Adresse der rechten Nachfolger durch Inkrementierung der Zeilenadresse der linken Nachfolger um 1 gefunden wird.
  • In der Adressenliste ist jedoch die Speicherposition eines Nachfolgerpaares nur selten der Adresse des Listeneintrages benachbart, der in der binären Baumstruktur dem Vorgänger-Scheitelelement dieses Nachfolgerpaares entspricht. Die Darstellung der Verbindungen im Feld 11 der Finträge nimmt auf willkürliche Distanzunterschiede zwischen den einzelnen Einträgen Rücksicht.
  • Durch den Umstand, daß der Inhalt des Kennzeichnungsfeldes 12 jeweils auf die beiden Nachfolgereinträge bezogen ist, macht es überflüssig, die Schlüsselelemente ebenfalls mit Kennzeichnungsfeldern zu versehen. Dies ist aus der Darstellung von Fig.
  • 2A ersichtlich, wo die Schlüsselelemente f, e, und d lediglich die Adresse zu einer bestimmten Datenaufzeichnung enthalten.
  • Die vorerwähnte Kennzeichnungsweise gestattet auch einen Abbruch der Suchoperation, wenn der Vorgänger eines Schlüsselelementes erreicht ist, was in bestimmten Fällen erwünscht ist. Alle Kennzeichnungsinformation ist somit in den Einträgen der inneren Scheitelelemente enthalten, und in jedem Listeneintrag, der sich auf ein Schlüsselelement bezieht, kann daher die gesamte Zeile der Liste für die Aufnahme der Daten des Schlüsselelementes benutzt werden. Dies ist wesentlich, da zur Darstellung der Adressen der gesuchten Daten eine größere Anzahl Bitsstellen benötigt werden. Diese Daten können z.B. im Hauptspeicher der Datenverarbeitungsanlage oder in einem angeschlossenen externen Speicher, wie z.B. einer Art Magnetplatteneinheit, gespeichert sein. Das Format innerhalb eines Schlüsselelementes unterliegt keinen Beschränkungen. Es können daher beliebige voneinander abweichende Adressierungsschemata zur Anwendung kommen.
  • In Fig. 3 ist eine allgemeine Blockdarstellung einer Datenverarbeitungsanlage wiedergegeben. Die Datenverarbeitungsanlage besteht aus einer zentralen Datenverarbeitungseinheit 38, einem mit dieser verbundenen Hauptspeicher 40 und mehreren an die zentrale Verarbeitungseinheit angeschlossenen Eingabe/Ausgabeeinheiten 39. Der Hauptspeicher besitzt 3 Speicherbereiche 40a, 40b und 4Oc. Der Speicherbereich 40a dient zur Aufnahme der Adressenliste, wie sie im einzelnen in Fig. 4B oder 6 dargestellt ist. Der Bereich 40B wird durch verschiedene Operationsfelder und Register gebildet, wie sie in den Fign. 4C und 6 im einzelnen dargestellt sind.
  • Der Bereich 40c dient zur Aufnahme von Steuerdaten. Die von diesen Daten gesteuerten Operationen werden nachfolgend anhand der Fign. 4A und 5A erläutert. Das Zusammenwirken der zentralen Verarbeitungseinheit 38 mit den Eingabe/Ausgabeeinheiten 39 erfolgt in für sich bekannter Weise.
  • Anhand der Fig. 4A werden nachfolgend die wesentlichen Schritte für eine Suchoperation SRCH1 erläutert, wobei davon ausgegangen wird, daß die Verbindungen in den Feldern 11 der inneren Scheitelelemente in Form von Versetzungsadressen gespeichert sind.
  • Der Speicherteil 40a ist im Detail in Fig. 4B dargestellt. Er enthält die Adressenliste, die aus einer Vielzahl von Zeileneinträgen besteht. Jeder Zeileneintrag weist ein D-Indexfeld, ein Verbindungsfeld vom Versetzungstyp und ein Kennzeichnungsfeld auf, das die Bitstellen to cg, tl und cl enthält (z.B.
  • Zeile 41a in Fig. 4B). Das Versetzungsfeld enthält einen Wert, der für jedes innere Scheitelelement die Zahl der Zeilen angibt, die sich in der Adressenliste zwischen diesem Scheitelelement und seinem Nachfolgerpaar befindet. Das Feld enthält außerdem ein Vorzeichenbit, welches anzeigt, ob das Nachfolgerpaar sich oberhalb oder unterhalb des betreffenden Scheitelelementes in der Adressenliste befindet. Eine solche Verbindungsdarstellung kann leicht für jeden inneren Scheitel erzeugt werden durch Subtraktion der Zeilenadresse seiner Position innerhalb der Adressenliste von der Zeilenadresse des Nachfolgerpaares.
  • Ein Suchargument ist in einem Teilabschnitt 41 c gespeichert, dessen Adresse in einem Teilabschnitt 41e enthalten ist. Ein weiterer Teilabschnitt 41d enthält die Adresse des Quellenscheitelelemtes der Adressenliste.
  • In Fig. 4C sind verschiedene Register des Speicherbereiches 40b im einzelnen dargestellt. Es handelt sich um ein Register 42a zur Aufnahme der Adresse des Suchargumentes, ein Register 42b zur Aufnahme der Zeilenadresse, welche den jeweils in Behandlung befindlichen Eintrag aus der Adressenliste bezeichnet, und ein Register 42c enthält den Inhalt der jeweils aufgerufenen Zeile der Adressenliste.
  • Die Suchoperation beginnt mit einem Startschritt 20, der durch ein Signal von der zentralen Verarbeitungseinheit 38 eingeleitet wird. Es folgt daraufhin der Schritt 25, in welchem der Inhalt des Speicher-Teilabschnittes 41d in das Zeilenadreßregister 42b übertragen wird. Im Schritt 30 wird die Adresse des Suchargumentes aus dem Speicher-Teilabschnitt 41e in das Suchargumentadressenregister 42a übertragen. Sofern das Suchargument aus einer Reihe von Suchargumenten besteht, handelt es sich bei der zum Register 42a zu übertragenden Adresse um die Adresse des ersten Suchargumentes. Im Schritt 35 erfolgt ein Speicherzugriff mit dem Inhalt des Zeilenadreßregisters 42b. Der Inhalt der betreffenden Adresse wird aus dem Speicher in das Zeilenregister 42c übertragen. Das Zeilenadreßregister 42b enthält ursprünglich die Adresse des Quellenscheiteleintrages in der Suchliste im Speicherabschnitt 40a. Es wird daher als erster Eintrag aus der Adressenliste das Quellenscheitelelement in das Zeilenregister 42c geladen. Später wird während der Schritte 60 und/oder 65 der Inhalt des Zeilenadreßregisters 42b inkrementiert, um die Adresse des nächsten Scheitelelementes in der Adressenliste zu erhalten. Im Schritt 44 wird eine Bitstelle im Suchpfadvektor bestimmt. Es handelt sich dabei um die Bitstelle, die vom D-Index-Feld im Register 42c angegeben wird. Das D-Index-Feld nimmt die Bitstellen O bis EO im Register 42c ein. Der Binärwert in diesem Feld bestimmt die Bitstelle im Suchargument unter Bezugnahme auf dessen höchste Bitstelle, d.h. der äußersten linken Bitstelle. Mit den 11 Bits im D-Index-Feld können somit Bitpositionen von 0 bis 355 im Suchargument adressiert werden. Das Bit der adressierten Bitstelle im Suchargument wird als ausgewähltes Suchargument-Bit bezeichnet und stellt ein ausgewähltes Suchpfadvektor-Bit dar. Das ausgewählte Bit wird aus dem Teilabschnitt 41c (Fig. 4B) des Speichers entnommen und im Schritt 45 auf seinen Wert überfprüft. Der 0- oder 1-Zustand dieses Bits steuert die Auswahl des NachEolgerscheitels und bestimmt daher den Suchpfad beim Durchlaufen des binären saumes. Wenn das Suchargument-Bit den Wert O hat, wird der linke Nachfolgerscheitel als nächstes ausgewählt. Wenn dagegen das Suchargument-Bit ren Wert 1 hat, wird der rechte Nachfolgerscheitel ausgewählt. Für diese Prüfung ist es nicht notwendig, das Bit dem Teilabschnitt 41c des Speichers zu entnehmen. Die Prüfung kann vielmehr an Ort und Stelle in diesem Teilbereich erfolgen, in dem geprüft wird, ob die betreffende Bitstelle den Wert 1 oder 0 enthält.
  • Durch die Schritte 50 und 55 werden die Bitstellen tot cg oder tl, cl im Kennzeichnungsfeld des Registers 42c abgefragt, um zu bestimmen, ob der ausgewählte Nachfolgerscheitel ein Schlüsselelement oder ein inneres Scheitelelement ist. Wenn das im Schritt 45 abgefragte Suchargument-Bit den Wert 0 hat, führt der Schritt 50 eine Abfrage der Bitstellen t0, c, durch, wodurch bestimmt wird, ob der linke Nachfolger ein Schlüsselelement oder ein inneren Scheitelelement ist. Wenn die Bitstelle to eine 1 enthält, ist der linke Nachfolger ein inneres Scheitelelement, wenn dagegen t0 den Wert O enthält, ist der linke Nachfolger ein Schlüsselelement. Wenn im anderen Falle durch den Schritt 45 der rechte Nachfolger ausgewählt worden ist, wird durch den Schritt 55 die Kennzeichnungsbitstelle tl abgefragt nach dem Bitwert 1 oder 0, um zu bestimmen, ob der rechte Nachfolger ein innerer Scheitel oder ein Schlüsselelement ist. Die Bits CO oder cl werden ebenfalls in den Schritten 50 und 55 abgefragt, um zu ermitteln, ob der ausgewählte Nachfolger im Hauptspeicher enthalten ist. Dies ist insofern von Bedeutung, als der Nachfolger in einem der Eingabe/Ausgabeeinheiten 39 gespeichert sein kann Die Bitstellen c, und cl zeigen dann an, daß eine Übertragung des betreffenden Nachfolgers in den Hauptspeicher durchgeführt werden muß. Der Schaltzustand der Kennzeichenbitstellen tot c0, tlt cl wird durch entsprechende Programminstruktionen veranlaßt.
  • Durch den Schritt 60 wird der Inhalt des Zeilenandreßregisters 42b abgeändert entsprechend dem ausgewählten Nachfolger. Wie bereits erwähnt wurde, ist der rechte Nachfolger unmittelbar neben den linken Nachfolger in der Adressenliste gespeichert. Es ~fügt daher die einfache Zeilenlänge zum Inhalt des Zeilenadreßregisters zu addieren, um den rechten Nachfolger auszuwählen. Dies geschieht, bevor die Versetzung aus dem Versetzungsfeld des Registers 42c zum Inhalt dieses Registers addiert wird, das daraufhin die Adresse des rechten Nachfolgerscheitel enthält. Die letate Operation ist Gegenstand des Schrittes 65. Der Schritt 65 kann auch im Anschluß an den Schritt 50 erfolgen. In diesem Falle wird lediglich die Versetzung zum Inhalt des Zeilenadreßregisters 42b addiert, womit die Adresse des linken Nachfolgers ermittelt worin Dul70hden Schritt 70 wird das Resultat der Abfrageoperationen von den Schritten 50 und 55 ausgewertet. Durch diese Abfrageoperationen wurde ein Konditionscode in einem bisher nicht erwähnten erw#t##t#n RegisterCC gesetzt, der nun im Schritt 70 abgefragt wird. Enthält das Der gister CC die Werte 1 1 erfolgt eine Verzweigung zurück zum Schritt 35. Dies ist dann der Fail, wenn der Nachfolger ein inneres Scheitelelement ist, das sich im Speicher befindet. Durch den Schritt 35 wird der Nachfolger in das Zeilenregister 42c geladen, und in der Folge werden die oben beschriebenen Schritte wiederholt. Wenn dagegen der Schritt 70 anzeigt, d# eines der beiden Bits im Register CC den Wert a hat, wird zum Schritt 75 übergegangen, durch den mit dem Inhalt des Zeilenadreßretisters #2b# ein Speicherzugriff durchgeführt wurde dessen Ergebnis als Suchresultat in den Teilabschnitt 41b fFig. 4B) übertragen wird. Nach dem Schritt 75 folgt als Abschlußschritt der Schritt 80, der das Ende der Suchoperation anzeigt W#nn im Register CC fUr die r-L#t stelle c der Wert 1 und für die Bitstelle t der zeigt 0 steht, ist der angeforderte Nachfolger ein Schlüsselelement im Speicher 40.
  • Die Suchoperation ist daher beendet, nachdem die Adresse dieses Schlüsselelementes im Zeilenadreßregister 42b eingestellt 11'worden ist. Wenn dagegen die Bitstelle c=0, so bedeutet diese daX der gesuchte Nachfolger nicht im Speicher 40 enthalten ist und deshalb unter Benutzung der Adresse im Zeilenadreßregister 42b in den Speicher geholt werden muß. Letztere Operation wird durch den' Schritt 75 ausgeführt. Der Schritt 80 bewirkt eine Beendigung der Arbeit der Datenverarbeitungsanlage oder eine Rückkehr zu dem Programm, von der die Buckne nach der nunmehr ermittelten Datengruppe ausgegangen ist.
  • Anhand von Fig. 5 soll im folgenden eine Suchoperation SRCH2 erläu@ert w@@@en, bei der davon ausgegangen wird, daß die Felder 11 (Fig. 2B) in den Einträgen der Adressenliste umkehrbare Verbindunen enthalten. Die einzelnen Operationen von Fig. 5 sind ähnlich denen von Fig 4A mit Ausnahme der Ermittlung der Adresse für den jeweilig Nachfolger eines internen Scheitelelementes.
  • Die Fig. 6 gibt den Inhalt des Speicherabschnittes 40a an. Die Ableitung der Verbindungen geschieht in der oben anhand von Fig.
  • 2A beschriebenen Weise. Die ig. 6 zeigt auch verschiedene Register, de zur Ausführung der Operationen von Fig. 5A benutzt werden.
  • Eine Suchoperation in der Adressenliste deren Einträge umkehrbare Verbindungen enthalten, fordert die Speicherung der Speicheradresse eines jedes Vryengers zum jeweils in Behandlung befindlichen Scheitelelement. Die Adresse des Nachfolgers wird durch eine exklusiv-oder-Verknüpfung des Inhaltes des Verbindungsfeldes im laufenden Scheitelelement mit der Adresse, die vom Zugriff zum Vorgänger-Scheitelelement au@bewahrt wurde.
  • Von der in Fig. 6 dargestellten Registern enthält ein Register 80 den Z-Index desVorgängers, ein Register 81 den Z-Index des laufende@ scheitelelementes cnd ein Register 82 den Z-Index des Nachfolg@@@ Scheitelelementes. Z-Index bedeutet hierbei jeweils eine Zeile@@@@@@sse für betreffande Scheiteleleinent in der Adressenlist zur Register 83 enthält die Adresse der Adressenliste im Speicher 40. 93. Ein Zeilenregister 84 dient zur Aufnahme des Inhaltes der jeweils in Behandlung befindlichen Zeile aus der Adressenliste.
  • Außerdem ist ein Register 85 zur Aufnahme der Adresse eines Suchargumentes vorgesehen, d.h. zur diese der höchsten Bitstelle des Suchargumentes.
  • Die Su@@operation Ç beginnt mit dem Startschritt 51. Im folgenden @@@@@ 52 wird das Register 80 auf 0 gestellt, da der erste Zugir# n der Adressenlist@ @um Quellanscheitelelement erfolgt, das Keinen @@nger aufweist. Das Register 81 wird mit dem Wert 1 geladen. @@@ den g Z-Index (Zeile@ adresse 1) zur der Adressenliste im Speichera@@@@@@t 40a darstellt.
  • Im Schritt 53 wird das erste reld in der Adressen te 2efgesuchtt welches die Zahl der in der Adressenliste enthaltenen Zellen angibt. Die Zahl der Schlüsselelem-nte kann ermittelt werden, indem der Inhalt dieses Feldes durch 2 geteilt wird. Im Schritt 31 wird festgestellt, ob diese Zahl der Schlüsselelemente größer als 1 ist. Wenn dies der Fall ist, erfolgt ein Übergang zum Schritt 57. Wenn dagegen nur ein oder kein Eintrag in der Adressenliste vorhanden ist, erfolgt ein Übergang zum Schritt 54, der bestimmt, ob in der Adressenliste überhaupt ein Schlüsselelement vorhanden ist. Sofern dies der Fall ist, stellt der Schritt 55 ein Konditionscode-Register CC in Fig. 6 (nicht dargestellt) auf den Inhalt 1, 1. Im anderen Falle wird durch den Schritt 56 dieses Register auf 0,0 gestellt. Nach Beendigung der Schritte 55, 56 ist die Suchoperation beendet.
  • Normalerweise wird jedoch im Schritt 53 festgestellt, daß mehr als ein Eintrag in der AdreæsenlisLe vorliegt, da diese üblicherweise zur Unterstützung einer sehr großen Datenbasis benutzt wird.
  • Es erfolgt daher ein Ubergang zum Schritt 57, durch den ein Zugriff zu der Zeile in der Adressenliste erfolg6, auf welche der Inhalt des Registers 81 hinweist. Der Inhalt dieser Zeile wird in das Register 84 geladen. Der nächste Schritt 48 erzeugt daraufhin den Z-Index für das Nachfolgerpaar und speichert d:es--z im Register 82. Der Z-Index des Nachfolgerpaares wird durch Exklusiv-Oder-Verknüpfung des Inhaltes des Verbindungsfeldes in Register 84 und des Inhaltes des Registers 84 gebildet, das üblicherweise den Z-Index des Vorgängers von dem Scheitelelement enthält, das durch den Z-Index im Register 81 bezeichnet wird. Durch den Schritt 59 wird ein Suchargument-Bit ausgewählt als laufendes Suchpfadvektor-Bit. Die Auswahl erfolgt in der in Verbindung mit Fig. 4A beschriebenen Weise dadurch, daß der Inhalt des D-Indexfeldes aus dem Register 84 doe betreffende Bitsposition des Suchargumentes in bezug auf dessen höchste Bitstelle anzeigt.
  • fer Schritt 60 stellt fest, ob das Suchargument-Bit im Zustand oder im Zustand ist. Wenn ersteres der Fall ist, wird der linke Nachfolger des laufenden Scheitelelementes als nächstes Scheitelelement auf dem Suchpfad ausgewählt. Im anderen Falle erfolgt eine Auswahl des rechten Nachfolgers als nächstes Scheitelelement. Bei der Auswahl des linken Nachfolgers wird als nächstes der Schritt 61 durchgeführt, der die Kennzeichen-Bitstelle tot c für den linken Nachfolger in das Konditionscode-Register CC überträgt. Wenn stattdessen der rechte Nachfolger ausgewählt worden ist, führt der Schritt 62 die gleiche Operation für die Kennzeichenbits tl, cl durch, die dem rechten Nachfolger zugeordnet sind.
  • Im Falle der Auswahl des linken Nachfolgers ist keine Korrektur des Inhaltes des Registers 82 notwendig, da in dieses Register im Schritt 58 die Hinweisadresse auf den linken Nachfolger eingespeichert wurde. Wenn dagegen der rechte Nachfolger im Schritt 60 ausgewählt worden ist, muß der Inhalt des Registers 82 entsprechend abgeändert werden. Dies geschieht durch den Schritt 63, der den Z-Index im Register 82 (Adresse des linken Nachfolgers) um 1 erhöht, um so den Z-Index für den rechten Nachfolger zu erzeugen.
  • Die Schritte 64 und 65 dienen zur Vorbereitung der nächsten Operation. Der Schritt 64 überträgt das laufende Scheitelelement aus dem Register 81 in das Register 80, wodurch dieses Scheitelelement zum Vorgangerelement wird. Im Schritt 65 wird der Inhalt des Registers 82 in das Register 81 übertragen, wodurch der im Schritt 60 ausgewählte Nachfolger zum neuen laufenden Scheitelelement wird. Die nächste Ithation wird jedoch nur wirksam, wenn das Nachfolgerelement ein inneres Scheitelelement ist. Hierüber gibt der Schritt 70 Auskunft, der das Konditionscode-Register CC auf den Zustand 1,1 abfragt. Wenn dies der Fall ist, wird die oben erläuterte Schrittfolge, beginnend mit dem Schritt 57, mit dem nun im Register 81 stehenden laufenden Scheitelelement wiederholt.
  • Dies geschieht lange7 bis durch den sckr4-tt 70 angezeigt wird, daß ein SchlCsekeleme ereicht ist. In diesem Falle wird bei 71 das Ende der Suchoperat#: ang~zeigt. Mit dem Ende der Suchoperation kann ein Übergang zu einem Programm der zentralen Verarbeitungseinheit 38 erfolgen, das die Suchoperation eingeleitet hat. Die Adresse des Schlüsselelementes wird durch eine ExX;1usiv-Oder-Verknüpfung des Inhaltes des Registers 80 (Z-Index des Vorgängers) und des Inhaltes des Registers 81 (Z-Index des laufenden Scheitelelementes) gewonnen. Mit der so gewonnenen Adresse wird das Schlüsselelement aufgesucht, dessen Inhalt daraufhin zum Adressieren der während eines Verarbeitungsvorganges von der zentralen Verarbeitungseinheit 38 benötigten Daten verwendet wer den kann. Diese Daten können beispiels#eise in einem der Anschlußgeräte 39 gespeichert sein.
  • Wenn anstelle der umkehrbaren Adressen in den Feldern 11 der inneren Scheitelelemente (Fig. 2B) absolute Verbindungen enthalten sind, wird der oben anhand von Fig. 5 erläuterte Vorgang insofern abgeändert, als der Schritt 58 durch einen Schritt 73 (Fig. 5B) ersetzt wird. Die diesbezüglichen Anschlußstellen sind mit 74 und 75 bezeichnet. Der Schritt 72 überträgt die Verbindung aus dem jeweiligen Feld 11 in das Register 82. Bei einer derartigen Suchoperation, die mit SRCH3 bezeichnet wird, können auch die Schritte 52 und 64 von Fig. 5A wegfallen. Im übrigen erfolgt diese Suchoperation in der gleichen Weise, wie es vorausgehend anhand von Fig. 5A beschrieben wurde.
  • In den Fign. 7 bis 10 ist eine Einrichtung dargestellt, die zur Ausführung des oben anhand von Fig. 4A erläuterten Suchverfahrens benutzt werden kann. Die Einrichtung von Fig. 7 enthält einen Speicher 40, der aus einer größeren Anzahl von Bitstellen besteht, von denen jede wahlfrei adressierbar ist. Der Zugriff zum Speicher 40 erfolgt über eine Sammelleitung 106. Zur Erzeugung von übertragungssteuersignalen dient eine Steuerschaltung 117e die im Detail in Fig. 7 dargestellt ist. Der Inhalt des Speic#ers 40 ist in der aus Fig. 4B ersichtlichen Weise organisiert und steuert die tm susammenhang mit dieser Figur beschriebenen Operationen.
  • In fi. 7 sind alle rsorschaLtunyenU die eine DateneRngab@ in die dargestellten Funktionseinheiten bewirken, mit "IG" bezeichnet.
  • Ebenso sind alle Torschaltungen, die mit dem Ausgang dieser Funktionseinheiten verbunden sind und betätigt werden, wenn Daten von diesen Funktionseinheiten zu anderen Funktionseinheiten zu übertragen sind, mit ~OG" bezeichnet. Die hinter diesen Bezeichnungen in Klammern stehenden Buchstaben geben in Übe reinstimmung mit der nachstehenden Tabelle jeweils die betreffende Funktionseinheit oder Dateneinheit an, auf die sich die jeweiligen Toroperationen beziehen, Die Tabelle enthält außerdem auch andere Symbole, die in den Fign. 7 bis 10 benutzt werden: (A) = Zeilenadreßregister (C) = Adressenlisten-Zeile (D) = Entnahme der Zeilenadressenkonstante (E) = Entnahme der Suchargument-Adressenkonstante (F) = Versetzungsfeld (H) = Addierer-Verriegelungsschaltungen (I) = Bitindexfeld (Bitadresse) (L) = Zuführung der Zeilenlängenkonstante (M) = Speicheradressenübertragung (R) r Zugriff zum Suchresultat-Feld im Speicher (s) e Suchargument-Adressenregister (Z) = Laufendes Suchargument-Bit (o) = Feld to CO (1) = Feld tl, cl C0-C7 Z Taktsignale Y = Operation-Fortsetzen-Signal Z = Suchargument-Bit-Register-Ausgabe.
  • Die Übertragungen über die Sammelleitung 106 zur Ausführung der Verfahrensschritte von Fig. 4A sind aus der folgenden Tabelle A ersichtlich. Die Fintragungen CO, C1 bis C7 entsprechen qleichlautenden Eintragungen in Fig. 4A zur Bezeichnunq der zugehörigen Operationsschritte.
  • Tabelle A CO: OG(D),IG(A),IG(X) C1: IG(S>,OG(E),IG(M) C2: IG(C),OG(A),IG(M),IG(H) C3: OG(S),IG(Z),IG(I),IG(M)IG(H) C4 & Z: OG(L),OG(A),IG(H) C5 & Z: IG(A) C5: OG(A),OG(F) C6: IG(A) C6 & Z: OG(1) C6 & Z: OG(O) C7 OG(A),IG(H),IG(M),IG(R) Der Speicher 40 (Fig. 7) ist so ausgebildet, daß er die Entnahme einer Zeile der Adressenliste gestattet, wobei diese Zeile auf jeder Bitposition des Speichers beginnen kann. Die Entnahmeadresse wird dem Speicher über IG(M> zugeführt. Die gesamte entnommene Zeile wird über die Sammelleitung PO parallel übertragen, die zu diesem Zweck aus einer Anzahl Einzelleitungen besteht, von denen jede zur Übertragung eines Bits geeignet ist.
  • In einigen Fällen ist es erwünscht, aus dem Speicher 40 lediglich ein einzelnes Bit zu entnehmen, wie es beispiels#Yeise für eine Übertragung eines Sucharguinent-Bits zu einem Register 107 der Fall ist. Das Register 107 ist daher nur mit derjenigen sinzelleitung in der Sammelleitung 106 verbunden, welche der höchsten Bitstelle zugeordnet ist. Die Einrichtung weist weitere Register 108 bis 111 auf, deren Eingänge jeweils mit allen Einzelleitungen der Sammelleitung 106 verbunden sind.
  • Im Speicher 40 sind bestin#te Felder dlb bis 41e vorgesehen S die sich auf Speicherpositionen befinden welche stets unverändert bleiben. Die Adressen für diese Speicherpositionen werden von Konstantwert-Schaltungen lCl 102 und 103 erhaltene Das Torsteuersignal OG(E) überträgt die Adressenkonstante zum Speicher 40, welche im Speicher das reld glc bezeichnete in dem das Suchargument gespeichert ist. Das Torsteuersignal OG(D) überträgt von der Adressenkonstantwert-Schaltung 101 die Adresse zum Speicher, welche das Feld 41d bezeichnet, in dem das Quellenscheitelelement gespeichert ist, mit dem die Suchoperation beginnt. Durch das Torsteuersignal OG(R) wird von der Adressenkonstantwert-Schaltung 103 eine Adresse zum Speicher übertragen, die das Feld 41b adressiert, indem das Suchresultat nach Beendigung einer Suchoperation gespeichert wird. Bei jeder Übertragung einer Adresse aus den Schaltungen 101 bis 103 zum Speicher 40 bezeichnet diese jeweils die höchste Bitstelle des betreffenden Feldes. Jede der genannten Adressen wird dem Speicher über eine Torschaltung zugeführt, die durch das Torsteuersignal IG(M) betätigt wird. Unter Wirkung dieses Signals werden dem Speicher auch Adressen von der Sammelleitung 106 zugeführt.
  • Die Einrichtung von Fig. 7 umfaßt ferner einen Addierer 113, an dessen Ausgang eine Addierer-Verriegelungsschaltung 114 angeschlossen ist. Der Inhalt der Addierer-Verriegelungsschaltung wird ständig der Sammelleitung 106 zugeführt. Durch ein Steuersignal IG(H) wird die Addierer-Yerriegelungsschaltung 114 in den 0Zustand zurückgestellt. Nach Auftreten dieses Signals hat der Addiererausgang somit keinen Einfluß auf andere Signale, die auf den Adern der Sammelleitung 106 auftreten.
  • Das Einschreiben in den Speicher 40 erfolgt durch ein Eingabetorsteuersignal (R). Für eine Einschreiboperation wird der Speicher durch ein Steuersignal IG(M) in der oben beschriebenen Weise adressiert. Das Register 108 dient zur Aufnahme der Adresse des Suchargumentes, nachdem diese aus dem Teilbereich 41c des Speichers 40 entnommen wurde, Das Register 109 empfängt die Zeilenadresse aus dem Teilbereich 41e. Während allen Teilschritten enthalten die Register 108 und 109 jeweils die Adresse des Suchargumentes und die der jeweiligen Teile der Adressenliste. Die Ausgang ge der Register 108 und 109 sind an den linken Eingang des Addierers 113 angeschlossen; eine Signalübertragung über diese Verbindungen findet statt unter der Wirkung der Torsteuersignale OG(S) und OG(A).
  • Das Register 111 dient zur Aufnahme jeweils einer adressierten Zeile (z.B. 41a) aus der Adressenliste 40a im Speicher 40. Das Register 111 empfängt die dem Speicher entnommene Zeile über die Sammelleitung 106 und ein Eingangstor, das durch das Torsteuersignal IG(C) für einen Signaldurchlaß gesteuert wird, Das Register 111 enthält ein Bit-Index-Feld, ein Versetzungsfeld und ein Kennzeichenfeld, das aus den Bitstellen tot cO, t16 cl besteht. Diese Felder sind unabhängig voneinander für eine Datenentnahme ansteuerbar. Durch ein Torsteuersignal OG(F) wird der Inhalt des Versetzungsfeldes aus dem Register 111 zum rechten Eingang des Addierers 113 übertragen. Das Versetzungsfeld enthält die Versetzungswerte in Zweierkomplement-Form. Das Vorzeichenbit dieser Werte, welches links von der höchsten signifikanden Ziffer steht, belegt am Addierereingang alle übrigen links von dieser Ziffernstelle befindlichen Ziffernstellen.
  • Ein Torsteuersignal OG(I) überträgt das Bitindexfeld vom Register 111 zum rechten Eingang des Addierers 1136 In diesem Falle werden alle am Addierereingang links vom Bitindexfeld verbleibenden Bitpositionen mit Nullen aufgefüllt.
  • Die Bitstellen tot cg oder tl, cl des Kennzeichenfeldes im Register 111 werden unter Wirkung von Torsteuersignalen OG(0> oder OG(1) in das Register 109 übertragen in dessen zwei Bitstellen am äußersten linken Ende dieses Registers Diese Bitstellen sind in Fig. 7 mit t und c bezeichnet und dienen zur Aufnahme des Konditionscodes CC (Register CC von Fig. 4A>.
  • Der durch die Torsteuersignale OG(O) oder Q(1) aus dem Register 111 entnommene Teil des Kennzeichenfeldes wird außerdem gleichzeitig zum Eingang einer UND-Schaltung 116 übertragen, die über eine Ausgangsverbindung Y ein Taktsignal zum Start der Taktsteuerung 117B liefert. Über einen Inverter 116A wird auf einem Ausgang Y ein Signal erzeugt, das eine Invertierung zu den auf dem Ausgang Y erscheinenden Signal darstellt und ebenfalls zur;Taktsteuerung 117B geleitet wird.
  • Eine Zeilenlängenkonstante-Registerschaltung 112 liefert an ihrem Ausgang ein Signal, das die Zeilenlänge der Adressenliste darstellt, d.h. die Zahl der Bits, welche eine solche seile aufweist. Die Ausgangssignale aus der Registerschaltung 112 gelangen zum rechten Eingang des Addierers 113, wenn ein Torsteuersignal OG(L) durch die Torsteuerung 117C geliefert wird.
  • In Fig. 8 ist ein Ausführungsbeispiel tür eine Taktgeberschaltung dargestellt, wie sie zur Steuerung der Operationsfolge von Fig. 4A verwendet werden kann. Diese Schaltung besteht aus einer Anzahl bistabiler Stufen 120 bis 127, welche Taktsignal während der Zeitintervalle Co, C1 bis C7 erzeugen Anfänglich werden alle Stufen 120 bis 127 durch ein Signal auf einer Leitung 138 rückgestellt. Zur Synchronisierung der Taktschritte dient ein Oszillator 128, der einen Zähler 129 speist, welcher jeweils nach 16 Zählschritten ein Ausgangssignal liefert.
  • Die Ausgangssignale des Zählers 129 gelangen über eine Leitung 132 zu den Eingängen aller Stufen 120 bis 127, um diese zu synchronisieren. Von diesen Stufen empfängt zu einer bestimmten Zeit jeweils nur eine ein Startsignal, um eine seriale Durchschaltung zu erreichen. Anfangs empfängt die Stufe 120 einen Startimpuls, auf einer Leitung 130, der von einer externen Quelle stammt, z.B. ein in die Datenverarbeitungsanlage manuell eingegebenes Signal oder ein von einer Programminstruktion ausgelöstes Signal sein kann. Zur gleichen Zeit wird der Zähler 129 durch einen Startimpuls von der gleichen Leitung 130 in den O-Zählzustand zurückgestellt.
  • Die Erzeugung der verschiedenen Startsignale ist aus Fig. 10 ersichtlich. Dort sind eine Anzahl UND-Schaltungen 171 bis 178 dargestellt, von denen jede einen Synchronisierimpuls T vom Zähler 129 empfängt. An die zweiten Eingänge der UND-Schaltungen werden die Ausgangs-Taktimpulse von den Stufen 120 bis 127 (Fig. 8) angelegt. Am Ende des Taktzyklus CO wird daher die UND-Schaltung 171 durch das Signal D geöffnet und liefert ein Startsignal T1.
  • Dementsprechend wird jede der übrigen UND-Schaltungen 172 bis 178 durch die Takt-Ausgangssignale Cl bis C6 und das Signal T betätigt.
  • Immer wenn ein T-Impuls auftritt, wird der laufende Taktzyklus beendet, und der nächste Taktzyklus wird durch ein Ausgangssignal von einer der UND-Schaltungen 171 bis 178 eingeleitet. Eine ODER-Schaltung 179 erzeugt den Startimpuls C2 sowohl am Ende des Taktzyklus C1 als auch am Ende des Taktzyklus C6, so daß sich die Zyklen C2 bis C6 wiederholen, bis die Suchoperation für das laufende Suchargument beendet ist. Die Taktzyklen CO und C1 werden demnach für jedes Suchargument nur einmal durchlaufen. Die Signale auf den Eingängen Y und Y, die vom Ausgang der Schaltung 116 in Fig. 7 geliefert werden, dienen zur Steuerung von Verzweigungsoperationen der Taktsteuerung, um entweder den Taktzyklus C2 oder den Taktzyklus C7 einzuleiten.
  • Die Fig. 9 zeigt die Schaltung der Torsteuerung 117D. Diese Schaltung besteht aus einer Anzahl logischer Schaltungen 151 bis 164, die als ODER-Schaltungen oder als UND-Schaltungen ausgebildet sind und zur Erzeugung der Torsteuersignale IG und OG dienen. Ein Teil dieser Torsteuersignale wird auch ohne Verwendung von logischen Schaltungen in der aus Fig. 9 ersichtlichen Weise direkt aus den Taktsignalen gewonnen. Die Eingangssignale in Fig. 9 werden vom Ausgang der Taktgeberschaltung von Fig. 8 gewonnen. Eingangssignale der Schaltung von Fig. 9 sind auch die Signale Z und Z vom Ausgang des Registers 107 in Fig. 7.
  • Anstelle der Steuerschaltungen 117 (Fig. 7) kann zur Erzeugung der Torsteuersignale IG und OG auch ein für sich bekanntes Mikroprogramm-Steuerwerk Verwendung finden.

Claims (14)

PATENTANSPRÜCHE
1. Suchverfahren für Schlüsselwörter in einer elektronischen Datenverarbeitungsanlage, die einen Adressenspeicher enthält zur Aufnahme der Schlüsselwörter zusammen mit einer Adressenliste, deren Einträge eine Baumstruktur bilden, die ferner einen oder mehrere Datenspeicher enthält zur Aufnahme von Daten, deren Adressen in den Schlüsselwörtern enthalten sind, und die einen Suchwortspeicher aufweist zur Aufnahme eines Suchargumentes, dessen Elemente den Einträgen der Adressenliste zugeordnet sind und einen Suchpfad durch die Baumstruktur festlegen, in dessen Endzweigen sich die Schlüsselwörter befinden, dadurch gekennzeichnet, daß jedem auf dem Suchpfad liegenden Eintrag einer als binäre Baumstruktur organisierten Adressenliste eine Bitstelle im Suchargument zugeordnet ist, deren Inhalt bei Erreichen des betreffenden Eintrages abgefragt wird und die Auswahl einer von zwei Ausgangsverbindungen steuert, daß aus dem Eintrag der Adressenliste eine der ausgewählten Ausgangsverbindung entsprechende Hinweis adresse zum Nachfolger-Eintrag in der Baumstruktur abgeleitet wird, daß vor dem Übergang zum Nachfolger-Eintrag ein in jedem Eintrag der Adressenliste vorhandenes Kennzeichen abgetastet wird und daß der Nachfolger-Eintrag aufgesucht wird, wenn das Kennzeichen kein Ende der Suchoperation anzeigt.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die Auswahl eines Bits im Suchargument durch eine Bitadresse erfolgt, die in einem Feld der Adressenlisteneinträge enthalten ist.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß zur Auswahl eines Bits im Suchargument zunächst ein Byte des ucharguments in Abhängigkeit vom Inhalt eines Byteausw#nlfeldes im jeweils aufgerufenen Adressenlisteneintrag und durch nachfolgende Auswahl wenigstens eines Bits in diesem Byte in Abhängigkeit vom Inhalt eines ebenfalls im Adressenlisteneintrag enthaltenen Bitauswahlfeldes erfolgt.
4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, daß die Bitauswahl durch Maskierung des ausgewählten Byte mit dem Inhalt des Bitauswahlfeldes erfolgt.
5. Verfahren nach Anspruch 3, dadurch gekennzeichnet, daß die Bitauswahl durch Indexierung einer Bitstelle erfolgt, die durch den Byteauswahischritt gefunden wurde, und daß als Intexierungswert der Inhalt des Bitauswahlfeldes verwendet wird.
6. Verfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, daß der linke und der rechte Nachfolger zu jedem Adressenlisteneintrag nebeneinander oder um eine vorbestimmte Speicherstellenzahl voneinander entfernt gespeichert sind, daß in jedem Adressenlisteneintrag jeweils nur die Verbindung zu einem der Nachfolger vorliegt, und daß die Auswahl unter den beiden Nachfolgern dadurch vorgenommen wird, daß die aus der vorliegenden Verbindung gewonnene Adresse mit einer Adressenkonstante modifiziert wird oder nicht.
7. Verfahren nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, daß die Ableitung der Adresse des Nachfolgers durch Verknüpfung des Inhalts eines Verbindungsfeldes im laufenden Adressenlisteneintrag mit der Adresse seines Vorgänger-Adressenlisteneintrags durch eine Rechenoperation erfolgt, die eine Umkehrung gestattet.
8. Verfahren nach Anspruch 6 und 7, dadurch gekennzeichnet, daß als umkehrbare Rechenoperation zur Ableitung der Nachfolgeradresse die logische Operation "Exklusiv-Oder" dient.
9. Verfahren nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, daß zur Ableitung der Adresse des Nachfolger-Adressenlisteneintrages die Adresse des laufenden Adressenlisteneintrages um einen Wert inkrementiert wird, welcher der Länge des laufenden Adressenlisteneintrages entspricht.
10. Verfahren nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, daß die Ableitung der Adresse des Nachfolger-Adressenlisteneintrages durch Addition eines ganzzahligen Vielfachen der Länge eines der untereinander gleich langen Adressenlisteneinträge und durch Addition des Inhaltes eines Inkrement-Feldes im laufenden Adressenlisteneintrag zu dessen Adresse erfolgt, wobei das ganzzahlige Vielfache eine positive oder negative Zahl, einschließlich Null, sein kann.
11. Verfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, daß die Ableitung der Adresse des Nachfolger-Adressenlisteneintrages durch Addition eines ganzzahligen Vielfachen der Länge eines der untereinander gleich langen Adressenlisteneinträge zum Inhalt eines Adressenfeldes im laufenden Adressenlisteneintrag erfolgt, das den nächsten Adressenlisteneintrag bezeichnet, und daß die Größe des Vielfachen durch die Abfühlung der dem laufenden Adressenlisteneintrag zugeordneten Bitstelle im Suchargument bestimmt wird.
Einrichtung zur Durchführung des Verfahrens nach einem der Ansprüche 1 bis 11, dadurch gekennzeichnet, daß ein Speicher (40) zur Aufnahme einer als binäre Baumstruktur organisierten Adressenliste vorgesehen ist, der zur selektiven Entnahme von durch ein Zeilenadreßregister (109) bezeichneten Adressenlistenzeilen sowie zur Entnahme von Einzeldaten eingerichtet ist, daß an den Speicher ein Zeilenregister (111) angeschlossen ist$ welches ein Verbindungsfeld (11), ein Kennzeichenfeld (12)-und ein Suchargument-Intexierungsfeld (13) enthält, von denen der Inhalt des letzteren zur Adressierung eines Bits in einem über ein zusätzliches Adreßregister (102) voradressierten Suchargument dient, daß ein Suchargument-Bitregister (107) zur Aufnahme dieses Bits vorgesehen ist und daß eine Steuerschaltung (117) vorgesehen ist, durch die in Abhängigkeit von einem vorbestimmten Inhalt des Suchargument-Bitregisters (107) der Inhalt des Verbindungsfeldes (11) allein oder ergänzend zu einem Zeilenadressen-Inkrementwert zum Inhalt des Zeilenadreßregisters (109) addiert wird, um die Adresse der nächsten Adressenlistenzeile zu erhalten
13. Einrichtung nach Anspruch 12, dadurch gekennzeichnetr daß ein Konditionscode-Register (111-12, 109-CC) vorgesehen ist, welches ein erstes Teilfeld zur Aufnahme einer Suchebeendet-Anzeige und ein zweites Teilfeld zur Aufnahme einer Nachfolger-im-Speicher-Anzeige enthält und das einen Teil aus jeder der vom Speicher (40) entnommenen Zeilen empfängt, und daß die Steuerschaltung (117) zur Abfrage des Konditionscode-Registers dient und bei einem vorbestimmten Inhalt eine Beendigung der Adressenerzeugungszyklen veranlaßt.
14. Einrichtung nach Anspruch 12 oder 13, dadurch gekennzeichnet, daß ein Resultatregister (41b) vorgesehen ist, das durch den Inhalt eines Resultat-Adreßregisters glO3) adressierbar ist und in das die Steuerschaltung (117) nach Beendigung der Adressenerzeugungs zyklen den nächsten Adressenlisteneintrag überträgt
DE19722217500 1971-04-23 1972-04-12 Verfahren und Einrichtung zum Suchen von Schlüsselwörtern in einer elektronischen Datenverarbeitungsanlage Ceased DE2217500A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13668671A 1971-04-23 1971-04-23

Publications (1)

Publication Number Publication Date
DE2217500A1 true DE2217500A1 (de) 1972-10-26

Family

ID=22473919

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19722217500 Ceased DE2217500A1 (de) 1971-04-23 1972-04-12 Verfahren und Einrichtung zum Suchen von Schlüsselwörtern in einer elektronischen Datenverarbeitungsanlage

Country Status (1)

Country Link
DE (1) DE2217500A1 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0097820A1 (de) * 1982-06-28 1984-01-11 International Business Machines Corporation Verfahren zur lernfähigen Zuordnung von Indexnummern für Bildelement-Matrixmuster
DE3736455A1 (de) * 1986-10-30 1988-05-05 Apple Computer Hierarchisches ablagesystem

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0097820A1 (de) * 1982-06-28 1984-01-11 International Business Machines Corporation Verfahren zur lernfähigen Zuordnung von Indexnummern für Bildelement-Matrixmuster
DE3736455A1 (de) * 1986-10-30 1988-05-05 Apple Computer Hierarchisches ablagesystem

Similar Documents

Publication Publication Date Title
DE2554442C2 (de) Vorrichtung zum Vergleich logischer Größen mit einer Gruppe logischer Bezugsgrößen
DE1901343C3 (de) Datenverarbeitungsanlage zur Ausführung von Mateirenrechnungen
DE2521436B2 (de) Informationswiedergewinnungsanordnung
DE1303416B (de)
DE2809623A1 (de) Verfahren und vorrichtung zur assoziativen informationswiedergewinnung
DE2154106A1 (de) Arbeitsspeicherwerk
DE2457612A1 (de) Mikroprogrammier-steuersystem
DE2758830A1 (de) Rechenvorrichtung
DE2062165A1 (de) Verfahren und Anordnung zum Sortieren oder Mischen von Datensätzen
DE2133638C3 (de) Verfahren zum Betrieb eines lernfähigen Systems aus in Kaskade geschalteten, zur nicht linearen Datenverarbeitung geeigneten lernfähigen Datenverarbeitungseinheiten
DE2854782C2 (de) Datenverarbeitungssystem und Verfahren zum Ersetzen eines Datenblocks in einem Schnellspeicher
DE1271191B (de) Einrichtung zur UEbertragung von Informationseinheiten in die Binaerstellen eines Umlaufspeichers
DE2506671C3 (de) Binärdaten-Handhabungsnetzwerk
DE1499190B2 (de) Elektronische Datenverarbeitungsanlage
DE2136270A1 (de) Verfahren und Vergleicher zum Vergleich zweier Binärzahlen
DE2617485B2 (de) Schaltungsanordnung für Datenverarbeitungsanlagen zur Abarbeitung von Mikrobefehlsfolgen
DE1774607C3 (de) Speicheranordnung mit einem informationszerstörend lesbaren Speicher
DE1499713A1 (de) Verfahren und Schaltungsanordnung zum Packen von Informationen in einem zyklisch umlaufenden Speicher mit wahlfreiem Zugriff zu den auf den Spuren befindlichen Speicherzellen
DE1180171B (de) Zahlenrechner
DE2459476C3 (de)
DE2519195C2 (de) Assoziativspeicher
DE1957600C3 (de)
DE2217500A1 (de) Verfahren und Einrichtung zum Suchen von Schlüsselwörtern in einer elektronischen Datenverarbeitungsanlage
DE2062164A1 (de) Verfahren zur Erzeugung eines mehr stufigen Index für gespeicherte Daten einheiten
DE2459476A1 (de) Schaltungsanordnung fuer nichtzyklische datenpermutationen

Legal Events

Date Code Title Description
OI Miscellaneous see part 1
8131 Rejection