DE1955797A1 - Verfahren zur Steuerung der Verarbeitung von Eingabedaten und Datenverarbeitungsanlage hierfuer - Google Patents
Verfahren zur Steuerung der Verarbeitung von Eingabedaten und Datenverarbeitungsanlage hierfuerInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90339—Query processing by using parallel associative memories or content-addressable memories
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
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
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
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
der Tabelle I.
Ausgewählte Daten Paktenaussage Ereignis
(Inhalt des assoz.
Speichers)
(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
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
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.
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
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.
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
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.
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)
- 3.11.1969 W/He - 31 - i/p 6732Patentansprü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/17763.11.1969 W/He ' -32- I/p 67324. 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
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)
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)
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 |
-
1968
- 1968-11-08 GB GB5294968A patent/GB1265006A/en not_active Expired
-
1969
- 1969-11-05 US US874307A patent/US3633179A/en not_active Expired - Lifetime
- 1969-11-06 DE DE19691955797 patent/DE1955797A1/de active Pending
- 1969-11-07 FR FR6938493A patent/FR2022918A1/fr not_active Withdrawn
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 |