DD144136A5 - Datenverarbeitungsverfahren und-vorrichtung - Google Patents

Datenverarbeitungsverfahren und-vorrichtung Download PDF

Info

Publication number
DD144136A5
DD144136A5 DD79213236A DD21323679A DD144136A5 DD 144136 A5 DD144136 A5 DD 144136A5 DD 79213236 A DD79213236 A DD 79213236A DD 21323679 A DD21323679 A DD 21323679A DD 144136 A5 DD144136 A5 DD 144136A5
Authority
DD
German Democratic Republic
Prior art keywords
value
data
register
values
memory
Prior art date
Application number
DD79213236A
Other languages
English (en)
Inventor
Louis M Galie
Edward L Glaser
Paul E Pitt
Original Assignee
System Dev Corp
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 System Dev Corp filed Critical System Dev Corp
Publication of DD144136A5 publication Critical patent/DD144136A5/de

Links

Classifications

    • 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/99935Query augmenting and refining, e.g. inexact access

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Complex Calculations (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Communication Control (AREA)

Description

Die Erfindung bezieht sich auf digitale Datenverarbeitungssysteme, insbesondere auf ein Verfahren und eine Vorrichtung, um unter Vervsendung einer Datenverarbeitungseinrichtung den Übereinstimmungsgrad von zwei Datenfeldern zu bestimmen· .
Charakteri
3tik der bekannten technischen Lösungen
Datenverarbeitungsverfahren und -vorrichtungen zum Verarbeiten von Datenfeldern sind bekannt· Es sind auch Verfahren und-Vorrichtungen dieser Art bekannt, mit denen eine Übereinstimmung zwischen einem Datenfeld, nachfolgend als Anfrage bezeichnet, und einem gespeicherten Datenbank-Feld überprüft werden kann.
Ein Verfahren und eine Vorrichtung der letztgenannten Art sind in der US-PS 4 068 298 beschrieben· Diese Patentschrift offenbart ein Verfahren und eine Vorrichtung, um unter Verwendung von als "piping" und "brightness" bezeichneten Konzepten solche Einträge in einer gespeicherten Datenbank zu lokalisieren, die einen vorgegebenen Grad von Übereinstimmung, d,he, eine vorgegebene Genauigkeit ("brightness") mit einer Anfrage aufweisen. Um die Reihenfolge des Auftretens (sich Ereignens) von Ereignissen und Einträgen (die sich aus Ereignissen zusammensetzen), welche die Datenbank bilden, darzustellen, werden Ereignis-Zeitpunkte oder Zeit-Ticks verwendet. Unter Verwendung der Zeit-Ticks werden nach dem Verfahren und der Vorrichtung diejenigen gespeicherten Daten-
Berlin, dexr'6. 11. 1979 GZ 55 470 13
bank-Binträge bestimmt, die mit der Anfrage einen vorgegebenen Übereinstimmungsgrad aufweisen. Die Anzahl von Ereignispositionsabständen zwischen einem Ereignis der Anfrage und einem entsprechenden (de h., dem gleichen) Ereignis in der Datenbank wird dazu herangezogen, den vorgegebenen Grad von Übereinstimmung zu bestimmen* Als Ergebnis werden genaue und ungenaue Daten-Recherchenergebnisse aus der gespeicherten Datenbank einfachers effizienter und rascher erzielt*
Erfindung :·"-.
Siel der Erfindung ist es, ein Datenverarbeitungsverfahren und eine -Vorrichtung zu schaffen, um sowohl den Grad der Kompliziertheit als auch die Dauer der Bearbeitung zu vermindern β
Darlegung des Wesens der Erfindung
Der Erfindung liegt die Aufgabe zugrundes ein leistungsfähigeres Datenverarbeitungsverfahren und eine -vorrichtung zu entwickeln^ um bei Verwendung mehrerer'Datenspeicher und eines entsprechenden Zwischenspeichers für jeden dieser Datenspeicher einen besonderen Kriteriumswert und einen dazugehörigen Positionswert für den Übereinstimmungsgrad in der Gegenüberstellung mehrerer Ereignistypen einer Anfrage und mehrerer Ereignistypen eines gespeicherten Eintrags einer Datenbank zu bestimmen. "
Die vorliegende .Erfindung liefert ein Verfahren, um unter Verwendung einer Datenverarbeitungseinrichtung mit mehreren Datenspeichern und einem entsprechenden Zwischenspeicher für Jeden dieser Datenspeicher einen besonderen Kriteriumswert
Berlin, den 6, -11. 1979 GZ 55 470 13
und einen dazugehörigen Positionswert zu bestimmen für den übereinstimmungsgrad in der Gegenüberstellung mehrerer Ereignistypen einer Anfrage und mehreren Ereignistypen eines gespeicherten Eintrags einer Datenbank, bei welchen ein zuvor gebildetes Datenfeld benutzt wird, in dem jeder Datenwert die Anzahl von Ereignispositionen zwischen dem Auftreten eines Ereignistyps der Anfrage und dem Auftreten eines entsprechenden Ereignistyps der Datenbank darstellt, wobei eine aus einem oder mehreren Datenwerten bestehende Gruppe
vorgesehen
Ist für jeden einer Mehrzahl unterschiedlicher
Anfrage-Ereignistypen und jede unterschiedliche Gruppe in einem anderen Datenspeicher gespeichert ist, wobei, die Datenwerte dort jeweils in monotoner Reihenfolge, beginnend an einem ersten Ende, geordnet sind; das Verfahren ist gekennzeichnet durch folgende Schritte:
a) Bezeichnen eines Datenwertes in jedem einer Mehrzahl von Datenspeichern als einen ersten Datenwert;
b) Erfassen wenigstens eines der bezeichneten ersten Datenwerte, welcher eine vorbestimmte Größe bezüglich der an?- deren bezeichneten ersten Datenwerte aufweist;
c) Speichern des wenigstens einen, erfaßten Patenwertes in dem Zwischenspeicher, welcher demjenigen Datenspeicher entspricht, in dem ein .solcher erfaßter Datenwert ge-* speichert ist; ~ : :
d) Bilden eines ersten Abstandswertes für jeden der einzelnen Datenspeicher, wobei dieser erste Abstandswert die algebraische Differenz darstellt zwischen dem erfaßten
Berlin, den β. 11«, 1979 GZ 55 470 13
; . . '. ·... ; - 4- . ': : V- ' . '.;
Datenwert und dem bezeichneten Datenwert in einem solchen .' Datenspeicher'; . · .
e) Bilden eines zweiten Abstandswertes für jeden individuellen Datenspeicher, wobei der zweite Abstandswert die algebraische Differenz darstellt zwischen dem erfaßten Datenwert und einem Datenwert in dem Zwischenspeicher, der einem solchen individuellen Datenspeicher entspricht;
f) Auswahl
in eines Ab standswertes von den entsprechenden ernsten und zweiten Abstandswerten für jeden der. individuellen Datenspeicher, wobei der ausgewählte Abstandswert eine vorgegebene Größe bezüglich des anderen ''Wertes aufweist;
g) Bilden einer Abstandswertsumme für einen erfaßten Datenwert, wodurch die Summe der Absblutwerte der daraus gebildeten .ausgewählten Abstandswerte dargestellt wird;
h) Bezeichnen eines neuen Datenwertes in demjenigen Datenwertspeicher, der den wenigstens einen erfaßten Datenwert enthält und Wiederholen der Schritte b) bis h) unter Verwendung eines solchen neuen Datenwertes als bezeichneten Datenwert, wobei' beim Bezeichnen eines neuen Datenwertes in vorbestimmter Reihenfolge innerhalb der monotonen Folge der Datenwerte der auf den zuvor bezeichneten Datenwert als nächster folgende Datenwert bezeichnet wird, und
i) Verwenden der in den Schritten b) bis h) ermittelten erfaßten Datenwerte und der entsprechenden Abs.tands-Summen-Werte zum Ableiten des Kriteriumswertes und des Positionswertes«»
Berlin, den 6. 11. 1979 GZ 55 470 13
Es ist vorteilhaft, wenn beim Speichern des wenigstens einen erfaßten Datenwertes in dem Zwischenspeicher andere bezeichnete Datenwerte, die denselben Wert haben wie der erfaßte Datenwert, in den entsprechenden Zwischenspeichern gespeichert werden«, t
Vorzugsweise wird beim Auswählvorgang vom ersten und zweiten Abstandswert der kleinste Wert ausgewählte
Vorzugsweise ist ein Speicher für einen Suchbreitenwert vorgesehen,, Das Verfahren ist gekennzeichnet durch folgende zusätzliche Schritte:
a) Erfassen einer vorgegebenen Relation zwischen jedem ausgewählten Abstandswert und einem Wert in dem Suchbreitenspeicher; und
b) nach dem letzten Schritt des Erfassens einer solchen vorgegebenen Relation, falls ein spezieller ausgewählter Abstandswertvorliegt, Ersetzen desselben durch einen vorgegebenen.Wert* wenn eine Abstandswertsumme gebildet
wird. ' . .V- ' -. . ' .'* .'·'; ·' ' ' ·' '.-.. ' ',:
Vorzugsweise wird zu jedem der Datenwerte ein Wichtungswert gespeichert und in einem zusätzlichen Schritt werden diejenigen Wichtungswerte kombiniert, die zu den Datenwerten gehören, die beim Bilden einer Abstandswertsumme verwendet werden, um dadurch eine Wichtungswertsunmie zu erhalten.
Vorzugsweise weist das Verfahren für jeden Zwischenspeicher und entsprechenden Datenspeicher, die einen Datenwert in dem
Berlin, den"6. 11» 1979 GZ 55 470 13
•β 6 »»
Zwischenspeicher und einen bezeichneten ersten Datenwert der entsprechenden Gruppe aufweisen, folgende Schritte auf:
a) Erfassen, ob die Abstandswerte, die aus dem Datenwert in dem Zwischenspeicher und dem bezeichneten Datenwert in der entsprechenden Gruppe gleich sind» *
b) Auswählen aus den zwei Wichtungswerten, die zu denjenigen zwei Daitenwerten gehören, deren entsprechende zwei Ab»
. standswerte als gleich erfaßt wurden, desjenigen Wichtungswertes, '-der bezüglich des anderen Wertes eine"vorgegebene Größe aufweist, und
c) Verwenden des ausgewählten Wichtungswertes beim Kombinieren der Wichtungswerte· .
Vorzugsweise wird aus den zwei Wichtungswerten der größte der beiden Werte ausgewählt«, -
Gemäß einer bevorzugten Weiterbildung der Erfindung wird für einen erfaßten Datenwert die entsprechende Abstandswertsumme und die entsprechende' Wichtungswertsumme zum Bilden des· Kriteriumswertes verwendete
Die Datenverarbeitungseinrichtung enthält vorzugsweise einen Speicher für einen Positiönswert, in welchem für einen erfaßten Datenwert ein Positionswert entsprechend dem erfaßten Datenwert gespeichert wird«
Vorzugsweise wird der in dem Positionswertspeicher enthaltene Wert durch einen solchen Positionswert ersetzt, der dem- · jenigen erfaßten Datenwert entspricht, der beim Bilden eines
Berlin, den 6. 11. 1979 GZ 55 470 13
Kriteriumswertes herangezogen wird, welcher eine vorgegebene Beziehung zu dem Wert in dem Kriteriiunswertspeicher hat«
Vorzugsweise werden die angegebenen Schritte wiederholt, bis sämtliche Datenwerte in den Datenspeichern nach dem Verfahren verarbeitet sind«
Die vorliegende Erfindung schafft weiterhin eine Datenverar-"beitungseinrichtung mit mehreren Datenspeichern und einen entsprechenden Zwischenspeicher für jeden dieser Datenspeicher, mit der ein besonderer Kriteriumswert und ein dazugehöriger Positionswert bestimmbar ist für den Über eins tiromungsgrad in der Gegenüberstellung mehrerer Ereignistypen einer Anfrage und mehreren Ereignistypen einer gespeicherten Datenbank, wobei die Datenverarbeitungseinrichtung ein zuvor gebildetes Datenfeld benutzt, in dem jeder Datenwert die An- · zahl"von Ereignispositionen zwischen dem Auftreten eines Ereignistyps der Anfrage und dem Auftreten eines entsprechenden Ereignistyps in der gespeicherten Datenbank darstellt, wobei eine aus einem oder mehreren Datenwerten bestehende Gruppe vorgesehen ist für jeden einer Mehrzahl unterschiedlicher Anfrage-Ereignistypen und jede unterschiedliche Gruppe in einem anderen Datenspeicher gespeichert ist, wobei die Datenwerte dort jeweils in monotoner Reihenfolge, beginnend an einem ersten Ende, angeordnet sind» gekennzeichnet durch
a) eine Einrichtung zum Bestipnen eines Datenwertes in jedem einer Mehrzahl von Datenspeichern als einen ersten Daten-
b) eine Binricirtrung zum Erfassen wenigstens eines der bezeichneten ersten Datenwerte, der eine vorgegebene Größe auf-
Berlin, den 6. 11. 1979 GZ 55 -470.13
. ; . ·; - : ' -'8.- · ; . . ;. . ,; ..' .
weist* in bezug auf die anderen bezeichneten ersten Da™ / tenwerte;
c) eine Einrichtung zum Speichern des wenigstens einen erfaßten Datenwertes in dem Zwischenspeicher, der demjenigen Datenspeicher entspricht, in welchem ein solcher erfaßter Datenwert festgestellt wird;
d) eine Einrichtung, um für jeden von individuellen Datenspeichern einen ersten Abstandswert zu bilden9 welcher
• die algebraische Differenz zwischen dem erfaßten Datenwert und dem bezeichneten Datenwert in einem solchen Datenspeicher darstellt;
e) eine Einrichtung, um für jeden von individuellen Daten-
. speichern einen zweiten Abstandswert zu bilden, der diealgebraische Differenz zwischen deffl erfaßten Datenwert' und einem Datenwert in demjenigen Zwischenspeicher darstellt, der einem solchen individuellen Datenspeicher entspricht; · , ;
f) eine Einrichtung, um für jeden individuellen Datenspei-. eher einen Abstandswert/auszuwählen aus den ersten und zweiten Abstandswerten, wobei der ausgewählte Abstandswert eine vorgegebene Größe bezüglich des anderen Wertes aufweist; . , ·
g) eine Einrichtung, um für einen erfaßten Datenwert eine Abstandswertsumme zu bilden, die die Summe der absoluten Werte aus den von diesem erfaßten Datenwert gebildeten Abstandswerten'darstellt; J"
Berlin, den 6.:11. 1979 GZ 55 470 13
h) eine Einrichtung zum Bestimmen eines neuen Datenwertes in demjenigen Datenspeicher, der den wenigstens einen erfaßten Datenwert enthält, wobei der bezeichnete Wert derjenige Datenwert ist, der in einer vorbestimmten Reihenfolge innerhalb der monotonen Reihe von Datenwerten auf den zuvor als nächsten Datenwert bezeichneten Wert folgt; und
i.) eine Einrichtung zum Verwenden der erfaßten Datenwerte und der entsprechenden Abstandswertsummen zum Ableiten des Kriteriumswertes und des Positionswertes· .
Vorzugsweise wird in der monotonen Reihe der nächste Datenwert als erster Datenwert seiner Gruppe bezeichnet, nachdem ein Datenwert aus der Gruppe in dem Zwischenspeicher gespeichert wurde, und es ist eine Einrichtung vorgesehen zum Wiederholen des Arbeitsablaufs der Einrichtung unter Verwendung eines solchen nächsten ersten Datenwertese
Vorzugsweise weist die Auswähleinrichtung eine Einrichtung auf, mit der von dem ersten und zweiten Abstandswert der kleinste Wert ausgewählt wirde .
Vorzugsweise besitzt die Datenverarbeitungseinrichtung einen Speicher für eine Abstandswertsumme und eine Einrichtung zum Ersetzen eines in dem Abstandswertsummenspeicher enthaltenen Wertes durch eine erneut gebildete Abstandswertsumme.
Vorzugsweise umfaßt die Einrichtung zum Speichern des wenigstens einen erfaßten Datenwertes in dem Zwischenspeicher eine Einrichtung zum Speichern anderer bezeichneter Werte in den
* Berlin, den 6, 11.1979 GZ 55 470 13
;' ' '..' . ' :'; . .'; ' *> το - '} /'. . ·. /
entsprechenden Zwischenspeichern,.-wobei diese Datenwerte denselben Wert aufweisen wie der erfaßte Datenwert»
In einer Weiterbildung der Erfindung ist die Datenverarbeitungseinrichtung gekennzeichnet durch: ·.;/...
Durch einen Speicher für einen Suchbreitenwert, eine Einrichtung zum Feststellen einer vorgegebenen Besiehung zwischen jede1 m ausgewählten Äbstandswert und einem in dem Suchbreitenspeicher gespeicherten Wert und eine Einrichtung, die nach dem Feststellen einer solchen vorgegebenen Beziehung bei einem speziellen ausgewählten Abstandswert einen vorbestimmten Wert an die Stelle eines solchen ausgewählten Abstandswertes setzt, wenn eine Abstandswertsumme gebildet wird« ·
Bei einer günstigen Ausgestaltung der Erfindung wird zugehörig zu jedem der Werte ein Wichtungswert gespeichert, und die Datenverarbeitungseinrichtung enthält einen Speicher für eine Wichtungswertsumme,-. eine Einrichtung zum Kombinieren. derjenigen'Wichtungswerte, die zu den beim Bilden einer Abstandswertsumme verwendeten Datenwerten gehören, um dadurch eine Wichtungswertsumme su erseugens und eine Einrichtung zum Ersetzen eines Wertes in dem Wichtungswertspeicher durch die gebildete Wichtungswertsumme · ; ..' -..... '·.. '
Vorzugsweise enthält die Datenverarbeitungseinrichtuiig eine Einrichtung zum Ersetzen des in dem I/ichtungswertsummenwertspeicher enthaltenen Wertes durch eine Wichtungswertsumme, die nach Abschluß einer erneut gebildeten, entsprechenden Abstandswertsumme vorliegt*, ' :-;"-:''\ ';'.'. "
Berlin, den .6. 11. 1979 GZ 55 470 13
In besonders günstiger Weise enthält die erfindungsgemäße Datenverarbeitimgseinrichtung
eine Einrichtung zum Erfassen, ob die .Abstandswerte, die aus. dem Datenwert in dem Zwischenspeicher und dem bezeichneten Datenwert der entsprechenden Gruppe gleich sind, eine Einrichtung, um aus den zwei Y/ichtungswerten, die zu den zwei als gleich erkannten Äbstandswerten gehören, denjenigen Wichtungswert auszuwählen, der bezüglich des anderen eine vorgegebene Größe aufweist und eine Einrichtung zum Verwenden des ausgewählten Wichtungswertes beim Kombinieren der Wichtungswerte,
Vorzugsweise zeichnet sich die Datenverarbeitungseinrichtung durch eine Einrichtung aus, die von den zwei Wichtungswerten den größten V/ichtungswert auswählt«
ITach einem bevorzugten Ausführungsbeispiel der Erfindung enthält die Datenverarbeitungseinrichtung eine Einrichtung, die für einen erfaßten Datenwert die entsprechende Abstandswertsumine und die entsprechende Wichtungswert summe zum Bilden eines Kriteriumswertes verwendet«
Vorzugsweise enthält die Datenverarbeitungseinrichtung einen Speicher für einen Kriteriumswert und eine Einrichtung zum Ersetzen eines zuvor gebildeten Kriteriumswertes in dem Kriteriumswertspeicher, falls ein solcher erneut gebildeter Kriteriumswert eine vorgegebene Beziehung zu dem Wert in dem Kriteriumswertspeicher hat. .^
In einer Weiterbildung der Erfindung weist die Datenverarbeitungseinrichtung einen Speicher für einenJPositionswert auf
Berlins den β«, 11. 1979 GZ 55 470 13
'. ' ; '- ' " ' .- . ' ' '..- 12 - ' " ' .: ' / ' ·' :·-.- '
und eine Einrichtung zum Speichern eines Ppsitionswertes in demPo.sitionswertspeicher'für jeden entsprechenden erfaßten Datenwerte
In einer Weiterbildung der Erfindung enthält die Datenverarbeitungseinrichtung eine Einrichtung zum Ersetzen des Positionswertes in dem. Positionswertspeicher entsprechend demjenigen erfaßten Datenwert, der beim Bilden eines Kriteriumswertes herangezogen wird, welcher zu dem Viert in dem Kriteriumswertspeicher eine vorgegebene Beziehung aufweist.
Vorzugsweise umfaßt die Datenverarbeitungseinrichtung eine Einrichtung, die es der Anordnung gestattet, ihren Arbeits- -ablauf, zu wiederholen, bis sämtliche Datenwerte in den Datenspeichern verarbeitet sind» . " .
Ausführungsbeispiel . ,
Im Folgenden werden Ausfülirungsbeispiele der Erfindung anhand der Zeichnung näher erläutert« Es zeigen:
Pig« 1s ein allgemeines Blockdiagramm eines durch einen Mikroprozessor gesteuerten Datenprozessors, der eine Ausführungsform der vorliegenden Erfindung darstellt;
Fig. 2: ein Blockdiagramm des Ablagespeichers und des Ab-' lage-Behandlers, der in dem "in Pig« T gezeigten Datenprozessor verwendet wird?
Pig« 3: ein' Blockdiagramm des Unscharfegenerätors, der in dem in Pig« 1 dargestellten Datenprozessor ver-
Berlin, den β, 11. 1979 GZ 55 470 13 '
wendet wird;
Pig. 4 (A) bis (C): Wortformate für den CMM-, QTLF- und
, PMM-Speicher in dem in Pig, 2 gezeigten Ablagebehandler;
Pig, 5 (A) bis 5 (C): Ablaufdiagramme zur Veranschaulichung des Operationsablaufs des Ablagespeichers und des Ablagebehandlers und
Fig. 6(A) bis 6 (B): Ablaufdiagramme zur Veranschaulichung des Operationsablaufs in dem Unscharfegenerator.
Pig» 1 stellt ein Blockdiagramm eines durch eineiMikroprozessor 10 gesteuerten Datenprozessors 12 dar, der ein Daten» managements- und Datenbank-Abfragesystem nach einem Ausführungsbeispiel der vorliegenden Erfindung bildet. Der Datenprozessor 12 enthält einen Ablagespeicher (chute) 14, einen Ablagebehandler 16 und einen Unscharfe-(dimness)Generator 18«, Der Datenprozessor ist so ausgelegt, daß er bestimmte spezielle Datenbehandlungsfunktionen ausführt in dem Vorgang zum Bestimmen eines Übereinstimmungsgrades zwischen einer Mehrzahl von Ereignissen eines Anfrage-Ereignisfeldes (im folgenden als Anfrage bezeichnet) und einer Mehrzahl von Ereignissen von Einträgen eines gespeicherten Datenbankfeldes (im folgenden als Eintrag bezeichnet).
Sowohl bei den Ereignissen einer Anfrage als auch bei den Ereignissen eines Eintrages handelt es sich um digital codierte Zeichen, und jedes Ereignis belegt eine einzelne Stelle in den entsprechenden Anfrage« und Eintrag-Feldern. Ein
Berlin, den 6. 11. 1979 GZ 55 470 13
Grad von Übereinstimmung zwischen der Anfrage und dem Eintrag wird gebildet, indem/nacheinander die Stellen der Anfrage bezüglich den Stellen des Eintrags gegenübergestellt werden und indem die Anzahl von Stellen zwischen gleichen Ereignissen jedes Feldes bei jeder solchen Gegenüberstellungsummiert wird« Die beste Übereinstimmung liegt bei derjenigen Stelle vor, wo die derart gebildete Summe ein Minimum hat*
Die oben erläuterte Ablauffolge ist anhand eines Beispiels in der Tabelle 1 (a) dargestellt» Das Abfragewort TMT wird mit dem Eintragwort STATMEIiT-,verglichen. Die Schiebestelle besieht·: sich auf die relative Position der Anfrage und des Eintrags, so daß an der Schiebestelle Null das erste Ereignis S des Eintrags STATEMENT".dem. ersten Ereignis T der Anfrage TEHT gegenübersteht« Unter der Überschrift "Anzahl der Stellen" (siehe Tabelle 1a) ist die Anzahl von Stellen zwischen dem ersten gleichen Ereignis jedes Ereignisses der Anfrage und des Eintrags aufgeführte Unter der Überschrift "Summe" ist die Summe von Stellen zwischen gleichen Ereignissen in der Anfrage und dem Eintrag für jede Gegenüberstellung aufgelistet» Unter der:Überschrift "Schiebestellung" ist die · relative'Stelle der Anfrage bezüglich des Eintrags angeführt.
So zum Beispiel gibt es in der Schiebestelle -3 vier Stellen zwischen dein ersten T in TENT-und dem ersten T in STATEMENT. In ähnlicher Weise gibt es sechs Stellen zwischen dem ersten B in TENT und dem ersten E in STATMENT, acht Stellen zwischen den Ns sowie eine Stelle zwischen dem letzten T in TENT und dem ersten T in -STATMElTiD.. Die entsprechende Summe der Stellen beträgt 19. Die niedrigste Summe* nämlich 2, zeigt an, daß die beste Übereinstimmung"·zwischen der Anfrage und dem Eintrag in der Schiebestelle 5 vorliegt0
Berlin, den 6>- 11. 1979 Γ GZ 55 470 13 ".
: . " : ' χ .' ·.· -:15 - '. ' :' : :-'· ' . . '
Tabelle 1 (b) veranschaulicht das Feld der Anzahl von Stellen zwischen gleichen Ereignissen des beschriebenen Beispiels für eine Anfangs-Gegenüberstellung in der Schiebestellung "0". Die mit dem Anfrageereignis T ausgerichteten V/erte beziehen sich auf die Anzahl von Schiebepositionen sowie auf die Schiebepositionen, die für die Gegenüberstellung mit federn T des Eintrags erforderlich ist. In ähnlicher Weise beziehen sich die mit den anderen Ereignissen ausgerichteten Werte auf die entsprechende Anzahl von Stellen, die für die Gegenüberstellung mit gleichen Ereignissen in dem Eintrag erforderlich sind.
Bei einem gegebenen derartigen Satz von Zahlen bestimmt der Datenprozessor 12 nach der vorliegenden Erfindung jede relative Gegenüberstellung der Anfrage und des Eintrags, bei der die Summe der Anzahl von Stellen zwischen allen gleichen Ereignissen ein Minimum hat«
•Der Datenprozessor 12 erzeugt eine Zahl, die sogenannte Unscharfe, die ein Maß für den Ähnlichkeitsgrad aller gespeicherten Eintragereignisse mit den Anfrageereignissen ist« Die Ähnlichkeit zwis.chen der Anfrage und dem Eintrag drückt sich in der Aufeinanderfolge des Auftretens (sich Ereignens) derartiger gleicher Ereignisse aus und vollständige Ähnlichkeit liegt vor, wenn die Anfrage dieselben Ereignisarten aufweist, die in derselben Aufeinanderfolge angeordnet sind·
Ein Beispiel eines an den Datenprozessor 12 von dem Mikroprozessor 10 übertragenen Abtast- oder Probe-Datenfeldes ist in Tabelle 2 gezeigt«, Tabelle 2 zeigt weiterhin bestimmte Speichereinrichtuiigenr die in dem Datenprozessor 12 beim Be-
Berlin, den 6. 11. 1979 GZ 55 470 13
stimmen des Unschärfewertes verwendet werden« Die Speichereinrichtungen' 'Umfassen·· vier Ablagespeicher und für jede Ablage (chute) einen Zwischenspeicher, der auch als "Fach" (pocket) bezeichnet wird* Jeder Ablege sowie dem zugehörigen Fach ist eine Ablage-/Fach~Iuramer zugeordnete Im folgenden sind weitere Speicher oder Register mit den darin zu speichernden Daten angeführt. · · ......
REGISTBR . : ; :. ' V .'.:' . γ . .
d Kandidaten-Differenz-Summe
b . Kandidaten-Genauigkeits-Summe D Endgültige Differenz-Summe
B Endgültige Genauigkeits-Summe
FSU Stelle der Vergleichsdaten, bei der die
im D-Register enthaltene Summe abgeleitet wird, ' · ...· .;
QS Anzahl von Ereignissen in einer Anfragefolge ι für Tab. 1; QS =5: PW Suchbreite (pipe width); sie ist der
maximal zulässige Viert der'Differenz zwi_ sehen einer Anfrageereignisposition und einer Eintragereignisposition; im vorliegenden Beispiels . :
; ' Ζ :. ; PW .= QS = 5* . .' -. - ; ,· - . .. ' ,
Jede Reihe von Datenwerten bildet eine unterschiedliche Gruppe von Werten'und steht für eine unterschiedliche Art von Anfrageereignissen und ist in einer unterschiedlichen Ablage gespeicherte Die Datenvjerte in jeder Ablage sind eine Reihe von in einer monoton abfallenden Reihenfolge von links nach rechts angeordneten Y/erten. Jeder Wert stellt die An-
Berlin, den 6. 11. 1979 GZ 55 470 13
sah! von Stellen zwischen gleichen- Ereignissen einer Anfrage und einem Eintrag einer gespeicherten Datenbank dar, In den Ablagen und im Zusammenhang mit jedem Datenwert ist ein dezimaler Wichtungswert gespeichert, der stets kleiner oder gleich 1 ist. Der Wichtungswert wird Genauigkeitswert oder Auswahlwert genannt und stellt die Genauigkeit eines Abfrageelements dar, die in Abhängigkeit von einer Anfrage in einer niedrigeren Ebene einer Datenstruktur erhalten wird. Derartige Datenstrukturen und Genauigkeits- oder -auswahlwerte (brightness values) sind im einzelnen in der US-PS 4 068 298 erläutert. -
Der erste Datenwert jeder Ablage, der auch der größte Datenwert in dieser Ablage ist9 wird zu Beginn in eine Stelle gebracht, die das obere Ende der Ablage genannt wird. Gibt es für eine spezielle Art von Abfrageereignis in dem Eintrag der gespeicherten Datenbank keine gleichen Werte, wird die Ablage als leer (empty) bezeichnet, wie es in Tabelle 2 bei der Ablage 3 der Pail ist» Die Fächer (pockets) werden durch den Ablagebehandler 16 vor dem Einfügen irgendwelcher Daten in das Fach auf leer eingestellt. Wie weiter unten noch erläutert werden wird, wird ein Wert -64 in die Fachstellen eingegeben, um eine Leerbedingung anzuzeigen.
Bei der in Tabelle 2 angedeuteten Datenanordnung geht der Datenprozessor 12 zum Entleeren der Ablagen und Bestimmen der endgültigen Register^erte gemäß folgendem Satz von Regeln vor.
1.Finde die Ablage mit dem am meisten positiven Wert am oberen Ende der Ablage und bringe ihn in das zugehörige Fach, indem ein zuvor von der Ablage in das Fach gebrach-
Berlin, den 6β 11· 1979 GZ 55 470 13
..-. · .;. - '-" 18 - "" ' - ·· ; \
ter Wert ersetzt wird«, . ·
a) Befindet sich, am oberen Ende einer oder mehrerer anderer Ablagen ein identischer Wert» so bringe ihn in sein zugehöriges Fach«
2. Berechne den Absolutwert der algebraischen Differenz zwischen dem verarbeiteten Sachwert (der letzte in ein Fach gebrachte Wert) und jedem der Werte, die an den oberen Enden sowie in den Fächern der anderen Ablagen vorliegen. Summiere diese Absolutwerte auf und summiere, in jedem Fall "die Genauigkeitswerte (Wichtungen), die zu demjenigen Ablage™ oder Sachwert gehören, von denen der verarbeitete Fachwert subtrahiert wurde, .· .[
a) Liegt sowohl am oberen Ende der Ablage als auch in deren zugehörigem Fach ein Wert vor, so verwende den kleineren der Absolutwerte der algebraischen" Differenz zwischen dem verarbeiteten Fachwert und den soeben genannten anderen zwei Werten«
b) Wenn die Differenz zwischen dem verarbeiteten Fachwert und einem Ablagewert und dessen zugehörigen Fachwert gleich sind, addiere den größten Genauigkeitswert aus der Ablage oder dem zügehörigen Fach auf die Genauigkei tswert-Summee .
c) Wenn eine Ablage und ihr zugehöriges Fach ohne Daten
, sind, wird der.Wert QS, d, he die Anzahl von Ereignissen in ein er Anfrage ,auf die Unscharfesumme addiert, und der Wert 1 wird auf die Genauigkeitssumme addiert»
Berlin, den 6. 11. 1979 GZ 55 470 13
d) Wenn die Differenz zwischen einem Fachwert und dem ' entsprechenden Wert .am oberen Ende der Ablage 0 ist, ist der in der Genauigkeitssumme verwendete Genauigkeitswert derjenige, der in dem zugehörigen Fach oder in dem zugehörigen oberen Ende der Ablage der größere .
e) Wenn irgendeine in den Schritten 2a bis 2f errechnete Differenz größer ist als der Wert der,Suchbreite PW,
.·..; ersetze die gebildete Differenz durch den Wert QS*
3· Wenn die in den Schritten 2a bis 2e berechnete Summe kleiner ist als der in dem D-Register vorhandene Wert, ersetze den in diesem Register vorliegenden Wert mit dem soeben errechneten Wert, ersetze den vorliegenden Eintrag in dem PSl-Register mit dem verarbeiteten Fachwert, und ersetze den Wert im B-Register durch die soeben errechnete Genauigkeit swert-Summe«
a) Wenn die in den Schritten 2a bis 2e berechnete Summe dem Wert im D-Register gleicht, und wenn der Wert im B-Register kleiner ist als die Genauigkeitswert~Summe, so ersetze den Wert im B-Register durch die soeben errechnete Genauigkeitswert-Summe und ersetze den im PSÜT-Register vorhandenen Wert durch den verarbeiteten Fachwert, "
^• .. Wiederhole ;die Schritte 1 bis 3a, bis sämtliche Ablagewerte verarbeitet sind. Zu diesem Zeitpunkt stellt der Wert im D-Register die minimale Summe der Differenzen oder die Unscharfe dar; der Wert im PSN-Register ist die relative Schiebeposition für die berechnete Unscharfe; das B-Re-
Berlin, den 6-.. 11. 1979 GZ 55 470 13
gis ter enthält die kummuli er te Genauigkeit, die der gefundenen Unscharfe zugeordnet ist.
Der Ablauf des Datenprozessors 12 ist so implementiert, daß er die vorstehenden Regeln ausführt, wie es in den Tabellen 3(a) bis 3(h) dargestellt ist, mit dem Ergebnis,, daß die beste Übereinstimmung zwischen Anfrage und Eintrag in der Position 1 vorliegt, wobei ein Unsehärfewert von 6 und ein Genauigkeitswert von 3»7 errechnet werden. Die in den Tabel- · len 3(a) bis 3(h) enthaltenen Sternchen beziehen sich auf die spezielle Yerarbeitungsregel, die die erläuterte Datenfeld-Operation erforderlich macht« Ein Viert -64 wird zu Beginn durch den Mikroprozessor 10 in die Fächer eingeschrieben, um Leerzustände in den Fächern darzustellen«,
Im folgenden soll kurz die Operation des Datenprozessors 12 beim Ausführen des in den Tabellen 3(a) bis 3(h) dargestellten Beispiels erläutert werden. Gemäß Tabelle 3(a) stellt der Datenprozessor 12 zu Beginn denjenigen Datenwert am oberen Ende der Gruppen von Datenwerten fest, der der größte ist, d, h«. den größten Wert bezüglich der anderen Datenwerte am oberen Ende der Ablagen* Hierzu wird der Datenwert 5 am oberen Ende der Ablage~/Faeh~lr« 1 festgestellt«
Der festgestellte Datenwert 5 wird dann aus dem oberen Ende seiner Ablage in das entsprechende Fach übertragen? um dort den Leerwert -64 zu ersetzene
Dann kombiniert der Datenprözessor die Datenwerte, um einen Unscharfewert zu bilden. Insbesondere wird die Summe der Absolutwerte der algebraischen Differenzen gebildet» welche zwischen dem festgestellten Datenwert und,den anderen Daten-
Berlin, den β. 11. 1979 GZ 55 470 i3
. " ." '' · ' ' - 21 - ' ' - werten am oberen Ende der Ablagen und Fächer vorliegen»
Hierzu bestimmt der Datenprpzessor die algebraische Differenz zwischen den Datenwerten 4 und 5 iJQ dem Fach der AbIage-/Fach-Nummer 1 und dem oberen Ende der Ablage im Ablage-/ Fach-ITr· 0, und der Absolutwert von 1 wird gebildet und in das d-Register gespeichert. Anschließend wird, die Absolutdifferenz zwischen dem Wert 5 in dem Pach und dem oberen Ende der Ablage der Ablage-ZFach-Ir. 1 gebildet, und der sich ergebende Wtert 0 wird dem Wert 1 im d-Register kombiniert*
Anschließend wird die algebraische Differenz zwischen dem Datenwert 5 und dem Datenwert 3 im Fach der Ablage-ZFach-Ir. 1 und dem oberen Ende der Ablage der Ablage-ZFach-lir. 2 gebildet und der sich ergebende Absolutwert, nämlich der Wert 2, wird mit der Summe im d-Register kombiniert. Anschließend wird gefunden, daß das Fach und die Ablage der Ablage-/Fach-Hr0 3 leer sind und dementsprechend wird ein Wert, der der Länge der Anfrage entspricht, in diesem Beispiel, gemäß Tabelle 3a, also 5$ auf die Summe im d«-Regi st er addiert. Ähnlich wie oben erläutert, wird die algebraische Differenz zwischen den Werten 5 und 1 in den Ablage~/Fach~Nr, 1 und 5 gebildet, und der Absolutwert 4 wird.auf die Summe im d-Register addiert, wodurch sich eine Gesamtsumme, d. h. ein Unschärfewert von 12 ergibt*
Darüber hinaus werden die Genauigkeitswerte 0?6, 0,3, 0,1, 1 und 0,8 im b-Register summiert, was einen Gesamt-Genauigkeitswert von 3j6 ergibt. Da die DB- und PSU-Register anfänglich leer sind, wird der Unscharfewert 12 in das B-Register übertragen und der Datenwert 5, der in der Ablage-/ Fach-Ur, 1 verarbeitet wird, wird in das PSU-Register über-
Berlin, den 6· 11. 1979 GZ 55 470 13
" '. - ' ;". .; - , ^ '- 22' - ' . ' .:
tragen* '
Uun soll die Operation des Datenprozessors anhand von Tabelle 3(b) betrachtet werden. v
Der Datenwert 4 am oberen Ende der Ablage in der Ablage-/ Pach"-Kr>_;0 wird als größter Wert am oberen Ende der Ablagen festgestellt und er wird in das entsprechende Fach übertragen. Der Ablauf von Operationen, der oben in Zusammenhang mit Tabelle 3(a) erläutert wurde, wird nun wiederholt. Die algebraische Differenz zwischen dem Datenwert 4 im Fach der Ablage-ZFach-Nr· 1 und jedem der Datenwerte am oberen Ende der Ablage in jeder Ablage-/PaGh-Nr, 1,2 und 4 wird gebildet. Da die Ablage-/Fach-lire 3 leer ist, wird die Länge der Anfrage, nämlich 5, für die Ablage~/Fach-Ure 3 verwendet, wie es oben bei Tabelle 3(a) beschrieben wurde.
Zusätzlich werden die Genauigkeitswerte, die zu jedem der mit dem Datenwert 4 kombinierten Datenwerte gehören, aufsummiert, so daß der gesamte Betrag im b-Register erscheint. Im Anschluß an die Bildung der Summe der Absolutwerte der algebraischen Differenzen und der Summation der Genauigkeitswerte enthält das d-Register einen Wert 10. und das b-Register einen Wert 4<> Der Datenprozessor stellt fest, daß der Unscharfewert im d-Register kleiner ist als der im D-Register und überträgt daher den Unscharfewert 10 und die Summe der Genauigkeitswerte 4, vom d-Register bzw« dem b-Register zum D-Register bzw, zum B-Register.. Zusätzlich wird der Datenwert 4, der soeben erfaßt wurde und.in dem Fach der Ablage-*/Fach-Nr.' 0 verarbeitet wurde, in das PSW-Register übertragen» Auf diese Weise wird der zuvor im D-Register
Berlin, den6, 11.1979 GZ 55 470 13
. .; . . ' . - 23 - ' '. . .
enthaltene Unschä'rfewert ersetzt durch den kleineren, im d-Register enthaltenen Unschä'rfewert, In ähnlicher Weise wird der im PSH-Re gist er enthaltene.''Wert ersetzt durch denjenigen Datenwert, der erfaßt und zum Bilden des neuen Unschärfewertes herangezogen wurde.
Nun soll anhand von Tabelle 3(c) die Operation des Patenprozessors betrachtet werden. Der Datenwert 3 am oberen Ende der Ablage-/Fach-Ir, 1 und der Ablage~/Fach-Nr. 2 wird als größter-W&rt .am oberen Ende der Ablagen festgestellt und in deren entsprechende Fächer übertragen» Beim Abtasten der Fächer von der Ablage-ZFach-Nr. 4 zur Ablage-ZFach-Nr,, O hin stellt der Prozessor zuerst den Wert 3 iß der Ablage-/ Fach-Nr. 2 fest und wählt somit diesen Wert als zu verarbeitenden Wert aus und nicht den Wert 3 unter Nr* 1. Das Erfassen und Auswählen des Wertes 3 unter Hr. 1 würde jedoch zu identischen Ergebnissen führen. \
Nun wird die Ablauffolge von Operationen wiederholt, die oben anhand von (Tabelle 3(a) bereits erläutert wurde«, Die algebraische Differenz zwischen dem Datenwert unter Ur. 2 und des Datenwertes am oberen Ende der Ablage unter Nr. 4 wird gebildet. Da die Ablage-/Fach~Nr« 3 leer ist, wird die Länge der Anfrage, nämlich 5» zu der Summe im d-Register addiert. Da sowohl im Fach als auch am oberen Ende der Ablage unter Ir. 0 Werte vorhanden sind, wird die kleinste Differenz zwischen dem Fachwert 3 unter Nr* 2 und dem Fachwert 4 unter Nr. 0 sowie dem Wert 0 im oberen Ende der Ablage unter Nr. 0 verwendet* Das bedeutet, der Wert 1, der die kleiners Betragsdifferenz zwischen (3-4) un^ (3-0) hat, wird zu der Summe in dem Unscharfegenerator addiert«,
Berlin, den 6, 11. 1979 GZ 55 470 13
.- 24 -
Zusätzlich werden die Genauigkeitswerte., die zu jedem der . Datenwerte gehören, mit denen der Datenwerte 3 unter Nr. 2 kombiniert, aufsummiert, so daß die Gesamtsumme im b-Register auftritt« Im Anschluß an die Bildung der Summe der Absolutwerte der algebraischen Differenzen und der Summation der ' Genauigkeitswerte enthält das d-Register einen Wert 8 und das b-Register einen Wert 4. Der Datenprozessor 12 stellt fest, daß der Unschärfewert im d-Register kleiner ist als der Wert im D-Register und überträgt daher den Unscharfewert 8 und die Summe des Genauigkeitswerts 4» aus dem d-Register bzw* dem b-Register in das D-Register bzw. B-Register» Zusätzlich wird der Datenwert, der soeben im Fach unter der Ablage~/Fach--lre 2 verarbeitet wurde, in das PSE-Register üb ei1 trag en. Auf diese Weise wird der zuvor im D-Register enthaltene Wert durch den kleineren Unscharfewert aus dem d-Register ersetzt. In ähnlicher Weise wird der im PSW-Register enthaltene Wert ersetzt durch den Datenwert, der erfaßt wurde, und bei der Bildung des neuen Unscharfewertes herangezogen wurde« ·
Nun soll anhand der Tabelle 3(d) die Operationsfolge des Datenprozessors betrachtet werden.
Der Datenwert 1 am oberen Ende der Ablage unter Ablage-/Pach-Hrβ 4 wird als größter Wert am Ende der Ablagen festgestellt und in das entsprechende Fach übertragen» Zusätzlich wird der Ablagewert 1s der nun für die beiden Ablage-/Pach-Nr« 1 und 2 als oberes Ende der Ablage zu betrachten ist, in die entsprechenden Fächer der Nummern 1 und 2 übertragen, und zwar zusammen mit ihren zugehörigen Genauigkeitswerten» Die Ablauffolge-, dieoben in Zusammenhang mit Tabelle 3(a) erläutert wurde, wird nun wiederholt« Die algebraische Diffe-
Berlin, den β.. 11. 1979 GZ 55 470.13
renz zwischen dem Datenwert 1 im Fach unter Nr. 4 und dem Datenwert am oberen Ablageende unter Ur. 0 sowie dem Fachwert unter den Nr. 1, 2 und 4 wird jeweils gebildet. Da die Ablage-./Facli-Nr. 3 leer ist, wird die Länge der Anfrage, nämlich 5s für die Ablage-/Fach-Nr. 3 verwendet, wie es bei Tabelle 3(a) erläutert wurde. Da sowohl im Fach als auch in der Ablage für die Ir. O ein Wert vorliegt, wird die kleinste Differenz zwischen dem Wert T unter.Nr,.- 4 und den Werten in dem Fach und der Ablage unter Nr. O in das d-Register addiert. Demzufolge wird der Wert 1, der den kleineren Differenzwert aus (1-0) und (1-4) darstellt, auf die. Summe im d-Register addiert. Im Anschluß an die Bildung der Absolutwerte der algebraischen Differenzen und der Summation der Genauigkeitswerte enthält das d-Register einen Wert 6 und das b-Register enthält einen Wert 3»7..Der Datenprozessor, 12 stellt fest, daß der Unscharfewert im d-Register kleiner ., ist als der im D-Register und überträgt daher den Unscharfewert 10 und die Summe der Genauigkeitswerte 3,7 aus dem d-Register bzw. aus dem b-Register.
Zusätzlich wird der soeben erfaßte und in dem Fach unter Nr.; 4 verarbeitete Datenwert 1 in das PSN-Register übertragen. Auf diese Weise wird der zuvor im D_Register enthaltene Unscharf ewert durch den kleineren Unscharfewert aus dem d-Register ersetzt. In ähnlicher:Weise wird der im PSN-Register enthaltene Wert durch den Datenwert-ersetzt, der zur Bildung des neuen Unscharf ew er ties erfaßt und verwendet würde«
Nun soll anhand von "Tabelle 3(e) die Arbeitsweise des Prozessors erläutert werden.
Der Datenwert 0 am oberen Ablageende unter Nr. 0 wird als
Berlin, den G, 11 · 1979 GZ 55 470 13
größter Wert der oberen Ablageenden festgestellt und in das entsprechende Fach übertragen« Die Ablauffolge der Operationen, die anhand von Fig. 3(e) erläutert wurde, w-ird nun wiederholt. Es wird die algebraische Differenz zwischen dem Datenwert 0 im lach unter Hr. 0 und jedem der Datenwerte im Fach jeder der Nummern 0, 1$ 2 und 4 gebildete Da die AbIage-/Fach-Nr„ 3 leer ist, wird die Länge der Anfrage, nämlich 5, für die Nummer 3 verwendet, wie es oben bereits für Tabelle 3(a) geisagt wurde. Ferner werden die Genäüigkeitswerte, die zu jedpm der mit dem Datenwert 0 unter Ur. 0 verglichenen Datenwerte' gehören, summiert, so daß der Gesamtbetrag im-d-Register erscheint* Im Anschluß an die Bildung der Summe der Absolutwerte der algebraischen Differenzen und der Summation der Genauigkeitswerte enthält das d-Register einen Wert 8, und das b-Register enthält einen Wert 3»7» Der Datenprozessor stellt fest, daß der Unscharfewert im b~Register größer ist als derjenige im D-Register und überträgt aus diesem Grund den Datenwert 8 und die Summe der Genauigkeitswerte 3»7. nicht aus dem d-Register und b-Register zu dem D-Register bzw. dem B-Register« Demzufolge wird der soeben erfaßte und im Fach unter Nr4. 0 verarbeitete Datenwert 0 nicht in das PSN-Register übertragen« Auf diese Weise wird der zuvor im D-Register enthaltene Unscharfewert nicht durch den größeren Unscharfewert im d-Register ersetzt. In ähnlicher Weise wird der im PSN-Register enthaltene Wert nicht durch den für die Bildung des neuen Unschärfewertes erfaßten und verwendeten Datenwert ersetzt.
Nun wird die Operationsfolge des Datenprozessors unter Bezugnahme auf Tabelle 3(f) erläutert.
Der.Datenwert -1 am oberen Ende der Ablage unter der Ablage-/
Berlin, den 6. 11. 1979 ' ' . GZ 55. 470 13
Fach-Ir. 2 wird als größter Wert am oberen Ende der Ablagen festgestellt und in das entsprechende Fach übertragen» Die Operationsfolge, die anhand von Tabelle 3(a) erläutert wurde, wird wiederholt. Die algebraische Differenz zwischen dem Datenwert -1 im Fach unterUr, 2 und dem Datenwert am oberen Ablageende unter Ur. 4 wird gebildet. Wie zuvor wird, da die Ablage-ZFach-Iir. 3 leer ist, die Länge der Anfrage, nämlich 5j für die Ablage-z^Fach-ITr. 3 verwendet und auf das d-Register addiert. Da in dem oberen Ende der Ablagen unter Nr. O · und 1 keine Datenvv'erte vorliegen, werden die Differenzen zwischen dem Wert des Fachs unter Ur. 2 und den Vierten in den Fächern unter den Ir, O und 1 gebildet. Im Anschluß an die Bildung der Summe der Absolutwerte der algebraischen Differenzen und der Summation der Genauigkeitswerte enthält das d-Register einen Wert 10 und das b-Register enthält einen Wert 3»6. Der Datenprozessor stellt fest, daß der Unschärfewert im d-Register größer ist als derjenige im D-Register und überträgt aus diesem Grund nicht den Unschärfewert 10 und den Genauigkeitswert 3,6 aus dem d-Register bzw. dem b "-Register in das D-Register bzw. das B-Register« Weiterhin wird der Datenwert -1 ,der zuvor festgestellt wurde und im Fach unter ITr0 2 verarbeitet wurde, nicht in das TSlT-Re'gist er gebracht.
Nun soll anhand der Tabelle 3(g) die Arbeitsweise des Datenprozessors erläutert werden. Der Datenwert --3 am oberen Ablageende unter Hr. 4 wird, als größter Wert an den oberen Ablageenden festgestellt und in das entsprechende Fach übertragen. Entsprechend den Verarbeitungsschritten des Datenprozessors nach Maßgabe, der Tabellen 3(a) bis 3(g) bildet der Datenprozessor die Summe der Absolutwerte der algebraischen Differenzen und die Summation der Genauigkeitswerte und das d-Register enthält einen Wert T4» während das.b-Register
Berlin, den 6, 11. 1979 GZ 55 470 13
einen Wert 3» 6 enthält· Der Datenprozessor stellt ,fest, daß'·'. der Unschärfewert im d-Register größer ist als derjenige im D-Register und überträgt aus diesem Grund den Unschärfewert 14 und die Summe der Genauigkeitswerte 3,6 nicht aus dem ά-Register, bzw. dem b-Register in das D-Register bzw. das B-' Register. Darüber hinaus vt/ird der Datenwert -3, der zuvor festgestellt und im Fach'-unter .Ur. 4 verarbeitet wurde, nicht in-das ' PSN-Register. Übertragen.
Nun soll anhand der Tabelle 3(h) die Arbeitsweise des Datenprozessors beim Ausführen des Beispiels erläutert werden, wobei nunmehr keine weiteren Ablagewerte zur Verarbeitung vorliegen e ; ..' ". V
Der Datenwert ~4 am oberen Ablageende unter Nr8 4-wird als größter Wert am oberen Side der Ablagen festgestellt und in das entsprechende Fach übertragen. Entsprechend den Yerarb'eitungsschritten, die in Zusammenhang mit den Tabellen 3(a) bis 3(g) beschrieben wurden, bildet der Datenprozessor eine Summe von Absolutwerten der algebraischen Differenzen und die Summation der Genauigkeitswerte. Das d-Register enthält einen Wert 17, das b-Register enthält, einen Yfert 3,4· Der Datenprozessor stellt· fest$ daß der Unschärfewert im d-Register kleiner ist als derjenige im D-Register und überträgt daher nicht den unschärfewert 17--'und- den Genauigkeitswert 3f4 aus dem d~ und b-Register in das D-Regis.ter bzw. B-Register« Darüber hinaus wird der Datenwert -4, der soeben festgestellt und in dem Each unter Nr*. 4 verarbeitet wurde, nicht in das PSH-Register übertragene /
Die durch die Operation ßes Datenprozessors beim Ausführen der in den Tabellen 3(a) bis 3(h) dargestellten Beispiele
. Berlin, ä:en β. 11. 1979
GZ 55 470 13
erzielten Resultate zeigen, daß die beste Übereinstimmung zwischen der Anfrage und dem Eintrag bei Position 1 mit einem entsprechenden Unscharfewert von 6 und einem zugehörigen Genauigkeitswert von 3,7 vorliegen.
Im folgenden soll unter Bezugnahme auf die Fig. 2 und 3 der Datenprozessor 1.2 erläutert werden. Es wird ein Datenprözessor erläutert, der dazu bestimmt ist, eine spezielle Übereinstimmung zwischen mehreren Ereignissen einer Anfrage und. . mehreren Ereignissen einer gespeicherten Datenbank unter, Verwendung eines vorab gebildeten Feldes von Datenwerten festzustellen. Ein Beispiel des vorab gebildeten Datenwertfeldes ist in Tabelle 2(a) gezeigt. Jeder Datenwert repräsentiert die Anzahl von Ereignispositionen zwischen der gegenübergestellten Position eines Ereignisses der Anfrage und dem entsprechenden Ereignis in der gespeicherten Datenbank. Wie oben .bereits erläutert wurde, ist eine Gruppe, bestehend aus einem oder mehreren Datenwerten, für jede von mehreren Arten von Anfrageereignissen vorgesehen. Der Datenprozessor enthält einen Speicher SDW 1OOS für einen Unscharfewert, einen Speicher PSN 62 für einen Positionswert sowie mehrere Datenspeicher,, von denen jeder aus einer Speicherstelle besteht, die als Ablage bezeichnet wird und in einem CMEM-Speicher 20 vorgesehen ist. Jede unterschiedliche Gruppe von Datenwerten ist in einer unterschiedlichen Ablage innerhalb des CMEM-Speiehers 20 abgespeichert, wobei die Datenwerte in monotoner Reihenfolge, beginnend mit dem größten Datenwert am oberen Ende, gespeichert sind. Wie noch im einzelnen erläutert werden wird, ist das obere Ende in jeder Ablage keine feste Stelle, sondern wird durch einen Stapelzeiger (stack pointer) SPR 32 spezifiziert; dieser Stapelzeiger zeigt auf den nächsten Datenwert in der Ablage, welcher in dieser Ablage zu
Berlin, den 6, 11. 1979 GZ 55 470 13
verarbeiten ist«, Der PMEM-Speicher 26 enthält ein separates Fach, de h. einen Zwischenspeicher für jede Speicherstelle (Ablage) im CMEM-Speicher 20. Jedes Fach speichert einen Datenwert sowie einen zugehörigen Genauigkeitswert, wie noch erläutert werden wird. ..'.·
Betrachtet man die Arbeitsweise des Datenprözessors 12, so stellt ,der Ablagebehandler 16 (siehe Fig« 2) den /Datenwert am oberen Ende des CMEM-Speichers 20 fest, der eine vorge
gebene ReI
.ation zu den anderen Datenwerten am oberen Ende
der Ablagen in dem CMEM-Speicher 20 aufweist,, Insbesondere vergleicht der Ablagebehandler die Datenwerte an den oberen Enden der Ablagen, stellt den größten Datenwert fest und speichert diesen in das XREF-Register 50. Dies geschieht unter Steuerung durch den Mikroprozessor 21, während dessen Zustände 2 bis 6 für die ersten erfaßten Datenwerte sowie während der Zustände 10, 17 und 1.8 für die zweiten und anschließenden erfaßten Datenwerte. Der Ablagebehandler veranlaßt, daß der erfaßte größte Datenwert aus der entsprechenden Stelle im CMEM-Speicher.20 in das zugehörige Fach innerhalb des PMEM-Speichers 26 übertragen wird«,-Dies geschieht durch Steuerung des Mikroprozessors 21, während dieser die Zustände 14s 15. und 1-7 einnimmt. ' . ;
Der Unscharfegenerator 18 kombiniert den erfaßten Datenwert mit den anderen Datenwer-ten am oberen Ende der. Ablagen und den in den Fächern des PMBM-Speichers 26 gespeicherten Patenwerten, Hierzu ',wird der Absolutwert der algebraischen Differenz zwischen dem erfaßten, de h. festgestellten größten Datenwert und den individuallen Datenwerten, die am oberen Ende jeder Ablage sowie in; den Fächern gespeichert sind, bestimmt, und die Summe dieser Werte wird gebildet,
Berlin, äen 6. 11. 1979 GZ 55 470 1 3
um einen Unscharfewert in der oben erläuterten Weise zu erzeugen. Dies geschieht in dem Unscharfegenerator für jede, Ablage wie folgt. Der festgestellte Datenwert in XREF 50 wird nach REP 60 (Pig· 3) übertragen und der Datenwert im oberen Ablageende sowie der zugehörige Genauigkeitswert werden in die Register T0S2 58 und T0S1 56 übertragen (Pig. 3) und der Datenwert und sein zugehöriger Genauigkeitswert werden aus ZPOO 40 in die Register P0C2 54 und POC1 52 übertragen. Die algebraischeDifferenz wird zwischen dem festgestellten Datenwert, der in REP 60 gespeichert ist, und den · Datenwerten' im Register P0C2 54 gebildet, und es wird die· algebraische Differenz gebildet zwischen dem erfaßten Datenwert in REP 60 und dem Datenwert im Register T0S2 58» Die kleinere dieser Differenzen wird in eine "Kandidaten"-Un- · schärfesumme addiert, die in einen SDC-Akkumulatorregister 90 gebildet wird. Es sei darauf hingewiesen, daß.der Genauigkeitswert in den Registern T0S1 56 und POC1 52 zu dem Datenwert im Register T0S2 58 bzw. P0C2 54 gehört* Weiterhin wird der Genauigkeitswert, der zu dem Datenwert aus dem Register P0C2 54 oder T0S2 58, resultiert aus der kleineren Differenz, gehört, in einem SBC-Akkumulatorregister 92 aufsummiert« Dies geschieht durch den Mikroprozessor 51 während der Zustände 4, 5» 6, 7 und 10,
Das oben Gesagte kennzeichnet die Bedingung, daß die gebildeten algebraischen Differenzen nicht gleich sind. Sind die algebraischen Differenzen gleich, werden die Genauigkeitswerte in den Registern TOSi 56 und POC1 52 verglichen und die größere Genauigkeit von beiden wird in dem SBC-Akkumulator-Registör 92 aufsummiert, während der entsprechende Datenwert in dem SDC-Akkumulator-Register 90 summiert wird.
Berlin, den 6. 11. 1979 GZ 55 470 13
, ' ' " ..'' :"" } ' '. " -· 32 - .... :.; 7 : .
Dies geschieht durch Steuerung des" Mikroprozessors 51'während, der Zustände 4» 5S 6, 7 und 10, wobei der Zustand 7 derjenige ist, bei dein gleiche oder ungleiche Zustände festgestellt werden*
Der Mikroprozessor 51 stellt in den Zuständen 12 und 13 fest, ob der Unscharfewert, der im SDC-Akkumulatorregister 90 gebildet und gespeichert Yifird, kleiner ist als der Wert, der derzeit im SDW-Register 100 enthalten ist«, Das SDW-Register 100 enthält den minimalen Unscharfewert, der soweit bestimmt wurde» ' ' .
Der Mikroprozessor 51 bildet im Zustand 14 die Einrichtung zum Ersetzen des Wertes im SDW-Register 100 mit dem soeben gebildeten Unscharfewert, der im SDC-Akkumulatorregister 90 enthalten ist, falls der Wert im SDG-Akkumulatorregister 90 kleiner ist als der Wert im SDW-Register 1 00. Gleichzeitig wird der Wert in SBW 102 ersetzt durch den Wert im SBC-Akkumulatorregister 92. Darüber hinaus wird, wenn festgestellt wird, daß der gebildete Unscharfewert in SDC 90 kleiner ist, der in dem Positionsspeicher-Register 62 (PSN-Register) gespeicherte Wert ersetzt durch den im REP-Register 60 gespeicherten festgestellten Datenwert. Der Wert im PSl-Register 62 stellt die relative Position der Anfrage und des Eintrags dar, die zu dem Wert im SDW-Register 100 gehörte
Für den Fall,'daß die Register SDC 90 und SDW 100 gleich sind, stellt der Mikroprozessor 51 fest, ob der Genauigkeitswert im SBC-Akkumulatorregister 92 größer ist als der Genauigkeitswert im Speicherregister SBW 102 ο SBW-Speicherregister 102 enthält den zu dem derzeitig in SDW-Register 100
Berlin, den -6. 11. 1979 GZ 55 470 13
'.'. . ; . .- 33 -ν .. -.. : -
enthaltenen Unscharfewert gehörigen Genauigkeitswert. Der Wert im SBW-Speicherregister 102. wird durch den Wert im SBC-Aldcumulatorregister 92 ersetzt, wenn SBC größer ist als SBW und der Wert im SDC-Akkumulatorregister 90 ersetzt den Wert im SDW-Register 100, während der Wert imREF-Register 60 den Wert im PSN-Register 62 ersetzt. Dies geschieht durch den Mikroprozessor 51 während des Zustandes 14.
Im folgenden soll der Ablagespeicher erläutert werden. Sämtliche Ablagebehandler-Daten und Datenzugriffszeiger liegen in vier Speichern vors, nämlich in den Speichern CMEM 20, QTLP 22, SPM 24 und PMEM 26. Diese Speicher werden mit den entsprechenden Daten und Adresszeigern durch den Mikroprozessor 10 vor Beginn der Operation des Ablagebehandlers geladen. Weiterhin wird ein Adressregister LMAR 28 durch den Mikroprozessor 10 mit einem Initialisierungswert geladen, welcher die Adresse des ersten Datenausdrucks in QTLF darstellt, der durch den Ablagebehandler 14 zu verarbeiten ist«,
Nachstehend sind die einzelnen Bauelemente erläutert,
CMSM ί Der CMEM-Sp el eher 20 ist ein 4KrH Bit (K=1024) Schreib-/lese~Speicher (RAM), vorzugsweise handelt es sich um 14 Bauelemente Hr. 2147. Dieser Speicher speichert die Ablagefeld-Elemente, die von dem Mikroprozessor 10 übertragen werden. Bei dem CMEM-Speicher 20 handelt es sich vorzugsweise; um ein 64 x 64-Wortfeld mit 64 Ablagen, von denen jede 64 Worte umfaßt. Das Speicher-Wortformat ist in Fig. 4(a) dargestellt. Es handelt sich um ein 14-Bit-Viort,, dessen Bits 7 bis 13 den Wert für jedes Datenwertelement der Ablage enthalten, während die Bits 6 bis 0 den zu dem entsprechenden
Berlin, den 6. 11. 1979 GZ 55 470 13
Ablageelement zugehörigen Genauigkeitswert enthalten. Jedes Speicherwort ist durch eine 12-Bit-Zahl ,adressierbar. Diese wird gebildet durch Aneinanderkettung des im QTR-Register 30 gespeicherten Wertes, der die Zahl der verarbeiteten Ablage enthält, und des im Kellerzeigerregister SPR 32 gespeicherten Wertes, der auf die Wortstelle in einer gegebenen Ablage, auf die zugegriffen werden soll, "zeigt". Der im QTR-Register 30 gespeicherte Wert stellt die sechs höherwertigen Bits dar, · der Wert aus dem Kellerzeigerregister SPR 32 stellt die sechs niedrigwertigen Bits dar«. Die Ablagespeicher-Datenwerte und die zugehörigen Genauigkeitswerte werden durch den Mikroprozessor 10 über den Datenbus 31 vor der Operation des Ablagebehandlers geladen, ..
QTLP? Der QTLF-Speicher 22 ist ein herkömmlicher 1K χ 16 Bit-Speicher, vorzugsweise handelt es sich um vier Elemente Ur» 2114 (RM) und 3edes Speicherwort in QTLi1 enthält die Ablageadressen, die die oberen und unteren Ablagen definieren, wobei letztere wiederum ein vollständiges PeId in CMEM 20 de-' finieren. Das 13-Bit-Wort-Pormat von QTLF 22 ist in Fig. 4(b) dargestellt» Bit 12 enthält das Flag COKT, welches durch den Mikroprozessor 10 in allen Einträgen von QTLF 22 auf "1" gesetzt wird, mit Ausnahme des letzten, welches auf "0" gesetzt wird, um den End-Eintrag anzuzeigen. Die Bits 11 bis 6 enthalten MAX, die Adresse der ersten Ablage im CMBM 20-Feld, und die Bits 5 bis Ö enthalten MIU, die Adresse der letzten Ablage in dem Feld. Der Speicher QTLF 22 enthält 64 Speicherworte, dies ist die größtmögliche Anzahl von Feldern, die. im CMEM-Speicher 20 gespeichert werden kann.
Berlin, den 6. ir«, 1979 GZ 55 470 13
Der Wert von MAX wird in das QTR-Register 30 übertragen,Und der Wert von MIlT wird in das MIl-Regieter 34 durch den Ablagebehandler 16 übertragen. Der Wert im QTR-Register 30 wird verwendet und dann dekrementiert, bis der Wert im QTR-Register 30 dem Wert im MIN-Register 34 gleicht. Zu diesem Zeitpunkt sind alle oberen Ablagewerte abgetastet worden.* : Das MIU-Register 34 ist ein herkömmliches oktales D-Flip-Flop, vorzugsweise vom Typ 74LS377. Das LFMAR-Register 28, • bei dem es sich um einen herkömmlichen 4-Bit-Zähler handelt, besteht vorzugsweise aus zwei Bauelementen 25LS2569 und dient zum Adressieren des QTLI1-Speichers 22. Das LMAR-Register 28 wird dann mn 1 vermindert, um den Ablagebehandler 16 durch die Speicherworte im QTLF-Register 22 und somit durch die Felder im CMEM-Speicher/20 fortzuschalten*
SPMs Der Stapelzeigerspeicher SPM 24 ist als herkömmlicher 2Kx 16 Bit-RAM ausgebildet, vorzugsweise aus zwei Bauelement eh Hr e 2114-2, wobei jedes Speicherwort, adressiert
«» . . . ,
durch QTR-Register 30 auf einen oder mehrere nächste Daten-. vierte in einer CMEM-Speicher~2O-Ablage zeigt, welche durch den Ablagebehandler 16 zu verarbeiten sind*.
PMEM: Der Fachspeicher PMEM 26 ist als herkömmlicher 2Kx 16 Bit-RAM ausgebildet, vorzugsweise besteht er aus vier Bauelementen Ur, 2114, und er enthält das entsprechende Fach für 3ede der 64 Ablagen im CMEM-Speicher 20. Das 15-Bit umfassende Wortformat des PMEM-Speichers 26 ist in Fig. 4(c) dargestellt« Bit 14 des Wortes enthält das Flag "Fach leer" (pocket empty), (PE), welches dem Unscharfegenerator 18 anzeigt, ob in dem Fach der verarbeiteten Ablage ein Wert vorliegt. Ist der Wert in der Bitstelle 14 "1", so ist das Fach
Berlin, den 6β 11. 1979 GZ 55 470 13
leer. Ist andererseits das Bit eine "0", liegt in dem Fach, ein Wert vor. Die Bits 13.bis 7 enthalten den Fach-Datenwert, die Bits 6 bis O enthalten den Genauigkeitswert, welcher dem Datenwert in den BitsM.3 bis 7 entspricht«
Im folgenden soll im einzelnen der Ablagebehandler erläutert : werden«, ' ' : ' ' ~
Die grundsiätzliche Punktion des Ablagebehandlers besteht darin, die Ablagen in einer sequentiellen Reihenfolge zu leeren und den Da^emv ert des oberen Ablagefachs und die - zugehörige Genauigkeit, den entsprechenden Fachdatenwert und'die zugehörige Genauigkeit und einen am meisten positiven Bezugsdatenwert an den Unschärfegenerator für jede Iteration der Ablageverarbeitung zu liefern. Darüber hinaus liefert der Ablagebehandler Operations-Steuerflag-Signale an den Unschärfegenerator.
Nachstehend sind die einzelnen Bauelemente erläutert« '
SPR: Das Stapelzeigerregister SPR 32 ist ein herkömmliches 8-Bit-Zählregister, vorzugsweise vom Typ Nr, 25LS2569. Der Zähler enthält einen Wert, der auf den nächsten in einer Ablage zu verarbeitenden Datenwert "zeigt". Das Stapelzeigerregister SPR 32 wird über den SPM-Bus 25 aus dem SPM-Speicher 24 geladen«, Jeder Daten¥i?ert in einer CMM 20-Ablage wiederum wird identifiziert durch Dekrementieren des Stapelzeigerregisters SPR;32. Wenn der im Stapelzeigerregister SPR 32 enthaltene Wert für eine spezielle Ablage Null ist, sind.sämtliche Datenwerte;in dieser Ablage verarbeitete
QTR: Das QTR-Register 30 ist ein 8-Bit-Zählregister, Vorzugs-
Berlin, den 6. 11. 1979 GZ 55 470 13
weise handelt es sich um zwei Bauelemente 25LS2569.·. Dieses Zählregister enthält einen Wert, der auf die nächste zu verarbeitende Ablage zeigt. Das QTR-Register 30 wird über einen Datenbus 31 aus dem QTLF-Speicher 22 geladen/Jede Ablage in einem CMEM-20-Feld wird durch Dekremen tieren des Wertes im QTR-Register 30 identifiziert. Ist QTR gleich MIN, sind sämtliche Ablagen in einem speziellen CMEM-FeId 20 verarbeitet* Das QTR-Register 30 dient weiterhin als Adressregister für den Stapelzeigerspeicher SPM 24 und es enthält die höchstwertigen Bits jeder, CMEM-20-Adresse.
MIN: Das MIN-Register 34 ist ein oktales D-Flip-Flop-, vorzugsweise vom Typ 74LS377, welches· die Adresse einer Ablage im CMEM_Speicher 20 enthält, die eine untere Ablagegrenze eines CMEM-20-Feldes bedeutet· Der ¥/ert im QTR-Register 30 wird, wenn erdekrementiert ist, mit dem ¥/ert im MIN-Register 34 verglichen und Koinzidenz zeigt an, daß alle Ablagen in einem CMEM 20-FeId verarbeitet sind. Das MIN-Register 34 wird über den Datenbus 31 aus dem Speicher QTLF 22 geladen.
C0MP2i C0MP2 36 ist ein 8-Bit-Komparator, vorzugsweise ein Bauelement 25LS2521·. Dieses Bauelement liefert sodann ein Ausgangssignal, wenn die verglichenen Größen gleich sind. C0MP2 36 stellt fest, wenn die Register QTR 30 und MIN 34 gleich sind und zeigt somit an, daß alle Ablagen verarbeitet wurden. C0MP2 36 wird aus dem QTR-Register 30 über den MAR-Bus 37 sowie direkt aus dem MIN-Register 34 geladen.
XPOC, PE: Bei dem Bauelement XPOC, PE 40 handelt es sich um ein oktales D-Flip-Flop, vorzugsweise um zwei Bauelemente 74LS377. Das Bauelement enthält Fachdaten, die der gerade in
Berlin, den 6. 11. 1979 GZ 55 470 13
. . · . .. . . . . ·, - 38 - ;. . : . .-. ·
Bearbeitung befindlichen Ablage entsprechen. Das höchstwertige Bit von XPOG 40 ist das Flag "Fach leer" (PE)6 XPOC 40 ist das Register, das ^eden Fach-Datenwert, die entsprechende Genauigkeit und das PB-Flag, die für eine spezielle durch den Unschärfegenerator 18 verarbeitete Ablage benötigt werden, .an den Unschärfegenerator 18 lieferte XPOC 40 wird über den Daten-Bus 31 aus dem CMEM-Speieher 20 geladen*
ITOS: XTOSi 42 ist ein oktales -D-Flip-Flop, vorzugsweise handelt es sijsh um zwei Bauelemente 74LS377* XTOS 42 enthält ' den Datenwert sowie den zugehörigen Genauigkeitswert, der am oberen Ende der in Bearbeitung befindlichen Ablage vorliegt. XTOS 42 wird über den Datenbus 31 aus CMEM-Speicher 20 geladen, XTOS 42 liefert für jede spezielle Ablage Ablagedatenwerte und die zugehörige Genauigkeit an den Unschärfegenera.18, um dort für Berechnungen zur Verfügung.zu stehen*
EMQSi Das EMQS-Register 44 ist ein oktales D-Flip-Flop, vorzugsweise handelt es sich um zwei Bauelemente 74LS3774} die den Datenwertabschnitt eines CMEM 20-Datenwortes ohne die zugehörige Genauigkeit enthalten» Der Viert im EMQS-Register 44 wird dazu verwendet, den größten Datenwert an den oberen Enden der Ablagen herauszufindenβ Das EMQS-Register 44 wird über den Datenbus 31 aus dem CMEM-Speicher 20 geladen.
NEXTREF: Das KEXTREF-Regi'ster 46 ist ein oktales D-Flip-Flop und es besteht vorzugsweise aus zwei Bauelementen des Typs 741S374* Das Register enthält den größten Datenwert des. oberen Endes der Ablage, der soweit festgestellt wurde. Das lEXTREF-Register 46 wird mit einem Wert -64 initialisiert, der garantiert, daß beim ersteh Vergleich durch den Komparator (COMP 1) 48 im EMQS-Register 44 stets ein Wert ist, der
Berlin, den β. 11. 1979 GZ 55 470 13
größer ist als der Wert, der im NEXTREF-Register 46 vorliegt, Hierdurch wird sichergestellt, daß der erste obere Ablagewert, der verarbeitet wird, in das NEXTREF-Register 46 gebracht wird. Das NBXTRBP-Register 46 wird direkt durch einen nicht invertierenden, oktalen 3-Zustand-Pufferverstärker 48 initialisiert. Bei dem 3-Zustand-Pufferverstärker 48 handelt es sich vorzugsweise um ein Bauelement des Typs 74LS244. Die Initialisierung erfolgt über den NEXTREF-Bus 49 mit einem Anfangswert von "-64". Der V/ert "-64" wird aus dem 3-Zustand-Pufferverstärker 48 abgeleitet, dessen Eingang permanent so verdrahtet ist, daß er ein Ausgangssignal von -64 erzeugt. Das NEXTREF-Register 46 wird direkt durch das EMQS-Register 44 nur dann geladen} wenn der Wert im EMQS-Register 44 denjenigen Wert übersteigt, der im UBXTREi'- Regist er 46 vorliegt«,
COMPIs C0MP1 ist ein 8-Bit-Komparator, vorzugsweise handelt es sich um zwei Bauelemente des Typs 74LS85. Der Komparator vergleicht den Wert im EMQS-Register 44 und im IfEXTREF-Register 46 und veranlaßt, daß der Wert im EMQS-Register 44 ' nach dem NEXTREF-Register 46 geladen wird, wenn der Wert im EMQS-Register 44 den Wert des NEXTREP-Registers 46 übersteigt«
XREP: Das XREP-Register 50 ist ein oktales D-Plip-Flop, vorzugsweise ein Bauelement des Typs 74LS374.» Das Register enthält den an den oberen Enden der Ablagen vorhandenen, höchsten positiven Wert, Das XREF-Register 50 Wird aus dem NBXTREP-Register 46 geladen, wenn die Abtastung aller Ablagen vollständig ist. Das XREF-Register 50 liefert an den'Unschärfegenerator den höchsten positiven Wert, der bei den Berechnungen in dem Unscharfegenerator verwendet wird„
•Berlin,, den 6β 11. GZ 55 470 13
Im folgenden soll der Ablagebehandler näher erläutert wer-' den. ;, .' · ;· .·'.'· ..-. . . ' ' = .
Zuerst sollen die Flags beschrieben werden. Sämtliche Flags werden am Ausgang eines dualen D-Flip-Flops erzeugt, bei dem es sich vorzugsweise um ein Bauelement des Typs 74LS374A handelt*
SE: Das SE-Flag, das Ausgangssignal des Flip-Flops (f/f) das durch den Mikroprozessor 21 auf "1" 'gesetzt wird, wenn der Wert.in SPR = 0 ist, dient zum Anzeigen, daß sämtliche Datenwerte in einer Ablage verarbeitet wurden.
EQ: Das EQ-Flag, der Ausgang des Flip-Flops 112, wird durch den Mikroprozessor 21 auf "1:! gesetzt, wenn ein Fachwert und der entsprechende Wert des oberen Endes der Ablage gleich* sind« : ' -... ;.·. .
QTRMIN:' Dies ist der Ausgang des Flip-Flops 114; er wird durch den Mikroprozessor 21 auf "1" gesetzt, wenn der Wert im QTR-Register 30 gleich ist dem Wert im MIN-Register 34, um somit anzuzeigen,, daß der Ablagebehandler eine Abtastung der Ablagen in einem CMEM 20-Fe'ld abgeschlossen hat«,
GHRDYi Dies ist der Ausgang des Flip-Flops 116; er wird durch den Mikroprozessor 21 auf "1" gesetzt, um anzuzeigen, daß die Daten in XPOC 40, XTOS 42 und XREF 50 für den Transfer zum und für die Bearbeitung durch den Unscharfegenerator 18 bereitstehen*
CHDONE: Dies ist der Ausgang des Flip-Flops 118; er Wird
• Berlin, den 6. 11. 1979
GZ 55 470 13
. .. -:. . ' - 41 - -'. .: ; ..;'. ; :.· .·
durch den Mikroprozessor 21 auf "1" gesetzt, um demUnschärfegenerator 18 anzuzeigen, daß der Ablagebehandler 16 die Verarbeitung eines CMEM 20-Feldes abgeschlossen hat.
COKT: Dies ist der Ausgang des Flip-Flops 120, der ebenfalls das Bit 12 des QTLF-Datenwortes ist. Der Ausgang wird durch den Mikroprozessor 10 auf "1" gesetzt, wenn im CMEM-Speicher 20 mehrere Datenfelder zu verarbeiten sind, und umgekehrt verbleiben keine -weiteren Felder für die Verarbeitung, wenn CONT durch den Mikroprozessor 10 auf "0" gelöscht wird,
CSMPTY: Dies ist der Ausgang des Flip-Flops 1-2.2, der durch den Mikroprozessor 21 auf "1" gesetzt wird, wenn alle Einträge in den CMEM-Speicher 20 verarbeitet sind. CEMPTY versetzt den Ablagebehandler 16 in einen Zustand "unbesetzt" bzw. in einen Ruhezustand, bis CMM 20 mit einem neuen Satz von Datenfeldern durch den Mikroprozessor 10 geladen ist. Dann Löscht der Mikroprozessor 10 CEMPTY auf "0", um anzuzeigen, daß der Ablagebehandler 16 die Operation beginnen soll»
Im folgenden soll der Unschärfegenerator 18 näher besprochen werden. .
Der Unschärfegenerator 18 empfängt Daten vom Ablagebehandler 16 für jedes zu verarbeitende Datenfeld* Derartige Daten bestehen aus dem Datenwert des oberen Endes einer Ablage und dem zugehörigen Genauigkeitswert, dem Fach-Datenwert und dem diesem zugehörigen Genauigkeitswert sowie dem höchsten positiven Bezugsdatenwert für ^ede verarbeitete Ablage« Der Unschärfegenerator bildet die absoluten Differenzwerte zwischen dem Bezugsdatenwert einerseits und dem Datenwert des
Berlin, den 6. 11. 1979 GZ 55 470 13
oberen Endes einer Ablage sowie dem Fachdatenwert für jede-Ablage andererseits. Dann findet der Generator die minimale Summe dieser absoluten Differenzwerte für sämtliche Ablagen heraus. Zusätzlich summiert der Unschärfegenerator die Genauigkeitswertes die denjenigen Datenwerten entsprechen, die zum Bilden der absoluten Differenzierte verwendet werden.
Der Ablagebehandler enthält folgende Bauelemente?
P0C1 : Das P001-Register 52 ist ein 8 Bit umfassendes oktales D-Flip-Flop-Register, vorzugsweise handelt es sich um ein Bauelement des Typs 74LS374. Das Register 52 enthält den zu dem Datenwert im Register P0C2 54 zugehörigen Genauigkeitswert. Das Register P0C1 52 wird aus dem Register XPOC 40 geladen«,
P0C2: Das P0C2-Register 54 ist ein 8 Bit umfassendes oktales D-Flip-Flop-Register, vorzugsweise handelt es sich um ein Bauelement des Typs 74LS374e Das Register enthält den Fach-Datenwert der verarbeiteten Ablage« Das Register P0C2 54 wird direkt aus XPOC 4P.geladen. .
TOSIi Das T0S1-Register 56 ist ein 8 Bit aufweisendes oktales D_Flip~Flop-Register, vorzugsweise vom Typ.74LS374» Das Register enthält den zu dem Datenwert im T0S2-Register 58 ge~ hörigen Genauigkeitswert,-Das T0S1-Register 56 wird direkt aus dem XTOS-Register 42 geladen,
T0S2: Das T0S2~Register 58 ist ein 8 Bit aufweisendes oktales D- Flip-Flop-Regist er, vorzugsweise vom Typ 74LS374<> Das TÖS2-Register 58 enthält den zum Datenwert des oberen Endes einer in Bearbeitung befindlichen Ablage. DasvTÖS2~Register
Berlin, den 6. 11. 1979. GZ 55 470 13
58 wird direkt aus dem XTOS-Register 42 geladen. .
REP: Das REP-Register 60 ist ein oktales D-Plip-Flop-Register, vorzugsweise vom Typ 741S377. Das RSP-Register 60 enthält den höchsten positiven Bezugsdatenwert des oberen Endes einer Ablage für das laufende obere Ende der Ablageabtastung. Das RBP-Register 60 wird direkt aus dem XREP-Register 50 ge- · laden.
PSH: Das PSN-Register 62 ist ein oktales D-Plip-Plop-Register, vorzugsweise vom Typ 74LS377* Das PSN-Register 62 enthält den höchsten positiven Bezugsdatenwert des oberen Endes einer Ablage, welcher zu der minimalen Unscharfesumme gehört. Das PSN-Register 62 wird direkt aus dem REP-Register 60 geladen..
PW: Das PW-Register 64 ist ein oktales D-Plip-Plop-Register, vorzugsweise vom Typ 74LS374. Das PW-Register 64 enthält einen Grenzwert, der die maximal zulässige Differenz zwischen dem Bezugsdatenwert im REP-Register 60 und den Werten im P0C2-Register 54 und dem T0S2-Register 58 auf einen vorbestimmten Wert beschränkt« · Das PW-Register 64 wird direkt aus dem Mikroprozessor 10 geladen, ·
QS: Das QS-Register 66 ist ein oktales D-Plip-Plop-Register, vorzugsweise vom Typ 74LS377. Das QS-Register 66 enthält einen Yiert, der die Anzahl von Datenwerten in eine Anfrage darstellt» Das Register wird direkt durch den Mikroprozessor 10 geladen und bei der Unschärfeberechnung immer dann verwendet, wenn die Differenz; zwischen dem Wert im REP-Register" 60 und dem P0C2-Register 54 sowie dem T0S2-Register 53 den Wert im PW-Register 64 überschreitet.
. Berlin, den 6. IU 1979 . . GZ 55 470 13
·.- · - . '. . - 44..-.
MULTIPLEXER (MUX) 68: Der Multiplexer (MUX) 68 ist ein H-zu-7-Multiplexer, vorzugsweise handelt es sich um zwei Bauelemente vom Typ 74LS157. Der Multiplexer 68 überträgt in Abhängigkeit von Bedingungen den Ausgang entweder?des P0C1-Registers 52 oder des T0S1-Registers 56 zum Eingang eines Zwischenspeicherregisters 7Oe Der von Bedingungen abhängige Transfer wird durch den Mikroprozessor 51 bestimmt.
E1: Das ETi-Zwischenspeicherregister 70 ist ein oktales D-Plip-Plop-'iiegister, vorzugsweise handelt es sich um ein Bauelement des Typs 74LS374«. Das Zwischenspeicherregister 70 stellt einen Zwischenspeicher für den Inhalt des P0C1-Registers 52 oder des T0S1-Registers 56 dare'
MULTIPLEXER (MUX) 72: Der Muliplexer 72 ist ein 28-zu-7~ Multiplexer, vorzugsweise handelt es sich um vier Bauelemente des Typs 74LS253« Der Multiplexer überträgt in Abhängigkeit von Bedingungen den Inhalt des QS-Registers 66, den Inhalt eines Zwischenspeicherregisters (DI)--74» den Ausgang einer arithmetisch-logischen Einheit (ALU1) 76 und den Ausgang einer arithmetisch-logischen Einheit (ALU2) 78 in ein Zwischenspeicherregister (DR) 80. Der unter Bedingungen' stattfindende Transfer"-vtfird durch den Mikroprozessor 51 bestimmte : . : .- .
DR: Das DR-Register 80 ist ein oktales D-Plip-Flop-Register, vorzugsweise vom Typ 74LS374« Das Register 80 dient als Zwischenspeicherregister, welches die minimale Differenzberechnung zwischen dem Wert des REP~Registers 60 und den Werten des P0C2-Registers 54 und des T0S2-Registers 58 aufnimmt« Das DR-Register 80 wird direkt entweder vom Ausgang des Multiplexers (MUX) 72 oder vom Ausgang eines Zwischenspei-
. Berlin, den β. 11. 1379
- GZ 55 470 13
. " - 45 - .. -.' :"' .·. - .., '
χ
cher-Registers D2 82 geladen«
MUITIPLEXER .(MUX) 84: Der Multiplexer 84 ist ein 19-zu-12 Multiplexer, vorzugsweise handelt es sich um ein Bauelement des Typs 74IS157. Der Multiplexer 84 überträgt in Abhängigkeit von Bedingungen den Ausgang des REF-Registers 60 oder den Ausgang eines Differenzsummen-Kandidaten-Registers 90 (SDC) zu der ALU1 76. Der Transfer wird durch den Mikroprozessor 51 festgelegt.
MULTIPLEXER''-(MUt) 86: Der Multiplexer (MUX) 86 ist ein 19-zu- ^-Multiplexer, vorzugsweise vom Typ 74LS157* Der Multiplexer 86 überträgt in Abhängigkeit von Bedingungen den Ausgang des RBF-Registers 50 oder den Ausgang eines Genauigkeitssummen-Kandidaten (SBC) Registers 92 zu der ALU2 78. Der Transfer wird durch den Mikroprozessor 51 festgelegt. ·
MULTIPLEXER (MTJX) 88 ί Der Multiplexer 88 ist ein 19-zu-12-Multiplexer, vorzugsweise vom Typ 74LS157« Dieser Multiplexer überträgt bedingt den Ausgang des SBC-Registers 92, den Ausgang des D1-Registers 74 oder den Ausgang des DR-Registers 80 zu einem Eingang eines Komparators C0MP2 94. Der Transfer wird durch den Mikroprozessor 51 bestimmt.
C0MP1: Der Komparator (C0MP1) 96 ist ein 12 Bit aufweisender Komparator, vorzugsweise handelt .es sich um drei Bauelemente des Typs 74LS85« Der Komparator vergleicht den Ausgang des P0C1-Registers 52 mit dem Ausgang des T0S1-Registers 56 sowie den Ausgang des SDC-Registers 90 mit dem Ausgang eines Differens-Summen-Gewinner™(SDW)-Registers 100. Der Ausgang 97 des Vergleichers C0MP1 96 geht zum Mikroprozessor 51.
Berlin, den 6V 11. 1979 GZ 55 470 13
C0MP2: Der Komparator (C0MP2) 94 ist ein 12 Bit umfassender Vergleicher, vorzugsweise handelt es sich um drei Bauelemente des Typs 74LSS5· Der Komparator 94 vergleicht den Ausgang des Di-Registers 74 mit dem Ausgang des D2-Registers 82, den Ausgang des DR-Registern 80 mit dem Ausgang des PV/-Registers 64 sowie den Ausgang des SBC-Registers 92 mit dem Ausgang . eines Genauigkeitssummen-Gewinner(SBW)-Registers 102,
ALU1 : Die arithmetisch-logische Einheit V-(ALUI) 76 besteht aus zwei herkömmlichen ALU-Funktionsgeneratoren, vorzugsweise handelt es sich um einen Vier-Bit-Addierer des Typs 74LS381, ein Bauelement des Typs 25LS2517 und einen Lookahead-Übertragungsgenerator (vorausschauend arbeitender Übertragsgenerator) des Typs 74LS182e Die Einheit ALU1 76 bildet den Absolutwert zwischen dem Ausgang des P0C2-Registers 54 · und dem Ausgang des REF-Registers 60« Zusätzlich summiert 'die Einheit ALU1-76 den Ausgang des SDÖ-Registers 90 auf den Ausgang des DR-Registers 80e
ALU2: Die arithmetisch-logische Einheit 2 (ALU2) 78 enthält einen herkömmlichen ALU-PunktiÖnsgenerator, einen 4-Bit~Addierer sowie einen vorausschauend arbeitenden Übertraggenerator identisch wie bei der obenerläuterten Einheit ALU1 76. Die Einheit ALU2 78 bildet den Absolutwert zwischen dem Ausgang des T0S2-Registers 58 und dem Ausgang des REP-Registers 60. Zusätzlich summiert die Einheit ALU2 78 den Ausgang des E1-Registers 70 auf den Ausgang des SBO-Registers 92β
Dt: Das Di-Register 74 ist ein oktales D-Plip-Plop-Register, vorzugsweise vom Typ 74LS374* Das Register 74 dient als Zwischenspeicher für den Ausgang der Einheit ALU1 76, welcher die Differenz darstellt zwischen dem Wert im RSF-Register 60
Berlin, den 6. 11, 1979 GZ 55 470 13
und dem Wert im P0C2-Register 54* '
D2: Das D2-Register 82 ist ein oktales D-Flip-Flop-Register, vorzugsweise vom Typ 74LS374. Das Register 82 dient als Zwischenspeicher für das Ausgangssignal der Einheit ALU2 78, welches die Differenz darstellt zwischen dem- Wert im REF-Register $0 und dem Wert im T0S2-Register 58.
i · . -.'
SDOs Das Dkfferenz3ummen-Kandidaten(SDC)-Register 90 ist ein oktales D-Flip-Flop-Register, vorzugsweise vom Typ 74LS374e Das Register 90 enthält die akkumulierte Summe der Absolutwerte der Differenzen, die zwischen dem Ausgang des REF-Registers 60 und den Ausgängen des P0C2-Registers 54 und des T0S2~Registers 58 für eine spezielle Abtastung des oberen Endes der Ablagen gefunden vmrden. Das Register SDC 90 wird direkt durch die Einheit ALU1 76 geladen.
SBC: Das Genauigkeitssummen-Kandidaten(SBC)-Register 92 ist ein oktales D-Flip-Flop-Register, vorzugsweise vom Typ 74LS377. Das Register 92 enthält die akkumulierte Summe derjenigen Genauigkeitswerte, die zu der Summe im Register SDC 90 für eine gegebene Ablageabtastung gehören. Das SDC-Register 92 wird direkt^durch die Einheit ALU2 78 geladen.
SDW: Das Differenzsummen-Gewinner(SDW)* Register 100 ist ein oktales-D-Flip-Flop-Register, vorzugsweise vom Typ 74LS374. Das Register 100 enthält die minimale Differenzsumme, die durch den Datenprozessor 12 bestimmt wurde, nachdem alle Verarbeitungsschritte abgeschlossen sind. Das SDW-Register 100 wird direkt durch dasSSpC-Register 90 geladen.
Berlin, den 6. 11. 1979 GZ 55 470 13
SBWj Das Genauigkeitssuinmen-Gewinner( SBW) -Register 102 ist ein oktales D-Flip-Flop-Register, vorzugsweise vom Typ . 74-LS374. 'Das Register 102 enthält die größte Genauigkeitssumme, die zu dem imSDW-Register 100 gespeicherten Wert gehört« Das SBW-Register 102 wird direkt durch das SBC-Register 92 geladen. .
Sämtliche· Flags .werden'am Ausgang von dualen D-Flip~Flops erzeugt, vorzugsweise handelt es sich hierbei um Bauelemente des Typs 74LS374*
LOOP? Das LOOP-Flag ist der Ausgang des Flip-Flops (f/f) 122 und wird auf das Komplement von 'QTRMIlT eingestellt, wobei der· Wert durch den Ablagebehan&ler 16 geliefert wird» Wird das LOOP-Flag gelöscht, ist eine Abtastung des oberen Endes der Ablage abgeschlossen. .- _ - .
DGDONE: Dies ist der Ausgang des Flip-Flops 124, der auf den Wert des CHDOIE-Flags durch den Mikroprozessor 21 im Ablagebehandler 16 gesetzt wird, DGDOIJE-Flag wird durch den Mikroprozessor 10 gelöscht, um anzuzeigen, daß der Mikroprozessor 10 die Ausgangsdaten vom Unscharf egenerator 18 empfangen hat,
Hun soll im einzelnen der Betriebsablaüf des Ablagebehandlers und des Unscharfegeneratörs erläutert werden«
Bevor auf Einzelheiten eingegangen wird, soll kurz ein allgemeiner Überblick gegeb en werden« /
Der Unscharfegenerator 18 und der Ablagebehandler 16 arbeiten sowohl seriell .als 'auch parallel, um ihrs Verarbeitungsaufgaben (tasks) durchzuführen. Insbesondere holt der Ablage-
Berlin, den 6. 11. 1979 GZ 55 470 13 ·
.- 49
behandler 16 Sätze von Datenwerten aus dem Ablagespeicher CMM 20 in einer weiter unten noch zu erläuternden Weise und gibt die Datenwerte an den. Unschärfegenerator 18 zwecks Berechnung der Unscharfe- und Genauigkeits~(Auswahl)-Werte„ Während der Ablagebehandler 16 nachfolgende Sätze von Datenwerten aus dem Speicher CMEM 20 holt, verarbeitet der Unschärfegenerator 18 die im gerade zuvor durch den Ablagebehandler 1 6 zugeführten Datenwerte. Die Operation des Ablagebehandiers 16 wird ausgesetzt, während der Mikroprozessor 10 den Ablägespeicher CMBM 20 mit zu verarbeitenden Daten lädt« Wenn die Ablage-Ladeoperation abgeschlossen ist, signalisiert der Mikroprozessor 10 dem Ablagebehandler 16, mit dem Ablauf zu beginnen. Hat der Ablagebehandler 16 den letzten im Speicher CMEM 20 gespeicherten Datenwert verarbeitet, wird er durch den Mikroprozessor 10 in einem Ruhezustand gehalten, bis ein neues Datenfeld durch den Mikroprozessor 10 in den Speicher CMM 20 übertragen wird.
Der Arbeitsablauf des Unschärfegenerators 18 wird ausgesetzt, bis der Mikroprozessor 10 das Flag DGDONE löscht und somit anzeigt, daß der Mikroprozessor 10 die zuletzt gebildeten Unscharfe- und Genauigkeitswerte vom Unschärfegenerator 18. empfangen hat* Zu diesem Zeitpunkt löscht der Unschärfegenerator 18 das Flag CHDOIE, setzt das Plag PASST, initialisiert das SDC-Register 90 und das SBC-Register 92 mit Null und geht dann in einen Ruhezustand; über, bis der Ablagebehandler 16 anzeigt, daß ein SaIz4VOn Datenwerten für den Unschärfegenerator 18 zur.Verarbeitung, .verfügbar ist. Der Unschärfegenerator 18 fährt mit dem Verarbeiten der Datensätze, die durch den Ablagebehandler 16 zugeführt wurden, fort, bis sämtliche Datenwerte 'im Speicher CMM 20 durch den Ablagebe-
Berlin, den β; 11. 1979 GZ 55 470 1.3
: .. · ' ' ·.. ./ ..- «50 - .; · .-.. ' . ·. . :
handler 16 verarbeitet sind. Zu diesem Zeitpunkt wird das Ausgangssignal des Unscharfegenerators 18 für den Mikroprozessor 10 verfügbar gemacht und in einem Ruhezustand gehalten, bis der Mikroprozessor.10 anzeigt, daß sämtliche durch den Unscharfegenerator 18 gelieferten Daten'empfangen sind,
Hün soll die Arbeitsweise des Ablagebehandlers im einzelnen erläutert werden,
,' : ' ' " ' .- " v '
Tabelle 4 zeigt eine Programmauflistung logischer Gleichun-· gen, welche den Operationsablauf der Ablagespeicher- und- Ablagebehandler-Moduln beschreiben» Die Fig9 5a bis'5c zeigen die. Plußdiagramme, welche die Ablauffolge für jeden in Tabelle 4 beschriebenen Zustand veranschaulichen. Auf die genannte Tabelle und die genannten Figuren wird bei der folgenden Diskussion Bezug genommen,·
HSiSz^iSzZSZäEkSi^^SJ. Wird beim Einschalten des Systems zum ersten Mal Leistung zugeführt, wird eine Uetz-Ein-Voreinstell-Leitung durch den Mikroprozessor 10 auf niedrigen Pegel gebracht, wodurch der Ablagebehandler in den Zustand "0" (Wartezustand)", gebracht wird,- Der Mikroprozessor 10 hält die Hetz-Ein-Voreinstell-Leitung auf niedrigem Pegel, während er den Ablagespeicher CMEM 20 mit den ersten zu verarbeitenden Datenwertefeidern lädt. Ist diese Aufgabe beendet» zieht der Mikroprozessor 10 die Uetz-Ein-Voreinstell-Leitung hoch, wodurch der Ablagebehandler 16 die Verarbeitung aufnehmen kann*
!formale Verarbeitung: Der Mikroprozessor 21 implementiert eine Reihe von Steuerungen des Ablage-Behandlers 16, die durch einen vorprogrammierten Efur-Le se -Speicher (ROM) be-
Berlin, den 6. 11. 1979 GZ 55 470 13
reitgestellt werden. Hierdurch werden die Betriebszustände " des Abiagebehandlers 16 erreicht. Der Mikroprozessor 21 verbleibt im Ruhezustand, solange das PLAG CEMPTY auf "1" eingestellt ist» Der Mikroprozessor 10 löscht das Plag CEMPTY auf "0", wenn der Feld-Transfer vom Mikroprozessor 10 zum . Ablagespeicher CMEM 20 abgeschlossen ist.Wenn das Plag CEMPTY gelöscht ist, greift der Mikroprozessor 21 auf das QTLP 22-Datenwort zu, welches durch den Wert in; dem Adress-Register LPJVIAR 28 (Zustand 1), adressiert wird, indem das Feld COHT in das Plag COlT gespeichert wird, das Feld MAX in das QTR-Register 30 und das PeId MIN in das MM-Register 34 gespeichert wird« Diese Folge von Operationen spezifiziert das spezielle Datenfeld im Speicher CMEM 20, welches der Ablagebehandler 16 verarbeiten soll«
Die erste, durch den Mikroprozessor 21 zu bearbeitende Aufgabe besteht darin, den höchsten positiven Datenwert in den oberen Enden der Ablagen festzustellen« Hierzu initialisiert der Mikroprozessor 21 das KEXTREP-Register 46 mit'einem Wert -64. Hierdurchwird sichergestellt, daß der erste Datenwert im oberen Ende der Ablage größer ist als der Wert im NEXTREF-Register, und auf diese Weise wird dieser größere Wert im UEXTREP-Register 46 für anschließende Vergleichsvorgänge mit den' anderen Datenwerten am oberen Ende der Ablage gespeichert. Der Mikroprozessor 21 bewirkt als nächstes die Steuerungen, die in den Zuständen 2 bis 5 ausgeführt werden müssen, für jede Ablage des Datenwertfeldes in dem Speicher CMEM 20, die verarbeitet wird. Der Mikroprozessor 21 .greift auf das SPM-24-Datenwort zu, welches durch den Wert im QTR-Register 30 adressiert wird und speichert den Datenwert im Kellerzeigerregister SPR 32 (Zustand Z) « Der Datenwert in dem QTR-ten Datenwort; vom Kellerzeigerspeicher SPM 24 ist der
Berlin, den S9 11. 1979 GZ 55 470 13
Adresszeiger auf die QTR-te Ablage des Speichers CMBM -20, ' die auf den SPR-ten Ablage-Datenwert, erhöht um 1, zeigt, auf welchen zugegriffen werden soll. Der Ablagedatenwert, auf den zugegriffen werden soll, ist definiert als der Datenwert des oberen Endes der Ablage 9 Als nächstes werden die Werte im QTR-Register 30 und im MIN-Register 34 im Vergleicher C0MP2 48 (Zustand 3) für anschließendes Testen im Zustand 5 gespeichert«, Der Zweck dieses Vergleichs besteht darin,' festzustellen,"' wann der Wert Im QTR-Register 30 (in vermindertem Zustand) dem Wert im ΜΙίΓ-Re gist er 34 gleicht, was bedeutet, daß sämtliche Werte am oberen Ende der Ablagen aufgegriffen wurdeno Dann dekrementiert der Mikroprozessor 21 den Wert im Stapelzeigerregister SPR 32 um 1 (Zustand 3)? so daß dieser Wert nun auf den QTR~ten Datenwert am oberen Ende der Ablage zeigt» Der Wert in den Bits 13—7 des Datenwortes im CMEM-Speicher 20, welches durch die zusammengeketteten Werte aus dem QTR-Register 30 und dem Stapelzeigerregister SPR 32 adressiert wird, wird im EMQS-Register 44 gespeichert (Zustand 4) < Die Werte im QTR-Register 30 (die sechs höchstwertigen Bits der CIiM 20-Adresse) lokalisiert die verarbeitete Ablage und der Wert im Stapelzeigerregister SPR 32 (die sechs niedrigwertigen Bits der -CMEMr-Adresse), lokalisiert den speziellen Ablageende-Datenwert« Der Wert im EMQS-Register 44 ist nun der Ablageende-Datenwert, der mit dem Wert im NEXTREF-Register 46 zu vergleichen ist« Das höchstwertige Bit (Bit 14) des B'iEM-Speicher-26-Datenwortes, welches durch den Viert im QTR-Register 30 adressiert wird, wird nun auf 1 (Zustand 4) gesetzt» Das Bit 14 dient als .-.-"Fach leer"; (PE)-Flag. PE= 1 bedeutet, daß das entsprechende Each keinen ,Datenwert enthält; PE=O bedeutet/'daß das entsprechende Fach einen Datenwert enthält^: Der Wert im EMQS-
. · -Berlin, den 6. 11. 1979
GZ 55 470 13
' " ' ' — 53 ·*> / "'
Register 44 und der Wert im UEXTREP-Register 46 werden in den Vergleicher COMF1 48 (Zustand 5) gebracht. Der größte dieser beiden Werte wird, wie durch den Ausgang des Vergleichers COMF1 48 angezeigt wird, im NEXTREF-Register 46 (Zustand 5) gespeichert. Als nächstes prüft der Mikroprozessor 21 die Bedingung des Flags QTRIvIIN (Zustand 5). Die Bedingung oder der Zustand-von QTMIU wird bestimmt durch die Ergebnisse des Vergleichs, der im.Zustand 3 zwischen dem Wert im QTR-Register 30 und dem Wert im MIN-Register 34 durchgeführt wird» Zeigt COMP«? Gleichheit an, wird QTRMII auf "1" gesetzt; sonst wird QTRMIN. auf > "0" eingestellt. Wenn der Mikroprozessor 21 feststellt, daß QTRMIN.= 0 ist, de h. daß der Wert im QTR^Register 30 immer noch größer ist als der Wert im MIN-Register 34$ was bedeutet, daß auf weitere Ablageende-Werte zuzugreifen ist, wird der Wert im QTR-Register 30 um T vermindert, so daß er auf die nächste zu verarbeitende Ablage zeigt. Die Steuerung des Mikroprozessors 21 kehrt zum Zustand 2 zurück, um auf den nächsten AbI age ende-V/er t 'zuzugreifen* · Stellt der Mikroprozessor 21 fest, daß QTMIN=I (alle Ablagen sind verarbeitet worden), wird der Wert im NEXTREP-Register 46 in das XREF-Register 50 gespeichert (Zustand 6). Der Wert im XREP-Register 50 ist der höchste positive Ablageende-Werts der angetroffen wird, da dieser Wert mit anderen Ablageenden-Werten im Vergleicher C0MP1 48 verglichen wurde. Hierdurch wird die Verarbeitung des Mikroprozessors 21 zum Erfassen des ersten höchsten positiven Beztigswertes beendet. Dann wird ein Wert -64 in das NEXTREP-Register 46 (Zustand 6) gespeichert; dies ist der erste Schritt beim Auffinden anschließender Ablageende-Y/erte, die als höchster positiver Bezugswert dienen. Man beachte, daß jeder verarbeitete Datenwert im CMEM;20-Peld in absteigender Reihenfolge als einer der höchsten positiven Bezugswerte dient«
. Berlin, den 6* 11. 1979 GZ 55 .470 13
Der Mikroprozessor 21 greift auf das QTLF 22-Datenwort zu, das durch den Wert im Adressregister LMAR 28 adressiert wird, und speichert das Feld MAX im Register QTR 30 (Zustand S)e Dies dient dazu« aufs neue die erste Ablage des CMEM 20-Datenfeldes auszuwählen, damit der Mikroprozessor 21 mit der Ablageverarbeitung beginnen kann. Dann greift der Mikroprozessor 21 auf das durch den-Wert im QTR-Register 30 adressierte Datenwort im Stapelzeigerspeicher SPM 24 zu und speichert die Ijiaten in das Stapelzeigerregister SPR 32 (Zustand
T ' ?).· Das SP5(-Regis.ter ' 3.2 wird dann durch den Mikroprozessor 21 daraufhin geprüft, ob der nunmehr darin enthaltene Wert O ist (Zustand 9)„ Ist dies der Pail, so bedeutet däss daß sämtliche Datenwerte in der QTR™ten Ablage im CMEM-Spe.icher 20 verarbeitet sind und daß die Ablage nun."leer" ist; der Mikroprozessor 21 setzt das Plag SE auf "1", um diese Bedingung anzuzeigen. Anderenfalls setzt der Mikroprozessor 21. das Plag'SB auf "0if (Zustand 9) und die Mikroprozessor-Steuerung geht in den Zustand 10 über. Der Wert im Stapelzeigerregister SPR wird um 1 vermindert (Zustand 9)» so daß der Wert auf den oberen Ablagewert in der QTR-ten Ablage zeigt. Das CMEM 20-Datenwort, das durch die konkatinierten Werte im QTR-Register und SPR adressiert wird, wird ausgelesen (Zustand 10)j und
a) die Werte in den Bits 13 bis 7 werden im EQMS-Register 44,
b) die Vierte in den Bits Ϊ3 bis 0 werden im XTOS-Register 42 gespeichert* ν . ·
Das durch den Wert im QTR-Register 30 adressierte Datenwort im Speicher PMSM 26 wird ausgelesen und die Werte in den Bits 13-0 werden im XPOC-Register 40 gespeichert (Zustand 11), und der Wert im Bit 14 wird nach SE gespeichert (Zustand H)5
Berlin, den 6. 11. 1979 GZ 55 470 13
was den Rest des Wortes im XPOC-Register 40 darstellt. Dann überprüft der Mikroprozessor 21 das Plag SE (Zustand 11)« Ist SB gleich 1, was anzeigt, daß sämtliche Datenwerte in der QTR-ten Ablage verarbeitet sind, so wird das Slag EQ auf "0" gesetzt (Zustand), um anzuzeigen, daß der QTR-te Ablageende-Datenwert nicht gleich sein kann mit dem QTR-ten Fach-Datenwert (da die Ablage "leer" ist und das Fach einen Datenwert aus dem vorhergehenden Iterationsschritt der Ablageverarbeitung enthalten muß)* Die Logik für diese Bedingung ist wie fojlgti ·
a) normalerweise enthalten alle Ablagen zu Beginn'wenigstens einen Datenwert, so daß der Wert im Stapelzeigerregister SPR 32, der Adresszeiger auf den Wert in der Ablage, größer sein muß als 0«
b) Damit der Wert im Register SPR gleich 0 ist (und somit SE= 1 und EQ=O), muß wenigstens ein Datenwert in jener Ablage verarbeitet sein und in das QTR-te Fach gebracht worden sein. . .
Somit muß ein Fach-Datenwert in dem QTR-ten Fach vorliegen, wenn der Zeiger auf die QTR-te Ablage (der Wert im Stapelzeigerregister SPR 32) Null ist* Dann wird das Flag CHRDY auf "1" gesetzt (Zustand 11), um anzuzeigen, daß die Werte im XREF-Register 50, XTOS-Register 42 und XPOC-Register 40 für die Verarbeitung durch den Unscharfegenerator 18 verfügbar sind.
Ist anderenfalls SS=O (Zustand 11), werden die Werte im EMQS-Register 44 und XREF-Register 50 in den Komparator
Berlins den 6. 11. 1979 GZ 55 470 13
COMPT gebracht. Stellt der Mikroprozessor 21 feet, daß der Wert im SMQS-Register nicht gleich ist dem Wert im XREF-Register (Zustand 14)» dann wird das Flag EQ auf "0". gesetzt "und die Steuerung des Mikroprozessors 21 geht in den Zustand 18 über« Stellt der Mikroprozessor 21 fest, daß der Wert im . EMQS-Eegister 44 gleich ist dem Wert im XREF-Register 50, wird das Plag EQ auf "1" gesetzt (Zustand 14). Wenn der Wert im.EMQS-Register 44 lind somit der Datenwert am QTR-ten Ablageende gleich ist· dem Wert im XREF-Register 50, wird angezeigt, daß der momentan im XREP-Register 50 vorliegende Wert aus diesem Ablageende-Datenwert entnommen ist und somit dieser ,Datenwert in das entsprechende Fach gebracht werden muß. Als nächstes speichert der Mikroprozessor 21 den Wert im Stapelzeigerregister SPR 32 zurück zu dem Datenwort vom Sta~ pelzeigerspeicher SPM 24» das durch den Wert in dem QTR-Register 30 adressiert wird (Zustand 15). Dies geschieht, damit, wenn dieses spezielle Datenwort aus dem Stapelseigerspeicher SPM 24 aufs neue im Stapelzeigerregister SPR 32 gespeichert . und dekrementiert wird? der resultierende Wert im Stapelzeigerregister SPR 32 auf den Datenwert in der QTR-ten Ablage zeigt, der als nächstfolgender zu verarbeiten ist (da der vorherige Datenwert in das entsprechende Fach übertragen wurde) . \ ;;..; . ' .; ; . . , .... ' ;_ . ;. . .
Das durch die Konkatenation der Werte im QTR-Register 30 und im Stapelzeigerregister SPR 32 adressierte Patenwort im Speicher CMEM 20 wird von dem Mikroprozessor 21 ausgelesen und die Werte in den Bits 13-0 des Datenwortes werden auf den Datenbus 31 gespeichert (Zustand .15)-. Der Businhalt wird dann in dasjenige Datenwort des PMEM-Speichers 26 gespeichert, das durch den Wert im"QTR-Register 30 adressiert ist (Zustand 16). Das Bit H (MSB) des QTR-ten Patenwortes im Spei-
Berlin, den 6. 11. 1.979
GZ 55 470 13
- 57 -
eher BIEM 26 (Plag PE) wird dann auf "0" gesetzt (Zustand. 16), um anzuzeigen, daß das Fach der QTR-ten Ablage einen Datenwert enthält. Der Mikroprozessor 21 prüft den Wert im Stapelzeigerregister SPR 32 (Zustand 16). lot der Wert "0", was eine leere Ablage bedeutet, wird das Plag CHRDY auf "1" gesetzt (Zustand 16), um anzuzeigen, daß die Werte im XREP-Register 50, XTOS-Register 42 und XPOC-Register 40 für die Verarbeitung durch den Unscharfegenerator 18 zur Verfugung stehen. Ist der Wert im Stapelzeigerregister SPR 32 nicht "0", so bedeutet dies, daß noch mehr Datenwerte zur Verarbeitung in der QTR-ten Ablage anstehen, so daß der Wert im Stapelzeigerregister SPR 32 um 1 vermindert wird, um auf den nächsten Datenwert am Ende der Ablage zu zeigen (Zustand 16). Der Mikroprozessor 21 speichert die Datenwerte in dem Bit 13-7 des CMEM 20-Datenwortes, das durch die Konkatenation der Wert im QTR-Register und Stapelzeigerregistor SPR 32 adres~ eiert wird, in das EMQS-Register (Zustand 17). Das Plag CHRDY wird durch den Mikroprozessor 21 auf "1" gesetzt(Zustand 18), um anzuzeigen, daß die Werte in den Registern XREP 50, XTOS 42 und XPOC 40 für die Verarbeitung, durch den Unscharfegenerator 18 zur Verfugung stehen. Als nächstes werden die Werte im EMQS-Register 44'Und ITEXTREP-Register 46 in den Vergleicher COMPI 48 gegeben. Stellt der Mikroprozessor 21 fest, daß der. Wert im EMQS-Register 44 größer ist als der Wert im HEXTREF-Register 46 (Zustand 18),-speichert er den Wert im EMQS-Register 44 in das NEXTREP-Register 46 (Zustand 18). Der Wert im WEXTREP-Register 46 sowie der Wert -64, der durch den Pufferverstärker 47 geladen wurde, werden in den Vergleicher C0MP1 4S (Zustand 19) zur Vorbereitung des Tests im Zustand 21 gegeben. .
Der Mikroprozessor 21 prüft den Zustand des Plags CHRDY (Zu-
Berlin, den 6.'11. 1979 GZ 55 470 13
stand 20). Ist das Plag CHRDY=I, was bedeutet, daß der Unschärfegenerator 18 noch nicht die in den Registern XREP.50, XTOS 42 und XPOC 40 verfügbaren Daten übertragen hat, verbleibt die Steuerung des Mikroprozessors 21 im Zustand 20» Ist das Flag CHRDY=O, indem es durch den Betrieb des Unscharf egenerators 18 auf "0" gelöscht wurde, so prüft der Mikroprozessor 21 den Status des Flags QTMIU (Zustand 2t) β Ist QTMII=O, was anzeigt, daß noch weitere Ablagen zur Verarbeitung anstehen, so vermindert der Mikroprozessor 21 den Wert in dem QTR-Register 30 um 1 (Zustand 21), und die Steuerung des Mikroprozessors 21 kehrt zum Zustand 7. zwecks Verarbeitung der nächsten Ablage zurück. Ist QTRMIU=I, was bedeutet, daß sämtliche oberen Enden der Ablagen verarbeitet sind, prüft der Mikroprozessor 21 den Wert vom NEXTREF-Register 46 (Zustand 21)e Ist der Wert im NEXTREF-Register -64» so wurden keine neuen Datenwerte im Speicher CMM 20 gefundens d, h„, alle Datenwerte sind verarbeitet (Zustand 21). Ist der Wert, im NEXTREF-Register 46 größer als -64, so bedeutet dies, daß wenigstens ein weiterer Datenwert in dem CMEM 20-Datenfeld noch zu verarbeiten ist; in diesem Fall kehrt die Mikroprozessor-Steuerung zurück zum Zustand 6 (Zustand 21), um mit der Verarbeitung eines neuen XREF-Register-50-Wertes fortzufahren. Anderenfalls setzt der Mikroprozessor 21 das Flag CHDOKE auf "1", (Zustand 21), um dem Unscharf egenerator 18 anzuzeigen, daß die Verarbeitung für ein gegebenes CMBM 20~Feld abgeschlossen ist. Der Mikroprozessor 21 prüft das Flag CONT (Zustand 22)". Ist CONT=O, was anzeigt» daß das soeben verarbeitete CMEM 20-FeId das letzte Feld in CMEM 20 war, so setzt der Mikroprozessor 21 das Flag CEMPTY auf "I1V und die Mikroprozessorsteuerung geht in den Zustand 0 (Zustand 22) über, um auf ein' neues Auffüllen des
• Berlin, den 6. 11. 1979 GZ 55 470 13
· · .. : ' . ·' .· · ' - -- 59 - . ·..' V '.' ; .' .,. ;· '
Speichers CMEM 20 durch den Mikroprozessor zu warten. Anderenfalls wird der Wert im -Adressregister LMAR 28 um 1 vermindert (Zustand 22),-so daß dieser auf das nächste zu verarbeitende Datenfeld im Speicher CMM 20 zeigt, und die Steuerung des Mikroprozessors 21 geht in den Zustand 1 über, um das nächste CMBM 20-Datenfeld zu verarbeiten.
Im folgenden soll im einzelnen die Arbeitsweise des Unschärfegeneratois erläutert werden.
Tabelle 5 zeigt die Programmauflistung von logischen Gleichungen, die die Arbeitsweise des Unschärfegenerator-Moduls beschreiben. .
Fig. 6A und 6b sind Ablaufdiagramme, die die Operationsfolge für jeden in Tabelle 5 beschriebenen Zustand veranschaulichen. Auf diese Unterlagen sollte bei der folgenden Diskussion Bezug genommen werden.
Netz-Ein-Yer-arbeitung: Wird beim Einschalten des Systems zum ersten Mal Leistung zugeführt, so wird durch den Mikroprozessor 10 eine letz-Ein-Voreinstell-Leitung auf niedrigen Pegel gebracht, -wodurch der Unscharfegenerator 18 zwangsweise in den Zustand 0 (Ruhezustand) gebracht wird. Der Mikroprozessor 10 hält die Netz-Bin-Voreinstell-Leitung auf niedrigem Pegel, während er den Ablagespeieher CMBM 20 mit den ersten zu verarbeitenden Datenwertfeldern lädt. Ist diese Aufgabe beendet, zieht der Mikroprozessor 10 die letz-Ein-Voreinstell-Leitung auf hohen Pegel, wodurch der Unscharfegenerator 18 seinen Betrieb aufnehmen kann.
Berlin, den 6, 11, 1979 GZ 55 470 13
. . - . . _ .. '60 - ;. ·. ·.; : ' ' ' j;; ';- ' .'. .
Normale Operation! Der Mikroprozessor 51 implementiert eine Reihe von Steuervorgangen, für den Unscharfegenerator 18S die durch einen vorprogrammierten Eur-Lese-Speicher (ROM) geliefert werden und die Operationszustände des Unschärfegenerators 18 festlegen«, Der Mikroprozessor 51 verbleibt in einem Ruhezustand, solange das Flag DGDONE auf "1" gesetzt ist. Der Mikroprozessor 10 löscht das Plag DGDOIiE auf "0", nachdem er von .dem .Unscharfegenerator 18 die letzten gebildeten Unscharfe·-! und Genauigkeitswerte empfangen hat. Ist das Flag DGDOUE gelöscht (Zustand O)5, setzt der Mikroprozessor 51 das Flag CHDOInTE auf "0", um dem Ablagebehandler 16 anzuzeigen, daß 'der'Unscharf egenerator 18 bereit ist, Daten zu verarbei*- ten» Der Mikroprozessor 51 setzt weiterhin das Flag PASS1 auf '"1" (Zustand O), um anzuzeigen, daß der"'Unscharfegenerator 18 für den ersten Verarbeitungsdurchlauf (pass) mit neuen Daten aus dem Ablagebehandler 16 bereit ist» Als nächstes setzt der Mikroprozessor 51 die Werte in den Akkumulatorregistern SDC 90 und SBC 92 auf Null,- .um die Akkumulation der Differenzwerte und Genauigkeitswerte bei der nachstehenden Verarbeitung durch den Mikroprozessor 51 vorzubereiten«
Der Mikroprozessor 51 prüft den Status des Flags CHRDY6 CHRDY=O zeigt dem Mikroprozessor 51 an, daß der Ablagebehandler noch keine Datenwerte für den Unschärfegenerator 18 zur Verarbeitung hat« Der Unschärfegenerator 18 verbleibt in einem Ruhezustand (Zustand 2), bis das Flag CHRDY durch den . Ablagebehandler 16 auf "1" gesetzt ist«, ?/enn der Mikroprozessor 51 feststellt, daß das Flag CHRDY gleich "1" ist, was anzeigt, daß der Ablagebehandler 16 Datenwerte für den Unschärfegenerator 18 zur Behandlung hat, setzt der.Mikroprozessor 51 das Flag CHRDY auf 11O" . (Zustand 2), um dem Ablagebehandler 16 anzuzeigen, die Verarbeitung der Ablageende-
Berlin, den 6, 11. 1979 GZ 55 470 13
Werte im Speicher CMM 20 wieder aufzunehmen. Der Mikroprozessor 51 setzt ^weiterhin'das Flag LOOP auf das Komplement des Flags QTEMIH. LOOP=O .(QTRMIN=I) zeigt an, daß der AbIagebehandler 16 einen Durchlauf durch die Werte der oberen Enden der Ablagen im Speicher GMEM 20 abgeschlossen hat, wo-, durch dem Unscharfegenerator 18 ermöglicht ist, die Unscharf e- und Genauigkeitsregister SDW 100 und SBW 102 nach einem Test des Flags LOOP im Zustand 10 auf den neuesten Stand zu bringen.
Im Anschluß an das Setzen des Flags LOOP (Zustand 2) speichert der Mikroprozessor 51 den Datenwert im XREF-Register
50 zum REF~Register 60; den Datenwert sowie den zugehörigen Genauigkeitswert im XPOC-Register 40 in die Register P0C2 54 und P0C1 52 und den Datenwert sowie den zugehörigen Genauigkeitswert im Register XTOS 42 in das Register T0S2 58 bzw. T0S1 56 (Zustand 2). Als nächstes prüft der Mikroprozessor
51 das Flag EQ. Ist EQ =1 (Zustand 3),was anzeigt, daß der Ablägeende-Wert im Register T0S2 58 und der Fachwert im Register P0C2 54 gleich ist dem höchsten positiven Bezugswert im Register REF 60, wird der zum Register T0S2 58 gehörige Gehauigkeitswert, nämlich Register T0S1 56 in das Zwischenspeicherregister B1 70 gespeichert und die Steuerung des Mikroprozessors 51 geht in den Zustand 11 über. Ist EQ=O, was anzeigt, daß die Werte in den Registern T0S2 58 und REF 60 nicht gleich sind, vollzieht der Mikroprozessor 51folgende Schritte (Zustände 3 und 4)ϊ
a) er bildet den Absolutwert- der algebraischen Differenz zwischen dem Wert im Register T0S2 58 und dem Wert im Re- * gister REF 60;
Berlin, den 6. 11. 1973 GZ 55 470 13
b) er bildet den Absolutwert der algebraischen Differenz zwischen dem Wert im Register P0G2 54 Und dem Wert im Register REl 60.
- ' ' -. : . :A'v : '.' . : Der Mikroprozessor 51 prüft als nächstes die Bedingung der Flags PE und SB wie folgt (Zustand 4):
a) wenn PS=I und SE=O, was anzeigt, daß das Register P0C2 leer ist und das Register T0S2 58 einen Datenwert enthält, dann -wird der'Wert im Register T0S1 56* der dem Datenwert im Register T0S2 58 zugehörige Genauigkeitswert im Zwischenspeicherregister E1 70 gespeichert und der Absolutwert der algebraischen Differenz zwischen dem Wert im Register T0S2 58 und dem Wert im Register REF 60 wird in das -Zwischenspeicherregister DR 80 gespeichert«, Die Mikroprozessor-Steuerung geht dann in den Zustand 8 über*
b) Wenn PE=O und SE=1 ists was anzeigt, daß das Register P0C2 54 einen Datenwert enthält und das Register T0S2 leer ist, dann wird der Wert im Register POGI 52, der zu dem Datenwert im Register P0C2 54 gehörige Genauigkeitswert, in das Zwischenspeicherregister E1 70 gespeichert und der Absolutwert der algebraischen Differenz zwischen· den Registern P0C2 54 toad REP 60 wird in das Zwischenspeicherregister DR 80 gespeichert« Die Mikroprozessor-Steuerung geht dann in den. Zustand 8 über.
c) Wenn PE=O und SB=O ist$ was anzeigt, daß sowohl das Register P002 54 als auch das: Register S0S2 58 Datenwerte enthalten, dann wird der Absolutwert der algebraischen Differenz zwischen den Registern P0C2 54 und REi1 60 in
Berlin,'den 6. 11. 1979 GZ 55 470 13
das Register D1 54 gespeichert, während der Absolutwert . der algebraischen Differenz zwischen den Registern T0S2-58und REF 60 in das Zwischenspeicherregister D2 82 gespeichert wird.
Als nächstes bringt der Mikroprozessor 51 die zu den Datenwerten in den Registern P0C2 54 und T0S2 58 gehörigen Genauigkeitswerte, nämlich die Register P0C1 52 und T0S1 56 zum Vergleicher C0MP1 96 (Zustand 5). Dann bringt der Mikroprozessor 51 die V/erte in die Zwischenspeicherregister D1 74 und D2 82 zum Vergleieher G0MP2 94 (Zustand 5). Die Ausgänge der Vergleicher COMP 1 96 und C0MP1 94 werden wie folgt getestet:
a) Wenn der Wert im Zwischenspeicherregister DI 74 kleiner ist als' der Wert im Zwischenspeicherregister D2 82, wird der ¥/ert im Zwischenspeicherregister D1 74 zum Zwischenspeicherregister DR 80 gespeichert und der Wert im Register POCT 52 wird in das Zwischenspeicherregister E1 gespeichert,
b) Wenn der Wert in D2 82 kleiner ist als der Wert in D1 54, dann wird der Wert in D2 82 nach DR 80 gespeichert und der Wert T0S1 56 wird nach E1 70 gespeichert,
c) Wenn der Wert in D1 74 gleich ist dem Wert in D2 82, und der Wert in T0S1 56 größer ist als der Wert in P0C1 52, dann wird der Wert in D2 82 nach DR 80 gespeichert und der Wert in T0S1 56 wird in ΒΊ 70 gespeichert.
d) Gleicht der Wert in D1 74 dem Wert in D2 82 und ist der ; Weit in P0C1 52 größer oder gleich dem Wert in T0S1 56, wird der Wert in Di 74 nach DR 80 und der Wert in P0C1 52 , nach E1 70 gespeichert.
Berlin, den 6,.11. 1979 GZ 55 470 13
Der Mikroprozessor 51 bringt den Wert im Zwischenspeicherregister DR 80 und den Wert.im Register PV/ 64 zum Yergleicher C0MP2 (Zustand 8). Ist der Wert in DR 80 größer als der Wert in PW 64, wird der Wert in QS 66 nach DR 80 gespeichert (Zustand 9) ο
Ist der Wert in DR 80 gleich oder kleiner als der Wert in PW 64s wird die Mikroprozessor-Steuerung zum Zustand TO übertragen» "' -... .- .- ·:.. ...' ..
' .-'·.. S · - .· ' . -, ' . . . ;. ' .' . .. '. '. ,' Der Mikroprozessor 51 summiert als nächstes den Wert in DR " 80 und den'Wert in E1 70 in die Akkumulator-Register SDC-90 und SBC 92 (Zustand 10)e Dann wird der Zustand des Flags LOOP geprüft. Ist LOOP = 1, was anzeigt, daß der Ablagebehandler 16 eine Abtastung der Ablageende-Werte im in Bearbeitung befindlichen CMM 20-PeId noch nicht abgeschlossen hat, geht die Mikroprozessor-Steuerung über in den Zustand 2, um den nächsten Satz von Datenwerten aus dem Ablagebehandler 16 abzuwarten. Ist LOOP=O, was anzeigt, daß der Ablagebehandler 16 eine Abtastung der Ablageende-Y/erte in dem verarbeiteten CMEM 20-Peld abgeschlossen hat, lädt der Mikroprozessor 51 die Werte in SDC 90 und SDW 100 in den Komparator OQMPI und die Werte in SBC 92 und SBW 102 in den Komparator C0MP2 94 (Zustand 12). Verläßt die Mikroprozessor-Steuerung den Zustand 3» summiert der Mikroprozessor 51 den Wert in E1 70 nach SBC 92 (Zustand 11). Der Mikroprozessor 51 testet die Ausgänge von C0MP1 96 und C0MP2 94 wie folgt (Zustand 14):
a) Wenn der Wert in SDC 90 größer ist als der Wert in SDW 100, oder der Wert in SDC 90 dem Wert in SDW 100 gleicht und der Wert in SBC 92 kleiner oder gleich dem Wert in SBW 102 oder das Plag PASSI=O ist, setzt der Mikroprozes-
Berlin, den 6. 11. 1979 GZ 55 470 13
' , . - 65 - .. ;;
Bor 51 das Flag DGDOKB entsprechend dem Zustand des CHDÖp. ' ' ;
b) Wenn der Wert .,in SDG 90 kleiner ist als der Wert in SDW 100, oder der Wert in SDC 90 dem Wert in SDW 100 gleicht und der Wert in SBC 92 größer ist als der Wert in SBW 102, oder das Flag PASS1=1 ist, speichert der Mikroprozessor 51 den Wert in SDG 90 nach SDW 100, den Wert aus SBC 92 iac-h SBW 102 und den Wert in REF 6.0 nach PSN 62, und er setzt das Flag PASSI auf "0". Dann setzt der Mikroprozessor 51 das Flag DGDOlTE entsprechend der Bedingung des Flags CHDOBE.
Der Mikroprozessor 51 prüft die Bedingung des Flags DGDOIiB. Ist DGDOIE=O, was anzeigt, daß der Ablagebehandler-16 die Verarbeitung des Datenfeldes im Speicher CMM 20, welches derzeit in Bearbeitung ist, noch nicht beendet hat, geht die Mikroprozessorsteuerung über in den Zustand 1, wo die Register SDC 90 und SBC 92 gelöscht werden in Vorbereitung einer weiteren Abtastung der Datenfeldwerte an den oberen Enden der Ablagen. Ist DGDONE=I, was anzeigt, daß der A.blagebehandler 16 die Verarbeitung des laufenden Datenfeldes im Speicher OMEM 20 beendet hat, kehrt die Steuerung des Mikroprozessors 51 in den Zustand 0, d, tu in den Ruhezustand zurück, um auf eine Anzeige zu warten, daß der Mikroprozessor 10 den Ausgangswert des Unscharfegenerators 18 empfangen hat, nämlich den minimalen Unscharfewert in SDW 1 00, den "Genauigkeit swert SBW 102, der zu dem minimalen Unscharfewert in SDW TOO gehört sowie den Positionswert in PSN 62, der zu dem minimalen Unscharfewert in SDW 100 gehört. Bei den nachstehenden Tabellen 4 und 5 bedeuten die Ausdrücke IF ·.·
Berlin, den 6, GZ 55 470 13
11. 1979
- 66 -
THEN ·♦#*: Palls die Bedingung .,,., dann .'»«,» · (Operation)* GO TO bedeutet Sprung zu einer bestimmten Stelle des Programms (zu einem bestimmten Zustand). Bei den einzelnen Größenvergleichen bedeuten EQ: gleich, GT: größer als und LT: kleiner als", GE: größer oder gleich«, Der Ausdruck ELSE DO gibt eine Alternative zu der auf THEH folgenden Operation an, wenn die durch IF angesprochene Bedingung nicht erfüllt ist*
Tabelle 1(a)
Schiebe stelle- -3-2-1 O 1 2 3 4 5 - T IT 6 7 8 T Anzahl T T 1 3 E d. I 8 Stellen" Summe · ~ Schiebe
Eintrag · s T A T E M E E N T Έ Τ 4 3 5 6 IT T : 19 stelle
TEIT T E IT 3 VJI 5 8 1 VJl -3
T- S 1 T 2 -2 O 4 7 5 0 13 —2
€ E IT T 1 3 β 1 9 -1
T *E N T O 2 VJl 0 7 0
T S IT T 1 O 1 O 4 1 7 4 1
Anfrage T E T H E m. 1 1 3 2 CJ CJ 4 2 3
T F; T CvJ O 1 1 ' 2 4 ,,
E IT T 2 1 O: 0 VJl 5 '
T S IT 1 2 1 1 7 6
T E O 3 2 2 9 7
T Tabelle 1 ( 3 3 8
T
E
Έ
T
I CSl
VJ! VJI £· ω CD
O H· ts
VjJ PL.
i3 CT.
. · Berlin, den 6β 11. 1979
GZ 55 470 13
. . .. ,. . . . ; - 68.» ' .." ' - . ..; .
Tabelle 2 · .
der Ablage/ des Fachs ________ Fach (oben) Ablage (unten)
ο leer 4/.6 0/.5 O
1 leer 5/,3 3/»7 M Λ O
2 leer 3/«9 1/1 .. -1/..7 sehr großer Wert
3 leer leer o .;
.4 leer 1/*8 -3/1 -4/e8 = 0
d~Register =
b-Register =
D-Register =
B-Register .=
PSN-Register
Berlin, den-6. 11. 1979 GZ 55 470 13
Tabelle 3(a) Verarbeitungsschritt 1
Abla^e-I'aclcL-Ήτ, Fach (oben) ' Abläse' (unten)
ο -64/ON\ X 0/.5 1/.4
1 »64/0 > ^3A 9 3Λ7 -1Λ7
2 -64/0 \>*leer 1/r
3 ?/.8 -4/·8
4 -3/1
χ Regel 2xx Regeln 1 .und 2d xxx Regel 2c
d-Register = 1 + O + 2 _+ 5 + 4 = 121 b-Register = .6+.3+.9+1+.6= 3.6
D-Register = 12 ) B-Register = 3,6 < Regel 3 PSN-Register = 5 )
\5-4l + j 5-5 I + { 5-31 + QS + I 5-11 =
Berlin, den 6, 11. 1979 GZ 55 470 13
Yerarbeitungsschritt 2 Ablage-/3?aeli~Nr, Fach
(oben) Ablage (unten)
O (7ΊΓζ> 0 ' + \ -τητ S 0/» 5 -1Λ7 2b
1 5/,? >6 ' + XXX ~^3A XXX 1/. j 4 : 10
2 .-. '' -64/Ö 10 1 2d + 5 1/1 -4Λ8 . 4,0
3 -64/0 4o0 1 + 1
4 -64/0 4 «7 ,1 -3/1
χ Regel 22 ) Regel 3 Regel
d-Register ) ν leer .+ 3 >
b-Register ) ^x 1/- + .8 =
D~Register und
B-Register '+ 1
cx Regeln + .9
= 1
= .
PSE-Register =
Berlin, den 6« 11. 1979 GZ 55 470 13
;·. . ;.. - 71 - ... · .
• Tabelle-3(ο) Verarbeitungsschritt 3 .
Ab lage - /Fa.ch-U r e Fach (oben) Ablage (raiten) · 0 xx3c^4/,6 0/#5
2 1(J3779) <—^ χ 1/1 -1/.7.
4 -64/0 ^1/.B -3/1 -4Λ3
Regel 1 und ^Regel 2xxs: Regel 2a 1a
d-Register = 1. + 0+0 + 5+2 = 8
b-Register = ·6 + .7 + .9 +1 + >8 = 4.0
D-Register =8 )
B-Register - = 4.0 ) Regel 3
PSn-Register - 3 ) '
Berlin, den 6,11. 79 GZ 55 470 13
Tabelle 3(d)
Verarbeitungsschritt 4
_Ablage-/Fach-nr , Fach
(oben)
-1/.7
-3/1
•4/.8
Regel 1 und 1a
xx
Regel Regel 2
d-Register b-Register 'D~Register B-Register PSN-Regis.ter
1 + 0 + 0+5 .5'+. .4 + 1 .+ 6 -/) 0 = 6 •8 «.3.7
_ ο »7 Regel 3
Berlin, den 6. 11. 1979 GZ 55 470 13
Tabelle 3(e)
Verarbeiturigssciiritt 5
Fach
-64/0 j 1Λ8
(oben) Ablage (unt en)
-4Z.8
Regel 2b
3C XX XXX
Regel 2a Regel 2
d-Register a 0 + 1 + 1 + 5 3 .+ 1 = 8
b-Register = .5 + .4 + 1 + 1 +. 8 = 3.7
D-Register = 6 )
B-Register = 3,7 ) Regel
PSU-Register = 1 )
Berlin, den 6, 11. 1979 GZ 55 470 13
. .. . . .. - 74- - .. -. ..
Tabelle^!*!
Verarbeitungsschritt β . '·.
Fach (oben) Ablage (unten)
0 1 2 3 4 1/.8 '-3/1' -4/.
x Regel 2X3Ü Regel 2b
d-Register = 1 +2 + 0 -f 5 + 2 =
b-»Register = *5 +.4 + .7 + 1 +1 = 3,6
D-Register = 6 . )
B-Register = 3e7 ) Regel 3
PSI-Register =1 )
Berlin, den 6. 11. 1979 GZ 55 470 13
Tabelle 3(h)
Terarbeitungsschritt Ablage·-/Fach-Nr, Fach
0 1 2 3 4 (oben) Ablage (unten)
Regel
Regel 2c
d-Register b-Register D-Register B-Register PSU-Register 5+ 3 + 5+ O= 17 .4 + «7 + 1. + «8 = 3*4
4 ,5 6 ) 3.7 ) Regel 3 )
Berlin, den "6. 11. 1979 GZ 55 470 13
Tabelle 3(g)
Verarbeitungsschritt 7
Fach
(oben) Abläse (unten)
leer
-4Λ8
Regel 2
d-Register b-Register D-Register B-Register PSl-Register
= 3+4+2 + 5+0 = ..5 + *4 + »7 + 1+1 = β ) = 3.7 ) Regel 3
14 .3·6
Berlin, den 6. 11. 1979 GZ 55 470 13
Tabelle
Zustand
Ope r a t ion
Punk t ion
: IF CEMPTY = 1
GO TO Zustand 0
CONT, MIN,·: QTR < .; -. (LFMAR) '
NBXTREF
Im Nullzustand in Ruhe, bis CEMPTY durch Mikroproz. gelöscht ist.
«-QTLF Setze für den LMAR-ten Ausdruck in QTLF CONT auf 1 oder * 0 mit dem Bit 12 im QTLF-Wort (1 - noch mehr Einträge zu verarbeiten; 0 = letzter· Eintrag verarbeitet). Setze MIN auf MIN-FeId (Bits 5-0) und QTR auf MAX-FeId (Bits 11-6).
-64 " Setze Kandidaten-Y/ert für XREF auf -64 (negativer als irgendein mögl, Wert von TOX oder POC),
SPR
SBi (QTR)
COMP
SPR
QTR' MIN
SPR-1
Lese QTR-ten Eintrag von SBi " nach SPR (init. Stapelzeiger)„ SPR ist nun Zeiger auf die QTR-te Ablage im Stapelspeicher«
Laden, *QTR und MIN in Yergleicher für Vorbereitung auf Gleichlieitstest im Zustand Dekreme SPR, um auf den 1-Ausdruck TOS in der Ablage zu zeigen.
Berlin, den 6. 11. 1979 GZ 55 470 13
CMEM
(QTRsSPR)
(QTR)(MSB) Laden TOS (kleiner Genauigkeitswer.t) des SPR-ten Ausdrucks des QTR-ten Ablage-Stapelspeichers nach EMQS · · . . . ' Setzen PE-Bit in XPOC, um ein' anfänglich leeres Fach anzuzeigen.
COMP .1 ^- EMQS,-KBXTREP
wenn EMQS,GT.NEXTREP darin MEXTREP 4— EMQS Laden COMP 1 mit HvIQS und UEXTREP. 1st MQS größer als HEXTREP .(-64 bei der ersten verarbeiteten Ablage), so ersetze WBXTREP DURCH BiQS.
wenn QTRMIIT = 0, dann DO;
QTR ^- QTR -1; Zustand 2
Zeigt Ergebnis im Zus> 3 an? daß QTR noch nicht, gleich MIiJ ist, dekrem. QTR, um auf nächste zu verarbeitende Ablage zu zei·^ gen und kehre zurück zum Zustand 2, um die nächste Ablage TOS nachzuschauen und mit NEXTREP zu vergleichen«, Wenn QTR MIU = 1 (TOS-Abtastung fertig), dann gehe zum Zustand 6.
XRSP <r— NEXTREP; .
NEXTREP . f— -64
QTR f— QTRL. (LPMAR)
Setze REP auf den höchsten positiven TOS, und reinitialisiere NEXTREP, um nächsten XREP zu finden« -
Berlin, den 6. 11. 1979 GZ 55 470 13
« 79 ~
SPRv
SPM (QTR)
8 NO OP
9 IF SPR = O
Then SE = 1,
ELSE DO:
SE = O;
SPR ζ- SPR-1
0 XTOS, MQS «-
(QTR:SPR)
XPOC ^- PMEM (QTR);
PE f BIEM(QTR) (MSB)
IF SE =1,
THEN DO: EQ $ O; CHRDY 4- T; GO TO STATE Lesen des QTR-ten Ausdrucks yon SEvI nach SPR (init. Stapelzeiger) .
Prüfen, ob in SPR Null.
Ist der derz. Stapelspeicher leer, setzen des Flags "Stapelspeicher leer", sonst Löschen ' dieses Flags und Dekrementieren des Stapelzeigers, damit dieser auf TOS zeigt. : -
TOS-Daten auslesen nach XTOS, um sie für den Unschärfe-generator (DG) verfügbar zu machen. Einkopieren des TOS-Feldes nach EMQS, um nächste Vergleichssequenz zu beginnen und dadurch den neuen XR EF zu erhalten/
Lesen des Fach-Werkes der in Bearbeitung befindl. Ablage nach XPOC in Vorber«, d. Bereitstellung für den Unscharfe-Gen» (DG). Setzen des Fla-gs "Fach leer" auf den Wert im MSB des PMEM-Ausdrucks
Bei leerer Ablage Löschen des EQ-Flags, um dem Umschl-Gen* anzuzeigen, daß XTOS = XREF, setzen CHRDY auf, lim XREF, XTOS und XPOC an Umsch. Gen, zu geben; sprung in Zus„ 19, um auf Ant-
Berlin, den 6, 11, 1979 GZ 55 470 13
12 COMF1 > MQS, XRBF
13 HO OP
14 IB BMQS = XRBF, THEN DOs
EQ = 1
ELSE DOi EQ = DOj CO TO Zustand 18
15 SPM(QTR) ^ SPR
BUS £ CMEM(QTRi SPR)
16 PMM(QTR) 4· BUS? .-;.· PMm(QTR)(MSB) <? O
wort den Unscharfe-Gen. zu warten. Sonst fortfahren nach Zustand 12*
Derzeit TOX und XREF zum Vergl. in Vorbereitung des Tests im Zustand 14.
Prüfen, ob MiQS gleich ITEXTRBF.
Sind EMQS und XREF gleichs setzen der Flags "gleich" und Fortschreiten zum Zustand 15»
Sonst Löschen der Flags "gleich" und Sprung zinn Zustand 18, um Daten für Ümschl«, Generator bereitzustellen. Zustände 15 und 16 bringen den Wert TOS der geprüften Ablage in das Fach,
Zurückschreiben des dekrementierten Wertes aus SPR nach SPM'*
Verwenden des Datenbusses als Zwischenspeicherregister, um den Wert TOS, der in das Fach zu übertragen ist, zu halten«,
Lesen der auf dem Bus gehaltenen TOS-Daten in das Fach« Setzen des MSB des PMEM-Wortes, um ein volles Fach anzuzeigen (Löschen PS)„ . ;
Berlin, den β. 11.1979 GZ 55 470 13
IF SPR =0, THMDO: CHRDY = 1; GO TO STATE 19
ELSE SPR £ SPR-1
EMQS ^ CMM(QTR: SPR)
CHRDY = 1 Wenn Ablage nun leer, dann Setzen .CHRDY, um dem Unscharfe-Generator anzuzeigen, daß Daten bereitstehen, Übergang zum Zustand 19,
Sonst Dekrementieren SPR, um auf nächstes Stapelelement zu zeigen (unbelegt, wenn vorheriger TOS-Wert in Fach gebracht wurde) zur Vorbereitung eines neuen EMQS/ ÜTEXTREF-Vergleichszyklus. Weiter in den Zustand 17.
Lesen des neuen TOS-Wertes nach EMQS als neuen XREF-Kandidaten (für den ersten Durchlauf (PASS) ist EBXTREP im Zustand 6 auf -64 eingestellt)*
Bereitstellen der Daten für Unscharf e-Generator zwecks weiterer Verarbeitung« \
COMP 4 MQS, UEXTREFj Laden/1 EMQS, HEXTREP, in Vergl. Ist IF MQS .GT. HEXTREF, EMQS > NEXTREF, dann Gleichsetzen THEU NEXTREF <£· MQS IEXTREF MIT EMQS. (Fortgang des
- zesses" des Findens des nöchsten positiven Wertes in TOS für jede gegebene TOS-Abtastung) (TOS = top of stack) = oberstes Stapelele- ·..' ment),
Berlin, den 6. 11. 1979 GZ 55 470 13
CÖMP1 - HBXTREP5 -64 C0MP2 "- QTR, MIU :
IP CHRDY = 1, GO TO STATE 20
IP QTRMIN = V THEU IP NSXTREP=~64 THEN DO: CHDOUE =1; GO TO STATE 22
ELSE
GO TO STATE 6;
ELSE DOi QTR - QTR-1 j GO TO STATE 7 Laden NEXTREP und -64 in Vergl. zum Vorbereiten des Tests im Zustand 21«
Im Zustand 20 in Ruhe, bis der Umsehe Generator CHRDJ löscht} was anzeigt, daß er die verfügbaren' Datensatzwerte (XREP, XTOS, XPOC) übertragen hat.
Palls QTR = Mil (QTMIlT), (de h·, daß alle TOS-Elemente aller Ablagen im Eintrag abgetastet sind) und falls HEXTREP = -64 (kein neuer TOS-Wert wurde als Kandidat für XREP gefunden), dann sind alle Ablage-Stapelspeicher verarbeitet. Setzen Plag CHDONE, um dem Unscharfe-Genβ anzuzeigen, daß der Ablagebehandler (CH) diesen Eintrag beendet hat* Weiter nach Zustand 22Λ
Wenn NEXTREP einen Wert größer als -64 enthält, dann müssen noch weitere Ablagen bearbeitet werden«,· V/eiter in den Zustand 6 und neu-inite QTR9, um Verarbeitung der ersten Ablage des vorliegenden Eintrags wieder zu beginnen.
Ist QTRIiIN = 0 (QTRAiIN), müssen noch weitere Ablagen bei dieser TOS-Abtastung durch den vorlie-
Berlin, den 6β 11. 1979 GZ 55 470 13
IP COlTT = 0, THM DO; CEMPTY = 1; GO TO STATE Oj
ELSE DO:
LFMAR f LIMAR-1;
GO TO STATE 1
genden' Eintrag verarbeitet -werden, Dekrementieren QTR, um auf die nächste zu verarbeitende Ablage zu zeigen. Weiter in Zustand 7, um Stapelzeiger für diese Ablage zu reinitialisieren,
Y/enn der letzte Eintrag in CMEM (Zeiger hierauf ist letzter Ausdruck in QTLP mit dem COHT-Bit = 0) gerade verarbeitet ist^Setzen CEMPTY, um den Ablagebehandler im Ruhezustand zu halten, um auf reinit* durch den PC zu warten.
Sonst, Auswahl des nächsten zu verarbeitenden Eintrags in CMEM; weiter zum Zustand 1; nachschauen, nach dem ersten XREP-Wert für diesen Eintrag,
Berlin, den 6. 11 β 1979 GZ 55 470 13
Tabelle 5
Zu- Operation
stand
Punktion
IF DGDOHl = 1,
THEN GO TO STATE 0
ELSE;
: OHI)OIIE'= Ο;".PASSI=I
. SDC- Oj SBC - 0
IP CHRDY =0
THEN GO TO STATE'2;
ELSE; CHRDY = O LOOP = QTRMIU REP- XREP; POC - XPOC; TOS-XTOS;
Im Zustand O in Ruhe, bis DGDOHE durch PC gelöscht.
Ist DGDONE gelöscht, CHDOIE rücksetzen und PASS 1 setzen, um anzuzeigen, daß dies der erste Durchlauf (Pass) durch einen neuen Eintrag .ist.
Löschen des Abstandssummen*-Kan<~- didaten und Genauigkeitssummen-Kandide, um ersten Satz neuer Daten zu erhalten«, Anf.-Bed» für Iteration durch die Ablagen.
Im Zustand 2 in Ruhe, bis der Ablage-Behandler anzeigt, daß er-zul. Daten für Unsch.-Gen. hat. ·..
Bereitstehen der Daten für den Ablage-Behandler, CHRDY rücks«,
um anzuzeigen, daß der AbI,-Beh. arbeitet; LOOP setzen auf Komplement von QTRMIH, und Übertragen eines.Datenwertsatzes vom Ablage-Behandler zu entsprechenden Registern. Zustand ist der Anfangszustand für jede.
Berlin, den 6. 11. 1979 GZ 55 470 13
IF EQ =
THEN DO:
ALU1 4· P0C2, REP; DI <r REF-P0C2 IF D3j. .LT/ 0,(state 4)
THEN jDO:
ALU1 '%* P0C2, REP; Dl <l· P0C2-REP
THEH DO:
ALU2 f T0S2, REP; D2 <- REF-T0S2; IP D2 ,LT, O,(state 4) THEN DO:
ALU2 f T0S2, REP; D2 ^ T0S2-REP;
IP EQ = 1 , THEN DO:
El f TOSI? GO TO STATE Tt;
IP PE = 1 AUD SE THEN DO: El - T0S1 DR - P2; GO TO STATE 8;
= O9
Ablage-Pach~Bezugsabstands-Be™ rechiiung.
Ist TOS ungleich REP, Laden der entsprechenden ALU. Bestimmen der Idfi". zwischen REP und dem verarbeiteten Fach-Wert* .Ergibt die erste Subtrak-: tion ein negatives Ergebnis, werden die Operanden ausge- · tauscht und nochmals subtrahiert, um Absolutwert der Differenz zu bilden.
Bestimmte Differenz zwischen REP und den in Bearbeitung befind!. TOS (d„ h. dem obersten Stapelelement, top of stack). Bei negativem Ergebnis: Austausch der Operanden, um Absolutwert zu bilden,
TOS = REP: Differenz ist lull, Erhalten des zugehörigen Genauigkeitswertes zum Berechnen der Genauigkeitssumme.
Für diese Ablage ist das Fach leer und das TOS voll. Retten der TÖS-Genauigkeit und der Diff. zwischen TOS und REF,
Berlin, deii 6. 11. 1979 GZ 55 470 13
~
IFPi DO: O AND O MD SE =
THEN
Bl ifr POCT; X
DR «- Fl
GO TC P0C1,
IF Pi ) STATE 85 D1, D2 SE =
THElT
Dl 4 DO:
D2 *- Fl;
GOMPI F2; T0S1;
C0MP2
1,
=
NO OP
IF D1 eLTe D2,' THElT DO: Λ DR <- DI5 El> P0C1?
IF D2 .LT6 D1S THEN DOi ; — ' DR 4r D2; E1 f TOSI5
IF D1 = D2 AlJD P0C1 .GE, TOS THEN DR 4» D1j E1 ^- PO01
fcli = Ausgang der ALU1 F2 = Ausgang der ALUi Für die Ablage,ist das Fach voll und TOS leer; Retten der Fach-Genauigkeit und Differenz zwischen Fach und REF.
Für diese Ablage liegt sowohl ein Fachwert als auch ein TOS-Wert vor. Retten beider .Werte'.· für Test in Zuständen 5 .-. 7·.
Genauigkeit und Differenzen vergleichen.
Prüfen, ob DK D2, D2< D1 , D2 = DI; POO TOS 1.
Die Differenz zwischen dem Fach und REF ist kleiner als die Differenz zwischen REF und TOS,
Die Differenz zwischen TOS und REF ist kleiner als die Diffe zvi/ischen Fach und REF; daher rette erstere mit zugehöriger Genauigkeit»
REF hat gleich Diff. bezügl. TOS und dem Fach, aber die zu letzterem gehörige Genauigkeit ist größer als die von TOS, also rette die Diff. Fach/REF und die zugehörige Genauigkeit.
Berlin, den 6. 11. 79 GZ 55470 13
~ 87 ~
Γ" -
IDI = D2 AND TOSI .GT. P0C1 THM DR 4 D2 £ T0S1
C0MP2:i- DR, PW
IF DR *GT. PW, THEM* DR <r QS REP hat gleiche Diff. bezügl. TOS und Fach, aber der zu TOS gehörige Genauigkeitswert ist größer als der vom Fach; daher "rette Diff. zwischen TOS und REP, sowie zugehörigen Genauigkeitswert, .
Vergleichen der Differenz, die im Zustand 7 ausgewählt wurde, mit Suchabschnittsbreite (.pipe width).; . ..'. ..;- ·
Die Differenz ist größer als die Suchabschnittsbreite, daher ersetze Anfragegröße für den Abstand. '
10 ALU1 f DR, SDC; SDO 4- P1 Summiere zuletzt gefundene
Diff, mit den anderen Diff. in dieser Ablageabtastunga
ALÜ2 4- El, SBC; SBC
ip loop:= o, go to STATE 12
P2 Summiere die zu der zuletzt gefundenen Diff.- gehörige Genauigkeit mit den anderen Genauigkeitswerten für diesen Ablagendur chlauf.
Dies beendet eine Abtastung durch die Ablagen, daher Sprung •zum Zust. 12 um Summe der Diff. und Genauigkeiten im "Gewinner" -Register und RBF auf neue-
Berlin, den 6. 11. 1979 GZ 55 470 13
ELSE;
GO TO STATB 2
ALU2;>£- SBC, E1; SBC <· P2 '
IP LOOP =0, THEN GO TO STATE ELSE; ' GO TO STATE 2
C0MP1 4- SDC, SDW; C0MP2 a- SBC5 SBW
IO OP
IP SDC οLT0 SDW OR (SDC = SDW AND SBC · eGTo SBW) or PASSIV, TfIEE SDW ^ SDC; . SBW k- SBC;· PSW £ PASS1 =0
sten Stand zu bringen. .
Ablageabtastung nicht fertig« Sprung in Zust. 2 und Verarbeiten des nächsten Datensatzes in Ablage-Behandler. '.-..'. (Siehe Zust* 3) Diff. von REP für dieselbe Ablage} wenn REP-Dif- ferenz Hull ist; daher rette TOS Genauigkeit für Genauigkeitssumme.
Vergleichen der Diffe und Gene~ kandidaten mit vorherigen Gewinnern« Dieser Zustand wird nach Abtastung aller Ablagen betreten.
Prüfen ode SDC.LT6SDW, SDCEQ«,
SDCGT0SDW5 SBC6LT.SBW SBC.EQcSBW SBC.GT.SBW
Bringe SBW (Summe der Diff. Gewinn) . SBW (Summe der Gen. Gewinn) und REP auf neuesten Stand* Drei Bedingungen, um diese Re« gister auf neuen Stand zu bringen.
Berlin, den· β. 11. 1979 GZ 55 470 13
DGDOUEΓ.= CHDOHE IP DGDpIE = 0, THEN GO TO STATE 1; ELSE;
GO TO STATE O
1) PASS'= 1; Dies ist erster Durchlauf durch die Ablagen, daher sind SBW. und SDY/ leer. Erzwungenes Auf-neuen-Stand-Bringen.
2) SDC< SDW, daher ist SDC der Gewinner.
3) gleiche Differenzen aber Kandidat hat größere Genauigkeit»
Löschen PASS 1, da Unscharfe-Generator nun für 2. Durchlauf bereit. Ist der Ablage-Behandler nicht fertig, gehe in Zust. 1, um SDC- und SBC-Register für nächste Ablage-Abtastung vorzubereiten. Ist Abl„-Behe fertig, melde an PC, dann in' Zust, O und Ruhezustand bis PC das PLAG DGDOHE löscht»

Claims (4)

  1. Erfindungsanspruch
    1« Yerfahrens run'unter; Verwendung, einer Datenverarbeitungseinrichtung mit mehreren Datenspeichern (ABLAGEN in CMElM 20* Figur 20) und einem entsprechenden Zwischenspeicher (FACH in PMEM 26, Figur 2) für jeden dieser Datenspeicher einen besonderen Kriteriumswert (Unscharfe) und einen dazugehörigen Positionswert (PSN, Figur 3) zu bestimmen für· den Übereinstimmungsgrad in der Gegenüberstellung mehrerer Ereignistypen einer Anfrage und mehreren Ereignistypen eines gespeicherten Eintrags einer Datenbank, bei welchen ein zuvor gebildetes Datenfeld benutzt wird, in dem jeder Datenwert die Anzahl von Ereighispositionen zwischen dem Auftreten eines Ereignistyps der Anfrage und dem Auftreten eines entsprechenden Ereignistyps der'Datenbank darstellt,'.wobei eine aus einem oder mehreren Datenwerten bestehende Gruppe vorgesehen ist für jeden einer Mehrzahl unterschiedlicher Anfrage-Ereignistypen und jede unterschiedliche Gruppe in einem anderen Datenspeicher gespeichert ist, wobei die Datenwerte dort jeweils in monotoner Reihenfolge, beginnend an einem ersten Ende, geordnet sind, gekennzeichnet durch folgende Schritte:
    a) Bezeichnen eines Datenwertes in jedem einer Mehrzahl von Datenspeichern als einen ersten Datenwert (Tabelle 4, Zustände 2,3)ϊ
    b) Erfassen wenigstens eines der bezeichneten ersten Datenwerte, welcher eine vorbestimmte Größe bezüglich der anderen bezeichneten ersten Datenwerte aufweist (Regel 1; .Tabelle.4, Zustände 2 -6);
    Berlin, den β* 11. 1979 GZ 55 470 13
    e) Speichern des wenigstens einen erfaßten Datenwertes-in dem Zwischenspeicher, welcher demjenigen Datenspeicher entspricht,' in dem ein solcher erfaßter Datenwert gespeichert ist (Regel 1; Tabelle 4, Zustände 11, 15 und
    16); " '; λ . V ' . ' ' ' '.; ; · '.-'
    d) Bilden eines ersten Abstandswertes (D2) für jeden der einzelnen Datenspeicher, wobei dieser erste Abstandswert die algebraische Differenz darstellt zwischen dem erfaßten Datenwert und dem bezeichneten Datenwert in einem solchen Datenspeicher (Regel 2; Tabelle 5, Zustand 3 (D2> ); .
    e) Bilden eines zweiten Abstandswertes (D1) für jeden individuellen Datenspeicher, wobei der zweite Abstandswert (D1) die algebraische Differenz darstellt zwischen dem erfaßten Datenwert und einem Datenwert in dem Zwischenspeicher, der einem solchen individuellen Datenspeicher entspricht (Regel 2j. Tabelle 5» Zustand 3 (DI) ); ν
    f) Für jeden von individuellen Datenspeichern Auswählen eines Abstandswertes von den entsprechenden ersten
    \ und zweiten Abstandswerten, wobei der ausgewählte Abstandswert eine vorgegebene Größe bezüglich des anderen Wertes aufweist (Regel 2a; Tabelle 5» Zustand 6);
    g) Bilden einer Abstandswertsumme für einen erfaßten Datenwert, wodurch die Summe der Absolutwerte der daraus gebildeten ausgewählten Abstandswerte dargestellt wird (Regel 2; Tabelle 5,' Zustand 1.0);
    Berlin, den 6. 11. 1979 GZ 55 470 13
    h) Bezeichnen eines neuen Datenwertes in demjenigen Datenwertspeicher, der den wenigstens einen erfaßten Datenwert enthält und Wiederholen der Schritte b) bis h) unter Verwendung eines solchen neuen Datenwertes als bezeichneten Datenwert (Tabelle 4, Zustand 16'),
    wobei beim Bezeichnen eines neuen Datenwertes in vojrbestinunter Reihenfolge innerhalb der monotonen Fojlge der Datenwerte der auf den zuvor bezeichneten' Datenwert als nächster folgende Datenwert bezeichnet wird, und
    i) Verwenden der in den Schritten b) bis h) ermittelten erfaßten Datenwerte und der entsprechenden Abstands-Summen-Werte zum Ableiten des Kriteriumswertes und des Positionswertes (Regel 3$ Tabelle 5» Zustände 10, 12 und 14).
    2, Verfahren nach Punkt 1, gekennzeichnet dadurch, daß beim Speichern des wenigstens einen erfaßten Datenwertes in dem Zwischenspeicher andere bezeichnete Datenwerte, die denselben Wert haben, wie der erfaßte Datenwert, in den entsprechenden Zwischenspeichern gespeichert werden (Regel -la; Tabelle 3 (c); Tabelle 4, Zustände 14V 15, 16)·
    3« Verfahren nach Punkt 1, gekennzeichnet dadurch, daß beim Schritt des Auswählens der kleinste des ersten und zweiten Abstandswertes ausgewählt wird (Regel 2a; Tabelle 5, Zustand 7)« V ·
    Berlin, den 6. 11. 1979 GZ 55 470 13
    4» Verfahren nach Punkt 1, bei dem ein Speicher für einen Suchbreitenwert verwendet wird, gekennzeichnet durch die Schritte: :
    a) Erfassen einer vorgegebenen Relation zwischen jedem ausgewählten Abstandswert und einem Wert in dem Suchbreitenspeicher (Regel 2e; Tabelle 5, Zustande),
    und ' .'
    b) nach dem letzten Schritt des Erfassens einer solchen • vorgegebenen Relation, falls ein spezieller ausgewählter Abstandswert vorliegt, Ersetzen desselben durch einen vorgegebenen Wert, wenn eine Abstandswertsumme gebildet wird (Regel 2e; Tabelle 5, Zustand
    ' '' 9)e.' ' ' '.-: '. ' ' V
    5e Verfahren nach Punkt 1, bei dem zugehörig zu jedem der Datenwerte ein Wichtungswert gespeichert wird, gekennzeichnet dadurch, daß diejenigen Wichtungswerte kombiniert werden, die zu denjenigen Datenwerten gehören, die beim Bilden einer Abstandswertsumme herangezogen werden, um dadurch eine Wichtungswert-Summe zu bilden (Regel 2j Tabelle 5, Zustände 7, 10).
    6» Verfahren nach Punkt 5» gekennzeichnet dadurch, daß für jeden Zwischenspeicher-und entsprechenden Datenspeicher, die einen Datenwert in dem Zwischenspeicher und einen bezeichneten ersten Datenwert der entsprechenden Gruppe aufweisen, folgende Schritte durchgeführt werden:
    a) Erfassen, ob die Abstandswerte, die aus dem Datenwert in dem Zwischenspeicher und dem bezeichneten Daten-
    Berlin, den 6. .11· 1979 GZ 55 470 13
    wert in der entsprechenden Gruppe gleich sind (Regel 2b; Tabelle 5, Zustände 5, 7);
    b) Auswählen aus den zwei Wichtungswerten, die zu denjenigen zwei Datenwerten gehören, deren entsprechende zwei Abstandswerte als gleich erfaßt wurden, desjenigen Wichtungswertesj der bezüglich des anderen Wertes eine vorgegebene Größe aufweist, (Regel 2b; Tabelle 5» Zustände 5, Di
    c). Verwenden des ausgewählten Wichtungswertes beim Kombinieren der Wichtungswerte (Tabelle 5$ Zustand 10)..
    7. Verfahren nach Punkt 6S gekennzeichnet dadurch', daß beim Auswählen der zwei Wichtungswerte der größte V/ichtungs-' wert gewählt wird (Regel 2b; Tabelle 5, Zustand 7)«
    8* Verfahren nach Punkt 7, gekennzeichnet dadurch, daß für einen erfaßten Datenwert die entsprechende Abstandswertsumme und die entsprechende Wichtungswertsumme beim Bilden des Kriteriumswertes verwendet werden (Regel 2; Tabelle 5, Zustände 10, 14).
    9β Verfahren nach Punkt 8, bei dem die Datenverarbeitungseinrichtung einen Speicher für einen Kriteriumswert aufweist, gekennzeichnet dadurch, daß der für einen erfaßten Datenwert gebildete Kriteriumswert -einen zuvor gebildeten Kriteriumswert in dem Kriteriumswertspeicher ersetzt, falls der neu gebildete Kriteriumswert eine vorgegebene Beziehung zu dem in dem Kriteriumswertspeicher enthalte-
    . Berlin, den 6. 11. 1979
    GZ 55 470 13
    : .;· . ' . . - 95 - .. ' : .
    nen Wert hat (Regel 3; Tabelle 5, Zustand 14).
    10, Verfahren nach Punkt 1, bei dem die Datenverarbeitungseinrichtung einen Speicher für einen Positionswert aufweist, gekennzeichnet dadurch, daß in dem Positionswertspeicher für einen erfaßten Datenv^ert ein diesem entsprechender Positionswert gespeichert wird (Regel 3; Tabelle 5, Zustand 14).
    ',11. Verfahren nach Punkt 10, gekennzeichnet dadurch, daß der indem Positionswertspeicher enthaltene Wert durch einen Positionswert ersetzt wird, der demjenigen erfaßten Da-? tenv/ert entspricht, der beim Bilden eines Kriteriumswertes verwendet wird, der eine vorgegebene Beziehung au..,dem in dem Kriteriumswertspeicher enthaltenen 'Wert. hat (Regel 3; Tabelle 5, Zustand H).
    12, Verfahren nach Punkt 1, gekennzeichnet dadur-ch, daß die genannten Schritte wiederholt werden, bis sämtliche Datenwerte in den Datenspeichern nach dem Verfahren verarbeitet sind (Regel 4; Tabelle 4, Zustände 21, 22).-
    13« Datenverarbeitungseinrichtung,- mit mehreren Datenspeichern und einem entsprechenden Zwischenspeicher für jeden dieser Datenspeicher, mit dem ein besonderer Kriteriumswert und ein dazugehöriger Positionswert bestimmbar ist für den Übereinstimmungsgrad in der Gegenüberstellung mehrerer Breignistypen einer Anfrage und mehreren Ereignistypen einer gespeicherten Datenbank, wobei die Datenverarbeitungseinrichtung ein zuvor gebildetes Datenfeld benutzt, in dem jeder Datenwert die An-
    Berlin, den·6. .11. 1979 GZ 55 470 13
    .; ' - '-. -. -.- .. - 96 - . '.'. . .' ;' ' ; ' '
    zahl von Ereignispositionen zwischen dem Auftreten eines Ereignistyps der Anfrage und dem Auf treten eines entsprechenden Ereignistyps in der gespeicherten Datenbank darstellt, wobei eine aus einem oder mehreren Datenwerten bestehende Gruppe vorgesehen ist für jeden;einer Mehrzahl unterschiedlicher Anfrage-Ereignistypen und jede unterschiedliche Gruppe in einem anderen Datenspei- eher gespeichert ist, wobei die Datenwerte dort jeweils in monotoner Reihenfolge» beginnend an einem ersten Ende, angeordnet sind, gekennzeichnet durch
    a) eine Einrichtung zum Bestimmen eines Datenwertes in jedem einer Mehrzahl von Datenspeichern als einen ersten Datenwert (SPM 24, QTR 3O5 SPR 32; Figur 2);
    b) eine Einrichtung zum Erfassen wenigstens eines der bezeichneten ersten Datenwerte, der eine vorgegebene Größe aufweist in bezug auf die anderen bezeichneten ersten-Datenwerte (EMQS 44* UEXTREF 46, C0MP1 48, SPR 32, QTR 30, SHi 24; Figur 2);
    c) eine Einrichtung zum Speichern des wenigstens einen erfaßten Datenwertes in dem Zwischenspeicher, der demjenigen Datenspeicher entspricht, in welchem ein solcher erfaßter Datenwert festgestellt wird (PMEM 26y
    20, QTR 30, SPR 32, Figur 2);
    d) eine Einrichtung, um für jeden von individuellen Datenspeichern einen ersten Abstandswert zu bilden, welcher die algebraische Differenz zwischen dem erfaßten Datenwert und dem bezeichneten Datenwert in einem sol-
    Berlin, den β. 11. 1979 . GZ 55 470 13
    chen Datenspeicher darstellt (ALU2 78, T0S2. 58, RBF 6θ, D2 82; Figur 3);
    e) eine Einrichtung, um für jeden von individuellen Datenspeichern einen zweiten Abstandswert zu bilden, der die algebraische Differenz zwischen dem erfaßten Datenwert und einem Datenwert in demjenigen Zwischenspeicher darstellt, der einem solchen individuellen Datenspeicher entspricht (A1U1 76, P0C2 54, REF 60,
    D1 74; Figur 3);
    f) eine Einrichtung, um für jeden'individuellen Datenspeicher einen Abstandswert auszuwählen aus den ersten und zweiten Abstandswerten, wobei der ausgewählte Abstandswert eine vorgegebene Größe bezüglich des anderen.Wertes aufweist (C0MP2 94, D1 74, D2 82; Figur 3);
    g) eine Einrichtung, um für einen erfaßten.Datenwert eine Abstandswertsumme zu bilden, die die Summe der absoluten Werte aus den von diesem erfaßten Datenwert gebildeten Abstandswerten darstellt (ALU1 76; DR 80, SDW 1Ό0; Figur 3);
    h) eine Einrichtung zum Bestimmen eines neuen Datenwertes in demjenigen Datenspeicher, der den-wenigstens einen erfaßten Datenwert enthält, wobei der bezeichnete Wert derjenige Datenwert ist, der in einer vorbestimmten Reihenfolge innerhalb der monotonen Reihe von Datenwerten auf den zuvor als nächsten Datenwert bezeichneten. Wert folgt (SPR 32*, Figur 2); und
    Berlin, den 6. 11. 1979 GZ 55 470 13
    ; , ..;..· .. .; - 98·» . .... ..; . .. '
    i) eine Einrichtung zum Verwenden der erfaßten Datenwerte und der entsprechenden Abstandswertsummen zum Ableiten des Kriteriumswertes und des Positionswertes (COMF1 96, SDC 90, SDV/ 100, PSN 62; Figur 3).'.
    14» Datenverarbeitungseinrichtung nach Punkt. 13, in der der nächste Datenwert in der monotonen Reihe als ein erster Datenwert dieser Gruppe bezeichnet wird, nach dem ein Datenwjert aus der Gruppe in dem Zwischenspeicher ge- speichert ist, gekennzeichnet durch eine Einrichtung zum Wiederholen des Betriebsablaufes der genannten Einrichtung unter Verwendung eines solchen nächsten ersten Da-•tenwertes (SPM 24, SPR 32, QTR 30, QTLP 22; Figur 2).
    15o Datenverarbeitungseinrichtung nach Punkt 13» gekennzeichnet dadurch, daß die Auswähleinrichtüng eine Einrichtung aufweist, um den kleinsten der ersten und zweiten Abstandswerte auszuwählen (C0MP2 94, .DI 74* D2 82; Figur
    :' 3)e '. " . , ' .. .·' ' ·' :' '. ' ' " "
    16O Datenverarbeitungseinrichtung nach Punkt 13* gekennzeichnet durch einen, Speicher für eine Abstandswertsumme (SDYv' 100; Figur 3) und eine Einrichtung zum Ersetzen eines in dem Abstandswertsummen-Speicher enthaltenen Wertes durch eine erneut gebildete Abstandswertsumme (MICROPROCESSOR 51, SDC 90, SDW 100; Figur 3)«
    17« Datenverarbeitungseinrichtung nach Punkt 13* gekennzeichnet dadurch, daß die Einrichtung zum Speichern des wenigstens einen erfaßten Datenwertes in dem Zwischenspeicher eine Anordnung aufweist, zum Speichern anderer be-
    Berlin, den 6. 11. 1979 • GZ 55 470 13
    ; 'W ·. . . . ; , - 99 - " · ·'; . ; · - . V '.
    zeichneter Werte in .den entsprechenden Zwischenspeichern, wobei diese Datenwerte denselben Wert aufweisen, wie der erfaßte Datenwert. .' '
    18, Datenverarbeitungseinrichtung nach Punkt 13» gekennzeichnet durch einen Speicher für einen Suchbreitenwert (PW 64; Figur 3)> eine Einrichtung zum Feststellen einer vorgegebenen Beziehung zwischen jedem ausgewählten Abstandswert und einem in dem Suchbreitenspeicher gespeicherten Wert (C0MP2 94, DR 80, PW 64; Figur 3) und eine Einrichtung, die nach dem Feststellen einer solchen vorgegebenen Beziehung bei einem speziellen ausgewählten . Äbstandswert einen vorbestimmten Wert an die Stelle eines solchen ausgewählten Abstandswertes setzt, wenn eine Abstandswert summe gebildet wird (QS 66; Figur 3)'.
    19» Datenverarbeitungseinrichtung nach Punkt 13, in der ein :.-Wichtungswert zu jedem der Datenwerte gespeichert' wird, .. gekennzeichnet durch einen Speicher für eine Wichtungswertsumme (SBW 102; Figur 3) eine Einrichtung zum Kombinieren derjenigen Wichtungswerte, die zu den beim Bilden einer Abstandswertsumme verwendeten Datenwerte gehören, um dadurch eine Wichtungswertsumme zu erzeugen (ALU2 78, . SBC 92, SBW 102; Figur 3) und eine Einrichtung zum Ersetzen eines Wertes in dem Wichtungswertspeicher durch die gebildete VVichtungswertsumme (MICROPROCESSOR 51, SBC 92, SBW 102; Figur 3) / . . .
    Datenverarbeitungseinrichtung nach Punkt 19S gekennzeichnet durch eine. Einrichtung zum Ersetzen des in dem Wich-. tungswertsummen-Speicher enthaltenen Wertes durch die Wichtungswertsumme nach Beendigung einer erneut gebilde-
    Berlin, den 6.. 1.1. 1979 GZ 55 470 13
    ten entsprechenden Abstandswertsumme (SBC 92, SBW 102, MICROPROCESSOR 51V Figur 3). . .'
  2. 21. Datenverarbeitungseinrichtung nach Punkt 20, gekennzeichnet durch eine· Einrichtung zum Erfassen," ob die Äbstandswerte, die aus dem Datenwert in dem Zwischenspeicher und dem. bezeichneten Datenwert der entsprechenden Gruppe gleich sind (C0MP2 94, D1 74, D2 82; Figur 3)j eine Einrichtung, um aus den zwei Wichtungswerten, die zu den zwei als gleich erkannten Abstandswerten gehören, denjenigen Wichtungswert auszuwählen, der bezüglich des anderen eine vorgegebene Größe aufweist (C0MP1 96j P0C1 52, T0S1 56; Figur 3), und eine Einrichtung zvim Verwenden des ausgewählten Wichtungswertes beim Kombinieren der Wichtungswerte (ALU2 78, SBC 92, SBW . 102; Figur 3).
    22« Datenverarbeitungseinrichtung nach Punkt 21, gekennzeichnet durch eine Einrichtung zum Auswählen des größten Y/ichtungswertes von den beiden Wichtuhgswerten (COMF1,' POCT ,52» T0S1 56, Figur 3)V
    23« Datenverarbeitungseinrichtung nach Punkt 22, gekennzeichnet dadurch, daß die Yerwendungseinrichtung einen erfaßten Datenvi/ert', die entsprechende Abs tandswert summe tüid die entsprechende Wichtujigswertsumme dazu verwendet, einen liriteriumswert zu bilden (SBC 92, SBW 102, SDC 90, SDW 100; Figur 3).
    24» Datenverarbeitungseinrichtung nach Punkt 23, gekennzeichnet durch einen Speicher für e3.nen Kriteriumswert
    Berlin, den'6. 11. 1979 GZ 55 470 13
    (SDW 100; Figur 3),und eine Einrichtung zum Ersetzen des in dem Kriteriuiiiswert-Speicher enthaltenen, zuvor gebildeten Kriteriumswertes, wenn ein erneut gebildeter Kriteriumswert eine vorgegebene Beziehung zu dem in dem Kriteriumswert-Speicher enthaltenen Wert aufweist (SDC 90, SDW 100, MICROPROCESSOR 51; Figur 3)·
    25· Datenverarbeitungseinrichtung nach Punkt 13* gekennzeichnet dujcch einen Speicher für einen Positionswert PSN 62; Figur β) und eine Einrichtung zum Speichern eines Positionswertes in dem Positionswertspeicher für jeden entsprechenden erfaßten Datenwert (REF 60, PSN 62; Figur
  3. 26. Datenverarbeitungseinrichtung nach Punkt 25, gekennzeichnet durch eine Einrichtung zum Ersetzen des in dem Positionswertspeicher enthaltenen Positionswertes entsprechend dem erfaßten Datenwert, der beim Bilden desjenigen Kriteriumswertes verwendet wird, der zu dem.Wert in dem Kriteriumswertspeicher die vorgegebene Beziehung hat (REF, PSIi 62, MICROPROCESSOR 51 ; Figur 3).
  4. 27. Datenverarbeitungseinrichtung nach Punkt 13» gekennzeichnet durch eine Einrichtung, die es der Anordnung gestattet, ihren Betriebsablauf so lange zu wiederholen, bis : sämtliche Datenwerte in den Datenspeichern verarbeitet sind (QTLF 22," LFMAR 28, NEXTREF 46; Figur 2).
    JL
DD79213236A 1978-05-31 1979-05-29 Datenverarbeitungsverfahren und-vorrichtung DD144136A5 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB25738/78A GB1588827A (en) 1978-05-31 1978-05-31 Data processor method and means for determining degree of match between two data arrays

Publications (1)

Publication Number Publication Date
DD144136A5 true DD144136A5 (de) 1980-09-24

Family

ID=10232481

Family Applications (1)

Application Number Title Priority Date Filing Date
DD79213236A DD144136A5 (de) 1978-05-31 1979-05-29 Datenverarbeitungsverfahren und-vorrichtung

Country Status (23)

Country Link
US (1) US4290115A (de)
JP (1) JPS54157456A (de)
AU (1) AU529460B2 (de)
BE (1) BE876591A (de)
BR (1) BR7903523A (de)
CA (1) CA1110771A (de)
CH (1) CH649164A5 (de)
DD (1) DD144136A5 (de)
DE (1) DE2838106A1 (de)
DK (1) DK223379A (de)
EG (1) EG13611A (de)
ES (1) ES481046A0 (de)
FI (1) FI791459A (de)
FR (1) FR2427645A1 (de)
GB (1) GB1588827A (de)
IL (1) IL57205A (de)
IT (1) IT1197508B (de)
LU (1) LU81335A1 (de)
NL (1) NL7904267A (de)
NO (1) NO791742L (de)
PL (1) PL215977A1 (de)
SE (1) SE7904315L (de)
YU (1) YU126279A (de)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4490811A (en) * 1979-03-14 1984-12-25 Yianilos Peter N String comparator device system circuit and method
FR2459512A1 (fr) * 1979-06-19 1981-01-09 Vidalin Jacques Procede pour la commande de rapprochement a effectuer entre des entites logiques de reference et des entites logiques issues d'un fichier
US4381551A (en) * 1979-09-13 1983-04-26 Sharp Kabushiki Kaisha Electronic translator
US4422158A (en) * 1980-11-28 1983-12-20 System Development Corporation Method and means for interrogating a layered data base
US4525803A (en) * 1982-08-12 1985-06-25 L'universite De Bordeaux 1 Method for controlling the comparison to be effected between reference logical entities and logical entities issuing from a file
US4700294A (en) * 1982-10-15 1987-10-13 Becton Dickinson And Company Data storage system having means for compressing input data from sets of correlated parameters
WO1985001600A1 (en) * 1983-10-04 1985-04-11 Proximity Devices Corporation String comparator device system, circuit and method
US4698751A (en) * 1984-07-13 1987-10-06 Ford Aerospace & Communications Corporation Systolic array for solving cyclic loop dependent algorithms
US4727483A (en) * 1984-08-15 1988-02-23 Tektronix, Inc. Loop control system for digital processing apparatus
US5212697A (en) * 1988-09-13 1993-05-18 Ricoh Company, Ltd. Variable length character string detection apparatus
AU624205B2 (en) * 1989-01-23 1992-06-04 General Electric Capital Corporation Variable length string matcher
US5008818A (en) * 1989-04-24 1991-04-16 Alexander K. Bocast Method and apparatus for reconstructing a token from a token fragment
JP3201945B2 (ja) * 1995-01-10 2001-08-27 インターナショナル・ビジネス・マシーンズ・コーポレーション データベースのテーブルを比較する方法
JPH08255172A (ja) * 1995-03-16 1996-10-01 Toshiba Corp 文書検索システム
JPH0981574A (ja) * 1995-09-14 1997-03-28 Fujitsu Ltd 検索集合表示画面を利用したデータベース検索法およびシステム
US5813002A (en) * 1996-07-31 1998-09-22 International Business Machines Corporation Method and system for linearly detecting data deviations in a large database
US20020180736A1 (en) * 2001-05-31 2002-12-05 Millmore Martin John Data entry control system
US7251646B1 (en) * 2006-02-13 2007-07-31 Microsoft Corporation Minimal difference query and view matching
US7797319B2 (en) * 2006-05-15 2010-09-14 Algebraix Data Corporation Systems and methods for data model mapping
US7769754B2 (en) * 2006-05-15 2010-08-03 Algebraix Data Corporation Systems and methods for data storage and retrieval using algebraic optimization
US7865503B2 (en) * 2006-05-15 2011-01-04 Algebraix Data Corporation Systems and methods for data storage and retrieval using virtual data sets
US7877370B2 (en) 2006-05-15 2011-01-25 Algebraix Data Corporation Systems and methods for data storage and retrieval using algebraic relations composed from query language statements
US7613734B2 (en) * 2006-05-15 2009-11-03 Xsprada Corporation Systems and methods for providing data sets using a store of albegraic relations
US7720806B2 (en) * 2006-05-15 2010-05-18 Algebraix Data Corporation Systems and methods for data manipulation using multiple storage formats
US9600513B2 (en) 2011-06-09 2017-03-21 International Business Machines Corporation Database table comparison
US9074402B2 (en) * 2012-05-01 2015-07-07 Toyota Motor Engineering & Manufacturing North America, Inc. Sliding door obstacle detection
US8583687B1 (en) 2012-05-15 2013-11-12 Algebraix Data Corporation Systems and methods for indirect algebraic partitioning

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3221158A (en) * 1961-06-28 1965-11-30 Ibm Combinatorial word analyzer
US3568156A (en) * 1967-08-09 1971-03-02 Bell Telephone Labor Inc Text matching algorithm
US3729712A (en) * 1971-02-26 1973-04-24 Eastman Kodak Co Information storage and retrieval system
GB1343867A (en) * 1971-06-17 1974-01-16 Ibm Data processing system
FR2226078A5 (de) * 1973-04-13 1974-11-08 Sodema
FR2293741A1 (fr) * 1974-12-04 1976-07-02 Anvar Procede et systeme de rapprochement iteratif et simultane de donnees avec un ensemble de donnees de reference
US4068298A (en) * 1975-12-03 1978-01-10 Systems Development Corporation Information storage and retrieval system
US4084260A (en) * 1976-07-12 1978-04-11 Sperry Rand Corporation Best match content addressable memory

Also Published As

Publication number Publication date
YU126279A (en) 1983-04-30
IT1197508B (it) 1988-11-30
IL57205A0 (en) 1979-09-30
DK223379A (da) 1980-01-18
FR2427645A1 (fr) 1979-12-28
CH649164A5 (de) 1985-04-30
NO791742L (no) 1979-12-03
CA1110771A (en) 1981-10-13
AU529460B2 (en) 1983-06-09
PL215977A1 (de) 1980-09-08
FR2427645B1 (de) 1985-04-19
NL7904267A (nl) 1979-12-04
BE876591A (fr) 1979-11-28
US4290115A (en) 1981-09-15
EG13611A (en) 1981-12-31
FI791459A (fi) 1979-12-01
AU4751779A (en) 1980-02-28
IL57205A (en) 1981-12-31
IT7968169A0 (it) 1979-05-30
GB1588827A (en) 1981-04-29
JPS54157456A (en) 1979-12-12
LU81335A1 (fr) 1979-10-30
ES8103405A1 (es) 1981-02-16
ES481046A0 (es) 1981-02-16
SE7904315L (sv) 1980-01-25
DE2838106A1 (de) 1979-12-06
BR7903523A (pt) 1980-01-22

Similar Documents

Publication Publication Date Title
DD144136A5 (de) Datenverarbeitungsverfahren und-vorrichtung
DE3852384T2 (de) Adaptives Hilfs-/Dialogsystem.
DE69330701T2 (de) Verfahren zur Durchführung der Suche nach Ähnlichkeiten mit einer Abfrage in einer Dokumentenmenge
DE69132356T2 (de) Verfahren und Gerät zur Zeigerkompression in strukturierten Datenbanken
DE68929132T2 (de) Datenbankverwaltungssystem und Verfahren hierfür
DE69231113T2 (de) Speicherverfahren für bibliographische Information über Daten aus einer endlichen Textquelle, und insbesondere Dokumentverbuchungen zur Verwendung in einem Suchsystem für Ganztextdokumente
DE2914132A1 (de) Datenbanksystem mit informationsvergleich
DE3408674A1 (de) Steuerungsverfahren
DE69027017T2 (de) Anordnung und Verfahren zur Speicherverwaltung in einem Mikrorechner
DE2740394A1 (de) Automatisches vergleichssystem fuer merkmale eines musters
DE1282337B (de) Programmgesteuerte elektronische Rechenanlage
DE2642027A1 (de) Verfahren zur automatischen umwandlung einer rohskizze in eine fertige zeichnung
DE1181461B (de) Adressenaddierwerk einer programm-gesteuerten Rechenmaschine
DE1424732A1 (de) Elektronische Ziffernrechenmaschine
DE69831710T2 (de) Genetisches Verfahren zur Zuteilung der Stockwerkanrufe bei einer Aufzugsgruppe
DE69123493T2 (de) Verarbeitungsverfahren und Gerät um einen Dateinamen von einem logischen zu einem richtigen Namen zu erstellen
DE3855494T2 (de) Abfragevorrichtung und -methode
DE3856539T2 (de) Automatisches Fingerabdruckidentifizierungssystem mit Verfahren und Vorrichtung zum Vergleichen von Fingerabdrücken
WO2007137308A1 (de) Verfahren zum steuern eines relationalen datenbanksystems
DE3736455A1 (de) Hierarchisches ablagesystem
DE60307527T2 (de) Tupleraumoperationen für eine feinkörnige Systemsteuerung
DE3854512T2 (de) Vorrichtung und Verfahren zur Anzeige der Ablauffolge eines Expertensystems.
DE102012025349B4 (de) Bestimmung eines Ähnlichkeitsmaßes und Verarbeitung von Dokumenten
DE69030942T2 (de) Verfahren und Vorrichtung zur Zuweisung von Operationen
DE2039228A1 (de) Verfahren und Vorrichtung zum Konvertieren und Stellenwert-Verschieben von Zahlsignalen unterschiedlicher Codes in einer Datenverarbeitungsanlage