DE1574877B1 - Verfahren und Einrichtung zur Kopplung von datenverarbeitenden Anlagen - Google Patents

Verfahren und Einrichtung zur Kopplung von datenverarbeitenden Anlagen

Info

Publication number
DE1574877B1
DE1574877B1 DE19611574877 DE1574877A DE1574877B1 DE 1574877 B1 DE1574877 B1 DE 1574877B1 DE 19611574877 DE19611574877 DE 19611574877 DE 1574877 A DE1574877 A DE 1574877A DE 1574877 B1 DE1574877 B1 DE 1574877B1
Authority
DE
Germany
Prior art keywords
counter
computer
program
systems
count
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE19611574877
Other languages
English (en)
Inventor
Manning Donald C
Griffith John E
Philip Jung
Botjer John L
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE1574877B1 publication Critical patent/DE1574877B1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3433Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3419Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/17Interprocessor communication using an input/output type connection, e.g. channel, I/O port
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Hardware Redundancy (AREA)
  • Control By Computers (AREA)
  • Bus Control (AREA)

Description

Die Erfindung betrifft ein Verfahren und eine Einrichtung zur paarweisen Kopplung von selbständigen datenverarbeitenden Anlagen, von denen jede eine eigene den Verarbeitungsablauf in dieser Anlage bestimmende Programmsteuereinheit aufweist, zur wahlweisen unabhängigen oder gemeinsamen, wartezeitarmen Durchführung von Bearbeitungsaufgaben.
Die bekannten datenverarbeitenden Systeme bestehen aus mehreren Grundeinheiten: einer zentralen verarbeitenden Einheit, einem Speicher, Ein- und Ausgabesteuerungen und den Ein- und Ausgabeeinheiten. Die für manche Zwecke nötige Erhöhung der Verarbeitungsgeschwindigkeit erfordert in manchen Fällen eine neue Organisationsform dieser Verarbeitungssysteme. So ist es bekannt, die Lösung eines vorgegebenen Problems auf eine Reihe von Anlagen aufzuteilen, die demgemäß mehrere der obengenannten zentralen Einheiten enthalten. Die Frage ist, in welcher Weise diese Anlagen miteinander gekoppelt werden sollen. Es ist bekannt, zwei Rechner so zusammenarbeiten zu lassen, daß der «ine der Haupt- und der andere der Hilfsrechner ist. Der Hilfsrechner bleibt dabei so lange in Wartestellung, bis der Hauptrechner ihm an bestimmten Stellen seines Programms Teilaufgaben zuweisen kann. Diese Art der Zusammenarbeit erfordert jedoch eine ausgefeilte Programmierung des Hauptrechners, wenn eine genügende Zeitersparnis erzielt werden soll. Die für den Hilfsrechner unvermeidlichen Wartezeiten sind jedoch eine nachteilige Folge dieses Systems.
Es ist auch bereits bekannt, die Zusammenarbeit mehrerer gleichzeitig und asynchron wirksamer Verarbeitungseinheiten einer Datenverarbeitungsanlage durch ein Programmunterbrechungssystem so zu steuern, daß die Anlage auf das Vorliegen außergewöhnlicher Bedingungen, wie beispielsweise Kapazitätsüberlauf, oder auf Anforderungssignale von den angeschlossenen Einheiten möglichst umgehend reagiert. Zu diesem Zweck ist jeder Bedingung, die eine Unterbrechung des gerade laufenden Programmes zur Folge haben soll, ein Unterbrechungsanzeige-Flip-Flop zugeordnet. Für jeden dieser Flip-Flops ist ein Masken-Flip-Flop vorgesehen, der in Abhängigkeit vom Programm einstellbar ist, so daß eine Unterbrechungsanzeige nur dann wirksam werden kann, wenn sich der zugeordnete Masken-Flip-Flop im Einstellzustand befindet. Hierdurch können für unterschiedliche Programme oder Programmteile unterschiedliche Arten von Unterbrechungsbedingungen zugelassen oder Unterbrechungsbedingungen generell unterdrückt werden.
Auch bei diesem System sind Wartezeiten nicht zu vermeiden, da die Zulässigkeit von Programmunterbrechungen durch das Programm der Datenverarbeitungsanlage starr vorgegeben ist. Treten zugelassene Programmunterbrechungen auf, so wird die Ausführung des unterbrochenen Programms unabhängig vom Umfang der von diesem zu verarbeitenden Datenmenge, die von Programmlauf zu Programmlauf verschieden sein kann, gestoppt, bis das entsprechende, die Unterbrechungsbedingung behandelnde Unterprogramm abgelaufen ist. Im anderen Falle, wenn eine Unterbrechungsanzeige auftritt, für die im gerade ablaufenden Teil des zu unterbrechenden Programms keine Unterbrechungszulässigkeit programmiert wurde, muß die Einheit, von der die Anzeige verursacht wird, in Wartestellung gehen, bis die Unterbrechungszulässigkeit im Programmablauf erscheint.
Aufgabe vorliegender Erfindung ist es, ein Verfahren zur paarweisen Kopplung von selbständigen datenverarbeitenden Anlagen anzugeben, durch das eine optimale Ausnutzung der Anlagen bei der wahlweise unabhängigen oder gemeinsamen Durchführung von Bearbeitungsaufgaben erzielt werden kann, ohne Rücksicht auf Unterschiede in den zu verarbeitenden Datenmengen. Gemäß der Erfindung wird dies dadurch erreicht, daß jede der Anlagen nach Vollendung bestimmter Abschnitte des Verarbeitungsablaufes positive bzw. negative Zählwertsignale erzeugt und einem für je zwei Anlagen gemeinsamen Vor- und Rückwärtszähler zuführt, daß von jeder der Anlagen zu bestimmten Zeiten des Verarbeitungsablaufes der Zähler abgefragt und sein Zählstand mit in dieser Anlage voreingestellten Grenzwerten verglichen wird und daß bei Feststellung einer Grenzwertüberschreitung bzw. -unterschreitung die Ausführung eines Teils der Bearbeitungsaufgaben einer Anlage durch die andere Anlage eingeleitet oder beendet wird.
Der Inhalt des Vor- und Rückwärtszählers gibt stets eine Anzeige über den relativen Unterschied im Stand der Verarbeitung in den beiden gekoppelten Anlagen an. Dadurch ist es möglich, daß eine Zusammenarbeit zwischen den beiden Anlagen nur dann eingeleitet wird, wenn sie erforderlich ist, während in den übrigen Zeiten jede Anlage unabhängig von der anderen ein selbständiges Programm durchführt. Die Grenzwerte können zudem so gelegt werden, daß die Steuerung für einen Daten- bzw. Aufgabenaustausch bereits vorbeugend wirksam wird, noch bevor eine akute Überlastungssituation oder eine Wartesituation wirklich eingetreten ist. Damit ist einerseits das Warten einer Anlage auf die mögliche Hilfeleistung für die andere und der damit verbundene Zeitverlust beseitigt, und andererseits ist eine Hilfeleistung jeder Anlage für die andere möglich. Dies ist unter anderem besonders bei einem nicht vorhersehbaren unterschiedlich großen Datenanfall während der Ausführung der Bearbeitungsprogramme bedeutungsvoll.
Eine weitere Aufgabe der Erfindung besteht darin, eine vorteilhafte Einrichtung zur Durchführung des Verfahrens nach der Erfindung anzugeben. Diese Einrichtung kennzeichnet sich erfindungsgemäß dadurch, daß jede der beiden über einen Vor- und Rückwärtszähler in Ablaufkopplung stehenden Datenverarbeitungsanlagen mit einer Zählwertsignal-Generatorschaltung verbunden ist, die über das Programm der betreffenden Anlage in Tätigkeit setzbar ist und die eine Zählwertsignal-Speicherschaltung aufweist, daß beide Zählwertsignal-Generatorschaltungen über eine Mischerschaltung an den Eingang des Zählers angeschlossen sind, daß ein Taktgeber vorgesehen ist, der die Zählwertsignal-Speicherschaltungen nacheinander für eine Signalabgabe an die Mischerschaltung abtastet, und daß zwischen dem Ausgang des Zählers und den Dateneingängen der beiden Anlagen eine Verbindung besteht, die in Abhängigkeit vom Programm einer jeden dieser Anlagen für eine Zählstandübertragung zu der betreffenden Anlage wirksam gemacht wird.
Weitere vorteilhafte Ausgestaltungen der Erfindung sind aus den Ansprüchen zu ersehen. Nach-
folgend sind einige vorteilhafte Ausführungsbeispiele der Erfindung an Hand von Zeichnungen erläutert. Die Zeichnungen haben folgende Bedeutung:
F i g. 1 a bis Ie sind Blockdiagramme verschiedener Ausführungsformen der Erfindung;
F i g. 2 zeigt in Blockform die Steuereinrichtungen für die Ausführungsform der F i g. 1 a;
F i g. 3 und 4 zeigen schematisch Einrichtungen, die als Programmgeber der Fig. 2 brauchbar sind;
F i g. 5 zeigt schematisch eine Ausführungsform des Mischers der Fig. 2;
F i g. 6 zeigt schematisch eine Ausführungsform des Zählers der F i g. 2;
Fig. 7a, 7b, 8a, 9a und 9b sind Flußdiagramme für den Operationsablauf der Erfindung.
Allgemeines
Die Erfindung gibt Maßnahmen an, welche es Rechnern erlaubt, für die Lösung eines gegebenen Problems zusammenzuarbeiten. Das Verfahren ist vergleichbar dem Gebrauch eines Notizblockes, dessen Aufzeichnungen dazu dienen, den Platz eines Rechners während der Lösung des Problems zu verfolgen. Die Wirkung dieses Verfahrens besteht darin, daß die Rechner ein gewisses »Zusammengehörigkeitsgefühl« bei der Ausführung ihrer Arbeit bekommen. Dazu werden in der nachfolgenden Beschreibung Zähler benutzt, die mehrere Werte annehmen können. Ein solcher Zähler erlaubt den Vergleich des Zeitablaufs, der durch die beiden Maschinenprogramme dargestellt ist. Ein einfaches Beispiel hierfür soll mit Hilfe der F i g. 1 a und der Tabelle I gegeben werden.
Tabelle I
Programm Λ
1.
Programm B
1. CD i-
2. CU
3.
4.
5.
6. CU
7.
8.
9.
10. CU
11.
2.
3.
4.
5._
6.
7.
CD
9._
10.
45
50
55
6o
CD
11.
65
Es sei angenommen, daß zwei Rechner die gleichen in ihren eigenen Speichereinheiten enthaltenen Daten verarbeiten und daß das Programm der Maschine A diese Daten verarbeiten muß, ehe das Programm der Maschine B sich damit beschäftigt. Ein Zähler ist zwischen den zwei Maschinen derart eingeschaltet, daß er jedesmal um Eins aufwärts zählt, wenn ein Bit CU in einem Befehl des Programms A auftaucht. Derselbe Zähler wird um Eins abwärts zählen, jedesmal wenn ein Bit CD in einem Befehl der Maschine B auftritt. Der Zähler kann nicht unter Null zählen, mit anderen Worten, er kann nur positive Zahlen enthalten. Er stellt sicher, daß die Maschine B die Maschine^ bei der Ausführung des Programms der Maschine Λ( nie überholen kann. Das geschieht durch Überwachung derjenigen Stellen in den beiden Programmen, wo es unbedingt nötig ist, die MaschineB am Überholen der Maschinell zu verhindern. An jeder solchen Stelle sind die entsprechenden Befehle mit dem besonderen Bit markiert, das für diese Zwecke vorbehalten ist. In dem gezeigten Beispiel sind die Befehle 3, 7 und 11 mit einem Bit Ct/ markiert. Im Programm B sind die Befehle 2, 5 und 10 mit einem Bit CD markiert.
In dem Beispiel ist es erforderlich, daß der Befehl 3 des Programms A vor dem Befehl 1 im Programm B ausgeführt wird. Dasselbe gilt für den Befehl 7 im Programm A und Befehl 5 im Programm B sowie für Befehl 11 im Programm^ und Befehl 10 im Programm B. Beide Programme werden gleichzeitig durchgeführt, bis ein Bit auftaucht, welches den Zähler über seine Kapazität oder unter Null fortschalten würde. So wird die Maschine A angehalten, wenn ein Bit CU erscheint, nachdem alle Zählerstellen auf Eins stehen. Ebenso würde die Maschine B angehalten werden, wenn ein Bit CD erscheint, wenn der Zähler nur Nullen enthält. Beide Programme laufen gleichzeitig ab, solange der Zähler zu einem Wert innerhalb dieser Grenzen zurückgekehrt ist.
Bei der Ausführung des Programms A wird also der Zähler je um Eins aufwärts zählen, wenn eine Markierung angetroffen wird, und er wird um Eins abwärts zählen, wenn im Programm B eine Markierung angetroffen wird. Beim gleichzeitigen Start der beiden Maschinen mit den zwei vorgegebenen Programmen ist der Zählerwert Null. Zu diesem Zeitpunkt würde die Maschine B nichts tun, da der Zähler nicht unter Null zählen kann, aber die Maschine^ wäre an der normalen Abwicklung des Programms nicht gehindert. Sobald die Maschine A den Befehl 3 ausgeführt hat, würde der Zähler um einen Schritt erhöht werden und dadurch der Maschine B erlauben, zu starten und den Zähler auf Null zu bringen. Damit könnte die Maschine B fortfahren zu arbeiten, bis sie den Befehl 5 trifft.
Wenn die Maschine A zu dieser Zeit den Befehl 7 ausgeführt hat, zeigt der Zähler einen Wert größer als Null, und die Maschine B wird ihn bei ihrem Weiterarbeiten abwärts schalten. Wenn jedoch der Zähler noch auf Null steht zum Zeitpunkt, wo die Maschine B beim Befehl 5 anlangt, so wird die Maschine B anhalten und warten, bis der Zähler um Eins erhöht ist.
Falls die Maschine A viel rascher fortschreitet als die Maschine B, wird der Zähler einen Wert größer als Eins enthalten. Dieser Wert ist eine Art Maßstab dafür, wie viel die Maschine B gegenüber der Maschine A im Rückstand ist, und wird die Maschine A anhalten. Das wurde mit der früheren Bemerkung
gemeint, daß der Zähler die relative Zeit bezüglich des Programmablaufs von zwei Maschinen mißt. Es ist bemerkenswert, daß in dem gegebenen Beispiel die Maschine^ eine frei laufende Maschine ist und daß auch die Maschine JS frei läuft, solange sie nicht die Maschine .(4 zu überholen droht. Die Kupplung zwischen den beiden Maschinen ist vollständig bestimmt durch die beiden Bits (CD oder CU) in den zugehörigen Befehlen, und diese Bits gestatten jeden Grad von Kupplung, der erwünscht ist.
An Hand der Fig. Ib und der Tabellen soll eine Abwandlung des vorstehend beschriebenen Beispiels, diesmal mit drei Maschinen für dieselbe Aufgabe, besprochen werden.
6 III
Tabelle Programm B
Programm/i 1. CD-»Start bei Zwei«
1. CU
Programm Λ
1.
Tabelle II
Programm B
1.
2.
3.
4.
5.
6.
Programm C 1.
7. TIX
7. TIX
2. CD (V)CU (2) 2. CD (2)
3.
4.CLZ(I)
3.
4.
4.
5.
5.
6. CD(I) CEZ(2) 6.
7. ClZ(I)
7,
7.
9.CEZ(I)
8._
9.
8. CD (2)
9.
10.
10.
11. CD(I) CEZ(2) 11. CD (2)
Hier arbeiten drei Rechner miteinander auf Grund derselben Daten. Die Rechner A und B arbeiten wie oben beschrieben; der zusätzliche Zähler 2 erlaubt dem Rechner C die Daten zu verarbeiten, nachdem der Rechner i3 damit fertig ist. Der Zähler 2 wird aufwärts geschaltet (CU2) durch markierte Befehle des Rechners B und wird abwärts geschaltet {CD 2) durch markierte Befehle des Rechners C. So verhindert der Zähler 2 den Rechner C am Überholen des Rechners B in genau der gleichen Weise, wie der Zähler im vorigen Beispiel den Rechner B daran hinderte, den Rechner A zu überholen. Bemerkenswert ist, daß eis markierter Befehl im Rechner B zwei Zähler beeinflußt. Diese Markierung schaltet den Zähler 1 abwärts und gleichzeitig den Zähler 2 aufwärts. Dieses Verfahren kann natürlich auf jede beliebige Zahl von Rechnern ausgedehnt werden, die dasselbe Problem bearbeiten, wenn die Bedingungen dazu dieselben sind wie im vorigen Beispiel.
Das nächste Beispiel befaßt sich mit rückläufigen Programmen und die Fig. la und Tabelle III wie in der Erläuterung. »TIX« bedeutet »bedingter Sprung nach Schritt Eins«.
Hier besteht die Schwierigkeit darin, daß die beiden Programme Schleifen bilden und es erwünscht ist, die beiden Maschinen so zu steuern, daß der Rechner B um einen Schleifendurchlauf hinter dem Rechner A herläuft. Mit anderen Worten, der Rechner B soll die vom Rechner A benutzten Daten erst dann verarbeiten, wenn sie der Rechner A erledigt hat. Neu ist also bei dieser Forderung nur, daß die Programme in Schleifenform und nicht als offene Ketten vorliegen. Es müssen die Startbedingungen in dem Zählersystem dazu geändert werden. Um die in Tabelle III dargestellte Gegebenheit in Gang zu setzen, ist ein besonderer Befehl nötig, der am Anfang des Programms B angeschrieben ist: »Start bei Zwei«. Dieser Befehl ist also eine Abwandlung des besprochenen Zählbits, das aber die Zeit bestimmt, zu welcher der folgende Programmschritt beginnen kann. Hier erlaubt der Befehl »Start bei Zwei« dem Rechner B die Weiterarbeit erst dann, wenn im Zähler der Betrag 2 (oder ein anderer angegebener Wert) erscheint. Das Programm B schaltet den Zähler erst dann abwärts, wenn die vorgegebene Bedingung erfüllt ist. Beim Erreichen des vorgegebenen Zählwertes wird der Zählerwert sofort um diesen Betrag (2) vermindert, und dadurch bleibt der Abstand zwischen den Rechnern A und B immer gleich einer Programmschleife. Wäre der Wert, der vom Befehl des Rechners B bestimmt wird, 6, so wäre der Abstand zwischen den beiden Maschinen fünf Programmschleifen, mit anderen Worten, einen konstanten, in Schleifen durchlaufend gezählten Abstand zwischen den Rechnern A und B. Der »Start«-Befehl ist eine Art Vorspannung, die dem Zählerinhalt eine Steuerfunktion zuordnet.
Im letzten Falle, wo der Startbefehl mit dem Wert 6 gekoppelt ist, würde der Rechner A den sechsten Durchlauf seiner Schleife ausführen, während der Rechner B beim ersten Umlauf stünde; der Abstand (die Differenz zwischen den ausgeführten Umläufen der beiden Rechner) wäre 5. Natürlich kann der Abstand zwischen den beiden Maschinen nie kleiner sein als 5, jedoch kann er soviel mehr sein als nötig und würde in diesem Beispiel nur durch die Zählerkapazität begrenzt.
Ein anderer Weg, dasselbe Ziel zu erreichen, wäre der, daß für den Zähler der mit dem Startbefehl gekoppelte Werte der kleinste, erlaubte Wert ist (im letzten Beispiel 6), bis ein anderer Befehl eintrifft, der
7 8
den Wert nach oben oder unten verändert. Diese Art, Mit Hilfe der Fig. Ib und der Tabelle IV soll
dem Zähler einen Vorspannungspegel zuzuführen, er- die Ausdehnung des letzten Beispiels auf den Fall
laubt einen freizügigeren Umgang mit dem Zähler- von drei oder mehr Maschinen erläutert werden. Die
inhalt, da der Bezugswert auf jeden echten Zähler- Bedingungen sind dieselben wie vor, und es soll nur
wert eingestellt werden kann. 5 der Startvorgang beschrieben werden.
Programm^
1. CU(I)
Tabelle IV
Programm B
1. CD(l)-»Start bei Zwei«-CZ7(2)
Programm C
1. CD(2)-»Start bei Zwei«
2. 2. 2.
3. 3. 3.
4. 4. 4.
5. 5. 5.
6. 6. 6.
7. 7. 7.
8. TIX 8. TIX 8. TIX
Wenn der Rechner A startet, verursacht er im Rest der Kette stillsetzen. Das Beispiel zeigt weiter, Zähler 1 einen Zählschritt nach oben. Die »Start«- daß so viele Rechner als nötig sind, die gegebenen Bedingung für die Schleife im Rechner B verhindert 30 Daten verarbeiten können, wenn jeweils ein Zähler den Rechner B am Start, bis der Zählwert im Zäh- zwischen zwei Rechnern eingefügt wird. Klar ist ler 1 zwei ist. Beim Beginn des zweiten Schleifen- auch, daß der Abstand, in Schleifendurchläufen gedurchgangs von Rechner A wird der Zählerwert von messen, zwischen zwei Maschinen auf jeden ge-Zähler 1 um Eins auf zwei erhöht. Der Befehl »Start wünschten Wert gebracht werden kann. Die obenerbei Zwei« im Rechner B wird dann von dem Zähler- 35 wähnte »Vorspannung« wird bei dem niedrigsten geinhalt zwei abziehen und dem Zähler B das Fort- gebenen Wert bleiben, und dies wird verhindern, daß schreiten im Programm erlauben. Zur gleichen Zeit die Schleifendurchläufe in den verschiedenen Mawird der Rechner B den Zähler 2 um Eins aufwärts schinen zeitlich zu nah beieinanderliegen. Ein prakschalten. Wenn der Rechner B seinen zweiten Durch- tisches Beispiel für die eben erwähnte Anordnung ist gang beginnt, bringt er den Zähler 2 auf den Wert 40 die übliche Eingabe-Ausgabe-Operation, wo Daten Zwei. Der Rechner C wird daraufhin zu arbeiten be- von einem Magnetband gelesen, verarbeitet und in ginnen und gleichzeitig den Zähler 2 um zwei berichtigter Form auf ein neues Band geschrieben Schritte abwärts bringen. Im Endeffekt werden also werden sollen, ohne daß man sich um die Syndie drei Rechner ihre Programmschleifen mit einem chronisierung der Programmschleifen zu kümmern Abstand von wenigstens einer Schleifenlänge aus- 45 braucht.
führen. Es ist bemerkenswert, daß sich die Maschi- Wieder mit der Fig. Ib und der nachfolgenden
nen gegenseitig nicht überholen können, denn der Tabelle V soll ein ähnliches System beschrieben
Zählwert Null in jedem der beiden Zähler wird den werden.
Programme
1. CU(I)
Tabelle V
Programm B
1. CD(l)-»Start bei Zwei«-CC7(2)
Programm C
1. CD(2)-»Start bei Drei«
009586/280
2. 2. 2.
3. 3. 3.
4. 4. 4.
5. 5. 5.
6. 6. 6.
7. 7. 7.
8. TIX 8. TIX 8. TIX
Im Programm C ist hier »Start bei Drei« vermerkt. Die Zähler dieses Beispiels zeigen die Zahl der Aufwärtssignale, die Zahl der Abwärtssignale und die Gesamtzahl an. Anfangs, wenn der Rechner A startet, wird der Zähler 1 um Eins erhöht. Der Rechner B schaltet den Zähler 1 um Eins abwärts und den Zähler 2 um Eins aufwärts. Beginnt der Rechner A seinen zweiten Durchgang, so wird der Zähler 1 um Eins erhöht. Der Rechner B, der noch wartet, zählt sofort den Zähler 1 um Eins abwärts und den Zähler 2 um Eins aufwärts. Jetzt fängt der Rechner B zu arbeiten an, da der Zähler 1 insgesamt um zwei Schritte aufwärts geschaltet wurde. Der Rechner A wird beim Beginn seines dritten Durchganges den Zähler 1 um Eins aufwärts zählen, und wenn der Rechner B seinen zweiten Durchgang beginnt, wird er den Zähler 1 um Eins abwärts und den Zähler 2 um Eins aufwärts schalten.
Nun hat der Zähler 2 drei Aufwärtsschritte aufgenommen, und der Rechner C wird beginnen. Wenn die Rechner die gegebene Beziehung aufrechterhalten sollen, darf der Zähler 1 nicht unter Eins und der Zähler 2 unter Zwei geschaltet werden.
Im Arbeitsablauf der beiden durch die Tabellen IV und V dargestellten Beispiele besteht ein Unterschied. Im Falle der Tabelle IV muß jede Maschine warten, bis ihr Vorgänger gestartet ist. In der Tabelle V erfolgt bei jedem Start einer Maschine unmittelbar darauf eine Veränderung im Zählerstand aller Zähler des Systems. Das hat zur Folge, daß jeder Rechner der Kette jeden Schleifendurchlauf beginnen kann, nachdem der das Spiel beginnende Rechner seine Durchläufe begonnen hat. Es ist somit die Bedingung, daß die Maschinen ihre Umläufe nach denen des vorherigen Rechners beginnen, nach wie vor vorhanden. Die Wirkung ist deshalb immer noch dieselbe, als wenn die benutzten Werte sich auf den vorangehenden Rechner statt auf den ersten Rechner bezogen.
Kurz zusammengefaßt zeigen die Tafeln IV und V ein System für Start und Aufrechterhaltung eines Mindestabstandes zwischen Rechenoperationen für den Fall einfacher, rückläufiger Programme in jeder Maschine und für den Fall, daß mehr als zwei Maschinen in der Kette liegen.
Die durch diese beiden Beispiele aufgezeigte Richtung soll nun auf ein komplizierteres Beispiel ausgedehnt werden. Das hervorstechende Merkmal des
ίο folgenden Beispiels ist eine höhere Art von Rückläufigkeit als bei den beiden vorhergehenden Beispielen. Im Beispiel der Fig. Ic ist nämlich das vorige Beispiel (mit Fig. Ib und der Tabelle V) durch die zusätzliche Forderung erweitert, daß die Programme jedes Rechners sowohl innere als auch äußere Schleifen enthalten. Insbesondere erstrecken sich die Schleifen auf die Daten, die von dem vorhergehenden Rechner bearbeitet wurden. Die wichtige Änderung bei diesem Beispiel besteht darin, daß die Kette der Rechner eine geschlossene Schleife, nicht eine offene Reihenschaltung ist, wie es bei den vorhergehenden Beispielen der Fall war. Mit anderen Worten, der Rechner A hat den Rechner C als Vorgänger mit der Wirkung, daß nach dem Start ein geschlossener Ring von Rechnern eine geschlossene Schleife von Daten nacheinander bearbeitet. Es besteht also die zusätzliche Bedingung, daß der Rechner A nach der Bearbeitung der Daten wieder mit denselben Daten seine Arbeit beginnt. Der Rechner A muß aber daran gehindert werden, diese wiederholte Datenverarbeitung zu beginnen, bevor der Rechner C diese Daten bearbeitet hat. Denn wenn der Rechner A den zweiten Durchgang beginnt, können die Daten eventuell durch neue ersetzt worderTsein, und aus diesem Grunde darf der Rechner A den Rechner C nicht überholen.
Die folgende Tabelle VI zusammen mit der Fig. Ic wird das Beispiel verständlich machen.
Tabelle VI
Programm^ Programm B Programm C
1. CD(3)-»Start bei NuIk-CEZ(I) 1. CD(l)-»Start bei Zwei«-Ci7(2) 1. CD(2)-»Start bei Drei«-CE/(3)
2. 2. 2.
3. 3. 3.
4. 4. 4.
5. 5. 5.
6. 6. 6.
7. 7. 7.
8. 8. 8.
9. 9. 9.
10. 10. 10.
11. TIX
11. TIX
11. TIX
11 12
Bemerkenswert ist, daß der Rechner A jetzt den schritthalten. Nun wird die Verbindung zum Rech-
Zähler 3 abwärts und gleichzeitig den Zähler 1 auf- ner B hergestellt, der zu arbeiten beginnt, sobald der
wärts schaltet. Dadurch wird die Schleife der Ma- Zähler 2 auf Null gebracht ist und der die dann ein-
schinen geschlossen und eine fortlaufende Bearbei- laufenden Aufzeichnungen verarbeitet. In diesem Bei-
tung der Daten möglich. Die Startbefehle wirken wie 5 spiel können Unterbrechungen dadurch veranlaßt
gewöhnlich mit dem Unterschied, daß »Start bei werden, daß Null-Werte in die Zähler eingetragen
Null« im Rechner A sich auf den Inhalt des Zäh- weiden, so daß der Rechner B an jeder markierten
lers 3 bezieht. In diesem Beispiel wirken die Zähler- Stelle seines Programms unterbrochen werden kann,
stände als Abstandsgrößen zwischen den verschie- wodurch die Frage der Speicherzuordnungen er-
denen Maschinenumläufen. Wenn also der Rech- io leichtert wird. Es können noch viele andere Arbeits-
ner A seinen zweiten Durchgang beginnt, startet der ablaufe von der Stellung der Zähler abhängig ge-
Rechner B seinen ersten Durchgang; wenn Rechner A macht werden.
seinen dritten Durchgang beginnt, startet der Rech- Die Fig. Ie zeigt ein Beispiel für die Bildung eines ner B seinen zweiten Durchgang und der Rechner C Netzwerkes von Rechnern, unter Verwendung der seinen ersten Durchgang. Auf diese Weise wird das 15 vorstehend beschriebenen Technik. Diese Rechner System in Gang gesetzt, und sobald der Rechner C lösen in Gemeinschaftsarbeit ein Problem, das in eine die Daten verarbeitet, wird der Zähler 3 um Eins Folge von Teilen auflösbar ist, von denen jedes geaufwärts geschaltet. Sobald der Rechner A bereit ist, trennt bearbeitet wird. Jede Maschine besitzt ihre die vom Rechner C fertig verarbeiteten Daten in An- eigenen Speicher, Eingabe-Ausgabe-Einheiten usw. griff zu nehmen, wird der Rechner A bei seinem 20 so weit, wie diese Einrichtungen nötig sind.
Operationsbeginn den Zähler 3 abwärts schalten. Es Zunächst soll die erste senkrechte Spalte von Maist festzuhalten, daß der Rechner A seinen vierten schinen bestehend aus den Redhnern A, B und C beDurchgang nicht beginnen kann, bevor der Rech- trachtet werden. Der Zähler 1 wird vom Rechner A ner C seinen ersten Durchgang vollendet hat. Das ist aufwärts und vom Rechner B abwärts geschaltet, er eine Beschreibung des vorliegenden Beispiels, denn 25 liegt zwischen diesen beiden Redhnern. Der Reches wird dabei aus Gründen der Einfachheit ange- ner A hat die Aufgabe, gewisse Daten zu erzeugen, nommen, daß nur drei Bündel von Daten zu ver- die von dem System zu verarbeiten sind. Wenn also arbeiten sind und daß für jede Maschine die Reihen- der Rechner A solche Daten erzeugt hat, werden sie folge der Bündel 1, 2, 3, 1, 2, 3 ... usw. sein soll. zum Rechner B geleitet. Zur selben Zeit wird der Der Zähler 3 verriegelt die Rechner-Reihenschaltung 30 Zähler 1 um Eins aufwärts geschaltet. Die Aufgabe derart, daß der Rechner A den zweiten Durchgang des Rechners B ist es, die Daten aus dem Rechner A mit dem Datenbündel 1 erst beginnen kann, wenn weiterzuverarbeiten, jedoch in besonderer Weise, der Rechner C seinen ersten Durchgang über das- denn jedesmal wenn der Rechner B eine solche Verselbe Datenbündel erledigt hat. Sind mehr als drei arbeitung beginnt, wird der Zähler 1 um Eins erBündel von Daten, z. B. zehn, im Spiel, so muß der 35 niedrigt. Sobald der Rechner B seine Arbeit beendet Abstand zwischen dem Rechner C und dem Rech- hat, bringt er den Zähler 2 um einen Schritt aufwärts, ner A groß sein, aber in jedem Falle wird der Rech- als Zeichen dafür, daß eine Reihe von Daten für den ner A nie in der Lage sein, den Rechner C zu über- Rechner C bereitsteht. Der Zähler 2 wird abwärts holen. Wenn alle Durchgänge durch alle Daten ab- geschaltet, wenn der Rechner C die Daten aus dem gelaufen sind, muß der Ausgang aller Schleifen einen 40 Rechner B zu verarbeiten beginnt. Der Rechner C letzten Zählvorgang bewirken, welcher der folgenden hat eine andere Eingangsquelle als der Rechner B, es Maschine die Bearbeitung derselben Daten gestattet. sei angenommen, daß es ein Magnetband ist. Wäh-
Die grundsätzliche Methode, durch die eine rend der Arbeit der Rechner A und B wurde von
Gruppe von Rechnern zur Bearbeitung eines gege- dem Eingabeband eine Aufzeichnung in den Speicher
benen Problems mit gewissen Bedingungen gebracht 45 des Rechners C gelesen. Dieser Vorgang brachte
werden kann, wurde gezeigt. Die Grundbedingung, gleichzeitig den Zähler 3 um einen Schritt aufwärts,
der das Problem genügen muß, ist die, daß die Lö- Wenn der Rechner C merkt, daß der Zähler 2 einen
sung durch Aufteilung der Arbeit in nacheinander in Wert größer als Null enthält und daß der Zähler 3
fester Folge zu erledigende Teilarbeiten gefunden einen Wert größer als Null enthält, kann er daraus
werden kann. Wenn das möglich ist, dann kann 50 schließen, daß die nächste Aufzeichnung aus jeder
einem Rechner jeder Teil der Arbeiten zugeordnet der beiden Eingänge zur Verarbeitung bereit ist. Die
werden, und die Aufeinanderfolge der Rechner kann Aufgabe des Rechners C ist es, die Daten von dem
dieselbe sein wie die Aufeinanderfolge der verschie- Band mit entsprechenden und dazu passenden Auf-
denen Teile der Arbeit. Es ist deshalb zur Sicher- zeichnungen aus dem Rechner B zu verarbeiten. Das
stellung einer richtigen Lösung nur nötig, sicherzu- 55 Ergebnis dieser Operation wird dann über eine
stellen, daß sich die Rechner nicht gegenseitig über- Leitung als Eingang dem Rechner F zugeführt. Es
holen. Der Abstand zwischen den Redhnern braucht ist bemerkenswert, daß der Rechner C beim Beginn
nicht auf einem Minimum gehalten zu werden, es ist der Verarbeitung der zwei Datengruppen die Zäh-
jedoc'h erwünscht, dies zu tun. Ier 2 und 3 um einen Schritt erniedrigt. Sind die
Die Fig. Id zeigt zwei Rechner, die Informa- 60 Daten vom Rechner C für den Rechner F fertig, so
tionen aus einer äußeren Eingabe-Ausgabe-Einheit wird der Zähler 6 um einen Schritt erhöht. Die beiden
(I/O) verarbeiten. Das ist sinnvoll in den Fällen, Ketten aus den Rechnern D, E und F bzw. G, H
wo die Einheit Aufzeichnungen mit geringer und mit und / arbeiten in gleicher Weise; jede Kette speist
hoher (z. B. Konten-) Bewegung enthält. Während Daten in die obere Zeile von Rechnern. Die Daten
der Teil der Aufzeichnung mit der geringen Bewe- 65 aus dem Band werden so auf Grund der Daten aus.
gung verarbeitet wird, kann der Rechner A leicht jeder der drei Ketten verarbeitet und schließlich auf
die Verarbeitung bewältigen. Sobald ein Teil mit einem weiteren Band ausgegeben. Die Zähler 1, 4
hoher Bewegung auftritt, kann der Rechner A nicht und 7 sind in ihrem Wert begrenzt, um zu verhin-
COPY
13 14
dern, daß die Rechner A, D und G ihren Nachbarn Die Leitung 29 überträgt Programmanforderungen, überholen. Die Zähler 1, 4 und 7 haben z. B. einen die an den Zähler 10 gerichtet sind. Ebenso überHöchstwert von 4. Das bedeutet, daß ein Rechner, trägt die Leitung 3O1 Programmanforderungen vom der um vier Aufzeichnungen seinem Nachbar voraus Rechner A an denselben Zähler 10. Diese Programmist, angehalten wird, bis der Nachbar den Zähler 5 anforderungen können aus der Forderung bestehen, wenigstens um einen Schritt erniedrigt hat. daß der Zähler 10 auf- oder abwärts geschaltet wird
Bei diesem Beispiel lösen neun Rechner mit zehn oder daß besondere Stellen des Zählers, oder auch dazwischengeschalteten Zählern ein Problem, das in alle Stellen, auf Eins oder Null gebracht werden.
Teile aufspaltbar ist; es sind aber keine geschlosse- Der N-stellige Zähler 10 weist keine Besondernen Schleifen von Rechnern gebildet worden. Be- io heiten auf. Er kann binär oder dezimal sein, oder er merkenswert hier ist, daß die Arbeitsabläufe auf der kann so zählen, daß immer nur eine Ausgangsleitung Koinzidenz von Zählern beruhen. Für das Beispiel hohes Potential führt. Es ist nur erforderlich, daß er der Rechner C, F und / heißt dies: der Rechner C aufwärts oder abwärts zählen kann und daß man eine fährt mit seiner Arbeit nur bei einer Koinzidenz der oder alle seiner Bitstellen auf einen bestimmten Wert Zähler 2 und 3 fort; der Rechner F fährt mit seiner 15 bringen kann. Der Einfachheit halber wird ange-Arbeit nur bei einer Koinzidenz der Zähler 5 und 6 nommen, daß er binär zählt und N Bitstellen entfort; der Rechner / braucht die Koinzidenz der Zäh- hält, von denen drei (14-19) in Fig. 2 zu sehen sind, ler 8 und 9. Die Koinzidenz ist hier die einfachste, Überlauf oder Unterschreiten des Nullwertes wird mögliche Lösung; beide Zähler enthalten dabei Zähl- beim Zähler 10 durch die Entschlüsselermatrix 30 werte größer als 1. Hinsichtlich der Zahl der Rechner 20 verhindert, die eine Leitung 31 auf hohes Potential ist zu sagen, daß mangels Schleifenbildung kein Hin- bringt, sobald alle Zählerstellen »0« sind, und eine derungsgrund dafür besteht, zwei benachbarte Rech- Leitung 32 auf hohes Potential bringt, wenn alle ner durch einen neuen Rechner zu ersetzen, der die Zählerstellen »1« sind. Die Sammelleitung 33 verArbeit der beiden ersetzten erledigt. Es spricht auch bindet Matrix und Zähler. Da der Zähler nicht mehr nichts dagegen, eine der Maschinen durch zwei mit 25 weiter abwärts geschaltet werden soll, wenn alle Biteinem Zähler in Reihe geschaltete zu ersetzen. Da- stellen »0« sind, wird über das positive Potential der durch kann das Netzwerk von Maschinen beliebig Leitung 31 und den Inverter 34 die UND-Schaltung erweitert oder beschränkt werden. 35 gesperrt, so daß über die Leitung 13 keine weiteren Anforderungen auf Abwärtsschaltung des Zäh-
Bauart einer bevorzugten Ausführungsform 3<> lers 1 gehen können. Entsprechend wirkt die Leitung
32 über den Inverter 37 auf die UND-Schaltung 36
Die Fig. 2 zeigt, wie das Blockbild der Fig. la ein, wenn alle Bitstellen »1« enthalten. Die Leitung ausgestaltet werden könnte. Der Rechner B mit dem 2O1 verbindet alle Zählerausgänge über den einge-Bezugszeichen 1 enthält einen Puffer 6, eine Ein- schalteten Zustand mit der Leitung 5.
gangs-Ausgangs-Leitung 2, eine Ausgangsleitung 29, 35 Die Rechner A und B können über die Leitungen eine Leitung 7zu einem monostabilen Multivibrator 8 11 bis 19 (Fig. 2) Änderungen des Zählerstandes und eine Leitung 9, die diesen Multivibrator mit dem fordern. Die zugehörigen Einrichtungen sollen nachPuffer 6 verbindet. Der Rechner B kann irgend- folgend allgemein beschrieben werden. Programmeinem Typ von Datenverarbeitungssystemen ange- anforderungen von den Rechnern B oder A werden hören: parallel, Serie, binär, dezimal usw. Der mit 3 40 von den Programmgebern 22 (B) und 24 (A) in Einbezeichnete Rechner A enthält eine Eingangs-Aus- stellbefehle umgewandelt. Kommen über die Leigangs-Leitung 4 und eine Ausgangsleitung 30. Auch tungen 29 und 3O1 gleichzeitig Anforderungen für dieser Rechner kann von herkömmlicher Art sein. Aufwärtsschaltung der Zähler, so können diese An-Die Leitung 5 überträgt Daten zwischen den Rech- forderungen nicht gleichzeitig, sondern müssen nern A und B und zu anderen Rechnern oder Ein- 45 nacheinander erledigt werden. Die Reihenfolge ist gabe-Ausgabe-Einheiten. Es sei angenommen, daß nicht von Wichtigkeit. Die Programmgeber 22 und 24 der Rechner A eine leistungsfähige Eingangs-Aus- haben hauptsächlich die Aufgabe, die Programmgangs-Übertragungseinheit enthält, die fähig ist, anforderungen zu speichern und gleichzeitig anfal-Daten mit verschiedener Übertragungsgeschwindig- lende Anforderungen nacheinander als Einstellkeit und von verschiedener Form (Serie oder parallel) 50 befehle weiterzugeben. Dazu dienen der Impulsaufzunehmen oder abzugeben. Beim Rechner B wird generator 25 und der Inverter 26, die über die Leieine derartige Einheit nicht vorausgesetzt. Er sei in tungen 27 bzw. 28 mit den Programmgebern verder Lage, Daten aus der Übertragungsleitung 5 in bunden sind. Der Mischer 20 überträgt die zwei Serienform zu übernehmen und sie in seinem Innern Gruppen von nicht gleichzeitigen Eingangssignalen für späteren Gebrauch aufzubewahren. Andererseits 55 aus den Programmgebern auf eine Gruppe von Einbraucht der Rechner B einen Pufferspeicher 6, in dem stelleitungen zum Zähler 10. Daneben erzeugen die serienweise über die Leitung 5 einlaufende Daten Programmgeber 22 und 24 einen Zählimpuls (Leiaufbewahrt werden. Um Daten aus dem Puffer 6 tung 12) jedesmal, wenn ein Aufwärts- oder ein Abzum Speicher des Rechners B zu bringen, muß der wärtseinstellbefehl übertragen wird. Dies ist eine monostabile Multivibrator 8 über Leitung 7 einge- 60 Maßnahme zur Vereinfachung der Schaltung des schaltet werden; die Leitung 9 wird über die Um- Zählers und nicht unbedingt erforderlich,
schaltdauer des Multivibrators positiv gemacht. Wäh- Der Mischer 20 überträgt Einstellbefehle zum Zährend dieser Zeit bleibt der Puffer 6 unverändert, um ler 10. Eine Anforderung an den Programmgeber 22 dem Rechner B die Entnahme des Pufferinhalts für zum Aufwärtszählen möge gleichzeitig mit einer Aninternen Gebrauch zu gestatten. Sobald die Leitung 9 65 förderung an den Programmgeber 24 zum Aufwärtswieder niedriges Potential annimmt, kann der zählen eintreffen. Dann wird zu einem Zeitpunkt auf Puffer 6 weitere Informationen aus der Leitung 5 der Leitung 21 ein Befehl erscheinen, der die Aufaufnehmen, wärtsleitung 11 und die Zählleitung 12 auf hohes
COPY ORIGINAL INSPECTED
15 16
Potential bringt. Zu einem anderen Zeitpunkt, früher nur die Leitungen für die beiden ersten Bitstellen oder später, wird ein Befehl auf Leitung 23 die Auf- gezeichnet. Die abgehenden Leitungen, für deren wärtsleitung 11 und die Zählleitung 12 ebenfalls auf Zähl dasselbe gilt, sind die Leitungen 216 bis 220.
hohes Potential bringen. Trotz gleichzeitigen Ein- Die von den beiden Programmgebern B und A angangs der Anforderungen resultieren zwei Aufwärts- 5 kommenden Befehlsleitungen für Aufwärts- und Abbefehle. Der Mischer 10 empfängt von den Pro- wärtszählungen (200 und 208 bzw. 201 und 209) wergrammgebern 22 und 24 manche Befehle, die nicht den einfach über ODER-Schaltungen 223 bzw. 224 auf einer der Ausgangsleitüngen 11 bis 19 erschei- mit den abgehenden Leitungen 216 und 218 verbunnen. Nämlich die Befehle, alle Bits des Zählers 10 den. Die Zählleitung 217, mit welcher jeder Zählentweder in den »1«- öder »Ö«-Zustand zu bringen. io Vorgang unabhängig von seiner Richtung registriert Dafür sind keine besonderen Leitungen zum Zähler wird, ist über die ODER-Schaltung 231 und die 10 nötig; der Mischer 20 enthält die nötigen Schal- Verzögerung 232 derart angeschlossen, daß der tungen, um alle Einstelleitungen gleichzeitig zu er- monostabile Multivibrator 233 jeweils erst mit einer regen. Verzögerung für Zählbefehle auf den Leitungen 216
Die Fig. 3 zeigt den Programmgeber 22 für den 15 und 218 wirksam werden kann. Bei Betrachtung der
Rechner B. Er enthält einen Kanal für jede Pro- übrigen Schaltelemente für die Einstellung oder
grammanforderung vom Rechner B. Alle diese Ka- Rückstellung bestimmter Zählerstellungen ist zu be-
näle sind identisch, es soll deshalb nur der eine Ka- achten, daß der Zähler 10 so gestaltet ist, daß eine
nal beschrieben werden, der die Leitung 133 für die bestimmte Bitstelle erst auf 0 gebracht werden muß,
Aufwärtszählforderüng und die Leitung 134 für den 20 bevor sie auf 1 gestellt werden kann. Aus diesem
Aufwärtszählbefehl enthält. Grunde sind in die abgehenden Leitungen für die
Der Kanal besteht hauptsächlich aus den beiden »!.«-Stellung einzelner Zählerstellen hinter den bistabilen Schaltungen 135 und 136, von denen jede ODER-Schaltungen 225 bis 230, die der Vereinigung eine Einstelleitung 137 und 138, eine Rückstell- der Einstelleitungen (0 und 1) für einzelne Zählerleitung 139 und 140 und je einen »1 «-Ausgang 141 25 stellen oder für alle Zählerstellen dienen, Verzöge- und 142 enthält. Hohes Potential auf den Leitungen rungsleitungen 234 und 237 eingeschaltet. Dadurch 137 und 138 verursacht hohes Potential auf den Lei- soll sichergestellt werden, daß bei einem gleichzeititungen 141 und 142; hohes Potential auf den Lei- gen Einlaufen eines »0«- und eines »!«-Stellbefehls tungen 139 und 140 verursacht niedriges auf den der letztere mit einer gewissen Verspätung eintrifft. Leitungen 141 und 142. Die Ausgänge 141 und 142 30 Die Gleichzeitigkeit einlaufender Stellbefehle, von der beiden bistabilen Schaltungen 135 und 136 füh- denen eben die Rede war, bezieht sich nur auf Beren je zu einem Eingang der UND-Schaltung 143 und fehle von demselben Programmgeber, denn die bei-144, an deren zweiten Eingängen die Leitungen 27 den Programmgeber können, wie früher schon fest- und 28 (F i g. 2) angeschlossen sind. Wenn der Rech- gestellt, nicht gleichzeitig Befehle abgeben,
ner B eine Aufwärtsschaltung anfordert, so gelangt 35 Der Zähler 10 der Fig. 2 ist in Fig. 6 ausführvon der Leitung 133 über den Kondensator 147 ein licher dargestellt. Er ist, wie gesagt, ein Binärzähler Impuls zu dem Einstelleingang der bistabilen Schal- mit den Eingangsleitungen 216 bis 222, den Austung 135. Die Leitung 141 nimmt hohes Potential an. gangsleitungen des Mischers. Seine Ausgangsleitun-Sobald die Leitung 28 nun hohes Potential bekommt, gen 323 bis 325 stellen die Werte Bit 1 = 1, Bit 2 = 1 wird die UND-Schaltung 143 durchlässig, die bi- 40 usw. bis Bit N = I dar. Jede Zählerstufe enthält eine stabile Schaltung 136 wird eingestellt, und die Lei- bistabile Schaltung 326, 332, 338, jede mit einem Eintung 142 bekommt hohes Potential. Über Leitung 139 stell-, Komplementier- und Rückstelleingang und wird dadurch die bistabile Schaltung 135 rückgestellt, einem »0«- und »1 «-Ausgang. Bei Erregung der Einso daß die Leitung 141 wieder niedriges Potential an- stelleitung 219 (Schaltung 326) nimmt die Ausgangsnimmt. Eine weitere Anforderung zur Aufwärtszäh- 45 leitung 323 hohes Potential an, bei Erregen der lung vom Rechner B kann also verarbeitet werden, Rückstelleitung 220 die Ausgangsleitung 330, und bei obwohl noch kein Einstellbefehl über die Leitung Erregen der Komplementierleitung 217 vertauschen 134 abgegangen ist. Dies geschieht erst, wenn die die beiden Leitungen 323 und 330 ihren Erregungs-Leitung 27 hohes Potential annimmt, die UND- zustand. Entsprechendes gilt auch für die anderen Schaltung öffnet und die Leitung 134 hohes Potential 50 bistabilen Schaltungen.
bekommt. Die Rückstellung der bistabilen Schaltung Ausgehend vom Zustand »0« in allen Stufen des
136 geschieht über Leitung 140. Zählers 10, soll nun seine Arbeitsweise an Hand der
Die Fig. 4 zeigt den Programmgeber für den Fig. 6 beschrieben werden. Wegen der Eigenart des Rechner A und ist ein Spiegelbild der Fig. 3, worin Mischers 20 nimmt die Leitung 217 immer etwas z. B. die bistabilen Schaltungen 150 und 151 den 55 später als die Leitungen 216 oder 218 ein positives Schaltungen 135 und 136 der F i g. 3 sowie die UND- Potential an. Wenn der Zähler um einen Schritt aufSchaltungen 152 und 153 den UND-Schaltungen 143 wärts gebracht werden soll, so wird der Leitung 216 und 144 der Fig. 3 entsprechen. Durch den gezeig- ein positives Potential verliehen; der zweite Eingang ten Anschluß der Leitungen 27 und 28 (F i g. 2) an der UND-Schaltung 347 ist jedoch nicht erregt, so die UND-Schaltungen der beiden Programmgeber 60 daß diese gesperrt bleibt. Es folgt dann ein Zählwird sichergestellt, daß beide je gleichzeitig Einstell- impuls auf der Leitung 217, die bistabile Schaltung befehle abgeben können. 326 schaltet um, und die Leitung 323 ist erregt. Auf
Der Mischer 20 (Fig. 5) dient zur Weiterleitung die Schaltungen 332 und 338 bleibt dieser Impuls
der auf zwei Gruppen von Leitungen von den beiden ohne Einfluß, da die UND-Schaltungen 353 und 354
Programmgebern ankommenden Befehle auf eine 65 gesperrt bleiben; auch die UND-Schaltung 355
Gruppe von Leitungen zum Zähler 10. Die zwei Lei- (Übertragsleitung) bleibt gesperrt. Der nun hinter
tungsgruppen sind die Leitungen 200 bis 207 bzw. der ODER-Schaltung 350 anstehende Impuls kann
208 bis 215. Auch hier sind der Einfachheit halber die UND-Schaltung 353 nicht mehr beeinflussen, da
17 18
der Zählimpuls auf Leitung 217 bereits abgeklun- steht in der automatischen Unterbrechung des Hauptgen ist. Der Zähler enthält jetzt den binären Programms durch eine Bedingung, welche den Mehr-Wert 0 ... 01. Bei einem neuen Aufwärts-Zähl- kanalbetrieb anfordert.
befehl über Leitung 216 ist nun die UND-Schaltung Wenn in unserem Beispiel in den Mehrkanalbetrieb 347 durchlässig, die ODER-Schaltung 350 speist den 5 eingetreten wird, so verarbeitet der Rechner B die einen Eingang der UND-Schaltung 353, so daß beim von der Bandeinheit zu ihm eingegebene Information folgenden Zählbefehl auf Leitung 217 der Komple- und überträgt sie dann an den Rechner^ zur weitementeingang der Schaltung 332 betätigt und damit ren Verarbeitung vor dem Druck dieser Information, die Leitung 324 (Bit 2 = 1) erregt wird. Weiter wird Natürlich können noch weitere Eingabe-Ausgabedie Schaltung 326 komplementiert, die Leitung 330 io Einheiten, z. B. Kartenleser, Kartenlocher und Lochist erregt. Der Zählerstand ist jetzt 0 ... 10. Streifengeräte benutzt werden. Gemäß F i g. 7 a ist Ein folgender Zählbefehl in Aufwärtsrichtung auf weiter angenommen, daß ein Befehl »Start S« im Leitung 216 gefolgt von einem Zählbefehl auf Lei- Hauptprogramm des Rechners B es veranlaßt, daß tung 217 wird die bistabile Schaltung 326 wiederum Informationen von der Bandeinheit an Leitung 5 komplementieren, die Schaltung 332 wird unver- 15 (Fig. 2) eingegeben werden. Wenn das Hauptproändert bleiben. Der Zählerinhalt ist nun 0 ... 11. gramm des Rechners B den Befehl »Start 5« ver-Falls nun ein Abwärts-Zählbefehl auf Leitung 218 langt, wird der Ausgang des Zählers 10 über die Leierscheint, findet er die UND-Schaltungen 344 und tung 2O1 zum Puffer 6 des Rechners B dem Puffer 6 345 undurchlässig, da beide Schaltungen 326 und (unter Zwischenschaltung der Leitung 5 und 2) über-332 im »1 «-Zustand sind. Durch den Impuls auf Lei- 20 mittelt. Der Inhalt des Puffers 6 wird ausgelesen, sotung 217 wird die Schaltung 326 komplementiert, die bald die Leitung 7 erregt ist und den monostabilen Leitung 330 wird erregt; da aber die UND-Schaltung Multivibrator 8 zur Erregung der Leitung 9 für eine blockiert ist, erfolgt keine Wirkung auf die Schaltung gewisse Zeit veranlaßt, während welcher keine wei-332. Durch weitere Absatzimpulse kann der Zähler tere Information zum Puffer 6 zugelassen wird. Ist wieder auf »0« gebracht werden. Die Wirkungsweise 25 der Inhalt des Zählers gleich Null, was zu dieser Zeit bedarf keiner weiteren Erläuterung. zu erwarten ist, so erfolgt eine Prüfung der ersten ... . . Aufzeichnung. Diese Prüfung dient zur Einleitung des Arbeitsweise eines Ausführungsbeispiels 1 Mehrkanalbetriebs und stellt lediglich fest, ob Infor-An Hand der Flußdiagramme der F i g. 7 a und 7 b mationen auf der Leitung 5 vorhanden sind. Da es soll nun die Arbeitsweise der in F i g. 2 dargestellten 30 erwünscht war, Information in den Rechner B aus Einrichtung an einem ersten Beispiel gezeigt werden. der Bandeinheit über die Leitung 5 einzugeben, muß Es wird angenommen (s. Fig. 2), daß der Rechners das Hauptprogramm einen Befehl enthalten haben, Daten auf der Leitung 2 von einer Eingabeeinrich- der das Lesen aus der Bandeinheit auf die Leitung 5 tung, z. B. einer Bandeinheit erhält. Weiter möge der zur Folge hat, und die Prüfung der ersten Aufzeich-Rechner A Daten auf einer Leitung 4 zu einer Aus- 35 nung wird deshalb positiv ausfallen. Lag ein Progabeeinrichtung, z. B. einem Drucker abgeben. Die grammierungsfehler vor, dann sind auf der Leitung 5 Rechner B und A tauschen auf der Sammelleitung 5 keine Daten enthalten, und das Hauptprogramm wird Daten aus und sind mittels der Leitungen 2O1 sowie wieder aufgenommen. Wenn in diesem Falle das 29 und 3O1 mit dem Zähler 10 in Verbindung. Hauptprogramm geeignete Befehle für Weiterarbeit Jeder der Rechner B und A enthält ein Haupt- 40 enthält, wird der Mehrkanalbetrieb zu einem späteren Überwachungsprogramm mit Befehlen; dieses Pro- Zeitpunkt aufgenommen, oder es kann eine Fehlergramm ist gewöhnlich in eine Reihe von Unterpro- prüfung vorgenommen werden, um die Ursache für grammen unterteilt. Ein Unterprogramm kann z. B. das Fehlen von Daten auf der Leitung 5 festzustellen. Eingabe-Ausgabe-Operationen betreffen, ein ande- Führt jedoch die Leitung 5 Daten, so beginnt ein res muß sich auf die Verarbeitung dieser Daten be- 45 Lese-Programm. Das Lese-Programm ist ein Unterziehen. Da die Mehrkanalarbeit der Rechner selbst programm des Mehrkanalbetriebs und dient dazu, ein Unterprogramm ist, wird diese Mehrkanalarbeit Informationen auf Leitung 5 aus der Bandeinheit in durch ein getrenntes Unterprogramm gesteuert, das den Speicher des Rechners B einzugeben. Dieses Unneben dem Hauptprogramm der Rechner A und B terprogramm bewirkt die Eingabe der Daten aus der herläuft. So kann jeder Rechner A und B ein Haupt- 50 Leitung 5 in Serienform in den Rechner B zu einer programm durchführen, das ein Problem enthält, solchen Zeit, in der der Rechner für diese Informawelches Mehrkanalverarbeitung nach Art der vor- tionen aufnahmebereit ist. Es hängt von dem Entwurf liegenden Erfindung erfordert. Dieser Zustand werde des Rechners B ab, ob das Lese-Programm überlapdann als Mehrkanalbetrieb bezeichnet. pend mit dem Hauptprogramm ablaufen kann. Die-Die Fi g. 7 a und 7 b zeigen Flußdiagramme für die 55 ser Punkt ist jedoch nicht wesentlich, wichtig ist nur, Rechners und A. Die mit Hauptprogramm bezeich- daß die Daten aus der Bandeinheit in den Speicher neten Blöcke bedeuten die Programme, die normaler- des Rechners B gelangen. Befehle des Lese-Proweise von den Rechnern^ und B ausgeführt werden. gramms verursachen die richtige Steuerung des Puf-Wenn einer der Rechner an einem gewissen Punkt fers 6 über die Leitung 7. Die einlaufenden Daten aus seiner Operationen die Hilfe des anderen Rechners 60 der Bandeinheit haben nicht notwendigerweise diebraucht, so veranlaßt ein Befehl im Hauptprogramm selbe Verschlüsselung, die der Rechner B benutzt, des ersten Rechners, daß dieser Rechner in den Deshalb wird ein Verarbeitungsprogramm nach Ein-Mehrkanalbetrieb übergeht. Anschließend wird auch gang einer vorbestimmten Datenmenge im Rechners der andere Rechner diese Betriebsart annehmen. veranlaßt. Das Verarbeitungsprogramm ist ein Unter-Natürlich muß durch geeignete Programmierung bei- 65 programm, das in unserem Beispiel die einlaufenden der Rechner dafür gesorgt werden, daß das richtige Daten vom Bandschlüssel in den Maschinenschlüssel Unterprogramm verfügbar ist, sobald das Haupt- überführt, gewisse arithmetische Operationen mit dieprogramm es anfordert. Eine andere Möglichkeit be- sen Daten vornimmt und sie dann in drei Speicher-
bereichen unterbringt. Jedesmal, wenn das Verarbeitungsprogramm anläuft, wird ein Speicherbereich belegt. Art und Länge des Verarbeitungsprogramms hängen von den Eigenarten der zu verarbeitenden Daten ab. Dieses Programm ist die Hauptaufgabe des Rechners B und ist ein Teil der Lösung des Problems, an dem beide Rechner B und A zusammenarbeiten. Sobald das Verarbeitungsprogramm einen Bereich mit Ergebniswerten belegt hat, läuft eine Programmanforderung vom Rechner B über Leitung 29 zu dem Programmgeber 22. Zu einer durch den Impulsgenerator 25 bestimmten Zeit wird auf Leitung 21, unter der Steuerwirkung der Leitung 27, ein Einstellbefehl (aufwärts zählen und zählen) auf Leitung 21 erscheinen. Der Mischer 20 erregt daraufhin die Leitung 11 und 12. Da der Zähler zu diesem Zeitpunkt nicht lauter Einsen enthält, wird die UND-Schaltung 36 beide Einstellbefehle zum Zähler 10 durchlassen, wodurch der Zählerwert um Eins erhöht wird. Danach beginnt ein Übertragungsprogramm.
Der Zweck des Übertragungsprogramms eines Unterprogramms ist es, Daten aus den Ergebnisbereichen des Speichers von Rechner B, die belegt wurden, zu der Leitung 5 zu übertragen. Das Übertragungsprogramm ist mit dem vorerwähnten Lese-Programm insofern verwandt, als es ebenfalls eine Eingabe-Ausgabe-Operation ist, die unter Umständen auch in Überlappung mit den Hauptprogrammschritten erfolgen kann. Das Übertragungsprogramm kann nur ablaufen, wenn die Leitung 5 frei ist. Das wird z. B. nicht zutreffen, wenn Daten aus einer Bandeinheit oder einem der beiden Rechner Λ, B oder aus einer anderen Quelle über die Leitung 5 laufen. Das Übertragungsprogramm kann automatisch beginnen, wenn die Leitung 5 leer ist, oder seine Ausführung kann verschoben werden, bis die Schleife für den Mehrkanalbetrieb ein zweites Mal durchlaufen wird. In jedem Falle werden durch dieses Programm die Speicherbereiche des Rechners B entleert. Wenn also ein Speicherbereich beim ersten Durchlauf des Mehrkanalbetriebs gefüllt war, wird das Übertragungsprogramm dieses Feld auf die Leitung 5 weitergeben.
Die soeben beschriebenen Vorgänge sind ein Umlauf des Mehrkanalbetriebs-Unterprogramms des Rechners B, wie er in F i g. 7 a angedeutet ist. Ein weiterer Schleifendurchgang findet statt, wenn die Daten aus den drei Speicherbereichen des Rechners B durch das Übertragungsprogramm zur Leitung 5 gelangt sind. Es wird wieder der Zustand des Zählers 10 geprüft und dabei der Inhalt des Zählers über die Leitungen 2O1, 5 und 2 zum Puffer 6 gebracht. Ist der Zählerinhalt 0, so findet eine Prüfung der ersten Aufzeichnung statt, und das Hauptprogramm wird fortgesetzt, wenn auf Leitung 5 keine Daten anliegen. Das Hauptprogramm wird auch dann wieder aufgenommen, wenn der Zählerinhalt 3 war. In unserem Falle dagegen ist der Zählerinhalt 1, und das Lesc- und das Verarbeitungsprogramm werden in der vorstehend beschriebenen Weise noch einmal durchlaufen. Am Ende des Verarbeitungsprogramms wird der Zähler aufwärts geschaltet und das Übertragungsprogramm eingeleitet. Diese Vorgänge laufen ab, bis alle zu verarbeitenden Daten vollständig vorhanden sind.
Jetzt soll der Mehrkanalbetrieb des Rechners A erklärt werden. Das Flußdiagramm dazu ist in Fi g. 7 b enthalten. Der Ablauf dieses Unterprogramms für den Rechner A ist praktisch identisch mit dem des Rechners B mit der Ausnahme, daß die Daten auf Leitung 5 diesmal vom Rechner B und nicht von der Bandeinheit kommen und daß die abzugebenden Daten über Leitung 5 zu einem Drucker anstatt zu einem Rechner laufen. Es muß nicht notwendigerweise ein Drucker sein, soll aber zur Erklärung im vorliegenden Beispiel dienen.
Das Hauptprogramm des Rechners A enthält Befehle, welche das Mehrkanal-Unterprogramm etwa
ίο zur selben Zeit einleiten, wie das gleiche Unterprogramm im Rechner B beginnt. Diese Synchronisierung kann auf verschiedene Weise erhalten werden. Ein bequemer Weg wäre der, im Hauptprogramm des Rechners A einen Befehl vorzusehen, der prüft, ob der Zähler 10 einen von Null abweichenden Wert enthält. Wenn also das Hauptprogramm des Rechners B ein Mehrkanalbetrieb-Unterprogramm begonnen hat, bringt es den Zähler 10 um einen Schritt aufwärts, und das Hauptprogramm des Rechners A beginnt ebenfalls einen Mehrkanalbetrieb. Es ist aber auch die umgekehrte Arbeitsweise möglich: das Hauptprogramm des Rechners B enthält Befehle, welche den Inhalt des Zählers 10 prüfen, um festzustellen, ob der Rechner Λ nach dem Mehrkanalbetrieb verlangt hat. Das kann verstanden werden, wenn man sich erinnert, daß das Flußdiagramm der Fig. 7a und 7 b nur eine besondere Art des Mehrkanalbetriebs zeigen, die von den Rechnern verlangt wird, daß aber jede Kombination von Zählerstellbefehlen von irgendeinem Rechner möglich ist. Es sind Einrichtungen denkbar, die eine automatische Unterbrechung des Hauptprogramms bei einem von Null abweichenden Zählerstand verursachen.
Wenn der Rechner A in den Mehrkanalbetrieb eintritt, wird eine Prüfung des Zählerstandes durchgeführt. Ist der Zähler auf Null, so wird das Hauptprogramm wieder aufgenommen und fortgeführt, bis weitere Befehle im Hauptprogramm entweder den Mehrkanalbetrieb wieder veranlassen, das Hauptprogramm fortsetzen lassen oder andere programmierte Operationen ausführen. Mit der Annahme, daß das Hauptprogramm des Rechners A den Mehrkanalbetrieb in Gang setzte, nachdem eine Prüfung des Zählers 10 einen Wert größer als Null ergab, wird auf Grund der Prüfung zunächst ein Lese-Programm einsetzen.
Das Lese-Programm trägt Daten vom Rechner B über Leitung 5 in drei Speicherbereiche des Rechners A ein, die den drei Ergebnis-Speicherbereichen des Rechners!? entsprechen. An dieser Stelle ist keine Umschlüsselung erforderlich. Stellt sich zu Anfang des Lese-Programms heraus, daß die Leitung 5 nicht frei ist für die Übertragung, so läßt sich unter Umständen das Hauptprogramm fortsetzen und das Lese-Programm solange unterbrechen. Da es üblich ist, Eingabe-Ausgabe-Operationen zu kombinieren, kann es auch sein, daß das später zu beschreibende Übertragungsprogramm des Rechners A mit Schritten des Lese-Programms überlappt werden kann. Anschließend an das Lese-Programm des Rechners A wird das Verarbeitungsprogramm begonnen.
Das Verarbeitungsprogramm des Rechners A kann vielfältig sein. Es kann in der Umformung der vom Rechner B erhaltenen Daten in eine für den Drucker brauchbare Form bestehen, soweit z. B. in der Funktion und Abstände für eine lesbare Ausgabe eingefügt werden. Das Verarbeitungsprogramm bringt seine Ergebnisse nach der Bearbeitung eines der drei
COPY
21 22
vom Lese-Programm gelesenen Felder wieder in den arbeiten kann. Um es zu wiederholen, der Zähler 10
Speicher des Rechners A zurück; der Zähler 10 wird wird nur abwärts geschaltet für Bereiche, die vom
um einen Schritt abwärts geschaltet. Rechner B zum Rechner^ übertragen und dort auf-
Diese Abwärtsschaltung kann durch einen Befehl gearbeitet wurden.
am Ende des Verarbeitungsprogramms verursacht 5 Das Lese-Programm des Rechners B gibt Daten in
werden, der eine Programmanforderung über Leitung den Speicher des Rechners B jedesmal ein, wenn der
3O1 zum Programmgenerator 24 schickt und dort die Rechner A daraus Daten entnommen hat, und der
Ausgabe eines Einstellbefehls über Leitung 23, den Zählwert wird dabei auf kleiner als Drei und größer
Mischer20 und die Zählleilung 12 und die Abwärts- als Null gebracht. Wenn der Rechners aus irgend-
leitung 13 hervorruft. Die Ausführung des einen io welchen Gründen viel rascher fortschreitet als der
Stellbefehls wird möglich, da noch nicht alle Zähler- Rechner A, so füllt er seine drei Speicherbereiche
stellen auf Null sind. Da das Verarbeitungsprogramm mittels der Lese- und Verarbeitungsprogramme und
jeweils nur einen Speicherbereich bearbeitet, wird der bringt den Zähler auf 3, bevor der Rechner A Zeit
Zähler für jedes verarbeitete Feld um einen Schritt hatte, diese Informationen zu verarbeiten. Die Über-
abwärts gebracht. Anschließend an das Verarbei- 15 tragungszeit zwischen den beiden Rechnern ist ohne
tungsprogramm wird ein Übertragungsprogramm ein- Bedeutung, da der Zähler 10 erst nach der Verarbei-
geleitet. rung der Daten durch den Rechner A abwärts ge-
Dieses Übertragungsprogramm dient der Übcrlra- schaltet wird. Wenn einige Zeit später der Rechner A gung der während des Verarbeitungsprogramms be- einen der drei Bereiche verarbeitet, geht der Zähler handelten Daten vom Rechner A über die Leitung 5 20 10 um einen Schritt abwärts und erlaubt dem Rechzu einem Drucker. Die Übertragung erfolgt nur, wenn ner B, den Bereich wieder aufzufüllen. Der Rechner B die Leitung 5 frei ist. Entnommen werden aus dem kann zu dieser Zeit mit dem Hauptprogramm beSpeicher diejenigen Stellen, die bei dem letzten Um- schäftigt sein, und unabhängig von der Programmlauf des Mehrkanalbetriebs von Rechner A belegt gestaltung wird er den Mehrkanalbetrieb zu einem worden waren. Die Entnahme kann, wie schon ge- 25 späteren Zeitpunkt beginnen.
sagt, in überlappendem Betrieb mit dem Hauptpro- Wenn andererseits der Rechner A viel schneller gramm oder dem Lese-Programm, möglicherweise vorankommt als der Rechner B, so wird der Zähler auch mit anderen Programmen stattfinden. Am Ende häufig auf 0 gebracht werden. Zum Beispiel kann der des Ubertragungsprogramms wird, wie aus F i g. 7 b Rechner B nur Zeit haben, einen Bereich in seinem hervorgeht, das Mehrkanalbetrieb-Unterprogramm 30 Speicher zu belegen, und der Rechner A verarbeitet aufgenommen. Steht der Zähler 10 auf Null, so wird diese Daten, bevor der Rechner B einen zweiten Bedas Hauptprogramm fortgesetzt, bis ein weiterer Be- reich füllen konnte, so ist der Zähler auf 0. In diesem fehl den Mehrkanalbetrieb für den Rechner A wieder Falle wird das Hauptprogramm des Rechners B wievorzieht. Bei Zählerwerten größer als Null wird das der aufgenommen bis zu dem Zeitpunkt, wo das Pro-Mehrkanalbetrieb-Unterprogramm vom Rechner A 35 gramm ein neues Mehrkanalbetrieb-Unterprogramm selbsttätig wiederholt. für den Rechner B vorsieht. Die Prüfung der ersten
Die Wechselwirkung zwischen dem Mehrkanal- Aufzeichnung (F i g. 7 a) wird nur zur Einleitung des betrieb der Rechner B und A soll nun unter Benut- Mehrkanalbetrieb-Unterprogramms von Rechner B zung der F i g. 7 a und 7 b sowie von F i g. 2 beschrie- benutzt. Wenn der Zähler auf 0 geht, so nimmt auch ben werden. Aus der bisherigen Beschreibung ging 40 der Rechner A sein Hauptprogramm auf, da keine hervor, daß für jeden durch ein Verarbeitungspro- Daten zur Verarbeitung weder im Speicher vom granim behandelten Speicherbereich des Rechners B Rechner B noch vom Rechner A verfügbar sind. Es der Zähler 10 um Eins erhöht wird. Weiter wird für liegt auch hier in der Hand der Programmgestaltung, jeden zum Rechner ^4 übertragenen Bereich, der dort den Zeitpunkt für die Aufnahme des Mehrkanalvom Verarbeitungsprogramm erfaßt wurde, der Zäh- 45 betriebs von Rechner/4 festzulegen, ler 10 um Eins erniedrigt. Das Lese-Programm wird Zusammenfassung: Der Zähler 10 stimmt die vom Rechner B nur dann aufgenommen, wenn der gleichzeitige Arbeit der Rechner B und A unabhän-Inhalt des Zählers nicht 0 oder 3 ist. Der Rechner Λ gig von deren relativer Arbeitsgeschwindigkeit und nimmt das Lese-Programm in Angriff, nur wenn der Programmkompliziertheit aufeinander ab. Er verhin-Zähler mehr als 0 anzeigt. Diese Bedingungen hin- 50 dert jeden Rechner daran, den anderen zu überholen, dern jeden Rechner am Überholen des anderen. und erlaubt bequeme Verschachtelungen der Haupt-Wenn also die drei Speicherbereiche des Rechners B programme mit der Verarbeitung und der Übertragefüllt sind, wäre es unerwünscht, daß der Rechneri? gung von Daten von einem Band zu einem Programm, in das Lese-Programm eintritt, das ja noch mehr . . . . .... . .
Daten vom Band in den Rechner eintragen würde. 55 Arbeitsweise eines Ausfuhrungsbeispiels 2
Jeder vom Verarbeitungsprogramm des Rechners B In diesem Beispiel soll ein zweiseitiger Informagefüllte Speicherbereich vermeint den Zähler um tionsfluß zwischen den Rechnern.«4 und B beschrie-Eins. Wenn alle drei Bereiche durch das Verarbei- ben werden. Es wird auf die Fig. Sa, 8b, 9a und 9b tungsprogramm gefüllt sind, zeigt der Zähler 3. Für Bezug genommen. Hier soll zur Lösung eines Projeden dieser drei Bereiche, die durch das Lese-Pro- 60 blems die Zusammenarbeit der beiden Rechner an gramm des Rechners A und das Übertragungspro- vorbestimmten Punkten erforderlich sein. Der Rechgramm des Rechners B zum Rechner A übertragen ner A kann die Hilfe des Rechners B zur Lösung wurden, wird der Zähler um Eins erniedrigt, nach- eines Teils aus einer Zahl unabhängiger Probleme dem der Bereich vom Rechner A verarbeitet ist. Die anfordern und gleichzeitig die restlichen Probleme bloße Übertragung vom Rechner B zum Rechner A 65 selbst lösen. Die umgekehrte Situation, Hilfe des beeinflußt den Zähler noch nicht. Der Grund dafür Rechners A für den Rechner B, ist auch möglich. Unist klar, wenn man bedenkt, daß es nutzlos ist, Daten abhängigkeit der Probleme bedeutet, daß Ergebnisse, zum Rechner A zu übertragen, wenn er sie nicht ver- die durch eine Anzahl gleichzeitiger Lösungen erhal-
C1OPY
ORIGINAL INSPECTED
23 24
ten werden, nicht von den gleichzeitig erhaltenen an- genau derselben Datenarten enthalten, wie sie der deren Ergebnissen abhängen. Mit anderen Worten, Rechner B verarbeitet, und er kann ebenfalls den zur Zeit der Hilfeleistung sind die erforderlichen Da- Rechner B zur Lösung gleichzeitig lösbarer Problemten bekannt, und Resultate aus den gleichlaufenden teile heranziehen. In dem vorliegenden Beispiel ent-Lösungsarbeiten sind dafür nicht erforderlich. 5 hält jedoch der Rechner Programme leicht abwei-
Zur Erläuterung sei angenommen, daß das ge- chender Art. Wie aus Fig. 8b hervorgeht, erledigt meinsam von den Rechnern^ und B zu lösende Pro- der Rechner A normalerweise Fehlersuch- und Beblem Daten betrifft, die von einer äußeren Quelle, richtigungsprogramme, welche ihn in arbeitsfähigem z. B. einem Radarempfänger geliefert werden. Diese Zustand erhalten und seinen Speicherinhalt so än-Informationen gelangen zum Rechner B über die Lei- io dem, daß er laufend geänderten Bedingungen entrungen 5 und 2 in den Puffer 6 (Fig. 2). Sie werden spricht. Der Rechner^ kann auch ein Programm zur durch ein Lese-Programm der vorher beschriebenen Bestandsüberwachung ausführen, das nicht unmittel-Art übernommen. Die Verarbeitung dieser Informa- bar mit der Lösung des Radarproblems zusammention erfolgt durch eine Reihe von Operationen, die in hängt.
Fig. 8a mit Radarprogramm bezeichnet ist und die 15 Wenn es z.B. nötig ist, Zeitkarten, Arbeitskarten diese Informationen in eine verwertbare Form brin- oder Zahlungsanweisungen für den Radarbetrieb zu gen. Wenn z. B. die Radarinformation den RechnerB bearbeiten, so kann der Rechner^ dafür herangezoin der Form von Winkel- und Abstandsmessung gen werden. Die Verarbeitung dieser Daten kann ge-(Polarkoordinaten) erreicht, können sie dort in wisse iterative Prozesse erfordern, die zwar vonein-AT-F-Werte (rechtwinkliges Koordinatensystem) ver- 20 ander unabhängig sind, aber von den gleichen Daten wandelt werden, die von einem Standardrechner im des Bestandsüberwachungsprogramms abhängen. Die allgemeinen einfacher verarbeitbar sind. Diese Daten erfindungsgemäße Einrichtung erlaubt es dem Rechkönnen weiterhin durch ein Programm zur Lösung nerA, zur Lösung solcher Iterationen den Rechners quadratischer Gleichungen (in Fig. 8a mit quadra- zur Parallelarbeit mit seinem eigenen Programmforttische Gleichungen bezeichnet) behandelt werden. 25 schritt heranzuziehen. Dazu wird die Arbeit des Rech-Dieses Programm kann z. B. die zukünftige Position ners B an bestimmten vom Zähler festgelegten Punkeines durch die Radarinformation dargestellten ten unterbrochen, und der Rechner^ überträgt einige Gegenstandes bestimmen. Ein weiteres Programm der Programme Al, A2 oder A3 zum Rechner B kann die Lösung von Quadratwurzeln oder sonstige mittels des Programms »Hilfe für A«. Wenn die Hilfenotwendige Berechnungen vornehmen. 30 leistung beendet ist, kann das unterbrochene Pro-
Bis zu diesem Punkt sind im Programm des Rech- gramm am Unterbrechungspunkt fortgesetzt werden, ners B die Ergebnisse einer Rechnung jeweils abhän- oder es kann von neuem beginnen, oder alle Progig von der vorhergehenden. Deshalb wäre es nicht gramme des Rechners können von vorn beginnen. In zweckmäßig, eines der Programme dem Rechner A den letzten beiden Fällen, ohne einen Zähler, wäre es zur gleichzeitigen Bearbeitung zu übertragen, weil 35 nicht möglich, die Anzahl der durch eine Unterbredann der Rechner B die Rechenergebnisse des Rech- chung erforderlichen Wiederholungen zu bestimmen, ners A abwarten müßte, bevor er weiterarbeiten kann. Der Rechner zieht das Erfordernis der Unterbrechung Wohlverstanden, es besteht kein Grund, abhängige und die Konsequenzen daraus in Betracht.
Teile eines Problems nicht zum Rechner/4 zu über- Der Rechners verarbeitet die Radarinformationen tragen, da das Verfahren nach der Erfindung gün- 40 direkt vom Radarempfänger, während der Rechner A stigste Lösungszeiten zur Folge hat und die Wartezeit Fehlersuch- und Berichtigungsprogramme gleichzeitig des Rechners B verringert. Es ist jedoch bei diesem bearbeitet. Wenn ungewöhnliche, längere Lösungs-Beispiel angenommen, daß nur unabhängig program- arbeiten vorliegen, z. B. Iterationen, kann jeder Rechmierte Probleme für gleichzeitige Lösung zum Rech- ner den anderen zur Übernahme eines Teils der Ar- nerA übertragen werden sollen. 45 beit veranlassen. Die normalen Programme der bei-
Aus F i g. 9 a (sie zeigt Einzelheiten des mit den Rechner haben unterschiedliche Gewichte. Das »Fig. 9a« bezeichneten Blockes der Fig. 8a) geht Radarprogramm des RechnersB sollte selten unterhervor, daß die Ergebnisse, die während der Durch- brachen werden für Lösungen und Probleme des führung des Quadratwurzelprogramms erhalten wur- Rechners A, da Radarinformationen dadurch verden, mit einer Anzahl unabhängiger Unterprogramme So lorengehen könnten. Andererseits können Fehlersuch- Bl, B 2 und B 3 verarbeitet werden. Diese Programme und Berichtigungsprogramme des Rechners A zukönnen Iterationen enthalten, deren Ausgangswerte gunsten des Rechners B eher unterbrochen werden, nur von den Ergebnissen des Quadratwurzelpro- da eine solche Unterbrechung keinen Verlust von gramms abhängen und deren Ergebnisse ebenfalls Daten zur Folge hätte. Den unterschiedlichen Genur von diesem Quadratwurzelprogramm abhängig 55 wichten dieser Programme wird Rechnung getragen sind. Die Ergebnisse der ProgrammeBl, B2 und B3 durch Befehle (s. Fig. 2), die den Zähler beeinflussind also unabhängig. Es ergibt sich also eine Zeit- sen. Diese Einstellbefehle schalten den Zähler eine ersparnis, wenn die Programme Bl, B2 und B3 Reihe von Malen auf- oder abwärts für jede vom gleichzeitig statt nacheinander erledigt werden. Die Programm verarbeitete Aufzeichnung. So wird der vorliegende Erfindung gestattet es dem Rechner B, 60 Zähler 10 für jede verarbeitete Aufzeichnung des den Rechner^ zur Hilfeleistung bei der Bearbeitung Radarprogramms um drei Schritte abwärts geschaldieser drei Programme zuzuziehen mittels des in tet, während er für jede verarbeitete Aufzeichnung Fig. 8b gezeigten Programms »Hilfe für B«. Der des Fehlersuchprogramms nur zwei Schritte aufwärts Punkt, wo diese Hilfe einsetzt, wird vom Zähler 10 geschaltet wird. Wenn der Zähler ursprünglich bei 0 der F i g. 2 bestimmt. Er hängt von mehreren nach- 65 stand, so wird ein Schleifendurchgang des Radarprofolgend erläuterten Faktoren ab. gramms seinen Stand um 3 erniedrigen. Wenn der
Das für den Rechner B Gesagte gilt ebenso für den Rechner^ gleichzeitig das Fehlersuchprogramm ab-
Rechnery4. Dieser kann Programme zur Bearbeitung wickelt, so wird der Zähler um zwei Schritte aufwärts
25 26
geschaltet. Das effektive Ergebnis ist also — 1, d. h., minderung des Zählerstandes um 3 ist die Wiederaufder Rechners schaltete den Zähler um einen Schritt nähme des Radarprogramms. Fig. 8 ist dargestellt abwärts. Dies trägt den Gewichten der beiden Pro- durch die Linie, die den Block »Zähler abwärts 3 X« gramme Rechnung. Bei Beendigung eines Programms mit dem Block »Start verbindet. Der Rechner B für quadratische Gleichungen wird der Zähler um 5 kann fortfahren, die Radardaten zu verarbeiten, bis zwei Schritte abwärts geschaltet und für das Quadrat- es nötig ist, ein anderes Programm aufzunehmen. Der Wurzelprogramm drei Schritte. Die Erledigung eines Befehl zum Überwechseln aus einer geschlossenen Berichtigungsprogramms bringt zwei Aufwärts- Schleife zu einem neuen Programm kann in dem Verschritte und eines Bestandsüberwachungsprogramms arbeitungsprogramm enthalten sein oder von außen drei Aufwärtsschritte. Wenn der Rechner B vom Start io kommen. Das Beispiel für ein zusätzliches Programm bis zum Quadratwurzelprogramm glatt durchläuft, ist das Programm »quadratische Gleichungen«,
wird der Zähler insgesamt achtmal nach abwärts ge- Das Programm »quadratische Gleichungen« beschaltet worden sein. Nimmt man gleichzeitig an, handelt Daten aus dem Radarprogramm und gibt die daß der Rechner Λ bei glattem Durchlauf bis zum Ergebnisse an eine bestimmte Speicherstelle des Bestandsüberwachungsprogramm gekommen ist, dann 15 Rechners B ab. Nach Ablauf des Programms ist der Zähler siebenmal aufwärts geschaltet worden. »quadratische Gleichungen« wird der Zählerstand Auch hier entsteht ein Nettobetrag von — 1. Die rela- um 2 vermindert; die gesamte Abnahme des Zählertiven Gewichte, Längen und Schwierigkeiten aller Standes ist dann dreimal die Zahl von Radarpro-Programme der beiden Rechner sind so berücksich- gramm-Wiederholungen + 2. Das Programm tigt. Die Rechner können außerdem Befehle ent- 20 »quadratische Gleichungen« kann vom Rechner^ in halten, welche die Gewichte ändern, auch wenn die derselben Weise unterbrochen werden wie das Radar-Probleme dieselben bleiben. Die einzelnen in den programm. In dem Programm »quadratische Glei-F i g. 8 a bis 9 b angegebenen Zählbeträge sind nur chungen« kann ein Befehl für die weitere Behandlung für dieses Beispiel gewählt. Der Zähler kann auch der aus diesem Programm gewonnenen Daten entdurch Befehle voreingestellt werden. Aus der bis- 25 halten sein.
herigen Beschreibung wird ersichtlich, daß die Wahr- Ein Beispiel eines solchen weiteren Programms ist
scheinlichkeit einer Programmunterbrechung für das Programm »Quadratwurzel«. Mit diesem Proeinen Rechner durch den anderen und dem relativen gramm werden aus den Resultaten des Programms Fortschritt abhängt, den er bei der Ausführung seines »quadratische Gleichungen« die Wurzel gezogen und Programms gemacht hat. 30 in bestimmten Speicherplätzen des Rechners B abge-
Der Zählerstand wird von den beiden Rechnern legt. Der Zähler wird für jede Wiederholung des geprüft, wie im Beispiel 1 ausgeführt wurde. Im vor- Quadratwurzelprogramms um drei Schritte erniedrigt, liegenden Beispiel sind 0 und 6 kritische Werte. Beim Der Zählerstand wird also insgesamt um dreimal die Zählerstand 0 wird der Rechner A zur Lösung bezug- Zahl der Wiederholungen des Radarprogramms + 5 lieh der ProgrammeBl, Bl und B3 beigezogen. 35 erniedrigt. Auch das Quadratwurzelprogramm kann Beim Zählerstand 6 muß der Rechner B bei der Be- vom Rechner A in gleicher Weise wie die beiden vorarbeitung der Programme A1, Al und A3 Hilfe hergehenden Programme unterbrochen werden,
leisten. Bei Zählerständen zwischen 1 und 5 bear- Nachdem also der Zähler um drei Schritte abwärts
beitet jeder Rechner sein Programm allein. geschaltet wurde, nimmt der Rechner B die Pro-
Nachstehend sollen Einzelheiten des Flußdia- 40 grammeBl, Bl und B3 auf (s. Fig. 9a mit den gramms der Fig. 8a besprochen werden. Beim Start Einzelheiten des in Fig. 8a mit Fig. 9a bezeichder Rechners B wird das Radarprogramm behandelt. neten Blocks). Jedes der Programme Bl, Bl und B 3 Es verarbeitet Daten, die aus einer Radareinheit bearbeitet Ergebnisse des Quadratwurzelprogramms ankommen, und die Ergebnisse werden in bestimmte und bildet daraus drei Sätze von Ergebnissen, eines Speicherstellen des Rechners B abgegeben. Sobald 45 für jedes Programm. Zum Beispiel kann das Proder Zähler den Wert6 zeigt, kann das Radar- grammBl die Ergebnisse des Quadratwurzelproprogramm unterbrochen und das Programm »Hilfe gramms mehrfach addieren, das Programm B1 sie für A«. aufgenommen werden. wiederholt subtrahieren, und das Programm B3 kann
Das Programm »Hilfe für des Rechners B ver- sie additiv und subtraktiv verwerten. Normalerweise arbeitet Daten, die vom Rechner^ zum RechnerB 50 müßte der RechnerB die ProgrammeBl bis B3 zwecks gleichzeitiger Lösung voneinander unabhän- nacheinander bearbeiten, da ein Rechner immer nur giger Probleme übertragen werden. Die Unter- ein Programm ausführen kann. Wenn die Einrichtunbrechung des Radarprogramms durch den Rechner A gen dafür vorhanden sind, können die Programme erfolgt selbsttätig jederzeit, nachdem der Zähler auf Bl bis B3 wegen ihrer Unabhängigkeit jedoch den Wert 6 gelangt ist. Da es unerwünscht ist, Radar- 55 gleichzeitig verarbeitet werden. Das Programm »Hilfe daten infolge der Unterbrechung des Radarpro- für der F i g. 8 b dient dazu, dem Rechner A die gramms zu verlieren, kann der Zähler durch Befehle Übernahme von einem oder mehreren der Programme in dem Radarprogramm auf einen Vorgabewert ein- Bl bis B 3 zu gestatten, während der Rechner B gestellt werden. Dadurch läßt es sich vermeiden, daß gleichzeitig die restlichen bearbeitet. Dieses Proder Rechner A das Radarprogramm an kritischen 60 gramm tritt jedoch in Aktion, wenn der Zähler einen Stellen unterbricht. Jedesmal, wenn die Verarbeitung Betrag von 6 enthält.
einer Radaraufzeichnung vollendet ist, wird der Zäh- Der Zähler (Fig. 9a) wird um einen Schritt erler um drei Schritte abwärts geschaltet. Diese Maß- niedrigt und dann auf seinen Inhalt geprüft; wenn der nähme soll die unterschiedliche Wichtigkeit der Pro- Zählerstand größer als 0 ist, wird das Programm Bl gramme zur Wirkung kommen lassen. Die relativen 65 vom Rechner B in Angriff genommen. Die Prüfung Geschwindigkeiten bei Bearbeitung der Programme auf erste Aufzeichnung ist positiv, es wurde noch in den Rechnern^ und B können dadurch über- keines der ProgrammeBl bis B3 vorher bearbeitet, wacht werden. Der normale Schritt nach der Ver- Wenn der Zählerstand 0 ist, wird das Programm Bl
27 28
über die Leitung 5 zum Rechner .4 übertragen, wo es müßte der Rechner B den Zähler wenigstens um vier vom Programm »Hilfe für B«. durchgeführt wird. Da Schritte erniedrigt haben, bevor das letztgenannte die Übertragung des Programms B1 stattfand, als der Programm unterbrochen werden kann. Deshalb ist Zählerstand 0 war, ist aus F i g. 8 b klar ersichtlich, die Wahrscheinlichkeit einer Programmunterbrechung daß jedes beliebige Programm des Rechners A zu- 5 geringer, sowie der Rechner mit der Bearbeitung gunsten von B unterbrochen wird. Das nächste Pro- seiner Programme fortschreitet. Das ist wünschensgramm des Rechners B, das Programm B 2, wird wert bei Aufgaben, wo eine Unterbrechung den Begleichzeitig mit der Durchführung des Programms Bl ginn von vorn erforderlich machen würde. Die unabim Rechner A erledigt. Nach Durchführung des Pro- hängigen Programme Al, A 2 und A 3 werden nur gramms B 2 wird der Zähler wieder um einen Schritt io aufgenommen, wenn der Zähler um drei Schritte erabwärts geschaltet und eine neue Prüfung durchge- höht worden ist.
führt. Diese Prüfung findet jedesmal nach Durchfüh- Die F i g. 9 b zeigt in Einzelheiten das Flußdiarung eines der ProgrammeBl, B2 oder B3 durch gramm für den Inhalt des in Fig. 8b mit »Fig. 9b« den Rechner B statt, und eine neue Prüfung des Zäh- bezeichneten Blocks. Dieses Flußdiagramm ist mit lerstandes folgt. Die ProgrammeBl oder B2 können 15 dem der Fig. 9a übereinstimmend, mit dem Unterzum Rechner A zur Bearbeitung übertragen werden, schied, daß es die Durchführung von drei unabhänsobald der Zähler zu irgendeiner Zeit vor der Prüfung gigen Programmen, die mit dem Rechner A zusamdes Zählerstandes auf 0 gebracht worden war. Die menhängen, zeigt. Der Rechner Λ kann Programme Durchführung eines der übertragenen Programme be- A1 oder A 2 zum Rechner B übertragen, wo sie einflußt den Zählerstand nicht. Ein Beispiel: Wenn 20 gleichzeitig mit der Bearbeitung von nicht übertrader Zähler auf 1 gestellt ist, wird die erste zu ver- genen Programmen durch den Rechner A behandelt arbeitende Aufzeichnung vom Programm Bl des werden. Wenn z.B. der Zählerstand bei 5 ist, so wird Rechners B erledigt. Erfolgreiche Durchführung des die erste Aufzeichnung vom Rechner A mittels Programms B1 wird dann den Zähler auf 0 bringen. Durchführung des Programms A1 erledigt. Am Ende Wenn die vom Rechner/1 zu dieser Zeit verarbeiteten 25 dieses Programms wird der Zähler um 1 erhöht; er Programme den Zählerstand nicht erhöhen, bevor hat jetzt den Wert 6. Die zweite Aufzeichnung wird eine Prüfung dieses Standes ausgeführt wird, zeigt die jetzt durch das Programm A 2 vom Rechner B vernächste Zählerprüfung 0 an. Es wird dann die zweite arbeitet, während der Rechner A gleichzeitig das ProAufzeichnung, die vom Programm B 2 zu behandeln gramm A3 bearbeitet. Danach wird ohne Rücksicht ist, zum Rechner,4 übertragen und dort verarbeitet, 30 auf den Zählerstand der Rechner/! neu gestartet, während das Programm B 3 gleichzeitig vom Rech- wie aus den F i g. 8 b und 9 b hervorgeht,
ner B bearbeitet wird. Nach Durchführung des Pro- Zusammengefaßt kann festgestellt werden, daß die gramms B 3 wird der Zähler wiederum nach unten Rechner A und B verschiedene abhängige und unabgeschaltet. Da dies die vierte Aufzeichnung wäre, ist hängige Programme bearbeiten, deren Vorrangsteles unwesentlich, ob die Zählerprüfung 0 oder mehr 35 lung durch den Betrag bestimmt wird, um den der anzeigt, da in jedem Falle der Rechner B wieder ge- Zähler am Ende eines der Programme verändert startet wird, wie aus den F i g. 9 a und 8 a hervor- wird. Je größer der Zählerschritt ist, um so geringer geht. Der Start des Rechners A (F i g. 8 b) verursacht wird die Wahrscheinlichkeit, daß das folgende Prodie Durchführung eines Fehlersuchprogramms, das gramm des Rechners vom anderen Rechner unter-Fehler im Rechner A feststellen soll. Dieses Pro- 40 brachen werden kann.
gramm kann unterbrochen werden, um den Rech- Im folgenden soll die gegenseitige Abhängigkeit ner B bei der Ausführung der Programme B1 bis B 3 der Flußdiagramme der F i g. 8 a bis 9 b besprochen irgendwann nach dem Zählerstand 0 zu unter- werden. Der Zähler möge einen Wert zwischen 0 stützen. Am Ende des Fehlerprogramms wird der und 6 enthalten. Der Wert 0 wurde willkürlich ge-Zähler um 2 erhöht und das Berichtigungsprogramm 45 wählt als der Punkt, bei dem der Rechner B den aufgenommen. Dieses Programm dient dazu, Daten Rechner^ für die Ausführung gewisser Programme im Speicher des Rechners A, die durch Zeitablauf zu Hilfe rufen kann. Der Wert 6 wurde willkürlich einer Änderung unterworfen sind, zu berichtigen. gewählt als der Punkt, in dem der Rechner A den Dieses Programm kann jederzeit beim O-Stand des Rechner B zu Hilfe rufen kann. Bei allen Zwischen-Zählers unterbrochen werden, wie früher beschrieben 5° werten führen die Rechner gleichzeitig ihre eigenen wurde. Nach dem Durchlauf des jetzigen Berichti- Programme durch. Der RechnerB schaltet den Zähgungsprogramms wird der Zählerstand um 2 erhöht ler abwärts, und der Rechner A schaltet den Zähler und entweder das Fehlersuchprogramm wieder aufge- aufwärts, jeweils nach Durchführung gewisser Pronommen oder ein Bestandsüberwachungsprogramm gramme. Die Zahl der Schaltschritte hängt jeweils begonnen. 55 von der Vorrangstellung dieses Programms ab. Da Gewöhnlich werden das Fehlersuchprogramm und die Grenzen 0 und 6 des Zählerstandes eine Prodas Berichtigungsprogramm abwechselnd durchge- grammunterbrechung hervorrufen, ist die Schaltführt. Zu gewissen Zeiten kann es erforderlich schrittzahl des Zählers wichtig für die Festlegung, ob werden, den Rechner Λ für die Verarbeitung der ein Programm unterbrochen wird oder nicht. Jedes Daten für Zahlungsanweisungen u. dgl. heranzu- 60 Programm kann durch den anderen Rechner unterziehen. In diesem Fall wird das Programm Bestands- brachen werden, aber die Wahrscheinlichkeit der überwachung durchlaufen, und der Zähler wird für Unterbrechung hängt wie gesagt von dem Gewicht jede verarbeitete Aufzeichnung um drei Schritte er- dieser Programme ab. Obwohl also, wie schon gehöht. Dieses Programm kann unterbrochen werden, sagt wurde, das Radarprogramm des Rechners B wenn der Zähler auf 0 geht, wie früher erklärt wurde. 65 wichtig ist, kann es trotzdem nach Einleitung des Da der Zähler unmittelbar vor der Aufnahme des Bestandsüberwachungsprogramms durch Rechner A Programms Bestandsaufnahme um zwei und noch noch wichtiger sein, die Programme A1 bis A 3 zu vorher ebenfalls um zwei Schritte erhöht wurde, bearbeiten, als das Radarprogramm. Das Gewicht
COPY
eines Programms gegenüber anderen hängt davon ab, was der Rechner vorher bearbeitet hat. Wenn z. B. der Rechner B während einer gewissen Zeit nichts als Radarprogramme bearbeitet hat, während der Rechner^ Fehlersuch-, Berichtigungs-Bestandsüberwachungsprogramme durchführte, kann es unter Umständen nicht schädlich sein, das Radarprogramm zu unterbrechen. Obgleich Information infolge der Unterbrechung des Radarprogramms verlorengeht, ist der Umfang der verlorenen Information vernachlässigbar gegenüber dem Gesamtinformationswert. Der Zähler erlaubt selbsttätige Ausführung von logischen Entscheidungen.
Das Radarprogramm kann Befehle enthalten, welche den Zähler zu bestimmten Zählerstellungen hinführt. Wenn in einem solchen Fall der Zähler am Ende des Radarprogramms um drei Schritte abwärts gezählt wird, so wird diese Abwärtsschaltung nicht zusätzlich erfolgen, sondern es wird eher in der Form geschehen, daß der Zähler um denselben Betrag abwärts geschaltet wird, unabhängig von der Zahl der Radarprogrammdurchläufe. Wenn deshalb der Rechner B das Radarprogramm wiederholt durchläuft und der Rechner^ alle seine Programme nacheinander glatt erledigt, so wird an einem bestimmten Punkt der Rechner A Vorrang über das Radarprogramm des Rechners B haben. Dieser Punkt ist dann erreicht, wenn der Rechner A den Zähler so oft aufwärts geschaltet hat, daß er die Abwärtsschaltung durch den Rechner B um 6 übertrifft. Das wäre z. B. der Fall, wenn der Rechner A den Zähler um neun Schritte aufwärts schaltet und das Radarprogramm durchlaufen ist oder wenn er ihn um sechs Schritte aufwärts geschaltet hat, ehe das Radarprogramm zu Ende ging.
Wenn das Radarprogramm einen Befehl zur Rückstellung des Zählers auf 1 enthält und wenn das Bestandsüberwachungsprogramm im Rechnern! durchgeführt ist vor dem Ende des Radarprogramms, dann wird der Zähler auch bei 6 stehen. Nachdem dann das Flußdiagramm der Fig. 9b zur Wirkung gekommen ist, wird ein weiterer Aufwärtsschritt des Zählers bei der Prüfung immer noch den Wert 6 ergeben. Das Radarprogramm des Rechners B wird dann unterbrochen, die erste Aufzeichnung mittels des Programms »Hilfe für vom RechnerB erledigt, während der Rechner A seinerzeit gleichzeitig das Programm A 2 durchführt. Andererseits kann der Rechner B das Übergewicht bekommen, solange der Rechner A eine Schleife durchläuft, die das Fehlersuch- und das Berichtigungsprogramm enthält, und jedes dieser Programme unterbrechen, sobald der Zähler bei 0 ist. Wenn das Fehlersuch- und Berichtigungsprogramm Befehle enthält, die den Zähler vor jedem Schleifendurchgang auf einen Anfangswert bringen, so wird der Zählerwert nicht durch die Vorschrift »Zähler aufwärts 2 X « dauernd wachsen, vielmehr wird der Zähler zwar bei jedem Durchlauf um 2 erhöht, aber er wird danach wieder auf seinen Ausgangswert gebracht. Aber auch wenn kein solcher Befehl in dem Fehlersuch- und Berichtigungsprogramm enthalten wäre, könnte der Rechner B immer noch das Programm des Rechners A unterbrechen, wenn er in der Lage wäre, den Zähler rascher abwärts zu schalten, als jener ihn aufwärts schaltet. Der den Zähler rascher beeinflussende Rechner wird also die Vorhand gewinnen. Es wurden in dem Beispiel nur die Programme Al, Al, Bl und B 2 für übertragbar bezeichnet. Es können natürlich mehr solcher Programme zur Übertragung auswählbar sein.
Bemerkenswert ist, daß die Programme der Rechner A und B zur Unterstützung des anderen Rechners nur unterbrochen werden können, wenn das der Unterstützung bedürftige Programm erreicht ist. So kann der Zähler den Wert 6 erreichen, während im Rechner B das Radarprogramm in Bearbeitung ist, ohne daß der Rechner B unterbrochen wird, vorausgesetzt, daß das Programm, das der Rechner Λ zu der Zeit bearbeitet, das Bestandsüberwachungsprogramm ist. Wenn jedoch beim Rechner .,4 die Programme Al bis A3 erreicht sind, so wird jedes beliebige vom Rechner B durchgeführte Programm unterbrochen.
Der Rechner, der seine Daten rascher bearbeitet, sei es wegen der charakteristischen Eigenschaften des Rechners oder wegen der Einfachheit seiner Programme, ist nicht notwendigerweise im Vorrang und zum Hilferuf an den zweiten Rechner berechtigt. Der Vorrang hängt nicht nur von der Arbeitsgeschwindigkeit ab, sondern auch von dem Betrag, um den der Zähler nach Durchführung jedes Programms verändert wird. So kann ein langes schwieriges Programm auf den Zähler mehr Wirkung haben als ein einfaches kurzes, eben aus diesem Grunde. Wenn der Zähler beim Start des Rechners B jeweils auf Null gestellt werde, muß dieser Umstand nicht notwendigerweise ein Programm des Rechners A unterbrechen, da keine Unterbrechung stattfinden kann, ehe die Programme B1 bis B 3 erreicht sind. Ebenso kann der Zähler beim Start des Rechners A auf den Wert 6 voreingestellt werden. Der Zähler kann trotzdem sich zwischen Weiten von 0 bis 6 bewegen, ohne je einen Rechner zur Hilfeleistung für den anderen zu veranlassen und die Durchführung der Programme Bl bis B3 und Al bis A3 nicht mit der Zählerbewegung gleichlaufend ist.
Der Zähler sollte nicht außerhalb der Grenzen, die durch die Werte 0 und 6 gesetzt sind, zählen. Er ist vom Zählen unter 0 durch die Elemente der Entschlüsselungsmatrix 30 in Fig. 2 gehindert. Er kann über 6 zählen, aber ein solcher Zählwert hat denselben Effekt wie 6, wenn alle Ausgänge für 6 und mehr miteinander verbunden werden.

Claims (14)

Patentansprüche:
1. Verfahren zur paarweisen Kopplung von selbständigen datenverarbeitenden Anlagen, von denen jede eine eigene, den Verarbeitungsablauf dieser Anlage bestimmende Programmsteuereinheit aufweist, zur wahlweisen oder gemeinsamen wartezeitarmen Durchführung von Bearbeitungsaufgaben, dadurch gekennzeichnet, daß jede der Anlagen nach Vollendung bestimmter Abschnitte des Verarbeitungsablaufes positive bzw. negative Zählwertsignale erzeugt und einem für je zwei Anlagen gemeinsamen Vor- und Rückwärtszähler zuführt, daß von jeder der Anlagen zu bestimmten Zeiten des Verarbeitungsablaufes der Zähler abgefragt und sein Zählstand mit in dieser Anlage voreingestellten Grenzwerten verglichen wird und daß bei Feststellung einer Grenzwertüberschreitung bzw. -unterschreitung die Ausführung eines Teiles der Bearbeitungsaufgaben einer Anlage durch die andere Anlage eingeleitet oder beendigt wird.
COPY
2. Verfahren nach Anspruch 1, dadurch gegekennzeichnet, daß drei oder mehr datenverarbeitende Anlagen eine Kette bilden, in der je zwei benachbarte Anlagen durch einen Vor- und Rückwärtszähler in Ablaufkopplung stehen.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß die Kette über einen die beiden äußeren Anlagen koppelnden weiteren Vor- und Rückwärtszähler geschlossen wird.
4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß mindestens eine datenverarbeitende Anlage einer Kette derartiger Anlagen über einen zusätzlichen Vor- und Rückwärtszähler mit einer weiteren datenverarbeitenden Anlage oder einer weiteren Kette solcher Anlagen in Ablaufkopplung steht.
5. Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß wenigstens eine Anlage einer Kette datenverarbeitender Anlagen als Ein- und/oder Ausgabeeinheit ausgebildet ist.
6. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß dem Vor- und Rückwärtszähler von der einen Anlage Vorwärtszählwertsignale und von der anderen Anlage Rückwärtszählwertsignale zugeführt werden, daß der Absolutbetrag der Zählwertsignale in Abhängigkeit vom Umfang und/oder Vorrang der Bearbeitungsabschnitte, dessen Beendigung sie anzeigen, bemessen wird und daß die Steuerwirkung des Zählers in Tätigkeit tritt, sobald der Zählerstand einen vorbestimmten oberen oder unteren Grenzwert erreicht hat.
7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, daß beim Auftreten des dem unteren Grenzwert entsprechenden Zählstandes die eine von zwei einem Vor- und Rückwärtszähler gemeinsam zugeordneten datenverarbeitenden Anlagen unter Hintanstellung ihres eigenen Programms Bearbeitungsaufgaben der anderen Anlage übernimmt und daß beim Auftreten des dem oberen Grenzwert entsprechenden Zählstandes der umgekehrte Vorgang eintritt.
8. Verfahren nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, daß die Steuerwirkung zweier Vor- und Rückwärtszähler einer Kette von miteinander in Ablaufkopplung stehenden datenverarbeitenden Anlagen gemeinsam in Tätigkeit tritt, sobald ihre Zählstände gleichzeitig einen vorbestimmten oberen und/oder unteren Grenzwert erreicht haben.
9. Verfahren nach einem der Ansprüche 1 bis 8 mit mindestens je zwei datenverarbeitenden Anlagen, von denen jede mehrere Programme in einer vorgegebenen Reihenfolge zu durchlaufen hat, dadurch gekennzeichnet, daß in jeder Programmfolge wenigstens eine die Aufgabenteilung ermöglichende Stelle vorgesehen ist, daß jede Anlage nach Beendigung eines ihrer Programme dem eine Ablaufkopplung zwischen den Anlagen herstellenden Vor- und Rückwärtszähler einen in seiner Höhe vom Umfang und/oder Vorrang des Programms abhängigen Zählwert zuführt und daß von jeder Anlage vor Aufnahme des folgenden Programms jeweils der Zählstand des Vor- und Rückwärtszählers geprüft und bei Vorhandensein eines vorgegebenen Zählstandes Bearbeitungsaufgaben von der anderen Anlage übernommen werden, falls oder sobald die andere Anlage eine zur Aufgabenteilung vorgesehene Stelle ihres Programms erreicht hat.
10. Verfahren nach einem der Ansprüche 1 bis 9, dadurch gekennzeichnet, daß der Vor- und Rückwärtszähler durch einen Befehl in den Programmen der zugeordneten Anlagen auf einen bestimmten Zählstand eingestellt wird.
11. Verfahren nach einem der Ansprüche 1 bis 10, dadurch gekennzeichnet, daß die Zählkapazitäten der Vor- und Rückwärtszähler, die vorbestimmten Grenzwerte sowie die Absolutbeträge der von den datenverarbeitenden Anlagen in die Zähler einzugebenden Zählwertsignale nach dem erforderlichen Spielraum und Vorrang in der Zusammenarbeit zwischen den datenverarbeitenden Anlagen festgelegt werden.
12. Einrichtung zur Ausführung des Verfahrens nach einem der Ansprüche 1 bis 11, dadurch gekennzeichnet, daß jede der beiden über einen Vor- und Rückwärtszähler (10) in Ablaufkopplung stehenden Datenverarbeitungsanlagen mit einer Zählwertsignal-Generatorschaltung (22, 24) verbunden ist, die über das Programm der betreffenden Anlage in Tätigkeit setzbar ist und die eine Zählwertsignal-Speicherschaltung (136, 151) aufweist, daß beide Zählwertsignal-Generatorschaltungen über eine Mischerschaltung (20) an den Eingang des Zählers angeschlossen sind, daß ein Taktgeber (25) vorgesehen ist, der die Zählwertsignal-Speicherschaltungen nacheinander für eine Signalabgabe an die Mischerschaltung abtastet, und daß zwischen dem Ausgang des Zählers und den Dateneingängen der beiden Anlagen eine Verbindung (20) besteht, die in Abhängigkeit vom Programm einer jeden dieser Anlagen für eine Zählstandübertragung zu der betreffenden Anlage wirksam gemacht wird.
13. Einrichtung nach Anspruch 12, dadurch gekennzeichnet, daß der Vor- und Rückwärtszähler (10) eine Voreinstellschaltung (14 bis 19) aufweist und daß die Zählwertsignal-Generatorschaltungen (22, 24) zur Erzeugung und die Mischerschaltung (20) zur Übertragung von Zählstand-Voreinstellsignalen eingerichtet sind.
14. Einrichtung nach Anspruch 12 oder 13, dadurch gekennzeichnet, daß der Vor- und Rückwärtszähler (10) eine Überlaufsperre (30, 32, 37, 36) sowie eine Sperre (30, 31, 34, 35) für eine Null-Unterscheidung aufweist.
Hierzu 3 Blatt Zeichnungen 009 586/280
DE19611574877 1960-06-30 1961-06-29 Verfahren und Einrichtung zur Kopplung von datenverarbeitenden Anlagen Withdrawn DE1574877B1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US40091A US3219980A (en) 1960-06-30 1960-06-30 Computer multiplexing apparatus

Publications (1)

Publication Number Publication Date
DE1574877B1 true DE1574877B1 (de) 1971-02-04

Family

ID=21909043

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19611574877 Withdrawn DE1574877B1 (de) 1960-06-30 1961-06-29 Verfahren und Einrichtung zur Kopplung von datenverarbeitenden Anlagen

Country Status (3)

Country Link
US (1) US3219980A (de)
DE (1) DE1574877B1 (de)
GB (1) GB905614A (de)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3350689A (en) * 1964-02-10 1967-10-31 North American Aviation Inc Multiple computer system
US3364472A (en) * 1964-03-06 1968-01-16 Westinghouse Electric Corp Computation unit
US3416139A (en) * 1966-02-14 1968-12-10 Burroughs Corp Interface control module for modular computer system and plural peripheral devices
US3634830A (en) * 1969-06-13 1972-01-11 Ibm Modular computer sharing system with intercomputer communication control apparatus
US3896418A (en) * 1971-08-31 1975-07-22 Texas Instruments Inc Synchronous multi-processor system utilizing a single external memory unit
IT1055645B (it) * 1975-10-24 1982-01-11 Elsag Multielaboratore elettronico associativo per elabobazioni multiple contemporanee di dati in tempo reale
US4322716A (en) * 1976-11-15 1982-03-30 Environmental Research Institute Of Michigan Method and apparatus for pattern recognition and detection
EP0016523B1 (de) * 1979-02-13 1984-09-26 The Secretary of State for Defence in Her Britannic Majesty's Government of the United Kingdom of Great Britain and Datenverarbeitungseinheit und Datenverarbeitungssystem, das mehrere dieser Datenverarbeitungseinheiten enthält
SE430106B (sv) * 1979-06-18 1983-10-17 Ibm Svenska Ab Hierarkiskt datorsystem
EP0172038B1 (de) * 1984-08-16 1991-10-23 Sharp Kabushiki Kaisha Informationsprozessor
US5025369A (en) * 1988-08-25 1991-06-18 David Schwartz Enterprises, Inc. Computer system

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2968696A (en) * 1956-06-01 1961-01-17 Gen Dynamics Corp Electronic telephone system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
None *

Also Published As

Publication number Publication date
GB905614A (en) 1962-09-12
US3219980A (en) 1965-11-23

Similar Documents

Publication Publication Date Title
DE2819571C2 (de)
DE1900141C3 (de) HilfsSteuerwerk für eine Datenverarbeitungsanlage
DE2839726C2 (de) Multiprozessoranlage mit verteilter Steuerarchitektur
DE2119063C2 (de) Datenverarbeitungseinrichtung mit einer Einrichtung zur Steuerung von Programmunterbrechungsanforderungen
DE2817183C2 (de) Datenverarbeitungsanlage mit einer durch Mikroprogramm gesteuerten Zentraleinheit
DE2523399A1 (de) Datenverarbeitungssystem mit eingabe/ausgabeprozessoren
DE1499288B2 (de) Datenverarbeitungsanlage
CH650600A5 (de) Zentralprozessoreinheit einer datenverarbeitungsanlage mit operationscode-erweiterungsregister.
DE2457612B2 (de) Mikroprogrammier-Steuereinrichtung
DE2712224A1 (de) Datenverarbeitungsanlage
DE1774870C3 (de) Einrichtung zur Adressierung einer Speicherzelle eines Speichers in einer Datenverarbeitungsanlage
DE1574877B1 (de) Verfahren und Einrichtung zur Kopplung von datenverarbeitenden Anlagen
DE3400723A1 (de) Vektorprozessor
DE2556617A1 (de) Datenverarbeiter zum rotierbaren verschieben von bits eines datenwortes
DE3432524A1 (de) Mehrfach genutzter datenschreiberregler und verfahren
DE1190706B (de) In zwei abwechselnden Zyklen arbeitende programmgesteuerte elektronische digitale Rechenmaschine
DE2935101C2 (de)
DE3113188C2 (de) Vorrichtung zur Verwaltung der Informationsüberführung in einer Informationsverarbeitungsanlage
DE2054941C2 (de) Anordnung zur Auswahl von Datensätzen
DE69031361T2 (de) Taktsignalgeneratorsystem
DE1499224C3 (de) Datenverarbeitungsanlage mit Kellerspeichereinrichtungen
DE1574877C (de) Verfahren und Einrichtung zur Kopp lung von datenverarbeitenden Anlagen
DE1499286B2 (de) Datenbearbeitungsanlage
DE1808678B2 (de) Verfahren und schaltungsanordnung fuer elektronische daten waehlvermittlungsanlagen mit einem zentralen speicher
DE2845218B1 (de) Mikroprogrammgesteuerte Ein-/Ausgabeeinrichtung und Verfahren zum Durchfuehren von Ein-/Ausgabeoperationen

Legal Events

Date Code Title Description
E77 Valid patent as to the heymanns-index 1977
EHJ Ceased/non-payment of the annual fee