DE3588212T2 - Verfahren und Gerät zum Suchen von Daten - Google Patents
Verfahren und Gerät zum Suchen von DatenInfo
- Publication number
- DE3588212T2 DE3588212T2 DE3588212T DE3588212T DE3588212T2 DE 3588212 T2 DE3588212 T2 DE 3588212T2 DE 3588212 T DE3588212 T DE 3588212T DE 3588212 T DE3588212 T DE 3588212T DE 3588212 T2 DE3588212 T2 DE 3588212T2
- Authority
- DE
- Germany
- Prior art keywords
- searcher
- search
- level
- search term
- slice
- 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 - Lifetime
Links
- 238000000034 method Methods 0.000 title claims description 62
- 230000007704 transition Effects 0.000 claims description 9
- 238000004364 calculation method Methods 0.000 claims description 6
- 230000003111 delayed effect Effects 0.000 claims 2
- 238000010586 diagram Methods 0.000 description 11
- 230000001174 ascending effect Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7896—Modular architectures, e.g. assembled from a number of identical packages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90344—Query processing by using string matching techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/22—Arrangements for sorting or merging computer data on continuous record carriers, e.g. tape, drum, disc
- G06F7/36—Combined merging and sorting
-
- 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
- Y10S707/99937—Sorting
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Complex Calculations (AREA)
Description
- Die vorliegende Erfindung betrifft eine spezielle Hardware und ein Verfahren zum Ausführen einer Datensuche in einer Datenbank oder bei der Dateibearbeitung und insbesondere ein Verfahren und eine Vorrichtung zu Suchen von Daten, das bzw. die hinsichtlich einer Änderung in der Länge der Daten flexibel ist.
- Als datenbankorientierte Hardware zum Suchen von Daten ist eine Maschine vom Haufensortierungstyp bekannt, die von den Erfindern vorgeschlagen wurde (Tanaka, Y. et al: Pipeline Searching and Sorting Modules as Components of a Data Flow Database Computer, IFIP Congress '80, Seiten 427- 432, Okt. 1980). Diese Maschine kann die Übertragungs- und die Sortierungsvorgänge von Daten vollständig überlappen und daher eine sehr effiziente Berechnung ausführen. Die Maschine ist jedoch bezüglich der folgenden Punkte problematisch:
- (1) Aufgrund der komplizierten Schaltung ist die Anzahl der Elemente zu groß und bildet ein Problem bei der LSI- Ausführung.
- (2) Es gibt keine Erweiterungsmöglichkeit bei einer Änderung der Datenlänge.
- Es ist eine andere Sortiermaschine bekannt, die eine Maschine des Mischsortierungstyps ist (Todd, S.: Algorithm and Hardware for a Merge Sort Using Multiple Processors, IBM J. Res.Develop., Bd. 22, Nr. 5, Mai 1978). Da das Berechnungssystem für die Mischsortierung einfacher ist als das für die Haufensortierung, ist die Hardware dafür einfacher, das obige Problem (2) wird dadurch jedoch auch nicht gelöst.
- Angesichts dieser Tatsachen liegt die vorliegende Erfindung im Aufbau einer Suchmaschine, die bei einer Änderung der Datenlänge flexibel ist, und sie hat die Aufgabe, ein Verfahren und eine Vorrichtung zum Suchen zu schaffen, das bzw. die das Erfordernis einer äußerst einfachen Schaltung erfüllt, um eine LSI-Ausführung zu erlauben.
- Erfindungsgemäß wird diese Aufgabe hinsichtlich des Verfahrens mit den im Patentanspruch 1 angegebenen Merkmalen und hinsichtlich der Vorrichtung mit den im Patentanspruch 4 angegebenen Merkmalen gelöst.
- Bevorzugte Ausführungsformen des Verfahrens von Patentanspruch 1 sind in den Unteransprüchen 2 und 3 enthalten, und eine bevorzugte Ausführungsform der Vorrichtung von Patentanspruch 4 ist im Anspruch 5 enthalten.
- Als Mittel zur Realisierung einer Erweiterungsfähigkeit bei einer Änderung der Datenlänge wird daher in Betracht gezogen, die Daten nach jeweils einer festen Anzahl von Bits (bei jedem m-ten Bit) aufzuteilen und die aufgeteilten Daten dann zu verarbeiten. Konkret führt dies zu einer Anordnung, bei der eine Anzahl von Prozessoren, von denen jeder Daten mit m Bit verarbeitet, miteinander verbunden ist. Einer Änderung der Datenlänge kann durch eine Änderung der miteinander verbundenen Anzahl von Prozessoren begegnet werden. Es ist in diesem Fall erforderlich, unter den Prozessoren Informationen auszutauschen, wobei der Umfang des Informationsaustausches klein bleiben soll. Die vorliegende Erfindung ist so aufgebaut, daß der Prozessor, der bestimmte m Bit verarbeitet, nur von dem Prozessor Eingangsinformationen erhält, der die unmittelbar oberhalb liegenden m Bit bearbeitet, und Ausgangsinformationen nur zu dem Prozessor gibt, der die unmittelbar folgenden m Bit bearbeitet.
- Fig. 1(a) und 1(b) sind Flußdiagramme für den Suchprozeß bei der erfindungsgemäßen Suchmaschine;
- Fig. 2(a), 2 (b), 2(c) und 2(d) sind Diagramme zur Erläuterung der Übergangszustände bei dem erfindungsgemäßen Suchprozeß;
- Fig. 3 ist ein Diagramm, das ein Verfahren zur Eingabe eines Suchbegriffes in die erfindungsgemäße Suchmaschine zeigt;
- Fig. 4 ist eine Darstellung der Anordnung eines Bit- Slice-Suchers;
- Fig. 5 ist eine Darstellung der Anordnung einer Steuerschaltung im Bit-Slice-Sucher; und
- Fig. 6 ein Diagramm zur Erläuterung der Handhabung von Daten variabler Länge durch den Bit-Slice-Sucher,
- Es wird nun eine Ausführungsform der Suche beschrieben. Die Suchmaschine führt einen kollektiven Suchprozeß aus.
- Stichwörter, die Daten sind, die zu durchsuchen sind, sind in aufsteigender oder absteigender Reihe angeordnet. Die Stichwörter sind in der Art eines Linksverschiebungs-Binärbaumes (im folgenden als 'LSBT' abgekürzt) gespeichert (vgl. zum Beispiel die ersterwähnte Literaturstelle). Der hier bezeichnete Suchprozeß gibt an, daß die Stichwörter zuerst mit der LSBT-Struktur gespeichert werden, daß dann Operationen zwischen dem LSBT und einem Suchbegriff ausgeführt werden, und daß der Bereich von Adressen festgestellt wird, unter denen die Stichwörter gespeichert sind, die mit dem Suchbegriff übereinstimmen.
- Die Fig. 1(a) und 1(b) sind Diagramme zur Erläuterung des Suchprozesses der Suchmaschine. Die Suchmaschine speichert die Stichwörter in der Form der LSBT-Struktur, wie es in der Fig. 1(a) gezeigt ist. Die Stichwörter werden in den verschiedenen Ebenen des LSBT wie folgt gespeichert. In der ersten Ebene wird '32' gespeichert, '30' und '50' werden in der zweiten Ebene gespeichert, und '23', '31', '36' und '71' in der dritten Ebene. Der Suchprozeß der Suchmaschine beginnt am Wurzelknoten des LSBT, das heißt auf der ersten Ebene der Fig. 1(a), und geht zu den Blattknoten weiter, um den Bereich von Speicherbankadressen zu finden, die die Stichwörter enthalten, die gleich dem Suchbegriff sind. In der Fig. 1(a) ist der Verlauf längs des LSBT beim Suchprozeß in ausgezogenen und gestrichelten Linien aufgezeichnet, wenn der Suchbegriff '31' ist. Die ausgezogenen Linien geben einen Prozeß zum Erhalten der wenigstens einen der Speicherbankadressen an, die die Stichwörter enthalten und die die Beziehung erfüllen, größer oder gleich dem Suchbegriff zu sein, während die gestrichelten Linien einen Prozeß zum Erhalten der wenigstens einen der Speicherbankadressen zeigen, die die Stichwörter enthalten und die die Beziehung erfüllen, größer als der Suchbegriff zu sein. In der Fig. 1(a) sind die Stichwörter (23, 30, 31, 32, 36, 50, 71) in aufsteigender Reihenfolge in der Reihenfolge angegeben, in der die kleinere Adresse vorangeht. Bezüglich der ausgezogenen Linien wird das Stichwort 32 der ersten Ebene und der Suchbegriff 31 verglichen, mit dem Ergebnis, daß die linke Seite des LSBT verfolgt wird, da der Suchbegriff kleiner ist. Daraufhin werden das Stichwort 30 der zweiten Ebene und der Suchbegriff 31 verglichen, mit dem Ergebnis, daß die rechte Seite des LSBT verfolgt wird, da der Suchbegriff größer ist. Schließlich sind das Stichwort 31 der dritten Ebene und der Suchbegriff 31 gleich, so daß die linke Seite des LSBT verfolgt wird. Hier endet der Prozeß. Im Ergebnis wird der LSBT links, rechts und links abgesucht. Wenn '0' links entspricht und '1' rechts, geht aus der Adresse 010&sub2; (= 2) hervor, daß das Stichwort gleich dem Suchbegriff gespeichert ist. Diese Adresse wird die linke Grenze genannt. Bezüglich der gestrichelten Linien wird das Stichwort 32 der ersten Ebene und der Suchbegriff 31 verglichen, mit dem Ergebnis, daß die linke Seite des LSBT verfolgt wird, da der Suchbegriff kleiner ist. Daraufhin werden das Stichwort 30 der zweiten Ebene und der Suchbegriff 31 verglichen, mit dem Ergebnis, daß die rechte Seite des LSBT verfolgt wird, da der Suchbegriff größer ist. Schließlich sind das Stichwort 31 der dritten Ebene und der Suchbegriff 31 gleich, so daß im Gegensatz zum Fall des Findens der linken Grenze die rechte Seite des LSBT verfolgt wird. Dann endet der Prozeß. Im Ergebnis wird der LSBT links, rechts und rechts abgesucht. Wenn '0' links entspricht und '1' rechts, geht aus der Adresse 011&sub2; (= 3) hervor, daß ein Stichwort gespeichert ist, das größer ist als der Suchbegriff. Diese Adresse wird rechte Grenze genannt. Die linke Grenze erfüllt die Bedingung daß sie größer oder gleich der rechten Grenze ist.
- Es wurde insoweit ein Beispiel beschrieben, daß zweistellige Zahlen die Objekte des Suchprozesses sind. In der Fig. 1(b) ist ein Beispiel gezeigt, bei dem der Suchprozeß mittels Bit-Slice-Suchern realisiert wird. Wenn zweistellige Zahlen einem einstelligen Zahlen-Bit-Slicing unterworfen werden, werden Zwei-Bit-Slice-Sucher verwendet. Im ersten Slice werden die Stichworte (2, 3, 3, 3, 3, 5 und 7) in der Reihenfolge der Adressen gespeichert, während im zweiten Slice die Stichworte (3, 0, 1, 2, 6, 0 und 1) in der Reihenfolge der Adressen gespeichert sind. Der Suchbegriff 31 wird auch dem einstelligen Zahlen-Bit-Slicing unterworfen, und 3 und 1 werden als Suchbegriff in den ersten Slice bzw. in den zweiten Slice eingegeben. In beiden Slices startet der Suchprozeß von einer ersten Ebene und endet an einer dritten Ebene und bestimmt eine linke Grenze und eine rechte Grenze. Mit den Bit- Slice-Suchern erfordert der Vergleich der ersten Ebene des zweiten Slices das berechnete Ergebnis der ersten Ebene des ersten Slices. Allgemein wird für den Vergleich der l-ten Ebene des (k + 1)-ten Slices das Berechnungsergebnis der l- ten Ebene des k-ten Slices benötigt. Der Bereich zwischen der linken Grenze und der rechten Grenze, die mit dem ersten Slice bestimmt werden, weist das Merkmal auf, daß er auf der gleichen Ebene weiter ist als der Bereich zwischen der linken Grenze und der rechten Grenze, die mit dem zweiten Slice bestimmt werden. Dies läßt sich aus der Tatsache ersehen, daß die gestrichelten Teile des zweiten Slice in der Fig. 1(b) die linke Grenze und die rechte Grenze des ersten Slices anzeigen, und daß die linke Grenze und die rechte Grenze des zweiten Slices in dem Gebiet liegen, das von den gestrichelten Teilen umschlossen ist.
- Es wird nun die Bestimmung des Suchkurses des zweites Slices unter Verwendung des Suchkurses des ersten Slices erläutert. Zuerst wird eine Prozedur zum Finden der linken Grenze dargestellt. Für den Suchprozeß sollen vier Fälle betrachtet werden.
- Fall XL: Die linke Grenze und die rechte Grenze des ersten Slices und die linke Grenze des zweiten Slices stimmen überein.
- Fall LL: Die linke Grenze des ersten Slices und die linke Grenze des zweiten Slices stimmen überein, und die rechte Grenze des ersten Slices ist größer als diese beiden.
- Fall NL: Die linke Grenze des ersten Slices, die linke Grenze des zweiten Slices und die rechte Grenze des ersten Slices sind in dieser Reihenfolge jeweils größer.
- Fall RL: Die rechte Grenze des ersten Slices und die linke Grenze des zweiten Slices stimmen überein, und die linke Grenze des ersten Slices ist kleiner als diese beiden.
- Die Steuerinformation, die vom ersten Slice zum zweiten Slice übertragen wird, ist die Information COL, die auf jeder Ebene anzeigt, daß sich die linke Grenze des ersten Slices nach links oder rechts bewegt hat. Die Information COL ist {0, 1}, sie wird bei einer Bewegung der linken Grenze nach links zu '0' und bei einer Bewegung nach rechts zu '1'. Diese Steuerinformationsgröße wird auch dazu verwendet, um Speicherbankadressen zum Speichen der Stichwörter zu erzeugen, die verglichen werden, um in jedem Slice auf der nächsten Ebene die linke Grenze und die rechte Grenze zu bestim men. Außerdem wird die Bewegungsrichtung der linken Grenze des ersten Slices mit CIL und die der rechten Grenze mit CIR bezeichnet. Die Information CONDL ist ein Wahrheitswert, der anzeigt, daß das Stichwort größer oder gleich dem Suchbegriff ist, oder daß die linke Grenze größer als die Adresse ist, unter der das Stichwort gespeichert ist.
- Die Information COL wird aus den obigen vier Eingangswerten bestimmt; dem Suchprozeß {XL, LL, NL, RL}, CIL, CIR und CONDL. Das Zustandsübergangsdiagramm ist in der Fig. 2(a) gezeigt. Auf die gleiche Weise wird die Steuerinformation COR für die Bewegung der rechten Grenze bestimmt. Das Zustandsübergangsdiagramm ist in der Fig. 2(b) gezeigt.
- Zuletzt wird der Zustandsübergang des Suchprozesses betrachtet, um den Suchprozeß des ersten Slices mit dem zweiten Slice auf der gleichen Ebene zu erfassen. Wenn der Zustand des Suchprozesses zum Bestimmen der linken Grenze mit dem Zustand des Suchprozesses zum Bestimmen der rechten Grenze gepaart wird, entstehen die folgenden sieben Kombinationen:
- (XL, XR): Linke Grenze des ersten Slices
-
- Linke Grenze des zweiten Slices
-
- Rechte Grenze des zweiten Slices
-
- Rechte Grenze des ersten Slices.
- (LL, LR): Linke Grenze des ersten Slices
-
- Linke Grenze des zweiten Slices
-
- Rechte Grenze des zweiten Slices
-
- Rechte Grenze des ersten Slices.
- (LL, NR): Linke Grenze des ersten Slices
-
- Linke Grenze des zweiten Slices
-
- Rechte Grenze des zweiten Slices
-
- Rechte Grenze des ersten Slices.
- (LL, RR): Linke Grenze des ersten Slices
-
- Linke Grenze des zweiten Slices
-
- Rechte Grenze des zweiten Slices
-
- Rechte Grenze des ersten Slices.
- (NL, NR): Linke Grenze des ersten Slices
-
- Linke Grenze des zweiten Slices
-
- Rechte Grenze des zweiten Slices
-
- Rechte Grenze des ersten Slices.
- (NL, RR): Linke Grenze des ersten Slices
-
- Linke Grenze des zweiten Slices
-
- Rechte Grenze des zweiten Slices
-
- Rechte Grenze des ersten Slices.
- (RL, RR): Linke Grenze des ersten Slices
-
- Linke Grenze des zweiten Slices
-
- Rechte Grenze des zweiten Slices
-
- Rechte Grenze des ersten Slices.
- Der Suchprozeß startet auf der ersten Ebene mit (XL, XR) als Anfangszustand. Die Fig. 2(c) zeigt das Zustandsübergangsdiagramm des Suchprozesses der linken Grenze, während die Fig. 2(d) das Zustandsübergangsdiagramm des Suchprozesses der rechten Grenze zeigt.
- Der obige Suchkurs kann mit zwei Automaten mit jeweils vier Eingängen umgesetzt werden, die das Suchergebnis liefern. Auch wenn das Beispiel eine Suchmaschine des LSBT- Aufbaus mit drei Ebenen aus den beiden Bit-Slice-Suchern darstellt, kann gleichermaßen eine Suchmaschine des LSBT-Aufbaus mit l Ebenen und k Bit-Slice-Suchern realisiert werden.
- Die Fig. 3 zeigt ein Verfahren zum Eingeben eines Suchbegriffes in die Suchmaschine der vorliegenden Erfindung. Die Fig. 3 umfaßt (k + 1) Bit-Slice-Sucher. Der Sucher, der den Suchprozeß für die m Bit der höchsten Stelle des Suchbegriffes ausführt, wird hier modifizierter Bit-Slice-Sucher 20 (im folgenden abgekürzt 'MBSE 20') genannt, während die anderen Sucher außer dem MBSE 20, von denen jeder den Suchprozeß für die entsprechenden m Bit des Suchbegriffes ausführt, Bit- Slice-Sucher 21 (abgekürzt 'BSE 21') genannt werden. Der bit- geslicte Suchbegriff, der den einzelnen Suchern eingegeben wird, wird Eingangsstrom genannt, während die Adresseninformation, die von jedem Sucher ausgegeben wird, Ausgangsstrom genannt wird. Auf diese Weise erhält der MBSE 20 einen Eingangsstrom 0 und liefert einen Ausgangsstrom 0, der BSE 21-1 erhält einen Eingangsstrom 1 und liefert einen Ausgangsstrom 1, und der BSE 21-k erhält einen Eingangsstrom k und liefert einen Ausgangsstrom k. Hinsichtlich des MBSE 20 bezeichnet das Symbol DT 22 einen Anschluß für die Eingabe der höchstwertigen m Bit (Eingangsstrom 0) des Suchbegriffes, das Symbol LB 36 einen Anschluß für die Ausgabe der niedrigsten der Speicherbankadressen, die die Stichwörter enthalten, die die Beziehung erfüllen, gleich oder größer als der Suchbegriff zu sein, und das Symbol RB 37 einen Anschluß für die Ausgabe der niedrigsten der Speicherbankadressen, die die Stichwörter enthalten, die die Beziehung erfüllen, größer als der Suchbegriff zu sein. Die Symbole LO 24-1 und RO 25-1 bezeichnen Ausgangsanschlüsse für die berechneten Ergebnisse auf der ersten Ebene des MBSE 20, und die Symbole LO 26-L und RO 27-L Ausgangsanschlüsse für die berechneten Ergebnisse auf der Lten Ebene des MBSE 20. Hinsichtlich der einzelnen BSE 21 bezeichnet das Symbol DT 23 einen Anschluß für die Eingabe der entsprechenden m Bit des Bit-geslicten Suchbegriffes, das Symbol LB 38 einen Anschluß zur Ausgabe der niedrigsten der Speicherbankadressen, die die Stichwörter enthalten, die die Beziehung erfüllen, gleich oder größer als der Suchbegriff zu sein, und das Symbol RB 39 einen Anschluß für die Ausgabe der niedrigsten der Speicherbankadressen, die die Stichwörter enthalten, die die Beziehung erfüllen, größer als der Suchbegriff zu sein. Die Symbole LI 28-1 und RI 29-1 bezeichnen Eingangsanschlüsse für die Steuerinformationssignale der ersten Ebene, die vom Slice der unmittelbar oberhalb liegenden Stelle eingegebenen werden, und die Symbole LI 30-L und RI 31-L Eingangsanschlüsse für die Steuerinformationssignale der L-ten Ebene, die vom Slice der unmittelbar oberhalb liegenden Stelle eingegeben werden. Die Symbole LO 32-1 und RO 33-1 bezeichnen Ausgangsanschlüsse für die berechneten Ergebnisse auf der ersten Ebene, und die Symbole LO 34-L und RO 35-L Ausgangsanschlüsse für die berechneten Ergebnisse auf der L- ten Ebene. Wie in der Fig. 3 gezeigt, wird der Suchbegriff in (k + 1) Slices mit m Bit aufgeteilt. Es wird angenommen, daß zum Zeitpunkt 0 am MBSE 20 die Daten a1,0 eingegeben werden. Zum Zeitpunkt k werden die Daten a1,k dem BSE 21-k eingegeben. Das heißt, daß die Berechnung des BSE 21-k mit einer Verzögerung von einem Zeitintervall relativ zu dem des BSE 21-k - 1 fortschreitet. Dies beruht auf der Tatsache, daß die Berechnung der Daten a1,k im BSE 21-k das Berechnungsergebnis der Daten a1,k-1 im BSE 21-k - 1 erfordern. Der BSE 21-k erhält diesbezügliche Steuerinformationen vom BSE 21-k - 1.
- Die Fig. 4 ist ein Blockschaltbild der Bit-Slice- Sucher. Es entspricht dem BSE 21-k in der Fig. 3. Der Bit- Slice-Sucher besteht aus Steuerschaltungen 30 (im folgenden abgekürzt zu 'CL 30') und Speicherbänken 31 (im folgenden abgekürzt zu 'MB 31') zum Speichern von Stichwörtern. Da die Stichwörter in der LSBT-Struktur gespeichert werden, werden ein Wort in der MB 31-1 der ersten Ebene, zwei Wörter in der MB 31-2 der zweiten Ebene ... und 2L-1 Wörter in der MB 31-L der L-ten Ebene gespeichert. Der Suchprozeß der Suchmaschine der vorliegenden Erfindung startet an der Wurzel der LSBT- Struktur. Das Operationsergebnis zwischen der MB 31-1 der ersten Ebene und einem Suchbegriff wird übertragen, woraufhin die Operationen ähnlich zu den unteren Ebenen fortschreiten. Der Bereich von Stellen, an denen die Stichwörter gespeichert sind, die mit dem Suchbegriff übereinstimmen, ergibt sich aus dem Operationsergebnis zwischen dem MB 31-L der L-ten Ebene und dem Suchbegriff. Die Steuerschaltungen 30 der jeweiligen Ebenen im Bit-Slice-Sucher der Fig. 4 sind gleich.
- Es werden nun die Eingangsinformationen und die Ausgangsinformationen auf jeder Ebene anhand der l-ten Ebene erläutert. Das Bezugszeichen 32 bezeichnet Steuerinformationen, die die Bewegungsrichtung einer linken Grenze anzeigen, die als Ergebnis der Operation auf der l-ten Ebene des (k - 1)-ten Slices bestimmt wurde, während das Bezugszeichen 33 Steuerinformationen bezeichnet, die die Bewegungsrichtung einer rechten Grenze angeben, die ähnlich als das Ergebnis der Operation auf der l-ten Ebene des (k - 1)-ten Slices bestimmt wurde. Das Bezugszeichen 310 bezeichnet den Suchbegriff, der mit dem Stichwort der l-ten Ebene verglichen wird. Die Steuerinformationsgrößen 311 und 312 informieren jeweils die l-te Ebene des entsprechenden Slices von den Bewegungen einer linken Grenze, die als das Ergebnis der Operation auf der (l - 1)-ten Ebene bestimmt wurde, und einer rechten Grenze, die als das Ergebnis der Operation auf der (l - 1)-ten Ebene bestimmt wurde. Die Steuerinformationsgrößen 36 und 37 informieren jeweils die l-te Ebene des (k + 1)-ten Slices von den Bewegungen der linken Grenze und der rechten Grenze auf der jeweiligen Ebene des entsprechenden Slices. Das Bezugszeichen 313 bezeichnet den Suchbegriff, der zu der (l + 1) - ten Ebene des entsprechenden Slices übertragen wird. Die Eingangs/Ausgangsleitungen 314 und 315 übertragen jeweils die linke Grenze und die rechte Grenze, die, als die Ergebnisse der Operationen auf der jeweiligen Ebene des entsprechenden Slices bestimmt wurden.
- Die Fig. 5 ist ein Blockschaltbild der Steuerschaltung 30-l auf der l-ten Ebene im Bit-Slice-Sucher 21-k der Fig. 4. Das Symbol WL 40 bezeichnet einen Haltekreis, dem die linke Grenze zugeführt wird, die als das Ergebnis der Operation auf der (l - 1)-ten Ebene bestimmt wurde, während das Symbol WR 41 einen Haltekreis bezeichnet, dem die rechte Grenze zugeführt wird, die das Ergebnis der Operation auf der (l - 1)-ten Ebene ist. Beim Symbol CL 42 ist eine Steuerschaltung gezeigt, die sowohl den Suchbegriff als auch das Stichwort in der Speicherbank, das durch die linke Grenze und die rechte Grenze angegeben wird, die auf der (l - 1)-ten Ebene bestimmt wurde, als auch die Steuerinformationsgrößen zugeführt erhält, die die Bewegungen der linken Grenze und der rechten Grenze angeben, wie es von der l-ten Ebene im BSE 21-k + 1 zugeführt wird und die die Bewegungen der linken Grenze und der rechten Grenze auf der jeweiligen Ebene des entsprechenden Slices zu der l-ten Ebene im BSE 21-k + 1 liefert. Das Symbol K 43 bezeichnet einen Haltekreis für den Suchbegriff, der von der (l - 1)-ten Ebene erhalten wird. Ein Register LB 44 nimmt die Bewegung der linken Grenze auf, die das Operationsergebnis auf der jeweiligen Ebene des entsprechenden Slices ist, und die der linken Grenze, die auf der (l - 1)-ten Ebene bestimmt wurde, und liefert die linke Grenze, die auf der l-ten Ebene bestimmt wurde, während ein Register RB 45 die Bewegung der rechten Grenze aufnimmt, die das Operationsergebnis auf der jeweiligen Ebene des entsprechenden Slices ist, und die rechte Grenze aufnimmt, die auf der (l - 1)-ten Ebene bestimmt wurde, und die rechte Grenze liefert, die auf der l-ten Ebene bestimmt wurde. Ein Haltekreis LO 46 nimmt die Bewegung der linken Grenze auf, die das Operationsergebnis auf der jeweiligen Ebene ist, und liefert die Bewegung der linken Grenze an die l-te Ebene des BSE 21-k + 1, während ein Haltekreis RO 47 die Bewegung der rechten Grenze erfaßt, die das Operationsergebnis auf der jeweiligen Ebene ist, und die Bewegung der rechten Grenze an die l-te Ebene des BSE 21-k + 1 liefert.
- Die CL 42 ist so ausgeführt, daß durch die Schaltungsanordnung das Zustandsübergangsdiagramm der Fig. 2 realisiert wird. Zwischen der l-ten Ebene des BSE 21-k und den Tabellen der Fig. 2(a) und 2(b) entspricht die Information 32 CIL, die Information 33 CIR, die Information 36 COL und die Information 37 COR. Die Register LB 44 und RB 45 bestimmen jeweils die linke Grenze bzw. die rechte Grenze auf der l-ten Ebene durch Addieren von Bits, die die Bewegungen der linken Grenze und der rechten Grenze ausdrücken, die auf der jeweiligen Ebene bestimmt wurden, zu den niedrigstwertigen Bits der linken Grenze und der rechten Grenze, die von der (l - 1)-ten Ebene erhalten wurden, und übertragen die bestimmten linken und rechten Grenzen zu der (l + 1)-ten Ebene.
- Die Fig. 6 dient der Erläuterung des Falles, daß Daten mit variabler Länge mit den Bit-Slice-Suchern gehandhabt werden. Das Symbol CL 50 bezeichnet eine Steuerschaltung, die die Separationssteuerung der Bit-Slice-Sucher ausführt, und das Symbol CS 51 ein Steuersignal, das der Steuerschaltung CL 50 eingegeben wird. Das CS 51-0 ist normalerweise EIN und wird dem MBSE 20 eingegeben. Jeder BSE 21 ist mit der CL 50 ausgestattet, wie es in der Fig. 6 gezeigt ist, und das CS 51 wird EIN oder AUS geschaltet. Dadurch wird es möglich, die jeweiligen Eingangssignale LI 28 und RI 29 mit den Ausgangssignalen LO 32 und RO 33 des Slices der unmittelbar darüberliegenden Stelle so zuzuführen, wie sie sind (für CS 51 = AUS), oder zu allen Zeiten das Eingangssignal LI 28 mit '0' und RI 29 mit '1' zuzuführen (für CS 51 = EIN). Das Steuersignal wird gemeinsam den jeweiligen Ebenen dergleichen Slices zugeführt. Der BSE 21-k, dessen CS 51-k EIN ist, arbeitet wie der MBSE 20, der die höchstwertigen m Bit eines Suchbegriffes verarbeitet. Entsprechend kann durch Einstellen des gewünschten CS 51 auf EIN oder AUS eine Suchmaschine, die den Suchprozeß für lange Daten ausführt, oder eine Anzahl von Suchmaschinen, die den Suchprozeß für kurze Daten ausführen, ausgebildet werden.
- Erfindungsgemäß kann eine flexible Suchmaschine gebaut werden, die Daten veränderliche Länge verarbeiten kann. Die Suchmaschine ist hier eine Vorrichtung, bei der eine Anzahl von Bit-Slice-Suchern verbunden ist. Die Steuerinformationen, die jedem Bit-Slice-Sucher eingegeben und die davon ausgegeben werden, bestehen aus 2 Bit, und es sind für einen Suchprozeß, der N Stichwörter verarbeitet, LOG&sub2;N Vergleicher erforderlich. Unter Berücksichtigung der Eingabe/Ausgabe- Steuerinformationen ist daher die Anzahl von Pins, die bei einer LSI-Implementation der Bit-Slice-Sucher erforderlich sind, gleich 4·LOG&sub2;N. Für N = 4096 wird dieser Wert zu 48. Wenn ein Suchbegriff einem 1-Bit-Slicing unterworfen wird, reicht eine Anzahl von etwa 50 Pins aus, auch wenn Pins für Eingangsdaten, eine Stromversorgung, Masse usw. hinzugefügt werden. Außerdem liegt die Anzahl der erforderlichen Transistoren in der Größenordnung von 100 000 bei einem SRAM (statischer Direktzugriffsspeicher) und in der Größenordnung von 50 000 bei einem DRAM (dynamischen Direktzugriffsspeicher), was mit der gegenwärtigen LSI-Technologie in zufriedenstellender Weise realisiert werden kann.
Claims (5)
1. Verfahren zum Suchen von n-stelligen Stichwörtern K,
wobei Stellen mit gleicher Wertigkeit an Adressen eines
Speichers als ein entsprechender vorgegebener Binärbaum auf den
jeweiligen Ebenen des Binärbaums und in vorgegebener
Reihenfolge gespeichert werden, wobei das Verfahren von einem n-
stelligen Suchbegriff S Gebrauch macht und, beginnend mit der
ersten Ebene und endend auf der letzten Ebene, für jede
Stelle des Suchbegriffes S einen Vergleichsprozeß zum Erhalten
der niedrigsten der Speicheradressen, die die Stichwortstelle
enthält, die die Beziehung erfüllt, daß sie größer ist oder
gleich der entsprechenden Suchbegriffstelle, wobei die
festgestellte Adresse die linke Grenze eines Suchbereichs genannt
wird, und einen Vergleichsprozeß zum Erhalten der niedrigsten
der Speicheradressen, die die Stichwortstelle enthält, die
die Beziehung erfüllt, daß sie größer ist als die
entsprechende Suchbegriffstelle, wobei die festgestellte Adresse die
rechte Grenze des Suchbereiches genannt wird, umfaßt, wobei
das berechnete Ergebnis auf der Ebene einer Stelle zum
Durchführen des Vergleichs auf der gleichen Ebene für die
nächstniedrigere Stelle verwendet wird,
wobei jede Stichwortstelle in Stellen mit m Bit
aufgeteilt wird und das Verfahren von einem System mit Bit-
Slice-Suchern Gebrauch macht, wobei jeder Bit-Slice-Sucher
die entsprechende Stelle des n-stelligen Suchbegriffs und die
entsprechenden Stellen der Stichwörter auf jeder Ebene
zugeführt erhält, um die zur darauffolgenden Ebene zu verfolgende
Richtung zu bestimmen, und den Suchbereich an
Speicheradressen ausgibt,
wobei die Suche mit dem einen Sucher beginnt, der die
höchstwertige Stelle behandelt und der
Vorwärtssteuerinformationen an den nächsten Sucher übergibt, der die
nächstniedrigere Stelle behandelt, wobei die Steuerinformationen die
Be
wegungen der linken Grenze und der rechten Grenze des
entsprechenden Suchers betreffen, um dem nächsten Sucher
mitzuteilen, nur die Stichwortstellen im Suchbereich des Suchers
der unmittelbar oberen Stelle zu durchsuchen,
wobei das Timing der an einen Sucher angelegten Daten
bezüglich des Timings der Daten, die an den Sucher für den
unmittelbar oberen Sucher angelegt werden, um eine Zeitspanne
verzögert wird, und wobei das Verfahren die folgenden
Schritte umfaßt:
(a) Vergleichen, auf der ersten Ebene während der
ersten Zeitspanne im ersten Sucher, der die höchstwertige
Stelle behandelt, der höchstwertigen Stelle des ersten
Suchbegriffes und Ausgeben des Suchbereiches an Adressen für die
höchstwertige Stelle des ersten Suchbegriffes sowie Ausgeben
von Steuerinformationen an den zweiten Sucher auf der ersten
Ebene, wie die Bewegungsrichtung der linken Grenze und die
der rechten Grenze des ersten Suchers ist;
(b) Vergleichen, während der zweiten Zeitspanne im
ersten Sucher auf der ersten Ebene, der die höchstwertige
Stelle behandelt, der höchstwertigen Stelle des zweiten
Suchbegriffes und Ausgeben des Suchbereiches von Adressen für die
höchstwertige Stelle des zweiten Suchbegriffes sowie Ausgeben
von Steuerinformationen an den zweiten Sucher auf der ersten
Ebene, wie die Bewegungsrichtung der linken Grenze des ersten
Suchers und die der rechten Grenze des ersten Suchers ist;
Vergleichen, während der zweiten Zeitspanne im ersten
Sucher auf der zweiten Ebene, der die höchstwertige Stelle
behandelt, der höchstwertigen Stelle des ersten Suchbegriffes
und Ausgeben des Suchbereiches an Adressen für die
höchstwertige Stelle des ersten Suchbegriffes sowie Ausgeben von
Steuerinformationen an den zweiten Sucher auf der zweiten
Ebene, wie die Bewegungsrichtung der linken Grenze und die
der rechten Grenze des ersten Suchers ist;
Vergleichen, während der zweiten Zeitspanne im
zweiten Sucher auf der ersten Ebene, der nächstniedrigeren Stelle
des ersten Suchbegriffes und Ausgeben des Suchbereiches von
Adressen für die nächstniedrigere Stelle des ersten
Suchbegriffes sowie Ausgeben von Steuerinformationen an den dritten
Sucher auf der ersten Ebene, wie die Bewegungsrichtung der
linken Grenze und die der rechten Grenze des zweiten Suchers
ist; und
(c), bevor Berechnungen im zweiten Sucher ausgeführt
werden, Erhalten von zwei Übergangszustandstabellen für den
ersten Sucher, von denen jede vier Informationseinheiten für
den Sucher aufnimmt, die aus zwei Steuerinformationseinheiten
bestehen, die Operationen in einem Suchbereich, die von dem
Sucher der unmittelbar oberen Stelle angelegt werden,
Informationen über das Vergleichsergebnis zwischen der
Stichwortstelle des jeweiligen Suchers und der Suchbegriffstelle, und
Informationen über den Zustand des Suchprozesses enthalten,
wobei dadurch der Sucher der unmittelbar folgenden Stelle des
Suchbereiches informiert wird und der Zustand des
Suchprozesses des jeweiligen Suchers festgestellt wird; und
(d) Wiederholen der Schritte (b) und (c) in den
folgenden Zeitspannen für die folgenden Sucher.
2. Suchverfahren nach Anspruch 1, wobei gemäß dem Bit-
Slicing die Steuerinformation von einem Slice einer
unmittelbar oberen Stelle, das die m Bit der oberen Stelle des
Stichwortes eines bestimmten Slices speichert, zu einem Slice der
unmittelbar folgenden Stelle fließt, um das jeweilige Slice
von dem Suchbereich, der in dem Slice der unmittelbar oberen
Stelle durchsucht wurde, zu informieren und in dem jeweiligen
Slice nur die Stichworte im Suchbereich des Slices der
unmittelbar oberen Stelle zu durchsuchen.
3. Suchverfahren nach Anspruch 2, wobei die
Steuerinformation dazu verwendet wird, eine Steuerung auszuführen, die
eine Suchmaschine zum Verarbeiten von langen Daten bzw. eine
Anzahl von Suchmaschinen zum Verarbeiten von kurzen Daten
realisiert.
4. Vorrichtung zum Suchen von n-stelligen Stichwörtern
K, wobei Stellen mit gleicher Wertigkeit an Adressen eines
Speichers als ein entsprechender vorgegebener Binärbaum auf
den jeweiligen Ebenen des Binärbaums und in vorgegebener
Reihenfolge gespeichert werden, wobei das Verfahren von einem n-
stelligen Suchbegriff S Gebrauch macht und, beginnend mit der
ersten Ebene und endend auf der letzten Ebene, für jede
Stelle des Suchbegriffes S einen Vergleichsprozeß zum Erhalten
der niedrigsten der Speicheradressen, die die Stichwortstelle
enthält, die die Beziehung erfüllt, daß sie größer ist oder
gleich der entsprechenden Suchbegriffstelle, wobei die
festgestellte Adresse die linke Grenze eines Suchbereichs genannt
wird, und einen Vergleichsprozeß zum Erhalten der niedrigsten
der Speicheradressen, die die Stichwortstelle enthält, die
die Beziehung erfüllt, daß sie größer ist als die
entsprechende Suchbegriffstelle, wobei die festgestellte Adresse die
rechte Grenze des Suchbereiches genannt wird, umfaßt, wobei
das berechnete Ergebnis auf der Ebene einer Stelle zum
Durchführen des Vergleichs auf der gleichen Ebene für die
nächstniedrigere Stelle verwendet wird, mit
einer Einrichtung zum Aufteilen jeder Stichwortstelle
in Stellen mit m Bit, und mit einer Anzahl von Bit-Slice-
Suchern (20, 21), wobei jeder Bit-Slice-Sucher die
entsprechende Stelle des n-stelligen Suchbegriffs und die
entsprechenden Stellen der Stichwörter auf jeder Ebene zugeführt
erhält, um die zur darauffolgenden Ebene zu verfolgende
Richtung zu bestimmen, und den Suchbereich an Speicheradressen
ausgibt,
wobei die Suche mit dem einen Sucher beginnt, der die
höchstwertige Stelle behandelt und der
Vorwärtssteuerinformationen an den nächsten Sucher übergibt, der die
nächstniedrigere Stelle behandelt, wobei die Steuerinformationen die
Be
wegungen der linken Grenze und der rechten Grenze des
entsprechenden Suchers betreffen, um dem nächsten Sucher
mitzuteilen, nur die Stichwortstellen im Suchbereich des Suchers
der unmittelbar oberen Stelle zu durchsuchen,
wobei das Timing der an einen Sucher angelegten Daten
bezüglich des Timings der Daten, die an den Sucher für den
unmittelbar oberen Sucher angelegt werden, um eine Zeitspanne
verzögert wird, und wobei die Vorrichtung umfaßt:
(a) eine Einrichtung zum Vergleichen, auf der ersten
Ebene während der ersten Zeitspanne im ersten Sucher, der die
höchstwertige Stelle behandelt, der höchstwertigen Stelle des
ersten Suchbegriffes und zum Ausgeben des Suchbereiches an
Adressen für die höchstwertige Stelle des ersten
Suchbegriffes sowie zum Ausgeben von Steuerinformationen an den zweiten
Sucher auf der ersten Ebene, wie die Bewegungsrichtung der
linken Grenze und die der rechten Grenze des ersten Suchers
ist;
(b) eine Einrichtung zum Vergleichen, während der
zweiten Zeitspanne im ersten Sucher auf der ersten Ebene, der
die höchstwertige Stelle behandelt, der höchstwertigen Stelle
des zweiten Suchbegriffes und zum Ausgeben des Suchbereiches
von Adressen für die höchstwertige Stelle des zweiten
Suchbegriffes sowie zum Ausgeben von Steuerinformationen an den
zweiten Sucher auf der ersten Ebene, wie die
Bewegungsrichtung der linken Grenze des ersten Suchers und die der rechten
Grenze des ersten Suchers ist;
eine Einrichtung zum Vergleichen, während der zweiten
Zeitspanne im ersten Sucher auf der zweiten Ebene, der die
höchstwertige Stelle behandelt, der höchstwertigen Stelle des
ersten Suchbegriffes und zum Ausgeben des Suchbereiches an
Adressen für die höchstwertige Stelle des ersten
Suchbegriffes sowie zum Ausgeben von Steuerinformationen an den zweiten
Sucher auf der zweiten Ebene, wie die Bewegungsrichtung der
linken Grenze und die der rechten Grenze des ersten Suchers
ist;
eine Einrichtung zum Vergleichen, während der zweiten
Zeitspanne im zweiten Sucher auf der ersten Ebene, der
nächstniedrigeren Stelle des ersten Suchbegriffes und
Ausgeben des Suchbereiches von Adressen für die nächstniedrigere
Stelle des ersten Suchbegriffes sowie zum Ausgeben von
Steuerinformationen an den dritten Sucher auf der ersten Ebene,
wie die Bewegungsrichtung der linken Grenze und die der
rechten Grenze des zweiten Suchers ist; wobei
(c) , bevor Berechnungen im zweiten Sucher ausgeführt
werden, zwei Übergangszustandstabellen für den ersten Sucher
erhalten werden, von denen jede vier Informationseinheiten
für den Sucher aufnimmt, die aus zwei
Steuerinformationseinheiten bestehen, die Operationen in einem Suchbereich, die
von dem Sucher der unmittelbar oberen Stelle angelegt werden,
Informationen über das Vergleichsergebnis zwischen der
Stichwortstelle des jeweiligen Suchers und der Suchbegriffstelle,
und Informationen über den Zustand des Suchprozesses
enthalten, wobei dadurch der Sucher der unmittelbar folgenden
Stelle des Suchbereiches informiert wird und der Zustand des
Suchprozesses des jeweiligen Suchers festgestellt wird; und
wobei
(d) die Schritte (b) und (c) in den folgenden
Zeitspannen für die folgenden Sucher wiederholt werden.
5. Suchvorrichtung nach Anspruch 4, wobei die
Steuerinformation dazu verwendet wird, eine Steuerung auszuführen,
die eine Suchmaschine zum Verarbeiten von langen Daten bzw.
eine Anzahl von Suchmaschinen zum Verarbeiten von kurzen
Daten realisiert.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP59173309A JPH0782426B2 (ja) | 1984-08-22 | 1984-08-22 | マージ・ソート方法および装置 |
JP59173310A JPH0795324B2 (ja) | 1984-08-22 | 1984-08-22 | サーチ方法および装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3588212D1 DE3588212D1 (de) | 1999-06-17 |
DE3588212T2 true DE3588212T2 (de) | 1999-12-30 |
Family
ID=26495339
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE8585109999T Expired - Lifetime DE3587176T2 (de) | 1984-08-22 | 1985-08-08 | Verfahren und einrichtung zum mischen/sortieren von daten. |
DE3588212T Expired - Lifetime DE3588212T2 (de) | 1984-08-22 | 1985-08-08 | Verfahren und Gerät zum Suchen von Daten |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE8585109999T Expired - Lifetime DE3587176T2 (de) | 1984-08-22 | 1985-08-08 | Verfahren und einrichtung zum mischen/sortieren von daten. |
Country Status (3)
Country | Link |
---|---|
US (1) | US5185888A (de) |
EP (2) | EP0214313B1 (de) |
DE (2) | DE3587176T2 (de) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0743700B2 (ja) * | 1990-07-17 | 1995-05-15 | 三菱電機株式会社 | データ駆動型情報処理装置 |
US5307485A (en) * | 1991-05-31 | 1994-04-26 | International Business Machines Corporation | Method and apparatus for merging sorted lists in a multiprocessor shared memory system |
US5410689A (en) * | 1991-06-13 | 1995-04-25 | Kabushiki Kaisha Toshiba | System for merge sorting that assigns an optical memory capacity to concurrent sort cells |
TW225074B (de) * | 1992-10-30 | 1994-06-11 | American Telephone & Telegraph | |
US5579223A (en) * | 1992-12-24 | 1996-11-26 | Microsoft Corporation | Method and system for incorporating modifications made to a computer program into a translated version of the computer program |
JP3352786B2 (ja) * | 1993-11-01 | 2002-12-03 | 三菱電機株式会社 | プロセッサ回路 |
JP3518034B2 (ja) * | 1995-03-30 | 2004-04-12 | 三菱電機株式会社 | ソート方法並びにソート処理装置並びにデータ処理装置 |
US5913216A (en) * | 1996-03-19 | 1999-06-15 | Lucent Technologies, Inc. | Sequential pattern memory searching and storage management technique |
US5995962A (en) * | 1997-07-25 | 1999-11-30 | Claritech Corporation | Sort system for merging database entries |
US6553453B1 (en) | 1999-09-10 | 2003-04-22 | Sibercore Technologies, Inc. | Variable width content addressable memory device for searching variable width data |
US6362990B1 (en) | 1999-09-10 | 2002-03-26 | Sibercore Technologies | Three port content addressable memory device and methods for implementing the same |
US6392910B1 (en) * | 1999-09-10 | 2002-05-21 | Sibercore Technologies, Inc. | Priority encoder with multiple match function for content addressable memories and methods for implementing the same |
JP5799706B2 (ja) * | 2011-09-26 | 2015-10-28 | 富士通株式会社 | 検索要求処理装置 |
US10198264B2 (en) | 2015-12-15 | 2019-02-05 | Intel Corporation | Sorting data and merging sorted data in an instruction set architecture |
JP7519751B2 (ja) * | 2016-10-14 | 2024-07-22 | 株式会社レゾナック・パッケージング | シール材 |
US11048475B2 (en) | 2017-11-30 | 2021-06-29 | International Business Machines Corporation | Multi-cycle key compares for keys and records of variable length |
US11354094B2 (en) | 2017-11-30 | 2022-06-07 | International Business Machines Corporation | Hierarchical sort/merge structure using a request pipe |
US10896022B2 (en) | 2017-11-30 | 2021-01-19 | International Business Machines Corporation | Sorting using pipelined compare units |
US10936283B2 (en) * | 2017-11-30 | 2021-03-02 | International Business Machines Corporation | Buffer size optimization in a hierarchical structure |
CN111343225B (zh) * | 2018-12-19 | 2024-04-09 | 三六零科技集团有限公司 | 一种文件处理方法和装置 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US2844309A (en) * | 1952-11-20 | 1958-07-22 | Rca Corp | Comparing system |
DE1151961B (de) * | 1960-05-06 | 1963-07-25 | Olympia Werke Ag | Schaltungsanordnung zum Vergleichen von Dezimalzahlen |
US3311892A (en) * | 1963-09-30 | 1967-03-28 | Gen Precision Inc | Sorting system with two-line sorting switch |
JPS5833572B2 (ja) * | 1977-10-21 | 1983-07-20 | 株式会社東芝 | 情報処理方式 |
US4224676A (en) * | 1978-06-30 | 1980-09-23 | Texas Instruments Incorporated | Arithmetic logic unit bit-slice with internal distributed iterative control |
US4316177A (en) * | 1979-12-03 | 1982-02-16 | Rca Corporation | Data classifier |
US4418383A (en) * | 1980-06-30 | 1983-11-29 | International Business Machines Corporation | Data flow component for processor and microprocessor systems |
US4393468A (en) * | 1981-03-26 | 1983-07-12 | Advanced Micro Devices, Inc. | Bit slice microprogrammable processor for signal processing applications |
US4507748A (en) * | 1982-08-02 | 1985-03-26 | International Telephone And Telegraph Corporation | Associative processor with variable length fast multiply capability |
US4528641A (en) * | 1982-11-16 | 1985-07-09 | The United States Of America As Represented By The Secretary Of The Air Force | Variable radix processor |
US4630234A (en) * | 1983-04-11 | 1986-12-16 | Gti Corporation | Linked list search processor |
-
1985
- 1985-08-08 EP EP85109999A patent/EP0214313B1/de not_active Expired - Lifetime
- 1985-08-08 EP EP91120314A patent/EP0478006B1/de not_active Expired - Lifetime
- 1985-08-08 DE DE8585109999T patent/DE3587176T2/de not_active Expired - Lifetime
- 1985-08-08 DE DE3588212T patent/DE3588212T2/de not_active Expired - Lifetime
- 1985-08-21 US US06/767,852 patent/US5185888A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
DE3587176T2 (de) | 1993-07-01 |
EP0214313A2 (de) | 1987-03-18 |
EP0478006A3 (en) | 1993-09-01 |
DE3588212D1 (de) | 1999-06-17 |
US5185888A (en) | 1993-02-09 |
DE3587176D1 (de) | 1993-04-15 |
EP0478006A2 (de) | 1992-04-01 |
EP0214313B1 (de) | 1993-03-10 |
EP0478006B1 (de) | 1999-05-12 |
EP0214313A3 (en) | 1989-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3588212T2 (de) | Verfahren und Gerät zum Suchen von Daten | |
DE3587137T2 (de) | Inhaltsadressierbarer speicher. | |
DE3650156T2 (de) | Auf regeln basiertes datenwiederauffindverfahren und anordnung. | |
DE3882772T2 (de) | Vektorprozessor angepasst zum Sortieren von Vektordaten. | |
DE2311220A1 (de) | Digital-informations-verarbeitungsvorrichtung zur zeichenerkennung | |
DE3636106A1 (de) | Digitaler signalprozessor | |
DE3688640T2 (de) | Suchgerät. | |
DE2819571A1 (de) | Datenverarbeitungsanlage mit mehreren prozessoren | |
DE3224034A1 (de) | Mehrprozessorensystem | |
DE4334294C1 (de) | Prozessor für Zeichenketten variabler Länge | |
DE2730328B2 (de) | Schaltungsanordnung zur Feststellung des bestübereinstimmenden Datenworts von in einem Datenwort-Speicher gespeicherten Datenworten mit einem Suchwort | |
DE2133638C3 (de) | Verfahren zum Betrieb eines lernfähigen Systems aus in Kaskade geschalteten, zur nicht linearen Datenverarbeitung geeigneten lernfähigen Datenverarbeitungseinheiten | |
DE3788617T2 (de) | Vektordatenverarbeitungssystem mit einer E/A-Steuerung für jeden Vektordatenprozessor und einer anderen E/A-Steuerung für mindestens einen anderen Vektordatenprozessor. | |
DE2359920A1 (de) | Adressiereinheit fuer einen gemeinschaftsspeicher | |
DE4210109C2 (de) | Sortiervorrichtung zum Sortieren von Daten und Sortierverfahren | |
EP0043571B1 (de) | Schaltungsanordnung zur maschinellen Zeichenerkennung | |
DE3872188T2 (de) | Binaerer vergleicher und sortierwerk fuer binaerzahlen. | |
DE2165730A1 (de) | Rechensystem | |
DE60132328T2 (de) | Bestimmung des minimum- oder des maximumwertes in einem datensatz | |
DE3789914T2 (de) | Vorrichtung zur Bestimmung der Prioritätsordnung. | |
DE2726679A1 (de) | Kanalsteuerung fuer datenverarbeitungsanlagen und verfahren zu ihrem betrieb | |
DE3149926A1 (de) | Programmierbare vergleichsschaltung | |
DE69230924T2 (de) | Multiplizierer-Schaltungen mit seriellem Eingang | |
DE2426253B2 (de) | Vorrichtung zum ziehen der quadratwurzel aus einer binaeren zahl | |
DE3587612T2 (de) | Suchverfahren für Assoziationsmatrix. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition |