DE2807500A1 - Digitale logikschaltung zum vergleichen von geordneten zeichenfolgen variabler laenge - Google Patents

Digitale logikschaltung zum vergleichen von geordneten zeichenfolgen variabler laenge

Info

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
Application number
DE19782807500
Other languages
English (en)
Inventor
Donald Eugene Miller
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
General Electric Co
Original Assignee
General Electric Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by General Electric Co filed Critical General Electric Co
Publication of DE2807500A1 publication Critical patent/DE2807500A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/02Comparing digital values
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90344Query processing by using string matching techniques
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99936Pattern 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-Zeichenfolgeusw» 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)

  1. GENERAL ELECTRIC COMPANY 4628-45-SL-O1277
    Patentansprüche
    1.) 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 INSPECTED
    folgen 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 . +) werden
    2. 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.
    ++) aufweisen
    3. 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/0705
    4. 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/0701
    6. 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 Verschieben
    809839/0705
    der 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) zum
    S09S39/07Q5
    Speichern 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/0705
    12. 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
DE19782807500 1977-03-23 1978-02-22 Digitale logikschaltung zum vergleichen von geordneten zeichenfolgen variabler laenge Withdrawn DE2807500A1 (de)

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)

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

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

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