DE1955797A1 - Verfahren zur Steuerung der Verarbeitung von Eingabedaten und Datenverarbeitungsanlage hierfuer - Google Patents

Verfahren zur Steuerung der Verarbeitung von Eingabedaten und Datenverarbeitungsanlage hierfuer

Info

Publication number
DE1955797A1
DE1955797A1 DE19691955797 DE1955797A DE1955797A1 DE 1955797 A1 DE1955797 A1 DE 1955797A1 DE 19691955797 DE19691955797 DE 19691955797 DE 1955797 A DE1955797 A DE 1955797A DE 1955797 A1 DE1955797 A1 DE 1955797A1
Authority
DE
Germany
Prior art keywords
criteria
data
positions
register
statement
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.)
Pending
Application number
DE19691955797
Other languages
English (en)
Inventor
Reynolds Christopher Finch
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.)
Fujitsu Services Ltd
Original Assignee
Fujitsu Services Ltd
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 Fujitsu Services Ltd filed Critical Fujitsu Services Ltd
Publication of DE1955797A1 publication Critical patent/DE1955797A1/de
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • 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/90339Query processing by using parallel associative memories or content-addressable memories
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

In der Antwort bitte angeben Unser Zeichen
I/p 6732
INTERNATIONAL COMPUTERS LIMITED, ICL House, Putney, London,
S.W. 15, England.
Verfahren zur Steuerung der Verarbeitung von Eingabedaten und Datenverarbeitungsanlage hierfür.
Die Erfindung bezieht sich auf eine Datenverarbeitungsanlage und ein Verfahren zur Steuerung der Verarbeitung von Eingabedaten in einer Rechneranlage.
Herkömmliche Datenverarbeitungsanlagen verwenden zwei getrennte und unabhängige Gruppen von Informationen, nämlich Problemdaten und Programmbefehle. Die Befehle legen die logischen Arbeitsvorgänge fest, beispielsweise das Addieren, Multiplizieren und Vergleichen, die an Positionen der Problemdaten durchgeführt werden müssen.
Das Programmleren von mathematischen Problemen* wie sie insbesondere in wissenschaftlichen Berechnungen auftreten, ist verhältnismäßig viel einfacher als das Programmieren von Datenverarbeitungsvorgängen, die für die kommerzielle Datenverarbeitung notwendig sind.,Ein wesentlicher Grund für diesen
3.11.1969 W/He - 2 - Ι/ρ'&β&
Unterschied besteht darin, daß der Aufbau der Problemdaten bei der kommerziellen Datenverarbeitung weit komplexer ist. Beispielsweise ist die Berechnung von Nettolohn für eine Person, für die tatsächlich gearbeiteten Stunden, für den Stundenverdienst usw. von mathematischem Standpunkt aus betrachtet, ein trivialer Vorgang. Die große Anzahl von Veränderungen, denen jedoch jeder Paktor in normalen geschäftlichen Betrieb unterworfen ist, ergibt eine große Vielfalt im Programm. Beispielsweise kann die Zahl von gearbeiteten Stunden durch Krankheit, bezahltes oder nicht bezahltes Fehlen oder Fernbleiben, Überstunden und dgl. beeinflußt werden. Ferner beeinflussen wenigstens einige dieser Bedingungen die Höhe der Zahlung wie auch die tatsächliche Anzahl von gearbeiteten Stunden. Ähnliche Änderungen von Bedingungen können bei jedem Schritt derBerechnung auftreten und das Programm muß alle Änderungen allein und in Verbindung mit den Einflüssen auf andere Schritte der Berechnung berücksichtigen.
Obgleich die in Zusammenhang mit einer Lohnliste auftretenden Probleme oberflächlich betrachtet einfach erscheinen, erfordert die große Anzahl von möglichen Bedingungen ein komplexes Programm, das eine große Menge an Programmierarbeit mit sich bringt. Da die Kompliziertheit des Ausgangsproblemes zu-nimmt, nimmt das Programm in seiner Kompliziertheit in noch stärkerem Maße zu. Es wird dann äußerst schwierig, das Programm als Ganzes zu erfassen, und zu gewährleisten, daß tatsächlich jede Gruppe von Bedingungen, die auftreten kann, behandelt wird, und daß jede spätere Korrektur oder Abänderung des Programmes, die erwünscht sein mag, berücksichtigt werden kann.
Es ist deshalb Ziel vorliegender Erfindung, ein einfacheres Verfahren zur Steuerung der datenverarbeitenden Vorgänge anzugeben.
ΟΟ9024/1Π8 OADORiQfNAL
3.11.1969 W/He . - 3 - - i/p 6732
Gemäß vorliegender Erfindung ist ein Verfahren zur Steuerung der Verarbeitung von Eingabedaten in einer Rechneranlage dadurch gekennzeichnet, daß
1. die Eingabedaten als eine Reihe von Faktenangaben gespeichert werden, von denen jede aus einer Gruppe von der Rangordnung nach angeordneten Faktenpositionen vorgesehen sind,
2. die die durchzuführenden Verarbeitungsvorgänge bestimmenden Bedingungen als eine Reihe von Kriterienangaben gespeichert werden, von denen jede aus einer Gruppe von der Rangordnung nach angeordneten Kriterienpositionen besteht,
3. die erste Kriterienangabe der Reihe Position um Position mit einer Faktenangabe verglichen wird, daß ein Fehler in der Übereinstimmung des Vergleiches bewirkt, daß die nächste Faktenangabe zum Vergleich ausgewählt wird und im Falle der Übereinstimmung des Vergleiches die Durchführung des Datenverarbeitungsvorganges vorgenommen wird, die durch eine Position der Kriterienangabe spezifiziert wird.
Nachstehend wird die Erfindung in Verbindung mit der Zeichnung anhand eines Ausführungsbeispieles erläutert.
Die Figuren IA und 1 B zeigen in ihrer Gesamtheit ein Blockschaltbild einer Datenverarbeitungsanlage gemäß der Erfindung, und
Fig. 2 Abänderungen der Anlage nach Fig. 1.
Um den Aufbau und die Arbeitsweise der Anlage zu verstehen, ist es erforderlich, den Aufbau der Daten, die von der Anlage verarbeitet werden sollen, zu erläutern. Grundsätzlich bauen die Daten auf Positionen auf. Eine typische Position besteht aus fünf Abschnitten, die die Länge (S),- die Stufe (L), den
0098 24/177
3.11.1969 W/He - 4 - i/p 6732
Datennamen (N), die logische Beziehung und andere Steuerinformationen (R) und den Datenwert (V) der Position festlegen. Die ersten vier dieser Abschnitte werden gemeinsam als das Positionsleitwort bezeichnet.
Die Länge (S) kann zum Definieren entweder der Länge des Datenwertes oder Gesamtlänge der Position als Ganzes verwendet werden. Letzteres ist zweckmäßiger, wenn mehr als ein Format von Positionsleitwörtern verwendet wird, so daß das Positionsleitwort keine fest Länge besitzt.
Die Stufe (L) ist eine Anzeige, die dazu beiträgt, jede eiideutige Stellung einer Datenposition in der Anlage zu definieren. Seine normale Verwendung wird weiter unten erläutert.
Der Datenname (N) gibt den Namen einer Reihe von Gegenständen oder Ereignissen oder Werten an. So wird der Datenname "Komponente" beispielsweise von einem Chemiker zur Bestimmung der Reihe benutzt, die aus allen chemischen Komponenten in der Datenmenge besteht. In der Baxis wird der Name normalerweise in dem Positionsleitwort in abgekürzter codierter Form gehalten, wobei bezug auf eine gespeicherte Umwandlungstabelle genommen wird, die die alphanumerischen Äquivalente für den Eingg'ang aus oder den Ausgang zu Benutzern festhält. Für Anwendungsfälle, in denen die Eingabe-/Ausgabebelastung sehr hoch im Vergleich mit der inneren Verarbeitung ist, kann das Positionsleitwort dazu verwendet werden, den vollen alphanumerischen Wert fest-, zuhalten.
Die logische Beziehung (R) zwischen dem Datennamen und dem Datenwert kann beispielsweise die Bedeutung "gleich", "nicht gleich", "größer", "größer oder gleich", "kleiner", "kleiner oder gleich", "alles", und "nichts"haben. In den beiden letzten Fällen istkein Datenwert vorhanden. Die andere Steuerinformation -kann eine Anzeigevorrichtung enthalten, die "Fakten£ktton"-Positionen identifiziert, welches Positionen sind, denen bedingungs-
009824/1776
3.11.1969. W/He - 5 - i/p 6732
los gefolgt werden muß, und die zum Definieren der Begrenzungen von Datenblöcken innerhalb eines Speichers oder auf äußeren Haltevorrichtungen oder zum Definieren, wie die folgenden Datenpositionen verwendet werden können, oder aber zum Definieren, wer zur Verwendung der Daten berechtigt ist, dienen. Bei jeder Anlage, die mehr als ein Datenformat verwendet, definiert die Steuerinformation das Format des Wertes (d.h. alphanumerisch, Pestkomma, dezimal, gleitendes Komma, binär usw.) und kann zusätzlich Information in bezug auf die Genauigkeit der Zahl und/ oder der Lage des Dezimalpunktes aufweisen. Ferner kann sie ein Ende der Aussageanzeige enthalten.
Der Wert (V) kann eine beliebige Länge (einschließlich Null) bis zur maximalen Länge, die von dem Längenabschnitt (S) zugelassen wird, aufweisen. Positionen mit dem gleichen Datennamen brauchen nicht die gleiche Länge zu besitzen. Zusätzlich kann das Format des Wertes alphanumerisch, verdichtet dezimal, mit gleitendem Komma, mit geordneter Bitfolge usw., sowie jedes andere Format sein, das von dem System verarbeitet werden kann, einschließlich codierter Daten, tatsächlicher, üblicher Aufzeichnungen oder Folgen von üblichen Programminstruktionen in jedem hohen Pegel oder Maschinensprache. In der Praxis würde eine Beschränkung auf die tatsächlichen zulässigen Formate durch die Größe und Organisation der Steuerinformation (Abschnitt R) gegeben sein.
Eine Aussage ist eine Ansammlung mehrerer Positionen. Der Aufbau einer Datenmenge (d.h. einer Liste von Aussagen), ist mit Positionen verzweigt, die verschiedenen Aussagen gemeinsam isfc, sind, welche an den Beginn jener Aussagen gesetzt werden und nur einmal in dem Abschnitt der Datenmenge auftreten. Jede Aussage wird "durch eine Aussage-Ende-Anzeige abgeschlossen,die in dem R-Abschnitt des Steuerwortes der letzten Position der Aussage geführt wird. Der Anteil an gemeinsamen Positionen zwischen verschiedenen Aussagen wird mit Hilfe der Pegelzahlen definiert.
000824/1778
■5.11.1969 W/He - 6 - i/p 6732
Die Art der Pegelzahlen ergibt sich aus einer Betrachtung der folgenden Tabelle I, die ein Teil einer Datenmenge ist, die komplexe chemische Information enthält. In dieser Tabelle werden Kommas zur Markierung von Enden von Positionen und Punkte als Aussage-Anzeigen verwendet. Die Positionen 1-5 bilden die erste Aussage; die Positionen 1-4 und 6 bilden die zweite Aussage; die Positionen 1-4 und 7-9 bilden die dritte Aussage, die Positionen 1-4 und 7i 10, 11 bilden die vierte Aussage, die Positionen 1 und 12-14 bilden die fünfte Aussage usw. Die Positionen in der Tabelle sind in Abhängigkeit von ihren Pegelzahlen eingedrückt worden. Jede Aussage besteht aus Positionen in stei- gender Folge der Pegelzahl.
Die Tabelle II zeigt eine Datenmenge, die sich auf das gleiche Gebiet wie die Tabelle I bezieht, die jedoch eine Reihe von Forderungen zum Wiederauffinden von Information darstellen. In diesen Datenmengen sind die Aussagen 1-3; 1* 4-6; 1,7-9* Hj 1, 7-8,10-11; 12. Die dritte und vierte Aussage enthalten zwei Positionen (9, 10) mit einer ODER-Beziehung zwischen ihnen. Durch entsprechende Gliederung der Pegelbezifferung können sehr komplexe UND/ODER-BeZiehungen auf diese Weise erhalten werden. .
00982W177B
3.11.1969 W/He - 7 - Ι/Ρ 6732
Tabelle I
Datenmenge, die chemische Information enthält Pegel 3
Positions Nr. Position - ] 1 4
1 ■ Komponente = Akridin, 2 3
2 Aspekt = Dipolmomente, 3 4
3 Lösungsmittel = Benzol, 4 4
Seite = 356, 5 VJl
• 5 Format = Tabelle. 5 2 .
3
6 Moment = 1.95· 5 4
7 Lage = 5, CJN 5'
8 Derivat = Amino, 7 5
9 Moment =4.13 6 Ul
10 Derivat = Chlor, 7 6
11 Moment =0. Aspekt = Ionisationskonstante,2 Ul
12 Format = Übersicht, 6
13 Seite = 340.
14 Seite = 344,
15 PK = 5/6.
16 Derivate = Alle,
17 Format = Tabelle.
18 Aspekt = Molekülarzustands-
berechnungen,
Methode = L-H und C-,
19
20 .
Seite = 67,
21 Format = Diagramm.
22 Format = Tabelle.
23 Position = 1,
24 Ladung = +0.03
25 Position = 2,
26 Ladung = +0.05
27
usw.
2^/1776
3.11.1969 W/He - 8 - Ι/ρ 6732
Tabelle II
Einige Forderungen zum Wiederauffinden von Informationen
Positions Nr. . Position Pegel
1 Komponente = Akridin, 1
2 PK = Alle, 2 . 3 Aktion = Ausgabefakten. 3
4 Zusatzmittel = Wasserstoff, 2
5 Verfahren = Katalyse, 3
6 Aktion = Ausgabefakten. 4
7 Aspekt = Dipolmomente, 2
8 Lösungsmittel = Benzol, 3
9 Derivat - Amino oder 4
Derivat = Chlor, 4
Aktion = Ausgabefakten.5
Aktion = Ende der Datenmenge. 0
ÖG9824/177&
3.11.1969 W/He - 9 - i/p 6732
Grundlegender Vergleichsvorgang. ·
Im Betrieb werden zwei Datenmengen von Aussagen verwendet, deren eine die Datenmenge für die Kriterien und deren andere die Datenmenge für die Pakten ist. Beide Datenmengen sind anfänglich in dem Hauptspeicher MM (Pig. IA) gespeichert. Der Arbeitsvorgang beginnt mit dem Laden der ersten Faktenaussage aus dem Hauptspeicher MM in den assoziativen Speicher AM (Fig. IB). Um die Größe des assoziativen Speichers und. die Verschiebung von Daten in der Anlage auf einem Minimum zu halten, brauchen nur die Datennamen N der Faktenpositionen zusammen mit den Adressen dieser Positionen im Hauptspeicher im assoziativen Speicher gespeichert zu werden. Jede Kriterienäussage der Kriteriendatenmenge wird dann nacheinander mit der Faktenaussage verglichen. Jede Kriterienäussage besteht aus einer Reihe von Positionen, die nacheinander ausgewählt werden. Da jede Kriterienposition ausgewählt wird, wird der assoziative Speicher überwacht, damit festgestellt wird, ob er die durch die laufende Kriterienposition spezifizierten Datennämen enthält. Fall dies zutrifft, wird der Rest der entsprechenden Faktenposition aus dem Hauptspeicher betrachtet und mit der Kriterienposition verglichen, damit festgestellt wird, ob die Werte dieser beiden Positionen einander entsprechen. Wenn sie einander entsprechen, wird ein Treffer erhalten, und die nächste Kriterienposition wird ausgewählt, und der Vorgang wiederholt. Dies wird fortgesetzt, bis die ausgewählte Kriterienposition die Aussage-Ende-Anzeige im Abschnitt R des Positionsleitwortes gesetzt hat. Die Position wird dann analysiert und dann die Funktion durchgeführt, die durch die Position gegeben ist. Wenn andererseits der Name, der durch die laufende Kriterienposition gegeben ist, nicht im assoziativen Speicher 1st, oder wenn er darin enthalten ist, jedoch die Werte nicht zueinander passen, so wird ein Fehlgang erhalten. Die übrigen Positionen der laufenden Kriterienaussage werden dann übergangen und alle weiteren Kriterienaussagen, die die Position enthalten, auf der der Fehlgang aufgetreten ist, werden ebenfalls übergängen,
009824/1776
3.II.I969 W/He - 10 - I/p 6732
wobei dieser Vorgang des Übergehens solange fortgesetzt wird, bis eine Position mit der gleichen oder einer niedrigeren Pegelzahl erreicht ist. Um die Gefahr zu vermeiden, daß das Ende einer räumlichen Datenmenge oder eines Blockes oder einer anderen Unterteilung von Daten verfehlt wird, wird dasEnde einer jeden derartigen Einheit von Daten durch eine Position mit Nullpegel angezeigt, wobei dieser Pegel nur für diesen Zweck reserviert ist.
Ein Beispiel für die Arbeitsweise wird nachstehend erläutert, wobei die Datenmengen nach den Tabellen I und II als die Paktendatenmengen und die Kriteriendatenmengen bezeichnet werden. Eine Folge von Ereignissen ist In Tabelle III aufgeführt. Das erste Ereignis (Ereignis l) nach Tabelle III besteht aus dem Einführen der ersten Paktenaussage, d.h. Positionen'1-5 der Tabelle I in den assoziativen Speicher AM. Das nächste Ereignis (Ereignis 2) ist die Auswahl der ersten Position der ersten Kriterienaussage, d.h. Position 1 nach Tabelle II. Beim Ereignis 3 wird der Namenteil (N) der ausgewählten Kriterienposition (Komponente) ausgelesen und eine Überp&fung des assoziativen Speichers zeigt, daß dieser Name darin enthalten ist. Das Ereignis 4 ist das Auslesen des Abschnittes R und von Werteteilen der Kriterienposition (ACRIDINE) und deren Vergleich mit den gleichen Teilen der entsprechenden Paktenposition. Diese Teile werden von'dem Hauptspeicher ausgesucht. In diesem Falle tritt eine Anpassung auf und es wird deshalb ein Treffer zwischen der Kriterienposition und der Faktenaussage registriert. Wenn die erste Position auf einem Pegel 1 war, bedeutet dies, daß die nächste Position, die geprüft werden muß, auf einem Pegel 2 sein muß. Das nächste Ereignis, das Ereignis 5* ist deshalb die Auswahl der nächsten Position mit einem Pegel gleich 2 (Position 2). Das Ereignis 6 ist der Vergleich des Namens dieses Gegenstandes (PK) mit dem Inhalt des assoziativen Speichers: Dies ergibt einen Fehlgang. Somit ist die nächste, auszuwählende Kriterienposition die näohste Eins
009824/1778
>. 11.1969 W/He ., - 11 - L/p 6732
in der Kriteriendatenmenge mit einem Pegel, der nicht gößer ist als der Pegel der Position, auf dem der Fehlgang gerade aufgetreten ist (Pegel = 2 oder weniger). Somit werden alle weiteren Kriterienpositionen in der vorausgehenden Kriterienaussage und alle anderen Kriterienaussagen einschließlich der Position, bei der der Pehlgang aufgetreten ist, übersprungen. Das Ereignis 7 ist deshalb die Auswahl der Position 4 aus der Kriteriendatenmenge. Das Ereignis 8 ist der Vergleich des Namens dieser Position mit dem assoziativen Speicher, was zu einem Fehlgang führt. Das Ereignis 9 ist deshalb die Auswahl der Position 7 aus der Kriteriendatenmenge, und die Ereignisse 10 und 11 sind die Vergleiche des Namens dieser Position mit dem assoziativen Speicher und seiner logischen Beziehungen' und des Wertes mit der entsprechenden Faktenposition, die in dem Hauptspeicher gefunden wird. Dies ergibt einen Treffer und die Ereignisse 12-14 sind deshalb die Auswahl und Prüfung der nächsten Position, nämlich Position 8 in der Kriteriendatenmenge. Diese Position ergibt ebenfalls einen Treffer und die Ereignisse 15 und 16 umschließen deshalb das Prüfen der Position 9 der Kriteriendatenmenge. Dies ergibt einen Fehlgang und die-Position 10 ist deshalb die nächste zu wählende Position (Ereignis 17) und diese Position ergibt auch einen Fehlgang (Ereignis 18).
Die nächste, zu' wählende Position soll einen Pegelwert von 4 oder weniger haben. Tatsächlich hat die Position 12 einen Pegel von 0. Sie wird geprüft (Ereignis 19) und es wird festgestellt, daß sie das Ende einer Aussage und eine Wirkposition ist, die das Ende der Kriteriendatenmenge anzeigt. Die entsprechenden Vorgänge werden weiter unten erläutert und für dieses Beispiel kann angenommen werden, daß die Verarbeitung dadurch fortgesetzt wird, daß die nächste Faktenaussage eingegeben und auf den Beginn der Kriterienaussagen zurückgeführt wird.
0098 24/177
3.11.1969 W/He . - 12 - L/p 6752
Das nächste Ereignis, Ereignis 20, ist deshalb das Laden der nächsten Aussage in der Faktendatenmenge in den assoziativen Speicher. Dies ergibt, daß im assoziativen Speicher nunmehr die Positionen 1-4 und die Position 6 der Faktendatenmenge enthalten sind. Im nächsten Ereignis, im Ereignis 21, wird derselbe Vergleich der Kriteriendatenmengepositionen gegen die neue Aussage im assoziativen Speicher wie oben durchgeführt, bis das Ende der Datenmengenposition wieder erreicht ist. Das Ereignis 22 ist deshalb das Einführen der nächsten Datenfaktenaussage, Positionen 1-4 und 7-9 in den assoziativen Speicher. Der Verfc gleich der Kriterienpositionen gegen den assoziativen Speicher ergibt nunmehr einen Treffer bei der Position 1 (Ereignis Fehlgänge bei den Positionen 2-4 (Ereignis 24) und Treffer bei den Positionen 7-9 (Ereignis 25). Die nächste, auszuwählende Position soll auf dem Pegel 5 sein und ist die Position 12. Dies ist das Ende einer Aussage durch Prüfung des Feldes R des Positionsleitwortes (Ereignis 26).
Der Datenname wird geprüft und es wird festgestellt, daß er eine Aktion ist (Ereignis 27); der Datenwert (der vielleicht in codierter Form vorliegt) wird geprüft und festgestellt, daß er ein Anruf für ein Programm ist, das die Fakten (d.h. die Datenpositionen im assoziativen Speicher) in einen Drucker einführt, und zwar mit geeigneter Redigierung auf dem Weg (Ereignis 28). Das nächste Ereignis, das Ereignis 29, ist das Einführen der nächsten Faktenaussage (Positionen 1-4 und 7, 10 und 11) in den assoziativen Speicher, wenn das Ende der Kriteriendatenmenge erreicht ist. Die Folge von Ereignissen wird dann in der gleichen allgemeinen Weise fortgesetzt.
00 9824/177 6-
3.11.1969 W/He
1955737
I/p 6732
Tabelle III Ergebnis des Zusammentreffens der Datenmenge der Tabelle II mit
der Tabelle I.
Ausgewählte Daten Paktenaussage Ereignis
(Inhalt des assoz.
Speichers)
1.
2. Position 1
3. "Komponente"
4. 11 = Akridin"
5. Position 2
6. "PK"
7. Position 4
8. "Reagens"
9. Position 7
10. "Aspekt"
11. · "Dipolmoment
12. Position 8
13- "Lösungsmitt
14. "Benzol"
15. Position 9
16. "Derivat"
Positionen 1-5
Paktenpositionen 1-5 in den assoz. Speicher eingelesen.
Kriterienposition 1 ausgewählt.
Name in assoz. Speicher vorhanden.
Werte passen zusammen Treffer
Nächste Kriterienposition ausgewählt.
Name fehlt in assoz. Speicher - Fehlgang.
Nächste Kriterienposition ausgewählt.
Name fehlt aus dem assoz. Speicher - Fehlgang.
Nächste Kriterienposition ausgewählt.
Name im assoz. Speicher vorhanden.
Werte passen zusammen Treffer.
Nächste Kriterienposition ausgewählt.
Name im assoz. Speicher vorhanden.
Werte passen zusammen Treffer.
Nächste Kriterienposition ausgewählt.
Name fehlt im assoz. . . Speicher - Fehlgang.
009824/1778
3.11.1969 W/He
- l4 -
1955737
ι/ρ'6732
Tabelle III Fortsetzung
20. 21.
22.
Ausgewählte Daten
17. Position
18. "Derivat"
19. Position
23. Position 1
24. Position 2 und 4
25. Position 7-9
26. Position 11
27. "Aktion"
28. "Ausgabefakten"
29 Position 12
Fakt enau s s ag e (Inhalt des assoz. Speichers)
(1 - 5 ) 1 bis 4,6
1 bis 4,7 bis 9
1 bis 4,7,10 + 11
Ereignis
Nächste Kriterienposition ausgewählt.
Name fehlt im assoz. Speicher - Fehlgang.
Ende der Datenmenge erreicht.
Nächste Faktenaussage eingegeben.
Kriterienaussagen geprüft, Ende der Datenmenge erreicht.
Nächste Faktenaussage eingegeben.
Treffer.
Fehlgang.
Treffer.
Ende der Aussage.
Aktionsposition erkannt.
Inhalt des assoz. Speichers ausgedruckt.
Ende der Datenmenge erreicht, nächste Faktenaussagen eingegeben.
usw.
9 02 4/1778
1355797
3.11.1969 W/He . - 15 - . I/p 6732
Aufbau der Anlage
In Verbindung mit den Figuren IA und IB wird nachstehend der Aufbau der Anlage erläutert. Die Anlage weist eine Hauptspeichereinheit MM, eine Faktensteuereinheit FCU und eine Kriteriensteuereinheit CCU, ferner einen assoziativen Speicher AM und eine Vergleichseinheit CMP auf. Die Hauptspeichereinheit MM besitzt einen Kernspeicher oder einen ähnlichen Speicher 10 mit einer Ansteuerungsschaltung 11 und einer Ausgabepufferstufe 12. ' '
Die' Kriteriensteuereinheit CCU und die Faktensteuereinheit FCU sind sehr ähnlich in ihrem Aufbau. Es sei zuerst die Kri^teriensteuereinheit betrachtet, die ein Kriterienregister CR für ein Wort besitzt, das ein Positionsleitwort festhält und in vier gleiche Abschnitte R, S, L und N unterteilt ist. R enthält die logische Beziehung und andere Steuerinformation, S die Gesamtlänge, L den Pegel und N den codierten, Datennamen. Die Kriteriensteuereinheit CCU besitzt ferner ein Adressenregister Cl. Wenn eine Kriterienposition aufgesucht werden soll, enthält das Register Cl die Adresse des Positionsleitwortes dieser Position. Der Inhalt von Cl wird über die Leitung 62 in die Ansteuerungsschaltung 11 gegeben. Die Schaltung 11 erregt die Antriebsleiter des Kernspeichers 10 in der herkömmlichen Weise, damit die gewünschten Positionsleitwörter in die Ausgabepufferstufe 12 eingelesen werden. Das Wort wird dann Über die Leitung 60 in das Register CR übertragen. Der Positionsleitwortteil der Position steht somit zur Verfügung. Wenn es dann notwendig ist, den übrigen Teil der Position (z.B. den Wertteil) zu betrachten, wird der Inhalt des Abschnittes S des Registers CR stufenweise in Einheiten verkleinert, bis er Null wird, und der Inhalt des Adressenregisters Cl wird gleichzeitig in Einheitenstufen vergrößert. Somit werden die verschiedenen Wörter, die die Position bilden, nacheinander ausgewählt. Das Register Cl und der
QÖ9824/1776
3.11.1969 W/He -16-- I/p 6732
Teil S des Registers CR sind in entsprechender Weise als zunehmender und abnehmender Zähler aufgebaut. Wenn andererseits eine Betrachtung des Werteteiles der Position nicht erwünscht ist, wird der Inhalt des Registers Cl und der Inhalt des Abschnittes S des Registers CR dem Addierwerk 20 zugeführt, dort addiert und das Ergebnis in das Register Cl zurück gespeichert. Das Register Cl enthält dann die Adresse des Positionsleitwortes der nächsten Position, wobei angenommen wird, daß die Positionen an aufeinanderfolgenden Adressen des Hauptspeichers gespeichert werden.
Die Kriteriensteuereinheit enthält auch ein Register, das aus dem Abschnitt L des Registers CR aufgefüllt werden kann. Somit kann der Pegel einer Position im Register CLX gehalten werden, während die Positionsleitwörter nachfolgender Positionen nacheinander in das Register CR eingelesen werden. Dieser gespeicherte Pegel kann deshalb mit dem Pegel einer nicht ausgewählten Position mit Hilfe einer Vergleichsschaltung 21 verglichen werden. Das Register CLX ist als Zähler aufgebaut, so daß sein Inhalt automatisch schrittweise um Eins vergrößert werden kann. Ferner ist eine das Ende einer Aussage anzeigende Vorrichtung 22 vorgesehen.
Die Paktensteuereinheit wird in etwas anderer Weise verwendet und das Register PLX ist nicht als Zähler aufgebaut.
Der assoziative Speicher AM besteht aus einer Speichereinheit 4o, die einen Satz Register aufweist, deren jedes zwei Abschnitte A und N enthält. Die Register der Speichereinheit 40 können individuell unter Steuerung des Abschnittes L des Registers FR mit Hilfe der Ansteuerungsschaltung 43 adressiert werden; bei einer derartigen Adressierung können Daten in sie eingeschrieben oder aus ihnen ausgelesen werden. Die Abschnitte N dieser Register sind ferner in assoziativer Weise angenrdnet, so daß •ein Beliebiges dieser Register angewählt wird, wenn der Inhalt'
009824/1776
5.11.1969 W/He - 17 - I/p 6732
des Abschnittes N identisch mit dem Inhalt des Suchregisters 4l ist; der Inhalt des Abschnittes A der angewählten Register wird dann seinerseits in ein Ausgangsregister 42 ausgelesen.
Die Vergleichseinheit CMP (Fig. IA) weist zwei Register FV und CV für jeweils ein Wort auf, die aus der Hauptspeichereinheit MM gefüllt werden können, ferner eine logische Vergleichsschaltung 30, die mit den Teilen R der Fakten- und Kriterienwörter gespeist wird- , sowie eine Wertevergleichsschaltung 31* die aus den beiden Registern FV und CV gespeist wird, und die Schaltung 30· Diese Vergleichsschaltung CMP dient zum Vergleich der R-Teile und der Werte einer Faktenposition und einer Kriterienposition, wenn ihre Namen als zueinander gehörig festgestellt worden sind. Im Falle einer Zusammengehörigkeit wird der Pegel im CLX-Register schrittweise um Eins durch ein über eine Leitung 100 aufgegebenes Signal vergrößert, und es geschieht nichts, wenn eine Nicht-Zusammengehörigkeit festgestellt wird.
Arbeitsvorgänge der Anlage
Die Arbeitsweise dieser Anlage (Fig. 1) wird nachstehend in Verbindung mit der Tabelle IV beschrieben, die ein Folgediagramm ist. Eine herkömmliche Mikroprogrammiereinheit (nicht dargestellt) wird zur Erzielung der einwandfreien Folgesteuerung verwendet. Der erste Arbeitsvorgang in der Folge ist der Vorgang Io (AM Füllen). Das Faktenadressenregister Fl wird zu Beginn mit der Adresse des ersten Wortes der ersten Faktenposition gefüllt. Dieses Wort wird aus dem Hauptspeicher MM über die Pufferstufe 12 und die Leitung 60 in das Register FR eingelesen. Das erste Register der Speichereinheit 40 des assoziativen Speichers wird dann von dem Pegelteil (der für die erste Position eine 1 ist) des Wortes im Register FR ausgewählt, und der Name (im N-Teil des Registers FR) sowie die Adresse (im Register Fl) dieses Wortes werden in die N- und
09814/177
3.11.1969 W/He - 18 - i/p 6732
Α-Abschnitte des ersten Re-gisters der Einheit 40 eingeschrieben. Wenn die Position nicht die letzte Position einer Aussage ist (wie durch die Anzeigevoirichtung 22' bestimmt), dann wird der Inhalt des S-Teiles des Registers FR dem Inhalt des Registers Fl durch das Addierwerk 20* hinzugefügt und der Inhalt des L-Teiles des Registers FR wird im Register FLX gespeichert. Das Steuerwort der nächsten Faktenposition wird dann aus dem Hauptspeicher unter Steuerung der neuen Adresse im Register Fl ausgesucht und in das Register FR wie vorher eingeschrieben. Der Pegel wird mit dem Wert in FLX verglichen, damit geprüft ψ wird, daß er um Eins höher ist (das Verfahren, wenn dies nicht zutrifft, wird später erläutert), und wenn er um Eins höher ist, wird Name und Adresse in die Speichereinheit 40 wie vorher eingeschrieben. Dieser Vorgang wird fortgesetzt, bis eine Position erreicht wird, die ein Ende der Aussageanzeige enthält. Somit enthält am Ende dieses Vorganges die Speichereinheit 40 die Namen und Adressen aller Positionen der ersten Faktenaussage.
Der nächste Vorgang, Vorgang 11, ist dann das Aussuchen der ersten Kriterienposition. Tatsächlich wird nur das Positionsleitwort dieser Position in dieser Stufe gesucht. Die Adresse ) wird zu Beginn in &e& das Register Cl eingeführt und dieses Register steuert die Uber-tragung des Positionsleitwortes in der bereits beschriebenen Weise in das Register CR. Der nächste Vorgang, Vorgang 12, ist die Bestimmung, ob die Stromkriterienposition das Ende einer Aussage ist oder nicht. Dies wird durch Einstellung der Anzeigevorrichtung 22 angegeben. Nimmt man im Augenblick an, daß die Position nicht das Ende einer Aussage ist, dann folgen die Prüfvorgänge des Blockes 13· Der erste dieser Vorgänge ist der Vorgang l4, AM prüfen, in welchem der Name der Kriterienposition von dem Teil N des Registers CR über die Leitung 6l in das Register 4l des assoziativen Speichers AM eingeführt und mit den Namen in der.
009824/1776
3.11.1969 W/He - 19 - i/p 6732
Speichereinheit 40 verglichen wird. Wenn der Vergleich versagt, ist ein Fehlgang aufgetreten und der nächste Vorgang ist der Nimmt man jedoch an, daß eine Anpassung zwischen dem Namen der Kriterienposition und einem der Namen in der Einheit 40 aufgetreten ist, wird die Adresse der Faktenposition mit dem Namen in das Register 42 ausgelesen. Diese Adresse wird dann in die Hauptspeichereinheit MM über die Leitung 62 eingeführt und das Leitwort der Faktenposition wird ausgelesen und im Register FR gespeichert. Die R-Teile der Kriterien- und Faktenpositionen · werden dann in die Einheit über die Leitungen 101 und 102 eingeführt, und miteinander verglichen, damit der Vorgang 151 die Bestimmung der Logik,ausgeführt wird. Die Werteteile dieser Positionen werden dann Wort für Wort aus dem Hauptspeicher 10 ausgelesen und in die Register FV und CV unter Steuerung der Adressenregister 42 und Cl eingelesen - das Register 42 ist als ein Zuwachsspeicher aufgebaut und diese beiden Register werden kontinuierlich in Stufen während dieses Vorganges erhöht, bis das Ende eines oder beider Datenwerte erreicht ist. Der Vorgang, das Vergleichen von Werten, wird deshalb durchgeführt, und wenn der Vergleich der Werte durchgeführt worden ist, ist bekannt, daß entweder ein Treffer oder ein Fehlgang aufgetreten ist.
Wenn ein Treffer erhalten ist, wird das Rqg-ster CLX um 1 erhöht (Vorgang 17)* während dieser Vorgang entfällt, wennein Fehlgang aufgetr.eten ist. In jedem Fall ist der nächste Vorgang der 18., der aus der Addition des Inhaltes des S-Abschnittes des CR Registers in das Register Cl besteht, wodurch die Adresse des Wortes der nächsten Kriterienposition gebildet wird,und das Auslesen dieses Wortes aus dem Hauptspeicher in das Register CR . Der Vorgang I9 besteht aus dem Vergleich des Wertes des Pegels im Register L mit dem im Register CLX. Wenn L die höhere Zahl enthält, werden die Vorgänge l8 und 19 wiederholt, bis dieser Zustand nicht mehr zutrifft. Wenn der Wert in L und CLX identisch ist, wird die Verarbeitung beim Vorgang 12 fort-
009824/1776
■3.II.I969 W/He - 20 - I/p 6732
gesetzt, da die Datenposition, der-en Leitwort nun ausgewählt und in das Register CR eingeschrieben worden ist, das nächste ist, das im Detail geprüft werden muß. Wenn der Wert in L kleiner ist als der in CLX, werden Versuche gemacht, um festzustellen, ob besondere Bedingungen auftreten. Solche Bedingungen schließen die Erreichung des Endes eines Datenblockes auf einem Magnetband ein, wobei in diesem Falle der nächste Block in MM eingelesen wird (Puffern wird als geeignet verwendet) und der Inhalt des Registers Cl auf die neue Adresse eingestellt wird. Andere Beengungen beinhalten das Prüfen von Steuerparametern, was weiter unten erörtert wird. Wenn keine speziellen Bedingungen angezeigt werden, ist der nächste Vorgang der 12. (wenn der letzte Vergleich der CMP-Einheit ein Pehlgang war) oder der l8., wenn der letzte Vergleich ein Treffer war.
Wenn der Vorgang 12 ergibt, daß die laufende Kriterienposition das Ende einer Aussage ist, wird das Datennamenfeld N geprüft, um festzustellen, ob es den codierten Wert äquivalent einer Aktion hat. Wenn die Position eine Aktion ist, wird sie analysiert, um festzustellen, was zu tun notwendig ist (Vorgang 20). Dies wird weiter unten ercitert, aber eine Aktion ("nächste Aussage"),die für die Serienabtastung der Datenmengen erforderlich ist, wird hier beschrieben. Wenn diese Aktion auftritt, wird die Adresse der ersten Kriterienposition im Register Cl rückgesetzt (wobei Steuervorgänge verwendet werden, die weiter unten angegeben sind), und dann kehrt die Folge zum Vorgang 10 zurück. Das Positionsleitwort der nächsten Position in der Faktendatenmenge wird in das Register FR ausgelesen und die Pegelzahl im Register FLX gespeichert. Die Pegelzahl wählt auch das entsprechende Register in der Speiehereinheit 40 aus und der Name und die Adresse dieser Position werden in dem Register gespeichert (wodurch alles vorher in diesem Speicher Enthaltene überschrieben wird). Das erste Wort der nächsten Faktenposition
0098 24/177
3.11.1969 W/He - 21 - . l/p 6732
wird dann aus MM in das RegisterER ausgelesen und seine Pegelzahl mit der gespeicherten Pegelzahl im Register FLX durch die Vergleichsschaltung 21* verglichen. Wenn die Pegelzahl der laufenden Position größer ist als die der vorausgehenden Position, dann wird diese laufende Pegelzahl im Register FLX gespeichert und der Name und die Adresse der Position werden in die Einheit 40 eingeschrieben. Dies wird solange fortgesetzt, bis das Steuerwort der laufenden Position das Ende der Aussageanzeige gesetzt hat. Der assoziative Speicher AM enthält dann die ganze nächste Faktenaussage; der einzige andere Vorgang, der notwendig ist, besteht darin, jene Register in der Einheit 40 zu löschen, die dem letztgewählten Register folgen.
Dieses System ist besonders geeignet zur Verwendung mit codierten Namen. Es ist jedoch auch möglich, nicht codierte Namen in.diesem System zu verwenden. Im allgemeinen erfordert dies einen modifizierten Positionsaufbau, um die größere Länge von Namen in Langschrift aufzunehmen, wobei ein Bit verwendet wird, um anzuzeigen, ob der Name codiert oder nicht codiert ist, und wobei für nicht codierte Namen der N-Teil der Position für den ersten Teil des Namens verwendet wird, die Namenlänge im nächsten Wort der Position gespeichert und der übrige Teil des Namens im folgenden Teil der Position gepeichert wird. Während des Positionsvergleichsprogramms muß dann auf die Anzeige der Identität zwischen den N-Teiien einer Faktenposition und einer Kriterienposition ein"Vergleich der übrigen Teile der Namen folgen. Auf eine vollständige Namensidentitat folgt eine Prüfung der LR-Teile und Werte der Positionen, wie vorher. Wenn somit die Namen nicht codiert sind, wird der erste Teil eines
und jeden Namens als der effektive Name/der übrige Teil als Teil
des Wertes der Position behandelt. .
009824/1776
.11.1969 W/He - 22 - I./p 67^2
Wenn Werte alphanumerisch vorliegen, können diese natürlich ebenso wie die Namen codiert sein. Die Entscheidung, ob alphanumerische Werte codiert werden oder nicht, hängt von der Codiertabellengröße und der Feststelldauer im Vergleich zur Verringerung der erreichten Datenmengengröße ab.
In obiger Beschreibung ergab das für den Vorgang 15 ("Bestimmung der Logik") verwendete Beispiel eine einfache Prüfung der Gleichheit der Werte der beiden Positionen. Man kann jedoch beispielsweise an allen Derivaten von Akridin interessiert sein, und es würde dann eine Kriterienposition
Derivat = Alle
verwendet werden. Das "= Alle" ist die logische Beziehung der Position, die keinen Wert als solchen hat, und eine Namensanpassung ist alles, was für einen Treffer erforderlich ist. Es kann wiederum erwünscht sein, zu prüfen, ob eine Angabe in einer Kriterienposition später ist als eine Angabe in einer Paktenposition. Weitere Typen der Logik sind deshalb erforderlich.
Die tatsächliche logische Beziehung und der Wert einer Position definieren einen Untersatz des Satzes aller möglichen Werte, die der Name der Position möglicherweise haben kann. Für einen Treffer (wobei natürlich eine Namensanpassung angenommen wird) müssen die beiden Untersätze, die durch die Fakten- und Kriterienpositionen festgelegt sind, wenigstens ein Element gemeinsam haben - in herkömmlicher Weise haben zwei leere Untersätze ein gemeinsames Element.
00 9Ö2A/177
3.11.1969 W/He
■Ι/ρ 6732
Tabelle TV
Folgediagramm für Fig. 1
10. 11.
12.
■15. 16.
17. 18.
Anlauf-
A.M. Füllen
Aufsuchen der ersten Kriterienposition.
Enc
e der Aussage?, (Nein)
prüfen auf An-
A.M passung
(Keine An-• passung)—
(Anpassen)
Logik bestimmen. Werte vergleichen. Treffer
Zuwachs Kriterienpegel. Ja
20. Analyse Aktion.
Fehlgang
1-
Aufsuchen der nächsten Kriterienposition
Vergleich zwischen Kriterienpegel und gespeichertem Pegel (größer)
(gleich)
24/1776
3.11.1969-W/He - 24 - i/p 6732
Bestimmte Kombinationen der logischen Beziehungen zwier Positionen ergeben stets das gleiche Ergebnis, z.B. einen Treffer. Andere ergeben einen Treffer oder einen Fehlgang, je nach den Werten der Positionen; für diese Fälle.ist es erforderlich, die Werte zu vergleichen, wobei bestimmt wird, ob der Kriterienwert größer, gleich oder kleiner als der Paktenwert ist. Die Information in bezug auf die der VergleichTreffer und Fehlgänge ergibt, können in herkömmlicher Weise in einer 8x8 Matrix gespeichert werden, deren Reihen und Spalten den acht möglichen logischen Beziehungen der Fakten- und Kriterienpositionen entsprechen.
Zusammenfassung der Vorgänge
Bevor weitere Modifizierungen und Erläuterungen der Anlage erörtert werden, kann es zweckmäßig sein, die allgemeinen Prinzipien der bisher beschriebenen Anlage in bezug auf herkömmliche Anlagen zusammenzufassen.
Der Datenaufbau aller Positionen ist grundsätzlich der gleiche. Es ist keine Unterscheidung in Satze von Datenpositionen und Sätze von Programminstruktionen gemacht. Der Aufbau einer Position kann so betrachtet werden, daß er in der einfachsten Weise aus einem Namen (N), der eine Identifizierung der Position als einer bestimmten Klasse angehörig ermöglicht, einer Steüerinformation (S), (L) und (R), die Eigenschaften der Position, wie z.B. Länge, logische Kennzeichnung usw. wiedergibt, und einer Werteinformation, die die spezifische Kennzeichnung der Position ist, besteht. Die Flexibilität dieses · Aufbaues kann durch einige Beispiele erläutert werden. In Tabelle I ist der Wert der Position 6 ein numerischer Wert, der Wert der Position 5 kann als eine Eigenschaft betrachtet werden, und der Wert der Position 3 der Tabelle II kann als äquivalent zu einem herkömmlichen Programmbefehl angesehen •werden.
00 98 2 A / 1776
5.11.1969 W/He - 25 - I/p 6732
Die Datenpositionen werden in Aussagen zusammengefaßt. Jede Aussage besteht aus einer Kette von logisch aufeinander bezogenen Positionen, z.B. den Positionen 1-5 der Tabelle I. Um Speicherraum zu sparen, werden die Aussagen in verdichteter Form eingeschrieben, so daß der gemehsame Teil von zwei oder mehr Aussagen nur einmal geschrieben wird. Beispielsweise sind die Positionen 1-4 der Tabelle I verschiedenen Aussagen gemeinsam. Die korrekte Verkettung der Positionen/ die die Aussagen bilden, wird durch die Speicherverteilung der Pegelzahlen einer jeden Position gewährleistet.
Der grundsätzliche Vorgang besteht darin, zwei Sätze oder Datenmengen von Aussagen, die Faktendatenmenge und die Kriteriendatenmenge miteinander zu vergleichen. Die erste Faktenaussage wird in den assoziativen Speicher AM eingeführt und die erste Position der ersten Kriterienaussage mit dem Inhalt des assoziativen Speichers AM verglichen. Wenn Übereinstimmung festgestellt wird (Treffer), wird die nächste Kriterienposition für den Vergleich ausgewählt, usw., bis die letzte Position der Kriterienaussage erreicht ist. Diese Position würde üblicherweise eine Aktionsposition sein, die das Äquivalent eines herkömmlichen Programmbefehles ist. Beispielsweise ruft die Position J5 der Tabelle II eine Mikroprogrammfolge oder ein Unterprogramm an, um eine Faktenaussage auf einem Ausgabedrucker zu drucken, wobei die jeweilige Aussage durch den Abdruck bestimmt wird, bei dem eine Anpassung mit der Kriterienaussage erhalten wurde.
Die Kriterienaussagen können soviele Aktionspositionen wie zur Durchführung der gewünschten Vorgänge notwendig enthalten. Die Aktionspositionen können alle die Funktionen einschließen, die von herkömmlichen Rechneranlagen durchgeführt werden, einschließlich arithmetischer Funktionen, wie Addieren, Multipll zieren usw.
.009824/1776
3.II.1969 W/He ; - 2.6 - I/p 6752
Abänderungen
Aktionspositionen können auch in Faktenaussagen enthalten sein» Die normale Funktion dieser Positionen besteht däriri/bripiisairriscte Vorgänge in bezug auf die Faktendatenmenge einzuleiten. Wenn beispielsweise eine Faktendatenmenge auf mehreren Magnetbändern aufgezeichnet ist, kann die letzte Position auf jedem Band mit Ausnahme des letzten Bandes sein "Aktion = Bandende". Wenn diese Position während des normalen Vergleichsvorganges angetroffen wird, werden die notwendigen Vorgänge eingeleitet, um das Bandsystem zu finden, das das Fortsetzungsband einführt, und um das System zum Auslesen dieses Bandes einzustellen. Andere Aktionen können vorgesehen werden, um die Ausgabe der Datenmenge und GültigkeitS- und Sicherheitsprüfungen an den Daten vorzunehmen.
Weitere Merkmale, die in einer vielseitigen Anlage von Bedeutung sind, sind in Flg. 2 gezeigt.
Zuerst ist ein zusätzliches Register RA zur Übertragung einer Adresseninformation in das Speicherregister Cl und aus diesem vorgesehen. Dies vereinfacht die Durchführung wiederkehrender Vorgänge verschiedener Art. Die Adresse in Cl .kann auf das Register RA unter Steuerung beispielsweise eines Anzeigebits im Abschnitt R des Registers CR übertragen werden. Diese Adresse wird im Register RA zurückgehalten, wenn weitere Information durch Cl fließt; falls erwünscht, kann die Adresse in Cl unter Steuerung beispielsweise eines Anzeigebits in der Position, die dann im Register CR gehalten wird, zurückgeführt werden.
Ein Register C2 ist mit der Hauptdatenübertragungsleitung 60 und mit einer Gruppe von Registern C3* C4, C5 usw. verbunden, die einen push down Speicher 50 bilden. Ein Teil 51 des Registers C2 enthält die Pegelinformation (L) einer Position und der übrige Teil des Registers hält die Steuerinformation, die ■.
Q0982A/1776
3.11.1969 W/He - 27 - I/p 6732
sich auf die Position bezieht. In üblicher Weise bewirkt ein Eingang in das Register C2, daß der vorhergehende Eingang in das Register in das Register C3 geschoben wird, und ähnlich für andere Positionen in der Gruppe. Die Übertragung eines Eintrages aus dem Register C2 wird von der Vergleichsschaltung 52 gesteuert, die den Pegelwert im Teil 5I mit dem laufenden Pegelwert im Abschnitt L des Registers CR vergleicht und aus 02 überträgt, wenn der Wert in 51 nicht größer als der im Register CR ist. Die Übertragung aus C2 löscht den Eintragend ermöglicht, daß der Inhalt der Gruppe um eine Stelle angehoben wird. Diese Anordnung gibt die Möglichkeit, daß die Steuerinformation in einer bestimmten Position in C2 für Steuerzwecke zur Verfügung bleibt, während eine Folge von Positionen niedrigen Pegels über das Register CR verarbeitet werden.
Die Hauptdatenübertragungsleitung 60 ist auch mit einem Arbeitsspeicher PS verbunden. Daten können in den Speicher PS unter Steuerung der Vergleichsfolge eingeführt werden, so daß beispielsweise eine Gruppe von Positionen,. die ausgedruckt werden sollen, in dem Arbeitsspeicher PS vor der Übertragung auf den Drucker gesammelt werden. Ein Rechenwerk AU ist mit dem Speicher PS verbunden, so daß die Operanden der arithmetischen Vorgänge in PS eingeführt, von dem Rechenwerk verarbeitet und die Resultate in PS gespeichert werden können.
Vorstehend wurden Beispiele beschrieben, in denen Gleichheit zwischen den Fakten- und Kriterienpositionen erforderlich war, um einen Treffer zu gewährleisten. In der Praxis ist es zweckmäßig, eine Vielfalt von Vergleichsbedingungen zu schaffen. Beispielsweise ist es nützlich, wenn man für die Bedingungen "nicht größer als" oder "kleiner als oder gleich" Vergleiche ziehen kann. Bestimmte bekannte Arten von assoziativen Speichern ergeben die Möglichkeiten für diese Vergleichsarten, oder aber es können andererseits diese Vorgänge durch bekannte
00982A/177
3.11.1969 W/He - 28 - I/p
Formen von Vergleichsschaltungen durchgeführt werden. Die Auswahl einer bestimmten Vergleichsart kann durch ein Anzeigebit im R-Abschnitt einer Position oder aber durch die Steuerinformation im Register C2 gesteuert werden. Diese Auswahl unter Steuerung der Information, die in der Position enthalten ist, kann im allgemeinen, zur Anzeige einer bestimmten Klasse oder Type von Positionen angewendet werden, die eine bestimmte Behandlung erfordert, z.B. in bezug auf die Vergleichsbedingungen, arithmetischen Vorgänge usw.
Die Verwendung des assoziativen Speichers für Systeme und andere Daten.
Der assoziative Speicher AM soll vorzugsweise eine Position speichern können, die von den direkten Faktenpositionen der laufenden Faktenaussage abweicht. Es ist auch für verschiedene Positionen erwünscht, daß sie verschiedene Grade der "Sicherung" erhalten, so daß bestimmte Positionen bleiben,wenn andere entfernt werden. Es gibt vorzugsweise vier unterschiedliche Kathegorien solcher Positionen (in der Ordnung abnehmenden Sicherungsgrades): Erstens nur Ablesesystemdaten; diese Positionen können nicht durch normale Vorkehrungen geändert werden und sie können verwendet werden, um zu gewährleisten, daß Zugang normal nur zu spezifischen Datenmengen erhalten wird. Zweitens laufende Summen und andere Positionen, die von einer Aussage zur nächsten weitertransportiert werden. Diese können geändert werden, brauchen jedoch nicht beseitigt zu werden,wenn eine neue Aussage eingeführt wird; drittens normale Faktenpositionen, die in der oben beschriebenen Weise behandelt werden. Viertens Übergangspositionen, z.B. Positionen, die durch arithmetische Aktionen entstehen. Herkömmliche Speicherschutzmethoden können für diesen Zweck verwendet werden.
00982 A/1776
5.11.1969 W/He - 29 - i/p 6732
Unter entsprechenden Umständen ist es möglich, Blindpositionen in den assoziativen Speicher einzuführen, wobei die mit dem Namen verbundene Adresse ein Verarbeitungsprogramm angibt. Ein derartiges Programm kann verwendet werden, wenn der assoziative Speicher ein Datum enthalten hat und die Kriterienaussage sich auf einen Wochentag bezogen hat. Der assoziative Speicher würde dann einen Scheineintrag für "Tag" mit einer Adresse für ein Programm zur Berechnung des Tages aus dem Datum enthalten. Derartige Scheinpositionen können verwendet werden, wenn ein nichtnormiertes Vergleichsprogramm benötigt wird.
Adjektivische Aussagen
In solchen Fällen, in denen viele komplizierte Daten verarbeitet werden sollen, ist die Fähigkeit, Daten in adjektivischen Zusätzen festzuhalten,sehr wertvoll. Als Beispiel:
Komponente = Phosphor, (Farbe = Rot).
Name = Joe Bloggs,
Verwandtschaftsgrad = Vater, (Name = Jack Bloggs,
Schule = Harrow).
Derartige Anordnungen können erzielt werden, indem der Pegelabschnitt (L) in zwei Teile unterteilt wird, nämlich in den normalen Pegel (wie oben beschrieben) und in den adjektivischen Pegel, der die Tiefender Position innerhalb einer geordneten Serie von adjektivischen Zusätzen beschreibt,- Die Qrundfolge wird durch Einführung einer Prüfung zwischen den Ereignissen 16 und 17 nach Tabelle IV modifiziert. Wenn der Hlterienposltioji ein adjektivischer Zusatz (wie durch den adjektivischen Pegel gegeben) nachgestellt wird, Wird aenf adjektivische Kriterienzusatz mit dem adjektivischen- Faktenzusatz; verglichen.
wüurmi
3.11.1969 W/He - 30 - I/p 6732 -
'Dieser Vergleich kann dadurch erfolgen, daß die gleichen Grundprogramme verwendet werden, solange sie so ausgelegt worden sind, daß sie wiederholt verwendet werden können. Tn der Praxis ist nur ein adjektivischer Pegel erforderlich, da mehrere auf einfache Weise durch Verwendung von Aktionspositionen simuliert werden können. Ein Beispiel hierfür:
Name = Joe Bloggs,
Verwandtschaftsgrad = Vater, (Aktion = siehe ..... .).
Ö09&247 1776

Claims (1)

  1. 3.11.1969 W/He - 31 - i/p 6732
    Patentansprüche;
    1« Verfahren zur Steuerung der Verarbeitung von Eingabedaten in einer Rechneranlage,·dadurch gekennzeichnet, daß
    1. die Eingabedaten als eine Reihe von Paktenangaben gespeichert werden, von denen jede aus einer Gruppe von der Rangordnung nach angeordneten Paktenpositionen vorgesehen sind,
    2. die die durchzuführenden Verarbeitungsvorgänge bestimmenden Bedingungen als eine Reihe von Kriterienangaben gespeichert werden, von denen jede aus einer Gruppe von der Rangordnung nach angeordneten Kriterienpositionen besteht,
    3. die erste Kriterienangabe der Reihe Position um Position mit einer Faktenangabe verglichen wird, daß ein Fehler in der Übereinstimmung des Vergleiches bewirkt, daß die nächste Faktenangabe zum Vergleich ausgewählt wird und im Falle der Übereinstimmung des Vergleiches die Durchführung des Datenverarbeitungsvorganges vorgenommen wird, die durch eine Position der Kriterienangabe spezifiziert wird.
    2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß jeder Position ein Leitwort zugeordnet wird, das einen Pegelwert besitzt, welcher die Rangfolge der Position in der Aussage festlegt.
    3· Verfahren nach Anspruch 2, dadurch gekennzeichnet, daß Positionen, die verschiedenen Aussagen gemeinsam sind, nur einmal gespeichert werden und daß nach festgesteller Nichtübereinstimmung der Pegelwert einer jeden Faktenposition geprüft wird, um festzustellen, welche Position die erste Position der nächsten Aussage ist. Cl_
    009824/1776
    3.11.1969 W/He ' -32- I/p 6732
    4. Verfahren nach Anspruch 2, dadurch gekennzeichnet, daß
    zu Anfang nur ein Leitwort einer Kriterienposition mit einem entsprechenden Teil des Leitwortes einer Faktenposition verglichen wird, und daß bei Übereinstimmung ein weiterer Vergleich zwischen anderen Teilen der Kriterien- und Paktenpositionen durchgeführt wird.
    00 98 2 kl 177 6
DE19691955797 1968-11-08 1969-11-06 Verfahren zur Steuerung der Verarbeitung von Eingabedaten und Datenverarbeitungsanlage hierfuer Pending DE1955797A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB5294968 1968-11-08

Publications (1)

Publication Number Publication Date
DE1955797A1 true DE1955797A1 (de) 1970-06-11

Family

ID=10465982

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19691955797 Pending DE1955797A1 (de) 1968-11-08 1969-11-06 Verfahren zur Steuerung der Verarbeitung von Eingabedaten und Datenverarbeitungsanlage hierfuer

Country Status (4)

Country Link
US (1) US3633179A (de)
DE (1) DE1955797A1 (de)
FR (1) FR2022918A1 (de)
GB (1) GB1265006A (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3761881A (en) * 1971-06-30 1973-09-25 Ibm Translation storage scheme for virtual memory system
IT943202B (it) * 1971-10-12 1973-04-02 Fiat Spa Perfezionamenti negli elaboratori elettronici
US3984812A (en) * 1974-04-15 1976-10-05 Burroughs Corporation Computer memory read delay
JPS5144850A (de) * 1974-10-15 1976-04-16 Ricoh Kk
GB1497678A (en) * 1975-02-21 1978-01-12 Int Computers Ltd Data processing systems
US4366551A (en) * 1977-06-24 1982-12-28 Holtz Klaus E Associative memory search system
JPS61210477A (ja) * 1984-05-25 1986-09-18 Hitachi Ltd ベクトル型連想メモリシステム
US6236993B1 (en) 1998-06-24 2001-05-22 Victor V. Fanberg Computer file comparison method

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3229260A (en) * 1962-03-02 1966-01-11 Ibm Multiprocessing computer system
US3293615A (en) * 1963-06-03 1966-12-20 Ibm Current addressing system
US3290659A (en) * 1963-12-30 1966-12-06 Bunker Ramo Content addressable memory apparatus
US3332069A (en) * 1964-07-09 1967-07-18 Sperry Rand Corp Search memory
US3435423A (en) * 1966-09-01 1969-03-25 Gen Precision Systems Inc Data processing system
US3448436A (en) * 1966-11-25 1969-06-03 Bell Telephone Labor Inc Associative match circuit for retrieving variable-length information listings

Also Published As

Publication number Publication date
US3633179A (en) 1972-01-04
FR2022918A1 (de) 1970-08-07
GB1265006A (de) 1972-03-01

Similar Documents

Publication Publication Date Title
DE4410060B4 (de) Übersetzungsvorrichtung zum Umsetzen einer virtuellen Speicheradresse in eine physikalische Speicheradresse
DE2515696C2 (de) Datenverarbeitungssystem
DE3151745C2 (de)
DE60019148T2 (de) Dma-deskriptor-architektur mit verknüpfter liste
DE1499182C3 (de) Datenspeichersystem
DE2230102A1 (de) Rechenwerk fuer variable wortlaengen
DE2339741A1 (de) Anordnung zur bildung einer relativen adresse fuer einen speicher
DE1931966A1 (de) Elektronische Datenverarbeitungsanlage
DE2551238B2 (de) Datenkonzentrator
DE4334294C1 (de) Prozessor für Zeichenketten variabler Länge
DE1285219B (de) Steuerwerk zur Ausfuehrung von Unterprogrammen
DE69521435T2 (de) Verfahren und einrichtung zum extrahieren von information aus einer datenbank
DE3689217T2 (de) Datenverarbeitungseinrichtung mit einer Schaltung zur Prüfung der Adressgrenzen in einem virtuellen Speicher.
DE3013064C2 (de) Schaltungsanordnung zur Übertragung von Bitgruppen zwischen einer von mehreren peripheren Einheiten und einem Pufferspeicher
DE1955797A1 (de) Verfahren zur Steuerung der Verarbeitung von Eingabedaten und Datenverarbeitungsanlage hierfuer
DE1171650B (de) Maschine zur serienmaessigen Verarbeitung von Daten in binaerer Zeichenverschluesselung
DE2054941C2 (de) Anordnung zur Auswahl von Datensätzen
DE1812137A1 (de) Elektronische Datenverarbeitungseinrichtung
DE19538448B4 (de) Datenbankmanagementsystem sowie Datenübertragungsverfahren
DE2723706A1 (de) Einrichtung zum adressenvergleich
DE1221037C2 (de) Verfahren zur Speicherung hierarchisch geordneter Datenketten und Anordnung zur Durchfuehrung dieses Verfahrens
DE1474376A1 (de) Verfahren und Anordnung zum schnellen Zugriff bei grossen seriellen Speichern
DE2062164A1 (de) Verfahren zur Erzeugung eines mehr stufigen Index für gespeicherte Daten einheiten
DE2952163A1 (de) Dv-anlage mit zwei datenprozessoren
DE2952072A1 (de) Einrichtung zur verarbeitung binaer codierter dezimalzahlen