DE10106340A1 - Schaltung zur Verarbeitung von Daten - Google Patents
Schaltung zur Verarbeitung von DatenInfo
- 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
Links
- 230000014509 gene expression Effects 0.000 claims description 8
- 230000006870 function Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 108090000623 proteins and genes Proteins 0.000 description 2
- 206010012289 Dementia Diseases 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000000499 gel Substances 0.000 description 1
- 102000004169 proteins and genes Human genes 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information 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.
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)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3650360T2 (de) * | 1985-12-10 | 1996-03-28 | Trw Inc | Schneller Suchprozessor. |
Family Cites Families (13)
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 |
-
2001
- 2001-02-09 DE DE10106340A patent/DE10106340A1/de not_active Withdrawn
-
2002
- 2002-02-04 WO PCT/DE2002/000393 patent/WO2002065332A2/de active Application Filing
- 2002-02-04 EP EP02706663A patent/EP1360613A2/de not_active Withdrawn
- 2002-02-04 IL IL15729902A patent/IL157299A0/xx unknown
- 2002-02-04 US US10/467,536 patent/US20040139074A1/en not_active Abandoned
- 2002-02-04 CA CA002437815A patent/CA2437815A1/en not_active Abandoned
- 2002-02-04 JP JP2002565188A patent/JP2004533033A/ja active Pending
Patent Citations (1)
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 |