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
Links
- 230000015654 memory Effects 0.000 claims description 35
- 230000014509 gene expression Effects 0.000 description 6
- 238000000034 method Methods 0.000 description 6
- 210000004027 cell Anatomy 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 210000000352 storage cell Anatomy 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4494—Execution paradigms, e.g. implementations of programming paradigms data driven
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
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.
- 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.
- 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.
- 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.
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)
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)
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)
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 |
-
1985
- 1985-06-19 GB GB858515482A patent/GB8515482D0/en active Pending
-
1986
- 1986-04-23 GB GB8609856A patent/GB2176919B/en not_active Expired
- 1986-05-15 DE DE86303706T patent/DE3688640T2/de not_active Expired - Fee Related
- 1986-05-15 EP EP86303706A patent/EP0206504B1/de not_active Expired - Lifetime
- 1986-05-19 US US06/864,428 patent/US4751684A/en not_active Expired - Lifetime
- 1986-05-27 ZA ZA863960A patent/ZA863960B/xx unknown
- 1986-06-17 JP JP61139403A patent/JPS61294545A/ja active Pending
- 1986-06-18 AU AU58823/86A patent/AU585026B2/en not_active Ceased
Cited By (3)
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 |