DE3688640T2 - Suchgerät. - Google Patents

Suchgerät.

Info

Publication number
DE3688640T2
DE3688640T2 DE86303706T DE3688640T DE3688640T2 DE 3688640 T2 DE3688640 T2 DE 3688640T2 DE 86303706 T DE86303706 T DE 86303706T DE 3688640 T DE3688640 T DE 3688640T DE 3688640 T2 DE3688640 T2 DE 3688640T2
Authority
DE
Germany
Prior art keywords
memory
bits
contents
register
location
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.)
Expired - Fee Related
Application number
DE86303706T
Other languages
English (en)
Other versions
DE3688640D1 (de
Inventor
Nicholas Peter Holt
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.)
Fujitsu Services Ltd
Original Assignee
Fujitsu Services Ltd
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 Fujitsu Services Ltd filed Critical Fujitsu Services Ltd
Application granted granted Critical
Publication of DE3688640D1 publication Critical patent/DE3688640D1/de
Publication of DE3688640T2 publication Critical patent/DE3688640T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4494Execution paradigms, e.g. implementations of programming paradigms data driven
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing

Landscapes

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

Description

  • Die Erfindung bezieht sich auf Suchgeräte, mit denen in einer Ansammlung von Ausdrücken ein Ausdruck aufgefunden wird, der ein bestimmtes Kriterium erfüllt.
  • Die Erfindung ist vorzugsweise in einem parallel arbeitenden Datenverarbeitungssystem anwendbar, bei dem Instruktionen nicht sequentiell ausgeführt werden, wie bei der herkömmlichen Von Neumann Architektur, die aber zu jedem Zeitpunkt ausgeführt werden können, nachdem sie für die Ausführung bereit sind, z. B. wenn alle erforderlichen Operanden verfügbar sind. In einem solchen System können zu einem bestimmten Zeitpunkt mehrere Instruktionen zur Ausführung bereit sein, und es ist erforderlich, eine Möglichkeit zu schaffen, um diese Instruktionen rasch aufzufinden. Dies kann dadurch erfolgen, daß eine Liste von Kennungen bereitgehalten wird, die auf solche Instruktionen hinweisen, die zur Ausführung bereit sind. Dies erfordert jedoch einen erheblichen Aufwand an Speicherkosten und Speicherzugriff, die zur Aufrechterhaltung der Liste erforderlich sind. Ein anderer Weg besteht darin, die Instruktionen, die für die Ausführung geeignet sind, mit einer Anzeigemarke zu markieren. Dann besteht das Problem darin, unter allen Instruktionen im Speicher die herauszufinden, bei denen die Marken gesetzt sind. Dies kann durch Abtasten aller Speicherplätze der Reihe nach erfolgen, was jedoch einen außergewöhnlich hohen Zeitaufwand erfordert. Andererseits können die Marken in einem inhaltsadressierbaren Speicher gespeichert werden; solche Speicher sind jedoch sehr teuer.
  • Ein ähnliches Problem tritt bei der Zuordnung von Speicherraum in einem parallelen Datenverarbeitungssystem auf. Im allgemeinen ist der Speicher als Satz von Zellen organisiert, die in der erforderlichen Weise zugeordnet sind und in einen Pool von freien Zellen gegeben werden, wenn sie nicht mehr benötigt werden. Das Auffinden einer freien Zelle ist genau analog dem des Auffindens einer ausführbaren Instruktion.
  • Aufgabe der Erfindung ist es, ein verbessertes Suchgerät zu schaffen, das die vorbeschriebenen Nachteile nicht mehr aufweist.
  • Vorliegende Erfindung verwendet eine Datenstruktur, die als Baum bezeichnet wird. Baumstrukturen sind in der Technik bekannt. Insbesondere wird hierzu auf IEEE TRANSACTIONS ON COMPUTERS, Spalte C-20, Nr. 4, April 1971, Seiten 404-418, IEEE, New York, USA, sowie auf K.J. BERKLING "A computing machine based on tree structures" verwiesen, in denen eine Technik zur Speicherung einer Baumstruktur in einem Speicher mit wahlfreiem Zugriff (RAM) und zum Adressieren der Baumstruktur unter Verwendung eines Schieberegisters beschrieben wird.
  • Zusammenfassung der Erfindung
  • Gemäß der Erfindung ist ein Suchgerät mit einem Speicher (20), der eine Vielzahl von Speicherplätzen aufweist, deren jeder eine Anzahl b Bits enthält, wobei jedes Bit einen Knoten in einer Baumstruktur darstellt und der durch ein Bit y des Speicherplatzes x dargestellte Knoten b Subordinatenknoten hat, die durch die Bits im Speicherplatz bx + y dargestellt sind, und der ein Adressenregister (21) aufweist, das eine Adresse zum Adressieren des Speichers (20) zum Auslesen des Inhalts der Speicherplätze enthält, gekennzeichnet durch
  • (a) einen Prioritätscodierer (24), der mit dem Ausgang des Speichers (20) zur Erzeugung eines Codewortes geschaltet ist, welcher die Position des ersten Bits, falls vorhanden, anzeigt, das einen vorbestimmten Wert in dem jeweils adressierten Speicherplatz des Speichers hat, und
  • (b) eine Vorrichtung zum wiederholten Fortschalten des Inhalts des Adressenregisters durch Multiplizieren seines Inhalts mit b und durch Addieren eines Codewertes aus dem Prioritätscodierer (24), so daß eine Folge vorbestimmter Länge von Speicherplätzen im Speicher adressiert wird, bis ein Speicherplatz erreicht ist, der Bits enthält, die Endknoten der Baumstruktur darstellen.
  • Nachstehend wird ein Ausführungsbeispiel der Erfindung in Verbindung mit der Zeichnung erläutert.
  • Kurze Beschreibung der Zeichnungen
  • Fig. 1 zeigt ein eine Baumstruktur darstellendes Diagramm.
  • Fig. 2 ist ein Blockschaltbild eines Suchgerätes nach der Erfindung.
  • Fig. 3 ist ein logisches Schaltbild, das einen Teil des Gerätes im einzelnen zeigt.
  • Beschreibung einer Ausführungsform der Erfindung
  • Nach Fig. 1 besteht eine Baumstruktur aus einer Anzahl von Knoten, die durch Kreise dargestellt sind, welche in vier Pegeln angeordnet sind. Der höchste Pegel (Pegel 0) enthält einen einzigen Knoten, der als der Wurzelknoten bezeichnet ist, und der niedrigste Pegel (Pegel 3) enthält 64 Knoten, die als Anschlußknoten oder Blätter bezeichnet sind. Jeder Knoten, der kein Anschlußknoten ist, d. h. jeder Knoten, der kein Blatt darstellt, ist mit vier Subordinatenknoten auf dem nächstniedrigeren Pegel des Baumes verbunden, d. h. der Baum hat einen Verzweigungsfaktor von vier.
  • Die 64 Blätter entsprechen 64 Ausdrücken und sind so gesetzt, daß sie anzeigen, ob diese Ausdrücke ein vorbestimmtes Kriterium erfüllen. Beispielsweise können die Blätter Instruktionen in einem Speicher entsprechen und sind so gesetzt, daß sie angeben, ob die Instruktionen für die Ausführung bereit sind. Andererseits können die Blätter Datenspeicherzellen entsprechen und sind so eingestellt, daß sie angeben, ob die Zellen frei sind.
  • Jeder Knoten (mit Ausnahme des Wurzelknotens) wird einer Zahl x, y zugeordnet, wie in Fig. 1 gezeigt. Wie sich daraus ergibt, werden die vier Knoten auf dem Pegel 1 den Zahlen 1,0 bis 1,3 zugeordnet, die vier Knoten, die dem Knoten 1,0 untergeordnet sind, sind den Zahlen 4,0 bis 4,3 zugeordnet, usw. Im allgemeinen werden die vier Knoten, die dem Knoten x, y untergeordnet sind, den Zahlen 4 x + y, 0 bis 4 x + y, 3 zugeordnet ist.
  • Ein Nichtanschlußknoten wird gesetzt, wenn einer der untergeordneten Knoten oder Blätter gesetzt ist. Wenn beispielsweise das Blatt 21,2 gesetzt ist, müssen die Knoten 5,1 und 1,1 und ferner der Wurzelknoten gesetzt sein. Es ergibt sich, daß ein gesetzter Blattknoten rasch dadurch lokalisiert werden kann, daß ein Pfad durch den Baum gefunden wird, der am Wurzelknoten beginnt und von jedem Knoten zu einem der untergeordneten Knoten verläuft, der ebenfalls gesetzt wird, bis ein Blatt erreicht ist. Ein derartiger Pfad ist in Fig. 1 fest ausgezogen dargestellt. Wenn der Zustand eines Ausdruckes sich ändert, ist es erforderlich, das entsprechende Blatt des Baumes fortzuschalten. Wenn beispielsweise eine Instruktion für die Ausführung verfügbar wird, wird das entsprechende Blatt gesetzt; wenn umgekehrt eine Instruktion ausgeführt worden ist, wird das entsprechende Blatt in seinen ursprünglichen, ungesetzten Zustand zurückgesetzt. Wird ein Blatt fortgeschaltet, muß die Änderung auf die höheren Pegel des Baumes fortschreiten, und zwar nach folgender Regel:
  • (i) Ein Knoten wird gesetzt, wenn alle untergeordneten Knoten ungesetzt sind und einer gerade gesetzt worden ist.
  • (ii) Ein Knoten wird rückgesetzt, wenn alle mit Ausnahme eines der untergeordneten Knoten ungesetzt waren und einer gerade rückgesetzt worden ist.
  • Wenn beispielsweise das Blatt 22,1 in Fig. 1 gesetzt wird, muß die Änderung zum nächsten Pegel fortschreiten, indem der Knoten 5,2 auf den Pegel 2 gesetzt wird. Es ist nicht erforderlich, die Änderung weiter fortzuführen, da der relevante Knoten 1,1 beim Pegel 1 als Resultat der vorausgehenden Setzens des Knotens 21,2 bereits gesetzt ist.
  • Fig. 2 zeigt das Suchgerät, das die vorbeschriebene Baumstruktur benutzt. Die Baumstruktur wird in einem Speicher mit wahlfreiem Zugriff (RAM) 20 mit 32 Speicherplätzen (0-31), deren jeder vier Bitpositionen (0-3) hat, gespeichert. Jeder Knoten der Baumstruktur mit Ausnahme des Wurzelknotens wird durch ein Bit des RAM repräsentiert. Insbesondere ist jeder Knoten x, y in Fig. 1 durch die Bitposition y des Speicherplatzes x des RAM repräsentiert. Daraus ergibt sich, daß die vier Knoten auf dem Pegel 1 durch die vier Bits des Speicherplatzes 1 im RAM repräsentiert sind, die 16 Knoten auf dem Pegel 2 werden durch die Speicherplätze 4-7 dargestellt, und die 64 Blätter auf dem Pegel 3 durch die Speicherplätze 16-31. Die anderen Speicherplätze des RAM bleiben ungenutzt. Es sei bemerkt, daß der dem Bit y des Speicherplatzes x entsprechende Knoten seine vier untergeordneten Knoten (oder Blätter) in den vier Bits des Speicherplatzes 4 x + y gespeichert hat.
  • Der RAM 20 wird durch die fünf Bits niedrigster Bedeutung eines aus acht Bits bestehenden Adressenregisters 21 adressiert. Dieses Register hat eine RESET-Steuerung, die es auf den Wert 1 rücksetzt, eine LOAD-Steuerung, die bewirkt, daß das Register parallel aus einem Eingangspfad 22 geladen wird, und SHIFT LEFT und SHIFT RIGHT Steuerungen, die bewirken, daß das Register nach links oder rechts verschoben wird. Der Datenausgang aus dem RAM 20 wird einem vier Bits umfassenden Datenregister 23 zugeführt. Er wird ferner einem Prioritätscodierer 24 aufgegeben, der einen 2-Bit-Prioritätscode erzeugt, welcher die Position des ersten (d. h. am weitesten links) gesetzten Bits im Datenausgang darstellt. Wenn keines der Datenbits gesetzt ist, erzeugt der Codierer ein Signal NBS. Der 2-Bit-Prioritätscode kann in die beiden Bitpositionen niedrigster Bedeutung (d. h. am weitesten rechts) des Adressenregisters 21 eingesetzt werden. Andererseits können die Inhalte dieser beiden Bitpositionen niedrigster Bedeutung in ein 2-Bit-Steuerregister 25 geladen werden.
  • Der Dateneingang in den RAM kommt aus einer logischen Schaltung 26, die ihrerseits mit dem Datenregister 23 verbunden und durch den Inhalt des Steuerregisters 25 sowie durch ein Steuersignal SET gesteuert ist.
  • Fig. 3 zeigt die logische Schaltung 26 im einzelnen. Die Schaltung weist vier Auswählschaltungen 30 auf, deren Ausgänge mit dem Dateneingang des RAM 20 verbunden sind. Die ersten Eingänge der Schaltung 30 sind so geschaltet, daß sie Daten aus dem Datenregister 23 aufnehmen. Die anderen Eingänge nehmen alle das SET-Signal auf. Die logische Schaltung 26 weist ferner einen Dekodierer 31 auf, der den Inhalt des Steuerregisters 25 dekodiert, um ein Signal auf einer von vier Leitungen 32 zu erzeugen. Dies hat zur Folge, daß eine der vier Schaltungen 30 den zweiten Eingang auswählt, während die anderen drei ihre ersten Eingänge wählen.
  • Daraus ergibt sich, daß die logische Schaltung den Datenausgang des RAM über das Datenregister 23 empfängt. Dann schaltet sie die Daten fort, indem das durch das Steuerregister 25 spezifizierte Bit auf den durch das Signal SET spezifizierten Wert eingestellt wird, während die anderen Bits unverändert bleiben. Die fortgeschalteten Daten können dann in den RAM zurückgeschrieben werden. Die vier Eingangsdatenbits in die logische Schaltung 26 werden in einem ODER-Gatter 33 kombiniert und erzeugen ein Signal BWS, das angibt, daß mindestens eines der Datenbits bereits gesetzt war, bevor eine Fortschaltung durch die Schaltung erfolgt ist. Die vier Ausgangsbits werden in einem ODER-Gatter 34 kombiniert, um ein Signal BAS zu erzeugen, womit angezeigt wird, daß mindestens eines der Datenbits nach dem Fortschalten gesetzt wird. Die Signale BWS und BAS werden in einem Nicht-Äquivalenz-Gatter 35 kombiniert und erzeugen ein Signal PROPAGATE. Dieses Signal ist immer dann echt, wenn eine Fortschaltung auf den nächsthöheren Pegel des Baumes entsprechend den weiter oben beschriebenen Regeln weitergegeben werden muß.
  • Das Suchgerät wird zum Auffinden eines gesetztes Blattes in folgender Weise betrieben:
  • (1) Zuerst wird das Adressenregister 21 auf den Wert Eins gesetzt, so daß es auf den Speicherplatz im RAM 20 zeigt, der die vier Knoten mit dem Pegel 1 halten.
  • (2) Der RAM wird dann an dem Speicherplatz, der durch das Adressenregister festgelegt ist, zugegriffen.
  • (3) Der Datenausgang aus dem RAM wird in das Datenregister 23 geladen.
  • (4) Der Datenausgang aus dem RAM wird durch den Prioritätscodierer 24 so verarbeitet, daß ein Code erzeugt wird, der die Position des ersten gesetzten Bits des RAM-Ausgangses anzeigt. Wenn keines der Bits gesetzt ist, wird das Signal NBS erzeugt. Dies zeigt an, daß keines der Blätter gesetzt ist, und daß deshalb die Suche abgeschlossen ist.
  • (5) Das Adressenregister (21) wird um zwei Bitstellen nach links verschoben, und der Code aus dem Prioritätscodierer 24 wird in das Ende niedrigster Bedeutung (d. h. rechts) des Registers eingesetzt. Dies bewirkt, daß die Adresse (x) mit vier multipliziert und am Ausgang (y) des Prioritätscodierers addiert wird, damit die Adresse 4 x + y des Speicherplatzes, der die vier Unterknoten des durch das Bit x, y repräsentierten Knotens enthält, gebildet wird.
  • (6) Wenn der Inhalt des Adressenregisters größer oder gleich 64 ist, wird die Suche abgeschlossen. Die sechs Bits niedrigster Bedeutung geben dann die Identität eines gesetztes Blattes (im Bereich 0-63) an, und stellen den Ausgang des Suchgerätes dar. Der Inhalt des Datenregisters 23 gibt an, ob irgendwelche anderen gesetzten Blätter vorhanden sind, die dem gleichen Knoten auf dem nächsthöheren Pegel untergeordnet sind.
  • Wenn andererseits der Inhalt des Adressenregisters kleiner als 64 ist, wird vorstehende Folge vom Schritt (2) ab wiederholt.
  • Schritt (4) wählt einen gesetzten Knoten aus dem gerade adressierten Speicherplatz des RAM 20 aus. Schritt (5) schaltet dann das Adressenregister 21 fort, so daß es auf den Speicherplatz zeigt, der die vier Knoten enthält, welche dem ausgewählten Knoten untergeordnet sind. Dieser Zyklus wird wiederholt, wobei bei jedem Zyklus auf den nächstniedrigeren Pegel des Baumes weitergegangen wird, bis schließlich ein Blattknoten ausgewählt ist. Der Vorgang durchläuft somit einen Pfad durch den Baum vom Wurzelknoten zu einem gesetzten Blatt.
  • Die Baumstruktur wird in nachstehender Weise fortgeschaltet.
  • (1) Der Identität des fortzuschaltenden Blattknotens (im Bereich 0-63) wird 64 hinzuaddiert, und das Resultat wird in das Adressenregister 21 eingeladen.
  • (2) Das Adressenregister wird dann um zwei Bitstellen nach rechts verschoben, wobei Nullen in das Ende höchster Bedeutung (d. h. links) des Registers eingesetzt werden. Die ursprünglichen Inhalte der beiden Bitpositionen niedrigster Bedeutung werden in das Speicherregister 25 eingeladen. Dies bewirkt, daß der Inhalt des Adressenregisters durch Vier geteilt wird, während der übrige Teil in das Register 25 eingeführt wird.
  • (3) Der RAM 20 wird nunmehr an dem Speicherplatz, der durch das Adressenregister definiert ist, zugegriffen.
  • (4) Die Ausgangsdaten aus dem RAM werden in das Datenregister 23 eingeladen.
  • (5) Die Daten aus dem Register 23 werden dann durch die logische Schaltung 26 verarbeitet, um das durch den Inhalt des Steuerregisters 25 angezeigte Bit entsprechend dem Zustand des SET-Steuersignals zu setzen oder zu löschen. Die anderen Bits in den Daten bleiben unverändert.
  • (6) Der Ausgang der logischen Schaltung 26 wird dann in den Speicherplatz des RAM, addressiert durch das Register 21, zurückgeschrieben, wobei die früheren Inhalte überschrieben werden.
  • (7) Wenn das Signal PROPAGATE echt ist, wird die vorstehend beschriebene Folge ab Schritt (2) wiederholt. Sonst ist der Vorgang beendet.
  • Der Fortschaltungsvorgang schaltet zuerst den spezifizierten Blattknoten fort. Dann durchläuft der einen Pfad den Baum nach oben zum Wurzelknoten, bis er einen Knoten erreicht hat, der nicht fortgeschaltet werden braucht (z. B. einen, für den PROPAGATE nicht echt ist).
  • Das vorbeschriebene Gerät kann auf einfache Weise durch entsprechende Wahl der Baumstruktur erweitert werden, damit es eine beliebige Anzahl von Ausdrücken aufnehmen kann. Wenn der Verzweigungsfaktor des Baums b ist (der aus Gründen der Einfachheit als gleich mit der Potenz von 2 angenommen wird), und die Tiefe des Baumes (d. h. die Anzahl der Baumverzweigungen) d ist, sind N = bd Blätter vorhanden. Ein derartiger Baum kann in einem RAM mit 2N/b Speicherplätzen aufgenommen werden, wobei jeder b Bits enthält, und wobei die Knoten auf dem Pegel i im Speicherplatz bi-1 bis 2bi-1-1 gespeichert sind. In diesem allgemeinen Fall hat das Speicherregister 25 log&sub2;b Bits und das Adressenregister 21 wird um diese Zahl von Bitpositionen in Schritt (5) des Suchvorganges und Schritt (2) des Fortschaltvorganges verschoben.
  • Generell ist die Anzahl von Zugriffen zum RAM, die erforderlich ist, um ein gesetztes Blatt aufzufinden, logbN, aufgerundet auf die nächste ganze Zahl, und dies kann bis zu b gesetzte Blätter gleichzeitig ergeben.

Claims (2)

1. Suchgerät mit einem Speicher (20), der eine Vielzahl von Speicherplätzen aufweist, deren jeder eine Anzahl b Bits enthält, wobei jedes Bit einen Knoten in einer Baumstruktur darstellt und der durch ein Bit y des Speicherplatzes x dargestellte Knoten b Subordinatenknoten hat, die durch die Bits im Speicherplatz bx + y dargestellt sind, und der ein Adressenregister (21) aufweist, das eine Adresse zum Adressieren des Speichers (20) zum Auslesen des Inhalts der Speicherplätze enthält, gekennzeichnet durch:
(a) einen Prioritätscodierer (24), der mit dem Ausgang des Speichers (20) zur Erzeugung eines Codewertes geschaltet ist, welcher die Position des ersten Bits, falls vorhanden, anzeigt, das einen vorbestimmten Wert in dem jeweils adressierten Speicherplatz des Speichers hat, und
(b) eine Vorrichtung zum wiederholten Fortschalten des Inhalts des Adressenregisters durch Multiplizieren seines Inhalts mit b und durch Addieren eines Codewertes aus dem Prioritätscodierer (24), so daß eine Folge vorbestimmter Länge von Speicherplätzen im Speicher adressiert wird, bis ein Speicherplatz erreicht ist, der Bits enthält, die Endknoten der Baumstruktur darstellen.
2. Suchgerät nach Anspruch 1, mit:
(a) einem Steuerregister (25), das einen Positionscode enthält, der eine Bitposition innerhalb des gerade adressierten Speicherplatzes des Speichers anzeigt,
(b) einer logischen Schaltung (26) zum Setzen oder Löschen des durch den Positionscode innerhalb des gerade adressierten Speicherplatzes des Speichers angezeigten Bits in Übereinstimmung mit dem Wert eines Eingangssignals (SET),
(c) einer logischen Schaltung (33, 34, 35) zum Erzeugen eines PROPAGATE-Signals, das normalerweise echt ist und das unecht wird, wenn entweder
(i) eines der Bits in dem gerade adressierten Speicherplatz soeben auf den vorbestimmten Wert gesetzt worden ist, während die anderen Bits in diesem Speicherplatz alle ungleich dem vorbestimmten Wert sind, oder
(ii) eines der Bits in dem gerade adressierten Speicherplatz soeben von dem vorbestimmten Wert befreit worden ist, wobei die anderen Bits in diesem Speicherplatz alle ungleich dem vorbestimmten Wert sind,
(d) einer Vorrichtung, die anspricht, während das PROPAGATE-Signal echt ist, um den Inhalt des Adressenregisters (21) wiederholt durch b zu teilen und den Inhalt des Speicherregisters (25) durch den Rest dieser Teilung zu ersetzen, so daß eine Folge von Speicherplätzen im Speicher adressiert und fort, wobei die anderen Bits in diesem Speicherplatz alle ungleich dem vorbestimmten Wert sind,
(d) einer Vorrichtung, die anspricht, während das PROPAGATE-Signal echt ist, um den Inhalt des Adressenregisters (21) wiederholt durch b zu teilen und den Inhalt des Speicherregisters (25) durch den Rest dieser Teilung zu ersetzen, so daß eine Folge von Speicherplätzen im Speicher adressiert und fortgeschaltet wird.
DE86303706T 1985-06-19 1986-05-15 Suchgerät. Expired - Fee Related DE3688640T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB858515482A GB8515482D0 (en) 1985-06-19 1985-06-19 Search apparatus

Publications (2)

Publication Number Publication Date
DE3688640D1 DE3688640D1 (de) 1993-08-05
DE3688640T2 true DE3688640T2 (de) 1993-12-09

Family

ID=10580962

Family Applications (1)

Application Number Title Priority Date Filing Date
DE86303706T Expired - Fee Related DE3688640T2 (de) 1985-06-19 1986-05-15 Suchgerät.

Country Status (7)

Country Link
US (1) US4751684A (de)
EP (1) EP0206504B1 (de)
JP (1) JPS61294545A (de)
AU (1) AU585026B2 (de)
DE (1) DE3688640T2 (de)
GB (2) GB8515482D0 (de)
ZA (1) ZA863960B (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10231970B3 (de) * 2002-07-15 2004-02-26 Siemens Ag Verfahren zur Codierung von Positionen von Datenelementen in einer Datenstruktur sowie Vorrichtungen zur entsprechenden Codierung und/oder Decodierung

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61245188A (ja) * 1985-04-24 1986-10-31 株式会社日立製作所 デ−タ処理装置
GB8515482D0 (en) * 1985-06-19 1985-07-24 Int Computers Ltd Search apparatus
NL8600848A (nl) * 1986-04-03 1987-11-02 Philips Nv Geheugen met gelijktijdig adresseerbare geheugenelementen.
JP2514365B2 (ja) * 1987-06-16 1996-07-10 三菱電機株式会社 機能ブロックのアドレスデコ−ド装置
US4873671A (en) * 1988-01-28 1989-10-10 National Semiconductor Corporation Sequential read access of serial memories with a user defined starting address
US5784712A (en) * 1995-03-01 1998-07-21 Unisys Corporation Method and apparatus for locally generating addressing information for a memory access
DE19810843B4 (de) * 1998-03-12 2004-11-25 Telefonaktiebolaget Lm Ericsson (Publ) Verfahren und Zugriffseinrichtung zum Bestimmen der Speicheradresse eines Datenwerts in einer Speichereinrichtung
US7797271B1 (en) * 2001-06-18 2010-09-14 Versata Development Group, Inc. Custom browse hierarchies for subsets of items in a primary hierarchy
US6941292B2 (en) * 2002-11-22 2005-09-06 International Business Machines Corporation Method and system for optimizing data searches in tree structures
US7362909B2 (en) * 2003-04-10 2008-04-22 Sharp Kabushiki Kaisha Coding device and method and decoding device and method
US8037102B2 (en) 2004-02-09 2011-10-11 Robert T. and Virginia T. Jenkins Manipulating sets of hierarchical data
US9646107B2 (en) 2004-05-28 2017-05-09 Robert T. and Virginia T. Jenkins as Trustee of the Jenkins Family Trust Method and/or system for simplifying tree expressions such as for query reduction
US7882147B2 (en) * 2004-06-30 2011-02-01 Robert T. and Virginia T. Jenkins File location naming hierarchy
US7620632B2 (en) * 2004-06-30 2009-11-17 Skyler Technology, Inc. Method and/or system for performing tree matching
US7801923B2 (en) * 2004-10-29 2010-09-21 Robert T. and Virginia T. Jenkins as Trustees of the Jenkins Family Trust Method and/or system for tagging trees
US7627591B2 (en) * 2004-10-29 2009-12-01 Skyler Technology, Inc. Method and/or system for manipulating tree expressions
US7630995B2 (en) 2004-11-30 2009-12-08 Skyler Technology, Inc. Method and/or system for transmitting and/or receiving data
US7636727B2 (en) 2004-12-06 2009-12-22 Skyler Technology, Inc. Enumeration of trees from finite number of nodes
US8316059B1 (en) 2004-12-30 2012-11-20 Robert T. and Virginia T. Jenkins Enumeration of rooted partial subtrees
US8615530B1 (en) 2005-01-31 2013-12-24 Robert T. and Virginia T. Jenkins as Trustees for the Jenkins Family Trust Method and/or system for tree transformation
US7681177B2 (en) * 2005-02-28 2010-03-16 Skyler Technology, Inc. Method and/or system for transforming between trees and strings
US8356040B2 (en) 2005-03-31 2013-01-15 Robert T. and Virginia T. Jenkins Method and/or system for transforming between trees and arrays
US7899821B1 (en) 2005-04-29 2011-03-01 Karl Schiffmann Manipulation and/or analysis of hierarchical data
US10333696B2 (en) 2015-01-12 2019-06-25 X-Prime, Inc. Systems and methods for implementing an efficient, scalable homomorphic transformation of encrypted data with minimal data expansion and improved processing efficiency

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA588601A (en) * 1959-12-08 C. Sibley Henry Electronic code communication system
US3577141A (en) * 1968-11-14 1971-05-04 United Merchants & Mfg Binary to decimal tree relay decoder circuit with memory display
UST916004I4 (en) * 1973-01-16 1973-11-27 Data tree structure and maintenance method
UST948010I4 (de) * 1975-04-10 1976-07-06
US4103349A (en) * 1977-06-16 1978-07-25 Rockwell International Corporation Output address decoder with gating logic for increased speed and less chip area
JPS6051732B2 (ja) * 1978-08-31 1985-11-15 富士通株式会社 デ−タ・ベ−スを有するデ−タ処理システム
US4318184A (en) * 1978-09-05 1982-03-02 Millett Ronald P Information storage and retrieval system and method
EP0111689A3 (de) * 1982-12-21 1987-04-08 International Business Machines Corporation Verfahren zur Speicherung einer Indexdatei vom B-Baum-Typ auf Einrichtungen mit rotierendem Medium
US4507752A (en) * 1983-02-22 1985-03-26 International Business Machines Corporation In-place index compression
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
JPH0644264B2 (ja) * 1983-12-23 1994-06-08 シャープ株式会社 単語記憶方式
BR8503162A (pt) * 1984-07-31 1986-03-25 Int Standard Electric Corp Metodo para investigar bases de dados esparsas usando uma tecnica associativa
US4616315A (en) * 1985-01-11 1986-10-07 Burroughs Corporation System memory for a reduction processor evaluating programs stored as binary directed graphs employing variable-free applicative language codes
GB8515482D0 (en) * 1985-06-19 1985-07-24 Int Computers Ltd Search apparatus

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10231970B3 (de) * 2002-07-15 2004-02-26 Siemens Ag Verfahren zur Codierung von Positionen von Datenelementen in einer Datenstruktur sowie Vorrichtungen zur entsprechenden Codierung und/oder Decodierung
US7546303B2 (en) 2002-07-15 2009-06-09 Siemens Aktiengesellschaft Method for coding positions of data elements in a data structure
CN1669225B (zh) * 2002-07-15 2015-11-25 西门子公司 对数据结构中的数据元的位置进行编码的方法

Also Published As

Publication number Publication date
GB2176919A (en) 1987-01-07
AU585026B2 (en) 1989-06-08
GB2176919B (en) 1989-07-12
EP0206504B1 (de) 1993-06-30
EP0206504A2 (de) 1986-12-30
GB8515482D0 (en) 1985-07-24
JPS61294545A (ja) 1986-12-25
DE3688640D1 (de) 1993-08-05
EP0206504A3 (de) 1991-01-16
AU5882386A (en) 1986-12-24
GB8609856D0 (en) 1986-05-29
ZA863960B (en) 1987-02-25
US4751684A (en) 1988-06-14

Similar Documents

Publication Publication Date Title
DE3688640T2 (de) Suchgerät.
DE3902425C2 (de)
DE2803989C2 (de) Digitaldatenspeicher mit wahlfreiem Zugriff
DE68907518T2 (de) Inhaltsadressierte Speicheranordnung.
DE68928727T2 (de) Cachespeicheranlage zum Versorgen eines Festworts eines Befehlscodes mit variabler Länge und Befehlsabrufanlage
DE3586377T2 (de) Halbleiterspeicheranordnung.
DE2934971A1 (de) Datenverarbeitungssystem
DE2364408A1 (de) System zur erstellung von schaltungsanordnungen aus hochintegrierten chips
DE1901343B2 (de) Datenverarbeitungsanlage zur Ausführung von Mateirenrechnungen
DE2758829C2 (de) Datenverarbeitungsanlage mit mehreren Prozessoren
DE1197650B (de) Parallel-Addierer
DE2718551C3 (de) Adressenumsetzer
DE69410660T2 (de) Instruktionsspeichersystem für RISC-Mikroprozessor, fähig zu relativen Progammzahleradressierung
DE2247534B2 (de) Additions- und Subtraktionsvorrichtung
DE3750175T2 (de) Mikroprozessor mit einem Cache-Speicher.
DE2946119C2 (de) Datenverarbeitungseinrichtung mit einer Vielzahl von Datenverarbeitungselementen, denen ein einziger Strom von Steuersignalen zugeführt wird
DE2221442A1 (de) Assoziativspeicher
DE2506671C3 (de) Binärdaten-Handhabungsnetzwerk
DE3121046C2 (de)
DE2617485A1 (de) Verfahren und schaltungsanordnung zur abarbeitung von mikrobefehlsfolgen in datenverarbeitungsanlagen
DE19628039B4 (de) Speicheradressen-Steuerschaltung
DE69025782T2 (de) Registerbankschaltung
DE3000012A1 (de) Schaltungsanordnung zur ausfuehrung eines uebertragungsbefehls in einer datenverarbeitungsanlage
DE69321544T2 (de) Halbleiterspeicheranordnung
DE1499286B2 (de) Datenbearbeitungsanlage

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee