DE1933685B2 - Mehrere Programme simultan verarbeitende Datenverarbeitungsanlage - Google Patents

Mehrere Programme simultan verarbeitende Datenverarbeitungsanlage

Info

Publication number
DE1933685B2
DE1933685B2 DE1933685A DE1933685A DE1933685B2 DE 1933685 B2 DE1933685 B2 DE 1933685B2 DE 1933685 A DE1933685 A DE 1933685A DE 1933685 A DE1933685 A DE 1933685A DE 1933685 B2 DE1933685 B2 DE 1933685B2
Authority
DE
Germany
Prior art keywords
stage
data processing
flip
command
flop
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.)
Granted
Application number
DE1933685A
Other languages
English (en)
Other versions
DE1933685C3 (de
DE1933685A1 (de
Inventor
Meir M. Bronx Lehman
Jack Lee Tarrytown Rosenfeld
Hans P. Chappaqua Schlaeppi
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 DE1933685A1 publication Critical patent/DE1933685A1/de
Publication of DE1933685B2 publication Critical patent/DE1933685B2/de
Application granted granted Critical
Publication of DE1933685C3 publication Critical patent/DE1933685C3/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • G06F9/30087Synchronisation or serialisation instructions

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Storage Device Security (AREA)
  • Memory System (AREA)
  • Dram (AREA)

Description

1. das Befehlsregister (500) hält nach festgestellter Nichtbelegung eines bestimmten Programmabschnittes zur Durchführung der Belegung aufgrund eines ersten Befehls (TZW) und bei Anzeige der Belegungsbeendigung dieses Programmabschnittes durch einen zweiten Befehl (RI) in einem Adressenfeld des Bezugsregisters (500) die Adressen für die anzusprechenden Programmabschnitte bereit;
2. es ist ein durch den ersten Befehl (TZW) ansteuerbarer, vierstufiger Steuersequenzgenerator (CS 1) vorgesehen, dessen
2.1. erste Stufe (CSl-I) das Absenden einer Adresse aus dem Befehlsregister (500) an das Hauptadressenregister (501) mittels einer UND-Schaltung ansteuert, dessen
2.2.' zweite Stufe (CS 1-2) ihre Steuerinformation (Pfeil Pll) an eine Schaltung zum Einrichten oder Festhalten der zum ausgewählten Speichermodul führenden Leitungsverbindungen weitergibt, dessen
2.3. dritte Stufe (CS 1-3) über eine UND-Schaltung, die außerdem an ein Speicherregister
(503) angeschlossen ist, einen Vergleicher
(504) ansteuert, der feststellt, ob ein bestimmtes Gerät einen bestimmten Programmabschnitt belegt hat, wobei im Belegungsfall ein Flipflop (506) gesetzt wird und im anderen Fall das Flioflop (506) zurückgesetzt wird, und dessen
2.4. vierte Stufe (CS 1-4) abhängig vom Zustand des Flipflops (506) entweder ein Flipflop (505) ansteuert, das den Belegungszustand anzeigt, oder einen zweiten, dreistufigen Steuersequenzgenerator (CS 2) anstößt, dessen
2.4.1. erste Stufe (CS2-5) das Speicherregister (503) zum Einschreiben einer Belegungsinformation ansteuert,
2.4.2. zweite Stufe (CS 2-6) das anfragende Datenverarbeitungsgerät anschaltet (Pfeil P13) und dessen
2.4.3. dritte Stufe (CS2-7) den Befehlszähler des anfragenden Datenverarbeitungsgerätes weiterschaltet (Pfeil P14);
3. es ist ein durch den zweiten Befehl (Rl) ansteuerbarer fünfstufiger Steuersequenzgenerator (CS 3) vorgesehen, dessen
3.1. erste Stufe (CS3-1) dieselbe Tätigkeit ausführt wie die erste Stufe (CSl-I) des ersten Steuersequenzgenerators (CS 1),
15 Die Erfindung betrifft eine mehrere Programme simultan verarbeitende Datenverarbeitungsanlage nach dem Oberbegriff des Patentanspruchs.
Bei einer aus »Elektronische Rechenanlagen«, April 1961, Seiten 54 bis 60, bekannten Anlage dieser Art werden mehrere Befehle benötigt, um die Datenverarbeitungsgeräte bedarfsgerecht zu schalten, und das bedingt entsprechend hohen Schaltungsaufwand.
Der Erfindung liegt die Aufgabe zugrunde, die erforderlichen Schaltvorgänge mit möglichst geringem Aufwand an Schaltmitteln zu verwirklichen, wobei möglichst geringe Schaltzeiten erzielbar und Fehlfunktionen, die beispielsweise zur Doppelbelegung einzelner Programmabschnitte führen könnten, möglichst ver- 3<> meidbar sind.
Die Erfindung ist gekennzeichnet durch die Kombination folgender Merkmale:
1.
35 Das Befehlsregister hält nach festgestellter Nichtbelegung eines bestimmten Programmabschnittes zur Durchführung der Belegung auf Grund eines ersten Befehls und bei Anzeige der Belegungsbeendigung dieses Programmabschnittes durch einen zweiten Befehl in einem Adressenfeld des Bezugsregisters die Adressen für die anzusprechenden Programmabschnitte bereit;
2.
45
50
2.1.
2.2.
2.3.
es ist ein durch den ersten Befehl ansteuerbarer, vierstufiger Steuersequenzgenerator vorgesehen, dessen
erste Stufe das Absenden einer Adresse aus dem Befehlsregister an das Hauptadressenregister mittels einer UND-Schaltung ansteuert, dessen zweite Stufe ihre Steuerinformation an eine Schaltung zum Einrichten oder Festhalten der zum ausgewählten Speichermodul führenden Leitungsverbindungen weitergibt, dessen
dritte Stufe über eine UND-Schaltung, die außerdem an ein Speicherregister angeschlossen ist, einen Vergleicher ansteuert, der feststellt, ob ein bestimmtes Gerät einen bestimmten Programmabschnitt belegt hat, wobei im Belegungsfall ein Flipflop gesetzt wird und im anderen Falle das Flipflop zurückgesetzt wird, und dessen
2.4. vierte Stufe abhängig vom Zustand des Flipflops entweder ein Flipflop ansteuert, das den Belegungszustand anzeigt, oder eiren zweiten, dreistufigen Steuersequenzgenerator anstößt, dessen
2.4.1. erste Stufe das Speicherregister zum Einschreiben einer Belegungsinformation ansteuert,
2.4.2. zweite Stufe das anfragende Datenverarbeitungsgerät anschaltet und dessen
65
zweite Stufe (CS3-2) dieselbe Tätigkeit 2.4.3. dritte Stufe den Befehlszähler des anfragenden
Datenverarbeitungsgerätes weiterschaltet;
3. es ist ein durch den zweiten Befehl ansteuerbarer fünfstufiger Steuersequenzgenerator vorgesehen, dessen
3.1. erste Stufe dieselbe Tätigkeit ausführt wie die erste Stufe des ersten Steuersequenzgenerators,
3.2. zweite Stufe dieselbe Tätigkeit ausführt wie die erste Stufe des zweiten Steuersequenzgenerators,
33. dritte Stufe dieselbe Tätigkeit ausführt wie die zweite Stufe des zweiten Steuersequenzgenerators,
3.4. vierte Stufe allen Datenverarbeitungsgeräten ein Wiederaufnahmesignal zuleitet, und dessen
3.5. fünfte Stufe dieselbe Tätigkeit ausführt wie die dritte Stufe des zweiten Steuersequenzgenerators.
Als besonders vorteilhaft erweist es sicli, daß die Erfindung m.c zwei einfachen, zueinander komplementären Maschinenbefehlen — dem ersten Befehl und dem zweiten Befehl — auskommt, um die in Frage stehenden Steuervorgänge auszulösen. Eine einfache Befehlsstruktur bedingt entsprechend geringen Schaltungsaufwand, wie es der zugrunde liegenden Aufgabe entspricht
Ein Ausführungsbeispiel der Erfindung wird anhand der beigefügten Zeichnungen näher erläutert. Es / eigen
Fig. 1, IA und IB ein Ausführungsbeispiel nach der Erfindung,
Fig. IC bis IH je ausschnittweise ein Teil der Schaltung,
F i g. 1K das Ausführungsbeispiel nach F i g. 1 in stark vereinfachter Form und
F i g. 2 bis 4 Taktgeber für das dargestellte Ausführungsbeispiel.
In allen Zeichnungen sind Invertoren mit /, UND-Schaltungen mit +, ODER-Schaltungen mit O, Tor-Schaltungen mit T, Flipflop-Schaltungen mit FF, monostabile Multivibratoren mit SS und Verzöger-Schaltungen mit Vbezeichnet.
Anhand der Fig. IA und IB, die gemäß Fig. 1 zusammenzulegen sind, und der Fig. IC bis IG wird nun ein Ausführungsbeispiel erläutert. Dabei wird auch auf die Fig.2, 3 und 4 Bezug genommen, in denen Taktgeber zur Steuerung der bei Betrieb dieses Ausführungsbeispiels auszuführenden Mikroprogramme dargestellt sind.
Die in den F i g. 2 bis 4 gezeigten Taktgeber A bis C bestehen aus monostabilen Kippschaltungen SS, die so hintereinander geschaltet sind, daß jede Kippschaltung bei Rückkehr in ihren stabilen Zustand die nachfolgende Kippschaltung in ihren nicht stabilen Zustand umschaltet. Jede der Kippschaltungen kehrt nach Ablauf einer ihr eingeprägten Zeitkonstante selbsttätig aus ihrem nicht stabilen Zustand in ihren stabilen Zustand zurück. Die Umschaltung einer solchen Kippschaltung aus ihrem stabilen in ihren nicht oder instabilen Zustand wird im folgenden als »tasten« bezeichnet. Ein Taktimpuls, den eine solche monostabile Kippschaltung erzeugt, während sie sich in ihrem instabilen Zustand befindet, wird im folgenden mit der Bezugsziffer der betreffenden Kippschaltung bezeichnet. Der Taktimpuls der Kippschaltung A 1 wird also als Taktimpuls A 1 bezeichnet.
Im folgenden werden die durch die Taktgeber A bis C gesteuerten Vorgänge aufgezählt.
Ai Tastung: Dekodierung des ersten Befehls, TZW-Befehl.
Funktion: Leitet das Adressenfeld des Befehlsregisters 100 an das Hauptadressenregister 1OZ
Weiter: A 2
A 2 Tastung: Ende des Taktimpulses A 1.
Funktion: Fordert den Speicherzugriff »lesen« zum Halten der Zentraleinheit 10 für die nachfolgende Speicheroperation ίο »speichern« an.
Weiter: A 3
A 3 Tastung: Ende des Taktimpulses A 2 sowie des
Taktimpulses A 4.
Funktion: Prüft, ob der Speicherzugriff »lesen«
beendet ist.
Weiter: A 4, sofern der Speicherzyklus »lesen« nicht beendet ist andernfalls A 5.
A 4 Tastung: Der Speicherzugriff »lesen« ist nicht
fertig.
Funktion: Dient nur zur Verzögerung. Weiter: A 3
/4 5 Tastung: Der Speicherzugriff »lesen« ist fertig.
Funktion: Vergleicht den Inhalt des Speicherregisters 110 mit lauter Nullen. Wenn sich dabei Gleichheit ergibt, wird der Vergleicher 114 auf Null zurückgestellt. Wenn sich dagegen Ungleichheit ergibt, wird der Vergleicher 114 auf Eins gestellt.
Weiter: A6
A 6 Tastung: Ende des Taktimpulses A 5.
Funktion: Prüft die Stellung des Vergleicherriegels 114. Sofern der Vergleicherriegel 114 im Speicherregister verschieden von Null ist, wird das Warte-Flipflop 297 eingeschaltet.
Weiter: A 7, wenn das Flipflop ungleich Null ist, andernfalls B1.
Ende des Taktimpulses A 6. Fordert den Speicherzugriff »speichern« an.
Erregung der Leitung 234, wenn das
Flipflop 114 auf Null steht. Ende des
Tastimpulses A 6.
Leitet den Inhalt des Einsregister 118
auf das Speicherregister 110.
Bl
Ende des Taktimpulses B 1
Fordert Speicherzugriff »speichern«
an
S3
Ende des Taktimpulses B 2 Schaltet Befehlszähler weiter
Durch den zweiten Befehl, «/-Befehl Leitet Adressenfeld aus dem Befehlsregister 100 an das Hauptadre<;senregister 102
Cl
Ende des Taktimpulses C1 Leitet die Nullen aus dem Nullregister 112 in das Speicherregister 110 Weiter: C3
Al Tastung:
Funktion
BX Tastung:
Funktion
Weiter:
Bl Tastung:
Funktion
Weiter:
B3 Tastung:
Funktion
Ci Tastung:
Funktion
Weiter:
C 2 Tastung:
Funktion
C3 Tastung: Ende des Taktimpulses C2
Funktion: Fordert den Speicherzugriff »speichern« an
Weiter: C4
C 4 Tastung: Ende des Taktimpulses C3 oder C5
Funktion: Ermittelt die Stellung des Flipflops 122 um festzustellen, ob der Speicherzugriff »speichern« beendet ist.
Weiter: Wenn das Flipflop 122 auf Eins steht, dann C5, wenn dagegen das Flipflop 122 auf Null steht, dann C%.
C5 Tastung: Erregung der Ausgangsleitung 237 von
der Torschaltung 306
Funktion: Nur Verzögerung
Weiter: CA
C6 Tastung: Erregung der Ausgangsleitung 238 der
Torschaltung 306
Funktion: Sendet Wiederaufnahmesignal an alle
Datenverarbeitungsgeräte
Weiter: Cl
Cl Tastung: Ende des Taktimpulses C6
Funktion: Schaltet den Befehlszähler weiter.
Wenn ein erster Befehl - ein TZW-Befehl vorliegt, wird von dem Dekodierer 101 ein Impuls erzeugt, der über die Leitung 226 an die Kippschaltung A 1 gelangt und dort einen Taktimpuls A 1 auslöst, der über die ODER-Schaltung 105 an die Torschaltung 290 gelangt. Daraufhin läßt die Torschaltung 290 das Adressenfeld des Befehlsregisters 100 an das Hauptadressenregister 102 gelangen. Mit der Rückflanke des Tastimpulses A 1 wird die Kippschaltung A 2 getastet und der daraufhin erzeugte Taktimpuls A 2 gelangt über die Leitung 104 an eine gemeinsame Zentraleinheit 10, fragt einen Lesespeicherzugriff ab und hält die Zentraleinheit 10 für eine nachfolgende Speicheroperation auf.
Die Zentraleinheit 10 weist speicherbare und lesbare Speicherprogrammeinheiten zur Verarbeitung der gespeicherten Werte und weitere Funktionseinheiten auf. Gleichzeitig wird ein Flipflop 106 in seinen Einszustand geschaltet. Mit der Rückflanke des Taktimpulses A 2 wird über die ODER-Schaltung 103 die Kippschaltung A 3 getastet. Der Taktimpuls der Kippschaltung A 3 gelangt zur Prüfung des Schaltzustandes des Flipflop 106 an das Tor 292. Wenn in diesem Moment das Flipflop 106 in seinem Einszustand sich befindet, dann wird ein Ausgangssignal auf der Leitung 228 ausgelöst, das die Kippschaltung A 4 tastet. Der Taktimpuls A 4 dient nur zur Zeitverzögerung und tastet mit seiner Rückflanke über die ODER-Schaltung 103 die Kippschaltung A 3. Wenn während des Taktimpulses A 3 das Flipflop 106 sich in seinem Nullzustand befindet, dann wird auf der Leitung 230 ein Ausgangssignal erzeugt, das die Kippschaltung A 5 tastet. Das Flipflop 106 wird, sobald der Lesezugriff vollendet ist und der Befehl aus der Zentraleinheit 10 in das Speicherregister 110 eingegeben ist, auf seinen Nullzustand zurückgeschaltet Bei diesem Ausführungsbeispiel zeigen lauter Nullen an, daß kein Datenverarbeitungsgerät zu dem gegebenen Zeitpunkt einen bestimmten Programmabschnitt eines Programms benutzt (gelöste Verriegelung), während dagegen Einsen anzeigen, daß ein anderes Datenverarbeitungsgerät den betreffenden Programmabschnitt benutzt (geschlossene Verriegelung).
Wenn der Lesezugriff beendet ist, muß festgestellt werden, ob der Inhalt des Speicherregisters 110 aus lauter Nullen besteht oder nicht. Liegen lauter Nullen vor, dann kann ein Datenverarbeitungsgerät, das in einem bestimmten Programmabschnitt des Programms "> Eingang sucht, eingeschleust werden, da keine geschlossene Verriegelung vorliegt. Wenn dagegen in dem Register 110 nicht nur Nullen vorliegen, dann bedeutet dies, daß ein eingangssuchendes Verarbeitungsgerät warten muß, bis der Speicherteil der Zentraleinheit 10,
i« der die Verriegelungsinformation enthält, von dem betreffenden Verarbeitungsgerät, das diesen Programmabschnitt gerade benutzt, freigegeben wird.
Ist dies geschehen, dann besteht der Inhalt des Speicherregisters 110 aus lauter Nullen.
i> Der Taktimpuls A 5 wird auf eine Torschaltung 294 gegeben, um das Ausgangssignal der Vergleichereinheit 108 zu untersuchen. Die Vergleichereinheit 108 vergleicht den Inhalt des Speicherregisters 110 mit dem des Registers 112. Das Register 112 enthält ständig lauter Nullen. Wenn der Inhalt des Speicherregisters 110 ebenfalls aus lauter Nullen besteht, wird eine Vergleicherverriegelung 114 auf Null gesetzt. Wenn der Inhalt des Speicherregisters 110 jedoch nicht aus lauter Nullen besteht, wird diese Vergleicherverriegelung 114
-'s auf Eins gesetzt.
Durch die Rückflanke des Taktimpulses A 5 wird die Kippschaltung A 6 getastet. Der Taktimpuls A 6 gelangt an die Torschaltung 296 und überprüft dort den Schaltzustand der Vergleicherverriegelung 114. Wenn
hi sich die Vergleicherverriegelung dabei in ihrem Nullzustand befindet, dann entsteht aufgrund des Taktimpulses A 6 auf der Leitung 234 ein Ausgangssigna!, das die Kippschaltung ßl tastet und damit den Taktgeber B in Betrieb setzt. Das Mikroprogramm, das
i'i von dem Taktgeber A gesteuert wird, führt den TZW- Befehl aus. Das Mikroprogramm, das von dem Taktgeber B gesteuert wird, sorgt dafür, daß ein Programmabschnitt einem Datenverarbeitungsgerät exklusiv zur Verfügung steht, wenn dieser Programmabschnitt nicht durch eine Verriegelung geschützt ist. Eine solche Situation liegt vor, wenn die Vergleicherverriegelung 114 auf Null steht.
Wenn dagegen die Vergleicherverriegelung 114 auf Eins steht, dann wird ein Warte-Flipflop 297 auf Eins
■'■': geschaltet und auf der Leitung 232 am Ausgang des Tores 296 entsteht ein Ausgangssignal, das die Kippschaltung A 1 tastet. Der Taktimpuls A 7 gelangt an die ODER-Schaltung 298 und fordert einen Speicherzugriff »Speichern« der Zentraleinheit 10 an.
rM Durch den Taktimpuls A 1 wird über die ODER-Schaltung 298 und die Leitung 116 das Flipflop 122 in seinen Einszustand geschaltet Diese Umschaltung des Flipflops 122 hat im Augenblick keine besondere Bedeutung, weil es im Moment nicht nötig ist, festzustellen, ob
Si der Speicherzugriff beendet ist Der Taktimpuls A 2 gelangte, wie bereits bemerkt auf die Leitung 104, m die Zentraleinheit für die nachfolgenden Speicheroperationen, die, wie eben beschrieben, durch den Taktimpuls A 7 ausgelöst werden, festzuhalten.
bO Es wird noch einmal daran erinnert, daß die Vergleicherverriegelung 114 durch den Taktimpuls A 6 überprüft wurde und daß ein Ausgangssignal auf der Leitung 234 erscheint, wenn dabei die Vergleicherverriegelung 114 ihren Nullzustand inne hatte.
fej Durch dieses Ausgangssignal wurde die Kippschaltung B1 getastet und der Taktgeber in Betrieb gesetzt Der Taktimpuls B1 gelangt auch an eine Torschaltung 300, um Einsen aus einem Einsenregister 118 an das
Speicherregister 110 zu leiten. Mit Beendigung des Taktimpulses B\ wird die Kippschaltung 52 getastet und der Taktimpuls B2 fordert über die ODER-Schaltung 298 den Speicherzugriff an. Durch die Rückflanke des Taktimpulses B2 wird die Kippschaltung S3 getastet und der ausgelöste Taktimpuls S3 gelangt über die ODER-Schaltung 302 auf die Leitung 120 und dient als Signal, den Befehlszähler weiterzuschalten und den nächsten Befehl abzurufen. Damit übernimmt das Datenverarbeitungsgerät, das in den betreffenden ι ο Programmabschnitt Eingang gefunden hat, die Programmsteuerung in diesem Programmabschnitt und wird dabei durch Verriegelung geschützt. Die Verriegelungsinformation ist dabei in Form von Einsen im betreffenden Speicher der Zentraleinheit iO niedergelegt, wodurch alle anderen Datenverarbeitungsgeräte, die Eingang in diesen Programmabschnitt suchen, ausgeschlossen werden. Der letzte Befehl eines so verriegel'en Programmabschnittes, ist ein »Verriegelung-zurückschal ten-Befehl«, kurz auch «/-Befehl. Sobald das steuernde Datenverarbeitungsgerät die Ausführung der verriegelten Befehle beendet, führt es den «/-Befehl aus. Mit Dekodierung eines «/-Befehls erscheint ein Signal auf der Leitung 236, durch das der Taktgeber C eingeschaltet wird. Der Taktgeber C ist ähnlich aufgebaut wie die Taktgeber A und B, steuert jedoch das Mikroprogramm für den «/-Befehl.
Beim Einschalten des Taktgebers C wird ein Taktimpuls Cl von der Kippschaltung Cl erzeugt, der über die ODER-Schaltung 105 an die Torschaltung 290 gelangt, so daß die Adresse der Verriegelung vom Befehlsregister 100 an das Hauptadressenregister 102 gelangen kann. Mit der Rückflanke des Taktimpulses Cl wird die Kippschaltung C2 getastet und der Taktimpuls C2 gelangt an das Tor 304, so daß Nullen aus dem Register 112 in das Speicherregister 110 gelangen können. Mit dem Ende des Taktimpulses C2 wird die Kippschaltung C3 getastet und der daraus resultierende Taktimpuls C3 gelangt über die ODER-Schaltung 298 an die Leitung 116 und fordert einen Speicherzugriff an, und schaltet gleichzeitig das Flipflop 122 in seinen Einszustand. Am Ende des Taktimpulses C3 wird über die ODER-Schaltung 107 die Kippschal tung C4 getastet Der Taktimpuls C4 gelangt an die Torschaltung 306 und überprüft das Flipflop 122. Wenn sich dabei das Flipflop 122 in seinem Einszustand befindet, wird die Kippschaltung C5 getastet Ist dagegen das Flipflop 122 dabei in seinem Nullzustand, wird die Kippschaltung C6 getastet. Der Taktimpuls C5 dient nur zur Verzögerung und tastet mit seiner Rückflanke über die ODER-Schaltung 107 die Kippschaltung C4 erneut Der Taktimpuls C6 gelangt an die Leitung 124 und von da als Wiederaufnahmesignal an alle Datenverarbeitungsgeräte gemäß Pfeil P5. Der Taktimpuls B 3 schaltet über die ODER-Schaltung 302 und die Leitung 120 den Befehlszähler und holt den nächsten Befehl gemäß Pfeil P4. Jetzt enthält die Verriegelungsposition im betreffenden Speicher der Zentraleinheit 10 lauter Nullen und die Verrieglung ist somit zurückgeschaltet
Auf diese Weise wird mit der Anordnung nach den Fig. IA bis IG ohne wesentliche Zusatzleitungen eine Verriegelung mittels zweier komplementärer Maschinenbefehle — dem 72W-Befehl und dem «/-Befehl — herbeigeführt
Bei dem in F i g. 1K dargestellten Ausführungsbeispiel werden die Steuersequenzen des TZlV-Befehls und des «/-Befehls durch Schieberegister CSl, CS2 und CS 3 dargestellt. Mit Auslösung einer solchen Sequenz wird ein einzelnes »l-Bit-< links in ein Register eingespeist. Jede Stufe löst einen Schritt der Sequenz aus, und zwar gemäß F i g. 1K von links nach rechts fortschreitend.
Mit Dekodierungeines TZW-Befehls im Decoder502 wird der Steuersequenzgenerator CSl ausgelöst, die aus folgenden Schritten besteht:
1. Absenden einer Adresse aus dem Befehlsregister 500 an das Hauptadressenregister 501.
2. Einleiten eines Zyklus zum Einrichten oder Festhalten der zum ausgewählten Speichermodul führenden Leistungsverbindung, bis das Datenverarbeitungsgerät einen zweiten Speicherzyklus auslöst,gemäß Pfeil Pll.
3. Vergleichen des gerade empfangenen Speicherinhalts im Vergleicher 504 mit Null und speichern des Ergebnisses in ein Flipflop 506.
4. Wenn C(N) Φ 0 (wenn also der Vergleich eine Ungleichheit zeigt), wird das Datenverarbeitungsgerät durch Umschalten des Flipflop 505, das den Belegungszustand anzeigt, in den Wartezustand gebracht, und dadurch werden gemäß Pfeil P12 alle Sequenzschaltungen dieses Datenverarbeitungsgerätes festgehalten. Der Befehlszähler wird nicht weitergeschaltet. Wenn dagegen C(N) = 0 ist (der Vergleich also Gleichheit zeigt), dann wird der Steuersequenzgenerator CS 2 eingeschaltet.
Die vom Steuersequenzgenerator CS 2 abgegebene Steuersequenz sperrt die Verriegelung und läßt das Datenverarbeitungsgerät weiterarbeiten. Es ergeben sich folgende Schritte:
1. Eine vorbestimmte, zur Bezeichnung dienende Bitposition eines Speicherregisters 503 wird auf Eins gesetzt
2. Ein Arbeitszyklus »speichern« der Zentraleinheit wird eingeleitet gemäß Pfeil P13.
3. Ein Befehlszähler wird weitergeschaltet und die Ausführung de/ nachfolgenden Befehle wird fortgesetzt gemäß Pfeil P14.
Durch Dekodierung eines «/-Befehls wird der Sequenzgenerator CS 3 eingeschaltet Diese Sequenz umfaßt folgende Schritte:
1. Die Adresse wird vom Befehlsregister 500 an das Hauptadressenregister 501 für die Zentraleinheit 10 gegeben.
2. Alle Positionen des Speicherregisters 503 werden auf Null geschaltet
3. Es wird ein Speicherzyklus in der Zentraleinheit 10 ausgelöst gemäß Pfeil P13.
(Durch die Schritte 1 bis 3 wird die Verriegelung für andere Aufgaben geöffnet)
4. Es wird allen Datenverarbeitungsgeräten ein Wiederaufnahmesignal zugeleitet gemäß Pfeil P15.
5. Der Befehlszähler wird weitergeschaltet gemäß Pfeil P14.
Bei Empfang eines Wiederaufnahmesignals gemäß Pfeil P16. die zu den anderen Datenverarbeitungsgeräten führen, kehrt ein im Wartezustand befindliches Datenverarbeitungsgerät in den aktiven Zustand zurück. Der 7ZW-Befehl wird noch einmal ausgeführt da der Befehlszähler und das Befehlsregister des letzten Datenverarbeitungsgerätes durch den TZW-Befehl, der dieses Datenverarbeitungsgerät ursprünglich in den Wartezustand versetzte, nicht verändert wurde.
Hierzu 4 Blatt Zeichnungen 030165/16

Claims (1)

  1. Patentanspruch:
    Mehrere Programme simultan verarbeitende 3.3.
    Datenverarbeitungsanlage mit einem Befehlsregister, bei der der gleichzeitige Eintritt mehrerer Datenverarbeitungsgeräte in ein und denselben 3.4.
    Programmabschnitt verhindert wird, indem bei Belegung des angesprochenen Programmabschnittes das ansprechende Datenverarbeitungsgerät auf Warteposition und inaktiv geschaltet wird und bei ία Nichtbelegung ein Ansprechen des Datenverarbeitungsgerätes in den betreffenden, nicht belegten Programmabschnitt eingeleitet wird, gekennzeichnet durch die Kombination folgender Merkmale:
    ausführt wie die erste Stufe (CS 2-5) des zweiten Steuersequenzgenerators (CS 2),
    dritte Stufe (CS 3-3) dieselbe Tätigkeit ausführt wie die zweite Stufe (CS 2-6) des zweiten Steuersequenzgenerators (CS 2),
    vierte Stufe (CS 3-4) allen Datenverarbeitungsgeräten ein Wiederaufnahmesignal zuleitet (Pfeil PS), und dessen
    fünfte Stufe (CS 3-5) dieselbe Tätigkeit ausführt wie die dritte Stufe (CS 2-7) des zweiten Steuersequenzgenerators (CS 2).
DE1933685A 1968-07-05 1969-07-03 Mehrere Programme simultan verarbeitende Datenverarbeitungsanlage Expired DE1933685C3 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US74267668A 1968-07-05 1968-07-05

Publications (3)

Publication Number Publication Date
DE1933685A1 DE1933685A1 (de) 1970-01-08
DE1933685B2 true DE1933685B2 (de) 1981-01-29
DE1933685C3 DE1933685C3 (de) 1981-10-15

Family

ID=24985786

Family Applications (1)

Application Number Title Priority Date Filing Date
DE1933685A Expired DE1933685C3 (de) 1968-07-05 1969-07-03 Mehrere Programme simultan verarbeitende Datenverarbeitungsanlage

Country Status (5)

Country Link
US (1) US3528062A (de)
JP (1) JPS4825262B1 (de)
CA (1) CA930475A (de)
DE (1) DE1933685C3 (de)
FR (1) FR2012328A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3209037A1 (de) * 1981-03-13 1982-09-23 Hitachi, Ltd., Tokyo Verfahren und anordnung zur selbststeuerung bei verteilter vorrang-kollision

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3647348A (en) * 1970-01-19 1972-03-07 Fairchild Camera Instr Co Hardware-oriented paging control system
US3683418A (en) * 1970-04-16 1972-08-08 Bell Telephone Labor Inc Method of protecting data in a multiprocessor computer system
US3676860A (en) * 1970-12-28 1972-07-11 Ibm Interactive tie-breaking system
US4183083A (en) * 1972-04-14 1980-01-08 Duquesne Systems, Inc. Method of operating a multiprogrammed computing system
FR2258112A5 (de) * 1973-11-30 1975-08-08 Honeywell Bull Soc Ind
JPS5296836A (en) * 1976-02-10 1977-08-15 Toshiba Corp Multiplex data processing system
US4224664A (en) * 1976-05-07 1980-09-23 Honeywell Information Systems Inc. Apparatus for detecting when the activity of one process in relation to a common piece of information interferes with any other process in a multiprogramming/multiprocessing computer system
US4065809A (en) * 1976-05-27 1977-12-27 Tokyo Shibaura Electric Co., Ltd. Multi-processing system for controlling microcomputers and memories
US4093986A (en) * 1976-12-27 1978-06-06 International Business Machines Corporation Address translation with storage protection
US4091445A (en) * 1977-01-18 1978-05-23 Honeywell Information Systems Inc. Program switching monitor
JPS596415B2 (ja) * 1977-10-28 1984-02-10 株式会社日立製作所 多重情報処理システム
JPS588018B2 (ja) * 1978-09-14 1983-02-14 日本電気株式会社 多重プロセッサシステム
US4249241A (en) * 1978-10-23 1981-02-03 International Business Machines Corporation Object access serialization apparatus for a data processing system
US4402046A (en) * 1978-12-21 1983-08-30 Intel Corporation Interprocessor communication system
DE3069249D1 (en) * 1979-02-13 1984-10-31 Secr Defence Brit Data processing unit and data processing system comprising a plurality of such data processing units
US4374415A (en) * 1980-07-14 1983-02-15 International Business Machines Corp. Host control of suspension and resumption of channel program execution
US4399504A (en) * 1980-10-06 1983-08-16 International Business Machines Corporation Method and means for the sharing of data resources in a multiprocessing, multiprogramming environment
US4410942A (en) * 1981-03-06 1983-10-18 International Business Machines Corporation Synchronizing buffered peripheral subsystems to host operations
JPS58140862A (ja) * 1982-02-16 1983-08-20 Toshiba Corp 相互排他方式
US4567562A (en) * 1983-07-21 1986-01-28 Burroughs Corporation Controller for controlling access to a plurality of records that can be accessed and changed by several independent processors
JPS6079460A (ja) * 1983-10-07 1985-05-07 Nec Corp 密結合多重演算装置における制御方式
US4754398A (en) * 1985-06-28 1988-06-28 Cray Research, Inc. System for multiprocessor communication using local and common semaphore and information registers
FR2605767B1 (fr) * 1986-10-22 1989-04-28 Olivier Alain Procede de mise en attente d'au moins un materiel de traitement d'informations puis de liaison de celui-ci a un equipement et moyens pour la mise en oeuvre de ce procede
US5129087A (en) * 1988-02-03 1992-07-07 International Business Machines, Corp. Computer system and a method of monitoring transient data structures in a computer system
JP2650965B2 (ja) * 1988-05-27 1997-09-10 株式会社日立製作所 計算機システムおよびそのタスクスケジュール方法
AU650242B2 (en) * 1989-11-28 1994-06-16 International Business Machines Corporation Methods and apparatus for dynamically managing input/output (I/O) connectivity
US5666515A (en) * 1993-02-18 1997-09-09 Unisys Corporation Information processing system having multiple modules and a memory on a bus, where any module can lock an addressable portion of the memory by sending retry signals to other modules that try to read at the locked address

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3108256A (en) * 1958-12-30 1963-10-22 Ibm Logical clearing of memory devices
BE633719A (de) * 1962-06-22
US3245047A (en) * 1962-09-19 1966-04-05 Ibm Selective data transfer apparatus
DE1218761B (de) * 1963-07-19 1966-06-08 International Business Machines Corporation, Armonk, N. Y. (V. St. A.) Datenspeidbereinrichtung
US3398405A (en) * 1965-06-07 1968-08-20 Burroughs Corp Digital computer with memory lock operation

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3209037A1 (de) * 1981-03-13 1982-09-23 Hitachi, Ltd., Tokyo Verfahren und anordnung zur selbststeuerung bei verteilter vorrang-kollision

Also Published As

Publication number Publication date
JPS4825262B1 (de) 1973-07-27
DE1933685C3 (de) 1981-10-15
DE1933685A1 (de) 1970-01-08
CA930475A (en) 1973-07-17
US3528062A (en) 1970-09-08
FR2012328A1 (de) 1970-03-20

Similar Documents

Publication Publication Date Title
DE1933685C3 (de) Mehrere Programme simultan verarbeitende Datenverarbeitungsanlage
DE2856483C2 (de)
DE2641741C2 (de) Rechenanlage aus mehreren miteinander über ein Sammelleitungssystem verbundenen und zusammenwirkenden Einzelrechnern und einem Steuerrechner
DE1915818C3 (de) Steuerschaltung für ein elektronisches Datenverarbeitungssystem
DE2346525A1 (de) Virtuelle speichereinrichtung
DE2855673C2 (de)
DE2615861A1 (de) Einrichtung zur pruefung von programmen
DE1168127B (de) Schaltungsanordnung zum Vergleich von Zahlen
DE2741886A1 (de) Datenuebertragungseinrichtung
DE2744531A1 (de) Elektronische datenverarbeitungsanlage
DE2928488A1 (de) Speicher-subsystem
DE1424762B2 (de) Datenverarbeitungsanlage
DE2019444A1 (de) Datenverarbeitungsanlage
DE1275800B (de) Steuerwerk fuer datenverarbeitende Maschinen
DE1474062B2 (de) Datenverarbeitungsanlage mit einer anzahl von pufferspeichern
DE2758151A1 (de) Einrichtung zum sortieren von datensaetzen
DE2148956B2 (de) Datenübertragungssystem
DE2165730A1 (de) Rechensystem
DE2633155B2 (de) Einrichtung zur Erzeugung zeitdefinierter Funktionssteuersignale
DE2106731A1 (de) Diagnoseeinrichtung fur elektronische Datenverarbeitungsanlagen
DE1957600C3 (de)
DE1222289B (de) Datenverarbeitungseinrichtung
DE3426902A1 (de) Schaltungsanordnung zum konfigurieren von peripherieeinheiten in einer datenverarbeitungsanlage
DE2917822A1 (de) Schaltungsanordnung zur zweirichtungsuebertragung von signalen
DE2216533C3 (de) Anordnung zur Steuerung der Durchführung mehrerer Aufgaben in einer DTENVERARBEITUNGSANLAGE

Legal Events

Date Code Title Description
C3 Grant after two publication steps (3rd publication)
8339 Ceased/non-payment of the annual fee