DE10106340A1 - Schaltung zur Verarbeitung von Daten - Google Patents

Schaltung zur Verarbeitung von Daten

Info

Publication number
DE10106340A1
DE10106340A1 DE10106340A DE10106340A DE10106340A1 DE 10106340 A1 DE10106340 A1 DE 10106340A1 DE 10106340 A DE10106340 A DE 10106340A DE 10106340 A DE10106340 A DE 10106340A DE 10106340 A1 DE10106340 A1 DE 10106340A1
Authority
DE
Germany
Prior art keywords
data
circuit according
rules
possibly
registers
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.)
Withdrawn
Application number
DE10106340A
Other languages
English (en)
Inventor
Avi Epstein
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.)
Europaisches Laboratorium fuer Molekularbiologie EMBL
Original Assignee
Europaisches Laboratorium fuer Molekularbiologie EMBL
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Europaisches Laboratorium fuer Molekularbiologie EMBL filed Critical Europaisches Laboratorium fuer Molekularbiologie EMBL
Priority to DE10106340A priority Critical patent/DE10106340A1/de
Priority to JP2002565188A priority patent/JP2004533033A/ja
Priority to EP02706663A priority patent/EP1360613A2/de
Priority to IL15729902A priority patent/IL157299A0/xx
Priority to PCT/DE2002/000393 priority patent/WO2002065332A2/de
Priority to US10/467,536 priority patent/US20040139074A1/en
Priority to CA002437815A priority patent/CA2437815A1/en
Publication of DE10106340A1 publication Critical patent/DE10106340A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor

Landscapes

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

Abstract

Eine Schaltung zur Verarbeitung von Daten, umfassend einen Chip (1) mit mindestens zwei Registern (2), ist im Hinblick auf die Optimierung der Durchsuchung einer Datenbank zeitlich derart ausgebildet, dass in den Registern (2) Regeln zur Durchsuchung von zu einer Datenbank zusammengefassten Daten abgelegt sind und dass die Regeln im Wesentlichen simultan abarbeitbar sind.

Description

Die Erfindung betrifft eine Schaltung zur Verarbeitung von Daten, umfassend einen Chip mit mindestens zwei Registern.
Schaltungen zur Verarbeitung von Daten, die einen Chip mit mindestens zwei Registern umfassen, sind hinlänglich bekannt. Es ist auch Software zur Durchsu­ chung von zu einer Datenbank zusammengefassten Daten bekannt, wobei die Daten im Allgemeinen aus einzelnen Zeichen zusammengesetzt sind. Diese Durchsuchung ist im Allgemeinen durch das sequentielle Abarbeiten eines Pro­ gramms mit einem allgemein gebräuchlichen Computer implementiert.
Eine solche softwaremäßige Implementierung ist besonders dahingehend pro­ blematisch, dass selbst bei einer sehr schnellen Taktzahl des Prozessors das se­ quentielle Abarbeiten der nötigen Befehle eines solchen Programms eine sehr lange Gesamtzeit benötigt.
Der vorliegenden Erfindung liegt daher die Aufgabe zugrunde, eine Schaltung zur Verarbeitung von Daten anzugeben, bei der die Durchsuchung einer Daten­ bank zeitlich optimiert ist.
Erfindungsgemäß wird die voranstehende Aufgabe durch eine Schaltung zur Verarbeitung von Daten mit den Merkmalen des Patentanspruchs 1 gelöst. Da­ nach ist die in Rede stehende Schaltung zur Verarbeitung von Daten derart aus­ gestaltet und weitergebildet, dass in den Registern Regeln zur Durchsuchung von zu einer Datenbank zusammengefassten Daten abgelegt sind und dass die Regeln im Wesentlichen simultan abarbeitbar sind.
In erfindungsgemäßer Weise ist zunächst erkannt worden, dass man in Abkehr zu der bisherigen Praxis eine Durchsuchung von zu einer Datenbank zusam­ mengefassten Daten nicht softwaremäßig implementieren muss, sondern eine wesentlich schnellere Durchsuchung dadurch erreichen kann, dass man die Durchsuchung hardwaremäßig implementiert. In weiter erfindungsgemäßer Wei­ se ist sodann erkannt worden, dass die Regeln, welche das Suchmuster definie­ ren, nach dem die Datenbank durchsucht werden soll, in Registern abgelegt werden müssen und dass die Regeln im Wesentlichen simultan und nicht etwa sequentiell abarbeitbar sein müssen. Dabei ist es unerheblich um welche Art von Daten es sich handelt. Es ist beispielsweise an einen Einsatz der Schaltung bei intelligenten Suchmaschinen fürs Internet zu denken. Es sind allerdings auch ganz andere Einsatzmöglichkeiten, beispielsweise im Bereich der militärischen Industrie bei der Sammlung und Analyse von Daten, möglich. Die erfindungsge­ mäße Schaltung eignet sich allerdings in besonders vorteilhafter Weise zur Ver­ wendung auf verschiedenen Gebieten der molekularen Biologie, beispielsweise bei der Suche nach Genmotiven oder Proteinsequenzen. Durch das im Wesentli­ chen simultane Abarbeiten der Regeln kann die Geschwindigkeit des Durchsu­ chens von jedweden Daten erheblich gesteigert werden.
Hinsichtlich einer besonders schnellen Durchsuchung der Daten könnten die Re­ geln innerhalb eines Takts oder mehrerer Takte abarbeitbar sein.
Im Hinblick auf eine Detektion von besonders anspruchsvollen und komplexen Suchmustern könnten die Regeln Bool'sche Ausdrücke und/oder Bereichsdefini­ tionen und/oder Wildcard-Funktionen umfassen, wobei die Wildcard-Funktion es ermöglicht, dass bei jedwedem Zeichen ein Ausgangssignal erzeugt wird. Die Suchmuster könnten hierbei neben einzelnen Zeichen auch Zeichenkombinatio­ nen, beispielsweise ganze Wörter und/oder Zahlen, umfassen. Zusätzlich oder alternativ könnten die Regeln auch Regular-Expression-Funktionen enthalten. Bei den Bool'schen Ausdrücken wären insbesondere ODER- und UND/NICHT- Verknüpfungen besonders einfach zu realisieren.
Es wäre von weiterem Vorteil, wenn die Regeln zur Durchsuchung der Daten­ bank codiert in den Registern abgelegt würden. Die Register könnten dann eine Breite von 2n-Bit aufweisen. Dies würde die Implementierung und die Detektion von komplexen Suchmustern besonders einfach gestalten.
Im Rahmen einer besonders kompakten Ausgestaltung könnten die Daten der Datenbank in einem Datenspeicher abgelegt sein. In einer besonders einfachen Ausgestaltung könnte dieser Datenspeicher als RAM oder FIFO ausgeführt sein.
Um eine Durchsuchung der Daten besonders einfach zu gestalten, könnte auf dem Chip mindestens ein Datenregister angeordnet sein. Die Daten der Daten­ bank könnten hierbei, vorzugsweise aus dem Datenspeicher, in das bzw. die Datenregister verschiebbar sein, das entsprechend der Anzahl von Zeichen 2n- Bit breit sein könnte. Die Daten der Datenbank könnten dann nacheinander in das und/oder durch die Datenregister geschoben werden.
Im Hinblick auf eine besonders einfache und vor allem Zeit optimierte Suche könnte die Anzahl der Datenregister gleich der Anzahl der Register sein, in de­ nen die Regeln zur Durchsuchung der Datenbank abgelegt sind, dadurch wäre es in besonders einfacher Weise ermöglicht, dass die Abarbeitung der aller Re­ geln parallel und innerhalb eines Takt erfolgt. Die Parallelität des Schaltungsauf­ baus wäre dann sozusagen zweidimensional. Es würde nämlich zum Einen ein Fenster aufgespannt, in dem der Vergleich aller Zeichen- bzw. Zeichenkombina­ tionspositionen des Datenausschnitts gleichzeitig ermöglicht wäre, zum Anderen könnten für jede Zeichen- bzw. Zeichenkombinationsposition die unterschiedli­ chen durch die Regeln definierten Zeichen bzw. Zeichenkombinationen detektiert werden.
Im Hinblick auf eine abermals sehr einfache Ausgestaltung könnten die Daten mittels mindestens eines Codierers codierbar sein. Die Daten könnten hierbei mittels des Codierers oder der Codierer in einen 2n-bit Code codierbar sein. Die Codierung der zu durchsuchenden Daten würde einen besonders einfachen Ver­ gleich zwischen den Daten und den Regeln ermöglichen, so dass dann eine be­ sonders schnelle Detektion von komplexen Suchmustern innerhalb eines Takts möglich wäre.
Die Register könnten im Hinblick auf eine abermals Zeit optimierte Ausgestaltung mittels eines oder mehrerer Komparator/-en mit Daten aus dem oder den Daten­ register/-n vergleichbar sein. Der oder die Komparator/-en könnte/-n ggf. dann die codierten Regeln und die codierten Daten Bit für Bit vergleichen und würde bei einer Übereinstimmung in einem Bit ein Ausgangssignal erzeugen. Alternativ wäre es auch möglich, dass der Vergleich der einzelnen Bits mittels UND- Gattern realisiert ist
Im Rahmen einer besonders einfachen Ausgestaltung des Chips könnten jeweils ein Register, ein Datenregister, ein Codierer und ein Komparator zu einem Ein­ zelzeichenelement zusammengefasst sein. Alternativ könnte ein Einzelzei­ chenelement auch nur ein Register, ein Datenregister und einen Komparator aufweisen. Ein Codierer könnte dann den Einzelzeichenelementen vorgeschaltet sein, um die Daten zu codieren bevor sie in die Datenregister geschoben wer­ den.
Die Einzelzeichenelemente könnten hinsichtlich eines besonders funktionellen Aufbaus parallel verschaltet und vorzugsweise auch auf dem Chip angeordnet sein. Dies würde in einem unkomplizierten Schaltungsaufbau resultieren, da die meisten Signale in einer pipelineartigen Weise die Schaltung durchlaufen. Durch die Anzahl der parallel verschalteten Einzelzeichenelemente wäre dann die Grö­ ße des gleichzeitig durchsuchbaren Datenausschnitts- bzw. des Fensters, in dem der Vergleich aller Zeichenpositionen des Datenausschnitts gleichzeitig möglich wäre - definiert.
Die Ausgangssignale der Komparatoren könnten sodann mittels eines Addierers summierbar sein. Hierdurch wäre es möglich, eine Aussage darüber zu treffen, inwieweit die durchsuchten Daten den gesuchten Daten entsprechen.
Im Hinblick auf eine besonders funktionelle Ausgestaltung könnte der Addierer aus kaskadierten Modulen, insbesondere aus Addierern und/oder Addierregi­ stern, aufgebaut sein. Dies würde es in besonders einfacher Weise ermöglichen, eine Vielzahl von Ausgangssignalen von Komparatoren zu addieren, wobei dann die Anzahl der zu vergleichenden Zeichen oder Zeichenkombinationen nicht durch die physikalischen Limitierungen eines einzelnen Addierers begrenzt wür­ de.
Im Rahmen einer besonders variablen Durchsuchung der Daten könnte das Ausgangssignal des Addierers mittels eines eine Vergleichsoperation ausführen­ den Bauteils, beispielsweise eines Komparators, mit einem Schwellwert ver­ gleichbar sein. Das Ausgangssignal des Addierers könnte in besonders vorteil­ hafter Weise ein n-bit Wort sein. Der Schwellwert könnte hierbei im Rahmen ei­ ner besonders flexiblen Ausgestaltung variabel vorgebbar sein und beispielswei­ se derart konfiguriert werden, dass er den Prozentsatz angibt mit dem die inner­ halb des aktuellen Takts durchsuchten Daten den gesuchten Daten entsprechen.
Bei Überschreitung des Schwellwerts könnte dann die Speicheradresse der de­ tektierten Daten und/oder die detektierten Daten mittels eines Adressen-Pointers in einen Ergebnisspeicher ausgebbar sein. Der Adressen-Pointer würde dement­ sprechend die Adressen der innerhalb des aktuellen Takts in den Datenregistern befindlichen Daten im Datenspeicher verfolgen.
Im Hinblick auf eine mögliche weitere Verarbeitung der Daten könnte das Aus­ gangssignal des Addierers der Adresse der detektierten Daten im Datenspeicher und/oder den Daten zuordenbar und/oder in den Ergebnisspeicher ausgebar sein. Es wäre somit beispielsweise ermöglicht, eine bereits durchgeführte Suche dadurch weiter zu beschränken, dass nur Ausgangssignale, die einen weiteren Schwellwert überschreiten, berücksichtigt werden.
Im Hinblick auf eine besonders bedienerfreundliche Ausgestaltung könnte über eine Schnittstelle ein Hostrechner an die Schaltung und/oder an den Chip an­ schließbar sein. Mittels des Hostrechners könnten dann beispielsweise die Re­ geln zur Durchsuchung der Daten in die Register und/oder die Daten in den Da­ tenspeicher einlesbar sein. Alternativ oder zusätzlich könnten mittels des Host­ rechners die Adresse der detektierten Daten und/oder die detektierten Daten so­ wie das Ausgangssignal des Addierers auslesbar sein. Der Hostrechner könnte hierbei ein handelsüblicher PC sein.
Im Hinblick auf eine besonders kompakte Ausgestaltung könnte der Chip und/oder der Datenspeicher und/oder der Adressen-Pointer und/oder der Ergebnisspeicher und/oder die Schnittstelle auf mindestens einer Platine angeordnet sein. Es wäre allerdings auch möglich, mehrere Chips und/oder mehrere Daten­ speicher miteinander zu verschalten und/oder auf einer Platine anzuordnen. Al­ ternativ hierzu könnte der Datenspeicher und/oder der Adressen-Pointer und/oder der Ergebnisspeicher und/oder die Schnittstelle auch auf dem Chip an­ geordnet sein.
Um abermals eine Optimierung der Verarbeitungsschnelligkeit zu erreichen und die Limitierung der Bandbreite des die Schaltung verbindenden Busses zu um­ gehen, könnten die Daten parallel aus dem Datenspeicher auslesbar sein. Die parallele Struktur könnte dabei im Datenspeicher und/oder auf der Platine reali­ siert sein. Die Daten könnten dann beispielsweise parallel aus dem Datenspei­ cher ausgelesen werden, wodurch die Geschwindigkeit des Auslesen erhöht würde. Mittels eines im Datenspeicher und/oder auf dem Chip und/oder der Pla­ tine integrierten Multiplexers könnten die Daten vereinigt und dann in die Daten­ register geschoben werden. Hierbei würde zwar die Anzahl der Eingangskon­ takte um den Parallelitätsfaktor erhöht, die benötigte Bandbreite würde allerdings um den gleichen Faktor vermindert.
Es gibt nun verschiedene Möglichkeiten, die Lehre der vorliegenden Erfindung in vorteilhafter Weise auszugestalten und weiterzubilden. Dazu ist einerseits auf die dem Patentanspruch 1 nachgeordneten Patentansprüche und andererseits auf die nachfolgende Erläuterung bevorzugter Ausführungsbeispiele der erfin­ dungsgemäßen Schaltung zur Verarbeitung von Daten anhand der Zeichnung zu verweisen. In Verbindung mit der Erläuterung der bevorzugten Ausführungsbei­ spiele der erfindungsgemäßen Schaltung anhand der Zeichnung werden auch im Allgemeinen bevorzugte Ausgestaltungen und Weiterbildungen der Lehre erläu­ tert. In der Zeichnung zeigt
Fig. 1 in einer schematischen Darstellung, ein Ausführungsbeispiel einer erfindungsgemäßen Schaltung zur Verarbeitung von Daten,
Fig. 2 in einer schematischen Darstellung, ein weiteres Ausführungsbei­ spiel einer erfindungsgemäßen Schaltung,
Fig. 3 eine schematische Darstellung der Funktionsabläufe in der erfin­ dungsgemäßen Schaltung,
Fig. 4 in einer schematischen Darstellung, ein Einzelzeichenelement der erfindungsgemäßen Schaltung aus Fig. 1,
Fig. 5 in einer schematischen Darstellung, ein Einzelzeichenelement der erfindungsgemäßen Schaltung aus Fig. 2 und
Fig. 6 in einer schematischen Darstellung, eine mögliche Konfiguration der erfindungsgemäßen Schaltung.
Fig. 1 und Fig. 2 zeigen jeweils ein Ausführungsbeispiel einer Schaltung zur Ver­ arbeitung von Daten umfassend einen Chip 1 mit 32 - hier nicht vollständig dar­ gestellten - Registern 2.
In erfindungsgemäßer Weise sind in den Registern 2 Regeln zur Durchsuchung von zu einer Datenbank zusammengefassten Daten abgelegt und die Regeln sind simultan abarbeitbar.
Die das Suchmuster definierenden Regeln sind in den Ausführungsbeispielen Bool'sche Ausdrücke sowie Bereichsdefinitionen und Wildcard-Funktionen. Die Bool'schen Ausdrücke umfassen in diesem Ausführungsbeispiel ODER- Verknüpfungen und UND-/NICHT-Verknüpfungen. Die Regeln zur Durchsuchung der Datenbank sind codiert in den Registern 2 abgelegt, wobei der in Fig. 1 und 2 dargestellte Code dem Bool'schen Ausdruck "B oder W oder Y" entspricht.
Die Daten der Datenbank sind in einem Datenspeicher 3 abgelegt. Der Daten­ speicher 3 ist in den Ausführungsbeispielen als RAM ausgeführt.
Auf dem Chip 1 sind Datenregister 4 angeordnet, in welche die Daten der Daten­ bank aus dem Datenspeicher 3 verschiebbar sind. Die Anzahl der Datenregister 4 ist gleich der Anzahl der Register 2, in denen die Regeln zur Durchsuchung der Daten abgelegt sind. Das heißt, dass 32 Zeichen lange Datensätze pro Takt mit den Regeln verglichen werden können.
In dem Ausführungsbeispiel der Fig. 2 werden die Daten mittels der Codierer 5 codiert. Es handelt sich hierbei um n/2n'-Codierer, welche die Daten in einen n-Bit Code codieren. Die Daten werden dann mittels Komparatoren 6 mit den Regeln in den Registern 2 Bit für Bit verglichen und es wird bei einer Übereinstimmen ein Ausgangssignal erzeugt.
Jeweils ein Register 2, ein Datenregister 4, ein Komparator 6 und im Ausfüh­ rungsbeispiel der Fig. 2 ein Codierer 5 sind zu einem Einzelzeichenelement 14, 14' zusammengefasst. Die Einzelzeichenelemente 14, 14' sind parallel ver­ schaltet und zudem parallel zueinander auf dem Chip 1 angeordnet.
Die Ausgangssignale der Komparatoren 6 werden mittels eines Addierers 7 summiert und das Ausgangssignal des Addierers 7 - in diesem Fall ein 4-bit Wort - wird dann mittels eines eine Vergleichsoperation ausführenden Bauteils 8 mit einem Schwellwert verglichen. Der Schwellwert gibt die Möglichkeit, eine Wertung vorzunehmen, inwiefern die Daten den gesuchten Daten entsprechen sollen, und ist von einem Bediener variabel vorgebbar.
Bei Überschreitung des Schwellwerts wird die Adresse der detektierten Daten im Datenspeicher 3 mittels eines Adressen-Pointers 9 in einem Ergebnisspeicher 10 abgelegt.
Die Funktionsabläufe der Schaltung sind in Fig. 3 dargestellt. Die Durchsuchung der Daten erfolgt durch aufeinanderfolgendes Durchschieben der Daten durch die Datenregister und Vergleichen der Daten mit dem durch die Regeln vorgege­ benen Suchmuster. Das Ausgangssignal der Komparatoren zeigt, ob das unter­ suchte Zeichen mit der Regel übereinstimmt. Die Summe der Ausgangssignale ist ein Maß für die Übereinstimmung der durchsuchten Daten mit den gesuchten Daten, da sie zeigt wie viele Zeichen mit dem Suchmuster übereinstimmen. Durch einen Vergleich mit einem variablen Schwellwert, kann dann bei unter­ schiedlich großen Übereinstimmungen ein Triggersignal zur Speicherung der Adresse der detektierten Daten erzeugt werden.
Fig. 4 und Fig. 5 zeigen schematisch den Aufbau eines Einzelzeichenelements 14, 14' der Ausführungsbeispiele der Fig. 1 und der Fig. 2. In den Einzelzei­ chenelementen 14, 14' sind ein Register 2, ein Datenregister 4 sowie ein Kompa­ rator 6 und im Ausführungsbeispiel der Fig. 2 ein Codierer 5 zusammengefasst. Die Einzelzeichenelemente 14, 14' sind auf dem Chip 1 parallel und parallel ver­ schaltet zueinander angeordnet.
Fig. 6 zeigt eine Platine 13, auf welcher der Chip 1, der Datenspeicher 3 und ei­ ne Schnittstelle 10 angeordnet sind. Über die Schnittstelle 11 ist ein Hostrechner 12 - hier ein handelsüblicher PC - an die Schaltung anschließbar. Mittels des Hostrechners 12 werden zunächst die Regeln zur Durchsuchung der Daten in die Register 2 und dann die Daten in den Datenspeicher 3 eingelesen. Zusätzlich wird mittels des Hostrechners 12 der Schwellwert vorgegeben und werden die Adresse der detektierten Daten aus dem Ergebnisspeicher 10 sowie die detek­ tierten Daten aus dem Datenspeicher 3 ausgelesen.
Hinsichtlich weiterer Details wird zur Vermeidung von Wiederholungen auf die allgemeine Beschreibung verwiesen.
Schließlich sei ausdrücklich darauf hingewiesen, dass die voranstehend be­ schriebenen Ausführungsbeispiele lediglich zur Erörterung der beanspruchten Lehre dienen, diese jedoch nicht auf die Ausführungsbeispiele einschränken.

Claims (29)

1. Schaltung zur Verarbeitung von Daten, umfassend einen Chip (1) mit mindestens zwei Registern (2), dadurch gekennzeichnet, dass in den Registern (2) Regeln zur Durchsuchung von zu einer Datenbank zusammengefassten Daten abgelegt sind und dass die Regeln im Wesentlichen simultan abarbeitbar sind.
2. Schaltung nach Anspruch 1, dadurch gekennzeichnet, dass die Regeln innerhalb eines Takts oder mehrerer Takte abarbeitbar sind.
3. Schaltung nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass die Regeln Bool'sche Ausdrücke und/oder Bereichsdefinitionen und/oder Wildcards umfassen.
4. Schaltung nach Anspruch 3, dadurch gekennzeichnet, dass die Bool'schen Ausdrücke ODER-Verknüpfungen und/oder UND-Verknüpfungen und/oder NICHT-Verknüpfungen umfassen.
5. Schaltung nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass die Regeln zur Durchsuchung der Datenbank codiert in den Registern (2) abgelegt sind.
6. Schaltung nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass die Daten der Datenbank in einem Datenspeicher (3) abgelegt sind.
7. Schaltung nach Anspruch 6, dadurch gekennzeichnet, dass der Daten­ speicher (3) als RAM oder FIFO ausgeführt ist.
8. Schaltung nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, dass auf dem Chip (1) mindestens ein Datenregister (4) angeordnet ist.
9. Schaltung nach Anspruch 8, dadurch gekennzeichnet, dass die Daten der Datenbank, vorzugsweise aus dem Datenspeicher (3), in das oder die Datenre­ gister (4) verschiebbar sind.
10. Schaltung nach Anspruch 8 oder 9, dadurch gekennzeichnet, dass die Anzahl der Datenregister (4) gleich der Anzahl der Register (2) ist, in denen die Regeln zur Durchsuchung der Datenbank abgelegt sind.
11. Schaltung nach einem der Ansprüche 1 bis 10, dadurch gekennzeichnet, dass die Daten mittels mindestens eines Codierers (5) codierbar sind.
12. Schaltung nach Anspruch 11, dadurch gekennzeichnet, dass die Daten mittels des Codierers oder der Codierer (5) in einen n-Bit Code codierbar sind.
13. Schaltung nach ggf. Anspruch 8 und einem der Ansprüche 8 bis 12, da­ durch gekennzeichnet, dass die Regeln in den Registern (2) mittels eines oder mehrerer Komparator/-en (6) mit den Daten aus dem oder den Datenregister/-n (4) vergleichbar sind.
14. Schaltung nach einem der Ansprüche 8 bis 10 und ggf. Anspruch 11 oder 12 und Anspruch 13, dadurch gekennzeichnet, dass ein Register (2), ein Daten­ register (4), ggf. ein Codierer (5) und ein Komparator (6) zu einem Einzelzei­ chenelement (14, 14') zusammgefasst sind.
15. Schaltung nach Anspruch 14, dadurch gekennzeichnet, dass mehrere Einzelzeichenelemente (14, 14') parallel verschaltet und/oder parallel zueinander auf dem Chip (1) angeordnet sind.
16. Schaltung nach einem der Ansprüche 13 bis 15, dadurch gekennzeichnet, dass die Ausgangssignale der Komparatoren (6) mittels eines Addierers (7) summierbar sind.
17. Schaltung nach Anspruch 16, dadurch gekennzeichnet, dass der Addierer (7) aus kaskadierten Modulen, insbesondere aus Addierern und/oder Addierregi­ stern, aufgebaut ist.
18. Schaltung nach Anspruch 16 oder 17, dadurch gekennzeichnet, dass das Ausgangssignal des Addierers (7) mittels eines eine Vergleichsoperation ausfüh­ renden Bauteils (8) mit einem Schwellwert vergleichbar ist.
19. Schaltung nach Anspruch 18, dadurch gekennzeichnet, dass der Schwellwert variabel vorgebbar ist.
20. Schaltung nach Anspruch 18 oder 19, dadurch gekennzeichnet, dass bei Überschreitung des Schwellwerts die Adresse der detektierten Daten im Daten­ speicher (3) und/oder die detektierten Daten mittels eines Adressen-Pointers (9) in einen Ergebnisspeicher (10) ausgebbar ist.
21. Schaltung nach Anspruch 20, dadurch gekennzeichnet, dass das Aus­ gangssignal des Addierers (7) der Adresse der detektierten Daten im Datenspei­ cher (3) und/oder den detektierten Daten zuordenbar und/oder in den Ergeb­ nisspeicher (10) ausgebbar ist.
22. Schaltung nach einem der Ansprüche 1 bis 21, dadurch gekennzeichnet, dass über eine Schnittstelle (11) ein Hostrechner (12) an die Schaltung und/oder an den Chip (1) anschließbar ist.
23. Schaltung nach Anspruch 22, dadurch gekennzeichnet, dass mittels des Hostrechners (12) die Regeln zur Durchsuchung der Daten in die Register (2) einlesbar sind.
24. Schaltung nach Anspruch 22 oder 23, dadurch gekennzeichnet, dass mittels des Hostrechners (12) die Adresse der detektierten Daten in dem Daten­ speicher (3) und/oder die detektierten Daten auslesbar sind.
25. Schaltung nach einem der Ansprüche 1 und 24 und ggf. Anspruch 6 und ggf. Anspruch 20 oder 21 und ggf. einem der Ansprüche 22 bis 24, dadurch ge­ kennzeichnet, dass der Chip (1) und/oder der Datenspeicher (3) und/oder der Adressen-Pointer (9) und/oder der Ergebnisspeicher (10) und/oder die Schnitt­ stelle (11) auf mindestens einer Platine (13) angeordnet ist oder sind.
26. Schaltung nach einem der Ansprüche 1 bis 25 und ggf. Anspruch 6 und ggf. Anspruch 20 oder 21 und ggf. einem der Ansprüche 22 bis 25, dadurch ge­ kennzeichnet, dass der Datenspeicher (3) und/oder der Adressen-Pointer (9) und/oder der Ergebnisspeicher (10) und/oder die Schnittstelle (11) auf dem Chip (1) angeordnet ist oder sind.
27. Schaltung nach einem der Ansprüche 1 bis 26 und ggf. Anspruch 6, da­ durch gekennzeichnet, dass die Daten parallel aus dem Datenspeicher (3) aus­ lesbar sind.
28. Schaltung nach Anspruch 27 und ggf. Anspruch 25, dadurch gekenn­ zeichnet, dass eine parallele Struktur im Datenspeicher (3) und/oder auf der Pla­ tine (13) realisiert ist.
29. Schaltung nach Anspruch 27 oder 28 und ggf. Anspruch 25, dadurch ge­ kennzeichnet, dass die Daten mittels eines im Datenspeicher (3) und/oder auf dem Chip (1) und/oder der Platine (13) integrierten Multiplexers vereinigbar sind.
DE10106340A 2001-02-09 2001-02-09 Schaltung zur Verarbeitung von Daten Withdrawn DE10106340A1 (de)

Priority Applications (7)

Application Number Priority Date Filing Date Title
DE10106340A DE10106340A1 (de) 2001-02-09 2001-02-09 Schaltung zur Verarbeitung von Daten
JP2002565188A JP2004533033A (ja) 2001-02-09 2002-02-04 データを処理するための回路
EP02706663A EP1360613A2 (de) 2001-02-09 2002-02-04 Schaltung zur verarbeitung von daten
IL15729902A IL157299A0 (en) 2001-02-09 2002-02-04 Circuit for processing data
PCT/DE2002/000393 WO2002065332A2 (de) 2001-02-09 2002-02-04 Schaltung zur verarbeitung von daten
US10/467,536 US20040139074A1 (en) 2001-02-09 2002-02-04 Circuit for processing data
CA002437815A CA2437815A1 (en) 2001-02-09 2002-02-04 Circuit for processing data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE10106340A DE10106340A1 (de) 2001-02-09 2001-02-09 Schaltung zur Verarbeitung von Daten

Publications (1)

Publication Number Publication Date
DE10106340A1 true DE10106340A1 (de) 2002-08-29

Family

ID=7673682

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10106340A Withdrawn DE10106340A1 (de) 2001-02-09 2001-02-09 Schaltung zur Verarbeitung von Daten

Country Status (7)

Country Link
US (1) US20040139074A1 (de)
EP (1) EP1360613A2 (de)
JP (1) JP2004533033A (de)
CA (1) CA2437815A1 (de)
DE (1) DE10106340A1 (de)
IL (1) IL157299A0 (de)
WO (1) WO2002065332A2 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2851668A1 (fr) * 2003-02-24 2004-08-27 St Microelectronics Sa Procede et dispositif de selection de mode de fonctionnement d'un circuit integre

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3650360T2 (de) * 1985-12-10 1996-03-28 Trw Inc Schneller Suchprozessor.

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3868480A (en) * 1974-01-24 1975-02-25 Telesciences Inc Event monitoring transceiver
US4205302A (en) * 1977-10-28 1980-05-27 Einar Godo Word recognizing system
US4760523A (en) * 1984-06-29 1988-07-26 Trw Inc. Fast search processor
US4747072A (en) * 1985-08-13 1988-05-24 Fairchild Camera And Instrument Corporation Pattern addressable memory
GB2239114B (en) * 1987-01-14 1991-09-04 Texas Instruments Ltd Content addressable memory
US5073864A (en) * 1987-02-10 1991-12-17 Davin Computer Corporation Parallel string processor and method for a minicomputer
US5239663A (en) * 1987-06-15 1993-08-24 Centre National De La Recherche Scientifique Self-adapting and multifunctional process and structure for the automated evaluation of logical or arithmetic expressions, particularly for extended database consultation
US5471610A (en) * 1989-06-14 1995-11-28 Hitachi, Ltd. Method for character string collation with filtering function and apparatus
US5210870A (en) * 1990-03-27 1993-05-11 International Business Machines Database sort and merge apparatus with multiple memory arrays having alternating access
US5497488A (en) * 1990-06-12 1996-03-05 Hitachi, Ltd. System for parallel string search with a function-directed parallel collation of a first partition of each string followed by matching of second partitions
JP3151808B2 (ja) * 1997-07-16 2001-04-03 日本電気株式会社 集積回路装置、回路検査装置および方法
JP2001043672A (ja) * 1999-07-29 2001-02-16 Fujitsu Ltd Fifo回路
US6708168B2 (en) * 2000-12-29 2004-03-16 Nortel Networks Limited Method and apparatus for searching a data stream for character patterns

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3650360T2 (de) * 1985-12-10 1996-03-28 Trw Inc Schneller Suchprozessor.

Also Published As

Publication number Publication date
EP1360613A2 (de) 2003-11-12
CA2437815A1 (en) 2002-08-22
WO2002065332A2 (de) 2002-08-22
WO2002065332A3 (de) 2003-07-03
JP2004533033A (ja) 2004-10-28
US20040139074A1 (en) 2004-07-15
IL157299A0 (en) 2004-02-19

Similar Documents

Publication Publication Date Title
DE60035171T2 (de) Verfahren und Schaltungen zum schnellen Auffinden des minimalen / maximalen Wertes in einer Menge von Zahlen
DE69033444T2 (de) Signalprozessor mit einer arithmetischen und logischen Einheit und einer Multiplizier-Akkumulatoreinheit, die gleichzeitig betrieben werden können
DE3587137T2 (de) Inhaltsadressierbarer speicher.
DE2730328C3 (de) Schaltungsanordnung zur Feststellung des bestübereinstimmenden Datenworts von in einem Datenwort-Speicher gespeicherten Datenworten mit einem Suchwort
DE2819571A1 (de) Datenverarbeitungsanlage mit mehreren prozessoren
DE69027932T2 (de) Cpu-pipeline mit registerfile-bypass durch adressvergleich bei aktualisierungen/zugriffen
DE2524046C2 (de) Elektronische Datenverarbeitungsanlage
DE3879637T2 (de) Pufferspeichergeraet und -verfahren, insbesondere fuer die matrixtransposition von datenfolgen.
DE102008052930A1 (de) Bildverarbeitender Sensor
DE112019003326T5 (de) Speichererweiterte neuronale netzwerkarchitekturen eines codierers-decodierers
DE3588212T2 (de) Verfahren und Gerät zum Suchen von Daten
DE2338469A1 (de) Programmierbares digitales datenverarbeitungsgeraet
DE2357654C2 (de) Assoziativspeicher
DE3144563A1 (de) Anordnung zum sortieren von datenwoertern nach den werten der jeweils zugeordneten attributzahlen
DE3900349A1 (de) Schaltungsanordnung zur echtzeit-durchfuehrung der schnellen fouriertransformation
DE10106340A1 (de) Schaltung zur Verarbeitung von Daten
DE102014105218A1 (de) Suchvorrichtung mit Verwendung von endlichen Automaten für Teilworte
DE69424327T2 (de) Paralleler Grössenvergleicher mit mehrfachen Ebenen
DE2720666A1 (de) Verfahren und anordnung zur geraeuschanalyse
EP1139603A1 (de) Verfahren und Vorrichtung zur Analyse von Daten
DE69808798T2 (de) Digitales signalfilter unter verwendung von ungewichteten neuralen techniken
DE3149926A1 (de) Programmierbare vergleichsschaltung
DE69229039T2 (de) Direktzugriffvergleichsmatrix
DE4495111C2 (de) Verfahren zur Bestimmung einer Menge von charakteristischen Merkmalen im Rahmen einer Objekterkennung
WO2007031380A2 (de) Verfahren zur speichereffizienten durchführung einer burrows-wheeler-rücktransformation

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8139 Disposal/non-payment of the annual fee