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 Aufgaben

Info

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
Application number
DE19702045052
Other languages
English (en)
Inventor
Michael John Evanston 111.; Podvin Albert Woodland Hills Calif.; Flynn (V.St.A.)
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE2045052A1 publication Critical patent/DE2045052A1/de
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/45Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/161Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3854Instruction completion, e.g. retiring, committing or graduating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation 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/505Allocation 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs

Description

Dr. phJl. G, B. HAGEN £045052 Patentanwalt
MÜNCHEN 71 (SoHn) Franz-Hal*-Straße 21
Telefon 796213 ' „4. -, nnn
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
B«ywiidi« Verntoabuk München 820983 BAQ ORIQINAL
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
Hr. 315 024 der Anmelderin beschrieben ist.
."-..'■ ■ 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.
In den Zeichnungen zeigern
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)
IOegmtS-30 BADORlßlNAL
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}
Figur 4-A tine Darstellung der bei dsm Steuerteil der Figuren 3A und 3B Ttrwendtttn Sslslctiomsmittel; Figur 5 eine Darstellung einer der in Atm parallel
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,
aber noch unvollendet sind)
S ein Hinweis auf die Adresse des ersten Befehls der eriten Aufgabe j
109817/1S30 bad original
P ein Hinweis auf den Ort des ersten Datenparaaeters
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
Ton Prozessoren, die die Aufgaben dieser Aufspaltung
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.
Aufspaltungabsfehl
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
BAD ORIGINAL
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.
Endebefehl
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&ltung ü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,
BAD ORIGINAL
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
Stauarteil
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.
Das FSW la Register 133 kann über den Kanal 135 entweder i
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.
BAD ORIGINAL
.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.
Steuerung der Aufgabenbeendigung
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.
Sammlungssteuermittel
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.
FSW-Sub-Warteschlange und logische Steuerschaltung
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
&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
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
T-0f8T2ffSd0 BAD ORIGINAL
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.
Sammlung und Aufspaltung innerhalb einer Aufspaltung Beispiel 1
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)

  1. ID 2762 - %-
    Patentansprüche
    Q.
    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. 2. Anordnung nach Anspruoh 1, dadurch gekenn zeichnet , daß die Datenverarbeitungseinrichtungen jeweils einzeln zur Durchführung spezieller physikalischer und logischer Aufgaben bestimmt sind.
  3. 3· Anordnung nach Anspruoh 2, dadurch gekennzeichnet , daß die Verarbeitungseinriohtungen gleicher Bestimmung in der genannten Speichervorrichtung (101) zusammen gruppiert sind.
    109812/1530
    ■·■;■.- 2Ü45052
    ID 2762 - ^ -
  4. 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. 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. 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. 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. 8. Datenverarbeitungssyatem mit vielfachem Operandenfluß, bei dem eiae Kennzeichnung solcher Datenbearbeitungsaufgaben vorgesehen ist, die unabhängig voneinander parallel durch-
    109812/1530
    IH 2762 -*- 2Ü45052
    gefü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. 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 30
    ORIGINAL INSPECTED
    2Ü45052
    ID 2762 _ ^-
    tr
    daß 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. 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. 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 den
    10981?/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. 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
DE19702045052 1969-09-15 1970-09-11 System zum Identifizieren von Mehraufgabensituationen und zum Steuern der Durchführung dieser Aufgaben Pending DE2045052A1 (de)

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)

* Cited by examiner, † Cited by third party
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
US3978452A (en) * 1974-02-28 1976-08-31 Burroughs Corporation System and method for concurrent and pipeline processing employing a data driven network
US4156903A (en) * 1974-02-28 1979-05-29 Burroughs Corporation Data driven digital data processor
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
US4333144A (en) * 1980-02-05 1982-06-01 The Bendix Corporation Task communicator for multiple computer system
US4318173A (en) * 1980-02-05 1982-03-02 The Bendix Corporation Scheduler for a multiple computer system
US4466061A (en) * 1982-06-08 1984-08-14 Burroughs Corporation Concurrent processing elements for using dependency free code
US4456958A (en) * 1982-06-08 1984-06-26 Burroughs Corporation System and method of renaming data items for 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
US4758950A (en) * 1983-04-18 1988-07-19 Motorola, Inc. Method and apparatus for selectively delaying an interrupt of a coprocessor
US4811274A (en) * 1983-04-18 1989-03-07 Motorola, Inc. Method and apparatus for selectively evaluating an effective address for a coprocessor
US5021991A (en) * 1983-04-18 1991-06-04 Motorola, Inc. Coprocessor instruction format
US4729094A (en) * 1983-04-18 1988-03-01 Motorola, Inc. Method and apparatus for coordinating execution of an instruction by a coprocessor
US4821231A (en) * 1983-04-18 1989-04-11 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
DE58909756D1 (de) * 1988-06-17 1997-02-06 Siemens Ag 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
EP0366583B1 (de) * 1988-10-24 1995-08-30 International Business Machines Corporation 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 富士通株式会社 通信制御装置及び通信制御方法並びに中間通信制御ユニット
WO1999004354A1 (en) * 1997-07-15 1999-01-28 Shinko Electric Industries Co., Ltd. A license management system
US6098114A (en) * 1997-11-14 2000-08-01 3Ware Disk array system for processing and tracking the completion of I/O requests
US6134630A (en) 1997-11-14 2000-10-17 3Ware High-performance bus architecture for disk array system
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
US6480876B2 (en) * 1998-05-28 2002-11-12 Compaq Information Technologies Group, L.P. System for integrating task and data parallelism in dynamic applications
WO2000036506A1 (en) * 1998-12-16 2000-06-22 Kent Ridge Digital Labs Process oriented computing environment
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)

* Cited by examiner, † Cited by third party
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

Also Published As

Publication number Publication date
FR2060929A5 (de) 1971-06-18
CA931273A (en) 1973-07-31
US3614745A (en) 1971-10-19
GB1260780A (en) 1972-01-19
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
DE2164793A1 (de) Verfahren und Datenverarbeitungsanlage zur Steuerung einer Vielzahl von Eingabe/ Ausgabe-Einheiten mittels eine Zentraleinheit
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) &#34;schaltungsanordnung fuer eine datenverarbeitungsanlage&#34;
DE1237812B (de) Datenverarbeitungsgeraet mit mehreren Speichern
DE2759120A1 (de) Prozessor fuer datenverarbeitungssysteme