DE2838106A1 - Datenverarbeitungsverfahren und -vorrichtung zum bestimmen des uebereinstimmungsgrades zwischen zwei datenfeldern - Google Patents

Datenverarbeitungsverfahren und -vorrichtung zum bestimmen des uebereinstimmungsgrades zwischen zwei datenfeldern

Info

Publication number
DE2838106A1
DE2838106A1 DE19782838106 DE2838106A DE2838106A1 DE 2838106 A1 DE2838106 A1 DE 2838106A1 DE 19782838106 DE19782838106 DE 19782838106 DE 2838106 A DE2838106 A DE 2838106A DE 2838106 A1 DE2838106 A1 DE 2838106A1
Authority
DE
Germany
Prior art keywords
value
data
values
register
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE19782838106
Other languages
English (en)
Inventor
Louis Michael Galie
Edward Lewis Glaser
Paul Eldred Pitt
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
System Development Corp
Original Assignee
System Development 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 Development Corp filed Critical System Development Corp
Publication of DE2838106A1 publication Critical patent/DE2838106A1/de
Withdrawn legal-status Critical Current

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)
  • Communication Control (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

zum Bestimmen des Übereinstimmungsgrades zwischen
Die vorliegende Erfindung bezieht sich allgemein auf datenverarbeitende Systeme, insbesondere auf Techniken sowie eine Torrichtung zur. Datenbehandlung in Informationsspeicher- und Recherchesystemen.
Zum Unterscheiden der vorliegenden Erfindung vom Stand der Technik gibt es bestimmte Eigenschaften, die herkömmlichen, heute im Gebrauch befindlichen Informationsspeicher- und Recherchesystemen zu eigen sind. Es handelt sich hierbei um folgende Merkmales
1. Zum Verarbeiten von Daten, bei denen versucht wird, eine Übereinstimmung zwischen einer vorhandenen, gespeicherten, digital codierten Datenbank und einer Abfrage dieser Datenbank mittels einer Anfrage herauszufinden, steht die Anzahl von bei der Abfrage benötigten Verarbeitungsschritten in direkter Relation zu der Anzahl von Ausdrücken sowohl der codierten Datenbank als auch der Anfrage.
809849/0490
TELEFON (OSS) S3 SS OS
TELEX ΟΒ-2Θ38Ο
TELEGRAMME MONAFAT TELEKOPIERER
.. .2838108
Demzufolge ergibt sich bei großen Informationsrecherchesystemen hinsichtlich der Verarbeitungserfordernisse sowohl eine große Operationskomplexität als auch eine umfangreiche Verarbeitungszeit.
2. Weiterhin wird bei den Info:mations-Management systemen, die in Form mehrerer Schichten strukturiert sind", wobei Jede höhere Schicht eine codierte Darstellung der vorhergehenden niedrigeren Schicht ist, der aus einer Abfrage einer Schicht resultierende- Grad von Übereinstimmung nicht als Wichtung für eine Abfrage auf einer folgenden, höheren Schicht verwendet. Ist somit der übereinstimmungsgrad auf einer höheren Schicht für mehrfache Anfragen identisch, ist keine Unterscheidung auf der Grundlage des Übereinstimmungsgrads der Anfragen auf der.nachfolgenden unteren Schicht möglich, so daß die aufgefundenen Daten nicht die bestmögliche Übereinstimmung bezüglich der Anfrage zu haben brauchen.
Ein Ausführungsbeispiel der vorliegenden Erfindung reduziert spürbar die Verarbeitungsschritte zur Berechnung des Übereinstimmungsgrades zwischen der gespeicherten Datenbank und der
Anfrage. ■
Ein Ausführungsbeispiel der vorliegenden Erfindung umfaßt die Portpflanzung des Übereinstimmungsgrades einer Anfrage auf einer Schicht als Wichtungsfaktor, der in der nachfolgenden Schicht zu verwenden ist, um dadurch sicherzustellen, daß die schließlich in Abhängigkeit von der Anfrage aufgefundenen Daten den bestmöglichen Grad von Übereinstimmung aufweisen.
Ein Verfahren nach der vorliegenden Erfindung verwendet eine Datenverarbeitungseinrichtung mit einem Speicher für einen Unscharf ewert, einen Speicher für einen Positionswert, mehrere Datenspeicher sowie einen Zwischenspeicher für jeden dieser Datenspeicher. Das Verfahren bestimmt eine spezielle Übereinstimmung zwischen mehreren Ereignissen einer Anfrage und meh-
90 9849/0490
2838108
reren Ereignissen einer gespeicherten Datenbank. Das Verfahren verwendet ein zuvor gebildetes Feld von Datenwerten, von denen jeder die Anzahl von Ereignispositionen zwischen der Gegenüberstellung eines Ereignisses der Anfrage und einem entsprechenden Ereignis in der gespeicherten Datenbank repräsentiert. Eine Gruppe eines oder mehrerer Datenwerte ist für jede von mehreren unterschiedlichen Arten von Anfrageereignissen vorgesehen. Jede unterschiedliche Gruppe ist in einem unterschiedlichen Datenspeicher gespeichert, wobei die Datenwerte der Gruppe von einem ersten Ende an in monotoner Reihenfolge angeordnet sind. Bei dem Verfahren stellt der Datenprozessor denjenigen Datenwert an dem einen Ende der Gruppen fest, der eine vorbestimmte Relation zu anderen Datenspeichern aufweist. Vorzugsweise wird der größte Datenwert erfaßt, und die monotone Reihenfolge wird angeordnet,beginnend mit dem größten Wert an dem ersten Ende der Gruppe. Der festgestellte Datenwert wird von der entsprechenden Gruppe in den zugehörigen Zwischenspeicher übertragen, um dort einen zuvor gespeicherten Datenwert zu ersetzen, falls ein solcher vorhanden ist. Die Datenwerte werden dann kombiniert, um einen Unscharfewert (dimness value) zu bilden. Der Unschärfewert stellt die Summe der Absolutwerte der algebraischen Differenzen dar, von denen jede aus dem festgestellten Datenwert und unterschiedlichen, an den ersten Enden der Gruppen in den Datenspeichern und den Zwischenspeichern vorliegenden Datenwerten gebildet wird. Es wird eine Feststellung getroffen, ob der gebildete Unschärfewert eine vorbestimmte Relation zu dem in dem Unschärfewert-Speicher enthaltenen Wert aufweist. Vorzugsweise wird festgestellt, ob der Unschärfewert kleiner ist als der in dem Unscharf ewert-Speicher enthaltene Wert. Der Wert in den Unscharfewert-Speicher wird durch den gebildeten Unschärfewert ersetzt, falls festgestellt wird, daß dieser gebildete Unschärfewert die vorbestimmte Relation aufweist. Der Wert in dem Positionsspeicher wird durch denjenigen festgestellten Datenwert ersetzt, der bei dem Kombinierungsvorgang verwendet wird, falls der •aus -- diesem Datenwert gebildete Unschärfewert die vorgegebene Relation aufweist.
909849/0490
/3
Gemäß einem besonders günstigen Verfahren besitzt der Datenprozessor einen Speicher für einen Wichtungswert, und es wird zugehörig zu jedem der Datenwerte ein unterschiedlicher Wichtungswert gespeichert. Das Verfahren umfaßt das Kombinieren der Wichtungswerte, die zu den Datenwerten gehören, die bei der Bildung eines Unscharfewertes kombiniert werden, um dadurch eine Summe von Wichtungswerten zu bilden. Der Wert in dem Wichtungswert-Speicher wird durch die gebildete Summe des Wichtungswertes ersetzt. Das Ersetzen findet statt, wenn der neuerlich gebildete Unscharfewert die genannte vorgegebene · Relation aufweist. .
Vorzugsweise umfaßt das Verfahren den Schritt des Übertragens zusätzlicher Datenwerte in die entsprechenden Zwischenspeicher, wobei die Datenwerte denselben Wert haben wie der- festgestellte Datenwert. - . . .
Vorzugsweise wird während des Verfahrens eine Bedingung vorgefunden, bei der jeder Zwischenspeicher und der entsprechende Datenspeicher einen Datenwert sowohl in dem Zwischenspeicher als auch an dem ersten Ende der entsprechenden Gruppe der Datenspeicher enthalten. ' ■ ". "."■"'".' '
Vorzugsweise ist bei dem Verfahren vorgesehen, die algebraische Differenz zwischen dem festgestellten Datenwert und dem Datenwert in demZwischenspeicher zubestimmen. Ebenso wird die algebraische Differenz zwischen dem festgestellten Datenwert und und dem Datenwert an dem ersten Ende jeder Gruppe bestimmt. Der Datenprozessor stellt fest, ob eine der in den vorherigen beiden Schritten bestimmten algebraischen Differenzen eine vorgegebene Relation zu den anderen algebraischen Differenzen auf-, weist, und falls dies der Fall ist, wird die. so festgestellte algebraische Differenz ausgewählt zur Verwendung bsi der Bildung des Unscharf ewert es, der die Summe der absoluten Werte der algebraischen Differenzen darstellt.
909849/0490
2638106
Vorzugsweise enthält jeder Zwischenspeicher und entsprechende Datenspeicher einen Datenwert sowohl in dem Zwischenspeicher als auch an dem ersten Ende der entsprechenden Gruppe. Das Verfahren sieht vor, festzustellen, ob die Datenwerte in dem Zwischenspeicher und an dem ersten Ende der entsprechenden Gruppe gleich sind. Der Datenprozessor wählt aus den zwei Wichtungswerten, die zu den zwei Datenwerten, deren Gleichheit festgestellt wurde, gehören, denjenigen Wiehtungswert aus, der einen vorbestimmten Betrag bezüglich des anderen aufweist· Der ausgewählte Wichtungswert wird bei dem Schritt des Kombinierens der Wichtungswerte verwendet.
Fach einem bevorzugten Ausführungsbeispiel der Erfindung ist ein Speicher zum Speichern eines Suchbreitenwertes (pipe width value) vorgesehen. Vorzugsweise ist bei dem Verfahren vorgesehen, eine vorgesehene Relation zwischen jeder algebraischen Differenz bei dem Kombinierungsschritt und dem Wert in dem Suchbreitenwert-Speicher festzustellen. Der Datenprozessor wird auf den letzten Schritt hin aktiv, indem er eine derartige vorgegebene Relation als eine spezielle algebraische Differenz feststellt, um einen vorgegebenen Wert für eine solche algebraische Differenz beim Bilden eines Unscharf ewertes, der eine solche Summe von Absolutwerten der algebraischen Differenz darstellt, zu substituieren.
Eine bevorzugte Ausführungsform der Erfindung stellt eine einzigartige Datenverarbeitungseinrichtung dar, die gemäß des obenerwähnten Verfahrens abläut.
Im. folgenden werden Ausführungsbeispiele der Erfindung anhand der Zeichnung näher erläutert. Es zeigen:
Fig. Λ ein allgemeines Blockdiagramm eines durch einen Mikroprozessor gesteuerten Datenprozessors, der eine Ausführungsform der vorliegenden Erfindung darstellt,
909849/0490
Fig. 2 ein Blockdiagramm des Ablagespeichers und des Ablage-Behandlers, der in dem in Fig. 1 gezeigten Datenprozessor verwendet wird,
Fig. 3 ein Blockdiagramm des ünsehärfegenerators, der in dem in Fig. 1 dargestellten Datenprozessor verwendet wird,
Fig. 4· (A)bis(C) Wortformate für den CMEM-,QTLF- und PMEM-Speicher in dem in Fig. 2 gezeigten Ablagebehandler,
Fig. 5 (A) bis 5(G) 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.
Fig. 1 stellt ein Blockdiagramm eines durch einen Mikroprozessor 10 gesteuerten Datenprozessors 12 dar, der ein Daten— magement- und Datenbank-Abfragesystem nach einem Ausführungsbeispiel der vorliegenden Erfindung bildet. Der Datenprozessor 12 enthält einen Ablagespeicher (chute) 14, einen Ablagebehandler 16 IEQd 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 Eintrags handelt es sich um digital codierte Zeichen und jedes Ereignis belegt eine einzelne Stelle
809849/049Q
in den- entsprechenden Anfrage- und Eintrag-Feldern. Ein 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überstellung summiert 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 TETW wird mit dem Eintragwort STATEMENT verglichen. Die Schiebestelle bezieht 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 Er- . eignis T der Anfrage TENT 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ührt. 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 dem ersten T in TENT und dem ersten T in STATEMENT. In ähnlicher V/eise gibt es sechs Stellen zwischen dem ersten E in TENT und dem ersten E in STATEMENT; acht Stellen zwischen den Ns sowie eine Stelle zwischen dem letzten T in TENT und dem ersten T in STATEMENT. 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 vorliegt.
9098A9/0490
Tabelle 1(b) veranschaulicht das Feld der Anzahl von Stellen zwischen gleichen Ereignissen des beschriebenen Beispiels für eine Anfangs-Gegenüberstelking in der Sehiebestellung nO". Die mit dem Anfrageereignis T ausgerichteten Werte beziehen sich auf die Anzahl von Schiebepositionen sowie auf die Schiebepositionen, die für die Gegenüberstellung mit jedem 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 Stimme der Anzahl von Stellen zwischen allen gleichen Ereignissen ein Minimum hat.
Dar Datenprozessor 12 erzeugt eine Zahl, die sogenannte Unscharfe, die ein Maß ist für den Ähnlichkeitsgrad aller gespeicherten Eintragereignisse mit den Anfrageereignissen. Die Ähnlichkeit zwischen der Anfrage und dem Eintrag drückt sich aus in der Aufeinanderfolge des Auftretens (sich Ereignens) derartiger gleicher Ereignisse und vollständige Ähnlichkeit liegt vor, wenn die Anfrage dieselben Ereignisarten aufweist, wie 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 Speichereinrichtungen, die in dem Datenprozessor 12 beim Bestimmen des Unscharfewertes verwendet werden. Die Speichereinrichtungen umfassen vier Ablagespeicher und für jede Ablage (chute) einen Zwischenspeicher, der auch als"Fach" (pocket) bezeichnet wird. Jeder Ablage sowie dem
90984970490
2S3I.106
ft
zugehörigen Fach ist eine Ablage-/?ach-Fummer zugeordnet. Im folgenden sind weitere Speicher oder Register mit den darin zu speichernden Daten angeführt.
REGISTER
d Kandidaten-Differenz-Summe
b Kanidaten-Genauigkeits-Summe
D Endgültige Differenz-Summe
B Endgültige Genauigkeits-Summe
PSfI 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 Wert der Differenz zwischen einer Anfrageereignisposition und einer Eintragereignisposition; im vorliegenden Beispiel: = QS m 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 gespeichert. Die Datenwerte in jeder Ablage sind eine in einer monotonen abfallenden Reihenfolge von links nach rechts angeordneten Werten. Jeder Wert stellt die Anzahl von Stellen zwischen gleichen Ereignissen einer Anfrage und einem Eintrag einer gespeicherten Datenbank dar. In den Ablagen und den Zusammenhang mit federn 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, wie in Abhängigkeit von einer Anfrage in einer niedrigeren Ebene einer Datenstruktur er-
909849/0490
halten wird. Derartige Datenstrukturen und Genauigkeits- . oder -auswahlwerte ("brightness values) sind im einzelnen in der US-PS 4· 058 298 erläutert.
Der erste Datenwert jeder Ablage, der auch der größte Datenwert in dieser Ablage ist, 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 Hegisterwerte 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 gebrachter -Wert ■ ersetzt wird.
a) Befindet sich am oberen Ende einer oder mehrere andere Ablagen ein identischer Wert, so bringe ihn in sein zugehöriges Fach.
2. Berechne den Absolutwert der algebraischen Differenz zwischen dem verarbeiteten Fachwert (der letzte in ein Fach gebrachte Wert) und jedem der Werte, die an den oberen Enden sowie in (fen Fächern der anderen Ablagen vorliegen. Summiere diese Absolutwerte auf und summiere
909849/0490
in jedem Pall die Genauigkeitswerte (Wichtungen), die zu demjenigen Ablage- oder Fachwert gehören, von denen der verarbeitete Sachwert 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örigem Faehwert gleich sind, addiere den größten Genauigkeitswert aus der Ablage oder dem zugehörigen Fach auf die Genauigkeitswert-Summe ·
c) Wenn eine Ablage und ihr zugehöriges Fach ohne Daten sind, wird der Wert QS, d.h. die Anzahl von Ereignissen
' in eine Anfrage, auf die Unscharfesumme addiert, und der Wert 1 wird auf die Genauigkeitssumme addiert.
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 ist ·
e) Wenn irgendeine in den Schritten 2a bis 2f errechnete Differenz größer ist als der Wert der Suchbreite PV/, ersetze die gebildete Differz 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
909849/0490
PSH-Register mit dem verarbeiteten Fachwert, und ersetz© den Wert im B-Register durch die soeben errechnete Genauigkeitswert-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 ersetae den im PSEF-Register vorhandenen Wert durch den verarbeiteten Paehwert·
4. Wiederhole die Schritte. 1 bis 3a» bis sämtliche Ablagewerte verarbeitet sind. Zu diesem Zeitpunkt stellt der ¥ert in 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-Register enthält die fcummulierte Genauigkeit, die der gefundenen Unscharfe zugeordnet ist.
Dar 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 Übereinsünnung zwischen Anfrage und Eintrag in der Position 1 vorliegt, wobei ein Unscharf ewert von 6 und ein Genauigkeitswert von 3 »7 errechnet werden· Die in den Tabellen 3(a)bis 3(h) enthaltenen Sternchen beziehen sich auf die spezielle Verarbeitungsregel, die die erläuterte Datenfeldoperation erforderlich macht. Ein Wert -54· 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(s) bis 3(h) dargestellten Beispiel erläutert werden. Gemäß Tabelle 3(a) stellt
909849/0490
2838158
der Datenprozessor 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 den anderen Datenwerten am oberen Ende der Ablagen. Hierzu wird der Datenwert 5 am oberen Ende der Ablage-ZFach-Nr. 1 festgesteift.
Der festgestellte Datenwert 5 wird dann aus dem oberen Ende seiner Ablage in das entsprechende lach übertragen, um dort den Leerwert -64 zu ersetzen.
Dann kombiniert der Datenprozessor die Datenwerte, um einen Unscharf ewert zu bilden· Insbesondere wird die Summe der Absolutwerte der algebraischen Differenzen gebildet, welche zwischen dem festgestellten Datenwert und den anderen Datenwerten am oberen Ende der Ablagen und Fächer vorliegen.
Hierzu bestimmt der Datenproaessor die algebraische Differenz zwischen den Datenwerten 4· und 5 ia dem Each der Ablage-/Fach-liummer Λ und dem oberen Ende der Ablage im Ab-Iage-/Faah-Hr. 0 und der Absolutwert von 1 wird gebildet und in das d-Register gespeichert. Anschließend wird die Absolutdifferenz zwischen demWert 5 in dem Fach und dem oberen Ende der Ablage der Ablage-/Fach-lTr. 1 gebildet, und der sich ergebende Wert 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-/Fach-ETr.1 und dem oberen Ende der Ablage der Ablage-/Fach-Nr. 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-Nr.-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-Re-
909849/0490
gister addiert. Ähnlich wie oben erläutert, wird die algebraische Differenz zwischen den Werten 5 und 1 in den AblageVFäch-Nr. 1 und 5 gebildetT und der Absolutwert 4-wird auf die Summe im d-Register addiert, wodurch sich eine Gesamtsumme, d.h. ein unscharfewert von 12 ergibt.
Darüberhinaus werden die Genauigkeitswerte 0,6, 0,3, 0,1, 1 und 0,8 im b-Register summiert, was einen Gesamt-^Genauigkeitswert von 3-»6 ergibt. Da die DB- und PSN-Register anfänglich leer sind, wird der Unscharf ewert 12 in das B-Register übertragen, und der Datenwert 5, der in der Ab- ..--.-lage/Fach-Nr. 1 verarbeitet wird, wird in das ESN-Register übertragen. . .
Nun soll die Operation des Datenprozessors anhand von Tabelle 3(b) betrachtet werden.
Der Datenwert 4- am oberen Ende der Ablage in der Ablage-/ Fach „Er. 0 wird als größter Wert am oberen Ende der Ablagen festgestellt und er wird in das entsprechende lach übertragen. Der Ablauf von Operationen, der oben in ZusammerihaTig^fflit — -----: ^ Tabelle 3(a) erläutert wurde, wird nun wiederholt. Die algebraische Differenz zwischen dem Datenwert 4 im Fach der Ablage-z^Fach-Nr. 1 und jedem ^81. Datenweirfce am oberen Ende der Ablage in jeder Ablage-/Fach-ITr. 1,2 und 4 wird gebildet. Da die Ablage-ZFach-ITr. 3 leer ist, wird die Länge der Anfrage, nämlich 5» für die Ablage-p/Fach-ETr. 3 verwendet, wie es oben bei Tabelle 3(a) beschrieben wurde.
Zusätzlich werden die Genauigkadtswerte, die zu jedem der mit dem Datenwert 4· kombinierten Datenwerte gehören, axifsummiert, so daß der gesamte Bötrag im b-Eegisterenscheint· 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 TJn-
909849/0490
schärfewert im d-Register kleiner ist als der im D-Registar und überträgt daher den Unscharf ewert 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. O verarbeitet wurde, in das PSN-Register übertragen. Auf diese Weise wird der zuvor im D-Register enthaltene Unscharfewert ersetzt durch den kleineren, im d-Ragister enthaltenen Unscharfewert· In ähnlicher Weise wird der im PSN-Register enthaltene Wert ersetzt durch denjenigen Datenwert, der erfaßt wurd^ und zum Bilden des neuen Unschärfewertee herangezogen wurden.
Nun soll anhand von Tabelle 3(c) die Operation des Datsnprozessors betrachtet werden. Der Datenwert 3 am oberen Ende der Ablage-ZFach-Nr. 1 und der Ablage-z^Fach-Nr. 2 wird als größter Wert am oberen Ende der Ablagen festgestellt und in deren entsprechende Fächer übertragen. Beim Abtasten der Fächer von der Ablage-/Fach-Nr. 4 zur Ablage-/ Fach-Ur. 0 hin stellt der Prozessor zuerst den Wert 3 in der Ab,lage-/Fach-Ifr· 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 Nr. 1 würde jedoch zu identischen Ergebnissen führen·
Nun wird die Ablauf folge von Operationen wiederholt, die oben anhand von Tabelle 3(a) bereits erläutert wurde. Die algebraische Differenz zwischen dem Datenwert unter Nr. 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 in d-Register addiert. Da sowohl im Fach als auch am oberen Ende der Ablage unter Nr. O Werte vorhanden sind, wird die kleinste Differenz zwischen dem Fachwert 3 unter Nr. 2 und dem Fachwert 4 unter Nr. O sowie dem Wert 0 im oberen Ende der Ablage unter Nr. O verwendet. Das bedeutet, der Wert 1, der
909849/0490
die kleinere Betragsdifferenz· zwischen (3-4) und (3-0) hat, wird zu "der Summe in dem Unscharfegenerator addiert·
Zusätzlich werden die Genauigkeitswerte, die zu jedem der Datenwerte gehören, mit denen der Datenwerte 3 unter Wr.2 kombiniert, auf summiert, 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 Unscharfewert in 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 Jach unter der Ablage-ZFach-Nr. 2 verarbeitet wurde, in das PSN-Register übertragen. Auf diese Weise wird der zuvor im D-Register enthaltene Wert durch den kleineren Unscharf ewert aus dem d-Register ersetzt. In ähnlicher Weise wird der im PSN-Register enthaltene Wert ersetzt durch den Datenwert, der erfaßt wurde, und bei der Bildung des neuen Unscharf ewertes herangezogen wurde.
Nun soll anhand der Tabelle 3(d) die Operationsfolge des Datenprozessors betrachtet werden..
Der Datenwert Λ am oberen Side der Ablage unter Ablage-/Fach-Nr. 4 wird als größter Wert am Ende der Ablagen festgestellt und in das entsprechende Fach übertragen. Zusätzlich wird der Ablagewert 1, der nun für die beiden Ablage VFaOh-JTr. 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, die oben in Zusammenhang mit Tabelle 3 (a) erläutert wurde,·wird nun wiederholt. Die algebraische Differenz zwischen dem Datenwert 1 im Fach unter Nr. 4 und dem
9 09849/04 90
Datenwert am oberen Ablageende unter Nr. O sowie dem Fachwert unter den Nr. 1,2 und 4· wird jeweils gebildet. Da die Ablage-/Fach-Nr. 3 leer ist,wird die Länge der Anfrage, nämlich 5, für die AblageVFach-Nr. 3 verwendet, wie es bei Tabelle $(a) erläutert wurde. Da sowohl im Fach als auch in· der Ablage für die Nr. O ein Wert vorliegt, wird die kleinste Differenz zwischen dem Wert 1 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 Unschärfewert im d-Register kleiner ist als der im D-Register und überträgt daher den Unschärfewert 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 in D-Register enthaltene Unschärfewert durch den kleineren Unschärfewert aus dem d-Register ersetzt. In ähnlicher Weise wird der im PSN-Register enthaltene .Wert durch den Datenwert ersetzt, der zur Bildung des neuen unscharfewertes erfaßt und verwendet würde.
Nun soll anhand von Tabelle 3(e) die Arbeitsweise des Prozessors erläutert werden.
Der Datenwert O am oberen Ablageende unter Nr. O wird als 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, wird nun
909849/0490
wiederholt. Es wird die algebraische Differenz zwischen dem !Datenwert O im Fach unter Nr. O und jedem der Datenwerte im Fach jeder der Nummern O, 1,2 und 4 gebildet. Da die Ablage-/ 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) gesagt wurde.. Ferner werden die Genauigkeitswerte, die zu jedem der mit fern Datenwert 0 unter Nr. 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 Datenwsrt 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 Nr. 0 verarbeitete Datenwert O nicht in das PSN-Register übertragen. Auf diese V/eise wird der zuvor im D enthaltene Unscharfewert nicht durch den größeren Unscharfewert im d-Register er-setzt. In ähnlicher Weise wird der im PSN-Register enthaltene Wert nicht durch den für die Bildung des neuen Unscharfewertes 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—/ Fach-Nr. 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 unter Nr. 2 und dem Datemvert am oberen Ablageende unter Nr. 4- wird gebildet. Wie zuvor wird, da
909849/0490
**}* 2838108
die Ablage-/Fach-Nr· 3 leer ist, die Länge der Anfrage, nämlich 5? für die Ablage-/Fach-Ure 3 verwendet und auf das d-Register addiert. Da in dem oberen Ende der Ablagen unter Nr. O und 1 keine Datenwerte vorliegen, werden die Differenzen zwischen dem Wert des Fachs unter Nr. 2 und den Werten in den Fächern unter den Nr. O und 1 gebildet. Im Anschluß ai 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 Unscharfewert im d-Register größer ist als derjenige im D-Register und überträgt aus diesem Grund nicht den Unscharfewert 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 Nr. 2 verarbeitet wurde, nicht in das PSN-Register gebracht.
Nun soll anhand der Tabelle 3(g) die Arbeitsweise des Datenprozessors erläutert werden. Der Datenwert -3 sm oberen Ablageende unter Nr. 4· wird als größter Wert an den oberen Ablageenden festgestellt und indas entsprechende Fach übertragen. Entsprechend den Verarbeitungsschrxtten 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 14·, während das b-Register einen Wert 3»6 enthält. Der Datenprozessor stellt fest, daß der Unscharfewert im d-Register größer ist als derjenige im D-Register und überträgt aus diesem Grund den Unscharf ewert 14 und die Summe der Genauigkeitswerte 3,6 nicht aus dem d-Register, bzw. dem b-Register in das D-Ragister, bzw. das B-Register. Darüberhinaus wird der Datenwert -3i der zuvor festgestellt und im Fach unter Nr. 4- verarbeitet wurde, nicht in das PSN-Register übertragen.
909849/0490
Nun soll anhand der Tabelle 3(b) die Arbeitsweise des Datenprozeseors beim Ausführen des Beispiels erläutert werden, wobei nunmehr keine weiteren Ablagewerte zur Verarbeitung vorliegen·
Der Datenwert -4· am oberen Ablageende unter Nr. 4- wird als größter Wert am oberen Ende der Ablagen festgestellt und in das entsprechende Fach übertragen. Entsprechend den Verarbeitungsschritten, die in Zusammenhang mit den Tabellen 3(a) bis 3(g) beschrieben wurden, bildet der Datenprozessor eina 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 Wert 3,4·· Der Datenprozessor stellt fest, daß der Önsehärfewert im ά-Eegister kleiner ist als derjenige im D-Register und überträgt daher nicht den Unschärfewert 17 und den Genauigkeit swert 3 Λ aus dem d- und b-Register in das D-Register bzw. B-Register· Darüberhinaus wird der D^tenwert -4·, der soeben festgestellt und in dem Fach unter Nr. 4· verarbeitet wurde, nicht in das PSN-Register übertragen.
Die durch die Operation des Datenprozessors beim Ausführen der in den Tabellen 3(a) bis 3(h) dargestellten Beispiele erzielten Resultate zeigen, daß die beste Übereinstimmung zwischen der Anfrage und dem Eintrag bei Position 1 mit einem, entsprechenden Unscharf ev/ert von 6 und einem zugehörigen Genauigkeitswert von 3»7 vorliegen.
Im folgenden soll unter Bezugnahme auf die Fig. 2 und 3 der Datenprozessor 12 erläutert werden. Es wird ein Datenprozessor 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
09849/0490
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 100. für einen Unschärfewert, 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-Speichers 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 Kellerspeicherzeiger (stack pointer) SPE 32 spezifiziert5 dieser Kellerzeiger zeigt auf den nächsten Datenwert in der Ablage, welcher in dieser Ablage zu verarbeiten ist. Der PMEM-Speicher 26 enthält ein separates Fach, d.h. einen Zwischenspeicher für jede Speicherstelle (Ablage) Im CMEM-Speicher 20. Jedes Fach speichert einen Datenwert sowie einen zugehörigen Genauigkeit swert, wie noch erläutert werden wird.
Betrachtet man die Arbeitsweise des Datenprozessors 12, so stellt der Ablagebehandler 16 (siehe Fig. 2) den Datenwert am oberen Ende des CMEM-Speichers 20 fest, der eine vorgegebene Relation 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.
SQ9849/0490
3sf .-■--.
Dies geschieht unter Steuerung durch den Mikroprozessor 21 y während dessen Zustände 2 bis 6 für die ersten erfaßten Datenwerte, sowie während der Zustände 10, 17 und 18 für die zweiten und anschließenden erfaßten Datenwerte· Der Ablagebehandler veranlaßt,daß <fer 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 14-,15 1UHd 16 einnimmt. ■ -
Der Unscharfegenerator 18 kombiniert den erfaßten Datenwert mit den anderen Datenwerten am oberen Ende der Ablagen und den in den Fächern des EMEM-Speichers 26 gespeicherten · Datenwerten. Hierzu wird der Absolutwert der algebraischen
Differenz zwischen dem erfaßten, d.h. festgestellten .,
größten Datenwert und den individuellen Datenwerten, die am oberen Ende jeder Ablage sowie in den Fächern gespeichert sind, bestimmt, und die Summe dieser Werte wird gebildet, um einen Unscharfewert in der oben erläuterten Weise zu erzeugen. Dies geschieht in dem Unscharfegenerator'für 3 ede Ablage wie folgt. Der festgestellte Datenwert in XEEF 50 wird nach REF 60 (Fig. 3) übertragen,und der Datenwert im oberen Ablageende sowie der zugehörige Genauigkeitswert werden in die Register T0S2 58 und TOST 56 übertragen (Fig.3), und der Datenwert und sein zugehöriger Genauigkeitswert werden aus XPOC 40 in die Register P0C2 54 und P0C1 übertragen. Die algebraische Differenz wird zwischen dem festgestellten Datenwert, der in REF 60 gespeichert ist, und den Datenwerten in P0C2 54· gebildet, und es wird die algebraische Differenz gebildet zwischen dem erfaßten Datenwert in REF 60 und dem Datenwert in T0S2 58. Die kleinere dieser Differenzen wird in eine "Kandidaten"-Unscharfesumme addiert, die in einen SDC-Akkumulatorregister 90 gebildet wird. Es sei darauf hingewiesen, daß der Genauigkeitswert in T0S1 56 und P001 52 zu dem Datenwert in T0S2 58 bzw.
909849/0 49 0
POO2 54· gehört. Weiterhin wird der Genauigkeitswert, der zu dem Datenwert aus 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 Genauigkeit 3werte in den Registern TOS1 56 und POC1 52 verglichen und die größere Genauigkeit von beiden wird in dem SBC-ikkumulator-Register 92 aufsummiert, während der entsprechende Datenwert in dem SDC-Akkumulator-Register 90 summiert wird. Dies geschieht durch Steuerung des Mikroprozessors 51 während derZustände 4,5,6,7 und 10, wobei der Zustand 7 derjenige ist, bei dem gleiche oder ungleiche Zustände festgestellt werden.
Der Mikroprozessor 51 stellt in den Zuständen 12 und 13 fest, ob der Unscharfewert, der in SDC 90 gebildet und gespeichert wird, kleiner ist als der Wert, der derzeit im SDW-Register 100 enthalten ist. Das SDW-Register 100 enhält den minimalen Unscharfewert, der soweit bestimmt wurde.
Der Mikroprozessor 51 bildet im Zustand 14· die Einrichtung zum Ersetzen des Wertes in SDW 100 mit dem soeben gebildeten Unscharfewert, der in SDC 90 enthalten ist, falls der Wert in SDC 9o kleiner ist als der Wert in SDW 100. Gleichzeitig wird der Wert in SBW 102 ersetzt durch den Wert SBC 92. Darüberhinaus wird, wenn festgestellt wird,daß der gebildete Unscharf ewert 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 in PSN 62 stellt die relative Position der Anfrage und des Eintrags dar, die
909849/0490
283810$
zu dem Wert in SDW 100 gehört.
Für den Fall, daß SDC 90 und SDW 100 gleich sind» stellt der Mikroprozessor 51 fest, ob der Genauigkeitswert in SBC 92 größer ist als der Genauigkeitswert im Speicherregister SBW 102. SBW 102 enthält den zu dem derzeitig in SDV/ 100 enthaltenen Unschärfewert gehörigen Genauigkeit swert. Der Wert in SBW 102 wird durch den Wert SBC ersetzt, wenn SBC größer ist als SBW und der Wert in SDC 90 ersetzt den Wert in SDW 100, während der Wert in-EEF 50 den Wert in PSN 62 ersetzt. Dies geschieht durch den Mikroprozessor 51 während des Zustandes
Im folgenden soll der Ablagespeicher erläutert werden. Sämtliche Ablagebehandler-Daten und Daten-Zugriffszeiger, liegen in vier Speichern vor, nämlich in den Speichern CMEM 2o, QILF 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 LFMAR 28 durch den Mikroprozessor 10 mit einem Initialisierungswert geladen, welcher die Adresse des ersten Datenausdrucks in QTLF darstellt, der durch den Ablagebhandler 14 zu verarbeiten ist.
Nachstehend sind die einzelnen Bauelemente erläutert.
CMETi: Der CMEM-Speicher 20 ist ein 4K χ 14 Bit (K=1o24) SchreibVLese-Speicher (RAM), vorzugsweise handelt es sich um 14 Bauelemente Nr. 2147 der Firma Intel . Dieser Speicher speichert die Ablagefeld-Elementwerte, die von dem Mikroprozessor 10 übertragen werden. Bei dem. CMEM-Speicher 20 handelt es sich vorzugsweise um. ein 64 χ 64-.Wortfeld mit 64 Ablagen, von denen jede 64 Worte umfaßt. Das Speicher-Wortformat ist in Fig. 4(a) dargestellt. Eis
9098A9/0490
handelt sich um ein 14-Bit-Wort, dessen Bits 7 bis 13 den V7ert für jedes Datenwertelement der Ablage enthalten, während die Bits 6 bis O den zu dem entsprechenden Ablageelement zugehörigen Genauigkeitswert enthalten. Jedes Speicherwort ist durch eine 12-Bit-Zahl adressierbar. Diese wird gebildet durch Aneinanderkettüng 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 V/ortstelle 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 QTLP-Speicher 22 ist ein herkömmlicher 1K χ 16 Bit-Speicher, vorzugsweise handelt es sich um vier Intel-Elemente Nr. 2114 (RAM) und jedes Speicherwort in QTLP enthält die Ablageadressen, die die oberen und unteren Ablagen definieren, wobei letztere wiederum ein vollständiges PeId in CMEM 20 definieren. Das 13-Bit-Wort-Pormat von QTLP 22 .ist in Pig. 4 (b) dargestellt. Bit 12 enthält das Plag GOHT, welches durch den Mikroprozessor 10 in allen Einträgen von QTLP 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 OMEM 20-Peld, unddie Bits 5 bis 0 enthalten MIN, die Adresse der letzten Ablage in dem PeId. QTLP 22 enthält 64 Speicherworte, dies ist die größtmögliche Anzahl von Feldern, die in CMEM 20 gespeichert v/erden kann.
809849/0490
Der Wert von MAX wird in das QtDR-Eegister 30 übertragen, und der Wert von MIN wird in das MIN-Register 34· durch den Ablagebehandler 16 übertragen. Der Wert in QTR 30 wird verwendet und dann dekrementiert, bis der Wert in QTR 30 dem Wert in MIN 34 gleicht. Zu diesem Zeitpunkt sind alle oberen Ablagewerte abgetastet worden. Das MIN-Register 34 ist ein herkömmliches oktales D-Flip-Flop, vorzugsweise vom Typ 74-LS377 der Firma Texas Instruments. Das LFMAR-Register 28, bei dem es sich um einen herkömmlichen 4-Bit-Zahler handelt, besteht vorzugsweise aus zwei Bauelementen 25LS2569 der Firma Texas Instruments und dient zum Adressieren von QTLF 22. Das LFMAR-Register 28 wird dann um 1 vermindert, um den Ablagebehandler 16 durch die Speicherworte im QTLF-Register 22 und somit durch die Felder in CMEM 20 fort zuschalten.
SPMt Der Kellerz-eigerspeicher SPM 24, ist als herkömmlicher 2K χ 16 Bit-RAM ausgebildet, vorzugsweise aus zwei Intel-Bauelementen Nr. 2114-2, wobei jedes Speicherwort, adressiert durch QTR 30 auf einen oder mehrere nächste Datenwerte in einer CMEM 20-Ablage zeigt, welche durch den Ablagebehandler 16 zu verarbeiten sind.
PMEM: Der Fachspeicher PMEM 26 ist als herkömmlicher 2K χ 16 Bit-RAM ausgebildet, vorzugsweise besteht er aus vier Intel-Bauelementen Nr. 2114, und er enthält das entsprechende Fach für jede der 64 Ablagen in GMEM 20. Das 15-Bit umfassende Wortformat von PMEM 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 V/ert vorliegt. Ist der Wert in der Bitstelle 14 "1", so ist das Fach leer. Ist andererseits das Bit einen0M liegt in dem Fach ein Viert vor. Die Bits 13 bis 7 enthalten den Fach-Datenwert, die Bits 6 bis 0 enthalten den Genauigkeitswert, welcher dem Datenwert in den Bits 13 bis 7 entspricht.
909849/049-0"
Ira folgenden soll im einzelnen der Ablagebehandler erläutert werden.
Die grundsätzliche Funktion des Ablagebehandlers besteht darin, die Ablagen in einer sequentiellen Reihenfolge zu leeren und den Datenwert 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überhinaus liefert der Ablagebehandler Operations-Steuerflag-Signale an den unschärfegenerator.
Nachstehend sind die einzelnen Bauelemente erläutert.
SPR: Das Kellerzeigerregister SPR 32 ist ein herkömmliches 8-Bit—Zählregister, vorzugsweise vom Typ Nr. 25LS2569 der Firma Advanced Microproducts. Der Zähler enthält einen Wert, der auf den nächsten in einer Ablage zu verarbeitenden Datenwert "zeigt". Das SPR-Register 52 wird 'über den SPM-Bus 25 aus dem SPM-Speicher 26 geladen. Jeder Datenwert in einer CMEM 20-Ablage wiederum wird identifiziert durch dekrementieren von SPR 32. Wenn der in SPR 32 enthaltene Wert für eine spezielle Ablage Null ist, sind sämtliche Datenwerte in dieser Ablage verarbeitet.
QTR: Das QTR-Register 30 ist ein 8-Bit-Zählregister, vorzugsweise handelt es sich um zwei Artikel 25LS2569 der Firma Advanced Microproducts. 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 Dekrementieren des Wertes in QTR 30 identifiziert. Ist QTR gleich MIN, sind sämtliche Ablagen in einem speziellen CMEM-FeId 20 verarbeitet. Das QTR-Register 30 dient weiter-
909849/0490
hin als Adressregister für SPM 24 und es enthält die höchstwertigen Bits jeder CMEM-20-Adresse.
ΜΙΝϊ Das MIN-Register 34 ist ein oktales D-Flip-Flop, vorzugsweise vom Typ 74LS377 der Firma Texas Instruments, welches die Adresse einer Ablage in GMEM 20 enthält, die eine untere Ablagegrenze eines CMEM-20-Feldes bedeutet. Der Wert in QTR 30 wird, wenn er dekrementiert ist, mit dem Wert ±i MIN 34 verglichen und Koinzidenz zeigt an, daß alle Ablagen in einem CMM 20-Feld verarbeitet sind. MIN 34 wird über den Datenbus 31 aus QTLF 22 geladen.
00MP2..: C°MP2 36 ist ein 8-Bit-Komparator, vorzugsweise, ein Bauelement Nr. 25LS2521 der Firma Advanced Microproducts. Dieses Bauelement liefert sodann ein Ausgangssignal , wenn die verglichenen Größen gleich sind. C0MP2 36 stellt fest, wenn QTH 30 und MIN 34 gleich sind und zeigt somit an, daß alle Ablagen verarbeitet wurden. G0MP2 36 wird aus C£DR 30 über den MAR-Bus 37 sowie direkt aus dem MIN-Rggister 34 · geladen.
XPOO, PE: Bei dem Bauelement XPOO, PE 40 handelt es sich um ein oktales D-Flip-Flop, vorzugsweise um zwei Bauelemente 74LS377 <ier Firma Texas Instruments. Das Bauelement enthält Fachdaten, die der gerade in Bearbeitung befindlichen Ablage entsprechen. Das höchstwertige Bit von XPOO 40 ist das Flag "Fach leer" (PE). XPOO 40 ist das Register, das jeden Fach-Datenwert, die entsprechende Genauigkeit und das PE-Flag, die für eine spezielle durch den Unschärfegenerator 18 verarbeitete Ablage benötigt werden, an den Unscharfegenerator 18 liefert. XPOC 40 wird über den Bus 31 aus GMEM 20 geladen.
XTOS: XTOS 42 ist ein oktales D-Flip-Flop, vorzugsweise handelt es sich um zwei Bauelemente 74LS377 der Firma Texas
909849/0490
Ii
Instruments. XTOS 42 enthält den Datenwert sowie den zugehörigen Genauigfceitswert, der am oberen Ende der in Bearbeitung befindlichen Ablage vorliegt· XTOS 42 wird über den Datenbus 31 aus DMEM 20 geladen. XTOS 4-2 liefert für jede spezielle Ablage Ablagedatenwerte und die zugehörige Genauigkeit an den Unscharfegenerator 18, um dort für Berechnungen zur Verfügung zu stehen.
EMQS: Das EMQS-Register 44 ist ein okales D-Flip-Flop, 'vorzugsweise handelt es sich um zwei Bauelemente 74LS374 der Firma Texas Instruments, die den Datenwertabschnitt eines CMEM 20-Datenwortes ohne die zugehörige Genaugigkeit enthalten· Der Wert in EMQS 44 wird dazu verwendet, den größten Datenwert an den oberen Enden der Ablagen herauszufinden. EMQS 44 wird über den Datenbus 31 aus CMEM 20 geladen.
KEXTREF: Das KEXTREF-Register 46 ist ein oktales D-Flip-Flop und es besteht vorzugsweise aus zwei Bauelementen des Typs 74LS374 der Firma Texas Instruments. Das Register enthält den größten Batenwert des oberen Endes der Ablage, der soweit festgestellt wurde. NEXTREF 46 wird mit einem Wert -64 initialisiert, der garantiert, daß beim ersten Vergleich durch den Komparator (COMP 1) 48 in EMQS 44 stets ein Wert ist, der größer ist als der Wert, der in KEXTREF 46 vorliegt. Hierdurch wird sichergestellt, daß der erste obere Ablagewert,der verarbeitet wird, in das KEXTREF-Register 46 gebracht wird. Das Bauelement KEXTREF wird direkt durch einen nicht-invertierenden, oktalen 3-Zustand-Pufferverstärker 48 initialisiert. Bei dem Verstärker 48 handelt es sich vorzugsweise um ein Bauelement des Typs 74LS244 der Firma Texas Instruments. Die Initialisierung erfolgt über den KEXTREF-Bus 49 mit einem Anfangswert von "-64". Der Wert "-64" wird aus dem Pufferverstärker 48 abgeleitet, dessen Eingang permanent so ver-
809849/0490
drahtet; ist, daß er ein Ausgangs signal von -64 erzeugt. 3SfEXTREF 45 wird direkt durch das EMQS-Register 44 nur dann geladen, wenn der Wert in EMQS 44 denjenigen Wert übersteigt, der in HKXIRE]? 46 vorliegt.
COMP1: COMPI ist ein 8-Bit-Komparator, vorzugsweise handelt es sich um zwei Bauelemente des Typs 74LS85 der Firma Texas Instruments. Der Komparator vergleich den Wert in MQS 44 und HEXTREF 46 und veranlaßt, daß der Wert in EMQS' nach HSXTREF 46 geladen wird, wenn der Wert in EMQS 44 den Wert von NEXTREF 46 übersteigt.
XREF: Das XREF-Register 50 ist ein oktaltes D-Flip-Flop, vorzugsweise ein Bauelement des Typs 74LS374 der Firma Texas Instruments. Das Register enthält den an den oberen Enden der Ablagen vorhandenen, am meisten positiven Wert. XREF 50 wird aus ITEXTREF 46 geladen, wenn die Abtastung. aller Ablagen vollständig ist. XREF 50 liefert an den Unscharf egenerator den am meisten positiven Wert, der bei den Berechnungen in dem Unschärfegenerator verwendet wird.
Im folgenden soll der Ablagebehandler näher erläutert werden.
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 der Firma Texas Instruments 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 "1n gesetzt, wenn ein Fachwert und der entsprechende Wert des oberen Endes der Ablage gleich sind.
909849/0490
t 2838108
QTRMIIT: Dies ist der Ausgang des Flip-Flops 114-; er wird durch den Mikroprozessor 21 auf "1" gesetzt, wenn der Wert in QTR 30 gleich ist dem Wert in MIN 34-, um somit anzuzeigen, daß der Ablagebehandler eine Abtastung der Ablagen in einem CMEM 20-Feld abgeschlossen hat«,
CHRDT: Dies ist der Ausgang des Flip-Flops 116; er wird durch den Mikroprozessor 21 auf "1" gesetzt 5 um anzuzeigen, daß die Daten in XPOC 40, XTOS 4-2 und XSEF 50 für den Transfer zum und für die Bearbeitung durch den Unscharf egenerator 16 bereitstehen.
CHDOHE: Dies ist der Ausgang des Flip-Flops 118; er wird durch den Mikroprozessor 21 auf H1n gesetzt, um dem unscharf egenerator 18 anzuzeigen, daß der Ablagebehandler 16 die Verarbeitung eines CMEM 20 -Feldes abgeschlossen hat·
CONT: 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 "1n gesetzt, wenn in CMEM 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.
CEMPTY: Dies ist der Ausgang des Flip-Flops 122, der durch den Mikroprozessor 21 auf "1" gesetzt wird, wenn alle Einträge in CMEM 20 verarbeitet sind. CEMPTY versetzt den Ablagebehandler 16 in einen Zustand "unbesetzt" bzw. in einen Ruhezustand, bis CMEM 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.
909849/0490
Im folgenden soll der Unschärfegenerator näher besprochen werden.
Der Unscharf egenerator 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 Pach-Datenwert und dem diesem zugehörigen Genauigkeitswert sowie dem am meisten positiven Bezugsdatenwert für jede verarbeitete Ablage. Der Unschärfegenerator bildet die absoluten Differenzwerte zwischen dem Bezugsdaten wert einerseits und dem Datenwert des oberen Endes einer Ablage sowie dem Each-Datenwert für jede Ablage andererseits. Dann findet der Generator die minimale Summe dieser absoluten Dif&renzwerte für sämtliche Ablagen heraus. Zusätzlich summiert der Unschärfegenerator die Genauigkeitswerte, die denjenigen Datenwerten entsprechen, die zum Bilden der absoluten Differenzwerte verwendet werden.
Der Ablagebehandler enthält folgende Bauelemente: ' .
POC1: Das POCI-Register 52 ist ein 8 Bits umfassendes oktales D-Flip-Flop-Register, vorzugsweise handelt es sich um ein Bauelement des Typs 74-LS374- der Firma Texas Instruments. D.as Register 52 enthält den zu dem Datenwert in POC2 54 zugehörigen Genauigkeitswert. POCI 52 wird aus dem Register XPOC 40 geladen.
P0C2: Das P0C2-Register 54- ist ein 8-Bits umfassendes oktales D-Plip-Plop-Register, vorzugsweise handelt es sich um. ein Bauelement des Typs 74-LS374· der Firma Texas Instruments. Das Register enthält den Fach-Datenwert der verarbeiteten Ablage. P0C2 54- wird direkt aus XPOC 40 geladen.
909849/0490
Das TOS1-Register 56 ist ein 8 Bits aufweisendes oktales D-Flip-Flop-Register, vorzugsweise vom Typ 74LS374-der Firma Texas Instruments. Das Register enthält den zu dem Datenwert im TOS2-Register 58 gehörigen Genauigkeitswert. Das TOS1-Register 56 wird direkt aus dem XTOS-Register 42 geladen.
T0S2: Das T0S2-Register 58 ist ein 8 Bits aufweisendes oktales D-Flip-Flop-Register, vorzugsweise vom Typ 74-LS374 der Firma Texas Instruments. Das Register 58 enthält den zu Datenwert des oberen Endes einer in Bearbeitung befindlichen Ablage. Das TOS2-Register 58 wird direkt aus dem XTOS-Register 42 geladen..
REF: Das REF-Register 60 ist ein oktales D-Flip-Flop-Register, vorzugsweise vom Typ 74LS377 der Firma Texas Instruments.Das Register 60 enthält den am meisten positiven Bezugsdatenwert des oberen Endes einer Ablage für das laufende obere Ende der Ablageabtastung. Das REF-Register 60 wird direkt aus dem XREF-Register 50 geladen.
PSN: Das PSN-Rogister 62 ist ein oktales D-Flip-Flop-Register,vorzugsweise vom Typ 74LS377 der Firma Texas Instruments. Das Register 62 enthält den am meisten positiven Bezugsdatenwert des oberen Endes einer Ablage, welcher zu der minimalen Unscharfesumme gehört. Das PSN-Register 62 wird direkt aus dem REF-Register 60 geladen.
PW: Das PW-Register 64 ist ein oktales D-Flip-Flop-Register, vorzugsweise vom Typ 74-LS374- der Firma Texas Instruments. Das Register 64 enthält einen Grenzwert, der die maximal zulässige Differenz zwischen dem Bezugsdatenwert im REF-Register 60 und den Werten im P002-Register 54- und dem T0S2-Register 58 auf einen vorbestimmten Wert beschränkt.
909849/0490
Das PW-Register 64 wird direkt aus dem Mikroprozessor geladen.
QS: Das QS-Register 66 ist ein oktales D-Flip-Flop-Register, vorzugsweise vom Typ 74-LS377 eier Firma Texas Instruments. Das Register 66 enthält einen Werf, der die Anzahl von Datenwerten in eine Anfrage darstellt. Das Register wird direkt durch den Mikroprozessor 10 geladen und bei der Unscharfeberechnung immer, dann verwendet, wenn die Differenz zwischen dem Wert im REF-Register 60 und dem P0C2-Register 54 sowie dem T0S2-Register 58 den . .· V7ert im P¥-Register 64 überschreitet.
MULTIPLEXER (MUX) 68: Der Multiplexer (MUX) 68 ist ein 14-zu-7-Multiplexer, vorzugsweise handelt es sich um zwei Bauelemente vom Typ 74-LS157 der Firma Texas Instruments. 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 70. Der von Bedingungen abhängige Transfer wird durch den Mikroprozessor 51 bestimmt.
E1: Das E1-Register 70 ist ein oktales D-Flip-Flop-Register, vorzugsweise handelt es sich um ein Bauelement des Typs 74LS374 der Firma Texas Instruments. Das Register 70 stellt einen Zwischenspeicher dar für den Inhalt des POCI-Registers 52 oder des T0S1-Registers 56.
MULTIPLEXER (MUX) 72: Der Multiplexer 72 ist ein 28-zu-7-Multiplexer, vorzugsweise handelt es sich um vier Bauelemente des Typs 74LS253 der Firma Texas Instruments. Der Multiplexer überträgt in Abhängigkeit von Bedingungen den Inhalt des QS-Registers 66, den Inhalt eines Zwischenspeicherregisters (DI) 74, den Ausgang einer arithmetischlogischen Einheit (ALU1) 76 und den Ausgang einer arithmetisch-
909849/0490
logischen Einheit (ALU2) 78 in ein Zwischenspeicherregister (DR) 80· DeF unter Bedingungen stattfindende Transfer wird durch den Mikroprozessor 51 bestimmt.
DR: Das DR-Register80 ist ein oktales D-Flip-Flop-Register, vorzugsweise vom Typ 74LS374- eier Firma Texas Instruments. Das Register 80 dient als Zwischenspeicherregister, welches die minimale Differenzberechnung zwischen dem Wert des REF-Registers 60 und den Werten des- F0C2-Registers 5^- und des T0S2-Registers 58 aufnimmt. Das DR-Register 80 wird direkt entweder vom Ausgang des Multiplexers (MUX) 72 oder vom Ausgang eines Zwischenspeicher-Registers D2 82 geladen.
MULTIPLEXER (MDX) 84: Der Multiplexer 84- ist ein 19-zu-12 Multiplexer, vorzugsweise handelt es sich um ein Bauelement des Typs 74-LS157 der Firma Texas Instruments. Der Multiplexer 84· überträgt in Abhängigkeit von Bedingungen den Ausgang des REF-Registers 60 oder den Ausgang eines Differenz summen-Kandidaten-Registers 90 (SBC) zu der AMPI -76. Der Transfer wird durch den Mikroprozessor 51 festgelegt.
MULTIPLEXER (MUX) 86: Der Multiplexer (MUX) 86 ist ein 19-zu-12-Multiplexer, vorzugsweise vom Typ 74-LS157 der Firma Texas Instruments. Der Multiplexer 86 überträgt in Abhängigkeit von Bedingungen den Ausgang des REF-Registers 60 oder den Ausgang eines Genauigkeitssummen-Kandidaten (SBC) Registers 92 zu der ALU2 78. Der Transfer wird durch den Mikroprozessor 51 festgelegt.
MULTIPLEXER (MUX) 88: Der Multiplexer 88 ist ein 19-ZU-12-Multiplexer, vorzugsweise vom Typ 74LSI57 äer Firma Texas Instruments. Dieser Multiplexer überträgt bedingt den Ausgang des SBC-Registers 92, den Ausgang des D1-
9 0 9849/0490
Registers 74 oder den Ausgang des DR-Registers 80 zu einem Eingang eines !Comparators COMP2 94. Der Transfer wird durch den Mikroprozessor 51 bestimmt.
COMP1: DerKomparator (oQmPI) 96 ist ein 12 Bits aufweisender Komparator, vorzugsweise handelt es sich um drei Bauelemente des Typs 74LS85 der Firma Texas Instruments. Der Komparator vergleicht den Ausgang des P001-Registers 52 mit dem Ausgang des T0S1-Registers 56 sowie den Ausgang des SDC-Registers 90 mit dem Ausgang eines Differenz-Summen-Gewinner-(SDW)-Registers 100. Der Ausgang 97 des Vergleichers COl-iPl 96 geht zum Mikroprozessor 51·
C0MP2: Der Komparator (C0HP2) 94 ist ein 12 Bits umfassender Vergleicher, vorzugsweise handelt es sich um drei Bauelemente des Typ 74LS85 der Firma Texas Instruments. Der Komparator 94 vergleicht den Augang des D1-Registers 74 mit dem Ausgang des D2-Registers 82, den Ausgang des DR-Registers mit dem Ausgang des PW-Registers 64, sowie den Ausgang des SBC-Registers 92 mit dem Ausgang eines Genauigkeitssummen-Gewinner(SBW)-Registers 102.
ALTJ1: Die arithmetisch-logische Einheit 1 (ALU1) 76 besteht aus zwei herkömmlichen ALU-Punktionsgeneratoren, vorzugsweise handelt es sich um einen Vier-Bit-Addierer des Typs 74LS581 der Firma Texas Instruments, ein Bauelement des Typs 251S2517 der Firma Advanced Microproducts, und einen Look-ahead-Übertragsgenerator (vorausschauend arbeitender ÜbertragsgeneratOr) des Typs 74LS182 der !Firma Texas Instruments. Die ALU1 76 bildet den Absolutwert zwischen dem Ausgang des P0C2-Registers 54 und dem Ausgang des REF-Registers 60» Zusätzlich summiert die AIjUI -76 den Ausgang des SDC-Registers 90 auf den Ausgang des DR-Registers 80.
909849/0490
ALU2: Die arithmetisch-logische Einheit 2 (ALU2) 78 enthält einen herkömmlichen ALU-Funktionsgenerator, einen 4-Bit-Addierer, sowie einen vorausschauend arbeitenden Übertraggenerator identisch wie bei der obenerläuterten ALtJI -76. Die ALÜ2 78 bildet den Absolutwert zwischen dem Ausgang des T0S2-Registers 58 und dem Ausgang des REF-Registers 60. Zusätzlich summiert die ALU2 78 den Ausgang des E1-Registers 70 auf den Ausgang, des SBC-Registers 92.
D1: Das D1I -Register 74 ist ein oktales D-Flip-Flop-Register, vorzugsweise vom Typ 74LS374 ü-®? Firma Texas Instruments. Das Register 74 dient als Zwischenspeicher für den Ausgang der ALTJ1 76» welcher die Differenz darstellt zwischen dem Wert im REF-Register 60 und. dem Wert im P0C2-Register 54.
D2: Das D2-Register 82 ist ein oktales D-Flip-Flop-Register, vorzugsweise vom Typ 74LS374 der !Firma Texas Instruments. Das Register 82 dient als Zwischenspeicher für das Ausgangssignal der ALU2 78, welches die Differenz darstellt zwischen' dem Wert im REF-Register 60 und dem V/ert im T0S2-Register
SDC: Das Differenzsummen-Kandidaten(SDC)-Register 90 ist ein oktales D-Flip-Flop-Register, vorzugsweise vom Typ 74LSJ74 der Firma Texas Instruments. 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 wurden. SDO 9o wird direkt durch die ALtTI 76 geladen.
SBO: Das Genauigkeitssummen-Kandidaten(SBC)-Register 92 ist ein oktales D-Flip-Flop-Register,vorzugsweise vom Typ 74LS377 der Firma Texas Instruments. Das Register 92 enthält die akkumulierte Summe derjenigen Genauigkeitswerte, die zu der Summe in SDO 90 für eine gegebene Ablägeabtastung gehören.
909849/0490
28381QS
Das SDO-Register 92 wird direkt durch die ALÜ2 78 geladen.
SDW: Das Differenzsummen-Gewinner(SDW)-Register 100 ist ein oktales D-Flip-Flop-Register, vorzugsweise vom Typ der Firma Texas Instruments. Das Register 100 enthält die minimale Differenzsumme , die durch den Datenprozessor 12 ' bestimmt wurde, nachdem alle Vararbeitungsschritte abgeschlossen sind. Das SDV/-Register 100 wird direkt durch das SDC-Register 90 geladen.
SBW: Das Genauigkeitssummen-Gewinner(SBW)-Register 102 ist ein oktales D-Flip-Flop-Register,vorzugsweise vom Typ 74LS374· der Firma Texas Instruments. Das Register .102 enthält die größte Genauigkeitssumme, die zu dem im SDW-Register 100 gespeicherten Wert gehört. Das SBIV-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- der Firma Texas Instruments.
LOOP: Das LOOP-Flag ist der Ausgang des Flip-Flops (f/f)122 und wird auf das Komplement von QTRMIN eingestellt, welcher Wert durch den Ablagebehandler 16 geliefert wird. Wirddis· LOOP-Flag gelöscht, ist eine Abtastung des oberen Endes der Ablage abgeschlossen.
DGDONE: Dies ist der Ausgang des Flip-Flops 124-; er wird auf den Wert des CHDONE-Flags durch den Mikroprozessor 21 · im Ablagebehandler 16 gesetzt. DGDOHE-Flag wird durch den Mikroprozessor 10 gelöscht, um anzuzeigen, daß der Mikroprozessor 10 die Ausgangsdaten vom Unschärfegenerator 18 empfangen hat.
909849/0490
0 2838105
durch einen vorprogrammierten ETur-Lese-Speicher (ROM)bereitgestellt werden. Hierdurch werden die Betriebszustände des Ablagebehandlers 16 erreicht. Der Mikroprozessor 21 verbleibt im Ruhezustand, solange das EIxAG CMPTT auf "1" eingestellt ist. Der Mikroprozessor 10 löscht das Plag CEMPTX auf "0", wenn der Feld-Transfer vom Mikroprozessor 10 zum Ablagespeicher CMM 20 abgeschlossen ist. Wenn das Flag CEMPTY gelöscht ist, greift der Mikroprozessor 21 auf das QTLF 22-Datenwort zu, welches durch den Wert in dem LlMAR (Zustand 1), adressiert wird, indem das Feld CONT in das Flag CONT gespeichert wird, das Feld MAX nach QTR 30 und das Feld MIF nach MIST 34· gespeichert wird. Diese Folge von Operationen spezifiziert das spezielle Datenfeld im Speicher CMSM 20, welches der Ablagebehandfer 16 verarbeiten soll.
Die erste, durch den Mikroprozessor 21 zu bearbeitende Aufgabe besteht darin, den am meisten positiven Datenwert in den oberen Enden der Ablagen festzustellen. Hierzu initialisiert der Mikroprozessor 21 IiEXTREF 46 mit einem Wert -64-, Hierdurch wird sichergestellt, daß der erste Datenwert im oberen Ende der Ablage größer ist als der Wert in NEXTREF, und auf diese Weise wird dieser größere Wert in NEXTREF 46 für anschließende Vergleichsvorgänge mit den anderen Datenwerten am obsren 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 jed.e Ablage des Datenwertfeldes in dem Speicher CMEM 20, die verarbeitet xtfird. Der Mikroprozessor 21 greift auf das SPM-24—Datenwort zu, welches durch den Wert in QTR 30 addressiert wird und speichert den Datenwert in SPR 32 (Zustand 2). Der Datenwert in dem QTR-ten Datenwort von SPM 24- ist der Adresszeiger auf die QTR-te Ablage des Speichers CMEM 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. Als nächstes werden die Werte in QTR30 und MIN 34- im Vergleicher
909849/0490
0QMP2 48 (Zustand 3) für anschließendes Testen im Zustand gespeichert. Der Zweck dieses Vergleichs besteht darin, festzustellen, wann der Wert in QTR 30 (in vermindertem· Zustand) dem Wert in MIN 34· gleicht, was bedeutet, daß sämtliche Werte am oberen Ende der Ablagen aufgegriffen wurden. Dann dekrementiert der Mikroprozessor 21 den Wert in SER 32 um 1 ^(Zustand 3)» so daß dieser Wert nun auf den QJTR-ten Datenwert am oberen Ende der Ablage zeigt· Der Wert in den Bits 13-7 des Datenworts im CMEM 20, welches durch die zusammengeketteten Werte aus QTR 30 und SER 32 adressiert wird, wird im EMQS 44 gespeichert (Zustand 4). Die Werte in QTR 30 (die sechs höchstwertigen Bits der CMEM 20-Adresse) lokalisiert die. verarbeitete iblage und der Wert in EPR (die sechs niedrigwertigen Bits der CMEM 20-Adresse) lokalisiert den speziellen Ablageende-Datenwert· Der Wert in EMQS ist nun der Ablageende-Datenwert, der mit dem Wert in NEXTREF 46 zu vergleichen ist. Das höchstwertige Bit (Bit 14) des EMEM 26-Datenwortes, welches durch den Wert in QTR 30 adressiert wird, wird nun auf 1 (Zustand 4) gesetzt. Das Bit 14 dient als "Each leer"- (EE-)Flag. EE=1 bedeutet, daß das entsprechende Each keinen Datenwert enthält; FE=O bedeutet, daß das entsprechende Each einen Datenwert enthält. Der V/ert in EMQS 44 und der Wert in NEXTREF 45 werden in den Vergleicher C0ME1 48 (Zustand 5) gebracht. Der größere dieser beiden Werte wird, wie durch den Ausgang von CÖMP1 48 angezeigt wird, in NEXTREE 46 (Zustand 5) gespeichert. Als nächstes prüft der Mikroprozessor 21 die Bedingung des Elags QTRMIN (Zustand 5). Die Bedingung oder der Zustand von QTRMIN wird bestimmt durch die Ergebnisse des Vergleichs, der im Zustand 3 zwischen dem Wert in QTR 30 und dem Wert in MIN 34 durchgeführt wird. Zeigt C0MF2 Gleichheit an,wird QTRMIN auf "1" gesetzt; sonst wird QTRMIN auf "0" eingestellt. Wenn der Mikroprozessor 21 feststellt, daß QTRMIN = 0 ist, d.h. daß der V/ert in QTR 30 immer noch größer ist als der V/ert ii MIN 34, was bedeutet, daß auf weitere Ablageende-Werte zuzugreifen ist,wird der Wert in QTR 30 um 1 vermindert,
9Q9849/CU9Q
durch einen vorprogrammierten Nur-Lese-Speicher (ROM)bereitgestellt werden. Hierdurch werden die Betriebszustände des Ablagebehandlers 16 erreicht. Der Mikroprozessor 21 ver,-bleibt im Ruhezustand, solange das FLAG CMPTY auf "1" eingestellt ist. Der Mikroprozessor 10 löscht das Plag CEMPTY auf M0", wenn der Feld-Transfer vom Mikroprozessor 10 zum Ablagespeicher CMM 20 abgeschlossen ist. Wenn das Flag CEMI3TY gelöscht ist, gxeift der Mikroprozessor 21 auf das QTLF 22-Datenwort zu, welches durch den Wert in dem LFMAR (Zustand 1), adressiert wird, indem das Feld CONT in das Flag COHT gespeichert wird, das Feld MAX nach QTR JO und das Feld MIM" nach MIN 34 gespeichert wird. Diese Folge von Operationen spezifiziert das spezielle Datenfeld im Speicher CMEM 20, x^elches der Ablagebehandfer 16 verarbeiten soll.
Die erste, durch den Mikroprozessor 21 zu bearbeitende Aufgabe besteht darin, den am meisten positiven Datenwert in den oberen Enden der Ablagen festzustellen. Hierzu initialisiert der Mikroprozessor 21 HEXTREF 46 mit einem V/ert -64. Hierdurch wird sichergestellt, daß der erste Datenwert im oberen Ende der Ablage größer ist als der Wert in NEXTREF, und auf diese Wäse wird dieser größere V/ert in NEXTREF 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 Datenvrertfeldes in dem Speicher CMEM 20, die verarbeitet wird. Der Mikroprozessor 21 greift auf das SEM-24-Datenwort zu, welches durch den Wert in QTR 30 addressiert wird und speichert den Datenwert in SER 32 (Zustand 2). Der Datenwert in dem QTR-ten Datenwort von SPM 24 ist der Adresszeiger auf die QTR-te Ablage des Speichers CMEM 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. Als nächstes werden die Werte in QTR30 und MIN 34 im Vergleicher
909849/0490
σθΜΡ2 48 (Zustand 3) für anschließendes Testen im Zustand gespeichert. Der Zweck dieses Vergleichs besteht darin, festzustellen, wann der Wert in QTR 30 (in vermindertem· Zustand) dem Wert in-MlN 34 gleicht, was bedeutet, daß sämtliche Werte am oberen Ende der Ablagen aufgegriffen wurden. Dann dekrementiert der Mikroprozessor 21 den Wert in SBR 32 um 1 ((Zustand 3)» so daß dieser Wert nun auf den QTB-ten Datenwert am oberen Ende der Ablage zeigt. Der Wert in den Bits 13-7 des Datenworts im CMEM 20, welches durch die. zusammengeketteten V/er te aus QTR 30 und SPR 32 adressiert wird, wird im EMQS 44 gespeichert (Zustand 4). Die Werte in QTR 30 (die sechs höchstwertigen Bits der OMEM 20-Adresse) lokalisiert die. verarbeitete iblage und der Wert in EPR (die sechs niedrigwertigen Bits der OMEM 20-Adresse) lokalisiert den speziellen Ablageende-Datenwert. Der Wert in EMQS ist nun der Ablageende-Datenwert, der mit dem Wert in NEXTREP 46 zu vergleichen ist. Das höchstwertige Bit (Bit 14) des FMEM 26-Datenwortes, welches durch den Wert in QTR 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 Fach keinen Datenwert enthält; PE=O bedeutet, daß das entsprechende Fach einen Datenwert enthält. Der Wert in EMQS 44 und der Wert in NEXTREF 46 werden in den Vergleicher COMF1 48 (Zustand 5) gebracht. Der größere dieser beiden Werte wird, wie durch den Ausgang von C0MP1 48 angezeigt wird, in NEXTREF 46 (Zustand 5) gespeichert. Als nächstes prüft der Mikroprozessor 21 die Bedingung des Flags QTRMIN (Zustand 5). Die Bedingung oder der Zustand von QTRMIN wird bestimmt durch die Ergebnisse des Vergleichs, der im Zustand 3 zwischen dem Wert in QTR 30 und dem Wert in MIN 34 durchgeführt wird. Zeigt COMP2 Gleichheit an,wird QTRMIN auf "1" gesetzt; sonst wird QTRMIN auf "0M eingestellt. Wenn der Mikroprozessor 21 feststellt, daß QTRMIN = 0 ist, d.h. daß der Wert in QTR 30 immer noch großer ist als der Wert ja MIN 34, was bedeutet, daß auf weitere Ablageende-Werte zuzugreifen ist ,wird, der Wert in QTR 30 um 1 vermindert,
909849/0490
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 Ablageende-Wert zuzugreifen. Stellt der Mikroprozessor 21 fest, uaß QTRMIN=I (alle Ablagen sind verarbeitet worden), wird der Wert in HEXTREF nach XRSF 50 gespeichert (Zustand 6). Der Wert in XREP 50 ist der am meisten positive Ablageende-Wert, der angetroffen wird, da dieser Wert mit anderen Ablageenden-Werten im Vergleicher CQMP1 48 verglichen wurde. Hierdurch wird die Verarbeitung des Mikroprozessors 21 zum Erfassen des ersten am meisten positiven Bezugswertes beendet. Dann wird ein Wert -64 in ITSXOiREF 46 (Zustand 6j gespeichert; dies ist der erste Schritt beim Auffinden anschließender Ablageende-Werte, die als am meisten positiver Bezugswert dienen. Man beachte,, daß jeder verarbeitete Datenwert im CJMEM 20-Feld in absteigender Reihenfolge als einer der am meisten positiven Bezugswerte dient.
Der Mikroprozessor 21 greift auf das QTLF 22-Datenr/ort zu, das durch den Wert in LFMAR 28 adressiert wird, und speichert das Feld MAX im Register QTR 30 (Zustand 6). 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 in Q[JlB. 30 adressierte Datenwort in SPM 24 zu und speichert die Daten nach SPR 32 (Zustand 7). Das SPR-Register 32 wird dann durch den Mikroprozessor 21 daraufhin geprüft, ob der nunmehr darin enthaltene Wert O ist (Zustand 9). Ist dies der Fall, so bedeutet das, daß sämtliche Datenwerte in der QTR-ten Ablage in CMEM 20 verarbeitet sind und daß die Ablage nun "leer"11 ist; der Mikroprozessor 21 setzt das Flag SE auf "1" , um diese Bedingung anzuzeigen. Anderenfalls setzt der Mikroprozessor 21 das Flag SE auf "0" (Zustand 9), und die Mikroprozessor-Steuerung geht in den Zustand 10 über. Der Wert in SPR wird um 1 vermindert (Zustand 9), so daß der Viert auf den oberen
909849/0490
Ablage-Wert in der QTR-ten Ablag« zeigt. Das CMEM 20-Datenwort, das durch die konkatinierten Werte in QTR und SER adressiert wird, wird ausgelesen (Zustand 10), und
a) die Werte in den Bits 13 bis 7 werden in EQMS 44,
b) die Werte in den Bits 13· bis 0 werden in XTOS 42 gespeichert.
Das durch den Wert in QTR 30 adressierte Datenwort im Speicher PMEM 25 wird ausgelesen und die Werte in· dem Bits 13-0 werden in ICPOC 40 gespeichert (Zustand 11), und der Wert im Bit 14 wird nach PE gespeichert (Zustand 11), was den Rest des Wortes in XPOC 40 darstellt. Dann überprüft der Mikroprozessor 21 das Plag BE (Zustand 11). IstSe gleich 1, was anzeigt, daß sämtliche Datenwerte in der QTR-ten Ablage verarbeitet sind, so wird das Flag EQ auf "0" gesetzt (Zustand), um anzuzeigen, daß der G^DR-te Ablageende-Datenwert nicht gleich ©in 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 folgt:
a) normalerweise enthalten alle Ablagen zu Beginn wenigstens einen Datenwert, so daß der Wert in SPR 32, der Adresszeiger auf den Wert in der Ablage, größer .· sein muß als 0.
b) Damit der Wert in SPR gleich 0 ist (und somit SE=1 und EQ=O), muß wenigstens ein Datenwert in jener Ablage verarbeitet sein und in das QTRte 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 in SPR 32)■ Null ist. Dann wird das Flag CHRDI auf "1" gesetzt (Zustand 11)
909849/0490
um anzuzeigen, daß die Werte in XREF 50, XTOS 42 und XPOC 40 für die Verarbeitung durch den Unschärfegenerator 18 verfügbar sind»
Ist andernfalls SE=O (Zustand 11), werden die Werte in EWQS 44 und XEEF' 50 in den Komparator CQMPI gebracht. Stellt der Mikroprozessor 21 fest,, daß der Wert in EMQS nicht gleich ist dem Wert in XREF (Zustand 14), dann wird das Flag EQ auf M0n gesetzt und die Steuerung des Mikroprozessors 21 geht in den Zustand 18 über. Stellt derMikroprozessor 21 fest, daß der Wert in EMQS 44 gleich ist dem Wert in XRSF 50, wird das Flag EQ auf "1" gesetzt (Zustand 14). Wenn der Viert in EMQS 44 und somit der Datenwert am QTR-ten Ablageende, gleich ist dem Wert in XREF 50, wird angezeigt, daß der momentan in XREF 50 vorliegende Wert aus diesem Ablagaende-Datenwert entnommen ist und somit dieser Datenwert in das entsprechende Fach gebracht werden muß. Als nächstes speichert derMikroprozessor 21 den Wert im SER zurück zu dein Datenwort vom SPM 24, das durch den Wert in QTR 30 adressiert wird (Zustand 15)· Dies geschieht, damit, wenn dieses spezielle Datenwort aus SPM 24 aufs neue in SPR gespeichert und dekrementiert wird, der resultierende Wert in SPR 32 auf den Datenwert in der QTR-ten Ablage zeigt, der als nächstfolgender zu verarbeiten ist (da der vorherige Datenvert in das entsprechende Fach übertragen wurde).
Das durch die Konkatenation der Werte in QTR 30 und SPR adressierte Datenwort in CMEM 20 wird von dem Mikroprozessor 21 ausgelesen und die Werte in den Bits 13-£> des Datenwortes werden auf den Datenbus 31 gespeichert (Zustand 15)· Der Businhalt wird dann in dasjenige Datenwort von PMEM 26 gespeichert,das durch den Wert in QTR 30 adressiert ist (Zustand 16). Das Bit 14 (MSB) des QTR-ten Datenwortes in PMEM 26 (Flag PE) wird dann auf "0" gesetzt (Zustand 16), um anzuzeigen, daß daß Fach der QTR-ten Ablage einen Daten—
90 9849/0490
28381D6
wert enthält. Der Mikroprozessor:21 prüft den Wert in SPR 34 (Zustand 16). Ist der Wert "0", was eine leere Ablage "bedeutet, wird das Flag cHrDY auf tt1n gesetzt (Zustand 16), um anzuzeigen, daß die Werte in XREP 50, SEOS 42 und XPOC 40 für die Verarbeitung durch den Unschärfegenerator zur Verfügung stehen. Istder Wert in SPR 34 nicht "0", so bedeutet dies, daß noch mehr Datenwerte zur Verarbeitung in der QTR-ten Ablage anstehen, so daß der Wert in SPR34 um 1 vermindert wird, um auf den nächsten Datenwert am Ende der Ablage zu zeigen: (Zustand 16). Der Mikroprozessor speichert die Datenwerte in dem Bit 13~7 des CMEM 20-Datenwortes, das durch die Konkatenation der· Wert in OJTR 30 und SPR 32 adressiert wird, nach EMQS (Zustand 17). Das Plag CHRDY wird durch den Mikroprozessor 21 auf "1M gesetzt (Zustand 18), um anzuzeigen, daß die Werte in XREP 50, XTOS 4-2 und XPOC 40 für die Verarbeitung durch den Unscharfegenerator 18 zur Verfügung stehen. Als nächstes werden die Werte in SMQS 44 und NEXTREP 46 in den Vergleicher. C0MP1 48 gegeben. Stellt der Mikroprozessor 21 fest, daß der Wert in EMQS 44 größer ist als der Wert in KEXTREP 46 (Zustand 18), speichert er den Wert in EMQS 44 nach NEXT.REP 46' (Zustand 18). Der Wert in NEXTREt 46 sowie der Wert -64 der durch den Pufferverstärker 4? geladen wurde, werden in den Vergleicher 00MP1 48 (Zustand 19) zur Vorbereitung des Tests im Zustand 21 gegeben.
Der Mikroprozessor 21 prüft den Zustand des Plags CHEUE)T (Zustand 20). Ist das Plag CHRDY=I, t/äs bedeutet, daß der Unschärfegenerator noch nicht die in XREP 50, XTOS 42 und XPOC 40 verfügbaren Daten übertragen hat, verbleibt die Steuerung des Mikroprozessors 21 im Zustand 20. Ist das Plag CHRDY=O, indem es durch den Betrieb des Unscharfegenerators auf "0" gelöscht wurde, so prüft der Mikroprozessor 21 den Status des Flags QTRMIN (Zustand 21). Ist QTRMIN=O v/as anzeigt, daß noch weitere Ablagen zur Verarbeitung an~ stehen, so vermindert derMikroprozessor 21 den Wert in
9 09 849/0490
■Jjif= . ■ "■
QTR 30 um 1 (Zustand 21), und die Steuerung des Mikroprozessors 21 kehrt zum Zustand" 7 zwecks Verarbeitung der nächsten Ablage zurück. Ist QTSMIN=I, was bedeutet, daß sämtliche oberen Enden der Ablagen verarbeitet sind, prüft der Mikroprozessor 21 den '.vert von WEXTREF 4-6 (Zustand 21). Ist der Wert in JEXTREF -64-, so wurden keine neuen Datenwerte in CMEM 20 gefunden, d.h. alle Datenwerte sind verarbeitet (Zustand 21). Ist der Wert in NEXTREF 4-6 größer als -64-, so bedeutet dies, daß wenigstens ein weiterer Datenwert in dem CHEM 20-Datenfeld noch zu verarbeiten ist; in diesem Fall kehrt die Mikroprozessor-Steuerung zurück zum Zustand δ (Zustand 21), um mit der Verarbeitung eines neuen XRE? 5O-Wertes fortzufahren. Andernfalls setzt der Mikroprozessor 21 das Flag CHDONE auf "1", (Zustand 21), um deäi Unscharfegenerator 18 anzuzeigen, daß die Verarbeitung für ein gegebenes CMEM 20-Feld abgeschlossen ist. Der Mikroprozessor 21 prüft das Flag C0NT (Zustand 22). Ist cOnt=O, was anzeigt, daß das soeben verarbeitete CMEM 20-Feld das letzte Feld in CMEM 20 war, so setzt der Mikroprozessor 21 das Flag CE-IFTY auf "1" , und die Mikroprozessorsteuerung geht in den Zustand 0 (Zustand 22) über, um auf
ein neues Auffüllen des Speichers CMEM 20 durch den Mikroprozessor zu warten. Andernfalls wird der V/ert in LFMAR 28 um 1 vermindert (Zustand 22), so daß dieser auf das nächste zu verarbeitende Datenfeld in CMEM 20 zeigt, und die Steuerung des Mikroprozessors 21 geht in den Zustand 1 über, um das nächste CMEM 20-Datenfeld zu verarbeiten.
Im folgenden soll im einzelnen die Arbeitsweise des ühschärfegenerators erläutert v/erden.
Tabelle 5 zeigt die Programmauflistung von logischen Gleichungen, die die Arbeitsweise des Unschärfegenerator-Moduls beschreiben.
909849/0490
2831106
!Pig. 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-Verarbeitung: Wird beim Einschalten des Systems zum erstenmal Leistung zugeführt, so wird durch den Mikroprozessor 10 eine Netz-Ein-Voreinstell-Iieitung auf niedrigen Pegel gebracht ,.wodurch der Unscharf egeneratör 18 zwangsweise in den Zustand O (Ruhezustand) gebracht wird. Der Mikroprozessor 10 hält die Netz-Ein-Voreinstell-Leitung auf niedrigen Pegel, während er den Ablagespeicher CMEM 20 mit den ersten zu verarbeitenden Datenwertfeidern lädt. Ist diese Aufgabe beendet, zieht der Mikroprozessor 10 die Netz-Ein-Voreinstell-Leitung auf hohen Pegel, wodurch der Unscharfegenerator 18 seinen Betrieb aufnehmen kann. - - -
Normale Operation; DerMikroprozessor 51 implementiert eine Reihe von Steuervorgängen für den Unscharfegeneratör 18, die durch einen vorprogrammierten Nur-Lese-Speicher (ROM) geliefert werden und die Operationszustände des Unscharfegenerators 18 festlegen. Der Mikroprozessor 51 verbleibt in einem Ruhezustand, solange das !"lag DGDONE auf "1" gesetzt ist. Der Mikroprozessor 10 löscht das Flag DGDONE auf "0", nachdem er von dem Unscharf egeneratör 18 die letzten gebildeten Unscharfe- und Genauigkeitswerte empfangen hat. Ist das Flag DGDONE gelöscht (Zustand 0), setzt der Mikroprozessor 51 das Flag OHDONE auf "0", um dem Ablagebehandler 16 anzuzeigen, daß der Unscharfegeneratör 18 bereit ist, Daten zu verarbeiten, Der Mikroprozessor 51 setzt weiterhin das Flag PASS1 auf "1" (Zustand 0), 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 derMikroprozessor 51 die Werte in SDC 9o und SBC 92 auf Null, um die Akkumulation der Differenz werte und Genauigkeitswerte bei der nachstehenden Verarbeitung durch den Mikroprozessor 51 vorzubereiten.
909849/0490
Der Mikroprozessor 51 prüft den Status des Flags CHPJDT, CHRDY=O, zeigt dem Mikroprozessor 51 an, daß der Ablagebehandler noch nicht für den Unschärfegenerator 18 zur Verarbeitung bereite Datenwerte hat. Der Unschärfegenerator verbleibt in einem Ruhezustand (Zustand 2), bis das Flag CHRDY durch den Ablagebehandier 16 auf "1" gesetzt ist. V/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 "0" (Zustand 2), um dem Ablagebehandler 16 anzuzeigen, die Verarbeitung der Ablageende-tferte in CMEM 20 wieder aufzunehmen. Der Mikroprozessor 51 setzt weiterhin das Flag LOOP auf das Komplement des Flags QTSMUi. LOOP=O (OTRS-IIN=I) zeigt an, daß der Ablagabehandler 16 einen Durchlauf durch die 'ierte der oberen Enden der Ablagen in CMEM 20 abgeschlossen hat, wodurch dem Unscharf egenerator 18 ermöglicht ist, die Unscharfe- 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 in XRSF 50 nach REF 60; den Datenwert sowie den zugehörigen Genauigkeitswert in XPOC 40 nach P0C2 54- und P0C1 52, und den Datenwert sowie den zugehörigen Genauigkeitswert in XTOS 42 nach TOS 2 53 bzw. T0S1 56 (Zustand 2). Als nächstes prüft der Mikroprozessor 51 das Flag EQ. Ist EQ = 1 (Zustand 3)? was anzeigt, daS der Ablageende-Wert in T0S2 58 und der Fachwert in P0C2 54 gleich ist dem am meisten positiven Bezugsv/ert in REF 60, wird der zu T0S2 58 gehörige Genauigkeitswert, nämlich T0S1 56 in E1 70 gespeichert und die Steuerung des Mikroprozessors 51 geht in den Zustand 11 Über. Ist EQ=O, was anzeigt, daß die V7erte in T0S2 58 und REF 60 nicht glebh sind, vollzieht der Mikroprozessor 51 folgende Schritte (Zustände 3 und 4):
909849/0490
a) er bildet den Absolutwert der algebraischen Differenz· zwischen dem Wert in T0S2 58 und dem Wert in EEF 60.
b) er bildet den Absolutwert der algebraischen Differenz zwischen dem Wert in P0C2 54 und dem Wert in RSF 60.
Der Mikroprozessor 51 prüft als nächstes, die Bedingung der Flags PS und SE wie folgt(Zustand 4):
a) wenn ?S=1 und SS=O, was anzeigt, daß P0C2 54 leer ist und 5082 58 einen Datenwert enthält, dann wird der Wert in TOSI 56, der dem Datenwert in T0S2 58 zugehörige Genauigkeitswert in Ξ1 70 gespeichert und der Absolutwert der algebraischen Differenz zwischen dem Wert in T0S2 58 und dem Wert in REF 60 wird in DR 80 gespeichert. Die Mikroprozessor-Steuerung geht dann in den Zustand 8 über.
b) Wenn PS=O und SE=1 ist, was anzeigt, daß P0C2 54 einen Datenwert enthält und TOS2 58 leer ist, dann wird der Wert in P0C1 52, der zu dem Datenwert in P0C2 54 gehörige Genauigkeitswert, in E1 70 gespeichert, und der Absolutwert der algebraischen Differenz zwischen P0C2 5^ uncl SSF 60 wird in DR 80 gespeichert. Die Mikroprozessor-Steuerung geht dann in den Zustand 8 über.
c) Wenn PE= 0 und SE=O ist, was anzeigt, daß sowohl ΡΌ02 54 als auch T0S2 58 Datenwerte enthalten, dann wird der Absolutwert der algebraischen Differenz zwischen P0C2 54 und REF 60 in D1 5^ gespeichert, während der Absolutwert der algebraischen Differenz zwischen T0S2 58 und REF 60 in D2 82 gespeichert wird.
Als nächstes bringt der Mikroporzessor 51 die zu den Datenwerten in P0C2 54 und T0S2 58 gehörigen Genauigkeitswerte, nämlich P0C1 52 und T0S1 54 zum Vergleicher C0MP1 95 (Zustand 5)· Dann bringt der Mikroprozessor 5I <üe Werte in D1
909849/049Q
co
und D2 82 zum Vergleicher C0MP2 94 (Zustand 5)"."Die Ausgänge der Vergleicher COMF1 96 und COMF1 94 werden wie folgt getestet:
a) Wenn der Wert in D1 7^ kleiner ist als der Wert in D2 82, wird der Wert in D1 7^· nach DR 80 gespeichert und der Wert in P0C1 52 wird nach El 70 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 POC; 52, dann wird der Wert in D2 82 nach DR 80 gespeichert und der Wert in T0S1 56 wird in E1 70 gespeichert.
d) ©'leicht der Wert in D1 74 dem Wert in D2 82. und ist der Wert in POC1 52 großer als oder gleich dem Wert in T0S1 56, wird der Wert in D1 74 nach DR 80 und der Wert in P0C1 52 nach E1 70 gespeichert.
Der Mikroprozessor 51 bringt den Wert in DR 80 und den Wert in PW 64 zum Vergleicher 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 64, wird die Mxkroprozessor-Steuerung zum Zustand 10 übertragen.
Der Mikroprozessor 51 summiert als nächstes den Wert in DR und den Wert in Ξ1 70 in die Akkumulator-Register SDC 90 und SBC 92 (Zustand 10). Dann wird der Zustand des Flags LOOP geprüft. Ist LOOP = 1, was anzeigt, daß der Ablagebehandler 16 eine Abtastung der A-^lageende-Wgrte im in Bearbeitung befindlichen CMEM 20-IeId noch nicht abgeschlossen hat, geht
9 0 9849/0490
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-Wert in dem verarbeiteten CMEM 20-Feld abgeschlossen hat, lädt der Mikroprozessor 51 die Werte in SDG 90 und SDW 100 in den Komparator C0MP1 96 und die Werte in SBC 92 und SBW 102 in den Komparator COMP? 94- (Zustand 12). Verläßt die Mikroprozessor-Steuerung den Zustand J, summiert der Mikroprozessor 51 den Wert in Ξ1 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 Viert in SDC 90 dem Wert in SDW 100 gleicht und der Wert in SBC 92 kleiner ist oder gleich dem Wert in SBV 102 oder das Plag PASSI=O ist, setzt der Mikroprozessor 51 das Flag DGDOWE entsprechend dem Zustand des Flags CHDOIiE.
b) Wenn der Wert in SDC 90 kleiner ist als der Wert in SDW 100, oder der Wert in SDC 90 dem Wert in SD¥ 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 den Wert in SDC 90 nach SDW 100, den Wert aus SBC 92 nach SBW 102 und den Wert in REF 50 nach PSIT 62, und er setzt das Flag PASS1 auf "0". Dann setzt der "Mikroprozessor 51 das Flag DGDONE entsprechend der Bedingung des Flags CHDONE.
Der Mikroprozessor 51 prüft' die Bedingung des Flags DGDONE. Ist DGDONE=O, was anzeigt, daß der Ablagebehandler 16 die Verarbeitung des Datenfeldes in CMEM 20 , welches derzeit in Bearbeitung ist, noch nicht beendet hat, geht die Mikroprozessor steuerung über in den Zustand 1, wo die Register
909849/0490
SDC 90 und SBC 92 gelöscht werden in Vorbereitung einer weiteren Abtastung der Datenfeldwerte an den oberen Enden der Ablagen. Ist DGDOIlE=I, was anzeigt, daß der Ablagebehandler 16 die Verarbeitung des laufenden Datenfeldes in CMEM 20 beendet hat, kehrt die Steuerung des Mikroprozessors 51 in den Zustand 0, d.h. in den Ruhezustand zurück, um auf eine Anzeige zu v/arten, daß der Mikroprozessor 10 den Ausgangswert des Ünscnarfegenerators 18 empfangen hat, nämlich den minimalen Unscharfewert in SDV/ 100, den Genauigkeit swert in SBl/ 102, der zu dem minimalen Unschärfewert in SDV/ 100 gehört, sowie den Positionswert in FSH" 62, der zu dem minimalen Unscharfewert in SDi1/ 100 gehört. Bei den nachstehenden Tabellen 4- und 5 bedeuten die Ausdrücke IF ... THEN;...: Falls die Bedingung ...., dann .... (Operation)i 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 THSiI folgenden Operation an, wenn die durch IF angesprochene Bedingung nicht erfüllt ist.
909849/0490
COPY
Schiebestelle :-3 -2 -1
Einfenag-
gabellW^fa)
012 345678 STATEMENT
Anfrage
TEHT TENT TENT TENT TENT TENT TENT TENT TENT
T E T
d.Stellen TENT Summe
N T E, N T T E N T A 6 8 1 .35 7 O1 4 6 1 5 0 2 4 1 2 0 2 2 1-111 0 0 0 111 2 2 3 3 3
19 15 13 9 7 7 4 4 2 5 7 9
Schiebestelle
-3 -2 -1
4 5 6 ,7 8
Tabelle 1 (b)
T 1 3 8
E 3 5
N 5
T -2 O 5
9 0 9 8 4 9/0490
COPY
Tabelle 2
Nr. der Ablage Pach (oben) Ablage O (unten ).
des Pachs leer V. 6 O/.5 O
O leer 5/·3 3A7 sehr großer Λ/Λ
1 leer 3/.9 1/1 O -1/.7
2 leer leer = O
3 leer 1/.8 -3/1 -V. 8
4 d-Hegister =
b-Register =
D-Eegister = Wert
B-Segister =
PSF-Register
9098A9/0A90
Tabelle 3(a)
Yerarbe'itungsscnritt 1 ·_
O -64/0 \ ieei?
1 1/.8
2 -64/0
3" -64/0
4 -64/0
Ablage-Fadi-lTr·. Pacir (oben) Ablage (unten)
0/.5
3 - -64/0 \ Ieel
-3/1 - -4/-8
*Hegel 2** Segeln 1 und 2d*** Regel 2c ■
d-Register = 1 +
b-Register - .6 + .3 + .9 + 1 + .8 = 3.6
D- Register - 12
B-Register = 3.6J· Regel 3
PSN-Register * 5
+ 2' + 5 + 4 = 12*
=
I 90984970490
25
■&-
Verärbeltungsscliritt 2
-chrirr- Fach (oben) ;Ablage (unten)
10
leer *
1/.8
Ο/.5 1/.4
-3/1
-1/.7
-4/.8
15
*■ Regel 2** Regeln Λ und *** Regei 2b
2d .. .
d-Register = 0 + 1 + 1 + I 5 + 3 = 10
b-Register = .6 + .7 + .9 + ) "Regel 1 + .8 = 4.0
D-Register = 10 1
B-Register = 4.0 3.
PSN-Register = 4 '
30
909849/0490
Tabelle
Verarbffittin'gsscliritt
-Ablage -/Pa cli-Hr. !fach, "-(oben) Ablage "(unten)
0/.5
1 .7 ^=— * 1/.4
2 \ k 1/1
3
4
-64/0
-64/0
\ leer
^l/. 8
-3/1
*Regel 1 unä
1a
**ReE gel ^**-Hegel 2a
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
909849/04
Tabelle 3(<i)
Yerarbeitu'ngsscliritt
Ablage-
Fach (oben) Ablage (unten)
0 1 2
4/.6
0/.5
* Regel 1 und **' Regel 2|* " Regel 2 1a - '
d'Register = 1 + O + O + 5 + 0 = b
b-Register = .5 + .4 + 1 + 1 + .8 = 3.7
D-Register -.1
B-Register -3.7 Regel 3
PSN-Register ■ v
9098A9/0490
-4/.S
25
Tabelle 3(e)
Verarbeitungsschritt 5 Ablage-ZFach-Nr. Fach, (oben) Ablage (unten)
10
-4/. 8
Hegel 2b
Regel" 2a ' Hegel 2
d-Register = O + 1 + 1 + 5+1 = 8
b-Register = .5 + .4 + 1 π- 1 +.8 = 3.7
D-Register = 6
B-Register = 3.7 . Regel 3
PSN-Register = 1 -
9098A9/0490
Tabelle" 3 X-)
Verarbeitungsschritt
Ablage -/Fach-Ür. Each (oben) Ablage (tmten)
O 1 2 3 .
ü/'5
-4/.8
*iRegel 2** Regel 2b
"^Register = 1 + 2 > + 0 + 5 + 2 = 10
b~Register = .5 + Λ + .7 + 1 + 1 = 3.6
D-Register = 6
B-Register = 3.7 Hegel 3
PSN-Register = 1
909849/0490
Tabelle 3(g)'
Verarbeitungsschritt
, Äblage-VEach-ITr. Each (oben) ..Ablage (unten)
0 Jv .5
1 r*
ι I
Λ*
2
3
'M
4 T)4^- -4/.8
* Kegel 2 3 +
d-Register = .5 + 4 + 2 ■ + 5 + 0 = 14
b-Register = 6 .4 + .7 + 1 * 1 = 3.6 ■
D-Register . = 3.7
B-Register - 1 • Regel 5
• ' PSN-Register =
909849 /04 9
Tabelle 3(h)
Verarbeitung^ schritt
Ablage-ZFach-Hr.
Fach" (oben) Ablage (unten)
0 1 2 3 4
. leer
Regel 2** Regel 2c
d-Register 4 + 5 + 3 + 5 + O = 17
b-Register .5 + .4 + .7 + 1 + .8 = 3.4
D-Register = 6
B-Register 3. 7 ' Regel 3
PSN-Register = 1
909849/0490
COPY
-rf*
Tabelle 4 Zustand Operation
Funktion
Ii1 CEMPTI = 1 GO TO Zustand O
COWT, IiIH, QTR4-QTLF (LEMAR)
HEXTEEF
-64-
SPR
SPM (QTR)
COMP 2 <— QTR, MIN
SPR
SPR-1
EMQS
(QTR:SPR)
Im Nullzustand in Ruhe, bis CEMPTY durch Mikroproz. gelöscht ist
Setze für den LFMAR-ten Ausdruck in QTLF COlTT 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 MHT-FeId (Bits 5-0) und QTR auf MAX-FeId (Bits 11-6) Setze Kandidaten-Wert für XREF auf -64 (negativer als irgendein mögl. Wert von TOX oder POC). ...
Lese QTR-ten Eintrag von SPM nach SPR (init.Kellerzeiger). SPR ist nun Zeiger auf die QTR-te Ablage im Kellerspeicher
Laden, QTR und MUT in Vergleicher für Vorbereitung auf Gleichheitstest im Zustand Dekrem.SPR, um auf den 1-Ausdruck TOS in der Ablage zu zeigen.
Laden TOS(kleiner Genauigkeitswert) des SPR-ten Ausdrucks des QTR-Ten Ablage-Kellerspeichers nach EMQS.
909849/0490
COPY
-VT-
PMEM (QTR)(MSB) <<-A
COMP 14t- EMQS, REXTREi1
wenn EMQS.GT.KEXTREF, dann KEXTREF <— EMQS
Setzen PE-Bit in XPOC, um ein anfänglich, leeres Fach. anzuzeigen
Laden COMP 1 mit EMQS und KEXTREF. Ist EMQS größer als KESTREF -64· bei der ersten verarbeiteten Ablage) so ersetze KEXTREF DURCH EMQS.
wenn QTRMIK'= O, dann DO; QTR <r- QTR -1; Zustand 2
XREF <f- KEXTREF; KEXTREF < 64-
QTR 4~T QTRL (LFMAR) Zeigt Ergebnis im Zus. 3 an, daß QTR noch nicht gleich MIK ist dekrem.QTR, um auf nächste zu verarbeitende Ablage zu zeigen und kehre zurück zum Zustand um die nächste Ablage TOS nachzusdauen und mit KEXTREF zu vergleichen. Wenn QTR MIK = (TOS-Abtastung fertig) dann gehe zum Zustand 6
Setze REF auf den am meisten positiven TOS, und reinitialisiere KEXTREF, um nächsten XREF zu finden.
909849/0490
COPY
8 9
10
11
12
13
14
15
SPR ·*- SPM(QTR)
NO OP
IF SPR =0, Then SE = 1; ELSE DO: SE = 0; SPR 4- SPR-I
XTOS, EMQS -*■ CMEM(QTRrSPR)
XPOC + PMEM(QTR); PE -t- PMEM(QTR) (MSB)
IF SE = 1, THEN DO: EQ ■*■ 0; CHRDY ·*· 1; GO TO STATE
COMPl ■*- EMQS, XREF
NO OP
IF EMQS = XREF, THEN DO: EQ =
ELSE DO: EQ = 0; CO TO --Zustand
SPM(QTR) <- SPR
BUS ■*■ CMEM (QTR:SPR)
Leeea des QTR-ten Ausdrucks Toa SEM nach. SPR (init. Kellerzeiger)
Prüfen, ob in SPR Null
Ist der derz.Kellersp.leer, setzen des Flags "Kellerspe.leer1 sonst löschen dieses Flags und dekrementieren des Kellerzeigers, damit dieser auf TOS zeigt
TOS-Daten auslesen nach XTOS, um sie für den Unschärfew-Generator (DG) verfügbar zu machen. Einkopieren des TOS-Feldes nach EMQS um nächste Vergleichssequenz zu beginnen und dadurch den neuen Xi EP zu erhalten. -
Lesen des Fach-Werkes der in Beäa beitung befindl.Ablage nach XPOG in Vorher.d.Bereitstellung für de Unscharfe-Gen(DG).Setzen des Flag 'JFach leer" auf den Wert im MSB des PMEM-Ausdrucks.
Bei leerer Ablage Löschen des EQ-Flags um dem Umschl-Gen.anzuzeige daß XTOS = XREF, setzen GHRDY aui um XREF, XTOS und XPOG an Umseh. Gen. zu, geben; sprung in Zus. 19· um auf Antwort des Unschärfe-Gen. zu warten. Sonst fortfahren nach Zustand 12
Derzeit TOX und XREF zum Vergl. in Vorbereitung des Tests im Zustand 14
Prüfen, ob EMQS gleich MEXTREF
Sind EMQS und XREF gleich, setzen der Flags "gleich." und Fortschrei ten zum Zustand 15·
Sonst lösdsn der Flags "gleich" und Sprung zum Zustand 18, um Daten für Umschi.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.
909849/049Q °°ργ ORIGINAL INSPECTED
PMEi-I(CfTR) +· BUS;
PxMEM(QTR) (MSB) -*- O
IF SPR = O7
THEN DO.:
CHRDY = 1;
GO TO STATE 19
ELSE SPR + SPR-I
■#<■
-2838
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).
Wenn Ablage nun leer, dann Setzen GHBDY, um dem Unscharfe-Generator anzuzeigen, daß Daten bereitstehen. Übergang zum Zustand 19
Sonst dekrementieren SPR. um auf nächstes Kellerelement zu zeigen (unbelegt, wenn vorheriger TOS-Vert in Fach gebracht wurde; zur Vorbereitung eines neuen EMQS/NESTREF-Vergleichszyklus. Weiter in den Zustand 17
17
18
19
20
21
EMQS +■ CMEM(CfTRrSPR)
CEIRDY = 1
COMP -*- Ei-JQS/ NEXTREF; IF EMQS .CT. NEXTREF, THEN NEXTREF ·«- EMQS
COMPl -f- NEXTREF, -64 COMP2 ■*■ QTR, MIN
IF CHRDY = 1, GO TO STATE 20
IF QTRMIN = 1,
THEN IF NEXTREF = THEN DO:
CHDONE = 1; GO TO STATE 22
ELSE
GO TO STATE 6; Lesen des neuen TOS-Wertes nach EMQS als neuen XREF-Kandidaten (Für den ersten Durchlauf (PASS) ist NEXTREF im Zustand 6 auf -64 eingestellt Bereitstellen der Daten für Unschärfe-Generator zwecks weiterer Verarbeitung
Laden EMQS, HEXTREF in Vergl. Ist EMQS -^ NEXTREF, dann gleichsetzen NEXTRSF MIT EMQS. (Fortgang des Prozesses des Findens des am meisten positiven Wertes in TOS für jede gegebene-" TOS-Abtastung) (TOS = top of stack) = oberstes Kellerelement) Laden NEXTREF und -64 in Vergl. zum Vorbereiten des Tests im Zustand 21
Im Zustand 20 in Ruhe, bis der Umsch . Generator CHRLY löscht, was anzeigt, daß er die verfügbaren Datensatzwerte (XREF, XTOS, XPOc) übertragen hat.
Falls QTR = MUT (QTRMIN=I),(d.h. daß alle TOS-Elemente aller Ablagen im Eintrag abgetastet sind) und falls NEXTREF = -64 (kein neuer TOS-Wert wurde als Kandidat für XREF gefunden), dann sind alle Ablage-Kellerspeicher verarbeitet. Setzen Flag GHDONE, um dem Unscharfe-Gen. anzuzeigen, daß der Ablage-behandler (CH) diesen Eintrag beendet hat. Weiter nach Zustand 22
Wenn NEXTREF einen Wert größer als -64 enthält, dann müssen noch weitere Ablagen bearbeitet werden. Weiter in den Zustand 6 und neu-init. QTR., um Verarbeitung der ersten Ablage des vorliegenden Eintrags wieder zu beginnen
909849/0490
ELSE DO:
QTR -t- QTR-I; GO TO STATE 7
IF CONT = O, THEN DO; CEMPTY = 1; GO TO STATE O;
ELSE DO:
LEMAR ·*- LEMAR-I;
GO TO STATE 1 Ist QTEMIlT = O (QTE^MIN), müssen noch weitere Ablagen bei dieser TOS-Abtastunj durch den vorliegenden Eintrag verarbeitet werden. Dekrementieren QTE, um auf die nächste zu verarbeitende Ablage zu zeigen. Weiter in Zustand 7» um Kellerzeiger für diese Ablage· zu reinitialisieren.
Wenn der letzte Eintrag in CMEM (Zeiger hierauf ist letzter Ausdruck in QTLF mit dem CONT-Bit = 0) gerade verarbeitet ist, setzen CEIiPTY, um den Abi,· gebehandler im Euhezustand 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 XEEP-Wert für diesen Eintrag.
909849/0490
ORIGINAL INSPECTED COPY
2-138106
Tabelle
OPERATION
IF DGDONE = 1, THEN GO TO STATE
ELSE; CHDONE = O; PASSl =
SDC -f- 0; SBC +■ 0
IF CHHDY = 0, TKEZ-J GO TO STATE 2;
ELSE;
CHHDY = 0; LOOP = QTRMIN REF "+· XREF; POC ■*■ XPOC; TOS ·*- XTOS;
IF EQ =
THEN DO:
ALUl -c- PCC2, REF; DI +· REF-POC2; IF Dl .LT. O1,(state 4) THEN DO:
ALUl +· P0C2, REF; Dl -c- POC2-REF;
THEN DO:
ALÜ2 ·*- T0S2, REF; D2 ■*■ REF-TOS2; IF D2 .LT. 0, (state 4) THEN DO.:
ALU2 ■*- TOS2, REF; D2 ■*■ TOS2-REF;
IF EQ = 1 THEN DO.: El -c- TOSl; GO TO STATE 11; Funktion
Im Zustand 0 in Ruhe, bis DGDOBE durch. PC gelöscht
Ist DGDOHE gelöscht, rücksetzen GHDOKB und setzen PASS 1, um anzuzeigen, daß dies der erste Durchlauf (Pass ) durch einen neuen Eintrag ist.
Löschen des Abstandssummen-Kandidaten nad Genaugkeitssummen-Kand. 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üi Unsch.-Gen. hat
Stehen der Daten für den Ablage-Behandler bereit, rücks. CHjEiDY, um anzuzeigen, daß der AbI.-Beh. arbeitet; Setzen LOOP auf Komplement von QTSTIXIM, und übertragen eines Datenwertsatzes vom Ablage-Behandler zu entsprechenden Registern. Zustand 2 ist der Anfangszustand für jede Ablage-Fach-Bezugsabstands-Berechnung
Ist TOS ungleich RE5", laden der entsprechenden ALU
Bestimmen der Diff. zwischen REF und dem verarbeiteten Fach-Wert. Ergibt die erste Subtraktion ein negatives Ergebnis werden die Operanden ausgetauscht und noch mais subtrahiert, um Absolutwert der Differenz zu bilden.
Bestimme Differenz zwischen REF und dea in Bearbeitung befindl. TOS (d.h. dem obersten Kellerelement, top of ,stack), bei negativem Ergebnis: Austausch der Operanden, um Absolutwert zu bilden.
TOS = REF: Differenz ist Hull, erhalten des zugehörigen Genauigkeitswertes zum Berechnen der Genauigkeitssumme.
9098A9/0490
COPv
1!
10 j 15 20
: --: :":-::■ -:2-a-38iO6
IF PE = 1 AND SE = O, Pur* dü.e.?e "Übl:ag& ist daö Fach leer
THEN DO: und "das* TOS*voli.Re"tten der TOS-Ge-
El -fr-TOSl; nauigkeit und der Diff .zwischen TOS
DR -fr- F2; und REF
GO TO STATE 8;
IF PE = 0 AND SE = 1, Für die Ablage ist das Fach voll und
then DO: TOS leer; Retten der Fach-Genauigkeit
El -«- POCl; und Differenö zwischen Fach und REF
DR +■ Fl
GO TO STATE 8;
IF PE = O AND SE = O, Für diese Ablage liegt sowohl ein Fach-
THEN DO: wert als auch ein TOS-Wert vor. Retten ·
Dl -fr· Fl; * beider Werte für Test in Zuständen 5-7· D2 -*- F2; *-
COMPl -fr- PCCl, TOSl? Vergleichen Genauigkeit und Differenzen CCMP2 -e- Dl, D2
Prüfen obD1<D2, D2 <^D1, D2 = D1;
N° 0P · POG >TOS 1. Die Differenz zwischen
dem Fluch und REF ist kleiner als die
IF Dl .LT. D27 Differenz zwischen REF und TpS THEN DO:
DR *■ Dl;
El ·*■ PCCl;
IF D2 .LT. Dl7 Die Differenz zwischen TOS und REF ist
THEN DO: kleiner als die Diff. zwischen Fach und
• DR +■ D2; REF; daher rette erstere mit zugehörige
El -fr- TOSl; Genauigkeit.
IF Dl = D2 and PCCl .ge. TOSl ΉΕΈ ^at gleich Diff. bezüglich TOS YP -t- ni · pi -e- vrri ' und dem Fach, aber die zu letztere:
gehörige Genauigkeit ist großer als die von TOS, also rette die Diff.Fach/RSF und die zugehörige Genauigkeit.
IF Dl = D2 AND TOSl -GT. POCl, REF hat gleiche Diff. bezügl.TOS then DR +· D2; El ·*- tos? ·· * und Fach, aber der zu TOS gehörig«
Genauigkeitswert ist größer als der vom Fach; daher rette Diff. zwischen TOS un«L REF, sowie zugehörigen Genauigkeitswert.
25
CCMP2 +-DR, PW Vergleichen der Differenz, die im
Zustand 7 ausgewählt wurde; mit Such· abschnittsbreite (pipe width).
IF DR .CT. PW, Die Differenz ist größer als die Sucl TtEN DR -fr- QS abschnittsbreite, daher ersetze
Anfragegröße für den Abstand
3Oi
ji
j * F1 = Ausgang der ALU1 9,0 9849/0490
F2 = Ausgang der ALU 1 . · ·
ORIGINAL INSPECTED
-..«.;■»'a COPY
15 20 25 30
-: ■: ■·- - 2.538106
10 ALül «- DR, SDC; SDC -t- Fl Summiere zuletzt gefundene Dif f.
mit den anderen Diff. in dieser Ablageabtastung
ALU2 + El, SEC; SBC f F2 Summiere die zu der zuletzt gefun- "
denen Diff.gehörige Genauigkeit mit den ander.Genauigkeitswerten für diesen Ablagendurchlauf
IF loop = 0, GO TO STATE 12 Dies beendet eine Abtastung durch
die Ablagen,daher Sprung zum Zust.12 um Summe der Diff.und Genauigkeiten im "Gewinner-Register und REI1 auf neuesten Stand zu bringen.
ELSE; Ablageabtastung nicht fertig.
GO TO STATE 2 Sprung in Zust. 2 und verarbeiten
des nächsten Datensatzes in Ablage— Behandler
11 ALU2 ■*- SBC, El; SBC ·*- F2 (Siehe Zust. 3) Dif f. von REF für
dieselbe Ablage, wenn REF-Differenz Full ist; daher rette TOS Genauigkeit für Genauigkeitssumme
IF LCOP = 0,
THEN GO TO STATE 12
ELSE;
GO TO STATE 2 (
12 CCMPl «■ SDC, SDW; C0MP2 +■ SBC, SBW Vergleichen der Dif f. und Gen.
kandidaten mit vorherigen Gewinnern. Dieser Zustand wird nach Abtastung aller Ablagen betreten.
13 NO OP Prüfen od SDC.LT.SDW, SDC.EQ.SDW
SDC.GT.SDW, SBC.LT.SBW SBC.EQ.SBW SBC.GT.SBW
14 IF SDC .LT. SD™ OR (SDC = SDW AND SBC .GT. SBW) or PASSl = 1, Bringe
THEN SDW -f- SDC; SBW ·«- SEC; PSN ·*- REF; PASSl = 0 SBW (Summe
• ■ - - - ■ der Dif f.
Gewinn). SBW (Summe der Gen.Gewinn) und REF auf neuesten Stand. Drei Bedingungen, um diese Register auf neuen Stand zu bringen.
1) PASS =1;. Dies ist erster Durchlauf durch die Ablagen, daher sind SB und SDW leer. Erzwungenes Auf-neuen Stand-Bringen.
2) SDCKSDW, daher ist SDC der Gewinner
3) gleiche Differenzen aber Kandidat hat größere Genauigkeit
Löschen PASS 1, da Unscharfe-Genera-
DCDONE = aiDONE tor nun für 2. Durchlauf bereit. Ist
IF DGDCNE = O7 der Ablage-Behandler nicht fertig,
TIEN-Go TO STATE 1; gehe in Zust. 1, um SDC- und SBG-
ELSE; Register für nächste Ablage-Abtastung
OO TO STATE 0 vorzubereiten. Ist AbI.-Beh.fertig
melde an PC dann in Zust. 0 und Ru-
9098 4 9/t)490 he zustand bis PC das FLAG DGDOIiE
löscht.
COPY
Leerseite

Claims (22)

  1. PATETNTA1NIWAIrTE" * A.«<SRÜNECKER
    H. KINKELDEY
    W. STOCKMAIR K. SCHUMANN
    , DRRSt »Τ -DIfL-PWS
    _ _ ΛηΛ Ρ. Ή. JAKOB
    P 12 999 0^-"0-
    G. BEZOLD
    — — ~ — —. — .".". - PHFERNÄT.-I
    8 MÜNCHEN
    MAXIMILIANSTRASSE
    . 31. Aug. 1978 .SYSTEM DEVELOPMENT CORPORATION.
    25OO Colorado Avenue
    Santa Monica, California 90406, USA
    Patentansprüche
    L Verfahren, um unter Verwendung ... einer Datenverarbeitungseinrichtung mit einem Speicher für einen Unscharf ewert (D), einem Speicher für einen Positionswert. (PSH"), mehreren Datenspeichern (ABLAGE)sowie einem Zwischenspeicher (POC) für jeden dieser Datenspeicher, ehe besondere Übereinstimmung festzustellen zwischen einer Anzahl von Ereignissen einer Anfrage und einer Anzahl von Ereignissen einer gespeicherten Datenbank auf der Grundlage eines zuvor gebildeten Feldes von Datenwerten,von denen jeder die Zahl von Ereignispositionen zwischen der Gegenüberstellung eines Ereignisses der Anfrage und einem entsprechenden Ereignis in der gespeicherten Datenbank repräsentiert, wobei eine Gruppe von einem oder mehreren Datenwerten vorgesehen ist für jede von mehreren unterschiedlichen Arten von Anfrageereignissen und jede unterschiedliche Gruppe in einem unterschiedlichen Datenspeicher gespeichert ist bei monotoner, von einem ersten1 Ende ausgehender Reihenfolge der Datenwerte in der Gruppe, gekennzeichnet durch folgende Schritte:
    a) Erfassen des Datenwertes an den ersten Enden der Gruppen, welcher eine vorgegebene Beziehung aufweist, gegenüber anderen Datenwerten an den ersten Enden der.
    909849/Ö49Q
    TELEFON (039) 23 28 62 TELEX OB-29 380 TELEGRAMME MONAPAT TELEKOPIERER
    .-·. —.-.--2838108
    Gruppen in den Datenspeichern,
    b) Übertragen des erfaßten Datenwertes von der entsprechenden Gruppe in den entsprechenden Zwischenspeicher, um den dort zuvor gespeicherten Wert zu ersetzen,
    c) Kombinieren der Datenwerte, um einen Unscharfewert zu bilden, der die Summe der Absolutwerte algebraischer Differenzen darstellt, welche aus dem im vorhergehenden Schritt erfaßten Datenwert und verschiedenen, an den ersten Enden, der Gruppen in den Datenspeichern und den Zwischenspeichern vorliegenden Datenwerten gebildet werden,
    d) Feststellen, ob der im letzten Schritt gebildete Unschärfewert eine vorbestimmte Relation zu dem in dem Unscharf ewertspeicher enthaltenen Wert auf weis:,
    e) Ersetzen eines Wertes in dem Unscharfewertspeicher durch einen derart gebildeten Unscharfewert, falls festgestellt wird, daß letztere eine solche vorbestimmte Relation aufweist, und
    f) Ersetzen eines Wertes in dem Positionsspeicher durch denjenigen festgestellten Datenwert, der im Schritt des Kombinierens verwendet wird, falls von dem aus diesem Datenwert, gebildeten Unscharfewert festgestellt wird, daß er die vorbestimmte Relation aufweist.
  2. 2. "Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß der nächste Datenwert in der monotonen Reihenfolge am ersten Ende seiner Gruppe vorliegt, nachdem ein Datenwert von der Gruppe übertragen wurde·, und daß die Schritte des Verfahrens wiederholt werden, indem dieser nächste Datenwert als der Datenwert des ersten Endes verwendet wird.
    909849/0490
  3. 3. Verfahren nach Anspruch Λ oder 2, dadurcli gekennzeichnet, daß die Gruppen in der monotonen Reihenfolge mit dem größten Datenwert am ersten Ende angeordnet sind, und daß der Schritt zum Feststellen einer vorgegebenen Relation eines Datenwertes zu den anderen Datenwerten den Schritt zum Feststellen des größten Datenwertes umfaßt.
  4. 4. Verfahren nach Anspruch 1, dadurch gekennzeichnet,daß beim Schritt des Feststeilens, ob der Unscharfewert eine vorbestimmte Relation aufweist, festgestellt wird, ob der gebildete Unscharfewert kleiner ist als der in dem Unscharfewert-Speicher enthaltene Wert.
  5. 5· Verfahren nach wenigstens.einem der Ansprüche 1 bis 4-, bei dem die Datenverarbeitungseinrichtung einen Speicher für einen Wichtungswert aufweist, in dem ein. zu jedem der Datenwerte gehöriger unterschiedlicher Wichtungswert gespeichert isir, gekennzeichnet durch die zusätzlichen Schritte:
    a) Kombinieren der zu den Datenwerten, die bei der Bildung eines Unscharfewertes kombiniert werden, gehörigen Wichtungswerte , um dadurch eine Summe der Wichtungswerte zu bilden, und
    b) selektives Ersetzen eines Wertes in dem Wichtungswertspeicher durch den so gebildeten Summen-Wichtungswert.
  6. 6. Verfahren nach Anspruch 5» dadurch gekennzeichnet, daß der in dem Wichtungswert enthaltene Wert auf die Feststellung hin ersetzt wird, daß ein neuerlich gebildeter Unscharf ewert die genannte vorgegebene Relation aufweist.
  7. 7· Verfahren nach wenigstens einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, daß bei dem Schritt des Übertragens eines Wertes zu dem Zwischenspeicher zusätzliche Datenwerte zu den entsprechenden Zwischenspeichern übertragen werden , welche denselben Wert haben wie der festgestellte oder erfaßte Datenwert. . ■
    909849/0490
    »: .:ί 838
  8. 8. Verfahren nach wenigstens einem der Ansprüche 1 bis 7> dadurch gekennzeichnet, daß für jeden -Zwischenspeicher und entsprechenden Datenspeicher, die einen Datenwert sowohl im Zwischenspeicher als auch am ersten Ende der entsprechenden Gruppe enthalten, der Schritt des Kombinierens folgende Schritte aufweist:
    a) Bestimmen der algebraischen Differenz zwischen dem festgestellten Datenwert und dem Datenwert in einem solchen Zwischenspeicher,
    b) Bestimmen . der algebraischen Differenz zwischen dem festgestellten Datenwert und dem Datenwert am ersten Ende einer solchen Gruppe,
    c) Feststellen der algebraischen Differenz in den vorhergehenden beiden Schritten, die eine vorbestimmte Relation zu der anderen Differenz aufweist und
    d) Auswählen einer derartigen festgestefl-ten algebraischen Differenz zur Bildung eines Unscharfewertes, der die Summe der Absolutwerte der algebraischen Differenz darstellt.
  9. 9. Verfahren nach Anspruch 5» dadurch gekennzeichnet, daß für jeden Zwischenspeicher und entsprechenden Datenspeicher, die einen Datenwert sowohl im Zwischenspeicher als auch am ersten Ende der entsprechenden Gruppe aufweisen, folgende Schritte vorgesehen' sind:
    a) Feststellen, ob die Datenwerte in dem Zwischenspeicher und dem ersten Ende der entsprechenden Gruppe gleich sind,
    b) Auswählen aus den zwei zu den beiden Datenwerten, deren Gleichheit festgestellt wurde, gehörigen Vichtungsvrerten, denjenigen, der in Bezug auf den anderen einen vorbestimmten Größenbetrag aufweist, und
    909849/0490
    c) Verwenden des ausgewählten Wichtungswertes im Schritt des Kombinierens der Wichtungswerte.
  10. 10. Verfahren nach wenigstens efaem der Ansprüche 1 bis 9» bei dem ein Speicher für einen Suchabschnittswert vorgesehen ist, gekennzeichnet durch folgende zusätzliche Schritte:
    a) Feststellen einer vorbestimmten Relation zwischen jeder algebraischen Differenz beim Schritt des Kombinierens und einem Wert in dem Suchabschnittswertspeicher,
    b) im Anschluß an diesen Schritt feststellen einer derartigen vorgegebenen Relation hinsichtlich einer speziellen algebraischen Bifferenz, um einen vorbestimmten Wert für diese algebraische Differenz zu ersetzen. , wenn ein Unsdärfewert gebildet wird, der eine derartige Summe von Absolutwerten der algebraischen Differenzen darstellt.
  11. 11. Verfahren nach wenigstens einem der Ansprüche 1 bis 10, dadurch gekennzeichnet , daß die genannten Schritte wiederholt werden, bis sämtliche Datenwerte in den. Zwischenspeichern und Datenspeichern nach Maßgabe des Verfahrens verarbeitet sind.
  12. 12. Datenverarbeitungseinrichtung zum Bestimmen einer besonderen Übereinstimmung zwischen mehreren Ereignissen einer Anfrage und mehreren Ereignissen einer gespeicherten Datenbank,, auf der Grundlage eines zuvor gebildeten Feldes von Datenwerten, von denen jeder die Zahl von Ereignispositionen zwischen der Gegenüberstellung eines Ereignisses der Anfrage und einem entsprechenden Ereignis in der gespeicherten Datenbank · repräsentiert, wobei eine Gruppe von einem oder mehreren Datenwerten vorgesehen ist für jede von mehreren .unterschiedlichen Arten von Anfrageereignissen, gekennzeichnet durch
    9098A9/OA9 0
    a) einen Speicher (100) für einen Unscharfewert.(D),
    b) einen Speicher (62) für einen Positionswert (PSN),
    c) mehrere Datenspeicher (ABLkGE) (20) zum Speichern von Datenwerten, wobei jede unterschiedliche Gruppe in einem unterschiedlichen Datenspeicher gespeichert ist und deren Datenwerte in monotoner Reihenfolge bezüglich eines ersten Endes angeordnet sind,
    d) einen Zwischenspeicher (POG) (52,54·) für jeden Datenspeicher,
    e) eine Einrichtung zum Feststellen, daß der Datenwert an den ersten Enden der Gruppen eine vorgegebene Relation zu anderen Datenwerten an den ersten Enden der Gruppen in den Datenspeichern aufweist,
    f) eine Einrichtung zum Übertragen des festgestellten Datenwertes aus der entsprechenden Gruppe in den zugehörigen Zwischenspeicher (40), um den zuvor dort gespeicherten Datenwert zu ersetzen,
    g^ eine Einrichtung zum Kombinieren der Datenwerte, um einen Unscharfewert zu bilden, der die Summe der Absolutwerte der algebraischen Differenzen darstellt, von denen jede aus dem durch die vorstehende Einrichtung in den Zwischenspeicher (40) übertragenen Datenwert und verschiedenen Datenwerten gebildet wird, welche an den ersten Enden der Gruppen in den Datenspeichern (20) und den Zwischenspeichern (4-0) vorliegen,
    h) eine Einrichtung (94,96) zum Feststellen, ob der durch die vorstehende Einrichtung gebildete TJnschärfewert eine vorgegebene Relation zu dem in dem Unschärfewert-Speicher (100) aufweist,
    i) eine Einrichtung zum Ersetzen eines Wertes in dem Unschärfewert-Speicher (100) durch den so gebildeten Unscharfewert, faDLs dieser die vorgegebene Relation aufweist und
    j) eine Einrichtung zum Ersetzen eines Wertes in dem Positionsspeicher (62) durch denjenigen Datenwert, der von der Korn binie übungseinrichtung verwendet wird, falls der aus diesem Datenwert gebildete Unscharfewert die vorgegebene Relation aufweist.
    909849/0490
    ~:.-28 38108
  13. 13. Einrichtung nach Anspruch 12, dadurch gekennzeichnet, daß der nächste Datenwert in der monotonen Reihenfolge am ersten Ende seiner Gruppe vorliegt, nachdem ein Datenwert aus der Gruppe übertragen wurde, und daß eine Einrichtung vorgesehen ist zum Wiederholen des Operationsablaufs der Anordnung unter Verwendung des genannten nächsten Datenwertes.
  14. 14. Einrichtung nach Anspruch 12 oder 13, dadurch . ge kennzeichnet, daß die Gruppen in monotoner Reihenfolge mit dem größten Datenwert am ersten Ende angeordnet sind und daß die Einrichtung zum Feststellen einer . vorgegebenen Relation eines Datenwertes bezüglich den anderen Datenwerten eine Einrichtung zum !Feststellen des größten Datenwertes aufweist. -"--.-.
  15. 15· Einrichtung nach mindestens einem der Ansprüche 12 bis 1 dadurch gekennzeichnet , daß die Einrichtung zum Feststellen, ob der Unscharfewert die vorbestimmte Relation aufweist, eine Anordnung aufweist zum Feststellen', ob . der gebildete Unscharfewert kleiner ist als der Wert in dem Uns chärfewert-Spe icher (100).
  16. 16. Einrichtung nach wenigstens einem der Ansprüche. 12 bis
    15. dadurch gekennzeichnet, daß zusammen mit jedem der Datenwerte ein unterschiedlicher Wichtungawert gespeichert wird, und daß ein Speicher (102) zum Speichern eines Wichtungswertes vorgesehen ist, eine Einrichtung zum. Kombinieren der zu den Datenwerten, die beim Schritt zur Bildung eines Unscharfewertes kombiniert werden, gehörigen Wichtungswerte, um dadurch' eine Summe von Wichtungswerten zu bilden und eine Einrichtung zum selektiven Ersetzen eines Wertes in dem Wichtungswertspeicher mit der gebildeten Summe von Wichtungswerten.
    909849/0490
    - .-28381Q6
  17. 17· Einrichtung nacli Ansprucli 16, dadurch. gekennzeichnet, daß eine Einrichtung vorgesehen ist zum Ersetzen des Wertes in dem Wichtungswertspeicher nach der Feststellung, daß ein neuerlich geformter Unscharfewert die vorgegebene Relation aufweist.
  18. 18.- Einrichtung nach wenigstens einem der Ansprüche 12 bis 17» dadurch gekennzeichnet, daß die Einrichtung zum Übertragen eines Wertes an den Zwischenspeicher (4-0) eine Einrichtung aufweist zum Übertragen zusätzlicher Datenelemente an den entsprechenden Zwischenspeicher, wobei die Datenelemente denselben Wert haben wie der festgestellte Datenwert.
  19. 19· Einrichtung nach wenigstens einem der Ansprüche 12 bis 18, dadurch gekennzeichnet , daß die Einrichtung zum Kombinieren eine auf jeden Zwischenspeicher und entsprechenden Datenspeicher, die einen Datenwert sowohl im Zwischenspeicher als auch am ersten Ende der entsprechenden Gruppe aufweisen, um die algebraische Differenz zwischen dem festgestellten D"atenwert und dem Datenwert in einem solchen Zwischenspeicher zu bestimmen, eine Einrichtung zum Bestimmen der algebraischen Differenz zwischen dem durch die letztgenannte Einrichtung erfaßten Datenwert und dem Datenwert am ersten Ende der entsprechenden Gruppe, eine Anordnung zum Feststellen der durch die beiden vorstehend erläuterten Einrichtungen gebildeten algebraischen Differenz, die eine vorbestimmte Relation zu der jeweils anderen Differenz aufweist, und eine Einrichtung zum Auswählen einer solchen festgestellten algebraischen Differenz zum Bilden eines Unscharfewertes, der die Summe der Absolutwerte der algebraischen Differenzen darstellt.
    909849/0490
  20. 20. Einrichtung nach Anspruch 16, dadurch g e Tc en η zeichnet, daß eine für jeden Zwischenspeicher und entsprechenden Datenspeicher, die einen Datenwert sowohl im Zwischenspeicher als auch am ersten Ende der entsprechenden Gruppe enthalten, wirksam ist, um festzustellen, ob die Datenwerte in dem Zwischenspeicher und dem ersten Ende der entsprechenden Gruppe gleich sind, eine Einrichtung, um denjenigen der beiden Wichtungswerte auszuwählen, der zu den beiden Datenwerten gehört, deren Gleichheit festgestellt wurde, wobei dieser Wichtungswert eine vorbestimmte Größe bezüglich des anderen Wichtungswertes aufweist, und eine Einrichtung zum Kombinieren der Wichtungswerte unter Verwendung'.des ausgewählten Wichtungswertes beim Schritt des Kombinierens der Wichtungswerte. .
  21. 21. Einrichtung nach mindestens einem der Ansprüche 12 bis 20, dadurch g e k e η η ζ e i c h η e t , daß die Einrichtung zum Kombinieren der Datenwerte weiterhin eine Anordnung, aufweist, um jede der algebraischen Differenzen zu bilden, daß die Batenverarbeitungseinrichtung weiterhin einen Speicher für einen Suchabschnittwert aufweist, eine Einrichtung zum Peststellen einer vorgegebenen Relation zwischen jeder derartigen algebraischen Differenz und einem Wert in dem Suchbreitenabschnitt-Speicher, und eine auf die letztgenannte Anordnung hin wirksame Einrichtung zum Feststellen, daß diese vorbestimmte Relation ein spezieller algebraischer Differenzwert ist, um einen vorgegebenen Wert für eine solche algebraische Differenz beim Bilden eines Unscharfewertes, der eine derartige Summe von Absolutwerten der algebraischen Differenzen darstellt, zu ersetzen.
  22. 22. Einrichtung nach wenigstens einem der Ansprüche 12 bis 21, g e ke η η ζ ei c hn e t durch eine Einrichtung, um die Operation der gesamten Anordnung zu wiederholen, bis sämtliche Datenwerte in den Zwischenspeichern und Datenspeichern verarbeitet sind.
    9098A9/OA90
DE19782838106 1978-05-31 1978-08-31 Datenverarbeitungsverfahren und -vorrichtung zum bestimmen des uebereinstimmungsgrades zwischen zwei datenfeldern Withdrawn DE2838106A1 (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
DE2838106A1 true DE2838106A1 (de) 1979-12-06

Family

ID=10232481

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19782838106 Withdrawn DE2838106A1 (de) 1978-05-31 1978-08-31 Datenverarbeitungsverfahren und -vorrichtung zum bestimmen des uebereinstimmungsgrades zwischen zwei datenfeldern

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) ES8103405A1 (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
EP0157768A4 (de) * 1983-10-04 1987-12-09 Proximity Technology Inc Kettenvergleichsvorrichtung enthaltendes system, schaltung und verfahren.
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
US7865503B2 (en) * 2006-05-15 2011-01-04 Algebraix Data Corporation Systems and methods for data storage and retrieval using virtual data sets
US7720806B2 (en) * 2006-05-15 2010-05-18 Algebraix Data Corporation Systems and methods for data manipulation using multiple storage formats
US7613734B2 (en) * 2006-05-15 2009-11-03 Xsprada Corporation Systems and methods for providing data sets using a store of albegraic relations
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
US7769754B2 (en) * 2006-05-15 2010-08-03 Algebraix Data Corporation Systems and methods for data storage and retrieval using algebraic optimization
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
GB1588827A (en) 1981-04-29
IL57205A (en) 1981-12-31
US4290115A (en) 1981-09-15
IT1197508B (it) 1988-11-30
CH649164A5 (de) 1985-04-30
IT7968169A0 (it) 1979-05-30
NO791742L (no) 1979-12-03
ES481046A0 (es) 1981-02-16
EG13611A (en) 1981-12-31
YU126279A (en) 1983-04-30
IL57205A0 (en) 1979-09-30
FR2427645B1 (de) 1985-04-19
BE876591A (fr) 1979-11-28
AU529460B2 (en) 1983-06-09
PL215977A1 (de) 1980-09-08
SE7904315L (sv) 1980-01-25
ES8103405A1 (es) 1981-02-16
AU4751779A (en) 1980-02-28
NL7904267A (nl) 1979-12-04
FI791459A (fi) 1979-12-01
BR7903523A (pt) 1980-01-22
CA1110771A (en) 1981-10-13
DK223379A (da) 1980-01-18
FR2427645A1 (fr) 1979-12-28
DD144136A5 (de) 1980-09-24
JPS54157456A (en) 1979-12-12
LU81335A1 (fr) 1979-10-30

Similar Documents

Publication Publication Date Title
DE2838106A1 (de) Datenverarbeitungsverfahren und -vorrichtung zum bestimmen des uebereinstimmungsgrades zwischen zwei datenfeldern
DE69708654T2 (de) Chipkarte mit gemäss einer baumartigen struktur gespeicherten dateien
DE69132356T2 (de) Verfahren und Gerät zur Zeigerkompression in strukturierten Datenbanken
DE3852384T2 (de) Adaptives Hilfs-/Dialogsystem.
DE2914132A1 (de) Datenbanksystem mit informationsvergleich
DE2642027A1 (de) Verfahren zur automatischen umwandlung einer rohskizze in eine fertige zeichnung
DE2645537A1 (de) Datenverarbeitungsanordnung
DE31840T1 (de) Speichersystem.
DE1424732A1 (de) Elektronische Ziffernrechenmaschine
DE69123493T2 (de) Verarbeitungsverfahren und Gerät um einen Dateinamen von einem logischen zu einem richtigen Namen zu erstellen
WO2007137308A1 (de) Verfahren zum steuern eines relationalen datenbanksystems
DE19826252A1 (de) Verfahren zur digitalen Signalverarbeitung und Anordnung zur Durchführung des Verfahrens
DE2729912A1 (de) Digitale signalverarbeitungsanordnung
DE69629540T2 (de) Verfahren und Gerät zum Sortieren von Elementen
Herget Digitalisierung und Kulturwandel
DE2233193C3 (de) Stapel-Speichersystem
WO2021213998A1 (de) Verfahren zum betreiben einer steuergeräteanordnung sowie entsprechende steuergeräteanordnung
Briken Ein verbetriebswirtschaftlichtes Gewaltmonopol? New Police Management im europäischen Vergleich.
DE102012214856B4 (de) Verfahren zur Vorsortierung in Plattenlagern
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
DE69737345T2 (de) Parametergenerator für ein Montageprogramm von Bauelementen und ein Speichermedium
DE2062164A1 (de) Verfahren zur Erzeugung eines mehr stufigen Index für gespeicherte Daten einheiten
DE69011917T2 (de) Vorrichtung für die automatische Gültigkeitsanalyse von medizinischen Prüfdaten.
EP1325412B1 (de) Verfahren zum zugriff auf eine speichereinheit, in der vermerkfolgen gespeichert sind, zugehörige speichereinheit und zugehöriges programm

Legal Events

Date Code Title Description
8141 Disposal/no request for examination