DE2807500A1 - Digitale logikschaltung zum vergleichen von geordneten zeichenfolgen variabler laenge - Google Patents
Digitale logikschaltung zum vergleichen von geordneten zeichenfolgen variabler laengeInfo
- Publication number
- DE2807500A1 DE2807500A1 DE19782807500 DE2807500A DE2807500A1 DE 2807500 A1 DE2807500 A1 DE 2807500A1 DE 19782807500 DE19782807500 DE 19782807500 DE 2807500 A DE2807500 A DE 2807500A DE 2807500 A1 DE2807500 A1 DE 2807500A1
- Authority
- DE
- Germany
- Prior art keywords
- character
- signals
- candidate
- register
- 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.)
- Withdrawn
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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
- Y10S707/99936—Pattern matching access
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)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Computational Linguistics (AREA)
- Computational Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Control Of Indicators Other Than Cathode Ray Tubes (AREA)
Description
Digitale Logikschaltung zum Vergleichen von geordneten Zeichenfolgen variabler Länge
Die vorliegende Erfindung bezieht sich auf eine digitale Datenverarbeitung und insbesondere auf ein Verfahren sowie eine
Vorrichtung für eine Verwendung zum automatischen Suchen einer Folge von geordneten Zeichen, die in einem Datenstrom, wie von
einem Magnetband an einer übertragungsleitung, usw., erscheinen.
Bei digitalen Datenverarbeitungsvorgängen ist es vielfach erwünscht, eine Folge von geordneten Zeichen zu lokalisieren,
die in irgendeinem Aufzeichnungsmedium gespeichert oder von einer Datenquelle erhältlich sind, und zwar für verschiedene Zwecke, wie
zum Ausgeben bzw. Aufbereiten, zum Mehrfachausnutzen (channeling), zum Bearbeiten usw. Im allgemeinen ist dieses damit verbunden, daß
eine geordnete Folge von Referenzzeichen vorgesehen wird, die die zu lokalisierende bzw. aufzufindende Zeichenfolge identifiziert.
Das Problem eines Vergleichens geordneter Zeichenfolgen wird schwieriger, wenn diese variable Längen haben. Es wurden verschiedene
Pläne ausprobiert, um mit diesem Problem fertig zu werden. Gemäß einer Lösung werden Binärzähler benutzt, um die Anzahl der
zu vergleichenden Zeichen und die Anzahl der verglichenen Zeichen zu verbuchen. Das Verwenden solcher Zähler führt zu verschiedenen
309839/0705
Nachteilen, wie zu zusätzlichen Kosten, zu einer unwirtschaftlichen
Raumausnutzung und zu einer Verminderung der Zuverlässigkeit.
Gemäß der vorliegenden Erfindung wird eine verbesserte Einrichtung zum automatischen Aufsuchen einer Folge von geordneten
Zeichen vorgesehen, die von einer Quelle erhältlich sind.
Die Erfindung reduziert die Kosten und die Kompliziertheit einer Schaltungsanordnung zum automatischen Aufsuchen einer
Folge von geordneten Zeichen variabler Länge, die von einer Datenquelle erhältlich sind. /erforderlich ist,
Außerdem wird nach der vorliegenden Erfindung ein dynamisches Register, das sonst zum Puffern des Bandgerätes
oder Datenstroms mit dem Auslese- bzw. Ausgabeglied, dem Terminal bzw. der Datenstation oder dem Prozessor^zum Speichern der Folge
von aufzusuchenden Kandidat-Zeichen und ein statisches/dynamisches
Register zum Speichern sowie Manövrieren bzw. Handhaben einer Folge von Referenzζeichen in Relation zu der Kandidatzeichenfolge
in dem dynamischen Puffer benutzt.
Die vorliegende Erfindung sorgt ferner für einen verbesserten Überwachungszustand und eine verbesserte Eingabe/Ausgabe-Steuerung
des dynamischen Registers und des statischen/dynamischen Registers, wobei eine Anwendung beim Vergleichen der Folgen
der in beiden Registern gespeicherten Zeichen erfolgt.
Die Erfindung beinhaltet ferner eine verbesserte Steuereinrichtung
zum automatischen Auffinden einer Folge von geordneten Zeichen wählbarer Länge, die von einer Quelle erhältlich sind, wobei
ein Minimum an Schaltungsaufbau erforderlich ist und eine verbesserte Zuverlässigkeit vorliegt.
Die erfindungsgemäßen Merkmale ergeben sich insbesondere aus den Patentansprüchen. Die Funktion selbst wie auch der Aufbau
sowie die Arbeitsweise der Vorrichtung sind zusammen mit weiteren Zielen und Vorteilen der Erfindung am besten aus der nachfolgenden
Beschreibung in Verbindung mit den Zeichnungen ersichtlich. Es zeigen:
Figur 1 - teils in Form eines Logikschaltbildes und teils in Form eines Blockschaltbildes eine Einrichtung zum automatischen
Aufsuchen einer von einer Datenquelle erhältlichen Folge von geordneten Zeichen wählbarer Länge,
809839/0705
Figur 2 - teils in Form eines Blockschaltbildes und teils in Form
eines Logikschaltbildes Einzelheiten einer in der Einrichtung aus Figur 1 benutzten Start/Stopp-Logikschaltung
11,
Figur 3 - teils in Form eines Blockschaltbildes und teils in Form eines Logikschaltbildes Einzelheiten der in Figur 1 dargestellten
Löschdetektorschaltung 35 und Logikschaltung 38,
Figur 4 - teilweise in Form eines Blockschaltbildes und teilweise in Form eines Logikschaltbildes Einzelheiten der in Figur
1 dargestellten Zeichenvergleichslogikschaltung 29,
Figur 5 - Einzelheiten der Logikschaltung 3o aus Figur 1,
Figur 6 - Einzelheiten eines in Figur 1 dargestellten Zeichenlokalisierungs-
bzw. -Ortungsdetektors 14 und
Figur 7 - Einzelheiten eines in Figur 1 dargestellten Zeichenlokalisierungs-
bzw. -Ortungsdetektors 25.
Gemäß einer Ausführungsform der Erfindung ist ein erstes Umlaufspeicherregister vorgesehen, um eine Kandidat-Folge von geordneten
Zeichen bis zu einer Länge von M Zeichen in M + 1 Registerstufen zu speichern, wobei M eine ganze Zahl ist, welche
gleich 3 oder größer ist. Es ist ein zweites Umlaufspeicherregister
vorgesehen, um eine Referenzfolge von geordneten Zeichen bis zu einer Länge von N Zeichen in N + 1 Registerstufen zu speichern,
wobei N eine ganze Zahl, die gleich oder größer als 1 ist, und wobei M-N gleich oder größer als 2 ist. Es sind Mittel vorgesehen,
um die Kandidat-Folgen mit der Referenz-Folge zu vergleichen und
eine Identität von Folgen festzustellen. Dies erfolgt dadurch, daß Mittel vorgesehen werden, die die Folgen zu einem Umlaufen in ihren
entsprechenden Registern veranlassen und die die Folgen während des Umlaufens in bitparalleler, zeichenserieller Form vergleichen,
um ein erstes Signal zu erzeugen, das anzeigt, ob die Folgen identisch sind oder nicht sind. Es sind Mittel vorgesehen,
um ein zweites Signal zu erzeugen, das dafür bezeichnend ist, ob die Kandidat-Folge länger als die Referenz-Folge ist. Wenn das
zweite Signal anzeigt, daß die Kandidat-Folge länger als die Referenz-Folge ist, werden die relativen Positionen der Zeichen in den
809839/0706
Stufen der Register um zumindest eine Stufe verschoben. Die Vergleichs-
und Relatiwerschiebungsvorgänge erfolgen wiederholt, bis
ein Signal abgeleitet wird, welches anzeigt, daß die Folgen identisch
sind. Wenn das eine Identität anzeigende erste Signal erzeugt wird, kann die gesuchte und lokalisierte bzw. geortete Folge
von geordneten Kandidat-Zeichen in der erwünschten Weise verarbeitet oder benutzt werden. Bei einer zu beschreibenden bestimmten
Ausführungsform befanden sich in dem ersten Register mit 128 Stufen bis zu 127 Zeichen im Umlauf. Bis zu 125 Zeichen, nämlich 16,
wurden in einem zweiten Register mit 17 Stufen in Umlauf gebracht. In Figur 1 ist eine Zeichenquelle 1, wie ein Datenstrom
oder Speichermedium, Aufzeichnungsmedium, usw. dargestellt. Für Vereinfachungszwecke kann der Block 18 als ein Bandgerät identifiziert
werden, von dem eine kontinuierliche Zeichenfolge unter Steuerung einer Bandsteuerung 16 in bitparalleler, zeichenserieller
Form erhältlich ist, wobei die Zeichen in der Zeichenfolge in einer vorgegebenen Reihenfolge geordnet sind. Wenn viele derartiger
Zeichenfolgen in dem Aufzeichnungsmedium 18 gespeichert sind, ist es vielfach erwünscht, eine bestimmte Zeichenfolge zu lokalisieren
bzw. zu ordnen. Zu diesem Zweck wird eine Zeichenfolge in das dynamische Umlaufschieberegister 17 in einer noch kurz zu beschreibenden
geordneten Folge eingespeichert. Bei einer bestimmten Ausführungsform enthält das Register 17 128 Stufen, so daß darin
eine beträchtliche Zeichenfolge gespeichert werden kann. Für Erörterungszwecke
sei angenommen, daß eine vorgegebene Zeichenfolge in den von dem Aufzeichnungsmedium 18 erhältlichen Daten lokalisiert
werden soll. Bei der in Figur 1 dargestellten Einrichtung erzeugt ein Tastenfeld (keyboard) 3 an seinem Ausgang eine Folge von Referenzzeichensignalen,
die an Eingangstoren 1ο angelegt werden, welche einem dynamischen/statischen Suchregister 8 zugeordnet sind.
Die Referenzzeichensignale werden in ihrer geordneten Reihenfolge
in dieses Register eingeschoben, wobei das erste Zeichen an der Ausgangsstufe des Registers 8 erscheint. Bei einer bestimmten Ausführungsform
enthält das Register 8 17 Stufen. Die im Register gespeicherte Kandidat-Zeichenfolge wird konstant unter Umlauf gehalten,
wobei dieser Vorgang von Taktimpulsen C gesteuert wird, die gemäß der Darstellung an einer Eingangsleitung anliegen. Zu
B09839/0705
einer geeigneten Zeit wird der UmlaufVorgang der Referenzzeichen
im Register 8 eingeleitet, und die an den Ausgangsstufen der Register 17 und 8 erscheinenden Zeichen werden sukzessive in einer
Schaltung 29 verglichen, die für eine Identitäts- bzw. Übereinstimmungsfeststellung
einer vollständigen Folge von im Glied 17 auftretenden Kandidat-Zeichen mit denjenigen im Register 8 zuständig
ist. Wenn keine derartige Identität bzw. Übereinstimmung auftritt und wenn die Kandidat-Folge langer als die Referenz-Folge
ist, werden die relativen Zeichenpositionen in den Stufen der Register 8 und 17 um eine Stufe verschoben. Der VerschiebungsVorgang
wird fortgesetzt, bis am Ausgang vom Glied 4o ein Signal erzeugt wird, welches anzeigt, daß die verglichenen Zeichenfolgen
in den Gliedern 17 und 8 identisch sind. Das Ausgangssignal vom
Glied 4o wird dann zur Bandsteuerung 16 zum Steuern des Betriebes der Datenquelle 18 oder durch Betätigen eines Schalters 116 zu
einem anderen Ausnutzungsglied geleitet, wie dem Glied 115, welches ein Alarmglied oder ein Drucker und dergleichen sein könnte.
Unter diesen Umständen enthält somit das Register 17 die gesuchte Zeichenfolge, die durch die im Register 8 gespeicherten Zeichenfolgen
identifiziert wird. Die Bedienungsperson kann dann entscheiden, was sie mit den lokalisierten bzw. georteten Daten tun
muß. Beispielsweise könnten die im Glied 17 gespeicherten Daten die Adresse sein, die den im Bandgerät bzw. Aufzeichnungsmedium
18 befindlichen nachfolgenden Daten zugeordnet ist, welche die Bedienungsperson erhalten oder verarbeiten möchte.
Zuerst kann eine kurze Beschreibung bezüglich der Verwendung dieses Zeichenfolgesuchvorgangs erwünscht sein, wie er bei
der vorliegenden Verwirklichung benutzt wird. Bei einer Ausführungsform wird die aufeinanderfolgende Betätigung der zwei Tasten ESC
sowie K gewählt, um ein Löschen und eine Datenspeicherungsfunktion durchzuführen, während eine aufeinanderfolgende Betätigung der Tasten
ESC sowie L durchgeführt wird, um einen Zeichensuchvorgang durchzuführen. Die Bedienungsperson drückt zuerst die ESC und K
Tasten in dieser Reihenfolge an der Tastatur bzw. dem Tastenfeld des Ferndruckers (teleprinter), wodurch jegliche vorhandene Referenzzeichenfolge
gelöscht und ein Einspeichern einer neuen Referenzzeichenfolge ermöglicht werden. Die Bedienungsperson gibt dann
809839/0705
die neue Referenzzeichenfolge von der Tastatur aus ein. Diese Folge
kann irgendeine Kombination von bis zu 16 Zeichen enthalten, ausschließlich der doppelten geordneten Folgen ESC, K und ESC, L.
Die Bedienungsperson gibt dann die Folge ESC, L in dieser Reihenfolge ein. Hierdurch werden die ReferenzZeichenfolge beendet und
der Bandtransport zu einem Suchen nach der Stelle der Zeichenfolge veranlaßt. Wenn die Folge gefunden worden ist, wird der Bandtransport
angehalten. Die Bedienungsperson kann dann die Daten nach ihrem Belieben ausgeben oder verarbeiten. Die Referenzzeichenfolge
wird für nachfolgende Suchvorgänge in dem Referenzregister gehalten.
Es kann eine kurze Erörterung der allgemeinen Funktion der Schaltung aus Figur 1 wünschenswert sein, um die spätere detailliertere
Erläuterung zu vereinfachen. In Abhängigkeit von einem Betrieb der Tastatur 3 erzeugt der Ferndrucker bzw. -schreiber
1 Zeichen ESC und K in einem kodierten Format, beispielsweise in einem normalen ASCII Kode. Normalerweise ist dieses ein 1o-Bit-Kode,
wobei jedoch zur Vereinfachung nur auf die das Zeichen selbst bildenden 7 Bits und nicht auf die Start- und Stopp-Bits
oder die Paritäts-Bits Bezug genommen wird. In der Beschreibung wird auch von 'Leitung1 gesprochen. Hiermit soll entweder eine
einzelne Verbindung oder eine Vielzahl von Verbindungen oder Kopplungen gemeint sein, was davon abhängt, ob ein Signal eine einzige
Komponente oder eine Vielzahl von Komponenten aufweist. Ein Beispiel für den letztgenannten Fall sind Daten in bitparallelem Format.
Nach dem Erzeugen des irgendein Zeichen darstellenden 7-Bit-Kode wird ein Abtastimpuls an die Leitung 4 gelegt. Somit erscheint
an der Leitung 2 das den Umschalt- bzw. Transporttastenbetrieb (escape key - ESC - operation) darstellende Zeichen, wonach
an der Leitung 4 das Abtastsignal erscheint. In ähnlicher Weise erscheint an der Leitung 2 das K Zeichensignal in kodiertem Format,
wonach an der Leitung 4 der Abtastimpuls folgt. Nach einem Erfassen im Dekoder 5 führen die Signale an den Leitungen 2 und 4
dazu, daß ein erfaßtes Umschalt- bzw. Transport-K-Signal (detected
escape K signal) oder ein Impuls an der Leitung 6 entwickelt wird. Dieses Signal führt über das Lösch-Flipflop 9 dazu, daß das Referenzfolge-Zeichenregister
8 und das Referenzfolge-Identifizierungs-
609839/0705
kennzeichenregister 12 inhaltsmäßig gelöscht werden. Das Signal an
der Leitung 6 bearbeitet auch das Lade-Flipflop 7 in der Weise, daß ein Beladen einer neuen Referenzfolge von Zeichen und Referenzfolge
von Identifizierungskennzeichensignalen ermöglicht wird, die in die Register 8 und 12 einzugeben sind. Die Bedienungsperson benutzt
die Tastatur 3, um die neue Referenzzeichenfolge einzutippen. Dies führt dazu, daß der Ferndrucker 1 kodierte, die Referenzfolgezeichen
darstellende Impulse über die Leitung 2 zusammen mit ihren Abtastsignalen an der Leitung 4 über die Eingangstore Io zu dem Referenzzeichenfolge-Zeichenregister
8 aussendet. Die die an der Leitung 2 erscheinenden Referenzzeichenfolgesignale begleitenden Abtastsignale
an der Leitung 4 führen zu einem Laden von Identifizierungskennzeichensignalen über die Eingangstore 13 in das Register
12. Die Abtastsignale, die an der Leitung 4 erhältlich sind und der Start/Stopp-Logikschaltung 11 zugeführt werden, führen über
ein ünd-Tor 9o zu einem Eintakten der an der Leitung 2 erhältlichen
Referenzzeichenfolge-Zeichen und der Abtastsignale an der Leitung 4 in ihre entsprechenden Register 8 und 12. Die über die
Leitung 4 zu der Start/Stopp-Logikschaltung 11 geleiteten Abtastsignale
führen auch zu einem Rücksetzen des Lösch-Flipflops, damit
ein Löschen von in die Register 8 und 12 eingeführten Informationen
vermieden wird.
Ein Eintippen eines Umschalt-L durch die Bedienungsperson
an der Tastatur 3 veranlaßt den Drucker 1 zum Abgeben einer kodierten Umschalt-L-Folge an den Dekoder 5. Nach dem Dekodieren
im Glied 5 wird ein Steuersignal über die Leitung 15 zu der Bandsteuereinheit
16 geleitet. Diese spricht auf das Signal an der Leitung 15 an, um über eine Leitung 19 ein Steuersignal zu der
Löschschaltung 2o zu leiten. Dieses Signal sorgt für ein Löschen aller in den Registern 17 und 24 erscheinenden Zeichen- und Identifizierungskennzeichen-Signale,
bevor das Bandgerät 18 auf das Steuersignal von der Bandsteuerung 16 anspricht, um mit dem Abgeben
der neuen Kandidat-Zeichenfolge und der zugeordneten Abtastsignale über die Leitungen 27 und 28 zu den Eingangstoren 22 und
23 zu beginnen. Die Register 17 und 24 befinden sich in ständigem Umlauf, wobei sie von den zugeführten Taktsignalen C gesteuert
werden. Das Abtastsignal an der Leitung 28 veranlaßt das Tor 22,
809839/0705
damit zu beginnen, von dem Bandgerät 18 an der Leitung 27 erhältliche
Zeichensignale zum Register 17 zu leiten. Das den Eingangstoren 23 zugeführte Abtastsignal an der Leitung 28 führt auch dazu,
daß Identifizierungskennzeichen-Signale in das Register 24 eingebracht werden. Identifizierungskennzeichen-Signale in den
Registern 24 und 12 sind einem entsprechenden Zeichensignal zugeordnet, das in dem zugeordneten Register 17 und 8 umläuft. Es
ist darauf hinzuweisen, daß die Zeichen- und Identifizierungskennzeichen-Signale
in den Registern 8 und 12 unter der Steuerung der Start/Stopp-Logik 11 zu der jeweiligen Ausgangsstufe vorbewegt
worden sind und dort das Laden der Zeichen- und Identifizierungskennzeichen-Signale
in die Register 17 und 24 erwarten. Wenn das erste Identifizierungskennzeichen-Signal durch das Register 24
bis zu dessen Ausgangsstufe vorbewegt worden ist, wird es vom Detektor
25 erfaßt, um ein Signal an der Leitung 39 zu erzeugen. Dieses Signal veranlaßt die Start/Stopp-Logikschaltung 11, mit
einem Umlaufen der Zeichen- und Identifizierungskennzeichen-Signale
in den Registern 8 und 12 synchron mit den Signalen in den anderen Registern 17 und 24 zu beginnen. Die Zeichensignale in den
Registern 17 und 8 werden in der Zeichen-Vergleichslogikschaltung 29 und der Zeichenfolge-Vergleichsschaltung 28 verglichen, um an
der Leitung 41 eine Anzeige bzw. ein Signal zu erzeugen, wenn eine Übereinstimmung bezüglich der Folge von in den Gliedern 17 und 8
gespeicherten Zeichensignalen vorliegt. Dieses Signal, wird dazu
benutzt, um das Bandgerät 18 über die Bandsteuerung 16 anzuhalten.
Wenn kein übereinstimmender Vergleich aller Zeichen in der vom Register 17 gewählten Zeichenfolge mit der Zeichenfolge im Register
8 vorliegt, wird dieses von dem Zustand der Schaltungen 28 sowie 4o angezeigt, und es wird kein Signal über die Leitung 41
für die Bandsteuerung 16 geleitet, um ein weiteres Auslesen vom Bandgerät 18 anzuhalten. Somit werden fortgesetzt Zeichensignale
vom Bandgerät 18 in das Register 17 eingelesen, um mit der im Register
8 umlaufenden Folge von Zeichen verglichen zu werden. Wenn ein übereinstimmender Vergleich auftritt, wird, wie es zuvor erörtert
wurde, an der Leitung 41 ein Signal erzeugt, um die Bandsteuerung 16 zum Stoppen des Bandgerätes 18 zu veranlassen. Es können
Zustände erreicht werden, bei denen die Anzahl der im Register 17
809839/0705
gespeicherten Zeichen größer als die Anzahl der im Register 8 gespeicherten
Zeichen ist. Wenn dieser Zustand auftritt, wird er von der Schaltung 35 erfaßt, um ein Löschen des ersten im Register
17 gespeicherten Zeichens durch die Schaltung 36 zu veranlassen. Nunmehr erfolgen zwischen den Registern 17 und 8 Vergleichsvorgänge,
wobei die Zeichensignale im Register 17 in bezug auf die Zeichensignale im Register 8 um ein Zeichen verschoben sind. Die
Vergleichsgeschwindigkeit ist sehr viel größer als die Bandgerät-Auslesegeschwindigkeit,
so daß eine oder mehrere Zeichenfolge-Vergleichsvorgänge stattfinden können, bevor das nächste Zeichen
von dem Bandgerät eingeführt worden ist. Bei einer Ausführungsform
beträgt die Vergleichsgeschwindigkeit oder Datenumlaufgeschwindigkeit 1oo ooo Zeichen pro Sekunde, während die Zeichen vom Bandgerät
18 mit nur einer Geschwindigkeit von 5oo Zeichen pro Sekunde erhältlich sind. Dieses relative Verschieben der Zeichen in den
Registern 17 und 8 wird fortgesetzt, bis ein übereinstimmender Vergleich einer Zeichenfolge vorliegt. Wenn dieses erfolgt, veranlaßt
das Signal an der Leitung 41 die Bandsteuerung 16 zum Anhalten
des Bandgerätes 18, wodurch die Position der erfolgreichen Kandidat-Zeichenfolge auf dem Band identifiziert wird. Wenn weitere
Details bezüglich der Arbeitsweise der Register, wie der Glieder 17 oder 24, und der Art, gemäß derer Daten in diese Register
eingegeben und aus diesen entnommen werden, erwünscht sind, kann auf das US-Patent 4 o12 721 verwiesen werden. Es kann auch
auf das US-Patent 3 995 252 Bezug genommen werden, welches eine detailliertere Erörterung von Datenformaten, Taktvorgängen, Datenabtastvorgangen,
grundsätzlichen Logikschaltungen usw. enthält, wobei bekannte Prinzipien und Techniken angewendet werden.
Es wird nunmehr auf Figur 1 Bezug genommen, um die dort dargestellten verschiedenen Baukomponenten detaillierter zu beschreiben.
Gemäß einer Ausführungsform der Erfindung ist, wie es
zuvor erwähnt wurde, ein erstes, ständig umlaufendes Speicherregister zum Speichern einer Kandidat-Zeichenfolge von geordneten Zeichen
bis zu einer Länge von M Zeichen in M + 1 Registerstufen vorgesehen. Ein zweites dynamisches/statisches Speicherregister ist
vorgesehen, um eine Referenz-Zeichenfolge von geordneten Zeichen
809839/0705
bis zu einer Länge von N Zeichen in N + 1 Registerstufen zu speichern.
Es sind Mittel vorgesehen, um die Kandidat-Zeichenfolgen mit der Referenz-Zeichenfolge zu vergleichen und eine Übereinstimmung
von Zeichenfolgen festzustellen. Dieses erfolgt durch Mittel, die die Zeichenfolgen in ihren entsprechenden Registern umlaufen
lassen und die die Zeichenfolgen in bitparalleler, zeichenserieller Form während des Umlaufens vergleichen, um ein erstes Signal
zu erzeugen, das angibt, ob die Zeichenfolgen identisch bzw. übereinstimmend sind oder nicht sind. Es sind Mittel zum Erzeugen eines
zweiten Signals vorgesehen, das anzeigt, ob die Kandidat-Zeichenfolge
langer als die Referenz-Zeichenfolge ist. Wenn das erste Signal eine nicht vorhandene Identität anzeigt und das zweite Signal
anzeigt, daß die Kandidat-Zeichenfolge länger als die Referenz-Zeichenfolge ist, wird die Kandidat-Zeichenfolge in bezug auf die
Referenz-Zeichenfolge um ein Zeichen verschoben. Die Vergleichsund relativen Verschiebungsvorgänge werden wiederholt, bis das erste
Signal anzeigt, daß die Zeichenfolgen identisch sind.
Um die Kandidat-Zeichenfolge in ihrem Register und die Referenz-Zeichenfolge in ihrem Register zu verfolgen (track), sind
zwei Identifizierungskennzeichen-Register vorgesehen. Ein Identifizierungskennzeichen-Register
ist dem Kandidat-Zeichenfolgeregister zugeordnet, während das andere Identifizierungskennzeichen-Register
dem Referenz-Zeichenfolgeregister zugeordnet ist. Gleichzeitig mit dem Laden eines Zeichens in eines der zuvor erwähnten
Register wird ein Identifizierungskennzeichen-Signal in das passende Identifizierungskennzeichen-Register geladen. Diese Identifizierungskennzeichen-Register
laufen mit ihrem zugeordneten Register um, so daß Mittel zum Verfolgen der Zeichenfolgen in jedem
Register gebildet werden.
Unter Bezugnahme auf die in Figur 1 dargestellte Ausführung der Erfindung werden die Begrenzer bzw. Begrenzungssymbole
(ESC, K; ECS, L) (delimiters) und die geordnete Referenz-Zeichenfolge von dem Ferndrucker 1 erzeugt. Diese Zeichen könnten mittels
der Tastatur 3 manuell oder durch einen entfernt angeordneten Ferndrucker, Prozessor oder eine entsprechende Datenquelle erzeugt
werden. Die oben erwähnten Zeichen können über viele Leitungen in bitparallelem oder zeichenseriellem Format oder über eine serielle
809839/0705
Zeichenleitung 2 in bitseriellem Format empfangen werden, wie es in Figur 1 dargestellt ist. Diese Zeichen sind von einem Zeichenabtastsignal
4 gerahmt bzw. gefaßt (framed)/ welches genau anzeigt,
wann sich das Zeichen an der Leitung befindet. Insoweit handelt es sich um bekannte Datenkommunikationstechniken.
Wenn die ESC, K Zeichenfolge an der Leitung 2 empfangen
und von Abtastimpulsen an der Zeichenabtastleitung 4 begleitet wird, erfolgt eine Erkennung der Zeichenfolge durch den
Folgedekoder 5, welcher ein ESCK Signal 6 erzeugt, welches die Erfassung einer solchen Folge anzeigt. Detektoren für diesen
Zweck sind bekannt, und es kann auf das US-Patent 3 934 228 Bezug genommen werden. Dieses ESCK Signal 6 wird benutzt, um das Lösch-Flipflop
9 zu setzen, welches über die Eingangstore 1o sowie 13 und die Start/Stopp-Logik 11 alle Zeichen und zugeordneten Identifizierungskennzeichen
irgendeiner alten Referenz-Zeichenfolge im Referenz-Zeichenfolgeregister 8 oder Referenz-Identifizierungskennzeichenregister
12 löscht. Dies erfolgt dadurch, daß die Eingangstore 1o und 13 keine Zeichensignale und keine Identifizierungskennzeichensignale
in die ersten Stufen des Referenz-Zeichenregisters 8 und des Referenz-Identifizierungskennzeichenregisters
12 einführen, wenn die Start/Stopp-Logik 11 die zwei Register zusammen
in Umlauf bringt. Das ESCK Signal 6 setzt auch das Lade-Flipflop 7, welches ein Einbringen einer neuen Zeichenfolge in
das Register 8 ermöglicht.
Das das erste Zeichen in der Referenz-Zeichenfolge rahmende bzw. einfassende Abtastsignal an der Zeichenabtastleitung 4
sorgt für ein Zurücksetzen des Lösch-Flipflops 9. Das Lade-Flipflop
7, das zu diesem Zeitpunkt zurückgesetzt ist, ermöglicht es, daß die Eingangstore 1o das Zeichen am Eingang der ersten Stufe
des Referenz-Zeichenfolgeregisters 8 erscheinen lassen können.
Das Referenzfolge-Identifizierungskennzeichenregister 12 bildet, wie es oben erörtert wurde, ein Mittel zum Feststellen,
ob und wo sich Zeichensignale in dem Referenzfolge-Register 8 befinden.
Gleichzeitig mit dem Laden des ersten Zeichensignals in die erste Stufe des Referenzregisters 8 wird ein Identifizierungskennzeichensignal
in die erste Stufe des Registers 12 geladen. Dieser Vorgang wird durch das Abtastsignal an der Leitung 4 ange-
809839/0705
regt und durch die Eingangstore 13 mittels des Lade-Flipflops 7 gesteuert. Das Identifizierungskennzeichen wandert zum Ausgang
der ersten Stufe im Register 12 unter der Steuerung der Start/ Stopp-Logik 11, wenn das erste Zeichen in das Register 8 gelangt.
Nachfolgende Zeichensignale in der Referenz-Zeichenfolge und ihre zugeordneten Identifizierungskennzeichensignale
werden entsprechend in die Register 8 und 12 in einer Weise geladen,
die mit dem oben im Zusammenhang mit dem ersten Zeichen beschriebenen Vorgang übereinstimmt. Jedes Zeichensignal und Identifizierungskennzeichensignal
wandert eine Stufe weiter, wenn ein neues Zeichen in die Eingangsstufe eingeleitet wird. Dieses führt
dazu, daß die Referenz-Zeichenfolge im Register 8 in der Reihenfolge aufgereiht wird, wie sie von dem Ferndrucker 1 empfangen
wurde.
Das Referenzzeichenfolge-Register 8 ist um eine Stufe
langer, als es der maximalen Anzahl von Zeichen entspricht, die
gespeichert werden können. Dies ist erforderlich, um Mittel vorzusehen, die ein Feststellen ermöglichen, welches Zeichen das erste
Zeichen in der Zeichenfolge und welches Zeichen das letzte Zeichen der Zeichenfolge ist. Dies Erfordernis bedeutet, daß von 1 bis N
Stufen des Referenzzeichenfolge-Registers 8 und des Identifizierungskennzeichen-Registers
12 an diesem Punkt in dem Referenzzeichenfolge-Beladungsprozeß keine Zeichen- oder Identifizierungskennzeichensignale
aufweisen bzw. enthalten. Diese leeren Stufen der Register 8 und 12 sind an diesem Punkt des Beladungsvorgangs
der Ausgangsstufe am nächsten.
Wenn das Referenzzeichenfolge-Register 8 und sein Identifizierungskennzeichen-Register
12 mit N Zeichen beladen werden, wird diese Bedingung durch den Zustand der Signale an den Leitungen
33a sowie 33b angezeigt und von dem Zeichenortungs- bzw. -Iagedetektor
14 erfaßt, der das Lade-Flipflop 7 zurücksetzt, um ein Laden weiterer Zeichen zu unterbinden.
Die ESC, L Zeichensignalfolge und ihr zugeordnetes Abtastsignal werden entsprechend über die Leitungen 2 und 4 empfangen,
wie es oben für die ESC, K Zeichenfolge beschrieben wurde. Diese Zeichenfolge, ESC und L, die das Ende der ReferenzZeichenfolge
markiert, wird vom Folgedekoder 5 erfaßt, der das ESCL Sig-
809839/070S
nal 15 erzeugt. Dieses Signal sorgt für ein Zurücksetzen des Lade-Flipflops
7 (wenn dieses nicht bereits durch den oben erörterten Zustand des vollen Referenzzeichenfolge-Registers 8 zurückgestellt
worden ist). Das ESCL Signal 15 regt auch die Start/Stopp-Logik an, um die ReferenzZeichenfolge und die zugeordneten Identifizierungskennzeichen
zum Ende ihrer entsprechenden Register 8 und 12 zu leiten, bis das erste Zeichen der Referenzzeichenfolge an dem
Referenzzeichenfolge-Registerausgang 31 erscheint, was durch die Start/Stopp-Logik 11 von dem Referenz-Identifizierungskennzeichenregisterausgang
33 erfaßt wird. Das ESCL Signal 15 regt ferner die Bandsteuerung 16 dazu an, das Kandidatzeichenfolgeregister 17 zu
löschen und das Bandgerät 18 zu aktivieren. Die Bandsteuerung 16
liefert an die Schaltung 11 ein X Suche Signal, welches anzeigt, daß der Bandsuchvorgang stattfindet. Die Bandsteuerung 16 liefert
ein Startlöschsignal· 19 zum Löschen der Schaltung 2o, die über
eine Oder1 Logik 21 die Eingangstore 22 und 23 mit Signalen versorgt,
welche zum Löschen des Kandidatzeichenfolge-Registers 17 und des Kandidatzeichenfolge-Identifizierungskennzeichenregisters
24 erforderlich sind. Das Löschen des Kandidatzeichenfolge-Registers 17 und seines zugeordneten Identifizierungskennzeichenregisters
24 erfolgt dadurch, daß die Logiktore 22 und 23 keine Zeichen und keine Identifizierungskennzeichen in die erste Stufe einführen,
wenn das Taktsignal C für ein ständiges Umlaufen dieser Register sorgt. Dieser Löschvorgang wird fortgesetzt, bis der Zeichenlagedetektor
25 feststeht, daß die Register 17 und 24 leer sind, und ein Registerleersignal 26 zum Stoppen des Löschvorgangs
erzeugt. Dieser Löschvorgang wird wegen der großen Umlaufgeschwindigkeit beendet, bevor das Bandgerät 18 genügend Zeit hatte, um
Zeichensignale vom Band auszulesen und diese sowie die ihnen zugeordneten
Abtastsignale an die serielle Zeichenleitung 27 und die Abtastleitung 28 zu legen.
Wenn das erste Zeichensignal der Kandidatzeichenfolge vom Band abgelesen worden ist und an der Serienzeichenleitung 27
gleichzeitig mit seinem Abtastsignal an der Abtastleitung 28 erscheint,
befähigt das Abtastsignal die Eingangstore 22 und 23, das Zeichensignal und ein zugeordnetes Identifizierungskennzeichensignal
an den Eingang der ersten Stufe des Kandidatzeichenfolge-
809839/0705
Registers 17 und des Kandidatzeichenfolge-Identifizierungskennzeichenregisters
24 zu legen. Bezüglich weiterer Details dieses Vorgangs kann auf das zuvor erwähnte US-Patent 4 o12 721
Bezug genommen werden.
Die Zeichen und die zugeordneten Identifizierungskennzeichensignale
beginnen sofort damit, synchron mit dem Taktsignal C längs der entsprechenden Register zu laufen. Wenn dieses Zeichen
und dieses Identifizierungskennzeichen durch M + 1 Stufen gelaufen
und entsprechend an den Ausgängen 34 und 37 der letzten Stufe angekommen sind, erregt das Identifizierungskennzeichensignal den
Zeichenlagedetektor 25, um an der Leitung 39 anzuzeigen, daß sich dieses erste Zeichensignal der Kandidatzeichenfolge an dem Ausgangsregister
befindet. Dieses erste Signal an der Leitung 39 veranlaßt die Start/Stopp-Logik 11, das Referenz-Identifizierungskennzeichen
im Register 8 synchron mit dem Taktsignal C und somit mit dem Kandidat-Zeichensignal im Register 17 umlaufen zu lassen.
Das erste Signal an der Leitung 39 sorgt auch für ein Rücksetzen des Zeichenfolge-Vergleichsflipflops 28.
Wenn die Kandidat-Zeichenfolge (nur ein Zeichen befindet sich an diesem Punkt in der Erörterung) und die Referenz-Zeichenfolge
in ihren entsprechenden Registern zusammen mit ihren zugeordneten Identifizierungskennzeichensignalen in deren Registern
zum Umlaufen gebracht werden, vergleicht die Zeichenvergleichslogikschaltung 29 jedes entsprechende Zeichen einer jeden Zeichenfolge?
das heißt das erste Zeichen der Kandidat-Zeichenfolge mit dem ersten Zeichen der Referenz-Zeichenfolge, das zweite Zeichen
der Kandidat-Zeichenfolge mit dem zweiten Zeichen der Referenz-Zeichenfolge', usw. Wenn die Zeichenvergleichslogik 29 zwei Zeichen
findet, die nicht identisch sind, erzeugt sie an einer mit R verbundenen Leitung ein Signal, welches das Zeichenfolge-Vergleichsflipflop
28 zurücksetzt. Gleichzeitig mit dem Vergleichsvorgang der Logikschaltung 29 überwacht die Logikschaltung 3o die Ausgänge
37a und 33a der Identifizierungskennzeichenregister, um festzustellen, wenn ein Zeichen in der ReferenzZeichenfolge vorhanden
und kein Zeichen in der Kandidatzeichenfolge vorhanden sind. Wenn die Logikschaltung 3o diesen Zustand feststellt, erzeugt sie an
einer mit R verbundenen Leitung ein Signal, das ebenfalls das Zeichenfolge-Vergleichsflipflop
28 zurücksetzt.
809839/0705
Wenn das letzte Zeichen der Referenzzeichenfolge am Registerausgang
31 erscheint, wird ein letztes Signal an der Leitung 32 durch den Zeichenortungs- bzw. -lagedetektor 14 von den Ausgängen
33a und 33b des Referenz-Identifizierungskennzeichenregisters erzeugt. Dieses letzte Signal an der Leitung 32 wird dazu benutzt,
um den Zustand des Zeichenfolge-Vergleichsflipflops 28 durch die
'Und' Logik 4o zu prüfen. Wenn das Zeichenfolge-Vergleichsflipflop
28 als gesetzt angetroffen wird, sind die zwei Zeichenfolgen identisch.
Wenn das Zeichenfolge-Vergleichsflipflop 28 als rückgesetzt
angetroffen wird, sind die Zeichenfolgen nicht identisch. Wenn diese zwei Zeichenfolgen weiterhin synchron in ihren Registern
umlaufen, kann die Kandidatzeichenfolge vom Bandgerät 18 ein zweites Zeichensignal empfangen, wenn sich das erste Zeichensignal
in der zweiten Stufe von dem Eingabeende des Kandidatzeichenfolge-Registers 17 befindet, wobei dieser Empfangsvorgang vom Bandgerät
18 in derselben Weise erfolgt, wie es für das erste Zeichensignal geschehen ist. Da ferner das Referenzregister 8 kürzer als das
Kandidatregister 17 ist, erscheint das erste Zeichensignal der Referenzzeichenfolge
am Registerausgang 31, bevor das erste Zeichensignal der Kandidatzeichenfolge den Registerausgang 34 erreicht.
Wenn das erste Zeichensignal der Referenzzeichenfolge am Registerausgang 31 erscheint, erfaßt die Start/Stopp-Logik 11 diesen Zustand
am Ausgang des Referenz-Identifizierungskennzeichenregisters 33a, um das Umlaufen des ReferenzZeichenfolge-Registers 8 und des
Referenzzeichenfolge-Identifizierungskennzeichenregisters 12 zu
stoppen. Die Referenzzeichenfolge wartet dann bis zum Einholen auf die Kandidatzeichenfolge.
Wenn nachfolgende Zeichensignale vom Bandgerät 18 in das
Kandidatzeichenfolge-Register 17 eingelesen werden, wird der oben erörterte Zyklus wiederholt, wobei die zwei Zeichenfolgen jedesmal
dann verglichen werden, wenn die Register einen Umlauf beenden. Da die Zeichenlesefrequenz kleiner als die Kandidatzeichenfolge-Registerzyklus-
bzw. - umlauffrequenz ist, werden die Zeichenfolgen zumindest jedesmal dann verglichen, wenn ein neues Zeichen vom Bandgerät
18 in das Kandidatzeichenfolgeregister 17 geleitet wird.
809839/0705
Wenn die zwei Register und die zugeordneten Identifizierungskennzeichenregister
zusammen umlaufen, wobei Zeichensignale verglichen und neue Zeichensignale in das Kandidat-Register 17 geladen
werden, sei angenommen, daß die zwei Zeichenfolgen nicht gleich sind und das Kandidat-Register 17 möglicherweise ein Zeichensignal
mehr als das Referenz-Identifizierungskennzeichenregister 8 hat. Die Löschdetektorschaltung 35 stellt diesen Zustand
fest durch Erfassen der Signale am Ausgang 37a des Kandidatzeichenfolge-Identifizierungskennzeichenregisters
und am Ausgang 33a des Referenzzeichenfolge-Registers. Dieser Zustand wird erfaßt, wenn
sich das letzte Zeichen der Kandidatzeichenfolge an seinem Registerausgang 34 befindet, so daß das Löschen sofort durchgeführt
werden kann. Die Löschdetektorschaltung 35 veranlaßt nach der
Feststellung, daß die gespeicherte Kandidatzeichenfolge ein Zeichen mehr als die Referenzzeichenfolge hat, ein Setzen des für ein
bevorstehendes Löschen zuständigen Flipflops 36» Dieser 'Löschen
bevorstehend1 Zustand wird im Flipflop 36 aufrechterhalten, bis
das erste Zeichensignal der Kandidatzeichenfolge am Registerausgang 34 erscheint. Dieser Zustand wird durch den Zeichenlage- bzw.
-ortungsdetektor 25 erfaßt, der über die Logikschaltung 38 und die
'Oder1 Logik 21 die Eingangstore 22 und 23 dazu anregt, das Umlaufen
des überschüssigen Zeichensignals in die Eingangsstufen der Register 17 und 24 abzublocken. Wenn das Löschen nicht anhängig
bzw. bevorstehend wäre, würde die Start/Stopp-Logik 11 das Umlaufen
des Referenz-Zeichenfolgeregisters 8 zu dem Zeitpunkt starten, wenn das erste Zeichen der Kandidat-Zeichenfolge am Registerausgang
34 erscheint. Dieser Vorgang wird jedoch durch den auf die Start/Stopp-Logik 11 einwirkenden Setz-Zustand des für das bevorstehende
Löschen zuständigen Flipflops 36 verzögert, bis das zweite Zeichen am Ausgang 34 erscheint» Gemäß der obigen Erläuterung
wurden somit das erste Zeichensignal von der Kandidat-Zeichenfolge gelöscht und die relative Position der zwei Zeichenfolgen verschoben.
Das heißt es werden das zweite Zeichensignal der Kandidat-Zeichenfolge mit dem ersten Zeichensignal der Referenz-Zeichenfol=
ge, das dritte Zeichensignal der Kandidat-Zeichenfolge mit dem zweiten Zeichensignal der Referenz-Zeichenfolge„ usw» verglichene
+) nicht
9839/070
Wenn sich kein Zustand eines bevorstehenden Löschens ergeben würde, würde das Zeichenfolge-Vergleichsflipflop 28 gesetzt werden,
wenn das erste Zeichensignal der Kandidat-Zeichenfolge am Registerausgang 34 erscheint. Dieser Vorgang wird durch den Setzzustand
des Flipflops 36 verzögert, bis das zweite Signal der Kandidat-Zeichenfolge am Registerausgang 34 erscheint. Der von
der Logikschaltung 38 gebildete Löschvorgang führt auch zu einem Rücksetzen des Flipflops 36, wodurch ein neuer Lösch-Verschiebungszyklus
vorbereitet wird. Somit wird während des beschriebenen Lösch-Verschiebungsvorgangs der Zeichen- und Zeichenfolgevergleichsvorgang
wie zuvor fortgesetzt.
Dieser Betriebsablauf wird fortgesetzt, bis das Zeichenfolge-Vergleichsflipflop
28 als gesetzt angetroffen wird, wenn das letzte Zeichen der Referenz-Zeichenfolge am Registerausgang 31 erscheint.
Wenn schließlich eine Zeichenidentität aufgefunden wird, wie es von der Logikschaltung 4o festgestellt wird, sorgt das
Zeichenfolgevergleichssignal 41 für ein sofortiges Rücksetzen des Flipflops 36, um ein Löschen des ersten Zeichens der erfolgreichen
Kandidat-Zeichenfolge zu unterbinden. Das Zeichenfolgevergleichssignal 41 zeigt der Bandsteuerung 16 an, daß eine Identität
festgestellt wurde. Die Bandsteuerung 16 veranlaßt dann die
Start/Stopp-Logik 11 zum Anhalten des Umlaufens der Referenz-Zeichenfolge
mit der Kandidat-Zeichenfolge und sorgt für ein Anhalten des Bandgerätes 18. Somit wurden die Bandsignale untersucht, bis
eine Zeichenfolge lokalisiert worden ist, die derjenigen entspricht, welche durch die in dem Register 8 gespeicherte Referenz-Zeichenfolge
dargestellt wird.
Einzelheiten der Start/Stopp-Logik 11 aus Figur 1 sind
in Figur 2 dargestellt, überall dort, wo es zweckmäßig ist, sind
übereinstimmende Hinweiszahlen beibehalten worden. Das Ausgangssignal VERSCHIEBEN 62 wird nur benutzt, um die Register 8 und 12
aus Figur 1 zum Umlaufen zu bringen. Wenn das Signal VERSCHIEBEN 62 eine logische Ό1 ist, erfolgt ein Verschieben bzw. Umlaufen
der Register synchron mit dem Takt C. Über das 'Oder1 Tor 42 wird
das Signal VERSCHIEBEN 62 in einen logischen Ό1 Zustand gebracht,
und zwar durch irgendeines der drei folgenden Signale: Ausgangs-
809839/0705
signal 43 vom Lösch-Flipflop, Lade-Impuls 44 oder Umlauf-Flipflop-Ausgangssignal
45. Somit führt irgendeines dieser drei Signale zu einem Verschieben der in Figur 1 dargestellten Register 8 und
Das Ausgangssignal 43 vom Lösch-Flipflop führt dazu, daß
die Register immer dann verschoben werden, wenn das Lösch-Flipflop
gesetzt ist, so daß die Register umlaufen, während ein Umlaufen von Zeichensignalen in die Eingangsstufe des Registers abgeblockt
wird.
Der Lade-Impuls 44 wird von der Abtastleitung 4 mit einer logischen Ί1 nur dann erzeugt, wenn an der Zeichenleitung
2 (Figur 1) ein Zeichen ansteht. Jedoch erzeugt die Abtastleitung 4 nur dann einen Lade-Impuls 44, wenn das Lade-Flipflop gesetzt
ist, wie es durch sein Ausgangssignal 46 angegeben ist. Somit ist über die Inverter 47 sowie 48 und das 1NOR1 Tor 49 das Signal
des Lade-Flipflops eine Bedingung (permissive) für ein Erzeugen des Lade-Impulses 44 von dem Signal an der Abtastleitung 4. Diese
Kombination von Signalen bildet Mittel zum Verschieben der Zeichen- und Identifizierungskennzeichensignale in den Registern 8 und
aus Figur 1, wenn sie vom Ferndrucker 1 aus Figur 1 geladen werden.
Die Kombination des Flipflops 51 und der Verzögerungsschaltung 91 führt dazu, daß die Register 8 und 12 aus Figur 1 um
eine Taktzeit verzögert nach dem Setzen des Flipflops 51 ständig umlaufen. Das Signal X Suche an der Leitung 92 zeigt einen Suchbetriebszustand
an und hat einen logischen Ό1 Zustand, wenn der
Suchvorgang erfolgt. Dieses Signal X Suche wirkt über das 1NOR'
Logiktor 5o ein und ermöglicht es, daß das Signal ESCL an der Leitung 15 oder das Signal an der Leitung 39 (welches anzeigt, daß
das erste Kandidat-Zeichensignal am Ausgang des Registers 17 ansteht) das Flipflop 51 setzt. Das ESCL Signal an der Leitung 15
veranlaßt ein Verschieben der Referenz-Zeichenfolge in eine Bereitstellungsposition,
in der sich das erste Zeichen am Registerausgang befindet. Das ESCL Signal an der Leitung 15 ist nur während
dieser einleitenden Periode aktiv (logische 1V) und stört
somit nicht das nachfolgende Verschieben. Das Erstsignal 39 vom Detektor 25 wird benutzt, um das Umlaufen der Referenz-Zeichenfolge
zu starten, wenn entweder das erste oder zweite Zeichen der Kandidat-Zeichenfolge am Registerausgang ansteht. Wenn kein Lö-
809839/0705
sehen bevorsteht bzw. anhängig ist, wie es durch das Signal 55 von
dem für das bevorstehende Löschen zuständigen Flipflop angezeigt wird, wird das Flipflop 51 über die Tore 56 und 57 gesetzt, wenn
das erste Zeichen der Kandidat-Zeichenfolge am Registerausgang erscheint. Wenn ein Löschvorgang bevorsteht, wird das erste Signal
39 um eine Taktzeit von der Verzögerungsschaltung 59 verzögert, so daß ein Signal erzeugt wird, das aktiv ist, wenn das zweite Zeichen
der Kandidat-Zeichenfolge am Registerausgang ansteht. Dieses verzögerte Signal sorgt über die Tore 57 und 58 für ein Setzen
des Flipflops 51.
Während somit die Verwendung des Erstsignals 39 vom Detektor
25 und des Signals 55 vom Löschanhängigkeitsflipflop 36 zum Setzen des Flipflops 51 erörtert worden ist, ist nunmehr darauf
hinzuweisen, daß das X Suche Signal an der Leitung 92 benutzt wird, um ein Umlaufen der Referenz-Zeichenfolge zu unterbinden,
nachdem eine Zeichenfolgeidentität erzielt wurde, wie es durch das Zeichenfolgevergleichssignal 41 (Figur 1) angezeigt wird, welches
durch die Bandsteuerung 16 (Figur 1) einwirkt und schließlich
das Signal X Suche 92 in einen logischen '1' Zustand bringt, um
anzuzeigen, daß der Suchvorgang vorrüber ist.
Das Flipflop 51 wird durch ein Signal zurückgesetzt, das vom Ausgang 33a des Referenzzeichenfolge-Identifizierungskennzeichenregisters
abgeleitet ist. Dieses Signal am Ausgang 33a befindet sich während der ganzen Zeit, wenn die Kandidatzeichenfolge-Zeichen
an ihrem Registerausgang anstehen, in einem logischen Ί'
Zustand. Eine Vorderflanken-Differentiationsschaltung 6o erzeugt einen Impuls, wenn der Registerausgang 33a von Ό1 zu M1 überwechselt,
und sorgt für ein Rücksetzen des Flipflops 51 über einen Inverter 61, wenn das erste Zeichen der Referenz-Zeichenfolge am
Registerausgang ansteht. Die Löschdetektorschaltung 35, das Löschanhängigkeitsflipflop
36 und die Logikschaltung 38 aus Figur 1 sind detaillierter in Figur 3 dargestellt.
Gemäß Figur 3 wird die Löschdetektorschaltung 35 vom
Ausgang 37a des Kandidatzeichenfolge-Identifizierungskennzeichenregisters
und vom Ausgang 33a des Referenzzeichenfolge-Identifizierungskennzeichenregisters
betrieben bzw. angesteuert. Wenn sich der Registerausgang 37a in einem logischen Ί1 Zustand und der Re-
809839/0705
gisterausgang 33a in einem logischen Ό' Zustand befinden, womit
angezeigt wird, daß sich ein Zeichen am Kandidat-Registerausgang 34 (Figur 1) und kein Zeichen am Referenz-Registerausgang 31 (Figur
1) befinden, erzeugt die Löschdetektorschaltung 35 über die Tore 65 und 66 ein Signal 64 zum Setzen des 'Löschen bevorstehend1
Flipflops 36.
Das 'Löschen bevorstehend' bzw. 'Löschen anhängig' Flipflop 36 wird durch das Zeichenfolgevergleichssignal 41 oder das
Und-Logikschaltungsausgangssignal an der Leitung 67 zurückgesetzt.
Das Zeichenfolgevergleichssignal 41 setzt das Flipflop 36 zurück, um ein Löschen des ersten Zeichens der erfolgreichen Kandidat-Zeichenfolge
zu vermeiden. Das Und-Logikschaltung-Ausgangssignal
67 setzt das Flipflop 36 zurück, wenn der "Löschen bevorstehend'
Zustand verwirklicht ist.
Das verzögerte Ausgangssignal des Flipflops 36 wird benutzt,
um die Start/Stopp-Logik 11 (Figuren 1 und 2) wie auch die Logikschaltung 38 zu betreiben. Über das Tor 68 ermöglicht es das
verzögerte Ausgangssignal des Flipflops 36 an der Leitung 63, daß
das Erstsignal an der Leitung 39 das erste Zeichen der Kandidat-Zeichenfolge löscht. Das Erstsignal an der Leitung 39 ist eine
logische ' 1', wenn sich das erste Zeichen an der dem Registerausgang
vorhergehenden Stufe befindet. Somit muß es um eine Taktzeit verzögert werden, damit es wirkt, wenn sich das erste Zeichen am
Registerausgang befindet. Eine Verzögerungsschaltung 64a bildet ein Mittel zum Verzögern des ersten Signals an der Leitung 39.
Somit wird das erste Zeichen der Kandidat-Zeichenfolge durch das Signal 67 gelöscht, welches auch das Flipflop 36 zurücksetzt,
wenn das Löschen verwirklicht ist.
Die Zeichenvergleichslogik 29, die Logikschaltung 3o, der Zeichenlage- bzw. -ortungsdetektor 14 und der Zeichenlagebzw.
-Ortungsdetektor 25 aus Figur 1 sind detaillierter entsprechend in den Figuren 4-7 dargestellt.
Das erste bzw. Erstsignal an der Leitung 39 setzt das Flipflop 28, wenn das erste Zeichen der Kandidat-Zeichenfolge
am Registerausgang ansteht. Damit dieses erfolgt, ist es notwendig, das Erstsignal 39 im Glied 95 um eine Taktperiode zu verzögern.
Dies beruht auf der Tatsache, daß das erste Zeichen von dem
109839/070
Zeichenortungsdetektor 25 über die Anschlüsse 37a und 37b um eine
Taktzeit vor dem Erscheinen des Zeichens an seinem Registerausgang erfaßt wird, was einer Registerstufe vor der Ausgangsstufe entspricht.
Dieses Flipflop wird durch das Zeichenvergleichslogik-Aus gangs signal 69 oder das Ausgangssignal der Logikschaltung 3o
an der Leitung 7o zurückgesetzt.
Die Zeichenvergleichslogik bildet ein Mittel dafür, um
das Signal 69 dann zu erzeugen, wenn das Zeichen an dem Kandidatzeichenfolge-Registerausgang
von dem Zeichen am Ausgang des Referenzzeichenfolge-Registers verschieden ist. Diese Zeichen sind
mittels einer 7-Bit-Logikdarstellung in ihren Registern gespeichert.
Die Zeichenvergleichslogikschaltung vergleicht jedes Bit
des Kandidatzeichens mit dem entsprechenden Bit des Referenzzeichens.
Exklusive Oder1 Schaltungen 71 bilden Mittel, um Signale
72 zu erzeugen, die einen logischen '1' Zustand immer dann annehmen,
wenn die zwei Bits an den Eingängen unterschiedlich sind. Ein 1NOR' Tor 73 bildet ein Mittel, um über einen Inverter 74 das
Signal 69 in einen logischen '1' Zustand zu bringen, wenn irgendeines
der Eingangssignal einen logischen '1' Zustand hat. Somit
wird das Signal 69 in einen logischen Ί1 Zustand gebracht, wenn
irgendwelche der entsprechenden Zeichen-Bits unterschiedlich sind. Das Signal 69 wird dann benutzt, um das Zeichenfolge-Vergleichsflipflop
zurückzusetzen.
Die in Figur 5 dargestellte Logikschaltung 3o vergleicht den Identifizierungskennzeichen-Registerausgang der Referenz-Zeichenfolge
mit der Kandidat-Zeichenfolge. Inverter 75, 76 und 78 bilden in Verbindung mit einem NOR Tor 77 gemäß Figur 5 ein Mittel
zum Erzeugen eines Signals an der Leitung 7o, und zwar immer dann, wenn ein oder beide Register kein Zeichensignal enthalten. Dieser
Vorgang führt zu einem Zurücksetzen des Zeichenfolge-Vergleichsflipflops, wenn die Kandidat-Zeichenfolge weniger Zeichen als die
Referenz-Zeichenfolge hat.
Figur 6 zeigt die Details des Zeichenortungsdetektors bzw. Blocks 14. Wenn die Signalzustände an den Leitungen 33a und
33b entsprechend Ό1 und Ί1 sind, womit angezeigt wird, daß sich
das erste Zeichen der Kandidat-Zeichenfolge in der Stufe vor der Ausgangsstufe des Registers befindet, erzeugen ein Inverter 99 und
809839/0705
ein NOR Tor 1oo das 'Zuerst' Signal an der Leitung 1o1. Wenn die
Signal zustände entsprechend 1V und Ό1 sind, womit angezeigt
wird, daß sich das letzte Zeichen an der Ausgangsstufe des Registers befindet, erzeugen ein Inverter 1o2 und ein NOR Tor 1o3 das
'Zuletzt' Signal an der Leitung 32.
Figur 7 zeigt die Einzelheiten des Zeichenlage- bzw. -ortungsdetektors 25. Das 'Register leer1 Signal an der Leitung
26 aktiviert das Löschglied 2o, um den Löschvorgang anzuhalten, wenn am Ausgang des Registers 24 während einer Zeitperiode, die
größer als die Zeit für einen vollständigen Umlauf der Daten im Register 17 ist, keine Zeichen erfaßt worden sind. Bei einer Ausführungsform
mit einer Umlaufgeschwindigkeit von 1oo ooo Zeichen/ Sekunde und einer Speicherkapazität von 127 Zeichen wurde die
Zeitperiode zu 2-4 Millisekunden gewählt. Das Signal wird wie folgt erzeugt. Ein Zähler 1o4 zählt die Taktimpulse C, um alle
2 Millisekunden einen periodischen logischen '1' Ausgangsimpuls
von 1o Mikrosekunden Dauer zu erzeugen. Dieser Periodenimpuls
setzt ein Flipflop 1o5, was gesetzt bleibt, bis der nächste 2 Millisekunden-Impuls
erscheint, vorausgesetzt, das Register ist leer. Daraufhin erzeugt der nächste 2 Millisekunden-Impuls einen logischen
'1' Impuls am Ausgang eines NOR Tors 1o6 nach einer Umkehrung im Glied 1o7. Dieses zeigt an, daß das Register leer ist-Wenn
das Register nicht leer ist, sorgt ein logischer '1' Impuls für ein Rücksetzen des Flipflops 1o5 und ein Erzeugen eines logischen
Ό1 Zustandes am Ausgang des NOR Tors 1o6 nach der Umkehrung
im Glied 1o8. Wie es zuvor im Zusammenhang mit dem Detektor 14 erwähnt
wurde, wird ein logisches Ί' Signal am Ausgang des NOR Tors 1o9 erzeugt, wenn das erste Zeichen an der Stufe vor der Ausgangsstufe
des Registers ansteht. Wenn das 'Löschen anhängig' Flipflop 36 nicht gesetzt ist (logische o) wird am Ausgang des
NOR Tors 1oo ein logisches Ί1 Signal erzeugt, womit angezeigt
wird, daß das erste zu vergleichende Zeichen nach einer Taktzeit am Ausgang des Registers erscheinen wird. Wenn das 'Löschen anhängig'
Flipflop gesetzt ist (logische 1), wird das logische '1' Signal am Glied 1o9 um eine Taktzeit im Glied 11o verzögert, so daß
es am Ausgang des NOR Tors 1o9 erscheint und anzeigt, daß das erste zu vergleichende Zeichen (welches nunmehr das zweite Zeichen
809839/0705
in der Zeichenfolge ist) nach einer Taktzeit am Registerausgang erscheinen wird. Wenn sich das Ausgangssignal des 'Löschen anhängig1
bzw. 'Löschen bevorstehend1 Flipflop in einem logischen Ό1
Zustand befindet, ist das NOR Tor 111 abgeblockt; wenn ein logischer
Ί1 Zustand vorliegt, ist das NOR Tor 112 abgeblockt.
Die Register wurden als UmlaufSpeicherregister bezeichnet.
Es ist darauf hinzuweisen, daß diese auch dynamische Speicher oder Speichervorrichtungen umfassen sollen, wie beispielsweise
eine Verzögerungsleitung, ein inkrementales Schieberegister usw.
Während die Erfindung unter besonderer Bezugnahme auf den in den Zeichnungen dargestellten Aufbau beschrieben wurde,
ist festzustellen, daß im Rahmen der vorliegenden Erfindung weitere Abwandlungen vorgenommen werden können.
Ö09839/070S
Claims (1)
- GENERAL ELECTRIC COMPANY 4628-45-SL-O1277Patentansprüche1.) Datenverarbeitungseinrichtung, gekennzeichnet durch ein erstes, ständig umlaufendes Speicherregister (17) zum Speichern einer Kandidatzeichenfolge von geordneten Zeichensignalen mit einer Länge von maximal M Zeichen in M + 1 Registerstufen, wobei M eine ganze Zahl ist, die gleich 3 oder größer ist, durch ein zweites, auf Befehl hin umlaufendes Speicherregister (8) zum Speichern einer Referenzzeichenfolge von geordneten Zeichen mit einer Länge von N Zeichen in N + 1 Registerstufen, wobei N eine ganze Zahl ist, die gleich 1 oder größer ist, und wobei M-N gleich 2 oder größer ist, durch Mittel (28, 29) zum Vergleichen einer Kandidatzeichenfolge von in dem ersten Register (17) gespeicherten Zeichensignalen mit einer ReferenzZeichenfolge von in dem zweiten Register (8) gespeicherten Zeichensignalen, um irgendeine Identität von gespeicherten Zeichenfolgen von Zeichensignalen anzuzeigen, mit ersten Mitteln, die dazu führen, daß die gespeicherten Zeichenfolgen von Kandidat- und Referenz-Zeichensignalen in ihren entsprechenden Registern (17, 8) umlaufen, mit Mitteln zum Vergleichen der letztgenannten umlaufenden Zeichenfolgen von Signalen in zeichenserieller Form, um ein erstes Signal zu erzeugen, das anzeigt, ob die Zeichenfolgen von Signalen identisch sind oder nicht sind, mit Mitteln zum Erfassen des Zustandes, bei dem die Anzahl von Zeichensignalen in der umlaufenden Kandidatzeichenfolge der Zeichensignale größer als die Anzahl in der umlaufenden ReferenzZeichenfolge der Zeichensignale ist, um ein zweites Signal zu erzeugen, mit zweiten Mitteln, die auf das zweite Signal und auf das erste Signal ansprechen, um anzuzeigen, daß die gespeicherten Zeichen-809839/G7Ö& ,___■ ORIGINAL INSPECTEDfolgen von Signalen nicht identisch sind, und um zu befehlen, daß die Referenzzeichensignale in dem zweiten Register (8) während einer ausreichenden Zeit nicht umlaufen, damit die relativen Positionen der Kandidat- und Referenz-Zeichensignale in den Stufen ihrer entsprechenden Register (17, 8) um eine ganze Zahl von Stufen größer als Null verschoben, wobei die ersten Mittel, die zweiten Mittel, die Mittel zum Vergleichen und die Mittel zum wiederholten Erfassen ihre Funktion durchführen, bis ein erstes Ausgangssignal erzeugt wird, welches anzeigt, daß die Zeichenfolgen von Signalen identisch sind, und durch Mittel zum Ausnutzen bzw. Gebrauchen des letztgenannten Ausgangssignals . +) werden2. Einrichtung nach Anspruch 1, gekennzeichnet durch Mittel, die auf das erste Signal, welches anzeigt, daß die gespeicherten Zeichenfolgen von Signalen nicht identisch sind, und auf das zweite Signal ansprechen, um das erste Zeichen in der Kandidatzeichenfolge von Zeichen von dem ersten Register (17) zu löschen.++) aufweisen3. Einrichtung nach Anspruch 1, ferner gekennzeichnet durch eine Quelle (18) von Kandidatzeichensignalen, durch Mittel (22) zum seriellen Einspeichern dieser Signale in das erste Register (17), durch Mittel (28, 29) zum seriellen Vergleichen der in den Registern (17,8) umlaufenden Zeichensignale der Zeichenfolgen, um immer dann ein 'nicht-identisch1 Zeichenvergleichssignal zu erzeugen, wenn die verglichenen Zeichen nicht identisch sind, wobei die zweiten Mittel eine Flipflopschaltung, ferner auf das erste Zeichen der gespeicherten Kandidatzeichenfolge von Zeichen ansprechende Mittel zum Setzen des Flipflops in einen ersten Zustand, ferner auf jegliche 'nicht-identisch' Vergleichssignale ansprechende Mittel zum Setzen des Flipflops in einen zweiten Zustand, ferner auf das letzte Zeichen der gespeicherten Such-Zeichenfolge von Zeichen ansprechende Mittel zum Identifizieren des Zustandes des Flipflops und schließlich auf den identifizierten Zustand, der der erste Zustand ist, ansprechende Mittel zum Steuern der Mittel zum Einführen von Kandidatzeichen von der Quelle (18) in das erste Umlaufregister (17).S09839/07054. Einrichtung nach Anspruch 3, gekennzeichnet durch Mittel zum Identifizieren des an einer Ausgangsstufe des Kandidatzeichenregisters (17) erscheinenden ersten Zeichensignals der gespeicherten Kandidatzeichenfolge von Zeichensignalen, wobei diese Mittel ein Kandidat-Identifizierungskennzeichenregister (24) aufweisen, ferner Mittel zum Bilden eines entsprechenden Kandidat-Identifizierungskennzeichensignals, das jedem in dem Kandidatzeichenregister (17) gespeicherten Zeichensignal zugeordnet ist, ferner Mittel (23) zum Einspeichern der Kandidat-Identifizierungskennzeichensignale in das Kandidat-Identifizierungskennzeichenregister (24), ferner Mittel, die dafür sorgen, daß die gespeicherten Kandidat-Identifizierungskennzeichensignale in dem Kandidat-Identifizierungskennzeichenregister (24) synchron mit den in dem Kandidatzeichenregister (17) gespeicherten zugeordneten Kandidatzeichensignalen umlaufen, und schließlich Mittel (25) zum 'Erfassen des an einer Ausgangsstufe des Kandidat-Identifizierungskennzeichenregisters (24) erscheinenden letzten Kandidat-Identifizierungskennzeichensignals.5. Einrichtung nach Anspruch 3, gekennzeichnet durch Mittel zum Identifizieren des an einer Ausgangsstufe des Referenzzeichenregisters (8) erscheinenden ersten Zeichensignals der gespeicherten Referenzzeichenfolge von ZeichenSignalen, wobei diese Mittel ein Referenz-Identifizierungskennzeichenregister (12) aufweisen, ferner Mittel zum Bilden eines entsprechenden Referenz-Identifizierungskennzeichensignals, das jedem in dem Referenzzeichenregister (8) gespeicherten Referenzsignal zugeordnet ist, ferner Mittel (13) zum Einspeichern der Referenz-Identifizierungskennzeichensignale in das Referenz-Identifizierungskennzeichenregister (12), ferner Mittel,die dafür sorgen, daß die gespeicherten Referenz- sowie Kandidat-Identifizierungskennzeichensignale und die eingegebenen Kandidat- sowie Referenz-Zeichensignale in ihren entsprechenden Registern (8, 12, 17, 24) synchron umlaufen, und schließlich Mittel (14) zum Erfassen des an einer Ausgangsstufe des Referenz-Identifizierungskennzeichenregisters (12) erscheinenden letzten Referenz-Identifizierungskennzeichensignals.609839/07016. Einrichtung nach Anspruch 5, ferner gekennzeichnet durch Mittel zum seriellen Vergleichen der in den Referenz- und Kandidat-Identifizierungskennzeichensignal-Registern (12, 24) umlaufenden Identifizierungskennzeichensignale, um immer dann ein 'nicht-identisch' Identifizierungskennzeichensignal-Vergleichsausgangssignal zu erzeugen, wenn die verglichenen Identifizierungskennzeichensignale nicht identisch sind, und durch auf dieses Vergleichsausgangssignal ansprechende Mittel zum Setzen des Flipflops in den zweiten Zustand.7. Einrichtung nach Anspruch 1, gekennzeichnet durch Mittel (11, 9o) zum Steuern des Umlaufens der Referenz-Identifizierungskennzeichensignale und Referenz—Zeichensignale in ihren entsprechenden Registern (8, 12) mit Mitteln (25), die auf ein Signal ansprechen, welches anzeigt, daß das erste Zeichen der Kandidatzeichenfolge von Zeichen an einer Ausgangsstufe des Kandidatzeichenregisters (17) erscheint, um das Umlaufen von Referenzzeichen in dem. ReferenzZeichenregister (8) zu starten, und mit Mitteln (14), die auf ein Signal ansprechen, welches anzeigt, daß das erste Zeichen der Referenzζeichenfolge von Zeichen einen Umlauf beendet hat und an einer Ausgangsstufe des ReferenzZeichenregisters (8) erscheint, um das Umlaufen von Referenzzeichen in dem ReferenzZeichenregister (8) zu stoppen.8. Einrichtung nach Anspruch 7, ferner gekennzeichnet durch eine Quelle (1, 3) von Referenzzeichensignalen und durch Mittel zum Einspeichern einer Folge von ReferenzZeichensignalen wählbarer Länge von der Quelle (1, 3) in das Referenzzeichenregister (.8) , wobei diese Mittel eine Quelle von Startsignalen aufweisen, die den Beginn einer neuen Zeichenfolge von Referenzzeichensignalen darstellen, ferner eine Quelle von Endsignalen, die das Ende einer neuen Zeichenfolge von Referenzzeichensignalen darstellen, ferner auf das Startsignal ansprechende Mittel zum Löschen jeglicher Referenzzeichensignale und Referenz-Identifizierungskennzeichensignale, die in den Referenzζeichen- und Referenzidentifizierungskennzeichen-Registern (8, 12) gespeichert sind, ferner auf das Endsignal ansprechende Mittel zum Verschieben809839/0705der genannten neuen Zeichenfolge von Zeichensignalen in dem ReferenzZeichenregister (8), wobei die Zeichen in der passenden Reihenfolge gespeichert sind und das erste Zeichen der neuen Zeichenfolge an einer Ausgangsstufe des Referenzzeichenregisters (8) erscheint, und schließlich auf das Endsignal ansprechende Mittel zum Löschen jeglicher Kandidatζeichen- und Kandidatidentifizierungskennzeichensignale, die entsprechend in den Kandidatzeichen- und Kandidatidentifizierungskennzeichenregistern (17, 24) gespeichert sind.9. Einrichtung nach Anspruch 8, dadurch gekennzeichnet, daß die End- und/oder Startsignale von einem entsprechend geordneten Mehrfachzeichen dargestellt werden und daß die auf die Endsowie Startsignale ansprechenden Mittel solche Mittel aufweisen, die eine Dekodierung bzw. Entschlüsselung der End- sowie Startsignale vornehmen, um Signale zu bilden, wodurch Zeichen in den End- und Mehrfachsignalen in irgendeiner von dem geordneten Mehrfachzeichenformat abweichenden Reihenfolge oder Kombination aufgefunden werden können.1o. Datenverarbeitungseinrichtung, gekennzeichnet durch einen ersten Speicher (17) zum Speichern einer Zeichenfolge von M Kandidatzeichensignalen in M + 1 Speicherzellen, wobei M eine ganze Zahl ist, die gleich 3 oder größer ist, durch ein zweites UmlaufSpeicherregister (8) zum Speichern einer Zeichenfolge von N Referenzzeichensignalen in N + 1 Speicherzellen, wobei N eine ganze Zahl ist, die gleich 1 oder größer ist, und wobei M-N gleich 3 oder größer ist, wobei jedes der Signale kodierte Impulsgruppen aufweist, die ein Zeichen darstellen, durch Mittel (13) zum Bilden eines entsprechenden Referenz-Identifizierungskennzeichensignals, das jedem in dem Referenzspeicher.(8) gespeicherten Referenzzeichensignal zugeordnet ist, durch Mittel (23) zum Bilden eines entsprechenden Kandidat-Identifizierungskennzeichensignals, das jedem in dem Kandidatspeicher (17) gespeicherten Kandidatsignal zugeordnet ist, durch einen dritten Speicher (24) zum Speichern von M Kandidat-Identifizierungskennzeichensignaien, durch einen vierten Speicher (12) zumS09S39/07Q5Speichern von N Referenz-Identifizierungskennzeichensignalen, durch Mittel, die dafür sorgen, daß die Kandidat-Zeichensignale, die Kandidat-Identifizierungskennzeichensignale, die Referenz-Zeichensignale und die Referenz-Identifizierungskennzeichens ignale in der Reihenfolge ihres Empfangs in ihren entsprechenden Speichern (8, 12, 17, 24) synchron umlaufen, durch Mittel (25), die auf ein vorbestimmtes der Kandidat-Identifizierungskennzeichens ignale ansprechen, um das Umlaufen von Signalen in den zweiten und vierten Registern (8, 12) zu starten, durch Mittel (14) , die auf die vorbestimmten Referenz-Identifizierungskennzeichensignale ansprechen, um das Umlaufen von Signalen in den zweiten und vierten Registern (8, 12) zu stoppen, durch normalerweise ruhende bzw. unwirksame Mittel (29) zum Vergleichen der Kandidat- und Referenzzeichensignale Zeichen um Zeichen, um erste AusgangsSignaIe zu erzeugen, welche anzeigen, ob die verglichenen Kandidatζeichen- und Referenzzeichensignale gleich sind, durch auf die vorbestimmten Kandidat-Identifizierungskennzeichensignale ansprechende Mittel, um die letztgenannten Mittel betriebswirksam zu machen und das Vergleichen der Kandidat- sowie Referenzzeichensignale zu beginnen, durch auf die ersten Ausgangssignale ansprechende Mittel (28) zum Bilden eines zweiten Ausgangssignals, das anzeigt, ob die verglichene Zeichenfolge von Kandidat- und Referenzzeichensignalen gleich ist, und durch Mittel, die auf das eine Gleichheit der verglichenen Zeichenfolgen darstellende zweite Ausgangssignal ansprechen, um die verglichene Zeichenfolge von Kandidatzeichensignalen zu gebrauchen bzw. auszunutzen.11. Einrichtung nach Anspruch 1o, gekennzeichnet durch Mittel zum Erfassen der Kandidat-Identifizierungskennzeichen- und Referenz-Identifizierungskennzeichensignale zum Bilden eines dritten Ausgangssignals, welches anzeigt, daß die Zeichenfolge der Kandidatzeichen länger als die Zeichenfolge der Referenzzeichen ist, durch Mittel, die auf das die Ungleichheit der verglichenen Zeichenfolgen darstellende zweite Ausgangssignal, und das dritte Ausgangssignal ansprechen, um die relativen Positionen der in den ersten und zweiten Speichern (17, 8) gespeicherten Zeichensignale um eine Zeichenposition zu verschieben.809833/070512. Einrichtung zum Aufsuchen einer Zeichenfolge von auf einem Magnetband gespeicherten geordneten Zeichensignalen, wobei die Zeichenfolge eine wählbare Länge haben kann, gekennzeichnet durch ein dynamisches Register (17) zum Speichern■von aufzusuchenden Zeichenfolgen von Kandidatzeichensignalen, durch ein statisches/dynamisches Register (8) zum Speichern einer Zeichenfolge von ReferenzZeichensignalen wählbarer Länge, durch ein Referenz-Identifizierungskennzeichenregister (12) zum Speichern einer Zeichenfolge von Referenz-Identifizierungskennzeichensignalen, die jeweils einem in dem Referenzzeichenregister (8) gespeicherten Referenzzeichensignal entsprechen, durch ein Kandidat-Identifizierungskennzeichenregister (24) zum Speichern einer Zeichenfolge von Kandidat-Identifizierungskennzeichensignalen, die jeweils einem in dem Kandidatzeichenregister (17) gespeicherten Kandidatzeichensignal entsprechen, durch auf vorbestimmte Signale der von dem Kandidat-Identifizierungskennzeichenregister (24) erhältlichen Signale ansprechende Mittel zum Einleiten eines synchronen ümlaufens von Signalen in den Registern und zum Zeichen um Zeichen erfolgenden Vergleichen der Zeichenfolgen von an einer Ausgangsstufe der Kandidatzeichen- und ReferenzZeichenregister (17, 8) erscheinenden Kandidatzeichen- und Referenzzeichensignale, um Identitätsvergleichssignale zu bilden, und durch Mittel (4o), die auf vorbestimmte Signale der von dem Referenz-Identifizierungskennzeichenregister (12) erhältlichen Signale und ferner nur auf Idenditätsvergleichssignale ansprechen, welche für alle Zeichensignale in der mit der Referenzzeichensignal-Zeichenfolge verglichenen Kandidatzeichensignal-Zeichenfolge gelten, um ein Gebrauchsbzw. Ausnutzungssignal zu erzeugen.809839/070S
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US05/780,446 US4094001A (en) | 1977-03-23 | 1977-03-23 | Digital logic circuits for comparing ordered character strings of variable length |
Publications (1)
Publication Number | Publication Date |
---|---|
DE2807500A1 true DE2807500A1 (de) | 1978-09-28 |
Family
ID=25119604
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19782807500 Withdrawn DE2807500A1 (de) | 1977-03-23 | 1978-02-22 | Digitale logikschaltung zum vergleichen von geordneten zeichenfolgen variabler laenge |
Country Status (14)
Country | Link |
---|---|
US (1) | US4094001A (de) |
JP (1) | JPS53135237A (de) |
AU (1) | AU519622B2 (de) |
CA (1) | CA1109156A (de) |
DE (1) | DE2807500A1 (de) |
DK (1) | DK133378A (de) |
FR (1) | FR2385145A1 (de) |
GB (2) | GB1603371A (de) |
IT (1) | IT1093584B (de) |
NO (1) | NO781006L (de) |
PL (1) | PL116380B1 (de) |
RO (1) | RO82760B (de) |
SE (1) | SE7803409L (de) |
ZA (1) | ZA78892B (de) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5764397A (en) * | 1980-10-03 | 1982-04-19 | Olympus Optical Co Ltd | Memory device |
US4575795A (en) * | 1983-04-01 | 1986-03-11 | Honeywell Information Systems Inc. | Apparatus for detecting a predetermined character of a data string |
US5051947A (en) * | 1985-12-10 | 1991-09-24 | Trw Inc. | High-speed single-pass textual search processor for locating exact and inexact matches of a search pattern in a textual stream |
US5019806A (en) * | 1987-03-23 | 1991-05-28 | Information Appliance, Inc. | Method and apparatus for control of an electronic display |
JP2790466B2 (ja) * | 1988-10-18 | 1998-08-27 | 株式会社日立製作所 | 文字列検索方法及び装置 |
US5225833A (en) * | 1989-10-20 | 1993-07-06 | Digital Equipment Corporation | Character encoding |
JP2668456B2 (ja) * | 1991-01-22 | 1997-10-27 | 三菱電機株式会社 | ビット検索回路及びそれを備えたデータ処理装置 |
US5225933A (en) * | 1992-05-18 | 1993-07-06 | Battelle Memorial Institute | Ultrablack surfaces |
FR2692695B1 (fr) * | 1992-06-23 | 1994-08-26 | Thomson Csf | Procédé et dispositif d'auto-test, de microprocesseur. |
DE4334294C1 (de) * | 1993-10-08 | 1995-04-20 | Ibm | Prozessor für Zeichenketten variabler Länge |
US5774739A (en) * | 1996-09-20 | 1998-06-30 | Bay Networks, Inc. | Using a lockup processor to search a table of keys whose entries contain instruction pointer values of code to execute if key is found |
US7392229B2 (en) * | 2005-02-12 | 2008-06-24 | Curtis L. Harris | General purpose set theoretic processor |
US8065249B1 (en) | 2006-10-13 | 2011-11-22 | Harris Curtis L | GPSTP with enhanced aggregation functionality |
US7774286B1 (en) | 2006-10-24 | 2010-08-10 | Harris Curtis L | GPSTP with multiple thread functionality |
US20100211591A1 (en) * | 2009-02-16 | 2010-08-19 | Chuan-Hua Chang | Apparatus for processing strings simultaneously |
US8667230B1 (en) | 2010-10-19 | 2014-03-04 | Curtis L. Harris | Recognition and recall memory |
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 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3197742A (en) * | 1960-01-11 | 1965-07-27 | Rca Corp | Search apparatus |
FR1546203A (de) * | 1966-12-22 | 1900-01-01 | ||
US3492653A (en) * | 1967-09-08 | 1970-01-27 | Ibm | Statistical error reduction in character recognition systems |
FR1581412A (de) * | 1967-10-03 | 1969-09-12 | ||
US3611314A (en) * | 1969-09-09 | 1971-10-05 | Texas Instruments Inc | Dynamic associative data processing system |
US3725870A (en) * | 1970-12-24 | 1973-04-03 | Pitney Bowes Alpex | Parallel-access data file system |
-
1977
- 1977-03-23 US US05/780,446 patent/US4094001A/en not_active Expired - Lifetime
-
1978
- 1978-02-15 ZA ZA00780892A patent/ZA78892B/xx unknown
- 1978-02-22 DE DE19782807500 patent/DE2807500A1/de not_active Withdrawn
- 1978-03-03 AU AU33813/78A patent/AU519622B2/en not_active Expired
- 1978-03-17 GB GB10633/78A patent/GB1603371A/en not_active Expired
- 1978-03-17 CA CA299,120A patent/CA1109156A/en not_active Expired
- 1978-03-17 FR FR7807751A patent/FR2385145A1/fr not_active Withdrawn
- 1978-03-17 GB GB34352/80A patent/GB1603372A/en not_active Expired
- 1978-03-21 NO NO781006A patent/NO781006L/no unknown
- 1978-03-22 DK DK133378A patent/DK133378A/da not_active Application Discontinuation
- 1978-03-23 SE SE7803409A patent/SE7803409L/xx unknown
- 1978-03-23 IT IT21545/78A patent/IT1093584B/it active
- 1978-03-23 JP JP3242878A patent/JPS53135237A/ja active Pending
- 1978-03-23 PL PL1978205524A patent/PL116380B1/pl unknown
- 1978-03-23 RO RO93592A patent/RO82760B/ro unknown
Also Published As
Publication number | Publication date |
---|---|
IT7821545A0 (it) | 1978-03-23 |
SE7803409L (sv) | 1978-11-17 |
FR2385145A1 (fr) | 1978-10-20 |
GB1603371A (en) | 1981-11-25 |
DK133378A (da) | 1978-09-24 |
PL205524A1 (pl) | 1978-11-20 |
AU3381378A (en) | 1979-09-06 |
ZA78892B (en) | 1979-01-31 |
RO82760B (ro) | 1984-01-30 |
CA1109156A (en) | 1981-09-15 |
GB1603372A (en) | 1981-11-25 |
AU519622B2 (en) | 1981-12-17 |
IT1093584B (it) | 1985-07-19 |
PL116380B1 (en) | 1981-06-30 |
JPS53135237A (en) | 1978-11-25 |
US4094001A (en) | 1978-06-06 |
RO82760A (ro) | 1984-01-14 |
NO781006L (no) | 1978-09-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2807500A1 (de) | Digitale logikschaltung zum vergleichen von geordneten zeichenfolgen variabler laenge | |
DE3606869C2 (de) | Vorrichtung zur Datenkompression | |
DE2918223A1 (de) | Schnittstelleneinrichtung zum einsatz zwischen einem digitalrechner und einem speicher | |
DE3545125C2 (de) | ||
DE1951552A1 (de) | System zur Speichersicherung | |
DE1774327A1 (de) | Einrichtung zur Faksimileuebertragung graphischer Informationen | |
DE2754441A1 (de) | Anordnung fuer ein automatisches korrekturlesen von dokumenten | |
DE2519381A1 (de) | Datenverarbeitungssystem | |
DE2758830A1 (de) | Rechenvorrichtung | |
DE1499225B2 (de) | Schaltungsanordnung zur reduzierung von datenwortlaengen | |
DE1499182B2 (de) | Datenspeichersystem | |
DE1474062B2 (de) | Datenverarbeitungsanlage mit einer anzahl von pufferspeichern | |
DE1271191B (de) | Einrichtung zur UEbertragung von Informationseinheiten in die Binaerstellen eines Umlaufspeichers | |
DE1956843A1 (de) | Redundanzverringerungssystem | |
DE2115971A1 (de) | Datenverarbeitungssystem | |
DE2014325A1 (de) | Elektronische Rechenmaschine | |
DE2136270A1 (de) | Verfahren und Vergleicher zum Vergleich zweier Binärzahlen | |
DE1119567B (de) | Geraet zur Speicherung von Informationen | |
DE2433885A1 (de) | Verfahren und vorrichtung zum synchronisieren eines testinstruments auf ein digitales system | |
DE1957600C3 (de) | ||
DE2428013A1 (de) | Mehrfachsteuergeraet | |
DE1549399A1 (de) | Verfahren und System zur grafischen Aufzeichnung von Kurvenzuegen | |
DE3688737T2 (de) | Kontextadressierbarer umlaufspeicher. | |
DE1236578C2 (de) | Einrichtung zur Schraeglaufkompensation | |
DE2519168A1 (de) | Umlaufendes schieberegister |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8130 | Withdrawal |