DE2045052A1 - System zum Identifizieren von Mehraufgabensituationen und zum Steuern der Durchführung dieser Aufgaben - Google Patents
System zum Identifizieren von Mehraufgabensituationen und zum Steuern der Durchführung dieser AufgabenInfo
- Publication number
- DE2045052A1 DE2045052A1 DE19702045052 DE2045052A DE2045052A1 DE 2045052 A1 DE2045052 A1 DE 2045052A1 DE 19702045052 DE19702045052 DE 19702045052 DE 2045052 A DE2045052 A DE 2045052A DE 2045052 A1 DE2045052 A1 DE 2045052A1
- Authority
- DE
- Germany
- Prior art keywords
- tasks
- processor
- fsw
- task
- split
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012545 processing Methods 0.000 claims description 71
- 238000000034 method Methods 0.000 claims description 22
- 230000015654 memory Effects 0.000 claims description 21
- 238000005111 flow chemistry technique Methods 0.000 claims 2
- 230000000717 retained effect Effects 0.000 claims 2
- 238000012795 verification Methods 0.000 claims 1
- 238000012360 testing method Methods 0.000 description 49
- 230000008569 process Effects 0.000 description 12
- 230000004913 activation Effects 0.000 description 7
- 238000012546 transfer Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 235000021251 pulses Nutrition 0.000 description 4
- 241000270295 Serpentes Species 0.000 description 2
- 208000000260 Warts Diseases 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 201000010153 skin papilloma Diseases 0.000 description 2
- 241000543381 Cliftonia monophylla Species 0.000 description 1
- 101000952099 Homo sapiens Antiviral innate immune response receptor RIG-I Proteins 0.000 description 1
- 101000595918 Homo sapiens Phospholipase A and acyltransferase 4 Proteins 0.000 description 1
- 235000010678 Paulownia tomentosa Nutrition 0.000 description 1
- 240000002834 Paulownia tomentosa Species 0.000 description 1
- 244000046052 Phaseolus vulgaris Species 0.000 description 1
- 235000010627 Phaseolus vulgaris Nutrition 0.000 description 1
- 102100035200 Phospholipase A and acyltransferase 4 Human genes 0.000 description 1
- 206010044625 Trichorrhexis Diseases 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 235000005911 diet Nutrition 0.000 description 1
- 230000037213 diet Effects 0.000 description 1
- 206010015037 epilepsy Diseases 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000001012 protector Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 230000001932 seasonal effect Effects 0.000 description 1
- 238000001356 surgical procedure Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/45—Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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/161—Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3854—Instruction completion, e.g. retiring, committing or graduating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5066—Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Multi Processors (AREA)
Description
MÜNCHEN 71 (SoHn)
Franz-Hal*-Straße 21
München, den 8. Sept. 1970 . H./K./fr
International Business Machines Corporation
Armonjc, K.Y. 10504, U.S.A.
System zum Identifizieren von Mehraufgaben-Situationen und zum Steuern der Durchführung
dieser Aufgaben
Priorität: 15. September 1969ί U.S.A.; Ser. Ho. 858 022
Die Erfindung bezieht sich auf eine Anordnung und ein Verfahren zum Identifizieren yon Mehraufgabensituationen in
einem im Parallelbetrieb arbeitenden Datenverarbeitungseyetem
und zum Steuern der Durchführung dieser Aufgaben.
Unsere Zivilisation wird in zunehmendem MaSe durch Computer
beeinfluit. Die Kompliziertheit des modernen Lebens hat die I
lotwendigkeit ergeben, ungeheure Mengen von Daten elektronisch
su verarbeiten. Die elektronische Datenverarbeitung hat dazu
beigetragen, den Menschen von trivialen und geistig niedrigstehenden Aufgaben cu entbinden und hat ihm dafür Zeit geschaffen, sich auf mehr schöpferische Dinge zu konzentrieren. Aus
der Erkenntnis heraus, dafl elektronische Datenverarbeitung
eine groß· Hilfe für den modernen Menschen bedeutet, sind immer
mehr Aufgaben in eine f#rm gebracht worden, in der sie für
elektronische Datenverarbeitung gteigaet sind. Dies wiederum
hat die Entwicklung von groSen, ultraeehnellen elektronischen
Computern befruchtet, wtlohs diese Aufgaben auf die Weist
108012/1530
ID 2762 - 2 -
erfüllen» dafl sie innerhalb des Computers befindliche
Befehlefolgen ausführen. Um die ständig wacheenden Bedürfnisse auf dem Gebiet der DatenVerarbeitung zu befriedigen, iet die Geschwindigkeit beim Ausführen von
Befehlen sehr wesentlich. Um die Geschwindigkeitsanforderungen zu erfüllen, sind kürzlich Anstrengungen in der
Richtung unternommen worden, unabhängige Aufgaben parallel zu verarbeiten. Zu diesen Anstrengungen gehört auoh die
Untersuchung von Mitteln und Verfahren., mit denen eine möglichst gute Effektivität der Computer-Kapazitäten bei
verschiedenen Programmbedingungen erreicht wird. Dem Stand der Technik entsprechende Vorrichtungen haben zur
Erreichung dieses Zieles versucht, parallele Aufgaben zu
identifiziere und den digitalen Einrichtungen zucuordnen,
welche diese unabhängigen Aufgaben gleichzeitig durchführen soll@m. Ein Befcpiel einer derartigen bekannten Anordnung
ist in der Veröffentlichung WA Multiprocessor System Design11 vom M. E. Conway, AFIFS Conference Proceedings,
1963 Fell Joint Computer Conference, Stite 139» beschrieben.
Jedoch Isaben die@@ bekannten Anordnungen den lachten,
sie di© zur Verfügung stehenden Einrichtungen des
nioht mit genügendem Wirkungsgrad ausnutzen. Bei
bekannten Anordnungen wird häufig die Anzahl der zu
ädigand®n Aufgaben gezählt und dann auf statioοhe Weise
v~treuohtt Eeehaereinriehtungen dieser Anzahl von Aufgaben
Dabei wird häufig der optimale Wirkungegrad
sieht erreicht, da die vorhandenen digitalen nicht dynamicoh den betroffenen parallelen
angeordnet werden. Ferner haben die bekannten
Sj@t@ae &@» Saonteil, daß ein nioht mehr tolerierbarer
Anteil der digitale» Einrichtungen in der Operationsphase
fättdceit ist, während der die parallelen Aufgaben
I&ie geführt werden»
101812/1830
ÖAD ORIQiNAL
ID 2762 - 3 -
Ziel der Erfindung ist es daher, eine verbesserte Anordnung und ein verbessertes Verfahren zu schaffen, wobei eine
optimale Effektivität der zur Verfügung stehenden Verarbeitungseinrichtungen unter verschiedensten durch das Programm
gegebenen Bedingungen in Parallelbetrieb erreicht werden soll· Dabei sollen Mehraufgabensituationen sowie die Art
dieser Aufgaben identifiziert werden, damit eine dynamische
Zuordnung der Verarbeitungseinrichtungen des System je
nach deren Verfügbarkeit erfolgen kann« ferner soll bei der Zuv-rdnung der unabhängig durchzuführenden Aufgaben (
eowohl bei Beginn der Durchführung einer Gruppe von
parallexL en Aufgaben als auch bei der Koordinierung der
Daten am Ende der Durchführung dieser Aufgaben in wesentlichen keine Zeit verlorengehen, in der die Verarbeitungseinrichtungen außer Tätigkeit sind.
Der Anmeldungsgegenetand kann in einem im Parallelbetrieb
arbeitenden Verarbeitungssystern Anwendung finden, wie es
in der am 5. April 1969 eingereichten U.S.-Anmeldung
."-..'■ ■ t ■ ■ ■ . .
Bei der erfindUBgegemäßen Anordnung wird eine Hehraufgabensituation durch einen Aufspaltumgebefehl (free fork "
instruction) und durch das diesem Befehl zugeordnete
Aufspaltungssustandswort, das im folgenden durch PSW
bezeichnet wird, angezeigt. Die Prozessoren einer parallel
arbeitenden Anlage werden, wie auch in der obengenannten
U.S.-Patentanmeldung, mit P1, Pg».·· Pj*...Pg bezeichnet.
Ein bestimmter Prozessor Pj führt sequentiell Befehle aus,
bis er einen Aufspaltungsbefehl antrifft, woraufhin er ein ?8W erstellt und an den Steuerteil gibt. P1 kann daher der
erstellende Prootieor genannt werden. Es kann je nach
der Art von Aufgaben verschiedene Arten vom Aufspaltungen
10Ö8 12/1 S 30 BAD ORIGINAL
ID 2762 - 4 -
geben. Eine Aufspaltung kann als logischer Knotenpunkt
aageεeheη werden, von dem aus eine bestimmte Klasse von
Aufgaben durchgeführt werden soll; z. B. sind bei einer Eingangs-/Au8gang8aufspaltung I/O Aufgaben (input/output)
durchzuführen; bei einer Datenanalysier-Aufspaltung
sind DPA-Aufgaben durchzuführen (Digital Data Analyser); bei einer Peldverarbeitungs-Aufspaltung sind entsprechende
Aufgaben durchzuführen, usw · Hierbei handelt es sich um Klassen von Aufgaben, bei denen von Prozessoren der bezeichneten Art Hilfe angefordert wird. Im allgemeinen
kann jeder Prozessortypus jede Art von Aufspaltung erstellen.
Beim Erstellen einer Aufspaltung, die nicht vom selben Typ ist wie der erstellende Prozessor, speichert der erstellende
Prozessor entweder seinen Zustand in dem FSW und scheidet aus, wobei er andern Steuerteil eine Meldung abgibt, um
einer anderen Arbeit zugeordnet zu werden, oder er wartet, bis die Aufspaltung vollendet ist, und koordiniert die
resultierenden Daten. Die Entscheidung darüber, ob er ausscheidet oder ob er wartet, hängt von Parametern wie
Prioritätserfordernisse» oder je nach Wahl von anderen
Parametern ab. In jedem Pail nimmt der "ungleiche" erstellende
Prozessor nicht an der Durchführung der Aufgaben der Aufspaltung teil, da er sich hinsichtlich des physikaljrehlogischen Typus (P/L) von den Aufgaben in der Aufspaltung
unterseheidet. Der Steuerteil enthält eine Verarbeitungseinrichtungstafel, welche die verschiedenen Typen von Vtrarbeitungeeinrichtungen des Systems und eine Aufzeichnung
ihres Zustandes (besetzt oder frei) enthält. Eine FSW-Warteschlange ,ist für jeden möglicherweise auftretenden
Typ eines Aufspaltungsbefehls vorgesehen. Außerdem Bind für jeden Aufspaltungstyρ ein FSW-Register und eine logische
Steuerschaltung vorgesehen, welche die Durchführung der in dem FSW angezeigten Aufgaben steuert. Jede FSW-Warteschlange
weist eine PSW-Sub-Warteschlange und eine logische Steuerschaltung auf, an welche ein bestimmtes PSW übertragen wird,
ID 2762 - 5 - ·
naohdem die Operation der parallelen Aufgaben eimen
vorbestimmten Punkt erreicht hat, um das FSW-Register
und die Steuerschaltung zwecks Übernahme eines neuen FSW aus der FSW-Warteschlange freizumachen.
Eb sind auch Mittel vorgesehen, um die Prοseβ«oren den
in einem bestimmten FSV angezeigten Aufgaben nach einem
bestimmten fielegungssohema zuzuordnen, so dai eine
optimale Ausnutzung der Verarbeitungsreserven des Systems
erreicht wird. Ferner sind Mittel vorgesehen, welche die Adresse des vorher erstellten Aufspaltungsbefehle anzeigen, so daß eine geeignete Endeteuerung möglich ist,
wenn eine oder mehrere Aufgaben innerhalb einer Aufspaltung selbst eine Aufspaltung enthalten. In diesem
Fall liegt eine Situation "Aufspaltung innerhalb einer
Aufspaltung" vor. Eine bestimmte Aufspaltung endet an
einem Sammlungspunkt, an dem die Daten, die aus den Aufgaben innerhalb der Aufspaltung resultieren, koordiniert
werden müssen. Es sind hierzu Schaltmittel vorgesehen, die dem erstellenden Prozessor eine Anzahl von Alternativen ermöglichen, nämlich entweder die Daten an diesem
Sammlungspunkt zu koordinieren oder je nach Länge der
einzelnen Aufgaben innerhalb der Aufspaltung eine andere Aufgabe oder einen anderen Satz von Aufgab« zu übernehmen
und die Koordinierung der Aufgaben einem anderen Prozessor
des Systems zu Überlassen*
?. ■ ■
Aasführungsbeispiele der Erfindung werden nachstehend
anhand der beiliegenden Zeichnungen näher beschrieben.
Figur U eine Darstellung sir Vtransohauliohung, auf
welche Wslse Aufspaltungsbefehle erstellt
werden können und auf wtlohe Wtise die Aufgaben innerhalb eintr Aufspaltung angtssigt
werden)
ID 2762
Figur 1B eine schematische Darstellung einer Aufepaltungseituation, wobei eine zweite
Aufspaltung innerhalb einer ersten Aufspaltung erstellt wird;
Figur 2A eine Darstellung des bei der Erfindung verwendeten Aufspaltungszustandswortes;
'Figur 2B eine Veranschaulichung, in welcher Weise die
Figuren 2B/A und 2B/B aneimandergesetzt werden Bussen, welche- die Operationenfolge
in dem erfindumgsgemäßen System veranschaulichen;
Figur 2C-2H das Aufspaltu&gssustandswort in verschiedenen Stadien der Steueroperation;
Figur 2K-2L ein Beispiel für die Operation der Sub-War te seillangem des erfimdungsgemäBen Systems;
Figur 3 einem Hinweis, in welcher Weise die Figuren 3A und 3B aneinanderzusetzen sind;
Figur 3A und 3B eine Darstellung dta Steuerteils des
erfinduagsgemäüen Systems;
Figur 4 «ine detaillierte Darstellung des FSW-Registers
umd der in Figur 3 allgemein ge«βigten logischen
Steuerschaltung}
arbeitenden System vorhandenem Vtrarbtitumgseimriohtumgtn;
sine Darstellung dsr Wt ο heel Wirkung iwischt*
dtm FSW-Rtfisttr umd dtr lugehörigen logischtn
Stsutrsoaaltumg umd dtn Sub-Warttsohlanfen-Stfisttrn umd dsm sugshuriftm logisoht» Stttttriohaltungtn bsi timtm btstimmttn Aufipaltuafgtyput.
1058U/1530
IB 2762 - 7 -
Figur 1A enthält eime schematisehe Darstellun eimee
Aufspaltungebefehls gemäß der vorliegenden Erfindung. Ein bestimmter Prozessor P1 führt nacheinander die
Befehle ia der mit 1 bezeichneten Befehlsgruppe durch.
Bin Aufspaltungebefehl 3 zeigt am, daß eise Anzahl
Aufgaben physikalischer oder logischer Art (P/l), wie
durch R1 angezeigt wird, durchzuführen ist und daß
ein Aufspaltungszustandswort FSV erstellt werden wird,
dessen Adresse letztlich in dem durch Q1 bezeichneten
Feld stehen wird. Wie man sieht, befinden sich die vom '
Prozessor P1 durchzuführenden Befehle auch nach der
Aufspaltung, wie durch 5 angezeigt wird, und ein Endebdfehl ist bei 7 dargestellt. Der Aufspaltungsbefehl
(R-,, Q1) weist auf eine Gruppe von Aufgaben hin, die ■
mit 9 bezeichnet ist. Zum Beispiel kann S1 ein Hinweis
auf die Adresse des ersten Befehls der ersten Aufgabe sein, während P1 ein Hinweis auf die Adresse der Parameter
der ersten Aufgabe sein kann. Die Befehle der ersten Aufgabe der Aufspaltung (R1, Q1) werden bei 11 gezeigt und
enden schließlich in einem Sammlungsbefehl, und bei Erreichen dieses Sammlungspunktes sollen alle Daten von
allen Aufgaben der Aufspaltung (R1, Q1) koordiniert werden. |
Diese erste Gruppe von Befehlen kann von dem Prozessor P1
ausgeführt werden, je nachdem, ob der Prozessor Pj vom
selben (P/L)-TypJJ wie er dfcreh R1 angezeigt wird, oder
nicht, und je nach dem Zustand der FSW-Warteschlange, der
die 'Aufspaltung gerade zugeordnet ist. Dies wird nachfolgend im einzelnen beschrieben werden.
Die mit S2, P2 bezeichnete Aufgabe ist in der Befehlsgruppe
13 enthalten und wird durch einen Endebefehl 14 beendet.
Man sieht, daß eine erste Aufgabe einer Gruppe von parallelen
Aufgaben einer Aufspaltung an einem Sammlungspunkt endet, während die anderen Aufgaben der Aufspaltung an einem Endebefehl enden. Die Befehle der dritten Aufgabe S3, P3 werden
109812/1530 bad original
bei 15 gezeigt. In dieser Gruppe von Befehlen wird aus
Gründen der Anschaulichkeit ein zweiter Aufspaltungsbefehl (R2, Q2) gezeigt. Die Aufgaben dieser Aufspaltung
(R2, Q2) werden bei 17 gezeigt. Die erste Aufgabe .befindet
sich bei 19 und endet in einem Sammlungsbefehl, wie das
bereite bei der ersten Aufgabe der Aufspaltung (R1, Q1)
der Pail war. Alle weiteren Aufgaben der Aufspaltung
(R2, Q2) enden in Endebefehlen.
In Figur 1B wird eine schematisierte Darstellung der
Aufspaltungen der Figur 1A gezeigt. Der Prozessor Py
ftihrt wieder die Befehle nacheinander aus, wie gezeigte
wird. Die erste Aufspaltung (R1, Q1) wird angetroffen.
Die Befehle der ersten Aufgabe in der Aufspaltung beginnen bei (S1, P1)a 1^ enden beim Sammlungepunkt 1. Die anderen
Aufgaben verlaufen in der gezeigten Weise. Es sei darauf hingewiesen, daß die Aufgabe S,, P_, die bei 15 in Figur
1A gezeigt wird, in Figur 1B in deutlich sichtbarer Weise eine interne Aufspaltung aufweist, also eine Aufspaltung
innerhalb einer Aufspaltung. Daher endet die erste Aufgabe,
nämlich 19, in dieser Aufspaltung mit einem Sammlungspunkt;
alle weiteren Aufgaben enden mit einem Ende lie fehl.
In Figur 2A wird ein typisches FSW-Wort gezeigt, das nach
Auftreten einer Aufspaltung in dem Befehlsfluß eines bestimmten Prozessors an die noch zu beschreibende Steuereinrichtung
gegeben wird. Die verschiedenen Felder in dem FSW sind folgendermaßen besetzt:
N1 did Anzahl der Aufgaben in der Aufspaltung, die noch nicht
verteilt sind}
N2 die Anzahl der Aufgaben in der Aufspaltung, die verteilt,
N2 die Anzahl der Aufgaben in der Aufspaltung, die verteilt,
aber noch unvollendet sind)
S ein Hinweis auf die Adresse des ersten Befehls der eriten Aufgabe j
S ein Hinweis auf die Adresse des ersten Befehls der eriten Aufgabe j
109817/1S30 bad original
der ersten Aufgabe;
P/L der (P/L)-Typus der des laufenden FSW zugeordneten
Aufgaben;
* eine Anzeige dafür, da0 der Prozessor, der die
laufende Aufspaltung erstellt hat, aus der Gruppe
ausführen, ausgeschieden ist; I eine Anzeige dafür, daß dieses FSV das Anfangs-FSV
(Bnd-FSW zur Vollendung der Operation) in dieser
Aufspaltung ist;
RÜCKKEHR die Speicheradresse des nächsten Befehls nach dem '
Sannlungsbefehl für eine bestimmte Aufspaltung;
I* die Adresse des laufenden FSV in seiner jeweiligen
Varteschlange;
JS. die Adresse des FSV, das der Aufgabe zugeordnet ist,
die den laufenden Auf·paltungebefehl erstellt hat;
1-1 der (P/L)-Ty ρ üb der Aufgabe, die den laufenden
Aufspaltungsbefehl erstellt hat; I.D. das Identifizierungezeichen des Prozessors, der
dieses FSV erstellt hat.
In Figur 2B wird nun das erfindungsgemäße Verfahren
dargestellt« Beginnt nan an Startpunkt 21, so sieht man, ä
daß ein bestimmter Prozessor in einer Gruppe τοη parallel
arbeitenden Prozessoren Befehle dekodiert, wie bei 23 angezeigt wird* Ein bestiasttttr Vorgang findet statt, wenn
der Befehl ais Aufspaltungebefshl identifiziert wird,
wie bei 25 angezeigt wird, oder als Eadebtfehl, wie bei
27 angezeigt wird, oder als Sammlungabefehl, wie bei 29
angezeigt wird. Venn der Befehl keiner dieser drei Befehlsarten ist, wird er ausgeführt, wie bei 31 angezeigt wird;
und die Linie 33 zeigt an, daS der nächste Befehl dekodiert,
wie bei 23 angezeigt wird. Vas eben beschrieben wurde, ist
die grundeätslifae Arbeitsweise eines Prozessors, und zwar
gibt es Je eine dieser 8ohleifen für jeden besetzten,
parallel arbeitenden Prozessor. Aus Oründen der Übersioht
liohkelt 1st jedoch nur eine dieser Sohleifen gezeigt.
10S81 λ/1530
BAD ORiGINAL
IB 2762 - 10 -
Ia folgenden werden die drei erwähnten Befehlearten
näher erläutert.
Wenn ein Aufspaltungsbefehl geaäfi Figur 2B dekodiert
wird, wie Auren die Linie 35 angezeigt wird, so bedeutet
das, daß eine Gruppe ron parallel durchzuführenden Aufgaben von dem betreffenden, den Aufopaltungebefehl
dekodierenden Prozessor angetroffen wurde. An diesem Punkt wird von den auf die Aufspaltung gestossenea
Prozessor ein Aufspaltungszuetandswört (PSW) erstellt,
dae den in Figur 2A beschriebenen entspricht und zur
Steuerung der Durchführung der parallelen Aufgaben dieser Aufspaltung dient» Da eine gewisse Möglichkeit besteht,
daä innerhalb einer Aufspaltung eine Aufspaltung auftritt,
1st es notwendige in das laufende FSW die Adresse des FSW
einzusetzen, aus Ae* das laufende ISW entstanden ist, was
dazu dltnt, bei leenAigung des laufenden FSW zu dta ursprünglichen FSW zurttekzukehren. Wie »an bei 41 sieht,
fordert die Steuerstufe etann Verarbeitungstinrientung en
an, die von selben (PA)-TyPUS find, wie er duroh den
dekodierten Aufspaltungsbefehl angezeigt wird. Die FSW-Warteschlange, welche die FSW-Worte bis zu deren Operation
stapelt und welche im folgenden noch beschrieben werden wird, wird/f? daraufhin getestet, ob sie leer ist oder
nieht. Wenn sie leer ist, wie bei 45 angezeigt, wird die
FSW~Warteschlange umgangen, und das FSW wird direkt in
das FSW-Register eingegeben, ron den aus die Steuerung
stattfindet, so daS unmittelbar mit dor Steueroperation
begonnen werden kann.
W®ma Alt FSW-Wart«sohlange nicht leer ist, bedeutet das,
die Operationen eines vorher erstellten FSW
109817/1530
2045Q52
IP 2762 - 11 -
ablaufen - dieses FSW wird hier als das laufende FSW
bezeichnet - und daß das gerade erstellte FSW in der FSW-Warteschlange gestapelt werden muß. Der Prozessor,
der das FSW erstellt hat, kann entweder darauf warten,
daß dieses FSW und alle früheren FSW vollendet werden, oder er kann bewirken, daß die Bit-Stelle * in dem FSW
eingestellt wird und kann*dann ausscheiden und die Koordinierung der sich bei der Durchführung der Aufgaben
der Aufspaltung ergebenden Daten einem anderen Prozessor
des Systems überlassen. "
Auch wenn ein Prozessor des Systems frei wird, wird der Hechanismus zur Anforderung von Verarbeitungseinrich- tungen
dieses Typs daraufhin ge testet, ob/ler Prozessor
zur weiteren Durchführung der Aufgabe benötigt wird oder
nicht* Dies ist bei 22 gezeigt. Wenn dies der Fall ist,
wird sein Sesetztbit eingestellt und der Prozessor wird
für Operationen innerhalb der laufenden Aufspaltung
reserviert.
Beim Eintritt in eine Aufspaltung überprüft ein bestimmter
Prozessor, ob alle in dem laufenden FSW angezeigten Auf- | gaben verteilt sind, d. h. ob IT1 Hull ist. Wenn H1 Mull
ist, sind alle Aufgaben verteilt worden, und der die
Befragung bei 49 vornehmende Prozessor kann eine Freimeldung
geben, wie bei 51 angezeigt wird, und das laufende FSW
hatte alle Prozessoren, die es gebrauchen konnte, für sich beansprucht. Wenn nicht alle Aufgaben verteilt sind, wird
N1 größer als Hull»in; die nächste Aufgabe wird dann diesem
fragendtn Prozessor zugeteilt werden, wie bei 53 zu sehen ist.
Der fragende Prozessor wird auch das Feld JT1 herunterschalten,
um die Aufzeichnung der gegenwärtig noch nicht verteilten.
Aufgaben auf dem neuesten Stand zu halten. Dieser ProEfraaor
wird auch eine zweite Überprüfung des Feldes I1 vornehmen,
10981^,530
ID 2762 - 12 - 2 O k 5 U b
wie bei 55 gezeigt ist, was dazu dienen soll, au ermitteln, ob alle Aufgaben nach derVerteilung bei 53 verteilt sind.
Diese Überprüfung wird deswegen durchgeführt, weil die Aufgabe, die gerade zugeteilt worden ist, die letzte Aufgabe
gewesen sein kann; und wenn dies der Fall war, ist es notwendig, eine weitere Operation durchzuführen. Dies
kann folgendermaßen erklärt werden. Es ©ei an die Erläuterung der Felder in dea FSW gemäß Figur 2A erinnert, wonach das
erste Feld H1 die Zahl der noch nicht zugeteilten Aufgaben
anzeigt, während ein zweites Feld Hp die Zahl der zugeteilten,
fc aber noch nicht vollendeten Aufgaben anzeigt. Wie man aus
Figur 1B sehen kann, erfordern einige Aufgaben in einer Aufspaltung mehr Zeit als andere Aufgaben. Daher ist es
möglich, daß alle Aufgabaa. den verschiedenen Systemproseseoren
zugeteilt worden sind, daß es aber eine beträchtliche
Zeitspanne dauern kann, Ms alle Aufgaben vollendet sind. Zum Beispiel wird die in Figur 1B mit S-, P- bezeichnete
Aufgabe beträchtlich mehr Zeit in Anspruch nehmen als jede andere Aufgabe, da innerhalb dieser Aufgabe sich
eine zweite Aufspaltung befindet. Während auf die Vollendung dieser Aufgaben gewartet wird, ist das FSW-Reglster blockiert,
und es besteht keine Möglichkeit, damit zu beginnen, Aufgaben in anderen Worten PSW anderen Prozessoren in dem
W System, die verfügbar g©ia können, zuzuteilen. Daher wird
eine Sub-Warteechlaage vorgesehen, wie noch erklärt wird,
um die Steuerung der Operation eines bestimmten FSW zu
übernehmen, eo bald alle Aufgaben zugeteilt worden sind.
Dadurch wird das FSW-Register frei und kann gemäß neuen
Worten FSW Prozessoren Aufgaben zuteilen. Wie durch die Linie 57 angezeigt wird, wird daher, wenn ale Aufgaben endgültig
verteilt sind, das FSW gemäß 59 der Sub-Warteschlange
zugeführt. Am diesem Punkt nuß die FSW-Warteschlange gemäß
61 daraufhin überprtft werden, ob sie leer let oder nicht.
Wenn sie leer 1st, wie durch Linie 63 angezeigt wird,
bedeutet dies, daß die gesamte Aufspaltungeoperation
jedenfalls im jetzigen Zeitpunkt vollendet ist und daß
109812/1530 BAD 0Rf@lNAL
-„-■ 2045ΰ52
keine Verarbeitungseinrichtungen sehr benötigt werden.
Daher nuß, wie bei 65 angezeigt wird, die Bedarfeanzeige
für weitere Bearbeitungseinheiten abgescheltet werden.
Zu diesem Seitpunkt kann der Prozessor, der bei dem Test feststellte, daß alle Aufgaben zugeteilt worden sind, mit
der Durchführung der ihm bei 53 übertragenen Aufgabe beginnen. Dies wird durch Linie 71 angedeutet. Andererseits,
wenn der lest §1 ergibt, daß die FSW-Warteschlange nicht
leer ist, muß das nächste in der Warte schlänge wartende
FSW in das PSW-Register übertragen werden, so daß gemäß
die Operation dieses PSW beginnen kann.
Andererseits, wenn der in einem bestimmten Prozessor
gerade dekodierte Befehl kein Aufspaltungsbefehl ist,
wird ein Test 27 durchgeführt, um zu bestimmen, ob es si oh bei dem Befehl um einen Ende baft JnI handelt. Wie man in
Figur 1B sieht, enden Aufgaben mit einem Endebefehl. Wenn
der Test 27 in Figur 2B ergibt, daß sin Endebefehl vorliegt, bedeutet das, daß eine zugeteilte Aufgabe gerade vollendet
ist; dann wird das Feld I2 des FSW, dessen Operationen
gerade durchgeführt werden, wob·! dieses Feld die Zahl "
der zugeteilten, aber noch unvollendeten Aufgaben anzeigt,
um eins herabgesehaltst, wie bei 28 angezeigt wird. Das
Feld I2 wird bei dem Test 30 dann daraufhin getestet, ob
alle Aufgaben vollendet sind. Wenn nicht alle Aufgaben vollendet sind, wie durch die Linie 32 angezeigt wird, dann ist
in der laufenden Aufspaltung die §esamtoperation nc cn
nicht abgeschlossen. Ferner besteht dann eine Möglichkeit, daß noch nicht alle Aufgaben zugeteilt worden sind. Um dies
zu prüfen, test« der Prozessor, der gerade seine Aufgabe
vollendet hat, das Feld I1 in dem FSW, was mittels des Tests
49 durchgeführt wird. Wsnn alle Aufgaben zugeteilt sind (I1 » 0) bedeutet das, «aß, obwohl alle Aufgaben zugeteilt
108817/1530
ID 2762 - U -
wrd©n siad? die Surcfefthrang aller Aufgaben noch nicht
Y©lleaä@t ist« Daa@r kaum der Prozessor, der beim Test
einem Sndebefehl anzeigte, seine vollständige, bei Durchfüferrag
der Aufgab© sjrlialtane Imf oma tion in eine» bestimmten
©afojgfe de® Speicher® speichern ma ©ine Freimeldung abgeben.
Die® wird fe@i 31
Andererseits9 wenn der Prozessor, der den Endebefehl
dekodiert©, beim Test 30 feststellt, daS alle Aufgaben
P το liefet sind, wie durch Linie 34 angezeigt wird, muß
dieser Preseseor noon ein© Information ermitteln· Bs »ei
an &1©§®β Parnkt damm ®rinn®rt9 dall ä@r Prozessor, der am
dem Eni@b«f@kl m%langte& ©rmittelt festta, daä seine Aufgabe
die l@tite Aufgab© wer» die zu dam betreffenden FSW gehörte,
Sa der Seat 30 erg©b, daß all® Aufgaben vollendet waren.
Di@@©r Pro^esEor 9 ä@r in folgenden als der letzte Prozessor
bezei@äm@t wird, nuS num den Zustand des Prozessors ermitt©lm9
der ursprlagliofe nach Dekodierung- ©ines Aufspal-
- ttmg@l>©feW,i da® FBW sretellt hat» Der erstellende Prozessor
lutte drei Alternativen, unü. die gewählte Alternative muß
T©a d©m Prssessor ermittelt werden, der ermittelt, daß
£ seiae Aufgab® ii@ letzte vollendet® Aufgabe war«,
Wi@ Torher £Eg@ieut@t, eniet eine Aufspaltung an einem
Sammlungspunkt. Allgemein kann festgestellt werden, daß
ein Samalungspunkt derjenige Punkt in einer Aufspaltung
ist, an dem die aus den parallelen Aufgaben der Aufspaltung
resultierenden Paten koordiniert werden. Wenn der
Prozessor P1, der die erste Aufgabe in einer Aufspaltung
durchführt, den Sammlungspunkt erreicht, prüft er, ob
alle zu dem FSW gehörenden Aufgaben Tollendet sind. Baß
nicht notwendig alle Aufgaben vollendet sind, wenn ein
Proseesor einen Sammlungepunkt erreicht, kanm am Sammlungspunkt 1 von Figur 1B gesehen werden. Man sieht in dieser
Figur z. B., daß, wenn der die Aufgabe S1, P1 durchführende
10981 ?/ 1 530 bädoriginal
TD 2762 - 15 -
Prozessor den Sammlungspunkt 1 erreicht, nicht alle Aufgaben in der Aufspaltung (R1, Q1) vollendet sind,
da die Mehrzahl der anderen Aufgaben länger ist und
daher in der Hegel auch mehr Zeit beansprucht als die Aufgabe S1, P1 und da auch die Aufgabe S5, P- eine
innere Aufspaltung enthält, nämlich die Aufspaltung (R2I $2^' d3"e die ^&Be*zm& τοη Prozessoren erfordert,
welche den einzelnen Aufgaben S- (S1, P1), S-.(S2»P2)»
S, (Sjj, Pjj) zugeordnet werden. Wenn nicht alle Aufgaben
durchgeführt sind, hat der Prozessor Pj drei Alternativen.
1. Er kann einer der AufspaltungeProzessoren werden
und eine Aufgabe in einer der Aufspaltungsverzweigungen
übernehmen, die außerhalb des Hauptflusses liegt, der gerade von P1 vollendet wurde.
2. Er kann beispielsweise bei einer Prioritätsunterbrechung
ausscheiden und eine andere Arbeit übernehmen, und die Koordinierung der Baten dem Prozessor
Überlassen, der ermittelt, daß sein Endebefehl alle Aufgaben vollendet (obiger Test 30).
3. Er kann auf die Vollendung aller Aufgaben warten und ä
dann die Daten koordinieren.
Wenn der Prozessor P1 die Alternativen 1 oder 2 wählt,
stellt er die Bitstelle * in dem 7SW ein und speichert
seinen Zustand ebenso wie eine bestimmte Stelle, an der alle Baten koordiniert werden können, in dem Rückkehr-Feld
des FSW und verläßt die Aufspaltung. Wenn der Prozessor
P1 die Alternative 3 wählt, wird die Bitstelle * nicht
eingestellt, und der Prozessor wird im wesentlich darauf
werten, daß alle Aufgaben vollendet werden.
109812/1530
ID 2762 ~ 16 - 2Ö4bÜb2
Der Prozessor, der beim Test 30 ermittelt, daß eile
Aufgaben vollendet sind, (letzter Prozessor) nuß bestimmen,
ob der erstellende Prozessor die Aufspaltung verlassen bat. Dies erfolgt beim Test 36 in Figur 2B,
und zwar durch Prüfen der Bitstelle ♦ in dem PSW. Wenn der erstellende Prozessor nicht ausgeschieden ist, wie
durch Linie 33 angedeutet wird, bedeutet das, daß der
erstellende Prozessor darauf' wartet, die Daten zu koordinieren.
In diesem Fall wird der Prozessor, der beim Test 30 zu einem positiven Ergebnis kam, nicht mehr benötigt
und kann eine Freimeldung abgeben, wie bei 51 angezeigt wird. Andererseits, wenn der erstellende Prozessor
ausgeschieden ist, wie durch Linie 40 angezeigt wird, ist
es Aufgabe des Prozessors, der beim Test 30 zu einem positiven
Resultat gekommen ist, die Daten zu koordinieren. Daher entnimmt der Prozessor, wie bei 4-2 angezeigt wird,
die Rtäc^.kehradreses des Prozessors P1 aus dem FSW und
kann an diesem Punkt die Daten koordinieren. Ob dieser
Prozessor tatsächlich Daten koordiniert, hängt davon ab, ob es sich um das End-FSW in einer bestimmten Gruppe von
Aufspaltungen handelt oder nicht.
Zum Beispiel kann gemäß Figur 1B der Prozessor, der beim
Test 30 zu einem positiven Resultat kam, sich bei dem
Endebefehl der Aufgabe S- (Sgt P2) befinden. Wie man in
Figur 13 sieht, ist dies die längste Aufgabe der Aufspaltung (Rp» Qo)* Deshalb befindet sich der Prozessor in einer
Situation, in der er der koordinierende Prozessor einer Aufspaltung innerhalb einer größeren Aufspaltung, nämlich
der Aufspaltung (R1, Q1) ist. Wenn dies so ist, ist das
gerade bearbeitete FSW nicht das End-FSW in dieser Aufspaltung, da vorher bereits ein FSW erstellt worden war,
als ein. ursprünglicher Prozessor die Aufspaltung (R1, Q1)
dekodierte. Daher 1st es notwendig, daß der infrage stehende Prozessor die Adresse des früheren FSW bestimmt,
10981?/1S30
IB 2762 -17.
den Zustand der zu diesem Wort gehörenden Aufgaben
zu überprüfen und über seine zukünftigen Handlungen zu
entscheiden. Der Test 44 wird durchgeführt, um zu er-Mittein, ob das für die gegenwärtige Operation Maßgebende
FSW das Ead-FSW in der ursprünglichen Aufspaltung ist.
Wie durch Linie 46 angedeutet, koordiniert das System die Baten,die sich durch Ausführung der zu dem laufenden
FSV gehörenden Operationen ergeben haben und bewirkt
einen Zugriff zu dem übergeordneten, d. h. erstellenden PSW.
Das erstellende FSW wird wiederum bei 30 daraufhin überprüft, ob alle Aufgaben vollendet sind.Wenn nicht alle
Aufgaben vollendet sind, wie durch Linie 32 angedeutet, führt der Prozessor den Test 49 durch, da in der erstellenden Aufspaltung Aufgaben vorhanden sein können,
die noch nicht zugeteilt sind. Wenn der Test 49 ergibt, dati alle Aufgaben zugetelLt sind, ist der Prozessor frei,
so lange in der erstellenden Aufspaltung noch Aufgaben durchgeführt werden; es werden auch keine weiteren Bearbeitungseinrichtungen des Systems benötigt, da alle Aufgaben nach dem Ergebnis des feste 49 zugeteilt sind.
Daher speichert der Prozessor seine gesamte erarbeitete ä
Information und gibt eine Freimeldung ab. Sie Daten werden
bei Vollendung dieses dem Zugriff unterworfenen FSW von einem Prozessor koordiniert werden* Wenn nicht alle Aufgaben verteilt sind, übernimmt der Prozessor eine der
Aufgaben, wie bei 53 angezeigt, und setzt seine Tätigkeit
innerhalb des Aufgabenbereichs des dem Zugriff unterworfenen FSW fort, welches in diesem Fall das erstellende
FSW ist.
Wenn andererseits der Test 30 ergibt, dag alle zu dem erstellenden FSW gehörenden Aufgaben vollendet sind, führt
der Prozessor nochmals den Test 36 durch und verfährt
109β1?Μ530 BADORiaiNAL
ID 2762 - 18 -
wie vorn®?. ¥®®n der Prozessor also nicht über Linie 32
geht, wird @r sehli@®Xieh entweder liber Linie 38 eine
freieelduag abgeben oder die gesante Arbeit der Aufspaltung
üb®r den Test 44 Tollendes,, wie bei 54- angezeigt.
Wenn der fest 27 ergibt, da® der laufend® Befehl kein
" Endeb®fehl ist, wird ©in 5eet 29 durchgeführt, um zu be-
ßti&erae @fe ©s sich bei den Befehl um einen Sammlungsbefefel
hendelt oder nicht«, Wenn die® geaäi Linie 56 der
Fall let, teed®ut®t im^9 d&® der äen Sammlungabefehl
dekorierend® 'froressor am d@m Punkt angelangt ist, an
des die Bete% ¥©m allen in der Aufspaltung durchgeführten
Qp®r©tioiieB, k@#rdiniert werden sollen. Zh* Beispiel xeigt
der 0amala®g®fe©f©kl 2 in fi^ur 1B den Punkt in der Auf'»
8 Q2) ®^v aaa ^©m die Ergebnis®® i@r Durchführung
S^ (S1^ P1), S^ (Sg$>
Pg), S^ (S^, P^) f····»
k®@rtiiiiert werten tollen ο Wie je do oh in der
%n »@hen ist, ist e@ »dglieh, daß eine
oder g»©lar®r© der A^fgabeB @la« lämger· Zeit fllr ihre Dur cnbeans^r^Gäen
mim ä±® am i<s» SaanluBgefuakt 2
Aufgmb®» Bsker aui der mn dem Sammlungβpunkt
anko&nend« frosessor prüfem$ «b alle Aufgaben innerhalb
de»4ugehörIgen ?SW yollendet sind. Dies erfolgt durch den
Test 58 von figur 2B. Wenn nicht alle Aufgaben rollendet
sind (Linie 60), kann es sein, daß dieser Prozessor keine Zelt hat, üb auf deren Vollendung zuwarten, «©Ädern ν on
ihn gefordert wird, daS er z. B. aufgrund eines Prioritat8-weoheels
aussohei&et. Dies wird bein Test 62 geprüft. Wenn
von dem Prozessor rerlangt wird, daft er zu eintr anderen
Sttlle dts Systeas übergeht, stellt er genäö €4 die
Bitstellf * ia de« FSW ein und soheldet aus. Wenn seine
Auseoatiaung nicht Ttrlangt wir*, wird dtr Test 58 erneut
.'■. BAD
109817/1530
ID 2762 - 19 -
durchgeführt. Wenn sich ergibt, daß alle zu des FSW gehörenden Aufgaben vollendet sind, so wird Test 66
daraufhin durchgeführt, ob e· sich vat das End-PSW
in der ursprünglichen Aufspaltung handelt. Wenn dies der Fall ist (linie 68), vollendet der Prosessor die
Arbeit gemäß 54, indem er alle Daten koordiniert und seine Arbeit entlang seine* ursprünglichen Programm
fortsetzt. Wenn es sich nicht um das Bnd-FSW handelt,
(Linie 70), setzt der Processor die Verarbeitung der Befehle in »einer Aufgabe fort, bis er einen Endebefehl
erreicht. In Figur 1B würde dies der Situation entsprechen,. in der der Sammlungsbefehl 2 angetroffen wird; der
Prozessor verarbeitet dann die Befehle (S,, Pt)-D usw.,
bis er den Endeisefehl von S-, P. erreicht. Wenn der
Endebefehl dekodiert wird, wie durch die vom fest 72
ausgehende Linie 74 angezeigt wird, koordiniert der Prozessor die Ergebnisse dieser Aufspaltung und bewirkt
einen Zugriff zu dem erstellenden FSW, An diesem Punkt
würde das System gemäS Figur IB dasjenige FSW einem
Zugriff unterwerfen, welches das beim Test 66 befragte
FSW erstellt bat. Das heiSt, es würde dasjenige FSW
einem Zugriff untrerwerfen, dat» zu der Auf spaltung (R1, Q1)
erstellt worden war. Mach dem Zugriff zu dem erstellenden
FSW, welcheβ noch mit der Steuerung der zu der ersten
Aufspaltung gehörenden Aufgaben beschaftesein kann, wird
der Test 78 durchgeführt, um zu bestimmen, ob alle Aufgaben in dem erstellenden FSW vollendet sind. Wenn sie
nürt vollendet sind, (Linie 80), kann es sein, daß in
der zu diesem FSW gehörenden Aufspaltung sich noch Aufgaben befinden, die noch nicht zugeteilt sind. Daher wird
geaäü Linie 80 der Test 49 durchgeführt, um zu sehen, ob
alle Aufgaben in diesem übergeordneten FSW zugeteilt sind. W*na ja, wird dieser Prozessor nicht weiter benötigt4 er
gibt daher gemäfl 51 eise Freimeldung ab und/fertig. Wenn
gemfti Test 49 nicht allt Aufgaben zugeteilt sind, wird
10981?/ 1 S30 BAD OBlSlNAL
ID 2762 - 20 -
die nächste Aufgabe gemäß 53 diesem Prozessor zugeteilt,
und der Prozessor hilft mit bei der Ausführung der Aufgaben der erstellenden Aufspaltung.
Wenn andererseits der Teat 78 ergibt, daß alle zu dem
erstellenden FSW gehörenden Aufgaben vollendet sind, nimmt der Prozessor gemäß Linie 82 die Rückkehr»Adresse
aus dem FSW und vollendet die Arbeit. Die Vollendung der Arbeit schließt in diesem Fall ein, daS die Befehle
(S1$ ρχ)^» **·» *>3-s 2Ua Sammluagspunkt 1 durchgeführt
werden, an dem alle Daten aus beiden Aufspaltungen in
dem gegebenen Beispiel koordiniert werden müssen, und geht dann seinen Weg weiter bis au dem endgültigen Endebefehl?
bei dem die gesamte Operation abgeschlossen ist. Beim Eintreffen am Sammlungspunkt 1 entsteht im vorliegenden
Beispiel eine Situation, die der beim Test 29 von Figur 2B ähnelt; aber da wir angenommen haben, daß alle
Aufgaben vollendet sind,und daß dies das End-FSW in der
ursprünglichen Aufspaltung ist, werden die Tests 58 und
66 über die Leitung 68 die Arbeitsvollendung 54 zur Folge haben*
Struktur der Anordnung
Wo es möglich ist, wird den Anordnungsteilen, die bestimmten
S.chrlttea de® in Figur 2B beschriebenen Verfahrens entsprechen»
entsprechende Bezugisaeichen zugeordnet, wobei ein Buchstabe hinzugesetzt wird. Zum Beispiel wird den
Schaltung8teilen, die den Verfahrensschritt 44 in Figur 2B
durchführen, das Bezugszeichen 44a zügeordnet,usw.
In Figur 5 wird ein Typus eines digitalen Prozessors gezeigt, der als Verarbeitungseinrichtung in de» erfindungsgemäien
System Verwendung finden kann und der für eine bestimmte (P/L)-Funktion bestimmt ist. Dieser Prozessor
ist ähnlich denjenigen, die in der oben erwähnten U.S.Anmeldung der Anmelderin beschrieben sind, wobei eine noch
10 9 8 12/1530 bad
zu beschreibende Modifizierung vorgenommen wurde. Ee
dürfte einzusehen sein, daß bei Benutzung der Prozessoren
in Gruppen wie in der genannten ü.S.-Patentanmeldung
eine Verbindungsunterbrechungsstufe notwendig sein wird,
die ähnlich der in der U*S.-Patentanmeldung beschriebenen
ist, um sicherzustellen, daß keine Konflikte auftreten, wenn mehr als einer der zu beschreibenden Prozessoren
gegen den Steuerteil arbeiten, der nachfolgend im Zusammenhang «it den Figuren 3A und 3B beschrieben werden
wird.
■ ·■■-■ .
In Figur 5 werden Datenkanäle 201 a, 203 * und 205 a
gezeigt, welche Steuerinformation aus dem laufenden FSW
in dem Steuerteil empfangen. Diese Information wird zu
der Speieherzugriffstuft 207 gesandt, die Speichermittel
enthalten kann und die über den Kanal 209 einen Zugriff
zu dem Speicherteil des Systems bewirken kann» Der Speicherteil des Systems, der nicht gezeigt ist, kann aus einem
gemeinsamen Speicher für alle Prozessoren in dem System bestehen. Sie Operanden werden aus dem Speicher über den
Kanal 211 empfangen und dtr Btfthlsfolgestufe 213 zugeleitet. Sie Befehlsfolgestufe sendet Befehlsfolgen zu dem
Verkodiersr 215. Der Vorkoditrtr 215 bestimmt, ob der
jeweilige ΒΛβΙ ein Aufspaltuogs-, ein Ende- οdtr «In
Sammlungβ»·fehl ist, wie durch dit Leitungen 25 a, 27 ·
UHd 29 a amgtätuttt wird, ti· mit dem Steuerteil der
Figur 4 vtrfettadtn sind. Wtmn et cioh um β inen Aufspaltungsbefehl handelt, wird dor Befehl oder «in feil desselben
dsm Register 223 zugeführt, um als FSW für diese Aufspaltung
benutzt BU werden. Gleichzeitig informiert die Leitung 25 a
dsn Steusrttil darüber, daü sine Aufspaltung angetroffen
worden ist. Bis Ltitangen 27 a umd 29 a siad von Jedem
Prozessor aus ils tr gttifnttt Prioritätssohalt unftn mit
dta Steuerteil verbundent um dieten darüber »u informiere»,
daleinXmdebtftal>·». ti* Bammluagtbefthl angetroffen
worden ist. Ditst Leitungen kömmta Aaiu btmit»t wtrdtn,
- BAD ORIGINAL
109812/1530
ID 2762 - 22 -
©inen Endebefehl oder einen Sammlungebefehl daran zu
hindern, über den Kanal 220 transportiert zu werden, da ein Aufspaltunge-, Ende- oder Sammlungsbefehl tatsächlich nicht wi© andere Befehle unmittelbar Datenverarbe)itungsmittel in Anspruch nehmen. In dem Pail, daß ein
Befehl weder ein Aufspaltung»-, noch ein Ende- oder
Sammlungsbefehl ist, wird daher davon ausgegangen, daß
es sich um einen anderen Typus ©inen Datenverarbeitungsbefehle handelt, und der Befehl wird über den Kanal 220
den in Anspruch genommenen VerarbeitungemitteIn in einer
Weise eingeführt, wie das in der oben genannten U.S.-Patemtanmeldung beschrieben ist» Bas Register 225 enthält
ein Feld 13» welches die Adresse desjenigen FSW kennzeichnet, das zu der gerade von dem Prozessor durchgeführten Aufgabe gehört. Dieses Feld des Registers 225 ist
über einen Kanal 227 von dem FSW-Reglster und von dem
Steuerteil von Figur 4 her einstellbar. Wie im folgenden
noch klarer wird, wird ein Prozessor, aaohdem er eine
Aufgabe innerhalb einer gegebenenAufsp<ung übernommen
hat, abgetrennt und führt diese Aufgab® unabhängig von
der Steuerung durch das FSW-Registor u&d unabhängig von
dem Steuerteil durch* Wenn »in solcher Prozessor einen
ladebefefel oder einen Sammlungsbefehl vorfindet, muS er
zu d®m FSW zurückkehren» da® der Aufspaltung zugeordnet
ist, asu der diese Aufgabe gehört. N3 wird also von dem Prozessor mitgeftthrt, während er eine Aufgabe durchführt,
so daß der Prozessor zum geeigneten Zaitfunkt gemäS 13
einen Zugriff zu dsm FSW vornehmen kanm, damit geeignete Steueroperationen vorgenommen werden kunmen. Dieser
Zugriff wird j—mreh bewirkt, dag 13 über den Kanal 229
und über da· Tor 231 geleitet wir«, wobei 4er forsehaltungs
impuls über Ale Leitung 233 Aerangeftmrt wird. Si· Leitung
233 wirA Auren AItAMi ΒηΑ···ί·η1 tAtr Asm Sammlung sb· fehl
■ugoerAntten 8ttu*rlfitumgtn 27 »» 29 a aktiviert, ftlsiefcztltig aktivier·» 11«·· Leitung·* ··· tor 239» «■ *»·
10 9 ti 1 2 / 1 S 3 0 BAd
ID 2762 - 23 -
Identifizierungszeichen I.D. des betreffenden Proneβ«ore
über den Kanal 237 zu dem Steuerteil zu führen. Das
Zeichen I.D. kann in fest verdrahteter IOm ro rl ie gen
und dient dazu, den betreffenden Prozessor zu identifizieren, der einen Zugriff zu einem bestirnten PSW vornimmt, damit
der Steuerteil ein Mittel h&t, nämlich das Zeichen I.D., um geeignete Steuerinf or isation zu den anfordernden Prozessor
zurückzuführen. Wie man in Figur 5 sieht, enthält das Register 223 das Wort PSW. Das PeId N4, welches die Adresse desjenigen
FSW ist, aus welchem das PSW in 223 hervorging, enthält in Wirklichkeit den Inhalt des Feldes If des laufenden PSW, (
das aus dem Register 223 über das for 257 gelangt ist. Die
(P/L)-Bezeichnung 1st ein Stil des Wortes PSW, wie es die
Befehlsfolge-stufe erstellt hat. Der Seil I.D. kann fest
verdrahtet sein und ist das Identifizierungszeichen des
Prozessors. Das Harkenregister 234 enthält die (P/L)-Bezeichnung des Prozessors. Der Inhalt des Marken registers
ist über das Tor 246 mit der Vergleichsschaltung 236 verbunden. Die (P/L)-Bezeichnung in den PSW ist über das for
248 mit derselben Vergleichsschaltung verbunden. Wenn die
(P/L)-Bezeichnung des Prozessors, wie sie in dem Markenregister 234 enthalten ist, nicht dieselbe ist wie die
(P/L)-Bezeichnung des in de« Register 223 enthaltenen PSW,
so wird die Umgleichleitong 250 aktiviert. Wenn die Be- *
zeichnungen nicht dieselben sind, kann der Prozessor nicht an der Ausführung der Aufgabe in der Aufspaltung teilnehmen.
Wenn, daher die Prioritätsabgangleitung 240 aktiviert ist, wird die leitung 252 die Bitstelle* in dem PSW einstellen
und wird die den Besetztzustand anzeigende Bitstelle dieses
Prozessors auf frei einstellen, und der Prozessor wird ausscheiden. Wtnn andererseits die Prioritätsabgangsleitung
zu diesem Zeltpunkt nicht aktiviert ist, werden die Bitsteile*
und das 4en Besetztzustand anzeigende Bit nicht in dieser
Weise eingestellt, und der Prozessor wird im wesentlichen warten* bis alle Aufgaben in dieser Aufspaltung beendet sind,
2 O A 5 U ο
ID 2762 - 24 -
um die Beten au koordinieren. Ferner wird die Marke aus dem Register 234 über das Tor 254 in das FSW als (^t)1-1
eingeschrieben, wobei diese (P/L)-Bezeichnung für
die Aufspaltung laaßgebend ist, welche die Aufspaltung in 223 hervorbrachte. Dies wird sioh bei der im folgenden
im Zusammenhang mit den !Figuren 3a, 3b, 4 und 6 zu
beschreibenden Steueroperatiomen als mütslich erweisen.
Die Leitung 25 b wird schließlich über geeignete Yerzögerung«-
mittel D1 das gesamte Wort FBW über den Kanal 212 zu dem
Steuerteil führen. Die Yersögeruugsechaltung D1 ist gewählt
worden^ ^ zunächst die Vergleiehsoperationen und den
Datentransfer innerhalb des gerade beschriebenen Registers 223 zu ermöglichen, bevor das FSW zu dem Steuerteil geführt
Das flip-flop 247 ist sur Anzeige einer Aufspaltung innerhalb
einer Aufspaltung vorgesehen. Die Leitung 70 a von dem Steuerteil ist mit der einen Seite des flip-flops
verbunden. Wenn sie aktiviert wird, zeigt die Leitung 70 a an, daß die Aufspaltung, die gerade vollendet worden ist,
nicht die End-Aufspaltung innerhalb der ursprünglichen Aufspaltung ist und daß der Steuerteil eine Situations "Aufspaltung
innerhalb einer Aufspaltung" angetroffen hat. Die Leitumg 70 ε wird von dem Steuerteil aufgrund einer Aktivierung
der Leitung 27 « aktiviert, wobei letzterer anzeigt,
daß der Prozessor gerade eine Aufgabe vollendet hat. Die Aktivierung der Leitung 70 a aeigt daher an, daß die vollendete
Aufgabe gerade die Vollenduag einer Aufspaltung bewirkt hat, daß aber diese Aufspaltung nicht die End-Aufspaltung
ist. Daher zeigt die Leitung 70 a an, daß der Steuerteil
eine Situations "Aufspaltung innerhalb einer Aufspaltung"
erkannt hat. Die Leitung 70 a ist auch mit der Leitung 127 » verbunden, damit die Befehlsfolgestufe mit der Verarbeitung
10«·12/1β30 BADOrIG,nal
ID 2762 - 25 -
yon Befehlen nach dem Bndebefehl beginnen kann, welcher
die Steueroperation, welche die Aktivierung der Leitung
70 a zur Folge hatte, eingeleitet hatte. Wie ie folgenden
noch deutlicher wird, erfolgt die Aktivierung der Leitung
70 a gleichzeitig mit dem Zuführen einer anderen Speicheradresse zu dem Prozessor, die den Prozessor an Operationen
innerhalb derjenigen Aufspaltung heranführt, welche die gerade vollendete Aufspaltung hervorgebracht hatte* Saher
wird die Aktivierung der Leitung 127 a die Ausgabe der
Befehlefolge einleiten, die dieser übergeordneten, d.h. (
erstellenden Aufspaltung zugeordnet ist. Andererseits
ist das flip-flop 245 zur Anzeige des letzten FSW vorgesehen. Sie Leitung 68 a vom Steuerteil ist mit der einen
Seite des flip-flops 245 verbunden. Wenn die Leitung 68 a aktiviert wird, bedeutet das, dafl der Endebefehl, den
dieser Prozessor gerade dekodiert Mt, eine Aufspaltung
beendet, die tatsächlich die letzte Aufspaltung in der
gesamten Aufspaltung ist.
Die eine Seite des flip-flops 247 iet über die Leitung
mit dem Und-for 255 verbunden. Die Leitung 27 ο ist über
eine geeignete Terzögerungssohaltung D2 als «weiter Eingang. ,
mit den Und-Soren 251 und 255 verbunden. Die Verzögerungs- "
schaltung D2 iet gewählt, damit das Signal von der Leitung
27 ι den Steuerteil erreichen kann und das Rückkehrsignal
über die Leitungen 68 a oder 70 a geführt wtrden kann,
wenn es ei oh um diesen Fall handelt, um die entsprechenden
flip-flops einzustellen· Das über die Leitung 27 ο kommende
Bignal wird dann die fore 255 und 251 Öffnen. Wenn eine
Aufspaltung innerhalb einer Aufspaltung vorliegt, wird der Ausgang des und-Tores 255 über die Leitung 76a zu der
Belektionseinaeit von figur 6 gesandt, um für die durchzuführenden Operationen das neue FSW auszuraählenf fieiohleitig wird dft» flif-fl·· 247 in seinen lullzustand versetzt, um «ie aäokste Aufspaltung innerhalb einer Aufspaltung
BAD
ID 2762 - 26 -
abzuwarten. Wenn andererseits das flip-flop 245 in
seinen Eins-Zuetand eingestellt wird, wird die Leitung
21 c daa Uad-for 251 offnem und über die Leitung 51 a
Sie den Besetzt zustand sngzeigende Bitstelle auf frei
einstellen, da dieser Prozessor nun Bit seiner Operation
fertig is to Gleiohseitig wird das flip-flop 24-5 in
In ä®& figuren 3A und 3B, die gemäß Figur 3zusammenzusetzen
wird der Steuert®il dee erfindungsgemäfien Systems
In. Figur 31 sieht man die Verarbeitung se Inr ich tungs-Taf el
101. Di©©@ fafel k&ira ein airessierbarer Speicher sein,
wie er m& sieh wohlbekannt ist, der die Prozessoren mittels
de ram I«i©ntifizierungazeioh®n I.D. geordnet nach deren
(?/L)~£ypus aufgeführt enthält. Jede Kategorie ist mittels
Selektioasstufen 103 Adressierbar, welche über Leitung 105
aktiviert werden« us Adressen zyklisch auszuwählen oder um
die über den Kanal 10? zugeführte Adresse auszuwählen.
Die Leitung 105 ist mit der einen ^ustandsseite des flipflops 109 zur Anzeige dee Bedarfs an VerarbeitungseinrichtU'igevi verbunden. Das flip-flop 109 ist der physikalischlogischen Klasse (FA)1 zugeordnet und aktiviert daher die
Selektlonsstufo 103, die der Klasse (FA)1 der Ve rar be it ung eeinriohtungs-oTaftl 101 zugeordnet ist. Wie man ethen kann,
hat jeder Prozessor in einer bestimmten Klasse ein Beeetztbit und ein Freibit. Bei zyklischer Arbeitsweise wählt die
Selektionsstufe 103 jeden Prozessor in einer bestimmten Klasse zyklisch an und tettet dessen Besetztbit im der NuIl-PrUfBtuf· 111. Wenn das Besetztbit Mull ist, bedeutet das,
d«S der Prozessor nicht be··tat ist; die Leitung 113 öffnet
dann 4aa Vor 115, und das Identifizierungszeiohen eines
BADoma,NAu
ID 2762 - 27 - 2Q4 5Q5
Prozessors wird über den Kanal 117 zu dem I.D.- und Steuerkanal 119 und zu dem PSW-Register und der logischen
Steuerstufe 121 und zu der FSW-Sub-Warteschlange und
logischen Steuerstufe 123 gesandt, wo es einer Aufgabe
zugeordnet wird, gemäß der Verfahrensweise, die vorstehend allgemein beschrieben wurde and die nachstehend
im elnezlnen beschrieben wird. Gleichzeitig wird Über Leitung 116 das Besetztbit' für diesen Prozessor in den
Eins-Zustand eingestellt, was anzeigt, daß der Prozessor
nun dafür belegt ist, eine Aufgabe innerhalb einer Aufspaltung
durchzuführen#yeraer wird gleichzeitig das (
Identifizierungszeichen des Prozessors zu der Dekodierstufe 125 geführt, dessen Ausgang eine Aktivierungsleitung ist, die zu dem Prozessor führt, welcher durch
das Identifizierungszeiehen bezeichnet wird. Die Aktivierung
dieser Leitung ermöglicht in dem bezeichneten Prozessor den Zugriff zum Speicher entsprechend der Speicheradresse,
die über die Kanäle 201 a, 203 a und 205 a geschickt wird, wie in Figur 5 zu sehen war, und ermöglicht es ferner, daß
die Befehlsfolge stufe mit der "Verarbeitung von Aufgabenbefehlen
beginnt, welche vom Speicher über die Leitung ankommen ,
In Figur 4A wird ein Blockdiagramm einer der Selektions- I
stufen 103 von Figur 3A gezeigt. Wie man in dieser Figur sieht, ist die auch in Figur 3A gezeigte Taktleitung des
Systems mit dem Ringzähler 106 verbunden, dessen Länge
gleieh der Anzahl von Positionen in der zugehörigen P/L-Gruppe
in der Yerarbeitungseinrichtungs-irafel ist. Die
Leitung 105, die auch in Figur 3A zu sehen ist, und von der einen Zustandsseite des flip-flops 109 kommt, fungiert
ale Aktivierungeleitung, welche ermöglicht, daß der Ringzähler 106 jedesmal, wenn ein Taktimpuls empfangen wird,
um eins weiterschaltet. Der Stand des Ringzählers wird
über den Kanal 108 zu der Dekodierstufe 110 übermittelt,
welche ?Iis ausgewählte Stelle in der Verarbeitungseinrichtungs-
Tafel dekodiert und einen Zugriff zu dieser Stelle über die Leitung 104 bewirkt. Für jede Speicherstelle
ist eine Zugriffsleitun$ vorgesehen, wobei hier jedoch
nur eine geneigt wird. Wenn ee ferner erwünscht ist,
im Gegensatz zur zyklischen Arbeitsweise einen bestimmten
Prozessor auszuwählen, übermittelt der Kanal 107 direkt
eine sau Zugriff verwendbare Adresse und sperrt mittels
einer Sparleitimg den Ringzähler, so daß über den Kanal
108 keine Adresse angeboten wird und statt dessen die übor den Kanal 107 übermittelte Adresse an die Dekodierstufe
gelangt und einen entsprechenden Zugriff zu der ?#rarbeitungseinrichtungs-fafel bewirkt. Wenn keine
Signale über den Kanal 107 gelangen, jsfc die Sperrleitung
nicht aktiviert? die Fortschaltung des Ringzählerβ wird
dann durch den Zustand der Aktivierungsleitung 105
bestimmt, normalerweise aktiviert also das flip-flop 109
die Leitung 105» und die Positionen der zugehörigen P/L-Gruppe in der Vererbeitungseinrichtungs-Tafel werden
zyklisch abgetastet, um verfügbare Prozessoren für die bei einer bestimmten Aufspaltung auftretenden Aufgaben
in Beschlag zu nehmen. Dies wird außer Kraft gesetzt, wenn ein Zugriff unter einer besonderen Adresse vorgenommen
werden soll, um einen Prozessor anzusteuern, der nach Durchführung ©eimer Aufgabe eine Freimeldung abgegeben
hat,und der Kanal 107 wird aktiviert? die Sperrleitung
sperrt dann den Ringzähler für diese Zeit, damit der Prozessor, dar die Freimeldung abgibt, einen Zugriff
zu der VerarbeituBgeeiiirichtunga-Tafel unternehmen kann
und seine Freibit-Stelle einstellen kann.
In den Figuren JA und 3B wird ein P/L-Kanal gezeigt, der
mit der P/L-Dekodierstufe 131 verbunden ist. Der Kanal
ist an das I.D.-Feld und an von den einzelnen Prozessoren zu dem Steuerteil führende Steuerleitungen angeschlossen.
Der Kanml 119 ist über torschaltungen 120, 122 und 124
BAD
ID 2762 - 29 -
und über die Kanäle 119 a, 119 b und 119c nit der
Steuerung für dieKlaasen (PA)1, bzw. (P/L)p bzw.
■(.P/L)-- verbunden, wie durch die Dekodierung dee P/L-Typus mittels der Dekodierstufe 131 angedeutet wird.
Die Dekodierstufe 131 wird durch ein Signal auf der Leitung 25 b aktiviert, welches anzeigt, daß der
Prozessor, welcher seinen P/L-Typua über den Kanal 129 üb©mitteIt, einen Aufspaltungebefehl angetroffen
hat und sein FSW in das Register 133 über den Kanal 212 a einfährt. Die folgende Erläuterung erfolgt in den (
logischen Begriffen für die (PA)1-OaSSe, gilt je do oh
ebenso für jede andere Klasse. Gemäß figur 3A 1st die
FSW-Warteeehlange 139 über einen Kanal ait de* FSW-Register und logischer Steuerstufe 121 verbunden* Der
Schaltungsteil 121 ist *it der FSW-Sub-Wartesohlange
und logischen Steuerschaltung 123 verbunden* Die beiden gerade erwähnten Sehaltungaeinheiten sind auehf&er
Selektionsschaltung 115 verband·«, welche nach Präsentierung einer bestijuten Adresse 13 das Register auewählt, welches das F3W enthält, da· durch die Adresse
13 angezeigt wird.
direkt zu Sen PSW-Register und der logischen Steuerschaltung 121 gebracht werden, welche zu de« (PA)1-Anteil des Steuerteils gehört, und zwar über das Tor
137, wenn die FSW-Warteschlange139 leer ist, d, h.,
wenn keine wetteren FSW warten; oder andererseits, wenn die FSW-Wartesehlange nicht leer 1st, wird das FSW in
Register 133 über das Tor 141 zu der PSW-Warteβohlange
geführt. Dies gilt alles unter der Annahne, daß die für
die laufende Aul'spaltung geforderte Verarbeitungeoperation
von Typus (PA)1 ist. Wenn ein anderer Vorarbeitungstypus
angefordert wird, wird das FSW zu den entsprechenden (P/L)-Anteil der Schaltung geführt , und zwar durch Torschaltungen, ·
• - \ «. ^ BAD
10*1.1 >/1630
ID 2762 ' - 30 -
äi<a im Prinzip &©n be sehr !ebenen ähnlich sind.
&®mä& den figuren 3A »Ed. 3B kann die FSW-Warte schlange
ein Stapel von naeh das leller-Prinzip abgeordneten
Speichern e®±n$ von denen jeder ©ine Verbindung 139 A,
139 B. a9 9 1391 asu i@r Yoll-Aeer-Stufe 147 aufweist.
Die V©ll-/L©er~St$af® 147 kann z. B· eine negative Und-Stuf©
©@ia9 wofe©i all® Biagaagsleituagen ©in Signal auf
d©r Ausgang®leitrag 149 ®rgeben9 wen» kein Register der
FSW-W©rt©schlänge "besetzt ist uaä sin Signal auf der
Laitnag 151 auftritt, h@üb min<i©sst©Ks eines der Registtr
ein FSW enthält» W@ms sls© die Hiokt-Leer-Leitusig aktiviert
ist mad ©iae Aufgab® yom Tjp (PZIa)1 ansteht, werden beide
Le it ang on 151® und 153 äass Ünd-Tor 145 öffnen und das PSW
in die S1SW-Wart©soliiasg© über da® for 141 führen. Wie
man si©ht? ist di® Leitung 39b mit dem FSW-Adressengenerator
39a v©rb«aä.©a„ der wi®d©rmi seinen Strcsmwert über den Kanal
157 su d®ia feld 13-.dee FSM führt, um al® Adresse jenes FSW
bentatat su werden. Ser SOW-Adr©es@a._g@a©rator 39a kann
Zo Be ®i3a Sißgssäfeler ®©ins &®v beim Er®sfe®in®n jedes
lapialat® auf der Laitung 39b weiterg®Behaltet wird. Eine
geaMgsad® Versögerasig sollt® sa ä®r Leitung 39 b hinzugefügt
warden., iaait i@r l"SW-»Adr©s©@ag®n®rator imeh der Übermittliaag
&®r Air@0i3® lfe@r its. Kaaa»l 157 su dem Feld N3 des
FBW wsitergaBehaltet w@ra.ea kaaiie W®mm also der PSW-Adreieengenerator
su Beginn jeder Aufspaltung auf lull ssurüokg@sotst wird, wird die Adresse des ersten FSW Null
sein, und jedes folgende FSW wird eine Adresse haben, die gegenüber der vorhergehenden um Sine erhö-ht ist.
Ianer, wenn ein FBW in das FSW-Regieter und die logische
Steuerschaltung 121 geführt wird, von wo aus die Durchführung seiner Operationen gesteuert wird, ist es notwenAig,
de» flip-flop 1099 das den Bedarf an Verarbeitungen
einrichtungen anseigt, in seinen Ein*-Zu»tand su bringen,
108IU/1SS0
damit die AnforderuBg von Vererbe itungseinriclitRngeη
des entsprechenden P/L-Iypus von der lerarbeitungseinriehtungs-fafel
101 beginnen kann. Die PSW werden in das PSW-Register und die logische Steuerschaltung 121
gebracht, und zwar entweder durch Verschieben aus der PSW-Warteschlange oder mittels Torschaltungen über den
Kanal 155, wenn die FSW-Jfarteschlange leer ist. Der Torschaltungsimpuls von der Leitung 159 oder der Verschiebe impuls
von der Leitung 69a wird daher durchverbunden, um
das flip-flop 109 in seinen Eins-Zustand zu versetzen.
Dieses flip-flop wird in seinen Kull-Zustand durch die ■
Leitung 59a versetzt, die von dem PSW-Register und der logischen Steuerschaltung 129 herkommt und deren Aktivierung
bedeutet, daß alle Aufgaben zugeteilt sind und daß keine
weiteren Prozessoren für dieses PSW benötigt werden.
Die Leitung 151 dient ferner dazu, die Bitstelle* in
dem PSW im Register 133 in ihren Eins-Zustand zu bringen,
wenn ein PSW eines bestimmten P/L-Typua in die PSW-Warteschlange eingesetzt werden soll, anstatt direkt in das
PSW-Register und die logische Steuerschaltung 121 eingeführt
zu werden.'Dies erfolgt wegen der !Tatsache, daß der erstellende Prozessor bei der Eingabe des PSW in die PSW- g
Warteschlange 139 nicht notwendig der ersten Aufgabe in
dieser Schlange zugeordnet wird, wie das der Fall gewesen
wäre, wenn das PSW um die PSW-Warteschlange herumgeführt
worden wäre und direkt in das Register 121 zur Steuerung der Operationen gebracht worden wäre. Daher befindet sich
der erstellende Prozessor effektiv im ausgeschiedenen
Zustand, wie durch das Bit * in dem PSW angezeigt wird,
und kann schließlich einer der Prozessoren werden, die in der Aufspalteng mithelfen, wird jedoch nicht notwendigerweise
bei den nachfolgenden Operationen als erstellender Prozessor fungieren und wird auch nicht notwendigerweise
am Barte der Aufspaltung die Daten koordinieren.
BAD ORIGINAL
ID 2762 - 32 -
Die FSW-Sute-Wartesehlange und logische Steuerschaltung
ist eine Gruppe von Registern, die ähnlich der FSW-Warteschlange 139 als Stapelspeicher nach dem Keller-Prinzip
arbeiten. Die Register in der FSW-Sub-Warteschlange und der logischen Steuerschaltung 123 haben dasselbe Format wie
das FSW-Register und die logische Steuerschaltung 121,
" und beide werden im folgenden im einzelnen beschrieben.
Die Funktion der Sub-Warteschlange und logische Steuerschaltung
123 ist es, das FSW aus dem FSW-Register und der logischen Steuerschaltung 121 zu empfangen, nachdem alle
Aufgaben verteilt worden sind, d. h. nachdem Ji1 auf Null herabgeschaltet 1st. Der Grund dafür liegt darin, daß zu
der Zeit, su der alle Aufgaben verteilt sind, wahrscheinlich noch nicht alle Aufgaben vollendet sind. Daher wird die FSW-Sub-Warteschlange
und die logische Steuerschaltung 123 die
m Vollendung der Aufgaben, welche zu einem bestimmten FSW
gehören, steuern, während das nächste FSW von der FSW-Warteschlange
in das FSW-Register und die Steuerschaltung 121 geschoben wird, damit unmittelbar mit der Zuteilung von
Prozessoren zu diesem nächsten FSW begonnen werden kann, obwohl noch nicht alle Aufgaben in dem vorhergehenden FSW
vollendet sind.
Wenn ein bestimmter Prozessor eine Aufgabe durchführt, wird er einen Hinweis sowohl auf die Adresse des ersten Befehls
der Aufgabe, als auch auf die Adresse des ersten Datenparameters
10ÖÖ12/U3Ö OADOHiGmAL
ID 2762
der Aufgabe aus dem FSW-Regiater und der logischen
Steuerschaltung 121 erhalten und wird eich daraufhin
abtrennen, um die Aufgabe durchzuführen.
Damit ein abgetrennter Prozessor nach Vollendung der Aufgabe einen Zugriff zu des richtigen FSW unternehmen
kann, let der Kanal 161 vorgesehen, der das Feld **3
von dem den Zugriff unternehmenden Prozessor zu der
Selektionsschaltung 163 überträgt, die Selektion«schaltung 163 unternimmt einen Zugriff zu de» erwünschten i
FSW, welches in dem FSW-Rtgister und der logischen Steuerschaltung 121 sein kann, wobei eine Zuteilung der
Aufgaben desselben gesteuert wird, oder es kann in einem
der Register der FSW-Sub-Warteschlange und der logischen
Steuerschaltung 125 sein, wobei die Vollendung der zugeteilten Aufgaben, welche zu dem bestimmten FSW gehören,
gesteuert wird. lach der Vollendung eines bestimmten FSW
wird ein Signal über den Kanal 169 gesandt, um den Inhalt
jedes Registers sowohl in der FSW-Sub-Warteschlange und
logischen Steuerschaltung 123 als auch in der FSW-Warteschlange 139 zu verschieben* wenn die Operation eines
bestimmten FSW vollendet ist, so daß mit dem nächsten FSW in dem PSW-Register und dtr logischen Steuerschaltung 121 f
begonnen werden kann. Wenn ein Prozessor seines zugehörigen FSW meldet, dafi er nicht länger benötigt wird, wird sein
Identifizierungszeichen I.D* über einen Kanal wie etwa
über 171 oder 173 für eine bestimmte P/L-Klasse zu einem
Kanal wie etwa 107 gesandt, von wo aus der Speicherort dieses Prozessors in der Versrbeitungseinrichtunge-Tafel
101 angesteuert wird und das Freibit eingestellt wird, wodurch angezeigt wird, daö der Prozessor für eine Zuordnung zu tiner anderen Aufgabe frei ist. Das Freibit
kann z. B. Über «int Leitung 175 eingestellt werden, die
s. B. durch die Sttiaerleltuag 175a von dem zu der jeweiligen P/L-Klass· gshör·adsn Kanal aktiviert wird.
.100117/1(30
ID 2762 - 34 -
Att^abenigttteiiluii|i:iii „und. Steuerteil
In Figur 4 ist der Sehmltangiiteil 121 von Figur 3A,
der sub dem FSW-Hegister rad der logischen Steuerschaltung
b@staaäs im einzelnen dargestellt. Wie noch
deutlich werden wird» bildet ©ime Gruppe von Schaltstuf
©m dieses s©n&©m Tjpusj welche ia der Art eines
Stapelspeichers ζasseaeag®schaltet »lud, den Sohaltungsteil
123 v©& figur 3A9 nialich die FSW-Sub-Warteschlange
und die lc?gisolle Steuerschaltung. In Figur 4 1st ferner
das Register 301 mi aefees,, dessen Läng® passend gewählt
ist zur Speicherung ®ia@a FSW0 3D®® leid 11 des Registers
301 iet alt ä®r lull- Prüfstufe 49a durch den Kanal
über ise T©r 307 ¥®rfeaasl9ae Si® Leitung 30-9 ist über
die Ysrsugeruagsotufe 311 mit dem Tor 307 Y®rbunden und
steuert ii@ ÜlserführMSff ies Felde» 11 zu der Mull-Prüfstuf©8
Bie Leitraag 309 kojiat von dem su i.em FSW«-Regiater
und d@r logisches Steuersiohaltung von Figur 3A führenden
Eingasigffito^. Bit fumktism der Leitung 309 ist es» die
Operation ©im©s h®mt±mmt®n FSV ei&is&l®ItQH5 wenn dieses
dirakt uater Uiagehus^ d@r fSW-Wartes©hl®ag@ 139 «» dem
FS¥»Regiat®r geführt wirdo 55u «ii®a@® Zeitpunkt ist das
Identifi^ieriisigiseishsii i@® erstelleadan Proaeseors über
den Kaael 119 gelangt uai ist in des Io®9-Register 313
gespeichert» Weiam ftrner i®r Steuer toil Verartoeitungaeiariohtungea
anfordert, wie ©ahrnnd i©® flip-flop 109
von Figur 3A erläutert vurde, und wenn eine Verarbeitungseinhelt
verfügbar wird, wird die Leitung 315 ebenfalls
über die Verlagerungsetufe 311 wirksam, um dem verfügbaren
Prozessor, dessen I.D. in dem Register 313?i8rindet, die
Aufgabe zuzuteilen.
Wenn der Wert KI Null ist, was bedeutet, daß alle Aufgaben
zugeteilt sind, wird die Leitung 51a das Freibit des jeweiligen Prozesiors einstellen, wobei das I.D. des
10M12/1S10
ID 2762 _ 35 -
Prozessors über den Kanal 171 zu der zugehörigen Selektionsstufe, etwa 105 Ton Figur 3A, geführt wird,
so daß das zugehörige Freibit in der Verarbeitungseinrichtungs-Tafel
101 von Figur 3A eingestellt wird. Die Kicht-Jrull-LeituBg 53a der »ull-Prüfstufe 49a ist
vorgesehen, um das laufende S-FeId und P-FeId über
Kanäle 201 bzw. 203 zu dem ansteuernden Prozessor zu
leiten, um diesen mit einem Hinweis auf die Adresse
des ersten Aufgabenbefehls und auf die Adresse des ersten Auf gaben parameters zu versorgen. Mach einer
geeigneten Verzögerung, die bei 319 «ad 321 angezeigt
wird, bewirkt die leitung 452a ein Herebschalten der
Stufen 323 und 325, wodurch die Werte S und P um Bins heruntergeschaltet werden. In ähnlicher Weise wird das
Feld N1 über das Tor 325 zu der Hull-Prüfstufe 455a
tibertragen. Der Hieht-Null-Ausgang der SuIl-Prüfstufe
55a ist mit der Leitung 71a verbunden, um es dem den
Zugriff unternehmenden Prozessor zu ermöglichen, mit der durch die obigen Hinweise bezeichneten Aufgabe zu beginnen.
Der Hull-Ausgang·der Hull-Prüfstufe 55a ist über die
Leitung 57a mit jder Leitung 59· verbunden, die als Torsohaltleitung
wirkt, um den Inhalt jedes der Register in der FSW-Sub-Wartesehlange zu verschieben. Die Leitung
57a ist ferner mit dem einen Eingang der Und-Tore 327
und 329 verbunden. Die Leitung 61a, die anzeigt, daß die
FSW-Warteschlange leer ist, ist mit dem anderen Eingang
des Und-Toreβ 327 und über den Inverter 331 mit dem
anderen Eingang des Und-Tores 329 verbunden. Der Ausgang
des Und-Tores 329 ist mit der Leitung 69a verbunden und zeigt bei seiner Aktivierung an, daß die letzte Aufgabe
in dem FSW zugeteilt worden ist, und ferner, daß die FSW-Warteschlange nicht leer ist, so daß die FSW-Warte-Bchlange
um eine Position verschoben wird und einem neuen FSW ermöglicht wird, in das FSW-Regißter 30I zwecks Beginns
109812/1630
der Operationen geschoben zu werden. Ferner ist der Ausgang des Und-Tores 329 mit der Leitung 71a verbunden,
was dem den Zugriff unternehmenden Prozessor es ermöglicht, mit der Durchführung der ihm zugeteilten
Aufgaben zu beginnen.
Die Leitung 61a ist ferner zusammen mit der Leitung 57a mit dem Eingang des Und-Tores 327 verbunden. Wenn
beide Eingänge aktiviert sind, bedeutet das, daß alle Aufgaben zugeteilt worden sind (N1 * Null) und daß die
PSW-Warteschlange leer ist, so daß kein weiteres FSW
auf die Zuteilung der Aufgaben wartet. Daher schaltet die Leitung 69b, die mit dem Null-Eingang des flip*-flops
109 in Figur 3A verbunden ist, die Bedarfsanzeige für
Verarbeitungseinrichtungen ab.
In Figur 4 sieht man die Leitung 27b, die durch einen Zugriff eines Prozessors aktiviert wird, der einen Endebefehl
in seiner Aufgabe angetroffen hat. Die Leitung 27b führt zu der Dekrementstufe 28a, welche zur Herabschaltung
des Feldes N2 des FSW vorgesehen ist. Nach einer geeigneten Verzögerung aktiviert die Leitung 27b
auch das - Tor 331» um das Feld N2 zu der Null-Prüfstufe
30a zu übertragen. Der Nicht-Null-Ausgang der Null-Prüfstufe 30a ist über die Leitung 32a mit dem Steuereingang des
Tores 305 verbunden. Der Null-Ausgang der Null-Prüfstufe 30a ist über eine Leitung 34a mit den Und-Toren 38a und
40 b verbunden. Die Leitung 36a von der Bitstelle * des FSW ist mit dem zweiten Eingang des Und-Tores 40b
verbunden, während die Leitung 36a nach Invertierung mit dem zweiten Eingang des Und-Tores 38a verbunden ist. Der
Ausgang des Und-Tores 38a ist über die Leitung 38b mit
der Leitung 51a verbunden. Wenn dieser Ausgang aktiviert
1098UMS30
-.3T- 20*5052
ist, feedeutet das, daß das PeId M2 ITuIl jst, d. h.,
daß alle Aufgaben vollendet sind; ferner ist die Bitstelle * nicht Null, so daß der erstiillende Prozessor
nicht ausgeschieden ist, sondern darauf wartet, die Daten am Ende der Aufspaltung zu koordinieren. Daher
stellt die Leitung 51a das Freibit des Prozessors ein,
und der Prozessor wird für nachfolgende Aufgabenzuteilungen verfügbar. Wenn andererseits die Bitstelle * eingestellt
ist, bedeutet das, daß der erstellende Prozessor ausgeschieden ist, und der den Zugriff unternehmende Prozessor,
der gerade seine Aufgabe beendet hat, muß die RÜckkehr-Adresee des erstellenden Prozessors erhalten und die Daten
koordinieren. Die Leitung 42a leitet daher die Rückkehr-Adresse über die Leitung 205 und gibt dem Prozessor ferner
einen Hinweis, daß er der "letzte Prozessor" ist. öle ichzeitig führt die Leitung 42b das Feld N3 zu der NuIl-PrUfstufe 44a, um zu prüfen, ob dies das End-FSW in der
Aufspaltung ist oder nicht. Der Null-Ausgang der NuIl-Pzrüfstufe 44a ist mit der Leitung 54a verbunden und zeigt
dem den Zugriff unternehmenden Prozessor an, daß er gerade
das End-FSW in der Aufspaltung vollendet hat und daß er
die Aufspaltung durch Koordinieren der Daten und durch Fortsetzen des ursprünglichen Programmflusses des erstellenden Prozessors vollenden muß. Der Nicht-Null-Ausgang
der Null-Prüfstufe 44a ist mit der Leitung 46a verbunden,
üb das Identifizierungszeichen I.D. des Prozessors und
das Feld 14 zu der Selektioneechaltung von Figur 6 zu
führen. M4 wird dort dekodiert zwecks Zugriff zu dem erstellenden FSW, ua zu bestimmen, weiche weiteren Steueroperationen durchzuführen lind. Gleichzeitig ist die
Leitung 46a mit der Leitung 30b verbunden, die das neue angesteuerte FBW befragt. Die« geschieht auf folgende
Velse. Die Leitung 46a veranlaßt die Dekodier·*altung
339, das Feld (P/L) I-]L zu dekodieren, um eine Anzeige
da* P/L-Typur de« erstellenden FSW zu erhalten. Die·
wird dazu benutzt, die Adrease 14 de· erstellenden FSW
1OI0O/1S3O
IL 2762 - 38 -
zu den PSW-Register und zu der Sub-Warteschlange der
entsprechenden P/L-Klasse zu führen. Dies erfolgt
dadurch, daß die entsprechende Leitung der Leitungen 341, 34-3» 345 das Identifizierungszeichen I.D. über
119a, das H4 über 337-1 und die Leitung 30b zu den geeigneten Selektionsmitteln mittels der Tor-Schaltung
347 führen. Die Leitung 30b kann zusammen mit dem Feld H4 in den Selektionsmitteln dekodiert werden,
fc welche nachfolgend im Zusammenhang mit Figur 6 beschrieben werden, und dann zu dem entsprechenden Sub-WarteschlangenJtegister, welches das FSW enthält, geführt
werden. Bei der Zuführung zu dem entsprechenden Sub-Warteschlangen-Register erscheint sie als Leitung 30 C,
welche in dem oberen linken Teil der Figur 4 zu sehen ist, um die Steueroperation des erstellenden FSW einzuleiten.
Wenn ein Sammlungsbefehl von einem Prozessor angetroffen
wird, wird die Leitung 29b in Figur 5 aktiviert. Diese Leitung wird mit geeigneten Tor-Schaltungsmitteln
an den Steuerte!1 von Figur 4 angeschaltet und erscheint
dort als Leitung 29b, welche mit dem Tor 333 verbunden
ist. Das Tor 333 ermöglicht in seinem geöffneten Zustand eine Übertragung des Feldes M2 zu der ÄullPrüfstufe 58b.
Der Null-Auegang der Null-Stufe 58b ist über die Leitung
58c mit dem Tor 335 verbunden, und das I-Bit ist mit
dem Und-Tor 66a verbunden* Das I-Bit kann durch den
Systemmonitor eingestellt werden) und wenn es auf Eins eingestellt wird, idtntifleiert es dme EBd-FSW vom YeT-arbeitungeproBoö aus gesehen. Wenn I eine Eins ist,
bedeutet das, daß der den Zugriff vornehmende Proiessor
gerade die lotete Aufgabe des End-FSW der ursprünglichen
1098UMS30
IB 2762 ■ - 39 -
Aufspaltung beendet hat, und die Leitung 68a bewirkt
dann bei dem Prozessor von Figur 5, daß das flip-flop 245 zur Anzeige des End-FSW in seinen Eins-Zustand
gebracht wird und die Befehlsfolgeitufe aktiviert wird.
Wenn es sich andererseits nicht um das End-FSW handelt, bewirkt die Leitung 70a bei dem Prozessor von Figur 5,
daß das flip-flop 247 zur Anzeige einer Aufspaltung innerhalb einer Aufspaltung in seinen Eins-Zustand
versetzt wird und ferner die Befehlsfolgestufe aktiviert
wird. Gleichzeitig bewirkt die Leitung 58c, daß die Rückkehr-Adresse über die Leitung 205 zu dem erstellenden
Prozessor geführt wird. Nachdem ein Sammlungsbefehl angetroffen worden ist, wird entweder die Leitung 68a
oder die Leitung 70a aktiviert; die Befehlsfolgestufe
beginnt dann mit der Verarbeitung von Befehlen, wobei sie mit dem nächsten Befehl nach dem Sammlungsbefehl
beginnt. Wenn der Ende-Befehl nach dem Sammlungsbefehl
angetroffen wird, wird der Prozessor entweder frei, falls die Leitung 68a aktiviert war, d. h. das ^nd-FSV vollendet
war, oder der Prozessor unternimmt einen Zugriff
zu dem nächsten FSW über die Leitung 76a , falls sich der Prozessor in 'einer Aufspaltung innerhalb einer Aufspaltung
befindet und die Aufgaben des erstellenden FSW ausführen muß, um die Operation zu vollenden.
Ferner ist gemäß Figur 4 die von dem Prozessor von Figur
kommende Leitung 76b mit geeigneten Tor-Schaltungen
verbunden, um einen Zugriff zu dem erstellenden FSW unternehmen zu körnen und das Feld N2 des Registers
zu der Hull-Prüfstufe 78a führen zu können. Der Null-Aue
gang der Stufe 78a ist an die Leitung 82a angeschlossen,
welche z.u dem einen Eingang der Und-Tore 38a unä 40b aus
dem selben Grunde führt, aus dem die Leitung 34a zu diesen
Eingängen führt. Das heißt, die Aktivierung der Leitung 82a
2 O A 51J '6
ID 2762 - 40 -
zeigt an, daß alle Aufgaben vollendet sind; die Und-Tore
38a und 40b prüfen, ob der erstellende Prozessor ausgeschieden ist oder nicht. Der Nicht-Null-Ausgang
der Null-Prüfstufe 78a ist mit der Leitung 80a verbunden,
die wiederum das Freibit des den Zugriff unternehmenden Prozessors einstellt, so daß dieser nun
anderen Aufgaben zugeordnet werden kann.
In Figur 6 werden die beiden Schaltungsteile - FSW-Register
und logische Steuerschaltung 121 und FSW-Sub-Warteschlange
und logische Steuerschaltung 123 dargestellt, die beide in Figur 3A zu sehen waren. Das
FSW-Register und die FSW-Steuerschaltung, die man bei
351 sioht, wurden vorstehend im Zusammenhang mit Figur beschrieben, ebenso wie die erforderlichen Steuerleitungen,
die hier zu dem Kanal 353 zusammengefaßt sind. Über den
Kanal 355 werden die Inhalte jedes Registers jeweils um eine Position nach unten verschoben. Die Leitung 59a,
die zuerst in Figur 4 gezeigt wurde und ein Teil des Kanals 269 von Figur 3A ist, dient dazu, den Verschiebeimpuls
jedem Register zuzuführen. Die Leitungen 3Ob-I, 30b-2,..o, 30b-n, die zuerst in Figur 4 gezeigt wurden,
veranlassen die Selektionsschaltung 353 dazu, das Feld
N4, das über die Kanäle 337-1, 337-2,.«,., 337-n herangeführt
wird, zu dekodieren. Die Selektionsschaltung 354 kann als Gruppe von Dekodierschaltungen angesehen
werden, wobei jedem Register von Figur 6 eine derartige Schaltung zugeordnet ist. Den Eingang zu einer solchen
Dekodierschaltung bildet der entsprechende N4-Kanal 337-i, wobei i von 1 bis η geht. Jede Dekodierschaltung kann
durch ihre entsprechende Leitung 30b-i aktiviert werden; den Ausgang jeder Dekodierschaltung bildet eine Gruppe
von Leitungen 3Oc-I, 3Oc-2,... 30c-n, die zur Auswahl
2Ü45CJS2.
ID 2762 - 41 -
des entsprechenden PSW dienen. Die Verwendung der
Leitung 30c-i wurde im Zusammenhang mit Figur 4
erläutert. Ferner ist der I.D.-Kanal 119b, der zuerst in Figur 4 gezeigt wurde, mit jeder FSW-Steuerschaltung
in Figur 6 verbunden. Die Steuerleitungen, die i»
Zusammenhang mit Figur 4 erläutert wurden und zu einem anfordernden Prozessor führen, sind in dem Steuerkanal
357 zusammengefaßt.
Operation
In Figur IA stellt 1 eine übliche, aus Befehlefolgen
bestehende Aufgabe dar, wobei die Befehlsfolgen von einem bestimmten Prozessor der parallel arbeitenden
Verarbeitungsanlage ausgeführt werden soll. Wie man sehen
kann, ist der dritte Befehl dieser Befehlsfolge eine Aufspaltung, (R-,, Q1)* die mit 3 bezeichnet ist. Dies
ist in dem gezeigten Beispiel die erste angetroffene Aufspaltung und wird daher als erstellende Aufspaltung
bezeichnet, da die in der Aufspaltung enthaltenen Aufgaben selbst Aufspaltungen enthalten können, welche
wiederum interne Aufspaltungen genannt werden. Der Prozessor führt die Btfehle der Aufgabe 1 aus und wird
daher der erstellende Prozessor oder Pj genannt. Wenn
P1 die Aufspaltung (R1, Q1) dekodiert, erstellt er ein
FSW, in diesen Fall FSW 1. Das FSW ist bereite vorstehend Mit Bezug auf Figur 2 erläutert worden. In Figur 1A
bezeichnet 9 eine Anzahl von Aufgaben, die zu dieser treten Aufspaltung.gehören. Die bei 9 enthaltenen Zeiohen
enthalten Hinweise auf die Anfangsadresse jeder einzelnen Aufgabe. Zum Beispiel sind die bei 2 gezeigten Zeichen 81,
Pi Hinweise auf die den ersten Befehl enthaltende Adresse
St und auf die Speicheradresse P1, welche den ersten
PsraMeter für diese Aufgabe enthält.. Die Aufgabe selbst
lit bei 11 gezeigt und enthält Befehle (S1, PL)A». ( 8It^1 )Bi
10 911 7 9 1 5 3 0
ID 2762 - 42 -
usw., wobei der Sammlungsbefehl Sammlung 1 den letzten
Befehl bildet, und an diesem Sammlungsρunkt sollen die
in der Aufspaltung (R-,, Q-, ) verarbeiteten Daten koordiniert
werden. Zu der ersten Aufspaltung gehören noch weitere Aufgaben, die bei 13, 15, ..., 20 gezeigt sind. Wie man
bei 11 sieht, endet die erste Aufgabe der Aufspaltung bei einem Sammlungsbefehl; die anderen Aufgaben in den
verschiedenen Zweigen der Aufspaltung werdne durch Endebefehle
beendet. Wie man an den mit 15 bezeichneten Aufgaben sieht, ist eine zweite Aufspaltung vorhanden. Dies
ist eine Aufspaltung innerhalb einer Aufspaltung und wird in diesem Fall Aufspaltung (R2, Qp) genannt und ist dem
FSW 2 zugeordnet. Diese Aufspaltung hat ebenfalls eine Reihe von Aufgaben, wobei die Hinweise auf die Afangsbefehle
und die Anfangsparameter jeder Aufgabe bei 17 gegeben sind. Da diese Aufspaltung während der 3· Aufgabe
S,, P, angetroffen wird, die bei 6 in Figur 1A gezeigt
wird, werden die zu dieser zweiten Aufspaltung gehörenden Aufgaben mit folgenden Bezeichnungen Versehens s-xigi ptV
S3(S2 P2)'"°' S3 (SN PN)* Die in 3eder dieser Aufgaben
enthaltenen Befehle werden bei 20, 22, 24,... 26 dargestellt. Wieder endet die erste Aufgabe der Aufspaltung
mit einen Sammlungsbefehl, während die Aufgaben in den
ande ren Zweigen der Aufspaltung mit einem Endebefehl enden.
Im folgenden wird beispielsweise angenommen, daß die P/L-Klaeeifizierung
der Aufspaltungen folgendermaßen ist:
Aufspaltung (R1, Q1) Aufspaltung
(R2, Q2) - (P/D2
Ferner wird angenommen, daS P1 ein Prozessor ist, der für
die (P/LJ1-PUnJction bestimmt ist, ao daB er sofort die
erste Aufgabe S1, P1 in der Aufspaltung übernehmen kann.
1098U/1S30 BADORIGINAL
Wie im folgenden noch klarer wird, wird angenommen, daß die FSW-Warteschlange leer ist, so daß das FSW
sofort in das PSW-Register 121 τοη Figur 3A und figur 4
gebracht werden kann, so daß P^ sofort die erste Aufgabe
übernehmen kann. Wenn von vorhergehenden Aufspaltungen eine Worte PSW enthaltende Warte schlange vorhanden gewesen
wäre, so hätte P-j- keine Sicherheit, daß er mit der Durchführung
der ersten Aufgabe unmittelbar beginnen könnte, da dann ein PSW aus einer anderen Aufspaltung in dea
FSW-Register sich befinden würde. Daher würde Pj ausscheiden und plötzlich dazu bestimmt werden, in einer an- (
deren Aufspaltung in dem System auszuhelfen. Im vorliegenden Beispiel wird jedoch angenommen, daß PSW 1 um die
PSW-Warteschlange herumgeführt wird, und die Steueroperation
wird mit dem PSW 1 unmittelbar beginnen.
In Figur 5 sieht man, daß Ργ über den Kanal 220 Befehle
zu den Befehlsausführungseinitaiten sendet. Anfänglich ist N3 in P1 auf Full eingestellt. Nach dem Senden von
Befehlen OP (N-2) und OB (N-I), die bei 1 zu sehen sind,
dekodiert der Prozessor P1 den Befehl Aufspaltung (R1, Q1),
der mit 3 bezeichnet ist. Dies bewirkt unmittelbar, daß
die Leitung 25a in Figur 5 aktiviert wird und as in dem ^
Befehl enthaltene PSW über das Tor 230 zu dem Register führt.
Gleichzeitig führt die Leitung 25c die Marke, welche die
P/L-Klasse des vorliegenden Prozessors enthält, sowie die
P/L-Klasae der Aufspaltung zu der Vergleichsschaltung 236.
Wenn die P/L-Klasee des erstellenden Prozessors nicht die
selbe ist wie die P/L-Kias.se der Aufspaltung, wird die den
Auegang bildende üngleich-Leitung 238 bei herrschender
Prioritätsunterbrechung auf der Leitung 240 durchgeschaltet. Wenn die Prioritätsunterbrechungsleitung und die Ungleich-
108817,1630 oRIG1nau ,nspecteo
IB 2?62 - 44 -
!»eitung aktiviert wSren, würde die Bit »teile * in dem
FSVf eingestellt werden ^ de? Prozessor würde ausscheiden
und zu einer Stelle des Systems gehen* an, der er benötigt
wird? das ESV würde zu dem Steuerteil übertragen werden*
und andere Prozessoren würden ihm zugeordnet werden* In dem VQ rl legenden Fall wird jedoch angenoBWöii, daß der
erstellende Prozesser 1* und das fSW vom selben;
sind. Daher wird die Bit stel Ie * nicht auf ihren
zustand eingestellt.
Nach einer geringen Verzögerung;, die den Yergleieh der
Klaseen gestattet, führt die Leitung 254 das FSW zu dem
FSW-Regieter in Figur 3A. gleichzeitig wird die PA-Klasse
den Kanal 129 zu dem Steuerteil von Figur ]|A geführt.
In Figur 3A sieht man, daß das FSl über den. Kanal 212a zu
dem Register 153 gelangt» Die P/L-*Bezeichnung wird über
cken Kanal 129a zu der P/L^Dekodierschaltung 151 gebracht f
wo sie dekodiert wird. Bie P/lj-Dekodierschal tung 151 kann
eine binäre Dekodier schaltung vom "Eins "-aus-,!{«„Typ sein,
welche eine P/L-Bezeichnung einer der Ausgangsleitungen
(PA)1, (P/L)2, (P/1), zuordnet. In diesem Fall wird, da
tk die Aufspaltung vom Typ (PA)1 ist, die Leitung (IPA)1
aktiviert werden. Dies wird bewirken, daß die Inhalte des
FSW-Adressengenerators 39a zu dem Feld N5 des FSW gebracht
werden, um als Adresse dieses FSW benutzt zu werden. Da es sich um das erste FSW handelt, wird die Adresse Null
sein, was dieses FSW als dasEnd-FSW auszeichnet} d, h., daü
das zuerst erstellte PSW das End-FSW sein wird, das bei der Beendigung der Steuerung der Aufgabendurchführung beteiligt
sein wird» Gleichzeitig wird unter der Annahme, daß die FSW-Warteschlange für den (PA)1-TyP leer ist, die Leitung
149 das Und-Tor 143 öffnen, so daß das FSW über das Tor 2
und über den Kanal 155 zu dem FSW-Register und der logischen
Steuerschaltung 121 geführt wird« Gleichzeitig bewirkt die
BAD ORIGINAL 109817t1F3C
ID 2762 - 45 _
Öffnung des Tores 143» daß die Leitung 159 damit beginnt,
Verarbeitungseinrichtungen anzufordern, indem sie das flip-flop 109 in seinen Eins-Zustand einstellt, wodurch
die Leitung 105 aktiviert wird und die Prozessoren zyklisch abtastet, welche in der Verarbeit ungseinrichtungs-Tafel
für den P/L-Typ aufgeführt sind, und deren Besetztbitstellen
einzeln testet. Jeder Prozessor, dessen Besetztbitstelle Null ist, wird bei Aktivierung der Leitung 105 bewirken,
daß die Leitung 113 das Identifizierungszeichen dieses Prozessors über das Tor 115 und über den Kanal 117 zu dem
Kanal 119a leitet, der der Klasse (P/L)-, zugeordnet ist.
Gleichzeitig bringt der Kanfcl 117 das Identifizierungszeichen
I.D. zu der Dekodierschaltung 125, die das Zeichen dekodiert und die Aufrufleitung dieees bestimmten Prozessors
aktiviert, um ihm anzuzeigen, daß er mit der Verarbeitung von Befehlen beginnen soll, sobald er die Adresseninformation
aus dem PSW erhalten hat. Wie in Figur 5 gesehen werden kann,
fuhr· t die Aufrufleitung 127a für den bestimmten Prozessor
ein Signal an dessen Befehlsfolge stufe, damit die Operation
beginnen kann, sobald Befehle und Daten über den Kanal 211 aus dem Speicher ankommen.
■Auf gaben zu'te llung aope ration
In Figur 4 wer dan In größeren Einzelheiten das PSW-Register
und die loglache Steuerschaltung gezeigt, die in Figur 3A
allgemein mit 121 bezeichnet werden. In diesem Zeltpunkt
ist da« PSW gerade in da· FSW-Regiater und die logisohe
Steueraohaltung gebracht worden. Die Leitung 309 von dem
Eingangstor zu dem FSW-Regiater sendet ein Signal durch
die Verzöge rungsschait ung 311 genügender Ver zöge rung ■ 1 änge ,
damit dae FSW zunächst In daa Register 301 gebracht werden
kann und dann das Tor 305 geöffnet wird, um das Feld NI su der NuIl-FrUfstufe 49a su Übertragen. Qleiohseltlg sol
10-91'17/1-5 30 ' ÖAD ORlQJNAL
au±' die Figuren 4, IB und 2A hingewiesen, um ein besseres
Verständnis der Steuerung und Verteilung der Aufgaben in einer Aufspaltung zu ermöglichen. Bisher ist eine Aufspaltung
bei 25 in Figur 2B angetroffen worden, und die Adresse des erstellenden FSW ist in das FSW eingesetzt
worden, wie vorstehend erklärt wurde. Wie man in Figur 2B bei 41 sieht, werden durch Einstellung des flip-flops
Verarbeitungseinrichtungen angefordert, und die FSW-Warteschlange wird leer angetroffen, so daß das FSW in
W das PSW-Register gebracht wird. Gemäß Figur 4 testet die
Null-Prüfstufe 49a das Feld N1 des laufenden FSW. Man kann in diesem Beispiel annehmen, daß das FSW anfänglich
dem in Figur 20 dargestellten entspricht, wobei sieben Aufgaben in der Aufspaltung vorhanden sind. Daher werden
anfänglich sowohl Nl als auch N2 sieben betragen, da
sieben umverteilte Aufgaben und damit sieben unvollendete Aufgaben vorhanden sind. Die FSW-Werte entsprechen den in
Figur 2C dargestellten. Die B/L-Bezeichnung ist wie angenommen
1, und die Bitstelle * wird auf O eingestellt, da angenommen wird, daß der erstellende Prozessor hinsichtlich
seines Typus der P/L-Klasse der Aufspaltung entspricht
-^ und eine Aufgabe übernehmen wird und möglicherweise auch
die Daten an dem Sammlungspunkt koordinieren wird. Die
Rückkehr-Adresse wird gemäß irgend einer erwünschten Speioherkonvention eingestellt und M4 ist Null, da es
sich um das erste FSW hand-elt und kein erstellendes FSW
vorhanden ist (N4 ■ 0). Daher ist die Bit a te lie I - 1.
Da N1 ■ 7 ist, sind alle Aufgaben nicht verteilt, und der
Nioht-Null-Auagang 53a der Null-Prüfetufe 49a führt die
Adresse Sl, Fl, die auf den ersten Befehl und den ersten Datenparameter der ersten Aufgabe hinweist, über die
Kanäle 201 bsw. 203 zu dem den Zugriff unteraehea enden
Prozessor. Ülebhzeitig vermindert die Dekreaentstufe 53b
109I12/1S30 BAD
2945052
m 2762
m 2762
&em IePt It* vm exkmmtgß®* *ββ efce Aufgabe
worden tat* IäcJi eineir geeigneten Verzögerung führt
die, leitung SBe ta» tell HI Über das for 525 zu der
lEÖl^tiriÄtttföE §5&. Äöisii ier ferminäeruiig von KI wird
lit Etwa 6 feetragem*, se* iftß die l|iebt-Iitill»Iie±tung fla
efeti^iert wir# uiii ieja ipözepe^r auf ruft t mit der Buretiführung
der Befehle,beginnend »it Sl, Pl, anzufangen.
frei verfügbare
iie
fafel löa. ton figttp 1Ä. esgezejLgt wird* die
fafel löa. ton figttp 1Ä. esgezejLgt wird* die
HHk ss«. feewirfeen^ $m& eine Aufgabe der
in einer Viejiae zugeteilt mrd,
aas ähalicli soiion für den ursprunglic&en erstellendeii
erklärt wurde«
■iUif «aiieaendeoiaer ati on
Figur IB werden die Aufgaben Sl, Pl? S2, P2;...;
Pt der Aufspaltung (R1, Q1) den Prozessoren in der
oben beschriebenen Weise zugeteilt. Es kann jedoch vorkQHuaen,
daß nicht genügend Prozessoren für die Übernahme
jeder der 7 Aufgaben zur Verfügung stehen. Es sei z. B.
angenommen, daß nur vier Prozessoren zur Übernahme der
sieben Aufgaben verfügbar sind. Ferner sei angenommen *
daß vier Aufgaben zugeteilt worden sind und keine dieser
Aufgaben vollendet ist. Die FSW-Werte im FSW-Register 301
entsprechen nun den in Figur 2D gezeigten. Es wird daher
weiterhin angenommen^ daß einer der Prozessoren, dem
eine Aufgabe zugeteilt worden ist, das Ende seiner Aufgabe
erreicht hat. Zum Beispiel sei gemäß Figur IA angenommen»
daß der .Prozessor, dem die Aufgabe S2, P2 zugeteilt
worden war, den bei 14 ftzeigten Endebefenl erreicht hat.
Gemäß ?igur 5 wird, wenn ein Endebefehl dekodiert wird, die Iteltung 27a aktiviert und^ aktiviert iteer&titi die
10981?/1 S30
ID 2762 - 48 -
Leitung 233· Die Leitung 233 führt des Feld N3 unl
das Zeichen I.D. des Prozessors zu dem Steuerteil. Das Feld N3 gelangt in die Selektionsechaltung und
wird mittels Dekodierung zu dem entsprechenden PSW-Register
des Steuerteils gebracht, ao daß die Leitung 27a zu dem entsprechenden FSW-Register Äurchgeschaltet wird.
Die Leitung 27a erscheint nach ihrer Durchschaltung zu
dem entsprechenden FSW-Register, etwa dem Register 301,
in Figur 4 als Leitung 27b und bewirkt, daß die Dekrementstufe 28a das Feld N2 um 1 vermindert, da
der den Zugriff unternehmende Prozessor gerade eine Aufgabe vollendet hat. Nach einer geeigneten Verzögerung
führt die Leitung 27b das Feld N2 zu der Null^Prüfstufe
30a, wo es auf Full geprüft wird* Wenn es sich hier um
die letzte/6u vollendende Aufgabe handeln würde» würde
die Leitung 34a aktiviert werden und bewirken, daß der
Ende-Prozess von dem Prozessor begonnen wird, der als
letzter Prozessor die zu einem bestimmten FSW gehörende Aufgabe zu beenden hat. Unter den hier gemachten Annahmen
ist V2 nicht bis auf Null herabgeschaltet, sondern befindet
sich, wie oben erläutert, auf dem Wert 6. Daher führt der Nicht-Null-Ausgang der Null-Prüfstufe 30a, nämlich
die Leitung 32a, das Feld H1 zu der Null-Prüfstufe 49a
über das Ausgangstor 307* Da das Feld N1 gemäß Figur 2D
.gerade 3 beträgt, führt der Nicht-Null-Ausgang 53a den
Wert von S und P über die Kanäle 201 bzw. 203 zu dem den
Zugriff unternehmenden Prozessor. Obwohl dies nicht gezeigt wird, dürfte klar sein, daß das gegenwärtig im Register
vahandene I.D. als Steuertor verwendet werden kann, um die Felder S und P dem geeigneten Prozessor zuzuteilen. Nach
einer auereichenden Verzögerung bewirkt die Leitung 53c, daß die Dekrementstufen 323 und 325 die Felder S und P ua
1 vermindern, und die Leitung 53c wird das Feld Ni zu der Null-Prüfstufe 55* führen, um zu bestimmen, ob die
ID 2762 - 49 -
gerade «ugiteilte Aufgabe die letzte Aufgabe war. Wenn
es sich um die letzte Aufgabe handeln würde, würde
der Null-Ausgang 57a die Sub-Warteechlange verschieben,
und wenn die PSW-Warteschlange leer ist, würde sie alle Register verschieben, um ein neues FSW aus der
PSW-Warteschlänge in das PSW-Register zu bringen, um
die Operation zu beginnen. In diesem Fall wird jedoch
N1 gemäfl Figur 2D auf zwei vermindert; ebenso wird der
Nicht-Mull-Ausgang, nämlich 71a, zu dem den Zugriff unternehmenden Prozessor ein Aufrufsignal senden, um
ihn dazu aufzurufen, mit der neuen durch S und P angezeigten Aufgabe zu beginnen, wobei S und P gerade zu
diesem Prozessor geführt worden sind. Sie Operation wird daher mit den zugeteilten Aufgaben fortgesetzt und in
der gerade beschriebenen Weise beendet.
Wie man bei der Aufgabe SJ, P3 von Figur IP sieht,
wird dort eine Situation angetroffen, bei der eine Aufspaltung innerhalb einer Aufspaltung vorliegt, nämlich
die Aufspaltung (R2, Q2)* Es sei angenommen, daß die
Aufgabe S*, P-,bei welcher diese zweite Aufspaltung
angetroffen wird, eine von der ersten Aufspaltung verschiedene P/L-Klassifizierung aufweist. Zum Beispiel
soll in diesem Fall 8,, P, die Bezeichnung (PA)1 haben,
während die Aufspaltung (R2* Q2) die Bezeichnung
(P/L)2 aufweist. In Figur 5 werden die Leitungen 25a und 25o aktiviert. Die Leitung 25o fuhrt die die
P/L-B·zeichnung verkörpernd· Markt aus dtm Register 234
und die P/L-B·zeichnung der neu dekodierten Aufspaltung
su der V«rgleich·»tufe 236, wo ihre Ungleichheit festgestellt wird. Im dies·» Fall »ei angenommen, daS die
Prioritätsunterbreohuagsleitung 240 nioht aktiviert ist.
2Ö45052
IB 2762 - 50
Daher wird die Leitung252 die Bitstelle * nicht einstellen,
und dieser Prozessor wird darauf warten, daß die Aufspaltung (R2* Q2) vollendet wird. Die Leitung 25c wird ferner die
Marke in das Feld (PA)1-1 des PSW einführen. Dies wird
dem Steuerteil eine Möglichkeit geben, zu dem erstellenden P/L-Typus zurückzukehren, wenn die Aufspaltung innerhall»
der Aufspaltung einen anderen P/L-Typue auf aufweist als
die erstellende Aufspaltrag. Dies wird bei Vollendung der
Aufspaltung notwendig sein. lach einer genügenden Verzögerung,
welche die Durchführung der obigen Transfervorgänge ermöglicht,
führt die Leitung 25d das FSW zu dem Steuerteil you
Figur 3A, wo es in das Register 133 eingegeben wird. Der PA-Typus
wird in dem Dekodierer 131 wie vorher dekodiert, und
das FSW wird zu der seinem P/L-Typus entsprechende* FSW-Warteschlange
geführt. Die Bezeichnung (PA)1-1 wird in
das FSW-Register aus dem Inhalt des Markenregisters 234
des Prozessors übertragen. Das heißt, der Prozessor überträgt seine PA-Bezeichnung in das feld (PA)1-1* CHelohsei
tig führt die LeItäug 37a in Figur 5 das Feld H3» welches
die Adresse desjenigen. FSW ist, unter dessen Steuerung der
Prozessor gerade arbeitet, in das Feld N4 des FSW ein. Wenn
das FSW dann zu dem Steuerteil gebracht wird, dienen die
Felder 14 und (P/L)r , dazu, es dem Prozessor, der die
Daten dieses FSW, welches ein internes FSW 1st, koordiniert, zu ermöglichen, zu dsm FSW zurückzugelangen, aus de» dieses
FSW entstanden ist, um die Steueroperation zu vollenden.
Die Rüokkehradress® wäre in dieser Lage die Adresse des
nächsten Befehls nmoh dem Sammlungebefehl 2. Wie man in
Figur IA sieht, wäre das die Adresse von (S., $%)$· -Der
Wert von H3 würde 1 sein, da dies das erste FSW in der st*
(PZL)2 gehörenden Wartescalrage ist. Der Wert you 14» i. Iu
die Beeeiehmwg des erstellenden FSWf wäre 1, im
mit eines Wert 1 für (F-AK 11 ^a di®§@® fSW to©
2/153.
IB 2762 - 51 -
Prozessors des Typs (PZl)1 erstellt wurde, der Hilfe
von Prozessoren des Typs (P/L)2 anfordert. Diese Informationswerte
werden in Figur 2E aufgeführt. Die Aufgaben
werden in der vorstellend in bezug auf die Abspaltung (R1, Q1) zugeteilt. Wie man aus Figur IB sieht, wird
der Prozessor, dem die erste Aufgabe dieser Aufspaltung zugeteilt war, nämlich die Aufgabe S, (Sn P1), seinen
Sammlungspunkt erreichen, nämlich Sammlungsbefehl 2,
bevor alle Aufgaben in dieser Aufspaltung volendet sind.
Wie man aus Figur 5 sieht, wird der Prozessor, dem diese Aufgabe zugeteilt war, die Leitung 29a nach antreffen
desSammlungsbefehls 2 aktivieren und wird sein Identifizierungszeichen,
die P/L-Marke und das F Id N2 der Dekodieradialtung
von Figur 6 zuführen, wo das Feld N3 dazu verwendet wird, das durch N? angezeigte FSW auszuwählen.
Nimmt man an, daß das entsprechende FSW nun ausgewählt ist, so sieht man in Figur 4, daß die Sammlungsleitung 29b
zu dem entsprechenden FSW-Register 301 durchgeschaltet
wird und dadurch N2 in die Null-Prüfstufe 58b eingeführt
wird. Da im vorliegenden Fall angenommen wurde, daß alle anderen Aufgaben noch nicht vollendet sind, ist der Micht-Null-Ausgang
60a aktiviert und zeigt damit dem den Zugriff unternehmenden Prozessor an, daß das FSW unvollendet ist.
In Figur 5 sieht man, daß die Leitung 60a, welche anzeigt, daß das FSW unvollendet ist, zusammen mit der Sammlungsleitung
zu dem Und-Tor 62a führt. Wenn der Prozessor über
die P.rioritätaleitung ein Signal erhält, bedeutet das, daß
er ausscheiden soll und die Koordinierung der Daten dieser Aufspaltung einem anderen Prozessor überlassen soll. Daher
wird64a durehgeschaltet, um die Bitstelle ♦ in dem FSW-Begiater,
welches das entsprechende FSW enthält, einzustellen, ia dieeem; Fall in dem Register 301 von Figur 4. Bei diesem
Beispiel wird angenoBuaen, daß der Prozessor nicht au«scheidet.;
daher fäiirt der PröseiiOr fort, da» Feld 12 zu testen, bis
BAD
ID 2762 _ 52 -
zu dem Zeitpunkt, in dem die Null-Prüfstufe 58b
mittels eines Signals auf der Leitung 58o anzeigt, daß alle Aufgaben vollendet sind, d. h. daß das Feld
N2 gleich Null ist. Dabei wird die Leitung 58c aktiviert.
Die FSW-Pelder werden nun in Figur 2F dargestellt.
N1 ist Null, was bedeutet, daß alle Aufgaben zugeteilt sind. N2 ist Null, was bedeutet, daß die letzte Aufgabe
gerade vollendet ist. Da die Bitstelle * Null ist, bedeutet das, daß der Prozessor, der diese Aufspaltung
erstellt hat, darauf wartet, die Daten zu koordinieren»
N4 ist Eins und (p/L)-r -, ist Eins, was bedeutet, daß
die Adresse des erstellenden FSW die Adresse des ersten FSW in dem zu der Sub-WarteBchlange gehörenden FSW-Register
für den Typus (P/L), ist. Das Zeichen I.D. des Prozessors, der dieses FSW erstellt hat und der
daher darauf wartet, die Daten - da die Bitstelle * Null
ist - zu koordinieren, ist Drei. Ferner sieht man aus den Figuren 2B und 4, daß beim Test 66 in Figur 2B es
notwendig ist, zu prüfen, ob das vollendete FSW das End-FSW in dieser Aufspaltung ist. Daher schaltet die
Leitung 58c von Figur 4 die von der Bitstelle I des FSW kommende Leitung, die bei Führen einer Eins anzeigt, daß
es sich bei dem FSW um das zu der End-Aufspaltung gehörende
FSW handelt, durch das Und-Tor 66a. Da im vorliegenden
Fall der betrachtete Prozessor gerade den Sammlungspunkt
der Aufspaltung (Rp, Q2) dekodiert hat, ist er an dem
Sammlungspunkt einer internen Aufspaltung angelangt, und daher wird die Bitstelle I des FSW Null sein. Daher
wird die Leitung 70a aktiviert, was anzeigt, daß die Aufspaltung unvollendet ist. In Figur 5 sieht man, daß die
Leitung 70a das flip-flop 247 zur Anzeige einer Aufspaltung
109812/1530 bad original
ID 2762 - 53 -
innerhalb einer Aufspaltung in den Eins-Zustand einstellt,
was anzeigt, daß bei Erreichen des Endes der laufenden
Aufgabe es notwendig sein wird, einen Zugriff zu dem nächsten FSW zu unternehmen und mit der Steuerung der
damit verbundenen Aufgaben fortzufahren. Die Leitung 70a aktiviert auch dieProzeseor-Aufrufleitung 127a, um zu . *
bewirken, daß die Befehlsfolgestufe den Rest der Befehle verarbeitet, die zwischen dem Sammlungspunkt 2 und dem
Ende-Bjfehl in S , P- gemäß Figur IB zu sehen sind. Die
Befehlsfolgestufe 215 beginnt dann, an die Befehlsaue führ ungB-einrichtungen Befehlefolgen auszugeben. Wenn der zuletzt
erwähnte Ende-Befehl angetroffen wird, wird die Leitung 27c zusammen mit der von de« flip-flop 247 kommenden Leitung
durch das Und-Tor 255 geschaltet, so daß die Leitung 76a
aktiviert wird und ein Zugriff zu dem nächsten FSW unternommen wird und ferner das flip-flop 247 in seinen NuIl-Zustand zurückgesetzt wird. Für den Zugriff zu dem nächsten
FSW, welches FSW 1 ist, ist es notwendig, die Werte N4,
(P/L), -, und I.D. des wartenden Prozessors, da· oben im
Zusammenhang mit Figur 2F erläutert wurde, zu der Selektions-θchaltung zu bringen. Diese erfolgt folgendermaßen. Die
von der Leitung 68a kommende Leitung 70b in Figur 4 führt das Feld M4 zu der Torschaltung 347 und bewirkt, daß die
Dekodierechaltung 339 den Wert (PZL)1-1 dekodiert. Eine
der Leitungen 341, 343« 345 bewirkt, daß die Torschaltung 147 das Zeichen I.D. des Prozessors, der gerade auf den
Sammlungapunkt gestoßen ist, sowie das Feld N4 und die
Steuerleitungen zu den Selektionsmltteln von Figur 6 durchschaltet, wo diese Daten eu dem das entsprechende FSW enthaltenden Register gebracht werden, wobei es sich um das
FSW handelt, welches das FSW erstellte, innerhalb dessen der den Zugriff unternehmende Processor den Sammlungβbefehl
angetroffen hat. Es sei daran erinnert, daß die zu den
Selektionsaitteln führende Leitung 76a von dem Processor
BAD ORIGINAL
10981?/15 30
ID 2762 - 54 -
aktiviert wurde, der den Ende-Befehl nach dem Sammlungsbefehl antraf, und zwar über das Und-Tor 255 von Figur 5«
Das Feld N4 wird naoh Übermittlung zu den geeigneten Selektionsmitteln von Figur 6 dekodiert und bewirkt eine
Durchschaltung der Leitungen 76a und 76b zu dem entsprechenden FSW-Hegister. Nimmt aan, daß das entsprechende
FSW-Register das in Figur 4 dargestellte ist, so prüft
die Leitung 76b im oberen Teil der Figur, ob alle Aufgaben dieses vorangehenden FSW vollendet sind, welches
in unserem Beispiel das zu der Aufspaltung (R1, Q1)
gehörende FSW gemäß Figur IB ist. Dies erfolgt dadurch, daß das Feld N2 zu der Null-Prüfstufe 78a geführt wird.
Es wird in diesem Beispiel angenommen, daß zu diesem
Zeitpunkt alle Aufgaben der Aufspaltung (R1, Q-,)zugeteilt
worden sind, aber nicht alle vollendet sind. Daher wird der nicht Nicht-NulMusgang 80a der Null-Prüf stufe 78a
aktiviert, und das Freibit des den Zugriff unternehmenden Prozessors wird eingestellt und der Prozessor dazu veranlaßt,
seine Daten in seinem ihm zugeteilten Speichergebiet zu speichern. Sobald die Prozessoren, denen
die Aufgaben S1, P1I S2, P2;..·j Sn, Pn, zugeteilt waren,
ihre Aufgaben vollendet haben, geben sie über die Leitung
27b eine Meldung ab, schalten das Feld N2 herunter und testen das Feld N2 in der Null-Prüfstufe 30a. Diejenigen,
die N2 auf eine Zahl ungleich Null he rabeehalt en, werden bewirken, daß die Leitung 32avon derNull-Prüfstufe 30a
aktiviert wird, um das Feld Nl daraufhin su überprüfen, ob nooh weitere Aufgaben su verteilen sind oder nicht.
Da angenommen wird, daß alle Aufgaben verteilt sind, wird die Leitung 51a aktiviert, die das Freibit einstellt und
den Prozessor veranlaßt, seine Daten in dem ihn zugeteilten Speiohergebiet su speichern. Der letzte dieae Aufgab®
beendende Prosessor, s. B. der der Aufgabe E2* ^2 BUg^ordnete
Prozessor,wobei es sich nach den gemachten V©rauesetsungen
um die längst» Aufgabe in der Aufspaltung
1Ό9817/1530
(R1 Q1) handelt, bewirkt, daß die leitung 27b
von Figur 4- H2 auf Hull herabschaltet. Die HuIl-Prüfstufe
30a wird dann feststellen, daß H2 Hull ist, was bedeutet, daß der letzte Prozessor eine
Aufgabe in der Aufspaltung vollendet hat. Dadurch wird Leitung 34a aktiviert, die anzeigt, daß alle
Aufgaben in der Aufspaltung (R1, Q1) vollendet sind.
Die Leitung 34a teöfcet auch die Bitstelle *. Da der
Prozessor Pj gewartet hat, wird die Bitstelle *
Hull sein, eo daß 38b das Freibit für diesen . zugreifenden Prozessor einstellen wird, der die letzte
Aufgabe in der ursprünglichen Aufspaltung (R-,, Q1)
vollendet hat. Die Leitung 38b wird ferner ein Aufrufsignal
zu dem wartenden erstellenden Prozessor führen, dessen Zeichen I.D. sich im Register 301
befindet. Das Signal auf der Leitung 38b bewirkt, daß die Leitung 38c den Prozessor dazu veranlaßt, die
resultierenden Daten aus allen Aufgaben zu koordinieren.
Operationen in dem Fall, in dem der erstellende Prozessor
ausscheidet und, der "letzte Prozessor" die Daten
koordiniert
Wenn Pj die Bitstelle * in dem zu der Aufspaltung
(R1, Q1) gehörenden "PSW eingestellt hat und ausgeschieden
ist, dann muß derjenige Prozessor, der die letzte Aufgabe
in der Aufspaltung v©llendet und hier als der "letzte
Prozessor* bezeichnet wird, die Daten an dem Sammlungspunkt koordinieren. Dies kann auf zwei Arten geschehen. ·
Beim Ausscheiden des erstellenden Prozessors hat dieser ■die Bit stelle * in »einem FSW eingestellt. Wenn sein FSW
die erste Aufgabe, wie etwa S1, P1, an einen Prozessor
Abgibt, stellt e* auon mittels der Leitung 85a
das flip-flop 85b in figur 5 ein, welches anzeigt, daß
109*12/1530
ID 2762 - 56 -
P1 nicht wartet, wobei die Leitung 85a von der Bitstelle *
in Figur 4 herkommt. Wenn also dieser Prozessor zu dem Sammlungspunkt 1 gelangt, wird die Leitung 29a zusammen
mit der Ausgangsleitung des flip-flops 85b die logische Bedingung des Und-Tores 85c erfüllen. Der Ausgang des
Und-Tores 85c wird dann ein Ende-Signal zu dem Sieuerteil
über die geöffnete Ende-Leitung schicken; ferner wird eine neue Aufgabe diesem Prozessor nach Durchführung der
ersten Aufgabe in der Aufspaltung zugeteilt, wenn noch
H zuzuteilende Aufgaben vorhanden sind. Dies wird auf die
oben unter Bezugnahme auf die Leitung 27b von Figur 4
erläuterte Weise geschehen. In einer Situation also, in der der erstellende Prozessor ausgeschieden ist, wird der
erste Prozessor, der die Aufgabe S-. , P1 übernimmt,
nicht an dem Sammlungspunkt warten, sondern wird aufgrund
des durch das flip-flop 85b erzeugten Ende-Signals ein weiterer Systemprozessor werden. Dies ist die eine Möglichkeit,
bei der ein Prozessor, der einen Sammlungspunkt erreicht, weiß, daß er nicht der erstellende Prozessor
ist, was von der vorher beschriebenen Situation zu unterscheiden ist, bei der der erstellende Prozessr die erste
Aufgabe S-, , P-, übernimmt. Die Operation der Auf gaben Zuteilung
™ und -beendigung setzt sich in der Weise fort, wie das vorher
für den Fall beschrieben wurde, daß P1 nicht ausschied.
Derjenige Prozessor jedoch, der die letzte Aufgabe der Aufspaltung (E1, Q1) vollendet, schaltet das Feld N2 in
Figur 4 auf Null herab. Die Leitung 27b in Figur 4 prüft dann das Feld N2 auf Null in der Null-Prüfstufe 30a. Der
Null-Ausgang 34a wird dann aktiviert und dem Tor 40b zusammen mit der Bitstelle * zugeführt, die auf Eins
gesetzt worden ist, was anzeigt, daß der erstellende Prozessor ausgeschieden ist. Daher führt die Leitung 42a
die Rückkehr-Adresse zu dem den Zugriff vornehmenden Prozessor und signalisiert ferner dea Prozessor, daß er
der letzte Prozessor ist und die Daten koordinieren muß.
10981?/1530
ID 2762 -57- 2045ÜB2
Dies bewirkt eine Einstellung des flip-flop 86a, in der dieses ein Signal zu dem Zweck aussendet, die
Daten an vorbestimmten Speicherstellen zu koordinieren.
Wenn die Daten koordiniert sind, stellt ein Signal "Daten koordiniert" das flip-flop 86a in seinen NuIl-Zustand
zurück und ruft die Befehlsfolgestufe dazu auf,mit der Verarbeitung von Befehlen zu beginnen.
Genau Figur 1 b sei daran erinnert, daß der Rückkehrbefehl,
der dieses Prozessor über den Kanal 205 a von Figur 5 zugeführt wurde, die Adresse des ersten Befehls
nach dem Sammlungβpunkt 1, nämlich des Befehls OF (l),
enthält. Daher geht dieser Prozessor nach der Koordinierung der Daten in dem Befehlsflufl weiter voran und
vollendet die Aufgabe. Es versteht sich von selbst, daß in dem Befehlsfluö auch andere Aufspaltungsbefehle vorkommen
können, daß sie aber ähnlich behandelt werden können,wie da· für die Aufspaltung gemäß Figur Ib
beschrieben wurde.
Wenn der Ausgang des Und-Tores 85c nicht aktiviert wäre,
würde die Sammlungβleitung anstelle der Ende-Leitung zu
dem Steuerteil durchgeschaltet werden.
Sammlung und Aufspaltung innerhalb einer Aufspaltung
Beispiel 2
Unter Hinweis auf Figur IB wird, bei diesem Beispiel
angenommen, daS sowohl der Prozessor, der die Aufspaltung (R1, Q1) erstellte, als auch der Prozessor, der die
Aufspaltung (R2» Q2) erstellte, ausgeschieden sind und
Jeder Prozessor die Bitsteile * in dem zugehörigen FSW
•ingestellt hat. Ferner sei angenommen, daü nur vier
Aufgaben des FSW 1 zugeteilt worden sind und keine dieser
109β1?/1530 BADOR.S.NAl.
ID 2762 - 58 -
2045Ü52
Aufgaben vollendet ist. Bas mit der Aufspaltung (R1, Q1)
verbundene FSW wird dann durch Figur 2G dargestellt. Es sei ferner angenommen, daß ale Aufgaben des der Aufspaltung
(R2, Q2) zugeordneten FSW augeteilt worden
sind end daß die Aufgabe S3 (Sg, P2) zeitlich die längste
Aufgabe in der Aufspaltung (R2, Q2) ist. Wenn daher der
diese Aufgabe ausführende Prozessor zu dem Endebefehl
gelangt, geht er zurück zu dem FSW und schaltet H2 auf
Null herab, wie vorher erläutert wurde. Die Bitstelle * wird auf Eins eingestellt. Dies bedeutet, das dieser
™ Prozessor der letzte Prozessor ist. Daher ist der Rückkehrteil
des der Aufspaltung (R2, Q2) zugeordneten
FSW (S, ι I*t)c· Der Vorgang wird schematisch durch die
Linie 800 in Figur IB angedeutet. Dieser Prozessor, der der letzte Prozessor ist, geht also die erste Aufgabe
der Aufspaltung (R2, Q2) weiter durch und verarbeitet
die Befehle (S-, P-)Q (S5, P5Jp usw.» bis er den Endebefehl
erreicht.Auf das Erreichen des Endebefehls hin und aufgrund der Tatsache, öaii das flip-flop 247 von
Figur 5 zur Anzeige einer Aufspaltung innerhalb einer Aufspaltung auf Eins eingestellt ist, nämlich aus dem
selben Grund, wie das bei dem obigen Beispiel 1 erläutert
fe wurde, wird der Prozessor ermitteln, ob dies das End-FSW
in der Aufspaltung ist und wird daher einen Zugriff zu dem erstellenden FSW in der vorher beschriebenen Weise
vornehmen. Dies wird schematisch durch die Linie 802 in Figur IB angedeutet. Wenn nicht alle Aufgaben zugeteilt
sind, wird der Prozessor eine Aufgabe von dem erstellenden
FSW übernehmen und einer der ausführenden Proseseoreu in
der erstellenden Aufspaltungen werden. Wie man aus Figur 2G
sehen kann, sind nicht alle Aufgaben zugeteilt, da angenommen wurde dsiä Nl zu diesem Zeitpunkt gleich Drei Jet.
Schließlich werden alle Aufgaben der Aufspaltung (R1, Q1)
verteilt Herden und vollendet werden. Semäi IB wird angenommen,
dali die Aulgabe Sg8 F2 difllngit® Aufg&b® der
Aufspaltung ist. Daher wird der diesen Endeb·fehl
109812/1530
ID 2762 _ 59 -
erreichende Prozessor aus der Bitstelle * in diesem FSW bestimmen, daß er der letzte Prozessor ist und
wird dann die Rückkehr-Adresse im Speicher aufsuchen,
welche die Adresse des Befehls OP (l) ist, und wird diesen Befehlsfluß bis zu dem Endebefehl verarbeiten.
Dies wird in figur IB durch die Linie 806 angedeuttt.
Daraufhin ist die Aufspaltung vollendet.
Sub-WarteschlangenfDperation "
Es kann vorkommen, daß eine bestimmte Aufspaltung ein paar sehr lange Aufgaben aufweist. Je nach der Größe
des Systems können mehr als genug Systemprozessoren vorhanden sein, um je einen jeder Aufgabe zuzuordnen. In
einer solchen Situation kann das System stark aufgehalten
werden, nämlich wegen der Satsache, daß alle Aufgaben nicht vollendet sind, daß aber das PSW-Register damit
beansprucht ist, die Vollendung der zugeteilten Aufgaben zu steuern und daher keine Aufgaben von anderen PSW
den verfügbaren Verarbeitungseinrichtungen des Systems
zuteilen/i Tür diesen Fall ist die in Figur 4 gezeigte μ
PSW-Sub-Warteschlange vorgesehen. Die Operation verläuft,
wie in figur 2K zu sehen ist. Gemäß dieser figur wird
FSW 1, das einer ersten Aufspaltung zugeordnet ist, in
das PSW-Register gebracht,und die Aufgaben werden den verfügbaren System-Prozessoren zugeteilt. Wenn alle Aufgaben
zugeteilt sind, werden alle Register um eine Position nach unten verschoben. Dies kann für mehrere Worte PSW
erfolgen. In figur 2L eieht man, daß das fünfte PSW in "
einer Gruppe von Worten PSW eich in dem PSW-Register
befindet, von wo aus Aufgaben zugeteilt werden. Jedes der vier vorhergehenden PSW ist nach unten verschoben,
und zwar jeweils eines jedesmal, wenn dessen gesamte Aufgaben verteilt waren, und dieee PSW befinden sich, wie
109812/1530
ID 2762 ' - 60 -
gezeigt, in der FSW-Sub-Warteschlange. Wenn die Aufgaben
der FSW in der FSW-Sub-Warteschlange vollendet
sind, bleiben diese FSW in ihrem Wartezustand, bis zu
dem Zeitpunkt, in dem der Sammlungsbefehl für ein bestimmtes FSW von dem Prozessor angetroffen wird, der
die diesem FSW zugeordnete Anfangsaufgabe übernommen ' hat. Zu diesem Zeitpunkt nimmt der Prozessor, der den
Sammlungsbefehl erstellt hat, einen Zugriff zu dem nächsten FSW vor, das sich in der FSW-Sub-Warteschlange
befindet, wie das vorstehend in dem BeSchreibungsteil
mit der Überschrift "Aufspaltung innerhalb einer Aufspaltung"
erläutert wurde. Dieser Vorgang wird fortgesetzt, bis alle Aufspaltungen vollendet sind. Es versteht
sich, daß die Figuren 2K und 2L die Operation nur für die WarteSchlangen-Anordnung eines bestimmten P/L-Typus
zeigen. Wie jedoch vorher erläutert wurde, kann ein
bestimmter Prozessor beim Erreichen eines Sammlungsbefehles
einen Zugriff zu einer Warteschlangen-Anordnung eines anderen P/L-Typus unter Verwendung des Feldes
(P/L)t Ί vornehmen und die Vollendung dieses FSW abwarten.
Es versteht sich, daß das erfindungsgemäße System in
mancher Weise modifiziert werden kann. Zum Beispiel könnte jede Aufgabe in der Aufspaltung, wie sie in
Figur IA dargestellt ist, mit einem Endebefehl enden, anstatt daß das Ende der ersten Befehlsfolge einen
Sammlungsbefehl aufweist./wurde unter Zuhilfenahme
geeigneter Torschaltungen die Rückkehr-Adresse zu dem
Sammlungsbefehl zurückführen, gemäß dem alle Daten koordiniert werden würden.
Ferner versteht es sich für den Fachmann, daß die Torschaltungen zwischen den FSW-Steuerechaltungen
der verschiedenen P/L-Typen auch durch andere Torschaltungsmittel
verwirklicht werden können, bei denen nicht die in dem FSW enthaltene Kombination der Werte
109812/1530
ID 2762 - 61 -
N4 und P/L verwendet wird. Anstatt ein PSW-Register
zu verwenden, kann man ferner in einem Speloher ein
Wort oder eine Anzahl von Worten reservieren und von
dort aus die Steuerung der Operationen des PSW vornehmen. Der Aufspaltungsbefehl hätte dann die Form
Aufspaltung (c<, Q), wobei ^ eine das PSW enthaltende
Speicheretelle wäre und Q der P/L-Typua der geforderten
Operation wäre.
Pa tent ans prüohet
10 9817/15 30
Claims (12)
- ID 2762 - %-PatentansprücheQ.Datenverarbeitungssys.tem mit vielfachem Operandenfluß, bei dem eine Kennzeichnung solcher Datenverarbeitungsaufgaben vorgesehen ist, die unabhängig voneinander parallel durchgeführt werden können, g e k e η η zeichnet durch eine Speichervorrichtung™ (101), die den Belegungszustand (belegt bzw. frei)voneinander unabhängiger Datenverarbeitungseinrichtungen speichert, durch eine Dekodierstufe (131) zum Identifizieren der genannten Kennzeichnung parallel durchführbarer Aufgaben, durch eine mit dem Ausgang der Dekodierstufe (131) und mit der Speichervorrichtung (101) verbundene Speichermittel aufweisende Steuerschaltung (139* 121, 123» 109, 103) zum Zuteilen der gekennzeichneten Aufgaben an die Verarbeitungseinrichtungen, sobald diese verfügbar sind, und durch Ausgabemittel (Vordekodierer, Tor 230, Kanal 212) zum Übermitteln eines Steuerwortes (PSW) zu der genannten Steuerschaltung, welches den Fortgang der Durchführung der£ gekennzeichneten Aufgaben anzeigt.
- 2. Anordnung nach Anspruoh 1, dadurch gekenn zeichnet , daß die Datenverarbeitungseinrichtungen jeweils einzeln zur Durchführung spezieller physikalischer und logischer Aufgaben bestimmt sind.
- 3· Anordnung nach Anspruoh 2, dadurch gekennzeichnet , daß die Verarbeitungseinriohtungen gleicher Bestimmung in der genannten Speichervorrichtung (101) zusammen gruppiert sind.109812/1530■·■;■.- 2Ü45052ID 2762 - ^ -
- 4. Anordnung nach Anspruch. 1, d adurch gekennzeichne t , daß das genannte Steuerwort Hinweise auf die Zahl der noch nicht zugeteilten Aufgaben.-..(HI;), auf die zugeteilten, aber noch nicht vollendeten Aufgaben (N2) auf die Speicherstelle von Aufgabenoperanden (S, 3?) sowie Steuer- und Rückführ-Information aufweist.
- 5· Anordnung nach Anspruch 1, d a d u r c h g e k e η η ζ e i c hn e t , daß eine erste Warteschlange (159) vorgesehen ist, um die Steuerworte aufzunehmen, bis die genannte j Steuerschaltung (121) dafür verfügbar ist, das jeweilige S^euerwort aufzunehmen. .
- 6. Anordnung nach Anspruch 5> dadurch. gekennzeichne t , daß eine zweite Warteschlange (123) vorgesehen ist und Steuerstufen aufweist, die auf die Zuteilung aller in dem Steuerwort angezeigten Aufgaben anspricht und darauf bewirkt, daß die zweite Warteschlange das Steuerwort aufnimmt und die Vollendung der zugeteilten Aufgaben steuert, während die erste Warteschlange (139) ein neues Steuerwort in die genannte Steuerschaltung (121) eingibt. '
- 7. Anordnung nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet , daß eine Vielzahl von aus einer ersten und einer zweiten Warteschlange (139 bzw. 123) bestehenden Kombinationen vorgesehen sind, wobei Jede Kombination Datenbearbeitungsaufgaben eines bestimmten physikalischen oder logischen Typs zugeordnet ist, Und daß mdieDekodierstufe (131) bewirkt, daß jedes der Steuerworte «ader seinem Aufgabentyp entsprechende! Kombination geführt wird.
- 8. Datenverarbeitungssyatem mit vielfachem Operandenfluß, bei dem eiae Kennzeichnung solcher Datenbearbeitungsaufgaben vorgesehen ist, die unabhängig voneinander parallel durch-109812/1530IH 2762 -*- 2Ü45052geführt werden können, gekennzeichnet durch eine Mehrzahl von jeweils einen Befehlsfluß verarbeitender Datenverarbeitungseinrichtungen, durch eine Verarbeitungseinrichtungstabelle , welche den Zustand der einzelnen Datenverarbeitungseinrichtungen speichert, durch Mittel zum Feststellen einer parallel durchführbaren Gruppe von Aufgaben, durch auf- die vorgenannte Feststellung ansprechende Mittel zur Erstellung eines Steuerwortes, welches Datenverarbeitungseinrichtungen zur Durchführung der einzelnen Aufgaben anfordert und die Zahl der zuzuteilenden Aufgaben enthält, durch Abtastmittel zum Abtasten der Verarbeitungseinrichtungstabelle zwecks Ermittlung einer freien Datenverarbeitungseinrichtung, durch auf die vorgenannte Ermittlung ansprechende Prüfaittel zum Prüfen der Anzahl der noch auf die Zuteilung wartenden Aufgaben und auf das Torhandensein mindestens einer noch wartenden Aufgabe ansprechende Mittel zum Zuteilen einer der wartenden Aufgaben an die ermittelte Datenverarbeitungseinrichtung.
- 9· Anordnung nach Anspruch 8, dadurch gekennzeichnet , daß das genannte Steuerwort die Anzahl der innerhalb der Aufgabengruppe zugeteilten, aber unvollendeten Aufgaben und eine Anzeige dafür enthält, ob die das Steuerwort erstellende Datenverarbeitungseinrichtung ihren Zustand als erstellende Datenverarbeitungseinrichtung beibehält oder nicht, und ferner gekennzeichnet durch Dekrement mittel, die jedesmal» wenn eine Aufgabe vollendet ist, die Anzahl der zugeteilten, aber unvollendeten Aufgaben vermindern, durch Mittel zum Überprüfen der nach jeder Herabsehaltung verbleibenden Anzahl daraufhin, ob die letzte Aufgabe ö©r Clruppe vollendet ist, durch Mittel, welche auf die folleadösif der letzten Aufgabe hin die vorgenannte Anzeige überprifoa, und duroh Mittel, welche aufgrund dar Aneeige,10 98 m 15 30ORIGINAL INSPECTED2Ü45052ID 2762 _ ^-trdaß die erstellende Datenverarbeitungseinrichtung ihren anfänglichen Zustand beibehalten wird, die erstellende Datenverarbeitungseinrichtung dazu aufruft, die Daten zu koordinieren und mit der Verarbeitung von Befehlen in dem Befehlsfluß fortzufahren, aus dem die Aufgatengruppe entstanden war.
- 10. Anordnung nach Anspruch 9, gekennzeichnet d u r c h Mittel, die auf den Fall ansprechen, daß die das Steuerwort erstellende Datenverarbeitungseinrichtung ihren ursprünglichen Zustand nicht beibehalten wird,und die daraufhin die die letzte Aufgabe der Gruppe vollendende Datenverarbeitungseinrichtung dazu aufrufen, die Daten zu koordinieren und die Verarbeitung von Befehlen in dem Befehlsfluß fortzusetzen, aus dem die Gruppe von Aufgaben entstanden war.
- 11. Verfahren zur Durchführung von unabhängig voneinander parallel durchführbarer Datenbearbeitungsaufgaben in einem Datenverarbeitungssystem mit vielfachem Operandenfluß, wobei eine Kennzeichnung parallel durchführbarer Aufgaben vorgesehen ist, dadurch gekennzeichnet , daß ein einen bestimmten Befehlsfluß verarbeitender Prozessor des Systeme beim Auftreffen auf eine Kennzeichnung einer parallel durchführbaren Aufgabengruppe βine β bestimmten Aufgabentyp· den Aufgabentyp dekodiert und an logische Schaltmittel, welche diesem Aufgabentyp zugeordnet sind, ein zusätzliche Prozessoren anforderndes Steuerwort abgibt, da«eine dynamische Zuteilung der Aufgaben an die Prozessoren erfolgt, sobald diese zur Übernahme einer Aufgabe verfügbar sind, daß geprüft wird, ob der da· Steuerwort erstellende Prozessor ••inen Zustand als erstellender Proseasor beibehält, und daS aufgrund der Feststellung, daß der erstellende Prozessor, ■•inen Zuatand beibehalten wird, ein Signal in den10981?/1530ίίerstellenden Prozessor abgegeben wird, welches bewirkt, daß der erstellende Prozessor die sich bei der Durchführung der Aufgabengruppe ergebenden Daten koordiniert und die Verarbeitung der Befehle in dem bestimmten Befehlsfluß fortsetzt, nachdem die letzte Aufgabe der Aufgabengruppe vollendet ist»
- 12. Verfahren nach Anspruch 11, dadurch gekenn zeichnet , daß aufgrund der Feststellung, daß der erstellende Prozessor seinen Zustand als erstellender Prozessor nicht beibehalten wird, ein Aufruf an den die letzte Aufgabe der Aufgabengruppe vollendenden Prozessor erfolgt, die Daten zu koordinieren und die Verarbeitung von Befehlen in dem genannten bestimmten Befehlsfluß fortzusetzen.109917/1S3-0
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US85802269A | 1969-09-15 | 1969-09-15 |
Publications (1)
Publication Number | Publication Date |
---|---|
DE2045052A1 true DE2045052A1 (de) | 1971-03-18 |
Family
ID=25327265
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19702045052 Pending DE2045052A1 (de) | 1969-09-15 | 1970-09-11 | System zum Identifizieren von Mehraufgabensituationen und zum Steuern der Durchführung dieser Aufgaben |
Country Status (6)
Country | Link |
---|---|
US (1) | US3614745A (de) |
JP (1) | JPS509622B1 (de) |
CA (1) | CA931273A (de) |
DE (1) | DE2045052A1 (de) |
FR (1) | FR2060929A5 (de) |
GB (1) | GB1260780A (de) |
Families Citing this family (78)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4374412A (en) * | 1965-05-25 | 1983-02-15 | Schaffner Mario R | Circulating page loose system |
US3725864A (en) * | 1971-03-03 | 1973-04-03 | Ibm | Input/output control |
US3916387A (en) * | 1971-04-23 | 1975-10-28 | Ibm | Directory searching method and means |
US4330822A (en) * | 1971-09-02 | 1982-05-18 | Burroughs Corporation | Recursive system and method for binding compiled routines |
US4086628A (en) * | 1971-11-10 | 1978-04-25 | International Business Machines Corporation | Directory generation system having efficiency increase with sorted input |
AT335202B (de) * | 1973-08-13 | 1977-02-25 | Ibm Oesterreich | Datenverarbeitungsanlage zur parallelen ausfuhrung von verarbeitungsoperationen |
US3984817A (en) * | 1973-11-08 | 1976-10-05 | Honeywell Information Systems, Inc. | Data processing system having improved program allocation and search technique |
FR2253418A5 (de) * | 1973-11-30 | 1975-06-27 | Honeywell Bull Soc Ind | |
US4156903A (en) * | 1974-02-28 | 1979-05-29 | Burroughs Corporation | Data driven digital data processor |
US3978452A (en) * | 1974-02-28 | 1976-08-31 | Burroughs Corporation | System and method for concurrent and pipeline processing employing a data driven network |
US4369494A (en) * | 1974-12-09 | 1983-01-18 | Compagnie Honeywell Bull | Apparatus and method for providing synchronization between processes and events occurring at different times in a data processing system |
US4099230A (en) * | 1975-08-04 | 1978-07-04 | California Institute Of Technology | High level control processor |
US4115848A (en) * | 1975-12-11 | 1978-09-19 | Tokyo Shibaura Denki Kabushiki Kaisha | Method and system of controlling plants |
US4062058A (en) * | 1976-02-13 | 1977-12-06 | The United States Of America As Represented By The Secretary Of The Navy | Next address subprocessor |
DE2641722C3 (de) * | 1976-09-16 | 1981-10-08 | Siemens AG, 1000 Berlin und 8000 München | Hierarchisch geordnetes Speichersystem für eine datenverarbeitende Anlage mit virtueller Adressierung |
GB2023314B (en) * | 1978-06-15 | 1982-10-06 | Ibm | Digital data processing systems |
US4253145A (en) * | 1978-12-26 | 1981-02-24 | Honeywell Information Systems Inc. | Hardware virtualizer for supporting recursive virtual computer systems on a host computer system |
US4319321A (en) * | 1979-05-11 | 1982-03-09 | The Boeing Company | Transition machine--a general purpose computer |
SE430106B (sv) | 1979-06-18 | 1983-10-17 | Ibm Svenska Ab | Hierarkiskt datorsystem |
US4306286A (en) * | 1979-06-29 | 1981-12-15 | International Business Machines Corporation | Logic simulation machine |
DE2936801C2 (de) * | 1979-09-12 | 1982-10-28 | Ibm Deutschland Gmbh, 7000 Stuttgart | Steuereinrichtung zur Ausführung von Instruktionen |
US4318173A (en) * | 1980-02-05 | 1982-03-02 | The Bendix Corporation | Scheduler for a multiple computer system |
US4333144A (en) * | 1980-02-05 | 1982-06-01 | The Bendix Corporation | Task communicator for multiple computer system |
US4456958A (en) * | 1982-06-08 | 1984-06-26 | Burroughs Corporation | System and method of renaming data items for dependency free code |
US4466061A (en) * | 1982-06-08 | 1984-08-14 | Burroughs Corporation | Concurrent processing elements for using dependency free code |
US4468736A (en) * | 1982-06-08 | 1984-08-28 | Burroughs Corporation | Mechanism for creating dependency free code for multiple processing elements |
US4656580A (en) * | 1982-06-11 | 1987-04-07 | International Business Machines Corporation | Logic simulation machine |
US5694603A (en) * | 1982-09-28 | 1997-12-02 | Reiffin; Martin G. | Computer memory product with preemptive multithreading software |
US4729094A (en) * | 1983-04-18 | 1988-03-01 | Motorola, Inc. | Method and apparatus for coordinating execution of an instruction by a coprocessor |
US4758950A (en) * | 1983-04-18 | 1988-07-19 | Motorola, Inc. | Method and apparatus for selectively delaying an interrupt of a coprocessor |
US5021991A (en) * | 1983-04-18 | 1991-06-04 | Motorola, Inc. | Coprocessor instruction format |
US4821231A (en) * | 1983-04-18 | 1989-04-11 | Motorola, Inc. | Method and apparatus for selectively evaluating an effective address for a coprocessor |
US4811274A (en) * | 1983-04-18 | 1989-03-07 | Motorola, Inc. | Method and apparatus for selectively evaluating an effective address for a coprocessor |
US4862351A (en) * | 1983-09-01 | 1989-08-29 | Unisys Corporation | Method of executing called activities via depictor-linked low level language microcode, hardware logic, and high level language commands; and apparatus for same |
JPS60101644A (ja) * | 1983-11-07 | 1985-06-05 | Masahiro Sowa | ノイマン型コンピュータプログラムを実行するコントロールフローコンピュータ |
US4989133A (en) * | 1984-11-30 | 1991-01-29 | Inmos Limited | System for executing, scheduling, and selectively linking time dependent processes based upon scheduling time thereof |
US4636948A (en) * | 1985-01-30 | 1987-01-13 | International Business Machines Corporation | Method for controlling execution of application programs written in high level program language |
US5287537A (en) * | 1985-11-15 | 1994-02-15 | Data General Corporation | Distributed processing system having plural computers each using identical retaining information to identify another computer for executing a received command |
US5021947A (en) * | 1986-03-31 | 1991-06-04 | Hughes Aircraft Company | Data-flow multiprocessor architecture with three dimensional multistage interconnection network for efficient signal and data processing |
JPS62295168A (ja) * | 1986-06-13 | 1987-12-22 | Canon Inc | 機器制御装置 |
US5241627A (en) * | 1987-04-09 | 1993-08-31 | Tandem Computers Incorporated | Automatic processor module determination for multiprocessor systems for determining a value indicating the number of processors |
US5010482A (en) * | 1987-07-02 | 1991-04-23 | Unisys Corp. | Multi-event mechanism for queuing happened events for a large data processing system |
GB8717689D0 (en) * | 1987-07-25 | 1987-09-03 | British Petroleum Co Plc | Computers |
US5206951A (en) * | 1987-08-21 | 1993-04-27 | Wang Laboratories, Inc. | Integration of data between typed objects by mutual, direct invocation between object managers corresponding to object types |
US4943912A (en) * | 1987-10-13 | 1990-07-24 | Hitachi, Ltd. | Parallel processor system having control processor and array control apparatus for selectively activating different processors |
US4961133A (en) * | 1987-11-06 | 1990-10-02 | Visystems, Inc. | Method for providing a virtual execution environment on a target computer using a virtual software machine |
JP2810043B2 (ja) * | 1987-11-13 | 1998-10-15 | 株式会社日立製作所 | データ処理装置 |
US5014221A (en) * | 1988-01-29 | 1991-05-07 | Digital Equipment Corporation | Mechanism for arbitrating client access to a networked print server |
EP0346801B1 (de) * | 1988-06-17 | 1996-12-27 | Siemens Aktiengesellschaft | Verfahren und Anordnung zur Ausführung eines Programms in einem heterogenen Mehrrechnersystem |
US5155808A (en) * | 1988-07-11 | 1992-10-13 | Nec Corporation | System for cooperatively executing programs by sequentially sending a requesting message to serially connected computers |
DE68924040T2 (de) * | 1988-10-24 | 1996-04-18 | Ibm | Verfahren zum Austauschen von Daten zwischen Programmen in einem Datenverarbeitungssystem. |
JP2810068B2 (ja) * | 1988-11-11 | 1998-10-15 | 株式会社日立製作所 | プロセッサシステム、コンピュータシステム及び命令処理方法 |
DE69027788D1 (de) * | 1989-01-17 | 1996-08-22 | Landmark Graphics Corp | Verfahren zur Übertragung von Daten zwischen gleichzeitig ablaufenden Rechnerprogrammen |
US5127093A (en) * | 1989-01-17 | 1992-06-30 | Cray Research Inc. | Computer look-ahead instruction issue control |
EP0473714A1 (de) * | 1989-05-26 | 1992-03-11 | Massachusetts Institute Of Technology | Paralleles vielfaden-datenverarbeitungssystem |
US5471622A (en) * | 1989-10-04 | 1995-11-28 | Paralogic, Inc. | Run-time system having nodes for identifying parallel tasks in a logic program and searching for available nodes to execute the parallel tasks |
EP0422310A1 (de) * | 1989-10-10 | 1991-04-17 | International Business Machines Corporation | Verteilter Mechanismus für die schnelle Planung von gemeinsamen Objekten |
EP0432075B1 (de) * | 1989-11-09 | 1997-02-26 | International Business Machines Corporation | Multiprozessor mit relativ atomaren Befehlen |
US5251320A (en) * | 1990-05-25 | 1993-10-05 | International Business Machines Corporation | Power controller for permitting multiple processors to power up shared input/output devices and inhibit power down until all processors have ceased service with the I/O devices |
DE4019040A1 (de) * | 1990-06-14 | 1991-12-19 | Philips Patentverwaltung | Multirechnersystem |
US5367678A (en) * | 1990-12-06 | 1994-11-22 | The Regents Of The University Of California | Multiprocessor system having statically determining resource allocation schedule at compile time and the using of static schedule with processor signals to control the execution time dynamically |
US5325525A (en) * | 1991-04-04 | 1994-06-28 | Hewlett-Packard Company | Method of automatically controlling the allocation of resources of a parallel processor computer system by calculating a minimum execution time of a task and scheduling subtasks against resources to execute the task in the minimum time |
US5247675A (en) * | 1991-08-09 | 1993-09-21 | International Business Machines Corporation | Preemptive and non-preemptive scheduling and execution of program threads in a multitasking operating system |
US5497463A (en) * | 1992-09-25 | 1996-03-05 | Bull Hn Information Systems Inc. | Ally mechanism for interconnecting non-distributed computing environment (DCE) and DCE systems to operate in a network system |
US5608870A (en) * | 1992-11-06 | 1997-03-04 | The President And Fellows Of Harvard College | System for combining a plurality of requests referencing a common target address into a single combined request having a single reference to the target address |
JPH06243113A (ja) * | 1993-02-19 | 1994-09-02 | Fujitsu Ltd | 並列計算機における計算モデルのマッピング法 |
JP3434405B2 (ja) * | 1996-03-19 | 2003-08-11 | 富士通株式会社 | 通信制御装置及び通信制御方法並びに中間通信制御ユニット |
KR20000065245A (ko) * | 1997-07-15 | 2000-11-06 | 실리콘 오토메이션 시스템즈 피브이티. 리미티드 | 면허관리시스템 |
US6134630A (en) | 1997-11-14 | 2000-10-17 | 3Ware | High-performance bus architecture for disk array system |
US6098114A (en) * | 1997-11-14 | 2000-08-01 | 3Ware | Disk array system for processing and tracking the completion of I/O requests |
US6480876B2 (en) * | 1998-05-28 | 2002-11-12 | Compaq Information Technologies Group, L.P. | System for integrating task and data parallelism in dynamic applications |
US6675189B2 (en) | 1998-05-28 | 2004-01-06 | Hewlett-Packard Development Company, L.P. | System for learning and applying integrated task and data parallel strategies in dynamic applications |
EP1185928A1 (de) * | 1998-12-16 | 2002-03-13 | Kent Ridge Digital Labs | Prozess-orientierte rechner-umgebung |
US6859927B2 (en) | 1999-12-21 | 2005-02-22 | Lockheed Martin Corporation | Apparatus and method for controlling allocation of resources and task execution |
US7010788B1 (en) | 2000-05-19 | 2006-03-07 | Hewlett-Packard Development Company, L.P. | System for computing the optimal static schedule using the stored task execution costs with recent schedule execution costs |
US6925556B2 (en) * | 2001-02-14 | 2005-08-02 | Intel Corporation | Method and system to determine the bootstrap processor from a plurality of operable processors |
US7240347B1 (en) | 2001-10-02 | 2007-07-03 | Juniper Networks, Inc. | Systems and methods for preserving the order of data |
DE10246732A1 (de) * | 2002-10-07 | 2004-04-15 | OCé PRINTING SYSTEMS GMBH | Verfahren und Vorrichtung zum Synchronisieren von Aktionen, die über ein lokales, mehrere Mikrokontroller aufweisendes Datennetz gesteuert werden, sowie Verfahren und Vorrichtung zum Senden von Nachrichten über ein solches Datennetzwerk |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
USRE26171E (en) * | 1962-03-02 | 1967-03-07 | Multiprocessing computer system | |
US3411139A (en) * | 1965-11-26 | 1968-11-12 | Burroughs Corp | Modular multi-computing data processing system |
US3444525A (en) * | 1966-04-15 | 1969-05-13 | Gen Electric | Centrally controlled multicomputer system |
US3440616A (en) * | 1966-05-16 | 1969-04-22 | Gen Electric | Data storage access control apparatus for a multicomputer system |
US3480914A (en) * | 1967-01-03 | 1969-11-25 | Ibm | Control mechanism for a multi-processor computing system |
US3480916A (en) * | 1967-01-30 | 1969-11-25 | Gen Electric | Apparatus providing identification of programs in a multiprogrammed data processing system |
-
1969
- 1969-09-15 US US858022A patent/US3614745A/en not_active Expired - Lifetime
-
1970
- 1970-08-10 FR FR7032132A patent/FR2060929A5/fr not_active Expired
- 1970-08-21 JP JP45072860A patent/JPS509622B1/ja active Pending
- 1970-08-27 CA CA091712A patent/CA931273A/en not_active Expired
- 1970-09-03 GB GB42097/70A patent/GB1260780A/en not_active Expired
- 1970-09-11 DE DE19702045052 patent/DE2045052A1/de active Pending
Also Published As
Publication number | Publication date |
---|---|
US3614745A (en) | 1971-10-19 |
GB1260780A (en) | 1972-01-19 |
FR2060929A5 (de) | 1971-06-18 |
CA931273A (en) | 1973-07-31 |
JPS509622B1 (de) | 1975-04-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2045052A1 (de) | System zum Identifizieren von Mehraufgabensituationen und zum Steuern der Durchführung dieser Aufgaben | |
DE3300261C2 (de) | ||
DE1549532C2 (de) | Unterbrechungs-Direktorschalrwerk für eine Datenverarbeitungsanlage mit mehreren Rechenanlagen und mehreren perpheren Geräten | |
DE3300260C2 (de) | ||
DE3300262C2 (de) | ||
DE3300263C2 (de) | ||
EP0635792B1 (de) | Verfahren zur Koordination von parallelen Zugriffen mehrerer Prozessoren auf Resourcenkonfigurationen | |
DE2243956A1 (de) | Speicherprogrammierte datenverarbeitungsanlage | |
DE3508291A1 (de) | Realzeit-datenverarbeitungssystem | |
DE2755371A1 (de) | Ein/ausgabe-verarbeitungssystem | |
DE2635592A1 (de) | Multiprozessor-abrufsystem | |
DE2839866A1 (de) | System zur automatischen aufhebung eines totlaufzustandes in einem datenverarbeitungssystem | |
DE2165767A1 (de) | Datenverarbeitungssystem | |
DE2332734A1 (de) | Datenverarbeitungssystem | |
DE3500804A1 (de) | Unterbrechungssteuerkreis | |
DE2148956C3 (de) | Datenübertragungssystem | |
DE4207158A1 (de) | Speicher-zugriffssteuerung | |
DE1499190C3 (de) | Elektronische Datenverarbeitungsanlage | |
DE2003150C3 (de) | Prioritätsschaltung | |
DE4134387A1 (de) | Vorrichtung und verfahren zum befehlszufuehren in geraeten mit parallelverarbeitung | |
DE1191145B (de) | Elektronische Zifferrechenmaschine | |
DE3048414A1 (de) | "schaltungsanordnung fuer eine datenverarbeitungsanlage" | |
DE1237812B (de) | Datenverarbeitungsgeraet mit mehreren Speichern | |
DE2759120A1 (de) | Prozessor fuer datenverarbeitungssysteme | |
DE2720842A1 (de) | Daten-uebertragungssystem |