DE3545125A1 - Zeichenfolgen-komparator - Google Patents
Zeichenfolgen-komparatorInfo
- Publication number
- DE3545125A1 DE3545125A1 DE19853545125 DE3545125A DE3545125A1 DE 3545125 A1 DE3545125 A1 DE 3545125A1 DE 19853545125 DE19853545125 DE 19853545125 DE 3545125 A DE3545125 A DE 3545125A DE 3545125 A1 DE3545125 A1 DE 3545125A1
- Authority
- DE
- Germany
- Prior art keywords
- input
- memory
- column
- data
- signal
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/02—Comparing digital values
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90344—Query processing by using string matching techniques
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
Die Erfindung betrifft einen Zeichenfolgen-Komparator,
der als Baustein in einem Informationsverarbeitungssystem verwendet wird, insbesondere einen Zeichenfolgen-Komparator
zum Aussortieren bzw. Auslesen von bestimmten Zeichenfolgen aus einem langen, aus vielen
Zeichenfolgen zusammengesetzten Orginaltext.
Zeichenfölgen-Komparatoren werden vielfältig verwendet,
beispielsweise zum Aussortieren spezifischer Folgen
in Bildmuster- bzw. Zeichenerkennungssystemen, zum Aussortieren von Schlüsselworten aus in Wortprozessoren
untergebrachten Texten, als Hilfe für Sprachübersetzungen, zum Dekodieren kodierter Texte, zum Aufbau
nicht strukturierter Datenbanken mit Bildern (pictures), gespeicherten Duplikaten oder Abbildungen
(images), Mustern, Texten usw.. Mit anderen Worten, Zeichenfolgen-Komparatoren sind für "intelligente"
Informationsverarbeitung unbedingt notwendig.
Gemäß dem Stand der Technik wird der Vergleich von Zeichenfolgen mit Hilfe sequentieller Programmverarbeitung
unter Verwendung allgemein einsetzbarer Computer ausgeführt. Die Bearbeitung ist daher sehr zeitaufwendig,
so daß der Vergleich von Zeichenfolgen auf
Einzelbearbeitungen beschränkt ist. Beispielsweise
sind für den Nachweis einer Folge von η Zeichen oder Buchstaben in einem Text aus m Zeichen n(m-n+l) Vergleiche
nötig. Um eine Folge der Länge n = 10 in einem
Text mit der Gesamtlänge m=10 , der auf einer Magnetscheibe oder auf einer optischen Speicherscheibe gespei-
1 2 chert ist, herauszufinden, sind daher 10 Vergleiche
nötig. Es ist leicht ersichtlich, daß es fast unrealistisch ist, eine gewünschte Information aus einer großen
Menge von Informationen, beispielsweise von Texten,
Abbildungen, Bildern oder Stimmen usw. herauszufinden.
Entsprechend ist das Wiederauffinden von Informationen
ijn einem großen Informationsvorrat beim Stand der Technik
auf einige spezielle Fälle beschränkt, beispielsweise auf das Wiederauffinden mit Hilfe von vorher
ausgewählten Schiüsselwerten oder das Wiederauffinden
strukturierter Daten in einer Tabelle. Ein weiterer Nachteil eines Zei1enfolgen-Komparators gemäß dem Stand
der Technik ist,daß die Verarbeitungszeit bei "flexi-
blem" Wiederauffinden sehr lang ist, d.h. beim Wiederauffinden
von Zeichenfolgen, die der Referenzfolge
gleichen oder beim Auffinden der Referenzfolge selbst.
Zum besseren Verständnis der Erfindung werden im folgenden ein bekannter Zeichenfölgen-Komparator und dessen
Nachteile unter Bezugnahme auf die Figuren im einzelnen erläutert.
Figur 10 zeigt ein Beispiel für einen englischen Text,
wie er für den Zeichenfolgen-Vergleich verwendet wird.
Zur Vereinfachung der Zeichnung ist nur der Anfang des
Textes dargestellt. Ein solcher Text ist in einem Datenspeicher eines Wortprozessors gespeichert. Ein Zeichenfölgen-Komparator
soll direkt gewünschte Zeichenfolgen im Text mit Hilfe von SchiüsselWorten auffinden.
Um beispielsweise festzustellen, ob der in Figur 10
gezeigte Text Zeichenfolgen wie "memory" oder "bubble"
enthält, müssen nicht nur Zeichenfolgen wieder aufgefunden werden, die mit den Referenzfolgen identisch
sind, sondern auch solche, deren Zeichenfolge zumindest teilweise mit der Referenzfolge übereinstimmt. Zum
Wiederauslesen verwendete Zeichenfolgen lauten beispielsweise
"memory","memories", "bubble" oder "bubbles". Ein solcher Vergleich zwischen den Referenzfolgen
und dem Orginaltext ist sehr zeitaufwendig, wenn
er mit einem programmgesteuerten Computer herkömmlicher
Art ausgeführt wird.
Ein auf einer DIN A4 Seite untergebrachter durchschnittlicher
englischer Text enthält etwa 3.000 Zeichen pro Seite inklusive der Zwischenräume zwischen
den Worten. Die Referenzfolgen "memory" und "bubble"
bestehen beide aus 6 Zeichen. Für einen Vergleich zwischen einer Folge von 6 Buchstaben und einer Folge
von 3.000 Zeichen sind etwa so viele Vergleiche nötig wie das Produkt der beiden Zahlen ergibt. Selbst wenn
ein Zeichenvergleich in einem Mikroprozessor nur 1 /A-see
dauert, so beträgt die gesamte Wiederauffindungszeit
für jede Referenzfolge 18 msec pro Seite.
In Wirklichkeit beträgt die Anzahl von in einem zu
9 durchsuchenden Text vorhandenen Zeichen etwa 10 , wobei
eine Referenzfolge länger als 100 Zeichen lang sein kann. Darüber hinaus kann die Anzahl der Referenzfolgen
einige Zehn betragen. In einem solchen Fall dauert ein Vergleich mehrere hundert Stunden. Es ist jedoch
praktisch unmöglich einen solchen Vergleich durchzuführen. Daher wird in Wirklichkeit aus gegebenen Referenzfolgen
ein zunächst Schlüsselwort manuell extrahiert und dann die Vergleiche für das Schlüsselwort mit Hilfe
eines Computers ausgeführt.
Es ist daher Aufgabe der Erfindung, einen verbesserten Zeichenfolgen-Komparator ohne die genannten Nachteile
zu schaffen.
Ziel der Erfindung ist die Schaffung eines Zeichenfolgen-Komparators
und eines Vergleichsverfahrens, mit
dem "flexibel" in kurzer Zeit jede gewünschte Zeichenfolge in nicht strukturierten Zeichenfolgen wie Texten,
Abbildungen (images), Mustern oder Bildern (pictures) ausgelesen bzw. extrahiert werden kann.
Ziel der Erfindung ist es auch, einen Zeichenfolgen-Komparator
zu schaffen, bei dem die Länge der Referenzfolge beliebig festgelegt werden kann.
Darüber hinaus ist es Ziel der Erfindung, einen preisgünstigen Zeichenfolgen-Komparator zu schaffen.
Zur Lösung dieser Aufgabe wird ein Zeichenfolgen-Komparator
zum Aufsuchen der Adresse einer gespeicherten Zeichenfolge geschaffen, die im wesentlichen den gleichen
Inhalt wie eine eingegebene Referenzfolge hat. Der Zeichenfolgen-Komparator umfaßt eine Speichereinheit,
bei der eine Anzahl Speicherzellen in Form einer
mehrere Zeilen und Spalten aufweisenden Matrix angeordnet sind, wobei die Zeilenposition einer jeden Spei-
cherzeile dem Inhalt der Zeichenfolge und die Spaltenposition
der Speicherzelle der gespeicherten Adresse der Zeichenfolge entspricht, und eine mit der Speichereinheit
gekoppelte Zeilenauswahlinrichtung zur Auswahl einer Zeile der Speicherzellenmatrix der Speichereinheit,
die dem Inhalt der zu vergleichenden eingegebenen
Referenzfolge entspricht, so daß der Inhalt der
Speicherzellen, die zu einer mit Hilfe der Zeilenauswahl
ei nrichtung ausgelesenen Zeile gehören, ausgelesen wird.
Gemäß einem weiteren Ziel der Erfindung wird ein Zeichenfolgen-Komparator
zum Aufsuchen der Adresse einer gespeicherten Zeichenfolge geschaffen, die im wesentlichen
den gleichen Inhalt wie eine eingegebene Referenzfolge hat, wobei beide Folgen aus mehreren Zeichen
mit einer Länge von JxK Bits zusammengesetzt
ist. Der Zeichenfölgen-Komparator umfaßt folgende Merkmale:
- eine Speichereinrichtung mit einem aus in Form einer
"Matrix mit 2 χ K χ M Zeilen und N Spalten angeordneten Zeichenelementen bestehenden Speicher und einem
getrenntem Indikator, der in einer Zeile mit N Spalten angeordnet ist und zur Angabe der Besetzung einer
jeden Spalte der Speicherzellenmatrix dient;
- eine mit der Speichervorrichtung verbundene Einrichtung
zum Auswählen einer Zeile der Speicherzel1en-
matrix der Speichervorrichtung entsprechend den zu vergleichenden Eingangsdaten;
- eine Einrichtung die in Abhängigkeit von einem Taktsignal
Eingangsdaten zählt und den Inhalt an die Zeilenwählvorrichtung
abgibt;
- eine Lesevorrichtung zum Lesen des Inhalts der Speicherzellen, die zu der von der Zeilenwählvorrichtung
ausgewählten Zeile gehören, und zum Ausgeben des Inhalts der Speicherzellen der Spalte der ausgewählten
Zeile; und
- einen Kodierer, der das Ausgangssignal der Lesevorrichtung
empfängt und den Inhalt der Speicherzellen
der Spalte in der jeweiligen Zeile entsprechend den Adressen für die zu vergleichenden Eingangsdaten kodiert.
In Übereinstimmung mit einem weiteren Ziel der Erfindung 'wird ein Zeichenfölgen-Komparator zum Aufsuchen
der Adresse von eingegebenen Referenzdaten geschaffen, die mit schon in N Arten von Folgen gespeicherten Daten
verglichen werden sollen, wobei jede Folge aus M Elementen von JxK Bit langen Zeichen besteht. Dieser
Zeichenfölgen-Komparator umfaßt folgende Merkmale:
- mehrere Speichereinheiten, wobei jede einen aus mehreren
in Form einer 2 χ K χ M Zeilen und N Spalten aufweisenden Matrix angeordneten Speicherelementen bestehenden
Speicher und einem getrennten Indikator auf-
weist, der in einer Zeile mit N Spalten angeordnet ist und zur Anzeige der Besetzung einer jeden Spalte
der Speicherzellenmatrix dient:
■ mehrere Zeilenwählvorrichtungen, wobei jede Zeilenwählvorrichtung
mit jeder Speichervorrichtung verbunden ist und zur Auswahl einer den zu vergleichenden
Eingangsdaten entsprechenden Zeile der Speicherzellenmatrix
der Speichervorrichtung dient; eine in Abhängigkeit von einem Taktsignal Eingangsdaten
zählende Zählvorrichtung, die den Inhalt an die
Zeilenwählvorrichtung abgibt;
Spaltenwählvorrichtung, die in Abhängigkeit von Eingangsdaten,
die bei einer Eingangsadresse gespeichert werden sollen, eine Spalte der Matrix der Speichereinheit
entsprechend der Eingangsadresse auswählt; mehrere Datenschreibvorrichtungen , die jeweils die
zu speichernden Eingangsdaten in die Spalten gleicher Nummer einer jeder Matrix einschreiben, die durch die
Spaltenwählvorrichtung ausgewählt wird;
Lesevorrichtung zum Lesen des Inhalts der Speicherzellen, die zu einer durch die Zeilenwählvorrichtung
ausgewählten Zeile gehören und zum Ausgeben des Inhalts der Speicherzellen der Spalte der ausgewählten
Zeile; und
einen Ausgangssignale von der Lesevorrichtung empfangenden
Kodierer, der den Inhalt der Speicherzellen
einer Spalte in der entsprechend der Adressen für die
zu suchenden Eingangsdaten ausgewählten Zeile kodiert.
Die genannten und weitere Ziele, Merkmale und Vorteile der Erfindung ergeben sich aus der folgenden Beschreibung
bevorzugter Ausführungsbeispiele im Zusammenhang mit der Zeichnung. Es zeigen:
Fig. 1 ein Blockdiagramm eines Ausführungsbeispiels des
erfindungsgemäßen Zeichenfolgen-Komparators;
Fig. 2 die Darstellung eines im Speicher eines Zeichenfolgen-Komparators
gemäß Fig. 1 verwendeten Speichermusters ;
Fig. 3 ein Blockdiagramm eines Ausführungsbeispiels
eines in Fig. 1 dargestellten Zeilen-Selektors;
Fig."4 ein Blockdiagramm eines Ausführungsbeispiels
des in Fig. 1 dargestellten Spalten-Selektors;
Fjg. 5 ein Blockdiagramm eines Ausführungsbeispiels
des in Fig. 1 dargestellten Schreibdaten-Generators;
Fig. 6 ein Blockdiagramm eines weiteren Ausführungsbeispiels des in Fig. 1 dargestellten Schreibdaten-Generators
;
Fig. 7 ein Blockdiagramm eines weiteren Ausführungs-
bei spiels des erfindungsgemäßen Zeichenfölgen-Komparators;
Fig. 8 ein Blockdiagramm eines Ausführungsbeispiels
des in Fig. 7 dargestellten Zeilen-Selektors;
Fig. 9 ein Blockdiagramm eines weiteren Ausführungsbeispiels des erfindungsgemäßen Zeichenfölgen-Komparators;
und
Fig. IG ein Beispiel einer wieder aufzufindenden Zeichenfolge.
Fig. 1 zeigt ein erstes Ausführungsbeispiel des erfindungsgemäßen
Zeichenfölgen-Komparators.
Der dargestellte Zeichenfolgen-Komparator umfaßt eine
Speicherzellen-Matrix und hat im wesentlichen zwei
Grundfunktionen, nämlich Datenspeicherung und Datenvergleich. Entsprechend einem Betriebsart-Signal führt
der Zeichenfölgen-Komparator entweder die Speicherung
oder den Vergleich aus. Im Speicherbetrieb empfängt der Zeichenfölgen-Komparator Eingangsdaten sowie eine Speicheradresse
und schreibt die Eingangsdaten in eine Spalte der Speicherzellen-Matrix ein, die aufgrund
der Speicheradresse ausgewählt wurde. Als Daten können beispielsweise ein Text, ein Abbild (image), ein Bild
- 10 -
(picture) oder eine Stimme, die jeweils lange Speicherfolgen bilden, verarbeitet werden. Solche Daten werden
kodiert und dann sukzessive als Eingangsdaten eingegeben. Andererseits empfängt der Zeichenfölgen-Komparator
im Vergleichsbetrieb eine Referenzfolge und liest alle
in einer Zeile der Speicherzellen-Matrix liegenden
Speicherzellen aus, die aufgrund der Referenzfolge
vorgegeben sind.
Für diesen Zweck weist der Speicherfölgen-Komparator
eine aus einer großen Anzahl von in Matrixform angeordneten Speicherzellen zusammengesetzte Speichermatrix
110 auf, die über eine Schreibimpuls-Leitung 104
Schreibsynchronisierungsimpulse empfangen kann. Wortoder Zeilenleitungen der Speichermatrix 110 sind einzeln
bzw. in l:l-Relation mit Zei1enwähl-Leitungen
eines Zeilen-Selektors 120 verbunden, der sowohl über
e.inen Datenbus 101 gelieferte Daten als auch den Inhalt
155 eines Zählers 150 als Eingangsdaten als auch ein
über eine Leitung 103 als Steuersignal zugeführtes Betriebsart-Signal empfangen kann. Die Speichermatrix
110 weist außerdem Bit- oder Spaltenleitungen auf,
die einzeln mit Spaltenwähl-Leitungen 131 eines Spalten-
- Selektors 130 verbunden sind, der sowohl das Betriebsarten-Signal
über die Leitung 103 als auch eine Speicheradresse über einen Adressenbus 132 empfangen kann.
Zusätzlich ist die Speichermatrix 110 mit einem Schreibdaten-
bzw. Daten-Schrei b-Generator 140 verbunden, der
- 11 -
über den Datenbus 101 Eingangsdaten empfängt und selektiv
Schreibdaten- bzw. Daten-Schreib- Leitungen 141
aktiviert, die mit den Zeilenleitungen bzw. Zeilenwähl-Leitungen
121 der Speichermatrix 110 verbunden sind.
Darüber hinaus sind die Spaltenleitungen bzw. Spaltenwähl
-Lei tungen 131 der Speichermatrix 110 jeweils über
Ausleseleitungen 111 mit einem Eingang von parallel
in einer UND-Gatter-Gruppe 170 angeordneten UND-Gattern verbunden. Der andere Eingang eines jeden UND-Gatters
ist mit dem Ausgang eines entsprechenden, in einer Schalter-Gruppe 160 angeordneten Schalters verbunden.
Zwei Eingänge eines jeden Schalters sind jeweils mit den Ausgängen zweier benachbarter in einer Registergruppe
180 angeordneten Register verbunden, um den. jeweiligen Eingangswert in Übereinstimmung mit einem Schiebe-
- bzw. Shift-Signal 165 wahlweise auszugeben. Der Eingang eines jeden Registers ist mit dem Ausgang des
entsprechenden UND-Gutters verbunden, um das Ergebnis der logischen Funktion des UND-Gatters zu empfangen
und um seinen Inhalt synchron mit jedem in Form eines negativen Impulses anliegenden Taktsignals 152 auf
den neuesten Stand zu bringen. Der Ausgang eines jeden Registers der Registergruppe 180 ist mit einem Kodierer
190 verbunden. Dieser weist eine Koinzidenzsignal-Lei tung
191 sowie einen Ausgangsdatenbus 192 zur Abgabe der Vergleichsadresse auf.
- 12 -
In diesem speziellen Fall ist die Speichermatrix 110
mit Hilfe konventioneller Speicherzellen aufgebaut,
auf die in Übereinstimmung mit der Adresse der fraglichen Daten zugegriffen werden kann. Die Eingangsdaten
werden in jeder Spalte der Speichermatrix 110 gespeichert. In diesem Ausführungsbeispiel kann die Speichermatrix
110 N Folgen von Zeichen speichern, wobei jede Folge maximal M Elemente aus Zeichen mit einer Länge
von JxK Bits aufweist. Wenn jedes Zeichen in K Teilen
mit einer Länge von J Bits als Teileingangsdaten über
den Datenbus 101 eingegeben wird, kann die Speichermatrix 110 aus Speicherzellen aufgebaut werden, die
matrixförmig aus 2 χ K χ M Zeilen und N Spalten aufgebaut ist. Mit anderen Worten, die Speichermatrix' 110
hat eine Speicherkapazität von 2 χ K χ M Worten aus N Bits. Daher kann die Speichermatrix 110 beispielsweise
aus KxM Blocks zusammengesetzt sein, die jeweils aus 2, Reihen und N Spalten von Speicherzellen bestehen und
beispielsweise eine Kapazität von 2 Worten ä N Bits
aufwei sen.
In diesem Fall ist die Anzahl der Bits des Zählers 150, der einen der Blocks bezeichnet bzw. ansteuert,
größer als log2 (K χ M). Die Bit-Anzahl der Registrierungsadresse
132 und die der Vergleichsadresse 192, die beide Spalten der Speichermatrix 110 ansteuern,
beträgt jeweils log9 N.
- 13 -
Der Zeiehenfölgen-Komparator kann je nach Auswahl der
Werte für J, K, M und N verschieden aufgebaut werden. Z.B. soll eine Folge aus alphanumerischen Zeichen,
japanischen Katakana-Zeichen usw. bestehen, wobei jedes Zeichen in einem 8-Bit-US-ASCII-Code dargestellt und
über den Eingangs-Datenbus 101 in zwei Schritten eingegeben
wird: Zunächst die vier höchstwertigen Bits und dann die vier geringstwertigen Bits. Das bedeutet, daß
J = 4 und K = 2 sind. Wenn M (die maximale Längeeiner
in einer Spalte speicherbaren Zeichenfolge) mit 8 und
die Anzahl Speicherzellen in der Speichermatrix 110
mit VMBit angenommen werden, beträgt die Anzahl der
Spalten N=4.096. Die Bit-Anzahl des Zählers 150, der Speicheradresse 132 und der Vergleichsadresse 192 beträgt
entsprechend 4 Bits, 12 Bits und 12 Bits. Die Anzahl der Speicherblocks beträgt 16 und die Wortanzahl
in jedem Block ebenfalls 16. Insgesamt kann der Speicher mit einer Speicherkapazität von 256 Worten ä 4.096
Bits 4.096 Folgen speichern, wobei jede Folge maximal aus 8 Zeichen zusammengesetzt ist.
Im folgenden sollen anhand von Fig. 2 der Speicherbetrieb
und der Vergleichsbetrieb im einzelnen erklärt
werden.
Fig. 2 zeigt den Inhalt der Speichermatrix 110. In
dieser Figur ist als Beispiel eine Zeichenfolge "RAM"
- 14 -
in der Spalte J oder an der Speicheradresse J der Speichermatrix 110 gespeichert. Jeder Buchstabe bzw. jedes
Zeichen der Eingabefolge, die in 8-Bit-ASCII-Code dargestellt ist, ist in zwei Teile aufgespalten, nämlich
die vier höchstwertigen und die vier niedrigstwertigen Bits, die dann in zwei verschiedenen Speicherblocks
gespeichert werden. Die Folge "RAM" ist im ASCII-Code als "52, 41, 4D" in Hexadezimal-Notierung dargestellt.
Die in ASCII-Code dargestellte Folge ist in zwei Teildatenstücke aufgespalten, die jeweils aus 4 Bits bestehen
und jeweils in einer Spalte eines Speicherblocks so gespeichert sind, daß in jedem Block "1" in nur
einer durch die Teildaten spezifizierten Reihe steht.
In diesem Beispiel ist "1" in den 0-ten bis 5-ten Blocks jeweils in der 5-ten, 2-ten, 4-ten, 1-ten, 4-ten
und D-ten Reihe gespeichert. In den anderen Reihen ist "0" gespeichert. Insgesamt ist jedes Zeichen im ASCII-Code
in zwei aufeinanderfolgenden Blocks gespeichert.
Im folgenden wird der Speicherbetrieb unter der Annahme erläutert, daß die Folge "RAM" unter einer Adresse
J in der Speichermatrix 110 gespeichert ist. Wenn das
Betriebsart-Signal auf der Leitung 103 einen logischen Wert "1" annimmt, wird der Zeilenfölgen-Komparator
in Speicherbetrieb gebracht. Als Antwort auf das Betriebsart-Signal
103 mit "1" dekodiert der Spalten-
- 15 -
Selektor 130 die Adresseninformation, die die Adresse
"J" ergibt und über dem Adressenbus 132 geliefert wird. Der Spalten-Selektor 130 treibt selektiv die J-te Spaltenwähl
-Lei tung 131. Zusätzlich wird das Anfangs-Setz-Signal
151 an den Zähler 150 geleitet, um seinen Zählerstand bzw. -inhalt 155 zu löschen. Als Antwort auf
das Betriebsart-Signal 103 "1" und entsprechend dem
gelöschten Zählerinhalt- 155 des Zählers 150 wählt bzw.
steuert der Zei1enselektor 120 den 0-ten Block der
Speichermatrix 110 an und treibt parallel alle Zeilenwähl-Leitungen
121 im 0-ten Speicherblock.
Wie schon dargestellt, wird die Folge "RAM" im ASCII-Code mit "52, 41, 4D" wiedergegeben und jedes Zeichen
in zwei Tei1datenelemente aufgespalten, die vier höchstwertigen
und die vier geringstwertigsten Bits. Insbesondere
die Eingangsdaten 110 setzen sich aus einer Folge von Teildatenelementen "5", "2", "4", "1", "4" und
"D" zusammen. Auf diese Weise empfängt der Daten-Schrei b-Generator 140 über den Datenbus 101 zugeleitete
Eingangsdaten, dekodiert diese und liefert dann die dekodierten Daten an die Daten-Schreib-Leitungen 141.
Speziell aktiviert der Daten-Schreib-Generator 140 zunächst nur eine Reihe eines jeden Blocks der Speichermatrix
110, der mit dem Wert "5" in Hexadezimal-Notierung über die Eingangsdaten 101 bestimmt wird. Wie
sich aus Figur 2 ergibt, wird auf diese Weise synchron
- 16 -
• U-
mit dem Schreibimpuls 104 eine "1" gespeichert und zwar
in der 5-ten Reihe, was durch das aus 4 Bits bestehenden und eine "5" in Hexadezimal-Notierung bedeutende
Eingangsteilsignal 101 bestimmt wird, in der J-ten Spalte, was durch die Speicheradresse 132 bestimmt
wird, im 0-ten Block, was durch Zähler 150 über den Reihen-Selektor bestimmt wird. Wenn der Schreibvorgang
der ersten Tei1 information beendet ist, wird der Inhalt des Zählers 150 mit dem Taktsignal 152 versorgt und um
"1" erhöht, so daß der Zähler dann den ersten Block des Speichers 110 zum Speichern der nächsten Teilinformation
"2" bestimmt.
Um die gesamte Folge "RAM" zu speichern, wird der oben beschriebene Schreibvorgang fünfmal für die übrige
Teildatenfolge "2", "4", "1", "4" und 11D" wiederholt.
Nach Beendigung aller Operationen sind die Eingangsdaten in der J-ten Spalte des Speichers 110 - wie in
Figur 2 dargestellt - gespeichert.
In diesem Beispiel können maximal 8 Zeichen in jeder
Spalte des Speichers 110 gespeichert werden. Um eine Folge von mehr als 8 Zeichen zu speichern, werden die
über die ersten 8 hinausgehenden Zeichen in der benachbarten Spalte gespeichert, indem die Speicheradresse
132 erhöht wird. Auf diese Weise kann eine Folge von beliebiger Zeichenlänge gespeichert werden.
- 17 -
Als nächstes wird der Vergleichsbetrieb durch die Eingabe
von "RAM" als Referenzfolge beschrieben, während
die gleiche Folge in der J-ten Spalte des Speichers 110 gespeichert ist. Zunächst wird "0" als ein Betriebswahl-Signal
103 zur Festlegung des Vergleichsbetriebs
abgegeben. Dann treibt der Zeilen-Selektor 120 selektiv
eine Reihenwähl-Leitung 121, die durch die Eingangsdaten 101 bestimmt ist, in dem Block, der von dem Signal
155 des Zählers 150 ausgewählt ist. Andererseits treibt der Spalten-Selektor 130 alle Spaltenwähl-Leitungen
131'parallel.
Der Zähler 150 gibt aus seiner interen Schaltung ein Carry- bzw.Übertragssignal 165 ab, wenn der Inhalt des
Zählers 0 ist. In diesem Beispiel wird das Übertragssignal
165 jeweils für 16 Eingangsteildaten abgegeben,
weil der Speicher 110 aus 16 Blocks zusammengesetzt ist und die Bit-Anzahl des Zählers 150 4 Bits beträgt.
Das Übertragssignal 165 wird an den Steuereingang eines
jeden Schalters der Schaltergruppe 160 abgegeben. Jeder
Schalter wählt den Α-Eingang, wenn das Übertragssignal 165 angelegt wird. An den Α-Eingang des 0-ten Schalters
ganz links wird immer "1" angelegt. Die Α-Eingänge der anderen Schalter sind mit dem Ausgang des Registers 180
der jeweils links anschließenden Spalte und der B-Eingang
eines jeden Schalters ist mit dem Ausgang des
Registers 180 jeweils derselben Spalte verbunden.
- 18 -
Gleichzeitig mit dem Anlegen des Betriebsart-Signals
103 wird der Zähler 150 gelöscht und alle Register 180 werden durch das Anfangs-Setz-Signal 151 gesetzt.
Andererseits wird eine Folge von Teildatenelementen der Referenzfolge synchron mit einem negativem Taktimpuls-Signal
152 eingegeben. In diesem Beispiel werden die Teildatenelemente der Folge "RAM", d.h., "5", "2",
"4", "1", "4" und "D", nacheinander über den Eingangsdatenbus
101 angelegt. Der Inhalt 155 des Zählers 150 wird bei jedem Taktsignal 152 um "1" erhöht. Auf diese
Weise treibt der Reihen-Selektor 120 nacheinander die
5-te Reihe des 0-ten Blocks, die 2-te Reihe des l-ten Blocks, die 4-te Reihe des 2-ten Blocks, die !-Reihe
des 3-ten Blocks, die 4-te Reihe des 4-ten Blocks und die D-te Reihe des 5-ten Blocks. Die in den jeweiligen
auf diese Weise angesteuerten Reihen gespeicherten Signale werden nacheinander über die Ausleseleitung 111
synchron mit dem Taktsignal 152 für jeden Block ausgelesen. Die ausgelesenen Signale werden dann an die UND-Gatter-Gruppe
170 weitergeleitet.
Wenn das erste Eingangsdatenelement "5" in Hexadezimal-Notierung
in diesem eingegeben ist, wird das Übertrags-Signal 165 an die Schalter-Gruppe 160 geleitet, so daß
alle Schalter in der Schalter-Gruppe 160 betrieben werden und den Α-Eingang aller Schalter ausgeben. Da
alle Register der Registergruppe 180 durch das Anfangs-
- 19 -
Setz-Signai 151 gesetzt sind, um ein Signal mit dem
logischen Pegel "1" abzugeben, liefern in diesem Moment alle Schalter ein Signal "1" an die UND-Gatter. Daher
wird das auf dem ersten Eingangsdatenelement 101 basierende
Auslesesignal 111 über das zugehörige UND-Gatter 170 in das Register 180 eingegeben und synchron mit
dem Taktsignal 152 gespeichert. Wie aus Figur 2 ersichtlich, wird "!"als Auslesesignal 111 aus der J-ten
Spalte des Speichers ausgegeben.
Danach gibt jeder Schalter in der Schalter-Gruppe 160
seinen B-Eingang an das zugehörige UND-Gatter im Bereich 170 ab, da das Übertragssignal 165 nicht an die
Schalter-Gruppe 160 abgegeben wird, bis die 16-te Teilinformation
eingegeben wird. Entsprechend wird das Ergebnis des logischen Produkts jedes Auslesesignals
111 mit dem Ausgangswert des zugehörigen Speichers bzw. Register in der Registergruppe 180 von dem zugehörigen
UND-Gatter ausgegeben und im korrespondierenden Speicher der Registergruppe 180 synchron mit jedem Taktsignal
152 festgehalten. Wenn die Folge "RAM" eingegeben ist, werden alle Auslesesignale 111 der J-ten Spalte
bei jedem Taktsignal 152 "1" sein, und daher wird, wenn
die Eingabe der Referenzfolge "RAM" vollständig durchgeführt
ist, der Inhalt des Registers 120 entsprechend der J-ten Spalte "1" werden, während von den anderen
Registern 180 "0" ausgegeben wird.
- 20 -
Der Inhalt aller Register 180 wird als Vergleichsergebnissignal
181 an den Kodierer 190 weitergeleitet. Wenn
das Vergleichsergebnissignal 181 "1" einschließt, gibt der Kodierer 190 als Ausgangssignal ein Koinzidenz-Signal
191 an eine externe Vorrichtung ab und wandelt die Position der Spalte, die das Vergleichsergebnissignal
"1" liefert, in eine Adresse in Binärcode um. Das Koinzidenz-Signal 191 gibt an, ob die Information,
die mit der Referenzinformation identisch ist, in dem
Speicher 110 gespeichert ist oder nicht, und die Vergleichsadresse
181 gibt die Position der Spalte an, bei der das Vergleichssignal 192 "1" war, d.h. die
Adresse der Stelle, die die Information speichert, die mit der Referenzinformation identisch ist. In diesem
Beispiel wird die Vergleichsadresse 192, welche
die J-te Spalte des Speichers bezeichnet, ausgegeben.
Wenn eine Folge aufgespalten und in mehreren Spalten gespeichert ist, und wenn eine Referenzfolge eine über
die Anzahl der Blocks im Speicher 110 hinausgehende Länge aufweist, wird die Vergleichsfunktion ähnlich
wie oben beschrieben ausgeführt. In diesem Fall wird der Zähler auf den Wert "0" zurückgestellt, wenn die
Anzahl von Teildatenelementen, die nacheinander dem
Reihen-Selektor 120 im Laufe des Vergleichsbetriebs zugeleitet wurden, die Anzahl der Speicherblocks übersteigt.
Dann liefert der Zähler 150 als Ausgangssignal
- 21 -
• ία-
ein Übertragssignal 165 an jeden Schalter 160, um dessen
Ausgang mit dessen Α-Eingang zu verbinden, der mit dem unmittelbar links von der Spalte des Schalters
liegenden Register verbunden ist. Daher wird das Ergebnis des logischen Produkts benachbarter Ausleseausgangssignale
111 des Speichers 110 in jedem Speicher 180 festgehalten. Folglich kann der Vergleich für eine
Folge beliebiger Länge ausgeführt werden, wobei die Folge in mehreren Spalten gespeichert ist.
Bei einer mehrfachen Übereinstimmung, bei der mehrere
in dem Speicher 110 gespeicherte Informationen mit
der Referenzfolge übereinstimmen, wird das Vergleichsergebnissignal
181 "1" von mehreren Registern erzeugt. In diesem Fall kodiert der Kodierer 190 die Position
der eine "1" enthaltenden Register in der Reihenfolge vom Register mit dem höchsten Stellenwert zu dem mit
dem niedrigsten Stellenwert von links nach rechts. Daher gibt der Kodierer 190 als erstes Ausgangsignal
die Vergleichsadresse 192 des Registers mit dem höchsten Stellenwert wieder, das eine "1" enthält. Um die
übrigen Vergleichsadressen 192 auszugeben, ist, wie in Figur 1 mit durchbrochenen Linien dargestellt, ein
Dekoder 200 vorgesehen, der die Vergleichsadressen 192 des Kodierers 190 dekodiert und ein Rückstellsignal
an das Register 180 abgibt, das durch die geradeausgelesene Vergleichsadresse 192 bestimmt wird. Dann
- 22 -
■ Ml·'
gibt der Kodierer 190 die nächste Vergleichsadresse
192 ab. Durch sequentielle Erzeugung des Rückstel1 signals
bei jeder Ausgabe der Vergleichsadresse 192, werden die übrigen Vergleichsadressen 192 nacheinander
an die externe Vorrichtung abgegeben.
Der Vergleich mittels Maskierung eines Teils jeder Zeichenfolge kann durchgeführt werden, indem verhindert
wird, daß das Taktsignal 152 an die Register 180 weitergeleitet wird, während das Auslesesignal 111,
welches die zu maskierenden Teildaten betrifft, ausgegeben werden.
Ein Zeichenfölge-Komparator der oben beschriebenen
Art kann unter Verwendung eines herkömmlichen Speichers
für 2 χ K χ M Worte a N Bits hergestellt werden. Der Zeichenfölgen-Komparator ist in der Lage, den Vergleich
für eine Folge mit bel-iebiger Länge auszuführen.
Figur 3 zeigt ein Ausführungsbeispiel des Zeilen- bzw.
Reihen-Selektors 120 des Zeichenfolgen- Komperators
gemäß Figur 1. Der dargestellte Zeilen- Selektor 120
weist einen die Eingangsdaten 101 empfangenden Zeilen-Dekoder
310 auf sowie einen Block-Dekoder 320, der den Inhalt 155 des Zählers 155 empfängt. Der Block-Dekoder
320 umfaßt mehrere parallele Ausgangsleitungen und wird so betrieben, daß er eine der Ausgangsleitungen, die
durch den Inhalt 155 des Zählers 150 bestimmt wird,
- 23 -
treibt. Der Zei!en-Dekoder 310 umfaßt mehrere parallele
Ausgangsleitungen und wird so betrieben, daß er eine
der Ausgangsleitungen treibt, die durch die Eingangsdaten bestimmt wird, wobei die Eingangsdaten ein Teildatenelement
einer Referenzfolge oder einer Eingangsfolge
darstellen. Die Ausgangsleitungen des Zeilen-Dekoders
310 sind jeweils mit einem von zwei Eingängen von ODER-Gattern
verbunden, die parallel angeordnet sind und eine ODER-Gatter-Gruppe 330 bilden. Der andere Eingang
eines jeden ODER-Gatters wird mit dem Betriebswahl-Signal 103 versorgt. Die Ausgänge aller ODER-Gatter
sind mit allen UND-Gatter-Gruppen 340 verbunden, die alle mit jeweils einem der Speicherblocks verbunden
sind. Andererseits ist jeder Ausgang des Block-Dekoders
320 mit einer zugehörigen UND-Gatter-Gruppe 340 verbunden.
Jede der UND-Gatter-Gruppe 340 umfaßt mehrere parallel angeordnete UND-Gatter mit zwei Eingängen. In jeder
UND- Gatter-Gruppe ist ein Eingang eines jeden UND-Gatters mit dem Ausgang des zugehörigen ODER-Gatters in
der ODER-Gatter-Gruppe 330 verbunden; die anderen Eingänge aller UND-Gatter sind gemeinsam mit der einen
zugehörigen Ausgangsleitung des Block-Dekoders 320
verbunden. Die Ausgänge aller UND-Gatter werden zur zugehörigen Zeile des Speichers 110 über jede Zeilenwähl-Leitung
121 geführt.
- 24 -
. So-
Im Speicherbetrieb wird eine "1" als Betriebswahl signal
103 angelegt. Dann wird eine "1" von allen ODER-Gattern der ODER-Gatter-Gruppe 330 an alle UND-Gatter aller
UND-Gatter-Gruppen 340 abgegeben. Andererseits aktiviert der Block-Dekoder 320 nur eine Ausgangsleitung,
die durch den Zählerausgang 155 des Zählers 150 bestimmt wird. Daraufhin werden alle Zei1enwähl-Leitungen
121 in einer UND-Gatter-Gruppe 340, die durch den Zählerausgang 155 bestimmt werden, parallel betrieben.
Dadurch werden alle Zeilen des spezifizierten Speicherblocks
in Dateneinschreibstellung gebracht.
Im Vergleichsbetrieb wird als Vertriebswahl signal 103
"0" angelegt. Daher wird "1" nur von einem ODER-Gatter in der ODER-Gatter-Gruppe 330 abgegeben, welches durch
die Eingangsdaten 101 bestimmt wird, so daß die UND-Gatter mit der gleichen Nummer wie die entsprechende
Gattergruppe 340 ein Si,gnal "1" an ihrem einen Eingang empfangen. Andererseits aktiviert der Block-Dekoder 320
nur eine Ausgangsleitung, die durch den Zählerstand 155 des Zählers 150 spezifiziert wird. Auf diese Weise wird
nur eine der Zeilenwähl-Leitungen 120, die durch den
Zeilen-Dekoder 310 ausgewählt wird, in einer UND-Gatter-
-Gruppe 340 getrieben, die ihrerseits durch den Zählerausgang 155 des Zählers über den Block-Dekoder 320
bestimmt wird.
- 25 -
Figur 4 gibt ein Ausführungsbeispiel des Spalten-Selektors
130 des Zeichenfölgen-Komparators gemäß Figur
1 wieder. Der Spalten-Selektor 130 umfaßt einen Dekoder
410, der die Speicheradresse 132 empfängt. Der Dekoder hat außerdem parallele Ausgangsleitungen, die jeweils
mit einem Eingang des zugehörigen, zwei Eingänge umfassenden ODER-Gatter in einer Gatter-Gruppe 430 verbunden
sind. Der Dekoder 410 wird so betrieben, daß er die Eingangsadresse dekodiert, um selektiv ein Binärsignal
"1" auf einer seiner Ausgangsleitungen abzugeben, die
durch die Eingangsdaten bestimmt wird. Der Spalten-Selektor
130 weist außerdem einen Inverter 420 auf, der einen mit der Leitung 103 verbundenen Eingang zum Empfang
des Betriebssignals sowie einen Ausgang umfaßt, der jeweils mit den anderen Eingängen aller ODER-Gatter
in der ODER-Gatter-Gruppe 430 verbunden ist, um diese mit dem invertierten Betriebssignal zu versorgen. Die
Ausgänge der jeweiligen ODER-Gatter der ODER-Gatter-Gruppe 430 sind mit den jeweiligen Spaltenwähl-Leitungen
131 verbunden.
Im Speicherbetrieb wird als Betriebswahlsignal 103
eine "1" an den Inverter 420 gelegt, so daß das Binärsignal "0" an die zweiten Eingänge aller ODER-Gatter
in der ODER-Gatter-Gruppe 430 geliefert wird. Auf diese Weise treibt der Dekoder 410 wahlweise eine der Spaltenwähl
-Lei tungen 131 an, die durch die Speicheradresse
- 26 -
132 ausgewählt ist, und ermöglicht es, daß die Eingangsdaten in die wahlweise getriebene Spalte eingeschrieben
werden.
Da im Vergleichsbetrieb eine "O" als Betriebswahlsignal
an den Inverter 420 gelegt wird, liefert dieser als Ausgangssignal eine binäre "1" an alle ODER-Gatter
in der ODER-Gatter-Gruppe 430, so daß alle Spaltenwähl-Leitungen
131 parallel getrieben werden ohne Beeinflussung durch die Ausgänge des Dekoders 410. Auf diese
Weise können die Daten aller Spalten des Speichers 110
parallel ausgelesen werden.
Figur 5 zeigt ein Ausführungsbeispiel des Daten-Schrei
b-Generators 140 des Zeichenfölgen-Komparators
gemäß Figur 1. Der Daten-Schreib-Generator weist einen Dekoder 510 mit einem Eingang auf, der mit dem Datenbus
101 verbunden ist, um die Eingangsdaten als Speicherinformation
zu empfangen. Der Dekoder 510 hat ebensoviele Ausgänge wie es Zeilen in jedem Speicherblock gibt
und gibt jeweils das Binärsignal "1" auf einer seiner Ausgangsleitungen ab, die durch die Eingangsdaten 110
bestimmt wird. Aus Figur 5 ergibt sich, daß jeder Ausgang des Dekoders 510 verzweigt ist und mit der Daten-Schrei
b-Leitung 141 gleicher Nummer eines jedes Speicherblocks
verbunden ist.
- 27 -
Als Dekoder 510 kann auch der Zeilen-Decoder 310 verwendet
werden, wie er beim Zeichenföl gen-Komparator gemäß
Figur 3 Verwendung findet. Aus diesem Grund sind die Ausgangsleitungen des Zeilen-Dekoders 310, wie in Figur
5 dargestellt, entsprechend mit den Daten-Schreib-Leitungen
141 verbunden. Auf diese Weise kann der Zeilen-Selektor 120 ebenfalls als Daten-Schreib-Generator
140 verwendet werden.
Figur 6 gibt ein weiteres Ausführungsbeispiel des Daten-Schrei
b-Generators 140 des Zeichenfölgen-Komparators
gemäß Figur 1 wieder. Zusätzlich zum Dekoder 510 gemäß Figur 5 ist eine Flip-Flop-Gruppe 610 vorgesehen.
Die Flip-Flops in der Flip-Flop-Gruppe 610 werden
durch ein Löschsignal 611 gelöscht, was in Figur 1 nicht dargestellt ist. Die Eingangsdaten 101 bestimmen
über den Dekoder 510 ein Flip-Flop.
Der Unterschied zwischen großen und kleinen Buchstaben des ASCII-Codes für das englische Alphabet wird durch
das sechsteBit des niedrigstwertigen Bits bestimmt. Bei
der Speicherung der Eingangsdaten 101 ist es wünschenswert,
daß große und kleine Buchstaben gleich behandelt werden. Im Englischen ändert sich bei Hauptworten im
Plural oft die Endung, und Verben werden in Abhängigkeit vom Tempus flektiert. Wenn solche Worte den gleise -
chen Stamm haben und in dieselbe Gruppe eingeordnet werden, kann eines dieser Worte die Gruppe repräsentieren,
wodurch folglich eine wesentliche Reduktion der Spalten, die zum Speichern ähnlicher Worte gebraucht
werden, erreicht wird. In diesem Fall muß eine Vielzahl von Teildaten in demselben Block gespeichert werden.
Für diesen Zweck ist das Flip-Flop 610 vorgesehen. Wenn eine Vielzahl von Teildaten dem Dekoder
zugeleitet werden, nachdem das Löschsignal 610 an alle Flip-Flops in der Flip-Flop-Gruppe 610 angelegt wurde,
wird die logische Summe, die eine Vielzahl von Teildatenelementen betrifft, in der Flip-Flop-Gruppe 610
gespeichert und dann an die entsprechenden Daten-Schrei b-Leitungen 141 abgegeben.
In Figur 7 ist ein weiteres Ausführungsbeispiel des
erfindungsgemäßen Zeichenfölgen-Komparators dargestellt.
Der Zeichenfölgen-Komparator ist in der Lage,
im Speicher gespeicherte Folgen zu löschen und die Adressen leerer Speicherbereiche auszulesen. Für diesen
Zv/eck ist der Zeichenf öl gen-Komparator gemäß Figur
1 zusätzlich mit einer EXKLUSIV-ODER-Gatter-Gruppe 730 ausgestattet. Darüber hinaus wurden einige Änderungen
am Speicher 110 und am Zei1en-Selektor 120 vorgesehen.
An die Stelle des Speichers 110 tritt ein erweiterter Speicher 710, der sich aus einem, dem Speicher
110 in Figur 1 entsprechenden Speicherteil 704 und
- 29 -
einem Indikator 706 zusammensetzt, der aus einer Zeile von Speicherzellen besteht, mit deren Hilfe angegeben
wird, welche Spalte benutzt wird. Anstelle des Zeilenselektors 120 gemäß Figur 1 wird ein erweiterter Zeilen-Selektor
720 verwendet, der nicht nur die Zeilenwähl-Leitungen
121 steuert, die mit dem Speicherteil 704 verbunden sind, sondern darüber hinaus eine mit
dem Indikator 706 verbundene Zei1enwähl-Leitung .
Die EXKLUSIV-ODER-Gatter-Gruppe 730 umfaßt ebensoviele
EXKLUSIV-ODER-Gatter mit je zwei Eingängen wie der erweiterte Speicher 710 Spalten aufweist. Die ersten
Eingänge der EXKLUSIV-ODER-Gatter der EXKLUSIV-ODER-Gatter-Gruppe 730 sind zum Empfang eines invertierten
Signals (I) 731 verbunden, während die zweiten Eingänge jeweils mit den entsprechenden Spalten des erweiterten
Speichers 710 verbunden sind. Ein Ausgang eines jeweiligen EXKLUSIV-ODER-Gatters 730 ist mit dem ersten Eingang
des zugehörigen UND-Gatters in der UND-Gatter-Gruppe 170 verbunden. Das invertierte Signal 731 wird ebenfalls
dem Zähler 150 zugeleitet, so daß dieser entweder durch das Anfangs-Setz-Signal 151 oder durch das invertierte
Signal 731 gelöscht wird. Darüber hinaus wird ein erstes Betriebswahl signal (Ml) 732 sowie ein zweites
Betriebswahl-Signal (M2) 733 dem Zei1en-Selektor
720 zugeleitet. Das zweite Betriebswahlsignal 733 ist
ähnlich dem Betriebswahlsignal 103 im Ausführungsbei-
- 30 -
spiel gemäß Figur 1 und wird daher dem Spalten-Selektor
130 zugeleitet. Das erste Betriebswahlsignal 732 wird
auch an die Daten-Schreib-Leitung des Indikators
gelegt.
Die übrigen Elemente, wie beispielsweise der Spalten-Selektor
130, der Daten-Schreib-Generator 140, die Schaltergruppe 160, die UND-Gatter-Gruppe 170, die Register-Gruppe
180 und der Kodierer 190 können die gleichen sein, wie bei dem Zeichenfölgen-Komparator gemäß Figur
1. Daher entfällt eine Beschreibung derjenigen Elemente, die mit denen in Figur 1 übereinstimmen.
Der Zeichenfolgen-Komparator kann wahlweise einen der
folgenden Betriebszustände entsprechend den logischen Werten des ersten Betriebswahlsignals (Ml) 732, des
zweiten Betriebswahlsignals (M2) 733 und des invertierten Betriebssignals (I) 731 annehmen. Unter der
Verwendung der Bezeichnung der Signale als (Ml, M2, I.) können die 5 Betriebsarten folgenderweise bezeichnet
werden:
(0,0,0) Vergleichsbetrieb;
(0,1,X) Löschbetrieb;
(1,0,0) Anfangs-Setz-Betrieb der Registergruppe
180;
(1,0,1) Auslesen des Inhalts des Indikators des
(1,0,1) Auslesen des Inhalts des Indikators des
- 31 -
. of·
erweiterten Speichers 710 und (1,1,0) Speichern von Zeichenfolgen;
dabei kann "X" entweder den Wert "1" oder "0" annehmen.
Im Speicherbetrieb werden alle Zeichenwähl-Leitungen
121 eines durch den Inhalt 155 des Zählers 150 ausgewählten
Speicherblocks parallel zusammen mit der Zeichenwähl -Leitung 721 des Indikators 706 durch den Zeilen-Selektor
720 getrieben, der als erstes und zweites Betriebswahlsignal 732, 733 eine "1" empfängt. Da das
erste Betriebswahlsignal 732 an die Daten-Schreib-Leitung des Indikators 706 gelegt wird, wird ein Binärsignal
"1", das anzeigt, daß die Spalte mit Speicherinformation besetzt worden ist, in der Spalte des Indikators
706 gespeichert, die durch die Speicheradresse 132 bestimmt wird. Im Speicherteil 704 wird danach
die Folge genau wie im Speicher 110 des Zeichetnfolgen-Komparators
gemäß Figur 1 gespeichert.
Im Löschbetrieb treibt der Reihen-Selektor 720 ebenfalls
die Reihenwähl-Leitung 721 des Indikators 706. Da jedoch das erste Betriebswahl signal 732 "0" an die
Datenschrei bleitung des Indikators 706 gelegt wird, wird ein Binärsignal "0" in der Spalte des Indikators
706 gespeichert, die durch die Speicheradresse 132 bestimmt wird.
- 32 -
Mit anderen Worten besagt der Inhalt in jeder Spalte des Indikators 706 auf Grund der binären Daten "1"
oder "0", ob die entsprechende Spalte des Speicherteils
704 eine wiederaufzubereitende Folge speichert oder
nicht.
Beim Auslesen des Inhaltes des Indikators 706 wird zunächst das Anfangs-Setz-Signal 151 an die Register
in der Registergruppe 180 abgegeben, um deren Inhalt
auf "1" zu setzen. Danach werden drei Betriebssignale
mit den Werten (1,0,1) als das erste Betriebswahl signal
732, das zweite Betriebswahl signal 733 und als das invertierte Betriebssignal 731 angelegt. Dann treibt
der Zei1enselektor 720 nur die Zei1enwählleitung 721
des Indikators 706, während der Spalten-Selektor 130
alle Spaltenwähl-Leitungen 131 parallel treibt. Dadurch
wird der Inhalt des Indikators 706 über die mit dem Speicher 710 verbundenen Auslese-Leitungen 111 ausgegeben.
Die Auslesesignale 111 einer jeder Spalte werden
dann einem Eingang eines EXKLUSIV-ODER-Gatters in der
EXKLUSIV-ODER-Gatter-Gruppe 730 zugeleitet. Der andere Eingang der EXKLUSIV-ODER-Gatter empfängt eine "1"
des invertierten Betriebssi cjnal s 731. Folglich gibt
das EXKLUSIV-ODER-Gatter das invertierte Signal des Auslesesignals 111 des Indikators 706 ab. Dieser Ausgangswert
wird einem der Eingänge der zugehörigen UND-
- 33 -
Gatter in der UND-Gatter-Gruppe 170 zugeleitet. Der andere Ausgang der UND-Gatter ist mit dem Schalter
160 verbunden. Zu diesem Zeitpunkt wird das Übertragssignal 165 abgegeben, da der Zähler 150 durch das invertierte
Betriebssignal 131 "1." gelöscht wird. Daraufhin wählt jeder Schalter den Α-Eingang und gibt ein Binärsignal
"1" an die UND-Gatter ab.
Dadurch wird jedes Auslesesignal 111 über das UND-Gatter
170 synchron mit dem Taktsignal 152 in das zugehörige Register 180 eingegeben und gespeichert. Die im
Register 180 gespeicherte Information ist gegenüber der im Indikator 706 gespeicherten invertiert. Mit
anderen Worten entspricht eine im Register 180 gespeicherte "1" einer leeren Spalte in dem Speicher 710.
Die Adresse der leeren Spalte wird über den Kodierer 190 als Vergleichsadresse 192 abgegeben, wodurch die
Adresse von Spalten angezeigt wird, in die zusätzliche Daten gespeichert werden kann. Gleichzeitig wird das
Koinzidenzsignal 191 vom Kodierer 190 abgegeben: Sofern
eis noch leere Spalten gibt, wird eine "1" abgegeben,
sonst eine "0".
Der Zeichenfolgen-Komparator ist ebenfalls in der Lage,
lange Eingabefolgen, die jeweils zur Speicherung
mehrerer Spalten benötigen, wie dies beim Zeichenfolgen-Komparator
gemäß Figur 1 dargestellt ist. Wenn
- 34 -
• (,ο-
mehrere lange aufeinanderfolgende, leere Spalten zur
Speicherung einer langen, zusätzlichen Folge nötig sind, können leere Adressen erhalten werden, indem
ebensoviele Taktsignale 152 aufgegeben werden, wie leere Spalten nötig sind.
Selbst wenn das Taktsignal 152 dem Zähler 150 zugeleitet wird, gibt der Zähler 150 als Ausgangssignal weiter
das Übertragungssignal 165 ab, weil er als invertiertes Signal 731 die "1" empfängt. Durch das Übertragungssignal
165 wählt jeder Schalter in der Schaltergruppe 160 seinen Α-Eingang und benachbarte Register
180 sind über die UND-Gatter 170 in Serie verbunden. Wenn die Taktsignale 152 η-mal angelegt werden, wird
daher die "1" nur in den Registern 180 gespeichert, die den Spalten entsprechen, die in der Speichermatrix
auf der linken Seite mehr als η leere Spalten hintereinander haben. Die Adressen der Spalten werden über
den Kodierer 190 als Vergleichsadresse 192 ausgegeben. Die Hauptadresse der in η aufeinanderfolgenden Spalten
gespeicherten Referenzfolge kann dadurch erhalten werden,
daß η von der Vergleichsadresse 192 abgezogen wird. Auf diese Weise kann die Speicheradresse leicht
erhalten werden, unter der eine lange Folge in mehreren
aufeinanderfolgenden Spalten gespeichert werden kann.
Auf der Basis der auf diese Weise erhaltenen Speicher-
- 35 -
adresse kann ein Speichervorgang ähnlich dem anhand des
ersten Ausführungsbeispiels gemäß Figur 1 erklärten
ausgeführt werden.
Im Vergleichsbetrieb werden das invertierte Signal 731 "1" und das Anfangs-Setz-Signal 151 angelegt, so
daß der Zähler 150 gelöscht wird und gleichzeitig jedes
Register 180 gesetzt wird. Danach werden 3 Betriebssignale der Werte (0,0,0) und das Taktsignal 152 angelegt.
Dann treibt der Reihenselektor 720 die Reihenwähl-Leitung
721 des Indikators 706, während der Spalten-Selektor
130 alle Spaltenwähl-Leitungen 131 parallel
treibt. Dadurch wird der Inhalt des Indikators 706 über die mit dem Speicher 710 verbundenen Auslese-Leitungen
111 ausgegeben. Das Auslesesignal 111 einer
jeden Spalte wird dann an den einen Eingang eines jeden
EXKLUSIV-ODER-Gatters in der EXKLUSIV-ODER-Gatter-Gruppe
710 angelegt. Der andere Eingang des EXKLUSIV-ODER-Gatters
empfängt als das invertierte Betriebssignal 731 eine "0". Folglich liefert das EXKLUSIV-ODER-Gatter
das gleiche Ausgangssignal wie das Auslesesignal 111
des Indikators 706. Dieses Ausgangssignal wird einem Eingang der zugehörigen UND-Gatter in der UND-Gatter-Gruppe
170 zugeleitet. Der andere Eingang des UND-Gatters ist mit dem Schalter 160 verbunden. In diesem
Moment wird, da der Zähler 150 durch das invertierte Betriebssignal 731 "1" gelöscht ist, das Übertragssig-
- 36 -
nal 165 ausgegeben. Folglich wählt jeder Schalter in
der Schaltergruppe 160 den Α-Eingang und gibt ein binäres Signal "1" an das UND-Gatter ab. Dadurch wird jedes
Auslesesignal 111 synchron mit dem Taktsignal 152 über das UND-Gatter 170 in das Register 180 eingegeben und
gespeichert. Nach allem wird "1" als Anfangswert nur in den Registern 180 gespeichert, die den Spalten entsprechen,
in denen eine Datenfolge gespeichert ist.
Nachdem die obengenannte Funktion ausgeführt ist, wird der Zähler 150 durch das invertierte Signal 731 in
Form eines positiven Pulses gelöscht. Als nächstes wird die Referenzinformation 101 synchron mit dem Taktsignal
152 als Tei1information der Referenzfolge angelegt,
so daß der Vergleich genau wie bei dem Zeichenfolgen-Komparator
gemäß Figur 1 ausgeführt wird.
Wie oben beschrieben, kann der Zeichenfölgen-Komparator
mit herkömmlichen Speicherzellen ausgeführt werden
und ist in der Lage, eine Folge beliebiger Länge zu verarbeiten. Zusätzlich kann eine Übereinstimmung mit
leeren Spalten eliminiert werden, weil eine "1" als Anfangswert nur in den Registern 180 gespeichert ist,
die den Spalten entsprechen, in denen eine Datenfolge gespeichert ist. Ein weiterer Vorteil ist, daß der
Zeichenfolgen-Komparator keine externen Bauteile zur Kontrolle leerer Spalten bedarf, weil die Adressen
- 37 -
aufeinanderfolgender leerer Spalten mit beliebiger
Länge als Vergleichsadresse 192 ausgegeben werden kann,
wodurch der Zeichenfölgen-Komparator wesentlich vereinfacht
wird.
Figur 8 zeigt ein Ausführungsbeispiel des Zeilenselektors
720 des Zeichenfölgen-Komparators gemäß Figur 7. Der Zeilen-Selektor 720 umfaßt ein die Eingangsdaten
101 sowie den Inhalt 155 des Zählers 150 empfangenden
Zeilenwählteil 810, ein EXKLUSIV-ODER-Gatter 820, ein
UND-Gatter 830 sowie ein ODER-Gatter 840. Das Zeilenwählteil
810 entspricht dem Zei1enSelektor 120 des
Zeichenfolgen-Komparators gemäß Figur 3. Die drei Gatter
820, 830 und 840 empfangen entsprechend zwei Betriebswahlsignale
732 und 733. Der Ausgangswert des EXKLUSIV-ODER-Gatters 820 wird invertiert und dann
weitergeleitet, um die Signal eingänge des Zeilen-Dekoders
310 und des Block-Dekoders 320 im Zeilen-Selektor
120 freizugeben. Wenn das eingegebene Freigabesignal "0" ist, nimmt jeder Ausgang des Zeilen-Dekoders 310
ü"nd des Block-Decoders den Wert "0" an. Das Ausgangssignal
des UND-Gatters 830 wird dem Betriebssignaleingang
103 der ODER-Gatter-Gruppe 330 gemäß Figur 3 zugeleitet. Zusätzlich ist der Ausgang des ODER-Gatters
840 mit der Zei1enwähl-Leitung 721 des Indikators 706
verbunden.
- 38 -
Im Speicherbetrieb, bei dem sowohl der Leitung für das erste Betriebswahlsignal 732 als auch der Leitung
für das zweite Betriebswahlsignal 733 eine "1" zugeleitet wird, da die Freigabesignal eingänge der beiden
Dekoder 310 und 320 mit dem logischen Pegel "1" versorgt werden, treibt der Zeilen-Selektor 720 parallel
die Zei1enwähl-Leitungen 121 und 721 vergleichbar zum
Speicherbetrieb des ersten Ausführungsbeispiels gemäß
Figur 1. Im Vergleichsbetrieb, in dem "0" sowohl der
Leitung für das erste Betriebswahl signal 732 als auch der Leitung für das zweite Betriebswahl signal 733 zugeführt
wird, treibt, da gleichzeitig eine "1" an den Freigabesignal eingang der Dekoder 310 und 320 zugeleitet
wird, der Zeilen-Selektor 720 wahlweise eine Zeilenwähl-Leitung
121, die sowohl durch den Inhalt 155 des Zählers 150 als auch durch die Eingangsdaten bestimmt
wird, ähnlich wie im Vergleichsbetrieb des Ausführungsbeispiels gemäß Figur 1. In anderen Situationen, bei
denen die Kombination des ersten und zweiten Betriebswahlsignals 732 und 733 den Wert (1,0) oder (0,1) annehmen,
wird nur die mit dem Indikator 706 verbundene Zeilenwähl-Leitung 721 getrieben. Wie oben beschrieben,
können verschiedene Operationen des Zeichenfölgen-Komparators
ausgeführt werden durch Steuerung der beiden Betriebssteuersignale,
die für das Treiben der Zeilenwähl-Leitungen 121 und 721 zuständig sind.
Figur 9 zeigt ein drittes Ausführungsbeispiel des erfin-
- 39 -
dungsgemäßen Zeichenfölgen-Komparators. Dieser Komparator
unterscheidet sich von dem gemäß Figur 1 in mehreren Punkten:
Er enthält zwei Speicher 110, zwei Zei1en-Selektoren
120 und zwei Daten-Schreib-Generatoren 140 an Stelle
eines einzigen Zeilen-Selektors 120 und an Stelle des
einzigen Daten-Schreib-Generators 140; darüber hinaus ist eine weitere UND-Gatter-Gruppe 910 vorgesehen zur
Bildung des logischen Produkts der Auslesesignale 111
der beiden Speicher 110. Entsprechend wird ein 8-Bit-ASCII-Code, der in die 4 höchstwertigen Datenbits und
in die 4 niedrigstwertigen Datenbits aufgeteilt ist,
parallel in die beiden Speicher 110 eingegeben. Dies stellt einen wesentlichen Unterschied zum Zeichenfolgen-Komparator
gemäß Figur 1 dar, bei dem der 8-Bit-ASCII-Code als Serie zweier 4-Bit-TeiIdatenelemente
aus den 4 höchstwertigen beziehungsweise de.n 4 niedrigstwertigen
Datenbitsseriell eingegeben wird. Daher ist der zum Vergleichen und Speichern nötige Zeitbedarf
gegenüber dem Zeichenfölge-Komparator gemäß Figur
1 auf die Hälfte reduziert.
Es können die gleichen Speicher 110, Zei1en-Selektoren
120, Spaltenselektoren 130, Daten-Schreib-Generatoren
140, dergleiche Zähler 150, diegleiche Schaltergruppe
160, UND-Gatter-Gruppe 170, Registergruppe 180 und
- 40 -
j ο 4 5 ι 2 ο
dergleiche Kodierer 190 wie in Figur 1 verwendet werden.
Die unterbrochenen Linien in der Schaltergruppe 160 und in der UND-Gatter-Gruppe 170 deuten an, daß die
Signale beide Gruppen passieren, das heißt, die Ausgangssignale
der UND-Gatter-Gruppe 910 werden in die UND-Gatter-Gruppe 170 eingegeben, ohne in die Schaltergruppe
160 eingegeben zu werden und die Ausgangssignale der Registergruppen 180 werden der Schaltereinheit
160 zugeleitet, ohne der UND-Gatter-Gruppe 170 zugeleitet zu werden.
Jedes Zeichen der gespeicherten Folgen und der Referenzfolgen wird als 8-Bit-ASCII-Code und parallel in die
Speicher 110 eingegeben, indem die Folgen in zwei 4-Bit-
- Tei1-Daten-Elemente aufgespalten werden, nämlich in
die vier höchstwertigen und in die vier niedrigstwertigen
Datenbits. Die Auslesesignale 111 der jeweiligen
4-Bit-Tei!daten eines jeden Speichers 110 werden in
die UND-Gatter-Gruppe 910 eingegeben und dann an die UND-Gatter-Gruppe 170 ausgegeben. Die Ausgangswerte
(Ter UND-Gatter-Gruppe 910 entsprechen den Auslesesignalen
111 in Figur 1. Die Ausgangssignale der UND-Gatter-Gruppe
910 zeigen an, ob jedes Zeichen der gespeicherten Folge in den beiden Speichern identisch ist mit
der Referenzfolge, die durch Teilung in zwei Teildaten
eingegeben wurde. Das logische Produkt wird sukzessive in jedem UND-Gatter 910 für den Ausgangswert für
- 41 -
jedes Zeichen der gespeicherten Zeichenfolge erzeugt. Das Ausgangssignal des UND-Gatters wird in dem zugehörigen
Register der Registergruppe 180 gespeichert. Das
Vergleichsergebnissignal 181, das heißt das Ausgangssignal des Registers 180, wird über den Kodierer 190
als Vergleichsadresse 192 ausgegeben. Auf diese Weise
wird der Vergleich wie in dem Zeichenfolgen-Komparator
gemäß Figur 1 ausgeführt.
Bei der Speicherung werden ASCII-Codes für jedes Zeichen gemäß dem in Figur 2 gezeigten Muster in den beiden
Speichern 110 gespeichert, wie dies bei dem Komparator gemäß Figur 1 geschieht, nachdem eine Aufteilung in
zwei 4-Bit-Tei1 daten stattgefunden hat, nämlich in die
höchstwertigen vier Datenbits und in die vier Teildatenbits niedrigster Wertigkeit.
Wie oben beschrieben ist die zur Speicherung und zum
Vergleich nötige Zeit gegenüber dem String- bzw. Zeichenfol gen-Komparator gemäß Figur 1 wesentlich abgekürzt.
Die Elemente des Zeichenfölgen-Komparators können
reduziert werden, indem der Zeichen-Dekoder 310 im Zeichenselektor 120 ebenfalls als Daten-Schreib-Generator
140 verwendet wird und indem einer der beiden Block-Dekoder 320 in den beiden Zei1en-Selektoren weggelassen
wird. Wenn die zugehörigen Auslesesignale 111
der beiden Speicher 110 miteinander durch verdrahtete
- 42 -
UND-Glieder verbunden werden, können die UND-Gatter in der UND-Gatter-Gruppe 910 wegfallen. Dadurch wird bei
nur geringer Zunahme der Hardware die Betriebsgeschwindigkeit
wesentlich gesteigert.
Zusätzlich kann der Zeichenfölgen-Komparator mit einem
Indikator zur Anzeige der Besetzung der Spalten des Speichers 110 gemäß Figur 7 ausgerüstet werden. Mit
diesem Indikator können leere Spalten des Speichers 110 leicht herausgefunden werden.
Wie im einzelnen dargestellt, kann der erfindungsgemäße
Zeichenfölgen-Komparator mit herkömmlichen, preiswerten
Speicherzellen hergestellt werden, wodurch sich die Kosten reduzieren lassen. Ein Zeichenfölgen-Komparator,
der in der Lage ist, N Eingangsfolgen zu speichern, wobei jede Folge aus M Elementen von J mal K Bits langen
Zeichen zusammengesetzt ist, kann mit Hilfe eines Speichers mit 2 χ K χ M Worten ä N Bits oder mit K
Speichern hergestellt werden, wobei jeder Speicher eine Kapazität von 2 mal M Worten zu N Bits hat. Daher
können unter Verwendung eines 1 MBit-Speicherchips 8192
Folgen in einem Chip gespeichert werden, wobei jede Folge die Länge von M = 8 und jedes Zeichen der Folge
durch einen 8-Bit-ASCII-Code mit J = 2 und K = 4 dargestellt
ist.
Wie gesagt ist der Zeichenfölge-Komparator bei Verwen-
- 43 -
dung eines 1 MBit-Speichers in der Lage, 8192 Folgen
in einem Chip zu speichern, wobei jede Folge aus 256 Zeichen zusammengesetzt ist. Das bedeutet, daß 8192
Schlüsselworte gleichzeitig aus Folgen extrahiert beziehungsweise wiederaufbereitet werden können, die eine
Originaldokumentdatei bilden können, die beispielsweise
unter Verwendung eines Wortprozessors erstellt wurde. Angesichts der Schwierigkeiten bei der gleichzeitigen
Wiederaufbereitung beziehungsweise beim Wiederauffinden
vieler Schiüsselworte beim Stand der Technik stellt
der erfindungsgemäße Zeichenfölgen-Komparator eine
bahnbrechende Vorrichtung dar.
Der Zeichenfölgen-Komparator kann auch bei der Klassifizierung
spezifischer Sequenzen in Systemen zur Mustererkennung beispielsweise einer Vorrichtung zur optischen
Zeichenerkennung (OCR) und einer Spracherkennungsvorrichtung verwendet werden. Ein nur aus einem hochintegrierten
(LSI-)Chip bestehender Zeichenfolgen-Komparator kann als Wörterbuch für die Übersetzung menschlicher
Sprache verwendet werden. Mit 10 solcher Chips kann ein etwa 80000 Worte des praktischen Bedarfs umfassendes
Wörterbuch erhalten werden. Zu diesem Zweck wird ein herkömmlicher RAM mit jedem Chip verbunden und
eine Übersetzung für jedes Wort in Zusammenhang mit dem Klassifikationskode für jede Folge gespeichert.
Mit dieser Anordnung können 8192 Übersetzungen für
- 44 -
die entsprechenden Worte auf einem Chip oder 80000 Übersetzungen insgesamt auf 10 Chips sofort nach der
Eingabeoperation der Folgen erhalten werden. Der herkömmliche RAM ist in der Lage, verschiedene Informationen
entsprechend dem Klassifikationskode der Folgen
zu speichern, so daß verschiedene Informationsverarbeitungsfunktionen
ausgeführt werden können. Wenn beispielsweise Verarbeitungsbefehle für den Klassifikationskode
von Folgen entsprechend einem Sprachteil-Code (part-of-speech-code), entsprechend der Häufigkeit
des Erscheinens von spezifischen Folgen und entsprechend aus Folgen zusammengesetzter Sätze gespeichert
werden, kann eine Sammlung und Anordnung von Wissensinformationen leicht hergestellt werden.
Zusätzlich kann der Zeichenfölgen-Komparator eine lange
Folge in mehreren Spalten des Speichers speichern. Darüber hinaus kann der Speicher Eingabefolgen mit
beliebiger Länge speichern und vergleichen. Der Komparator ist darüber hinaus in der Lage, leere Spalten mit
b-eliebiger Länge im Speicher als Vergleichsadresse 192
auszugeben, was die externe Steuerung undüberwachung leerer Spalten erleichtert und zu einer Kostenreduktion
führt.
Für die Verarbeitungsgeschwindigkeit des Zeichenfölgen-Komparators
gilt folgendes: Eine Zykluszeit T- eines im
- 45 -
• u-
Speicher 110 oder 710 verwendeten RAMs entspricht der
Verarbeitungszeit für ein Zeichen in einer Folge. Angenommen
Tp beträgt 100 ms, so beträgt die zum Vergleich
eines Originaltexts mit der Länge von 10 Zeichen mit einer Folge von 10 erforderliche Zeit 10 Sekunden. Im
Vergleich dazu beträgt die zum Vergleich notwendige
Zeit 10 Stunden, wenn der Vergleich mit einem Computer mittels eines hochentwickelten Programms gemäß dem
Stand der Technik ausgeführt wird. Auf diese Weise kann die Vergleichszeit mit Hilfe des erfindungsgemäßen
Zeichenfölgen-Komparators wesentlich abgekürzt werden.
Mit dem erfindungsgemäßen Zeichenfölgen-Komparators
werden zwei wichtige Probleme gelöst, die bei der Datenverarbeitung gemäß dem Stand der Technik mit Hilfe von
Mikrocomputern und ausgeklügelten Programmen auftraten:
lange Bearbeitungszeit und mangelnde Flexibilität bei
Vergleichen mittels Klassifizierung von Folgen. Zu
beachten ist, daß der Zeichenfölgen-Komparator gemäß
der Erfindung mittels eines LSI-Chips hergestellt werden kann, wie sie für die Extraktion von Schlüsselworten
aus Originaltextdateien, für ei'n Wörterbuch zur Übersetzung menschlicher Sprachen und für die Klassifizierung
spezifischer Sequenzen in Mustererkennungssystemen notwendig sind.
Die Erfindung wurde anhand spezieller Ausführungsbei-
- 46 -
■ η-
spiele dargestellt und beschrieben. Es ist jedoch festzuhalten, daß die Erfindung in keiner Weise auf die
dargestellten Strukturen begrenzt ist, sondern daß vielmehr Änderungen und Abweichungen vorgenommen werden
können, ohne daß der Rahmen der Erfindung verlassen würde.
- 47 -
Claims (38)
1. Zeichenfölgen-Komparator zum Aufsuchen der Adres
se einer gespeicherten Zeichenfolge mit einem Inhalt,
der im wesentlichen dem einer eingegebenen Referenzzeichenfolge entspricht, gekennzei chnet
durch
se einer gespeicherten Zeichenfolge mit einem Inhalt,
der im wesentlichen dem einer eingegebenen Referenzzeichenfolge entspricht, gekennzei chnet
durch
- einen eine Anzahl in Matrixform angeordnete Speicherzellen
aufweisenden Speicher mit mehreren Zeilen und
mehreren Spalten, wobei die Zeilenposition einer
jeden Speicherzelle dem Inhalt der gespeicherten
mehreren Spalten, wobei die Zeilenposition einer
jeden Speicherzelle dem Inhalt der gespeicherten
•a-
Zeichenfolge und die Spaltenposition einer jeden
Speicherzelle der Adresse der gespeicherten Zeichenfolge
entspricht; und
- eine mit dem Speicher verbundene Einrichtung zum Auswählen derjenigen Zeile der Speicherzellenmatrix,
die dem Inhalt der zu vergleichenden eingegebenen Referenzfolge entspricht, so daß der Inhalt der Speicherzellen
der mittels der Zeilenwählvorrichtung ausgewählten Zeile ausgelesen werden kann.
2. Zeichenfolgen-Komparator nach Anspruch 1, dadurch gekennzeichnet, daß die Zeilenwählvorrichtung
einen die zu vergleichende eingegebene Referenzzeichenfolge empfangenden Dekoder aufweist
und zumindest eine dem Inhalt der eingegebenen Referenzzeichenfolge entsprechende Zeile der Speicherzellenmatrix
treibt.
3. Zeichenfölgen-Komparator nach einem der Ansprüche
1 bis 2, dadurch gekennzeichnet,
- daß mit allen Spalten der Speicherzellenmatrix eine
Vorrichtung zum Auslesen und Ausgeben des Inhalts all der Speicherzellen einer Spalte verbunden ist, die
zu der mittels der Zeilenwählvorrichtung ausgewählten
Zeile gehören und dadurch,
- daßein Kodierer die Ausgangssignale der Auslesevor-
— 7-
richtung empfängt und sie kodiert, so daß eine Adresse für die gespeicherte Zeichenfolge entsteht, die im
wesentlichen den gleichen Inhalt wie die eingegebene
Referenzfolge hat.
4. Zeichenfölgen-Komparator nach einem der Ansprüchel
bis 3, dadurch gekennzeichnet, daß die gespeicherten Zeichenfolgen aus einer Vielzahl
von Zeichen zusammengesetzt ist, die jeweils eine Länge von J χ K Bits haben, und daß die Speicherzellenmatrix
eine Speicherkapazität von 2 χ Κ χ Μ Worten mit je N Bits hat und in K χ Μ Speicherblocks unterteilt
ist, die jeweils 2 Reihen und M Spalten aufweisen, so daß jedes Zeichen der Zeichenfolgen in K Elemente mit
je J Bitdaten unterteilt ist, und die K Elemente der Daten sequentiell in den Spalten gleicher Mummer in den
jeweiligen Speicherblocks gespeichert sind.
5. Zeichenfolgen-Komparator nach einem der Ansprüche
1 bis 4, dadurch gekennzeichnet, daß die Referenzfolge aus mehreren Zeichen zusammengesetzt
ist, die jeweils JxK Bits haben und wobei
jedes Zeichen der Referenzfolge in K Elemente zu J
Datenbits unterteilt ist, so daß die Datenelemente mit einer Länge von J Bits nacheinander dem Zeichen-
-3-
• L-
folgen-Komparator entsprechend einem Taktsignal zugeleitet
werden, und daß die Zeilenwählvorrichtung mit einer
Zähleinrichtung zum Zählen der Taktsignale versehen ist, um die Zeilenwählvorrichtung mit dem Zählerausgangswert
zu versorgen, der den Speicherblock bestimmt, welcher dem eingegebenen Datenelement mit der Länge von
J Bits entspricht.
6. Zeichenfölgen-Komparator nach einem der Ansprüche
1 bis 5, dadurch gekennzeichnet, daß die Zeilenwählvorrichtung folgende Elemente aufweist:
- einen ersten Dekoder, der die Datenelemente der zu vergleichenden Referenzfolge empfängt, um die Datenelemente
zu dekodieren und 2 parallele Binärsignale zu erzeugen, welche die Zeilenposition in jedem Speicherblock
darstellen, der dem Inhalt des empfangenen Datenelements entspricht;
-einen zweiten Dekoder, der den Inhalt der Zähleinrich- ~tung empfängt, um den Zählerausgangswert zu dekodieren
und KxM parallele Binärsignale zu erzeugen, die den Speicherblock repräsentieren, der dem Zählerausgang
entspricht; und
- eine UND-Gatter-Gruppe mit 2 χ Κ χ Μ UND-Gattern,
die in K χ Μ Gruppen unterteilt sind, wobei jede Gruppe 2 UND-Gatter aufweist und die ersten Ein-
-4-
gänge aller UND-Gatter einer Gruppe so verbunden sind, daß sie die parallelen Binärsignale des ersten
Dekoders je einzeln in einer 1:1 Beziehung empfangen und deren zweite Eingänge so verbunden sind, daß sie
das entsprechende einzelne Binärsignal des zweiten Dekoders empfangen, wobei die Ausgänge aller UND-Gatter
mit den entsprechenden Zeilen einzeln in 1:1 Relation mit den jeweiligen Zeilen der Speicherzel1enrr.atrix
verbunden sind, so daß selektiv eine von dem ersten Dekoder entsprechend dem empfangenen Datenelement
der Referenzfolge bestimmte Zeile in einem
von dem zweiten Dekoder ausgewählten Speicherblock
getrieben wird.
7. Zeichenfölgen-Komparator nach einem der Ansprüche
1 bis 6 weiter gekennzeichnet durch folgende Elemente:
-eine mit allen Spalten der Speicherzellenmatrix verbundene
Vorrichtung zum Lesen und Ausgeben des Inhalts der Speicherzellen all der Spalten, die zu der
mittels der Zeilenauswählvorrichtung gewählten Zeile
gehören; und
- einen Kodierer, der den Ausgangswert der Lesevorrichtung
empfängt und zu einer Adresse für die gespeicherte Zeichenfolge kodiert, die im wesentlichen
-5-
denselben Inhalt hat wie die eingegebene Referenzfolge.
8. Zeichenfölgen-Komparator nach einem der Ansprüche
1 bis 7, dadurch gekennzeichnet, daß die Lesevorrichtung folgende Elemente aufweist:
- eine Gruppe von N UND-Gattern, wobei ein Eingang
eines jeden UND-Gatters so verbunden ist, daß er das Auslesesignal von der entsprechenden Spalte der Speicherzellenmatriχ
empfängt;
- eine Gruppe von N Registern, die alle den Ausgangs wert des zugehörigen UND-Gatters empfangen und festhalten,
um das ausgelesene Signal an den Kodierer abzugeben; und
- eine Gruppe von N Schaltern, bei denen jeweils der erste Eingang mit dem Ausgang des Registers verbunden
ist, das zu der zu dem Schalter benachbarten Spalte gehört, wobei jeder Schalter einen zweiten, mit dem
Ausgang des Registers der gleichen Spalte verbundenen
Eingang aufweist und wobei ein Ausgang jedes Schalters mit dem anderen Eingang des zugehörigen UND-Gatters
verbunden ist, so daß das logische Signal der sequentiell ausgelesenen Signale einer jeden Spalte
der Speicherzellenmatrix durch das zugehörige UND-Gatter
erhalten und dann in dem entsprechenden Register
-6-
gespeichert wird, so daß es an den Kodierer weitergegeben
wird.
9. Zeichenfölgen-Komparator nach einem der Ansprüchel
bis 8, dadurch gekennzeichnet, daß am Anfang der Eingabe der Referenzfolge an die
Speichereinheit jedes Register initialisiert und jeder
Schalter so gesteuert wird, daß sein erster Eingang mit seinem Ausgang verbunden wird, und daß danach jeder
Schalter in einer. Stellung gehalten wird, in der sein zweiter Eingang mit seinem Ausgang verbunden ist, bis
alle Speicherblöcke vom ersten bis zum letzten Speicherblock jeweils von der Zeichenwählvorrichtung getrieben
wurden.
10. Zeichenfölgen-Komparator nach einem der Ansprüche
1 bis 9, weiter g e k e η η.ζ ei c h η e t durch:
- eine Spaltenauswählvorrichtung, die so ausgelegt ist,
daß sie parallel alle Spalten der Speicherzellenmatrix
treibt, wenn der Komparator in Vergleichsbetrieb gebracht wird, wobei die Spaltenwählvorrichtung auf
eine Eingabeadresse anspricht und selektiv eine Spalte der Speicherzellenmatrix entsprechend der Eingangsadresse treibt, wenn der Komparator in Speicherbetrieb
gebracht wird;
- eine Vorrichtung zum Einschreiben der Eingabedaten in eine von der Spaltenwählvorrichtung ausgewählte
-7-
Spalte der Speicherzellenmatrix;
- eine mit allen Spalten der Speicherzellenmatrix verbundene
Einrichtung zum Lesen und Ausgeben des Inhalts der Speicherzellen aller Spalten, die zu der
von der Zeilenwählvorrichtung ausgewählten Zeile
gehören; und
- einen das Ausgangssignal der Lesevorrichtung anfangenden Kodierer zum Kodieren des Ausgangssignals und zum
Erzeugen einer Adresse für die gespeicherte Zeichenfolge, die im wesentlichen den gleichen Inhalt hat
wie die eingegebene Referenzfolge.
11. Zeichenfolgen-Komparator nach Anspruch 10,
dadurch gekennzeichnet, daß die gespeicherten Zeichenfolgen aus mehreren Zeichen zusammengesetzt
ist, die jeweils eine Länge von JxK Bits haben, und wobei die Speicherzellenmatrix eine Speicherkapazität
von 2 χ K χ M Worten zu N Bits hat und in K χ M Speicherblocks unterteilt ist, die jeweils aus 2
Reihen zu M Spalten bestehen, so daß jedes Zeichen der Zeichenfolge in K Elemente zu J Datenbits aufgeteilt
ist und die K Datenelemente nacheinander in die Spalte
gleicher Nummer in den jeweiligen Speicherblocks gespeichert
wird.
12. Zeichenfolgen-Komparator nach Anspruch 10 oder
-8-
11, dadurch gekennzeichnet, daß die Referenzfolge aus mehreren Zeichen mit je J χ K Bits
besteht und jedes Zeichen der Referenzfolge in K Elemente
zu J Datenbits unterteilt ist, so daß die Datenelemente mit einer Lange von J Bits entsprechend einem
Taktsignal nacheinander in den Zeichenfölgen-Komparator
eingegeben werden, und wobei die Zeichenwähl vorrichtung mit einer Einrichtung zum Zählen der Taktsignale verbunden
ist, um die Zeichenwähl vorrichtung mit dem Zählerausgangswert zu versorgen, der den Speicherblock bestimmt,
welcher dem eingegebenen Datenelement der Länge J Bits entspricht.
13. Zeichenfölgen-Komparator nach einem der Ansprüche
10 bis 12, dadurch gekennzeichne t,daß die Zeilenwählvorrichtung folgende Elemente aufweist:
- einen ersten Kodierer, der die Datenelemente der
zu vergleichenden Referenzfolge empfängt, um die
Datenelemente in 2 parallele Binärsignale zu kodieren, die die Zei1enposition eines jeden Speicherblocks darstellen, die dem Inhalt der empfangenen
Datenelemente entspricht;
- einen zweiten Kodierer, der den Inhalt der Zähleinrichtung empfängt, um den Zählerausgangswert in K χ
M parallele Binärsignale zu kodieren, die den Speicherblock repräsentieren, der dem Zählerausgangswert
entspricht;
-9-
eine ODER-Gatter-Gruppe mit 2 ODER-Gattern, bei
denen jeweils ein erster Eingang so verbunden ist, daß er das zugehörige kodierte Signal des ersten Kodierers
empfängt und wobei die zweiten Eingänge aller ODER-Gatter so verbunden sind, daß sie das Betriebswahlsignal
empfangen, das den Speicherbetrieb oder Vergleichsbetrieb angibt; und
eine UND-Gatter-Gruppe mit 2J χ Κ χ Μ UND-Gattern
die in K χ Μ Gruppen unterteilt sind, wobei jede Gruppe 2J UND-Gatter aufweist und die UND-Gatter
jeder Gruppe einen ersten Eingang haben, der so verbunden ist, daß er die Ausgangssignale der zugehörigen
ODER- Gatter je einzeln, also in 1:1 Relation empfängt, wobei die anderen Eingänge so verbunden
sind, daß sie das zugehörige eine Binärsignal von dem zweiten Kodierer empfangen und wobei die Ausgänge
aller UND-Gatter jeweils mit den zugehörigen Zeilen der Speicherzellenmatrix in 1:1 Relation verbunden
sind;
wobei, wenn durch das Betriebswahl signal der Speicherbetrieb
angezeigt wird, alle Zeilen eines durch den zweiten Dekoder bestimmten Speicherblocks getrieben
werden, und, wenn der Vergleichsbetrieb durch das Betriebswahlsignal
angezeigt wird, selektiv eine von dem ersten Kodierer entsprechend dem empfangenen
Datenelement der Referenzfolge bestimmte Zeile in
-10-
■Μ-
einem durch den zweiten Kodierer bestimmten Speicherblock getrieben wird.
14. Zeichenfölgen-Komparator nach Anspruch 13,
dadurch gekennzeichnet, daß die Lesevorrichtung folgende Elemente aufweist:
- eine Gruppe von N UND-Gattern, wobei jedes UND-Gatter
einen Eingang aufweist, der so verbunden ist, daß er das Auslesesignal von der entsprechenden Spalte der
Speicherzellenmatrix empfängt;
- eine Gruppe von N Registern, die jeweils den Ausgangswert der zugehörigen UND-Gatter zur Ausgabe des Auslesesignals
an den Kodierer empfangen und festhalten; und
- eine Gruppe von N Schaltern, die jeweils einen ersten Eingang aufweisen, der mit dem Ausgang des der zum
Schalter benachbarten Spalte zugehörigen Registers verbunden ist, wobei jeder Schalter einen zweiten Eingang
aufweist, der mit dem Ausgang des Registers der gleichen Spalte wie der Schalter verbunden ist, und
wobei ein Ausgang jedes Schalters mit dem anderen Eingang des zugehörigen UND-Gatters verbunden ist, so
daß das logische Produkt der sequentiellen Auslesesignale
einer jeden Spalte der Speicherzellenmatrix mit
Hilfe des zugehörigen UND-Gatters gewonnen und dann in dem zugehörigen Register gespeichert wird, so daß
-11-
es an den Kodierer geliefert wird.
15. Zeichenfolgen-Komparator nach Anspruch 14,
dadurch gekennzeichnet, daß bei Beginn der Eingabe der Referenzfolge an die Speichereinrichtung
jedes Register initialisiert und jeder Schalter
so gesteuert wird, daß sein erster Eingang mit seinem Ausgang verbunden ist, und danach jeder Schalter in
einem Zustand gehalten wird, daß sein zweiter Eingang mit seinem Ausgang verbunden ist, bis alle Speicherblöcke
vom ersten bis zum letzten Speicherblock von der Zeilenwählvorrichtung einmal getrieben wurden.
16. Zeichenfolgen-Komparator nach Anspruch 14,
dadurch gekennzeichnet,
- daß nur eines der von dem ersten Dekoder abgegebenen Binärsignale, welches der Zeilenposition der Speicherzellenmatrix
entspricht, die durch die Eingabe der Referenzdaten bestimmt wird, "1" ist, während die
übrigen Binärsignale "0" sind;
- daß nur eines der vom zweiten Kodierer abgegebenen Binärsignale, welches dem bestimmten Speicherblock
entspricht,"1" ist, während die anderen Binärsignale
den Wert "0" annehmen und
- daß das Betriebswahl signal den Wert "1" annimmt,
-12-
wenn der Speicherbetrieb angeordnet ist, während es den Wert "0" annimmt, wenn der Vergleichsbetrieb angeordnet
ist.
17. Zeichenfölgen-Komparator nach Anspruch 14,
dadurch gekennzeichnet, daß die Spaltenwählvorrichtung
einen Dekoder enthält, der die Eingabeadresse zum selektiven Treiben einer Spalte der Speicherzellenmatrix
enthält, welche der Eingabeadresse entspricht.
18. Zeichenfölgen-Komparator nach Anspruch 14,
dadurch gekennzeichnet, daß die Spaltenwählvorrichtung
folgende Elemente umfaßt:
- einen die zu speichernde Eingabeadresse empfangenden
Dekodierer, der die Daten in N parallele Binärsignale kodiert, welche die Spaltenposition der Speicherzellenmatrix
wiedergeben, die dem Inhalt der Eingangsdaten entspricht, und
-· N ODER-Gatter, deren jeweils erster Eingang so verbun-
- den ist, daß er eines der zugehörigen parallelen
Binärsignale empfängt und deren zweite Eingänge so verbunden sind, daß sie ein invertiertes Betriebssignal empfangen, während alle Ausgänge der ODER-Gatter
mit den entsprechenden Spalten der Speicherzellenmatrix
verbunden sind,
- wobei, wenn der Speicherbetrieb angeordnet ist, eine
-13-
jOHÖ I/O
durch die Eingabeadresse bestimmte Spalte der Speicherzellenmatrix
selektiv getrieben wird, und wenn Vergleichsbetrieb angeordnet ist, alle Spalten der
Speicherzellenmatrix der Speichereinrichtung getrieben
werden.
19. Zei1enfölgen-Komparator nach Anspruch 14, dadurch
gekennzei chnet , daß die Daten-Schreibeinrichtung
einen Kodierer enthält, der die
zu speichernden Eingangsdaten empfängt, um parallele
Binärsignale aus 2 Bits erzeugt, wobei jedes dieser
Binärsignale der Zeilen gleicher Nummer aller Speicherblocks zugeleitet wird.
20. Zeichenfolgen-Komparator nach Anspruch 14, dadurch
gekennzeichnet, daß die Daten-Schreibvorrichtung folgende Merkmale umfaßt:
- einen, die zu speichernden Eingangsdaten empfangenden Kodierer zur Erzeugung paralleler Binärsignale
- eine Gruppe von 2 Flip-Flops, die alle einen Setz-Eingang aufweisen, die das entsprechende eine parallele
Binärsignal vom Dekoder empfangen und die jeweils einen Rücksetz-(Reset-)Eingang aufweisen, der
ein Löschsignal empfängt, wobei ein Ausgang eines jeden Flip- Flops mit den Zeilen gleicher Nummer
-14-
aller Speicherblöcke verbunden ist.
21. Zeichenfölgen-Komparator nach Anspruch 20,
dadurch gekennzeichnet, daßnureines
der parallelen Binärsignale, die von der Daten-Schreibeinrichtung
an die Zeile der Speicherzellenmatrix abgegeben
werden, die für den Inhalt der zu speichernden Eingangsdaten bestimmt ist, den Wert "1" hat, während
die anderen Binärsignale den Wert "0" haben.
22. Zeichenfölgen-Komparator gemäß Anspruch 14,
dadurch g e k e η η ζ e i c h η e t , daß die Speichereinrichtung
ferner einen mit allen Spalten der Speicherzellenmatrix
verbundenen Indikatorbereich aufweist, der angibt, welche der angeschlossenen Spalten eine
Folge speichert, wobei der Indikatorbereich durch die
Zeilenwählvorrichtung entsprechend einem weiterem Betriebsart-Signal
getrieben wird und auch durch ein
zweites Betriebswahl-Signal beschrieben wird.
23. Zeichenfölgen-Komparator nach Anspruch 22,
ferner gekennzeichnet, durch eine Gruppe von EXKLUSIV-ODER-Gattern, deren jeweils erster Eingang
mit der zugehörigen Spalte der Speicherzellenmatrix
verbunden ist, deren zweiter Eingang ein Steuersignal empfängt, wobei ein Ausgang eines jeden EXKLUSIV-ODER-
-15-
Gatters mit dem einen Eingang des zugehörigen UND-Gatters verbunden ist.
24. Zeichenfölgen-Komparator nach Anspruch 14,
dadurch g e k e η η ζ e i c h η e t , daß die Speichereinrichtung
ein Paar von Speicherzellenmatrizen mit
einer Speicherkapazität von 2 χ K χ M Worten mit je N Bits aufweist, wobei jede Speicherzellenmatrix mit
einer Zeilenwählvorrichtung und einer Datenschreibeinrichtung
verbunden ist, wobei die Spaltenwähleinrichtung so ausgelegt ist, daß sie gleichzeitig die korrespondierenden
Spalten der beiden Speicherzellenmatrizen treiben kann und wobei die Auslesesignale der korrespondierenden
Spalten beider Speicherzellenmatrizen über zweite UND-Gatter den ersten Eingängen der zugehörigen
ersten UND-Gatter zugeleitet werden.
25. Zeichenfölgen-Komparator zum Suchen der Adresse
einer gespeicherten Zeichenfolge, die im wesent-1-ichen
den gleichen Inhalt wie eine eingegebene Referenzfolge aufweist, wobei jede Folge aus mehreren
Zeichen zusammengesetzt ist, die jeweils eine Länge von JxK Bits aufweisen,
g e k en nzeichnet durch,
- eine Speichereinrichtung mit einem aus in Form einer
Matrix mit 2 χ K χ M Zeilen und N Spalten angeordne-
-16-
ten Speicherzellen bestehenden Speicher und einem
getrennten Indikator, der in einer Zeile mit N Spal-
ten angeordnet ist und die Besetzung einer jeden Spalte der Speicherzellenmatrix angibt;
- eine mit der Speichervorrichtung gekoppelten Vorrichtung zum Auswählen einer den zu vergleichenden Eingangsdaten
entsprechenden Zeile der Speicherzellenmatrix
der Speichervorrichtung;
- eine Vorrichtung zum Zählen der Eingangsdaten in Abhängigkeit von einem Taktsignal und zum Ausgeben
des Inhalts der Zeilenwählvorrichtung;
- eine Lesevorrichtung zum Lesen des Inhalts der Speicherzellen,
die zu der durch die Zeilenwählvorrichtung ausgewählten Zeile gehören und zum Ausgeben des
Inhalts der Speicherzellen der Spalte der ausgewählten
Zeile und
- einen die Ausgangssignale der Lesevorrichtung empfangenden
Kodierer, der den Inhalt der Speicherzellen der Spalte in der ausgewählten Zeile jeweils in eine
Adresse für die zu suchenden Eingabedaten kodiert.
26. Zeichenfolgen-Komparator nach Anspruch 25,
dadurch g e k e η η ζ e i c h η e t , daß die Zeichenwählvorrichtung
folgende Merkmale aufweist:
- einen ersten zu vergleichende und zu speichernde Eingabendaten empfangenden Dekodierer, der-die Daten
-17-
in Signale dekodiert, die der Zeile der Speicherzellenmatrix entsprechen und die Zeilenposition der
Speicherzellenmatrix wiedergeben, die dem Inhalt der
Eingabedaten entspricht;
einen den Inhalt der Zählvorrichtung empfangenden zweiten Dekoder, der den Inhalt in Signale dekodiert,
die der Zeile der Speicherzellenmatrix entsprechen
und die dem Inhalt entsprechende Zeilenposition der Speicherzellenmatrix wiedergeben;
eine UND-Gatter-Gruppe mit 2 ODER-Gattern, deren ODER-Gatter einen ersten Eingang aufweisen, die das
eine zugehörige dekodierte Signal von dem ersten Dekoder empfangen, sowie einen zweiten Eingang haben, der
ein Betriebswahl-Signal empfängt, das den Speicherbetrieb
bzw. den Vergleichsbetrieb angibt; und eine UND-Gatter-Gruppe mit 2J χ Κ χ Μ UND-Gattern,
bei der jedes UND-Gatter jeweils eines der dekodierten Signale des Dekoders sowie das Ausgangssignal der
zugehörigen ODER-Gatter in der ODER-Gatter-Gruppe empfängt;
ein EXKLUSIV-ODER-Gatter, das zwei Betriebswahl signale
empfängt und ein Signal abgibt, das die Eingänge sowohl des ersten als auch des zweiten Dekoders freigibt;
ein UND-Gatter, das dieselben beiden Betriebswahlsignale
empfängt und ein Signal an die zweiten Ein-
-18-
gänge aller ODER-Gatter der ODER-Gatter-Gruppe abgibt;
und
- ein ODER-Gatter, das dieselben beiden Betriebswahlsignale
empfängt und ein Signal abgibt, um die mit dem Indikatorteil verbundene Leitung zu treiben.
27. Zeichenfölgen-Komparator nach Anspruch 25,
weiter g e k e η η ζ e i c h η e t durch,
- eine mit allen Spalten der Speicherzellenmatrix verbundene
Vorrichtung zum Lesen und Ausgeben des Inhalts der Speicherzellen aller zu einer von der Zeilenwählvorrichtung
gewählten Zeile gehörenden Spalten und
- einen Kodierer, der die Ausgangssignale der Lesevorrichtung
empfängt und in eine Adresse für die gespeicherte Zeichenfolge kodiert, die im wesentlichen den
gleichen Inhalt wie die eingegebene Referenzfolge aufweist.
28. Zeichenfölgen-Komparator nach Anspruch 25,
g~ekennzei cn net durch folgende Merkmale der Leseeinrichtung
- eine Gruppe von N EXKLUSIV-ODER-Gattern, die alle
einen ersten mit der zugehörigen einen Spalte der Speicherzellenmatrix verbundenen ersten Eingang haben,
um das Auslesesignal zu empfangen sowie einen zweiten Eingang aufweisen, der ein invertiertes Be-
-19-
triebssignal empfängt;
- eine Gruppe von N UND-Gattern, deren erster Eingang so angeschlossen ist, daß er das Ausgangssignal der
zugehörigen EXKLUSIV-ODER-Gatter empfängt ;und
- eine Gruppen von N Schaltern, die jeweils einen ersten Eingang aufweisen, der mit dem Ausgang des Registers,
der neben dem Schalter angeordneten Spalte verbunden ist, und wobei jeder Schalter einen zweiten
Eingang aufweist, der mit dem Ausgang des Registers verbunden ist, das in der gleichen Spalte wie der
Schalter angeordnet ist, wobei ein Ausgang eines jeden Schalters mit dem anderen Eingang des zugehörigen
UND-Gatters verbunden ist, so daß das logische Produkt der sequentiell ausgelesenen Signale
einer jeden Spalte der Speicherzellenmatrix durch das
entsprechende UND-Gatter gewonnen und dann in dem zugehörigen Speicher gespeichert wird, so daß es dem
Kodierer zugeleitet wird.
29. Zeichenfölgen-Komparator gemäß Anspruch 28, dfadurch gekennzei chnet , daß bei Beginn
der Eingabe der Referenzfolge an die Speichereinrichtung
jedes Register initialisiert und jeder Schalter
so gesteuert wirü, daß sein erster Eingang mit dem Ausgang verbunden ist, und das danach jeder Schalter
in einer Stellung gehalten wird, in der sein zweiter Eingang mit seinem Ausgang verbunden ist, bis alle
-20-
Speicherblocks vom ersten bis zum letzten Speicherblock
von der Zeilenwählvorrichtung einmal getrieben wurde.
30. Zeichenfolgen-Komparator nach Anspruch 25,
dadurch gekennzeichnet, daß die Speicherzellenmatrix
mit 2 χ K χ M Worten ä N Bits in K χ M Speicherblocks unterteilt ist, so daß die Eingangsdaten
mit einer Länge von JxK Bits in K Elemente
mit J Datenbits unterteilt und die K Elemente der Daten
nacheinander in der Spalte mit gleicher Nummer in den jeweiligen Speicherblocks durch Zusammenwirken der
Zeilenwahlvorrichtung und der Datenschreibvorrichtung
gespeichert werden.
31. Zeichenfolgen-Komparator nach Anspruch 28,
dadurch gekenn ζ ei chnet, daß die Betriebsarten durch den logischen Wert des ersten Betriebswahl-Signals
(Ml), des zweiten Betriebswahl-Signals (M2)
und des invertierten Betriebssignals (I)5 dargestellt
als (Ml, M2, I), folgendermaßen gesteuert wird:
(0, 0, 0) Vergleichsbetrieb; (0, 1, X) Löschbetrieb;
(1, 0, 1) Auslesen des Inhalts des Indikatorteils;
(1, 1, 0) Speichern von Zeichenfolgen,
wobei "X" den Wert "1" oder "0" annehmen kann.
32. Zeichenfolgen-Komparator nach Anspruch 21,
-21-
dadurch gekennzeichnet, daß im Speicherbetrieb eine "1" in der durch die Speicheradresse bestimmte
Spalte der Indikatoreinrichtung gespeichert wird.
33. Zeichenfölgen-Komparator nach Anspruch 31, dadurch gekennzeichnet, daß im Löschbetrieb
eine "1" in die Spalte der Indikatorvorrichtung gespeichert wird, wenn die Eingangsdaten in der Spalte
gleicher Nummer der Speichervorrichtung gespeichert ist, während ansonsten "0" gespeichert wird.
34. Zeichenfölgen-Komparator nach Anspruch 34,
dadurch gekennzeichnet, daß beim Auslesebetrieb eine "1" vom Kodierer ausgegeben wird, wenn
leere Spalten vorhanden sind, während sonst "0" ausgegeben wird.
35. Zeichenfölgen-Komparator nach Anspruch 31,
dadurch gekennzeichnet, daß im Vergleichsbetrieb vom Kodierer eine "1" ausgegeben wird, wenn
die Referenzdaten identisch mit den gespeicherten Daten sind, während ansonsten eine "0" ausgegeben wird.
36. Zeichenfolgen-Komparator zum Aufsuchen der
Adresse von eingegebenen Referenzdaten, die mit schon als N Arten von Folgen gespeicherten Daten verglichen
-22-
werden sollen, wobei jede Folge aus M Elementen zu je J X K Bit langen Zeichen zusammengesetzt ist, zum
Löschen der gespeicherten Daten und zum Auslesen leerer Adressen,
gekennzeichnet durch,
gekennzeichnet durch,
- mehrere Speichervorrichtungen, die jeweils einen
aus in Form einer 2 χ K χ M Zeilen und N Spalten aufweisenden
Matrix angeordneten Speicherzellen bestehenden Speichersowie einen getrennten Indikator, der in
einer Reihe mit N Spalten angeordnet ist und dazu dient, die Belegung einer jeden Spalte der Speicherzellenmatrix
anzuzeigen;
- mehrere Reihenwählvorrichtungen, die mit jeder Speichervorrichtung
verbunden sind, zum Auswählen einer Zeile der Speicherzellenmatrix der Speichervorrichtung
entsprechend den zu vergleichenden Eingangsdaten;
- eine Eingangsdaten in Abhängigkeit von einem Taktsignal zählende Zählvorrichtung zum Ausgeben des Inhalts
der Zeilenwählvorrichtung;
- eine Spaltenwählvorrichtung, die in Abhängigkeit von in einer Eingabeadresse zu speichernden Eingabedaten
Spalten der Matrix der Speichervorrichtung entsprechend der Eingabeadresse auswählt;
- mehrere Datenschreibvorrichtungen, die jeweils zu
speichernde Eingabedaten in die Spalte mit der gleichen Nummer einer jede von der Spaltenwählvorrichtung
-23-
ausgewählten Spalte der Matrix einschreiben;
- eine Lesevorrichtung zum Lesen des Inhalts der Speicherzellen, die zu einer durch die Zeilenwählvorrichtung
ausgewählten Zeile gehören, und zum Ausgeben des Inhalts der Speicherzellen der Spalte der ausgewählten
Zeile; und
- einen das Ausgangssignal der Schreibvorrichtung empfangenden
Kodierer, der den Inhalt der Speicherzellen
der Spalte der entsprechend der Adresse für die zu suchenden Eingangsdaten ausgewählten Zeile kodiert.
37. Zeichenfolgen-Komparator gemäß Anspruch 36, dadurchgekennzeichnet,
daß die Schreibvorrichtung folgende Merkmale aufweist:
- eine Gruppe von N UND-Gattern, deren einer Eingang so verbunden ist, daß er das Auslesesignal der zugehörigen
Spalte der Speicherzellenmatrix empfängt;
- eine Gruppe von N Registern, die jeweils das Ausgangssignal der zugehörigen UND-Gatter empfangen und festhalten,
um das Auslesesignal an den Kodierer auszugeben;
und
- eine Gruppe von N Schaltern, die jeweils einen ersten Eingang haben, der mit dem Ausgang des Registers verbunden
ist, das zu der mit dem Schalter benachbarten Spalte gehört, die jeweils einen zweiten Eingang aufweisen,
der mit dem Ausgang des Registers verbunden ist, das zu derselben Spalte wie der Schalter gehört,
-24-
• as-
wobei ein Ausgang eines jeden Schalters mit dem
anderen Eingang des zugehörigen UND-Gatters verbunden ist, so daß das logische Produkt der sequentiellen
Auslesesignale einer jeden Spalte der Speicherzellenmatrix
durch die zugehörigen UND-Gatter erhalten und dann in dem zugehörigen Register gespeichert wird, so
daß es dem Kodierer zugeleitet wird.
38. Zeichenfolgen-Komparator nach Anspruch 36, dadurch gekennzei chnet , daß die Eingabedaten
geteilt und parallel allen Zeilenwählvorrichtungen
zugeführt werden.
-25-
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP59267837A JPS61145636A (ja) | 1984-12-19 | 1984-12-19 | 記号列照合装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3545125A1 true DE3545125A1 (de) | 1986-09-04 |
DE3545125C2 DE3545125C2 (de) | 1988-09-01 |
Family
ID=17450306
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19853545125 Granted DE3545125A1 (de) | 1984-12-19 | 1985-12-19 | Zeichenfolgen-komparator |
Country Status (3)
Country | Link |
---|---|
US (1) | US4907194A (de) |
JP (1) | JPS61145636A (de) |
DE (1) | DE3545125A1 (de) |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01103341A (ja) * | 1987-10-16 | 1989-04-20 | Nec Corp | アドレス検出回路 |
JP2715465B2 (ja) * | 1988-08-31 | 1998-02-18 | 日本電気株式会社 | 記号列照合装置 |
JPH0395629A (ja) * | 1989-09-08 | 1991-04-22 | Fujitsu Ltd | データ処理装置 |
US5339447A (en) * | 1989-11-17 | 1994-08-16 | Texas Instruments Incorporated | Ones counting circuit, utilizing a matrix of interconnected half-adders, for counting the number of ones in a binary string of image data |
US5070480A (en) * | 1990-01-08 | 1991-12-03 | Caywood John M | Nonvolatile associative memory system |
JPH05501317A (ja) * | 1990-05-30 | 1993-03-11 | アダプティブ・ソリューションズ・インコーポレーテッド | 仮想ゼロ値を用いるニューラル・ネットワーク |
US5369773A (en) * | 1991-04-26 | 1994-11-29 | Adaptive Solutions, Inc. | Neural network using virtual-zero |
US5241507A (en) * | 1991-05-03 | 1993-08-31 | Hyundai Electronics America | One transistor cell flash memory assay with over-erase protection |
JP2794138B2 (ja) * | 1991-08-13 | 1998-09-03 | 三菱電機株式会社 | 半導体記憶装置 |
US6000008A (en) * | 1993-03-11 | 1999-12-07 | Cabletron Systems, Inc. | Method and apparatus for matching data items of variable length in a content addressable memory |
US5586288A (en) * | 1993-09-22 | 1996-12-17 | Hilevel Technology, Inc. | Memory interface chip with rapid search capability |
US5602764A (en) * | 1993-12-22 | 1997-02-11 | Storage Technology Corporation | Comparing prioritizing memory for string searching in a data compression system |
KR950034265A (ko) * | 1994-02-10 | 1995-12-28 | 도자끼 시노부 | 연상메모리 |
JPH11149481A (ja) * | 1997-11-19 | 1999-06-02 | Sharp Corp | 情報処理装置 |
US6832225B1 (en) * | 1998-12-14 | 2004-12-14 | Canon Research Centre France S.A. | Method and device for recording and searching for a document on a communication network |
US7031002B1 (en) | 1998-12-31 | 2006-04-18 | International Business Machines Corporation | System and method for using character set matching to enhance print quality |
US7039637B2 (en) * | 1998-12-31 | 2006-05-02 | International Business Machines Corporation | System and method for evaluating characters in an inputted search string against a character table bank comprising a predetermined number of columns that correspond to a plurality of pre-determined candidate character sets in order to provide enhanced full text search |
US7191114B1 (en) | 1999-08-27 | 2007-03-13 | International Business Machines Corporation | System and method for evaluating character sets to determine a best match encoding a message |
US8954484B2 (en) | 2009-06-12 | 2015-02-10 | Cray Inc. | Inclusive or bit matrix to compare multiple corresponding subfields |
US8212695B2 (en) * | 2009-02-05 | 2012-07-03 | Polytechnic Institute Of New York University | Generating a log-log hash-based hierarchical data structure associated with a plurality of known arbitrary-length bit strings used for detecting whether an arbitrary-length bit string input matches one of a plurality of known arbitrary-length bit strings |
JP6123088B1 (ja) * | 2016-02-25 | 2017-05-10 | 楽天株式会社 | ブロック符号化装置、ブロック復号化装置、情報処理装置、プログラム、ブロック符号化方法及びブロック復号化方法 |
US10747819B2 (en) | 2018-04-20 | 2020-08-18 | International Business Machines Corporation | Rapid partial substring matching |
US10169451B1 (en) * | 2018-04-20 | 2019-01-01 | International Business Machines Corporation | Rapid character substring searching |
US10732972B2 (en) | 2018-08-23 | 2020-08-04 | International Business Machines Corporation | Non-overlapping substring detection within a data element string |
US10782968B2 (en) * | 2018-08-23 | 2020-09-22 | International Business Machines Corporation | Rapid substring detection within a data element string |
US11042371B2 (en) | 2019-09-11 | 2021-06-22 | International Business Machines Corporation | Plausability-driven fault detection in result logic and condition codes for fast exact substring match |
US10996951B2 (en) | 2019-09-11 | 2021-05-04 | International Business Machines Corporation | Plausibility-driven fault detection in string termination logic for fast exact substring match |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2538401B1 (de) * | 1975-08-28 | 1976-12-09 | Siemens Ag | Verfahren und anordnung zum auffinden eines kurzen, einem suchbegriff gleichen begriffs aus einer laengeren zeichenkette |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3257646A (en) * | 1963-01-24 | 1966-06-21 | Ibm | Variable word length associative memory |
US3448436A (en) * | 1966-11-25 | 1969-06-03 | Bell Telephone Labor Inc | Associative match circuit for retrieving variable-length information listings |
JPS5936795B2 (ja) * | 1979-08-17 | 1984-09-05 | シャープ株式会社 | 電子辞書 |
US4384325A (en) * | 1980-06-23 | 1983-05-17 | Sperry Corporation | Apparatus and method for searching a data base using variable search criteria |
JPS57138077A (en) * | 1981-02-18 | 1982-08-26 | Nec Corp | Variable length string buffer device |
US4499535A (en) * | 1981-05-22 | 1985-02-12 | Data General Corporation | Digital computer system having descriptors for variable length addressing for a plurality of instruction dialects |
US4499553A (en) * | 1981-09-30 | 1985-02-12 | Dickinson Robert V | Locating digital coded words which are both acceptable misspellings and acceptable inflections of digital coded query words |
JPS61107596A (ja) * | 1984-10-31 | 1986-05-26 | Nec Corp | 連想記憶装置 |
-
1984
- 1984-12-19 JP JP59267837A patent/JPS61145636A/ja active Granted
-
1985
- 1985-12-19 US US06/811,073 patent/US4907194A/en not_active Expired - Lifetime
- 1985-12-19 DE DE19853545125 patent/DE3545125A1/de active Granted
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2538401B1 (de) * | 1975-08-28 | 1976-12-09 | Siemens Ag | Verfahren und anordnung zum auffinden eines kurzen, einem suchbegriff gleichen begriffs aus einer laengeren zeichenkette |
Also Published As
Publication number | Publication date |
---|---|
DE3545125C2 (de) | 1988-09-01 |
US4907194A (en) | 1990-03-06 |
JPH0533422B2 (de) | 1993-05-19 |
JPS61145636A (ja) | 1986-07-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3545125C2 (de) | ||
DE2205422C2 (de) | Verfahren und Einrichtung zur Dekompression verdichteter Daten | |
DE3801380C2 (de) | ||
DE2725395B2 (de) | Einrichtung zur Echtzeittransformation von m in Zeilen angeordneten Wörtern der Bitlänge n in n in Spalten angeordnete Wörter der Bitlänge n | |
DE2744109C2 (de) | ||
DE2208664A1 (de) | Verfahren zur Decodierung eines vorsatzfreien Verdichtungscodes veränderlicher Länge | |
DE3327379A1 (de) | Einrichtung und verfahren zum umordnen von datensaetzen | |
DE3618136C2 (de) | ||
DE2725396A1 (de) | Pufferspeicher | |
DE3505314C2 (de) | ||
DE2452498A1 (de) | Verfahren und vorrichtung zur erzeugung von zeichenmustern | |
DE1449544A1 (de) | Datenverarbeitende Maschine mit ueberlappend abrufbarem Speicherwerk | |
DE2900586C2 (de) | Anordnung zum Decodieren von Codewörtern variabler Länge | |
DE1524373C3 (de) | Paralleldruckwerk | |
DE1964570B2 (de) | Verfahren zum wiederauffinden gespeicherter informationen | |
DE3214117C2 (de) | Elektronisches Übersetzungsgerät | |
DE4210109C2 (de) | Sortiervorrichtung zum Sortieren von Daten und Sortierverfahren | |
DE2721527A1 (de) | Mikrofilm-suchlesegeraet | |
DE69729818T2 (de) | Sortier- und Mischprozessor und Sortier- und Mischprozessanlage | |
DE2826450B2 (de) | Verfahren zum Steuern der Übertragung digitaler Signale und Anordnung zur Durchfuhrung des Verfahrens bei einer digitalen Faksimileübertragungseinrichtung | |
DE2234362C3 (de) | Einrichtung zur Verarbeitung digitaler Symbolinformation zur Darstellung von Texten auf einem Bildmonitor | |
DE2006672A1 (de) | Vorrichtung zur Sichtbarmachung von Daten | |
DE1499713A1 (de) | Verfahren und Schaltungsanordnung zum Packen von Informationen in einem zyklisch umlaufenden Speicher mit wahlfreiem Zugriff zu den auf den Spuren befindlichen Speicherzellen | |
DE60001585T2 (de) | Datenverarbeitungseinrichtung und -verfahren | |
DE2107005A1 (de) | Zeichengenerator zum Erzeugen von Zeichen am Schirm einer Elektronenstrahlröhre |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8125 | Change of the main classification |
Ipc: G06F 7/02 |
|
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |