DE3588212T2 - Verfahren und Gerät zum Suchen von Daten - Google Patents

Verfahren und Gerät zum Suchen von Daten

Info

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
Application number
DE3588212T
Other languages
English (en)
Other versions
DE3588212D1 (de
Inventor
Yuzuru Tanaka
Masashi Tsuchida
Akira Yamamoto
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.)
Hitachi Ltd
Original Assignee
Hitachi 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
Priority claimed from JP59173309A external-priority patent/JPH0782426B2/ja
Priority claimed from JP59173310A external-priority patent/JPH0795324B2/ja
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of DE3588212D1 publication Critical patent/DE3588212D1/de
Application granted granted Critical
Publication of DE3588212T2 publication Critical patent/DE3588212T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7896Modular architectures, e.g. assembled from a number of identical packages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90344Query processing by using string matching techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/22Arrangements for sorting or merging computer data on continuous record carriers, e.g. tape, drum, disc
    • G06F7/36Combined merging and sorting
    • 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
    • Y10S707/99937Sorting

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

    VERFAHREN UND VORRICHTUNG ZUM SUCHEN VON DATEN Beschreibung Gebiet der Erfindung:
  • 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.
  • Beschreibung des Standes der Technik:
  • 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.
  • Zusammenfassung der Erfindung:
  • 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.
  • Kurze Beschreibung der Zeichnungen:
  • 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,
  • Genaue Beschreibung der bevorzugten Ausführungsform:
  • 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.
DE3588212T 1984-08-22 1985-08-08 Verfahren und Gerät zum Suchen von Daten Expired - Lifetime DE3588212T2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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