DE2839726C2 - Multiprozessoranlage mit verteilter Steuerarchitektur - Google Patents

Multiprozessoranlage mit verteilter Steuerarchitektur

Info

Publication number
DE2839726C2
DE2839726C2 DE2839726A DE2839726A DE2839726C2 DE 2839726 C2 DE2839726 C2 DE 2839726C2 DE 2839726 A DE2839726 A DE 2839726A DE 2839726 A DE2839726 A DE 2839726A DE 2839726 C2 DE2839726 C2 DE 2839726C2
Authority
DE
Germany
Prior art keywords
control
processor
command
dcip
execution
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.)
Expired
Application number
DE2839726A
Other languages
English (en)
Other versions
DE2839726A1 (de
Inventor
Donald E. Marblehead Mass. Wallis
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 DE2839726A1 publication Critical patent/DE2839726A1/de
Application granted granted Critical
Publication of DE2839726C2 publication Critical patent/DE2839726C2/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/509Offload

Description

F ig. 3 schematisch eine Darstellung der Arbeitsweise der arithmetische Prozessor (AP) 16, der eine zweite
der Verknüpfungsliste, . Art von Funktionen durchführt, in diesem Fall arithine-
Fig.4 eine ins Einzelne gehende Darstellung des tischeOperationeo. Der arithmetische Prozessor 16 ist
Schnittstellen Steuerprozessors, über eine Dateneingangs-und-ausgangsleiturig 32 mit
' Fig.5 schematisch die Koordinierung der Verarbei- 5 dem Arbeitsspeicher.24 verbunden. Der ärithinetische
Uingsaktivitäten zwischen zwei voneinander abhängi- Prozessor 16 ist außerdem niit seinem Steuereingang
gen Unterprozessoren, 26' an einem Schnittstellen-Steuerprozessor (DCiP)IS
Fig.6 schematisch eine Darstellung der Verteilung angeschlossen. Der arithmetische Prozessor 16 enthält
der Funktionen zwischen dem Steuerprozessor und den eine zweite Weiterleitungs- und Wartelogik 14' für "die
beiden Unterprozessoren bei der Durchführung einer to Weiterleitung eines Ausgangssignals an die Weiterlei-
einzigen Aufgabe, tungs- und Wartelogik 14 in der Datenübertragungs-
Ft g. 7' schematisch die Darstellung der Weiterlei- steuerung 10 für eine Anzeige dafür, daß die zweite Art
tungs-und Wartelogik und arithmetischer Funktion durchgeführt ist Die erste
F i gl 8 ein Funktions-Blockschaltbild einer Multipro- Weiterleitungs- und Wartelogik 14 in der Datenübertra-
zessoranlage mit mehr als zwei Schnittstellen-Steuer- 15 gungssteuerung 10 leitet ihr Ausgangssignal nach der
Prozessoren für mehr als zweiXJntföprozessoren. zweiten Weiterleitungs- und Wartelpgik 14' im arithme-
F i g. 1 zeigt ein Blockschaltbild der funktionalen Sy- tischen Prozessor 16 für eine Koordinierung der Durchstemorganisation einer Multiprozessoranlage. Der führung von gegenseitig voneinander abhängigen Funk-Steuerprozessor (CP) 2 arbeitet mit Befehlen einer Sy- tionen der ersten und zweiten Art weiter,
slemprogrammiersprache für die Durchführung von Sy- 20 Ein zweiter Schnittstellen-Steuerprozessor 18 ist mit stemüberwachungs- und Aufgabenverwaltungs-Funk- seinen·. Sieuereingang an der Steuenckung 4 für eine tionen. Der Steuerprozessor weist eine System .Steuer- Aufnahme von Ausführungsbefehlsworteir angeschlos-Iogik (ECB) 4 auf, über die Ausführungs-Befehlsworte sen. Der DCIPiS ist über eine Steuerausgangsleitung abgegeben werden, die eine Zeigeradresse enthalten. 26' mit dem arithmetischen Prozessor 16 verbunden. Ein Programmspeicher (CP/PS) 6 speichert aufgereihte 25 Der DCIPiS ist außerdem mit seinem Dateneingang Verknüpfungslisten von Befehlsworten einer Zwischen- über eine Systemdatenleitung 8 am Programmspeicher ebene, wobei die Zeigeradresse eines der Ausführungs- 6 für einen Zugriff zu den Befehlsworten aus der Ver-Befehlsworte auf den Kopf einer jeden Liste zeigt knüpf ungsliste verbunden, auf die die Zeigeradresse in
Ein erster Unterprozessor ist die Datenübertregungs- dem Ausführungsbefehlswort hinweist Der DCIP18 steuerung (DTC) 10, die eine erste Art von Funktion 30 enthält eine Anzahl gespeicherter Steuerprogramme im durchzuführen vermag, was im Fall einer Datenübertra- örtlichen PROM40 für die Durchführung einer zweiten gungssteuerung die Übermittlung von Datenblocks zwi- Art von Funktionen, wobei jedes dieser gespeicherten sehen dem Hauptspeicher 20 und dem Arbeitsspeicher Programme durch ein entsprechendes Befehlswort an-24 darstellt Die Datenübertragungssteuerung weist ei- gesteuert wird. Jedes Steuerprogramm enthält eine FoI-ne Dateneingabe/Ausgabeleitung 28 nach dem Haupt- 35 ge von Steuerworten, die nacheinander über die Steuerspeicher 20 und eine Dateneingangs/Ausgangsleitung ausgangsleitung 26' an den arithmetischen Prozessor 16 30 nach einem zweiten Unterprozessor dem arithmeti- abgegeben werden. Eine ins Einzelne gehende Beschreischcn Prozessor (AP) 16 auf. bung des arithmetischen Prozessors 16 enthält die US-
Wie aus der mehr ins Einzelne gehenden Darstellung Patentschrift 4041 461, insbesondere im Hinblick auf der Fig. 2 zu erkennen ist, führt vom Schnittstellen- 40 Fig. 2 und 12 und die zugehörige Beschreibung.
Steuerprozessor (DCIP) 12 eine Steuerleitung 10 nach Dv." Arbeitsspeicher 24 hat zwei Speicherabschnitte, der Datenübertragungssteuerung (DTC) 10. EMe Daten- einen linken Speicherabschnitt 24' und einen rechten übertragungssteuerung 10 enthält eine erste Weiterlei- Speicherabschnitt 24", die parallel und auf verschachteltungs- und Wartelogik 14 für die Weitergabe eines Aus- ter Basis arbeiten und unmittelbar mit der Datenübergangssignals, das die Beendigung einer ersten Art von 45 tragungssteuerung über Leitung 30 und über Leitang 32 Funktion anzeigt. Eine Einzelbeschreibung der Daten- mit dem arithmetischen Prozessor 16 verbunden sind, übertragungssteuerung 10 findet sich in US-Patent- Im Betrieb kann der Arbeitsspeicher 24 beispielsweise schrift 4041 461 in Fig. 18 und dem zugehörigen Te:ct. so arbeiten, daß der linke Abschnitt 24' neue Daten in
Der erste Schnittstellen-Steuerprozessor 12. der an den AP16 lädt, während der rechte Abschnitt zuvor
der Datenübertragungssteuerung 10 angeschlossen ist, 50 durch den AP verarbeitete Daten nach der Datenüber-
ist mit einem Steuereingan? an der Steuerleitung 4 an- tragungssteuerung 10 für Weiterleitung nach dem
geschlossen und nimmt dort das Ausführungsbefehls- Hauptspeicher 20 überträgt.
wort auf. Der Schnittstellen-Steuerprozessor(DCIP) 12 Die Arbeitsweise des in Fig. 1 und 2 dargestellten ist mit seinem Dateneingang über eine Systemdatenlei- Systems, die im folgenden noch im einzelnen beschrietung 8 am Programmspeicher 6 angeschlossen und hat 55 ben werden soll, mnoht es möglich, daß der Steuerprodamit Zugriff zu den aus der Verknüpfungsliste korn- zessor zunächst die durch den arithmetischen Prozessor menden Befehlsworten, auf welche die Zeigeradresse in und die Datenübertragungssteuerung durchzuführendem Ausführungsbefehlswort hingewiesen hat. Der den Aufgaben einleitet und dann freigesetzt wird, so daß Schnittstellen-Steuerprozessor enthält eine Anzahl ge- er Systemüberwai-hungs- und Aufgabenverwaltungsspeicherter Steuerprogramme, die in einem örtlichen eo funktionen durchführen kann, während arithmetische programmierbaren Festwertspeicher (PROM)40 abge- und Datenübertragungsoperationen, gesteuert durch speichert sind und die der Durchführung der ersten Art den jeweiligen Schnittstellen-Steuerprozessor 12 oder von Unterprozessorfunktionen dienen. Jedes Programm 18 durch den AP16 bzw. DTC10 durchgeführt werden, wird durch ein entsprechendes Befehlswort angesteuert. In der nachfolgenden Beschreibung der Arbeitsweise ledes Steuerprogrartim enthält eine Folge von Steuer- S5 der verteilten Steuerärchitektur soll auf F i g. 1 und 2 in worten, die über die Ste'jerausgangsleitung an die Da- der beschriebenen Weise Bezug genommen werden,
tcnübertragungssteuerung abgegeben werden. Die einzelnen Komponenten des Systems sind im we-
Ein zweiter Sub-Prozessor oder Unterprozessor ist sentlichen durch zwei Hauptverbindungsleitungen,
nämlich die Systemdatenleitung 8 und die Systemsteuerleitung 4 miteinander verbunden. Die Systemdatenleitung 8 überträgt im wesentlichen Datenblocks zwischen Speicherelementen oder zwischen Funktionalelementen und den verschiedenen Speicherelementen in dem System. Die Prioritätssteuerung und die Zuordnung für die Systemdatenleitung liegt als Sekundärfunktion innerhalb der Datenübertragungssteuerung 10, so daß die DTClO, obwohl sie eine Übertragungssteuerung und damit ein Benutzer der Datenleitung ist, außerdem An-Ordnungen anderer Komponenten für die Benutzung der Datenleitung auf einer Prioritätsgrundlage verarbeitet Dabei haben die Operationen der Eingangs/Ausgangsstufe 22 erste Priorität für die Datenleitung 8, der arithmetische Prozessor 16 hat die zweite Priorität und die Datenübertragungssteuerung 10 hat dritte Priorität. Die Datenübertragungssteuerung 10 hat dabei vor allem die Aufgabe, die Datenübertragungen zwischen Hauptspeicher 20 und Arbeitsspeicher 24 zur Unterstützung des Einsatzes von AP16 durchzuführen, da AP i6 der Hauptbenutzer der großen Übertragungsbandbreite der Leitung 8 ist.
Dabei werden nicht nur die zu verarbeitenden Daten und die Eingabe/Ausgabedaten über die Systemdatenleitung 8 nach der verschiedenen Speicherelementen übertragen, sondern auch primäre Steuerinformationen vom Programmspeicher 6 des Steuerprozessors nach den verschiedenen DClPs 12 und 18. Diese Steuerinformationen sind die Verknüpfungslisten und die Parameterlisten. Die Steuerleitung 4, die zweite wichtige Verbindungsleitung in dem System, stellt hauptsächlich eine Kommandostatus/Antwortschnittstelle für die Arbeitsweise der Datenübertragungssteuerung 10 und des arithmetischen Prozessors 16 über DCIP12 bzw. 18 dar. Die Steuerleitung 4 wird hauptsächlich für die Übertragung eines Startsignals nach den DCIP12 und 18 verwendet, d. h. eine einleitende Verknünfungsüstenadresse startet die jeweilige DC/f-Steuerung. Wenn beispielsweise der Steuerprozessor 2 die Datenübertragungssteuerung DTClO für eine Datenübertragung ansteuert, dann liefert CP2 über Steuerleitung 4 an DTCYl die Sjartadresse einer Verknüpfungsliste, die auf das erste auszuführende DC/P-Steuerprogramm hinweist. Sobald DTC DCIP12 diese Adresse aufgenommen hat, beginnt er für sich zu arbeiten und gibt eine Anforderung an die Systemdatenleitung 8 für einen Zugriff zur ersten Verknüpfungslisten-Eintragung im CP-Programmspeicher 6 ab. Die Verknüpfungslisten-Eintragung ist die Anfangsadresse des ersten Steuerprogramms.
So, wie die Befehle durch das Steuerprogramm abgearbeitet werden, vird ein Befehlszähler nacheinander den Anfangsadreßwert fortschreiben. Während der Durchführung dieses Steuerprogramms wird DClPXl dynamisch Kommandoblocks für DTC10 erzeugen und wird dabei die zugehörigen Steuerparameter über die Systemdatenleitung 8 aus dem Programmspeicher 6 des Steuerprozessors 2 abrufen. Weitere Zugriffe erfolgen über die Systemdatenleitung 8 für zusätzliche Steuerparameter zur Erzeugung von Kommandoblocks für die DTC 10-Operation, und das Verfahren läuft ab, bis DCIP12 bei der letzten Verknüpfungslisten-Eintragung angekommen ist. die das Ende des laufenden, durch die Verknüpfungslisten gekennzeichneten Benutzerprogramms darstellt. Zu diesem Zeitpunkt wird die Steuerleitung 4 wiederum für die Abgabe des Endstatus benutzt
Grundsätzlich kann die Beziehung zwischen den DCIP12 und 18 und den die Systemkomponenten miteinander verbindenden Leitungen 4 und 8 wie folgt zusammengefaßt werden. Die Systemdatenleitung 8 wird für die Übertragung von Eintragungen in die Verknüpfungsliste nach den DCIP12 oder 18 eingesetzt, die der DCIPaufnimmt und außerdem für den Abruf der im CP Programmspeicher 6 abgespeicherten Steuerparameter durch die Steuerprogramme des DCIP für die Erstellung von Kommandoblocks für DTC10 bzw. AP16. Die Steuerleitung 4 wird zu Beginn für den Start von DCIP12 bzw. 18 in dem System dadurch eingesetzt, daß an jeden eine Verknüpfungslisten-Eintragung übertragen wird mit der Aufforderung, damit zu arbeiten. Am Ende der DC/P-Operation besteht die zweite Verwendung der Steuerleitung 4 in der Darstellung des Endstatus, der anzeigt, ob die DC/P-Operation zu einem normalen Ende geführt hat oder nicht, oder ob während des Ablaufs des DC/P-Programms eine Ausnahmebedingung aufgetreten ist. Die Übertragung des Endstalus crfo'gt vorn ZX7//Dzürück nach CP2. Der Stcücrprozcssor 2 schaltet die Steuerleitung an. und DCIP führt die Verknüpfungsliste durch, ruft die Steuerparameter und Datenparameter über die Systenidatenleitung 8 ab, bi.s eine vollständige Aufgabe durchgeführt ist, worauf ein Endstatussignal durch DCIP nach CP übertragen wird und damit anzeigt, daß die Operation abgeschlossen ist.
F i g. 2 zeigt ein funktionelies Blockdiagramm mit den Beziehungen zwischen Steuerprozessor 2, dem Programms,"-eicher 6 des Steuerprozessors, eines Steuerschnittstellenprozessors 12 oder 18 in dem System und der zugehörige durch DCIP gesteuerte Unterprozessor oder Subprozessor, wie zum Beispiel DTCiO oder AP16. Selbstverständlich könnevr in einem gegebenen System vielfache funktionale Unterprozessoren mit ihrem zugeordneten DCIPs vorhanden sein, doch soll zur Vereinfachung der Beschreibung im folgenden nur das Einleiten der Aktivität eines DCIP und die nachfolgende Durchführung einer Verknüpfungsliste und der zugehörigen DC/P-Steuerprogramme gemäß F i g. 3 beschrieben werden. Zu diesem Zweck wird die DTC10 und der zugehörige DCIP12 beschrieben.
Der Steuerprozessor leite· die Operation pines Siihprozessors oder Unterprozessors, das soll in diesem Fall die Datenübertragungssteuerung 10 und der zugeordnete Schnittstellen-Steuerprozessor 12 sein, durch Ausführung eines Ausführungsbefehls in der CP2 ein. Der Ausführungsbefehl läuft dabei zunächst von der CPl über die Steuerleitung 4 nach der daran angeschlossenen Schnittstelle und nach DCIP12, wobei eine Anfangsadresse auf eine Anzahl von Verknüpfungslisten im Programmspeicher 6 des Steuerprozessors hinweist. Die Hauptaufgabe dieses Ausführungsbeispiels besteht darin, durch Übertragung der Anfangsadresse der Verknüpfungsliste das Arbeiten des DCIP einzuleiten. Sobald die Anfangsadresse der Verknüpfungsliste durch den DCIPH aufgenommen ist, verläuft die gesamte weitere Verarbeitung vollständig unter Steuerung des Schnittstellen-Steuerprozessors 12. Der DClPYl speichert die Anfangsadresse der Verknüpfungsliste im Adreßregister 34 (LLAR) und fordert die Übertragung der Anfangseintragung in der Verknüpfungsliste vom Programmspeicher 6 über die Systemdatenleitung 8. Die Anfangseintragung in der Verknüpfungsliste enthäli die Anfangsbefehlsadresse für das erste durch DCIP durchzuführende Steuerprogramm. Diese Anfangsadresse des DC/P-Steuerprogramms wird in das Befehlsadreßregister 36 eingespeichert und weist auf eines der Anzahl von DC/P-Steuerprogrammen hin. Die DC/P-Steuerprogramme sind in einem örtlichen, pro-
7 8
grammierbaren Festwertspeicher (PROM)40 für für den Eingangskanal (PIC) und die variablen Verfah-
DTCIO in DClPYl und für AP in DClP 18 abgespei- rensparametcr bei Bedarf durch das bestimmte Steuer-
chcrt. Andererseits können für Systeme mit nur einer programm über die Systeridatenleitung 8 abrufen und
kleinen Anzahl von Unterprozessoren, wie zum Beispiel damit Kommandoblocks erzeugen, die an den durch
OTClO und AP16, die DC/PSteuerprogramme im CP- 5 DCIP12 gesteuerten Subprozessor 10 übertragen wer-
Programmspeicher 6 eingespeichert sein und durch die den. Die verschiedenen Ablaufebenen werden durch
DCIP üb?- die Systemdatenleitung 8 durch einen Vor- den Ausführungsbefehl gesteuert, der die DC/P-Opera-
iibruf adressiert und abgerufen werden, wie dies bei- tion in einem bestimmten DCIP beginnt. Voneinander
spiclsweise in den Fig. 8 und 9A bis 9C des US-Patent unabhängige Ausführungsbefehle können an den jewei-
40 41 461 der Anmelderin beschrieben ist. 10 !igen DCIP übertragen werden. Das restliche Arbeiten
In jedem Fall enthält die Anfangseintragung der Ver- eines Subprozessors 10 steht dann vollständig unter der knüpfungsliste die Anfangsbefehlsadresse für die Aus- Steuerung von DCIP 12 und wird praktisch durch die führung des ersten DC/P-Steuerprogramms. Zu diesem Verknüpfungsliste gesteuert, die nacheinander die Zeitpunkt führt der DCIP das erste Programm durch Kennzeichnung einer Reihe von besonderen durchzucine normale fortschreitende Fortschreibung im Be- 15 führenden Steuerprogramimen an den DC/Püberträgt. fehlsadreßregister 36 durch, wobei die DC/P-Steuerpro- Fig.4 zeigt ein funktionelles Blockdiagramm des grammbefehle aus dem örtlichen PROM40, das die DClP 12 oder 18. Der rechts von der gestrichelten Linie DC/P-Steuerprogramme gespeichert hält, nach der Ab- 42 dargestellte Teil ist die Grundschaltung eines laufsteuerung 38 übertragen werden. Das Ende des Schnittstellen-Steuerprozessors DClH. Der 'links von DC/P-Steuerprogramms wird durch einen Befehl mit 20 der gestrichelten Linie 42 liegende Bereich zeigt möglicinem Verknüpfungskennzeichen angezeigt, das darauf ehe Erweiterungen des DCIP über eine Erweiterung der hinweist, daß der letzte Befehl verarbeitet wird. Dieses Adreßierung, die in der Architektur des DCIP zur Ver-Kennzeichen ist tatsächlich ein Steuerkennzeichen im fügung steht und benennt außerdem außerhalb des Da-DCIP-Befehlsformat. Wenn DCIP einen Befehl verar- tenflusses des DC/Pmögliche äußere Komponenten, die beitet, der ein Verknüpfungskennzeichen am Ende sei- 25 über mit der Systemsteuerleitung 4 und der Systemdaner Durchführung aufweist, dann überprüft DCIP die tenleitung 8 vergleichbare Leitungen ankommen. F i g. 4 laufende Eintragung in der Verknüpfungsliste und be- zeigt links der Linie 42 die Möglichkeit auf, daß mehrere stimmt, ob ein Stopkennzeichen enthalten ist oder nicht. DCIPs einen gemeinsamen Speicher, wie zum Beispiel Ist dies nicht der Fall, dann fährt der DClP mit dem den Programmspeicher 6 über die Systemdatenleitung 8 Inhalt ??s Adreßregisters der Verknüpfungsliste fort 30 und die Systemsteuerleitung 4 sowohl für die Verknüp- und fordert über die Systemdatenleitung 8 die Übertra- fungsliste, als auch für die Steuerprogramme und die gung der nächsten Eintragung in der Verknüpfungsliste Parameterlisten verwenden kann. Andererseits kann jeüber die Systemdatenleitung 8 nach dem DCIP zum der DCIP einen örtlichen Speicher aufweisen, der für Einleiten der Ausführung des nächsten DC/P-Steuer- die Unterstützung der Erfordernisse des Steuerproprogramms dadurch an, daß dies dann die Anfangsbe- 35 gramms ein PROM und/oder ein RAM40 enthält fehlsadresse im Befehlsadreßregister 36 wird. Das zwei- Rechts der Linie 42 enthält die Grundorganisation des te Steuerprogramm, auf das durch die zweite Eintra- DCiPdie hauptsächlich wichtigen Elemente im Datengung im Verknüpfungsregister hingewiesen wurde, läuft fluß und die zuvor im Zusammenhang mit F i g. 2 bewiederum solange ab, bis ein Befehl mit einem Verknüp- schriebenen hauptsächlich vorgesehenen Verbindungsfungskennzeichen verarbeitet wird, der das Ende dieses 40 leitungen. Das Adreßregister 34 der Verknüpfungsliste DC/P-Steuerprogramms oder der Subroutine anzeigt. in F i g. 4 hält den derzeitigen nach der Vefknflpfungsii-Angenommen, dies sei das letzte durch die Verknüp- ste weisenden Zeiger und nimmt während der Durchfungsliste angezeigte einer Folge von DC/P-Steuerpro- führung eines Ausführungubefehls durch den CPdie Angrammen, dann wird die DCIP die laufende Eintragung fangsadresse der Verknüpfungsliste auf, welche den Bein der Verknüpfungsliste darraufhin überprüfen, ob ein 45 trieb des DCIP einleitet An dem durch Auftreten eines Stopkennzeichen enthalten ist. Ist dort tatsächlich in der Verknüpfungskennzeichens erkennbaren Ende eines jelaufenden Eintragung der Verknüpfungsliste ein Stop- den DC/P-Steuerprogramms untersucht der DClP die kennzeichen enthalten, dann zeigt dies das Ende der laufende Eintragung der Verknüpfungsliste auf das Vorlaufenden Folge von durch die Verknüpfungsliste be- handensein eines Stopkennzeichens. 1st kein Stopkennzeichneten Abläufen oder Verfahren an, und zu diesem 50 zeichen vorhanden, dann wird das Adreßregister 34 der Zeitpunkt wird der DCIP seinen Endstatus dadurch for- Verknüpfungsliste (LLAR) fortgeschrieben, und die mulieren, daß er von dem Unterprozessor Statusbedin- neue Adresse wird durcli den DClP zum Abruf der gungen abruft und auch die eigenen Statusbedingungen nächsten Eintragung in eier Verknüpfungsliste für die dabei berücksichtigt, nämlich die letzte Adresse in der Fortsetzung der Durchführung des nächsten DCIP-Verknüpfungsliste und die letzte Adresse im IAR 36 und 55 Steuerprogramms verwendet Unterhalb des Adreßrediese Information über die Systemsteuerleitung 4 nach gisters 34 ist ein Befehlsadreßregister 36 vorgesehen, dem Steuerprozessor 2 abgibt das jedesmal durch die Eintragung der VerknüpfungsD-
F i g. 3 zeigt die Beziehungen zwischen dem Ausfüh- ste in Betrieb genommen wird. Jede Eintragung der Ver-
rungsbefeht, der Verknüpfungsliste und den DC/P-Steu- knüpfungsliste stellt eine Anfangsadresse für das DCIP-
erprogrammen. Der Ausführungsbefehl leitet die Ar- 60 Programm dar, so daß während des Betriebs der Ver-
beitsweise des DCIPdadurch ein, daß dem DCIP em auf knüpfungsliste die Eintragung aus dieser Liste abgeru-
die Verknüpfungsliste hinweisender Zeiger zur Verfü- fen und zum Einleiten der Durchführung eines besonde-
gung gestellt wird Die Verknüpfungsliste führt den ren DC/P-Steuerprogramms in das Befehlsadreßregi-
DCIP wiederum zu einer Reihe von gewünschten ster eingespeichert wird. Die Durchführung des Steuer-
DC/P-Steuerprogrammen zur Durchführung des ge- 65 Programms unter der Steuerung des Befehlsadreßregi-
wünschten Anwendungsverfahren. Die DC/P-Steuer- sters 36 läuft in bei Datenverarbeitungsanlagen norma-
programme werden dann im Programmspeicher 6 die ler Weise ab. Für eine sequentielle Befehlsverarbeitung
gemeinsamen Steuerparameter, die Steuerparameter ohne Verzweigung wird das Befehlsadreßregister ein-
fach weitergeschaltet. Verzweigungsoperationen bewirken, daß ein Sprungwert zum Einleiten einer Sprungoperation in das Befehlsadreßregister 36 eingegeben wird. Der DC/Pbenutzt relative Sprungbefehle bei Verzweigungsoperationen statt einer Nachadresse, so daß die DCIP- Programme in einem gemeinsam benutzten Speicher leicht untergebracht werden können.
Das Betriebsaf'enregister 44 ist das Hauptsteuerregister, das die verschiedenen Betriebsarten des DCIP steuert, wobei die Hauptbetriebsart die Normalbetriebsart ist, bei der die Befehle mit normaler Geschwindigkeit bis zur normalen Beendigung ausgeführt werden. Andere durch das Betriebsartenregister 44 mögliche Betriebsarten sind eine Diagnosebetriebsart, bei der die DC/P-Programme für eine Fehlerbereinigung von Programmen und für die Diagnose in Einzelschritten arbeiten.
Unmittelbar darunter liegt die EDB Zugriffsschaltung 46. die eine Kreuzkopplung der DC/P-Steuereingangsleitung 48 und der DC/P-Adreßleitung 50 darstellt. Diese Stufe ermöglicht es, daß der CP2 über die externe Steuerleitung 4 unmittelbar dadurch Zugriff zu den innen liegenden DClP-Registern und den Einheitsregistern 52 erhält, daß eine Adresse unmittelbar von der Steuereingangsleitung 48 auf die Adreßleitung 50 gelegt wird.
Das Befehlsregister 54 hält den laufenden DCIP-Befehl, der der Befehlsdecodierungs- und Durchführungssteuerung 38 für die Ausführung des Befehls übermittelt wird. Eine Fangsteuerung 56 läßt Unterbrechungen des laufenden DC/P-Steuerprogramms zu und rettet die laufende Befehlsadresse. Außerdem stellt sie Verzweigungs-, Verknüpfungs- und Rücklaufoperationen aus einer Unterbrechungsroutine sicher. Ursache einer Unterbrechung kann über die externe Steuerleitung 4 der CP 2 oder über die Steuerschnittstelle der Unterprozessor sein.
In Fig.4 enthält die DC/P-Ausgangsleitung, die in F i g. 2 mit DCIP-EDB bezeichnet war, Ausgangssteuerleitungen 58, Datenleitungen 60 und Adreßleitungen 50.
Die in Fig.2 gezeigten Subprozessoren oder Unterprozessoren 10 oder 16 körnen von verschiedener Bauart sein. Im vorliegenden Beispiel sind es jedoch ein arithmetischer Prozessor AP und eine Datenübertragungssteuerung DTClO.
Eines der Hauptmerkmale der verteilten Steuerarchitektur ist die Verwendung von ähnlich aufgebauten DC/P-Moduln in F i g. 2 und 4, die eine verteilte Steuerung einer Anzahl von Unterprozessoren ermöglichen, wie zum Beispiel der arithmetische Prozessor 16 oder die Daten- oder Speicherübertragungssteuerung in Fig. 1. Eine der Schwierigkeiten, die bei einer solchen verteilten Steuerung entstehen können, ist jedoch die Koordination voneinander abhängiger Operationen, die bei den verschiedenen Subprozessoren erforderlich sein können. Beispielsweise ist in dem in F i g. 1 dargestellten System die Daten- oder Speicherübertragungssteuerung 10 für das Laden des Arbeitsspeichers 24 mit Daten verantwortlich, die anschließend durch den arithmetischen Prozessor 16 in Fig. 1 verarbeitet werden sollen. Es ist leicht einzusehen, daß der arithmetische Prozessor 16 nicht mit Arbeiten beginnen kann, bevor nicht der Arbeitsspeicher 24 durch die Datenübertragungssteuemng 10 vollständig mit Daten gefüllt ist, und demgemäß kann die Datenübertragungssteuerung 10 den Inhalt des Arbeitsspeichers 24 nach Abschluß dieser Verarbeitung solange nicht vollständig entnehmen, bis der arithmetische Prozessor 16 seine Operation beendet hat. Somit ist eine Übertragungs- und Wartelogik 14 vorgesehen, die im folgenden noch beschrieben wird.
Die Übertragungs- und Wartelogik 14 dient der Koordinierung der entsprechenden Aufgaben des arithme- tischen Prozessors und der Datenübertragungssteuerung für voneinander abhängige darin durchgeführte Operationen.
Das einzelne DlCP-Befehlswort, das durch den DCIPiS nach dem arithmetischen Prozessor 16 über tragen wird, wird für die Steuerung der zur Durchfüh rung arithmetischer Operationen erforderlichen elementaren Funktionen verschiedene Mikroprogramm-Befehlsfolgen abrufen. Somit sieht man, daß es dabei mindestens 4 hierarchische Steuerungsebenen gibt, wenn der Unterprozessor 16 ein mikroprogrammgesteuerter Prozessor ist, nämlich das CP-Befehlswort, das auf eine Verknüpfungsliste hinweist, jedes Wort in der Verknüpfungsliste, das auf ein gesondertes DC/P-Stcuerproeramm in dem DCIP PROM 40 hinweist und die einzelnen DC/P-Steuerwortc, die entsprechende gesonderte Mikroprogrammroutinen abrufen, die jeweils aus Mikrosteuerbefehlen aufgebaut sind.
F i g. 5 zeigt, wie zwei DCIPs parallel arbeiten, wobei ein DClP den arithmetischen Prozessor 16 und der an dere DClP die Datenübertragungssteuerung 10 unter stützt. Dabei wird hier die allgemeine Art der Operation beschrieben, die durch den DCIP für jeden Unterprozessor durchgeführt wird, und was noch wichtiger ist, die durch die Übertragungs/Wartelogik 14 durchge führte Koordinierung zwischen dem Arbeiten des AP16 und der DTClO. Wie zuvor im Zusammenhang mit F i g. 2 und 3 beschrieben, wird der Betrieb des AP16 und des zugeordneten DClPM und der DPClO und des zugeordneten DClP 12 durch den CP2 eingelei tet. Der Steuerprozessor 2 führt Durchführungsbefehle durch und überträgt sowohl an DClP 18 als auch an DClPYl die entsprechenden Adressen der Verknüpfungsliste. DClP 18 und DClP 12 werden ihre parallelen Operationen solange durchführen, bis einer der beiden bei einem Kommando ankommt, das eine Warteoperation bezeichnet. Obgleich AP16 und DTClO parallel arbeiten, soll zunächst die Arbeitsweise des DCIP12 bei der Steuerung der Datenübertragungssteuerung 10 beschrieben werden.
Nach Empfang der Anfangseintragung in die Verknüpfungsliste wird DCIP12 diese Adresse für den Abruf der Anfangseintragung in der Verknüpfungsliste benutzen und das durch diese Listeneintragung bezeichnete DC/ASieuerprogramm durchführen. Nach diesem durch Einspeichern einiger Steuerparameter in den Registerstapel 62 bewirkten Selbstanlauf fährt DClPYl fort, in die Datenübertragungssteuerung 10 einen Satz Kommandoblocks für die Überleitung von Daten vom Hauptspeicher 20 nach dem linken Abschnitt des Ar beitsspeichers 24' zu laden. Das Ende des Ladevorgangs im linken Abschnitt des Arbeitsspeichers 24' wird durch einen Befehl im DClP 12 angezeigt der zeitlich abgestimmt ein Übertragungssignal über Leitung 64 an die Übertragungs- und Wartelogik des ΛΡ16 nebst dem zugeordnetem DCIPiS abgibt und damit angezeigt, daß der angeforderte Ladevorgang durch DTClO durchgeführt ist. Zu diesem Zeitpunkt wird DCIP12 mit der weiteren Befehlsverarbeitung fortfahren und den rechten Abschnitt des Arbeitsspeichers 24' laden.
Geht man zeitlich nochmals zu dem Punkt zurück, bei dem die Arbeitsweise von AP16 und seinem DCIP18 besprochen und bei dem der Ausführungsbefehl von CP2 aufgenommen wurde, so sieht man, daß ÜCIPM
seine Funktion ebenfalls einleitet und dabei einige Steuerparameter vom CP-Programmspeicher 6 einbringt u'"J Kommanäoblocks für den arithmetischen Prozessor 16 erzeugt. DClPiS fährt dann bis zum Punkt fort, wo die DC/P-Steuerprogrammbefehle anzeigen, daß Λ P16 warten muß, bevor eine Ausführung der durch DCIP18 zusammengestellten Kommandoblocks eingeleitet wird. An diesem Punkt hat das zuvor beschriebene DCIP 12-Steuerprogramm sein Übertragungssignal 64 nach der Anfangsladefolge abgegeben. Nach Aufnahme des Übertragungssignals 64 von DTClO können AP16 und die zugehörigen DC/P 18-Steuerprogramme weiterlaufen und die Verarbeitung der zuvor nach dem arithmetischer Prozessor 16 geladenen Kommandoblocks einleiten. Darauf folgt ein durch DCIP18 ausgegebenes Kommando, das den arithmetischen Prozessor 16 dahingehend informiert, daß er unmittelbar nach Durchführung der zuvor zusammengestellten arithmetischen Kunktionsfcommandos nach der DTCiO ein Übertragungssignal 66 zurückübertragen soll. Betrachtet man wiederum DTClO und den zugehörigen DCIPiI, so sieht man, daß zu diesem Zeitpunkt das zuvor durch A P16 übertragene Übertragungssignal 66 nunmehr die Arbeitsweise von DTClO und zugehörigem DClPiI bestimmt. Betrachtet man wiederum F i g. 5, wo die Beschreibung des DClP 12 zuvor unterbrochen wurde, so erinnert man sich, daß dessen Steuerprogramm an einem Punkt angekommen war, an dem die entsprechende Erzeugung und fias Laden von Kommatiidos nach dem DTC10 in Verbindung mit dem rechten Abschnitt des Arbeitsspeichers 24 durchgeführt wurde. Nach dem Laden dieser Kommandos nach der DTClO, gibt DClPiI ein Kommando an DTClO ab. das anzeigt, daß nunmehr die Abschnitte des Arbeitsspeichers 24 vertauscht werden müssen und daß auf die Aufnahme eines Übertragungssignals 66 von AP16 gewartet werden muß. Unmittelbar nsch Aufnahme des Übertragungssignals 66 wird DTClO mit einer Rückübertragung des Übertragungssignals antworten. Diese Kombination von Warte- und Übertragungssignal macht es möglich, daß das DTC DCiP 12-Programm eine Ausspeicherfolge nur dann durchführen kann, wenn AP16 und der zugehörige DClPlS die arithmetische Berechnung der ursprünglich durch DTC10 in den linken Abschnitt 24' des Arbeitsspeichers 24 geladenen Daten beendet hat Das den Wartebefehl in dem DTClO und DClPYl zugeordnete Rückübertragungssignal zeigt AP16 und zugeordnetem DClP 18 unmittelbar an, daß der rechte Abschnitt 24" des Arbeitsspeichers ebenfalls bereits geladen ist und daß daher AP16 sofort mit den im rechten Abschnitt 24" des Arbeitsspeichers liegenden Daten die arithmetischen Funktionen durchführen kann.
Nachdem der arithmetische Prozessor AP16 die Ergebnisdaten berechnet hat, die dann in den linken Abschnitt 24' des Arbeitsspeichers eingestellt werden, gibt er ein Weiterleitungssignal an DTC ab, wodurch die im linken Abschnitt 24' des Arbeitsspeichers liegenden Ergebnisdaten nach dem Hauptspeicher 20 übertragen werden.
F i g. 6 stellt eine schematische Darstellung der Verteilung der Funktionsabläufe zwischen dem Steuerprozessor 2 und den beiden Unterprozessoren, dem DTClO und dem -4P 16 bei der Durchführung einer einzigen Aufgabe dar. Typische Verarbcitangsaufgaben werden in kleinere, aufeinander folgende Teilaufgaben zerlegt so daß auch größere Datensätze, als die Kapazität des Arbeitsspeichers 24 aufzunehmen vermag, verar beitet werden können, wodurch die Betriebskosten des Gesamtsystems verringert werden.
Der CP2 leitet die Ausführung des Algorithmus in dem DTClO und AP16 ein. Der CP2 führt dann die Vorbereitung für einen nächstfolgenden Algorithmus durch. Die zur Vorbereitung der Verarbeitung einos Algorithmus erforderliche Zeit steht in keiner Beziehung zu der für die Durchführung des Algorithmus benötigten Zeit.
ίο Die Anlaufphase besteht dabei darin, daß zunächst DTClO in Betrieb genommen wird (2), daß dann die erste /\P16-Operation eingeleitet wird (7), worauf der erste EingangsdatensaKz nach dem Arbeitsspeicher 24 (3) übertragen wird. Die erste und einleitende Daten-Übertragung und die in Betriebnahme von ΛΡ16 sind überlappt.
Die Verarbeitung (8) durch AP16 beginnt, nachdem die Datenübertragung von DTC10 und AP16 beendet ist. Überlappend mit der Verarbeitung des ersten Datensegments läuft die Einleitung (4) und Übertragung (5) des zweiten Eingangsdatensatzes ab. Wenn der erste Abschnitt des ersten Datensatzes kurz ist, dann kann die Verarbeitungszeit des ersten Segmentes kleiner sein als die Übertragungszeit für den zweiten Datensatz, Nachfolgende Datensätze überlappen die Übertragung verarbeiteter Ausgangsdaten, die Übertragung neuer Eingangsdaten (6) mit der Durchführungsphase (10). Der Aufwand für die in Betriebnahme von ÄP(9) und DTC(4) treten zusätzlch auf, da beide Zugriff zu Daten vom CP-Programmspeicher (6) durchführen. Der Aufwand für die in Betriebnahme von AP16 ist bei den meisten Algorithmen für nachfolgende Stufen geringer als für die erste Stufe, da viele Steuerregister sich von selbst zurückstellen oder durch ein AP16 Mikroprogramm erneut in Betrieb genommen werden können.
Die letzte Verarbeitungsphase besteht aus der Einleitung der letzten Verarbeitungsphase [9\ der Einleitung der letzten Übertragung von Äusgangsdaten (12), der Durchführung der letzten Vcrarbeitungsphare (11) und der Durchführung der letzten Datenübertragung (13).
Man sieht somit aus F i g. 6, daß der Steuerprozessor 2 zunächst durch DTC10 und AP16 als Unterprozessoren durchzuführende Aufgaben einleiten kann und danach für die Durchführung von Systemüberwacwangs- und Aufgabenvcrwaltungsfunktionen frei ist während die Funktionen des DTC und des AP unter der Steuerung ihrer Schnittstellen-Steuerprozessoren 12 bzw. 18 durchgeführt wird.
F i g. 7 A und 7B sind schematische Darstellungen der so Weiterleitungs- und Wartelogik 14' im APUnterprozessor 16. Eine entsprechende Weiterleitungs- und Wartelogik 14 ist auch im DTC Unterprozessor 10 vorgesehen. In F i g. 7A ist schematisch eine Wartelogik dargestellt die wie folgt arbeitet:
Wenn der Unterprozessor 16 auf ein Kommando im Kommandospeicher 69 trifft das ein Wartekennzeichen 71 enthält und der Weiterleitungsindikator 74 (Kippschaltung 74) kein früheres Weiterleitungssignal 64 von DTC10 gespeichert hält, dann wird die Ausführung von AP-Kommandos über das UND-Glied 76 und die bistabile Kippschaltung 78 aufgehalten. Eine nachfolgende Aufnahme eines Weiterleitungssignals 64 von DTC10 bewirkt die Wiederaufnahme der Verarbeitung der Kommandos durch AP16. Es sei in diesem Fall darauf verwiesen, daß ein über UND-Glied 70 und ODER-Glied 72 vor einem Weiterleitungssignal 69 von DTClO durch Kippschaltung 74 übermitteltes Wartekennzeichen verhindert daß die Kippschaltung 74 ein nachfol-
13 14
gendes Weiterleitungssignal gespeichert hält Wenn der Ein erster AP-Prozessor 16' wird durch einen zweiten Unterprozessor AP16 auf ein ein Wartekeinzeichen 71 Schnittstellen-Steuerprozessor 18' gesteuert und führt enthaltendes Kommando trifft und der Weiterleitungs- eine erste AP-Funktion in ähnlicher Weise aus wie der f> indikator 74 ein vorhergehendes von DTC10 stammen- erste DTC-Prozessor 10'. Der erste AP-Prozessor 16' des Weiterleitungssignal 64 gespeichert hält dann wird 5 enthält eine zweite Weiterleitungs- und Wartelogik für das vorhergehend? Weiterleitungssignal in der Kipp- die Weiterleitung eines Alisgangssignals 66' nach der Schaltung 74 gelöscht und die Verarbeitung von AP- Weiterleitungs- und Wartelogik im ersten DTC-Prozes-Kommandos wird ohne Warten durchgeführt Wenn al- sor 10' zur Anzeige der Beendigung einer ersten AP-so durch AP16 vor einem von DTClO kommenden Funktion und eine entsprechende Operation wird durch früheren Weiterieitungssignal 64 ein Wartekennzeichen 10 die erste Weiterleitungs- und Wartelogik im ersten festgestellt wird, wird im AP die Kommandoverarbei- DTC-Prozessor 10' durchgeführt, so daß die Durchfühtung solange unterbrochen, bis das Weiterleitungssignal rung voneinander gegenseitig abhängender Operatio-64 aufgenommen wird. Ein nach Auftreten des Warte- nen im DTC W und AP16' koordiniert werden, kennzeichens 71 ankommendes DTC-Weiterleitungssi- Ein zweiter DTC-Prozessor 10" für die Durchführung giial 64 verhindert, daß der Weiterieitungsindikator 74 15 einer zweiten DTC-Funktion ist mit seinem Steuereineingestellt wird. Wird ein Weiterleitungssignal 64 von gang an einem dritten Schnittstellen-Steuerprozessor 12" DTC10 aufgenommen, bevor AP16 auf ein Wartekenn- angeschlossen. Der zweite DTC-Prozessor 10" enthält zeichen 71 trifft, dann wird der Weiterieitungsindikator einedritteWeiterleitungs-undWartelogikfürdSeWeiter-74 eingestellt Ein anschließend durch AP16 angetroffe- leitung eines Ausgangssignals 64", das die Beendigung nes Wartekennzeichen 71 bewirkt daß der Weiterlei- 20 einer zweiten DTC-Funktion anzeigt Der dritte Schnitttungsindikator 74 zurückgestellt und die Verarbeitung stellen-Steuerprozessorl2"istmitseinemSteuereingang von AP-Kommandos ohne Verzögerung durchgeführt an der vom Steuerprozessor Υ kommenden Systemsteuwird. Fig. 7B ist ein Blockdiagramm der Weitnrlei- erleitung 4'angeschlossen und nimmt von dort kommentungslogik, die wie folgt arbeitet: Trifft AP16 bei der de Ausführungsbefehlsworte auf, ist andererseits mit sei-Kommandoausfuhrung in der Einheit 95 auf ein ein Wei- 25 nem Dateneingang an dem Programmspeicher 6' für terleitungskennzeichen 82 enthaltendes Kommando, einen Zugrif f zu Befehlsworten von einer Verknüpf ungslidann wird nach Beendigung der Durchführung des ste verbunden, auf die eine Zeigeradresse im Ausfüh-Kommandos, wie dies durch die logischen UND/ rungsbefehlswort hinweist Der dritte Schnittstellen-ODER-Glieder 84,86 und 88 festgelegt ist ein Weiter- Steuerprozessor 12" enthält eine Anzahl von gespeicherleitungssignal 66 nach DTC10 abgeben. 30 ten Steuerprogrammen für die Durchführung von zwei-
F i g. 8 ist ein Blockschaltbild einer Multiprozessoran- ten DTC-Programmen,die jeweilsdurcheinentsprechenlage mit mehr als zwei Schnittstellen-Steuerprozessoren des Befehlswort abgerufen werden. Jedes Steuerprofür mehr als zwei Unterprozessoren. Die Elemente in gramm enthält eine Folge von Steuerworten, die der F i g. 8 sind durch gestrichene, im übrigen aber mit den Reihe nach an den zweiten DTC-Prozessor 10" abgegein Fig. 1 benutzten gleichen Bezugszeichen gekenn- 35 ben werden. Ein zweiter AP-Prozessor 16" wird durch zeichnet einen vierten Schnittstellen-Steuerprozessor 18" gesteu-
Diese erweiterte, verteilte Steuerarchitektur enthält ertundführteinezweiteAP-FunktioninähnlicherWeise einen Steuerprozessor 2'. der unter Systemprogramm- wie AP-Prozessor 16' durch. Der zweite AP-Prozessor befehlen Oberwachungsprogramme und Aufgabenver- 16"enthälteinevierteWeiterleitungs-undWartelogikfür waltungsprogramme ausführt mit einer Systemsteuer- 40 die Weiterleitung eines Ausgangssignals 66" nach der leitung 4' über die Ausführungsbefehlsworte mit einer Weiterleitungs- und Wartelogik im ersten DTC-Prozes-Zeigeradresse abgegeben werden. Ein Programmspei- sor 10" zur Anzeige, daß eine zweite AP-Funktion becncher 6' speichert aufgereihte Verknüpfungslisten von det ist und eine entsprechende Operation wird durch die Befehlsworten einer Zwischenebene, wobei die Zeiger- dritte Weiterleilungs- und Wartelogik im zweiten DTC-adresse eines bestimmten Ausführungsbefehlswortes 45 Prozessor 10" durchgeführt, wodurch die Durchführunauf den Kopf einer jeden solchen Liste hinweist. Ein gen gegenseitig voneinander abhängender DTC- und erster Unterprozessor DTClO' führt eine erste DTC- AP-Funktionenmiteinanderkoordiniertwird. Operation aus und ist mit seinem Steuereingang an ei- Ein zusätzlicher Eingabe/Ausgabeprozessor 22' wird nem ersten Schnittstellen-Steuerprozessor 12' ange- durch seinen eigenen DC/P23' gesteuert und ein für schlossen. Der erste DTC-Prozessor 10' enthält eine er- 50 eine besondere Funktion vorgesehener Prozessor 22" ste Weiterleitungs- und Wartelogik für die Weiterlei- wird durch seine eigene DC/P23" in ähnlicher Weise tung eines Ausgangssignals 64', das die Beendigung ei- gesteuert, wie dies für DTC-Prozessor 10' und zugehöriner Verarbeitung durch DTClO' anzeigt. Der erste ge DClPM' in Fig.8 angegeben wurde, woraus die Schnittstellen-Steuerprozessor 12' ist mit seinem Steu- große Flexibilität erkennbar wird, die sich mit dieser ereingang über die Systemsteuerleitung 4' am Steuer- 55 verteilten Steuerarchitektur erzielen läßt. Mit dieser Arprozessor 2' angeschlossen und nimmt über diese Ver- chitektur kann der Steuerprozessor durch erste und bindung Ausführungsbefehlsworte auf, ist dabei mit sei- zweite AP-Prozessoren 16' und 16", erste und zweite nem Dateneingang an dem Programmspeicher für einen DTC-Prozessoren 10' und 10", Eingabe/Ausgabepro-Zugriff zu Befehlsworten von einer Verknüpfungsliste zessoren 22' und ISCXl" durchzuführende Aufgaben angeschlossen, auf die durch die Zeigeradresse in dem 60 einleiten. Er ist dann frei, Systemüberwachungspro-Ausführungsbefehlswort hingewiesen wird. Der erste gramme und Aufgabenverwaltungsprogramme durch· Schnittstellen-Steuerprozessor 12' enthält eine Anzahl zuführen, während gleichzeitig alle Unterprozessoren, von gespeicherten Steucrprognimmcn zur Durchfüh- gesteuert durch ihre jeweiligen Schnittstellen-Steucrrunjs der für DVC 10' vorgesehenen l'iinkiionen. wobei prozessoreil die ihnen übertragenen Aufgaben unabdie einzelnen Steuerprogramme durch entsprechende 65 hängig vom Steuerprozessor durchführen.
Befehlsworte adressiert werden. Jedes Steuerprogramm
enthält eine Folge von Steuerworten, die nacheinander Hierzu 7 Blatt Zeichnungen
nach dem ersten DTC-Prozessor 10' abgegeben werden.

Claims (3)

■;■■.. ι .ν ■■■.'■■; ; 2 : ...; ■..·.■ ■ der Ober eine weitere Eingangs/Ausgangsleitung - Patentansprüche: (30) an den ersten Unterprozessor (10)^^ angeschlossen ist, und daß beide Unterprozessqren (10, 16)
1. Mültiprozessoranlage, bestehend aus einem über ihren jeweiligen Schnittstellen-Steuerprozes-Steuerprozessor, der mit einem Systemprogramm- s sor (12, 18) mit einer Ein- und Ausgabesteuerung befehle enthaltenden Steuerprogrammspeicher ver- (22) verbunden sind.
bunden ist, der außerdem VerknüpfungsEsten von Befehlsworten gespeichert hält, die über durch in Ausführungsbefehlsworten enthaltene Zeiger vom
Steuerprozessor direkt ansteuerbar sind, aus einem io Die Erfindung betrifft eine Mültiprozessoranlage Hauptspeicher, mehreren Unterprozessoren sowie nach dem Oberbegriff des Patentanspruchs 1. Schnittstellenschaltungen und Systemsteuer- und Eine Datenverarbeitungsanlage nach dem Oberbegriff Systemdaten-Leitüngen zur Verbindung der ge- des Patentanspruchs i is» aus der US-PS 40 4t 461 benannten Einheiten miteinander, dadurch ge- xannL Diese Datenverarbeitungsanlage enthält einen kennzeichnet, daß ein erster Unterprozessor 15 Programmspeicher für Befehlsworte und Listen. Diese (10) eine Weiterleitungs- und Wartelogik (14) zur sind über durch in Ausführungsbefehlsworten enthaltene Abgabe eines Ausgangssignals bei Beendigung einer ZeigervomSteuerprozessordirektansteuerbar.DieMulersten Art von Funktion durch den ersten Unterpro- tiprozessoranlage besteht weiterhin aus einem Hauptzessor (10) aufweist, daß ein zweiter Unterprozessor speicher, mehreren Unterprozessoren sowie Schnittstelle) ebenfa^E eine Weiterleitungs- und Wartelogik 20 lenschaltungen und Systemsteuer- und Systemdaten-Lei-(14') zur Abgabe eines Ausgangssignals bei Beendi- UingenzurVerbindungdereinzelnenEinheitenderMuItigung einer zweiten Art von Funktion an die Weiter- prozessoranlage. Durch den Steuerprozessor sind in eileitungs- und Wartelogik (14) des ersten Unterpro- nem ersten bzw.einem zweiten Unterprozessordurchzuzessors (10) aufweist, während diese Weiterleitungs- führende Funktionen einleitbar, worauf der Steuerpro- und Wartelogik (14) das Ausgangssignal an die Wei- 25 zessor für Systemprogramme wieder frei ist und die terleitungs- und Wartelogik (14')des zweiten Unter- Unterprozessoren ihre Funktionen unabhängig davon Prozessors (16) für eine Koordinierung der vonein- und voneinander durchführen können. Aus der DE-AS ander abhängigen Funktionen erster und zweiter 18 13 916 ist außerdem eine Datenverarbeitungsanlage Art abgibt, daß jedem Unterprozessor (10 und 16) bekannt, die neben einem Steuerrechner für jede Rechenein Schnittstellen-Steuerprozessor (DCIP 12,18) zu- 30 einheitsgruppe ein Schnittstellensteuerwerk aufweist, geordnet ist, tier jeweils mit seinem Steuereingang das decodierte Befehle in Form kurzer Teilprogramme an der Systemsteuerleitung (4) ^ur Aufnahme eines zusammenmitOperandenerzeugtunddiesedenRechen-Ausführungsbefehlswortes, mit seinem Steueraus- einheitsgruppen zur Durchführung entsprechender gang (26,26') am Steuereingang ies jeweiligen Un- Funktionen zuführt Hier ist ein Weg gezeigt, wie verterprozessors (10,16) und mit seinem Dateneingang 35 schiedene Recheneinheiten ganz bestimmte Funktionen an den Steuerprogrammspeicher (6) für die Über- innerhalb einer Mehrfachverarbeitungsanlage ausfühnahme von Befehlsworten aus einer durch den Zei- ren.EinederartigeAnlagehatjedochdenNachteil.daßdic gerdes Ausführungsbefehlswortes bestimmten Ver- KoordinierungdereinzelnenRediencinheitsgruppenein knüpfungsliste (LL) angeschlossen ist und für die kompliziertesSteuerwerkerfordert. Durchführung der jeweiligen Funktion eine Anzahl 40 Der Erfindung liegt die Aufgabe zugrunde eine Multigespeicherter Steuerprogramme enthält, wobei ein prozessoranlage nach dem Oberbegriff des Patentan-Zugriff zu jedem dieser gespeicherten Steuerpro- Spruchs 1 zu schaffen, bei der die dem Steuerprozessor gramme über ein Befehlswort aus der Verknüp- zur Ausführung von Systemprogrammen zur Verfügung fungsliste (LL) erfolgt und jedes dieser Steuerpro- stehende Zeit erhöht werden kann, gramme eine Folge von Steuerworten enthält, die 45 Die erfindungsgemäße Lösung der Aufgabe besteht nacheinander an den Sieuereingang des jeweiligen im Kennzeichen des Patentanspruchs 1. Unterprozessors (10, 16) angelegt werden, und daß Weitere Ausgestaltungen sind in den Unteransprüdamit durch den Steuerprozessor (2) und die Schnitt- chen charakterisiert.
stellen-Steuerprozessoren (12, 18) von den Unter- In dieser Mültiprozessoranlage kann der Steuerproprozessoren (10, 16) durchzuführende Funktionen 50 zessor durch den ersten und zweiten Unterprozessor jeweils einleitbar sind, worauf der Steuerprozessor durchzuführende Aufgaben einleiten und dann für die (2) für Systemprogramme frei ist, während die Un- Durchführung von Systemüberwachung und Aufgabenterprozessoren (10, 16) ihre Funktion erster und Management-Funktionen verfügbar sein, während die zweiter Art unter Steuerung der jeweiligen Schnitt- Funktionen der ersten und zweiten Art, gesteuert durch stellen-Steuerprozessoren (12,18) durchführen. 55 den ersten und zweiten Schnittstellensteuerprozessor
2. Multiprozessoranlage nach Anspruch 1, da- durchgeführt werden. Diese Art der Steuerung ermögdurch gekennzeichnet, daß der Steuerprogramm- licht es, daß die in einer solchen Mültiprozessoranlage speicher (6) des Steuerprozessors (2) als Hauptspei- zur Verfugung stehende Zeit für die Durchführung von eher der Schnittstellen-Steuerprozessoren (12, 18) tatsächlichen Verarbeitungsfunktionen, für die Zutciangeschlossen ist. so lung von Resourcen und das Aufgabenmanagement er-
3. Mültiprozessoranlage nach den Ansprüchen 1 höht wird.
und 2, dadurch gekennzeichnet, daß der erste Unter- Die Erfindung wird nunmehr anhand eines Ausfüh-
prozcssor (10) Datenübertragungen durchführt und rungsbeispiels in Verbindung mit den Zeichnungen im
direkt cingangsscitig am Hauptspeicher (20) nnge- einzelnen beschrieben. In den Zeichnungen zeigt
sflilos.scn ist. während der zweite Dnicrpro/cssor ns I'i g. I ein Gesamlbloeksehaltbild einer Multiprozcs-
(16) arithmetische Funktionen ausführt und über ei- soranlage,
ne Eingangs/Ausgangsleitung (32) mit einem ge- Fig.2 ein mehr ins Einzelne gehende Blockschaltbild
meinsamen Arbeitsspeicher (24', 24") verbunden ist, der Multiprozessoranlage,
DE2839726A 1977-10-20 1978-09-13 Multiprozessoranlage mit verteilter Steuerarchitektur Expired DE2839726C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/843,902 US4149243A (en) 1977-10-20 1977-10-20 Distributed control architecture with post and wait logic

Publications (2)

Publication Number Publication Date
DE2839726A1 DE2839726A1 (de) 1979-04-26
DE2839726C2 true DE2839726C2 (de) 1985-04-18

Family

ID=25291287

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2839726A Expired DE2839726C2 (de) 1977-10-20 1978-09-13 Multiprozessoranlage mit verteilter Steuerarchitektur

Country Status (5)

Country Link
US (1) US4149243A (de)
JP (1) JPS6040067B2 (de)
DE (1) DE2839726C2 (de)
FR (1) FR2406853B1 (de)
IT (1) IT1159145B (de)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4276594A (en) * 1978-01-27 1981-06-30 Gould Inc. Modicon Division Digital computer with multi-processor capability utilizing intelligent composite memory and input/output modules and method for performing the same
US4258420A (en) * 1979-01-03 1981-03-24 Honeywell Information Systems Inc. Control file apparatus for a data processing system
EP0017219B1 (de) * 1979-04-06 1987-10-14 Hitachi, Ltd. Verfahren und Vorrichtung zur elektronischen Steuerung eines Motors
JPS6043535B2 (ja) * 1979-12-29 1985-09-28 富士通株式会社 情報処理装置
US4328543A (en) * 1980-03-25 1982-05-04 Ibm Corporation Control architecture for a communications controller
JPS56127266A (en) * 1980-03-10 1981-10-05 Ibm Method of executing and controlling command stream
US4467409A (en) * 1980-08-05 1984-08-21 Burroughs Corporation Flexible computer architecture using arrays of standardized microprocessors customized for pipeline and parallel operations
US4445177A (en) * 1981-05-22 1984-04-24 Data General Corporation Digital data processing system utilizing a unique arithmetic logic unit for handling uniquely identifiable addresses for operands and instructions
US4590551A (en) * 1981-08-24 1986-05-20 Burroughs Corporation Memory control circuit for subsystem controller
US4553202A (en) * 1982-05-06 1985-11-12 International Business Machines Corporation User controlled dialog resource switching in a multi-tasking word processor
US4800521A (en) * 1982-09-21 1989-01-24 Xerox Corporation Task control manager
US4504909A (en) * 1982-09-30 1985-03-12 General Electric Company Method of using an array processor for real time processing
US4543626A (en) * 1982-12-06 1985-09-24 Digital Equipment Corporation Apparatus and method for controlling digital data processing system employing multiple processors
JPS59114656A (ja) * 1982-12-20 1984-07-02 Sharp Corp 容量の拡張性を有するデ−タ記憶の方法
US4750110A (en) * 1983-04-18 1988-06-07 Motorola, Inc. Method and apparatus for executing an instruction contingent upon a condition present in another data processor
JPH081604B2 (ja) * 1983-07-25 1996-01-10 株式会社日立製作所 マイクロプロセッサ
US5165033A (en) * 1983-07-25 1992-11-17 Hitachi, Ltd. Microprocessor and data processor using the former
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
US4771380A (en) * 1984-06-22 1988-09-13 International Business Machines Corp. Virtual vector registers for vector processing system
US4670835A (en) * 1984-10-19 1987-06-02 Honeywell Information Systems Inc. Distributed control store word architecture
GB2173326B (en) * 1985-03-18 1989-06-21 Nitsuko Ltd Data transmission system
JPS6224366A (ja) * 1985-07-03 1987-02-02 Hitachi Ltd ベクトル処理装置
US5249275A (en) * 1986-04-21 1993-09-28 Texas Instruments Incorporated Apparatus and method enabling a compiled program to exactly recreate its source code
US4809169A (en) * 1986-04-23 1989-02-28 Advanced Micro Devices, Inc. Parallel, multiple coprocessor computer architecture having plural execution modes
US5764922A (en) * 1986-11-04 1998-06-09 Unisys Corporation I/O system for off-loading operating system functions
JPS63253468A (ja) * 1987-04-10 1988-10-20 Hitachi Ltd ベクトル処理装置
JP2550063B2 (ja) * 1987-04-24 1996-10-30 株式会社日立製作所 分散処理システムのシミユレ−シヨン方式
US4943915A (en) * 1987-09-29 1990-07-24 Digital Equipment Corporation Apparatus and method for synchronization of a coprocessor unit in a pipelined central processing unit
EP0312764A3 (de) * 1987-10-19 1991-04-10 International Business Machines Corporation Datenprozessor mit mehrfachen Ausführungseinheiten zur parallelen Ausführung von mehreren Befehlsklassen
US5404521A (en) * 1990-07-31 1995-04-04 Top Level Inc. Opportunistic task threading in a shared-memory, multi-processor computer system
US5125093A (en) * 1990-08-14 1992-06-23 Nexgen Microsystems Interrupt control for multiprocessor computer system
JP3118855B2 (ja) * 1991-04-10 2000-12-18 株式会社日立製作所 マルチプロセッサシステム
TW295646B (de) * 1995-01-25 1997-01-11 Ibm
US5930480A (en) * 1996-10-10 1999-07-27 Apple Computer, Inc. Software architecture for controlling data streams based on linked command blocks
DE69701351T2 (de) * 1996-11-04 2000-08-24 Koninkl Philips Electronics Nv Signalverarbeitungsvorrichtung bestehend aus mehr als einem verarbeitungselement
US5924098A (en) * 1997-06-30 1999-07-13 Sun Microsystems, Inc. Method and apparatus for managing a linked-list data structure
FR2809508B1 (fr) * 2000-05-23 2002-08-30 Thomson Csf Systeme et methode de gestion d'une architecture multi-ressources
US6609161B1 (en) * 2000-06-01 2003-08-19 Adaptec, Inc. Two-dimensional execution queue for host adapters
US6789134B1 (en) 2000-06-01 2004-09-07 Adaptec, Inc. Dequeuing from a host adapter two-dimensional queue
US8782287B2 (en) * 2001-12-21 2014-07-15 Agere Systems Llc Methods and apparatus for using multiple reassembly memories for performing multiple functions
WO2005041207A2 (en) * 2003-10-29 2005-05-06 Matsushita Electric Industrial Co.,Ltd. Drive device and related computer program
US20160098279A1 (en) * 2005-08-29 2016-04-07 Searete Llc Method and apparatus for segmented sequential storage

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3374465A (en) * 1965-03-19 1968-03-19 Hughes Aircraft Co Multiprocessor system having floating executive control
US3487373A (en) * 1965-11-16 1969-12-30 Gen Electric Apparatus providing symbolic memory addressing in a multicomputer system
US3810105A (en) * 1967-10-26 1974-05-07 Xerox Corp Computer input-output system
US3537074A (en) * 1967-12-20 1970-10-27 Burroughs Corp Parallel operating array computer
US3634830A (en) * 1969-06-13 1972-01-11 Ibm Modular computer sharing system with intercomputer communication control apparatus
US3643227A (en) * 1969-09-15 1972-02-15 Fairchild Camera Instr Co Job flow and multiprocessor operation control system
US3648252A (en) * 1969-11-03 1972-03-07 Honeywell Inc Multiprogrammable, multiprocessor computer system
US3801962A (en) * 1972-12-29 1974-04-02 Ibm Communication mechanism for data transfer and control between data processing systems and subsystems
FR2235427A1 (en) * 1973-06-28 1975-01-24 Ibm Connecting cct. for satellite data processors - has minimum number of programme interruptions in main processor
US3962685A (en) * 1974-06-03 1976-06-08 General Electric Company Data processing system having pyramidal hierarchy control flow
US3943494A (en) * 1974-06-26 1976-03-09 International Business Machines Corporation Distributed execution processor
US4041461A (en) * 1975-07-25 1977-08-09 International Business Machines Corporation Signal analyzer system
US4014005A (en) * 1976-01-05 1977-03-22 International Business Machines Corporation Configuration and control unit for a heterogeneous multi-system
US4071890A (en) * 1976-11-29 1978-01-31 Data General Corporation CPU-Synchronous parallel data processor apparatus

Also Published As

Publication number Publication date
IT7828241A0 (it) 1978-09-29
DE2839726A1 (de) 1979-04-26
FR2406853A1 (fr) 1979-05-18
US4149243A (en) 1979-04-10
IT1159145B (it) 1987-02-25
JPS6040067B2 (ja) 1985-09-09
FR2406853B1 (fr) 1986-05-30
JPS5466051A (en) 1979-05-28

Similar Documents

Publication Publication Date Title
DE2839726C2 (de) Multiprozessoranlage mit verteilter Steuerarchitektur
DE69738188T2 (de) Verfahren und apparat für eine erhöhte genauigkeit bei der verzweigungsvorhersage in einem superskalaren mirkroprozessor
DE2714805C2 (de)
DE3424962C2 (de)
DE2657848C2 (de)
DE2411963B2 (de) Datenverarbeitungsanlage
DE2847934A1 (de) Datenverarbeitungseinrichtung mit einem mikrobefehlsspeicher
DE19855806A1 (de) Vorrichtung und Verfahren zum Durchführen von Unterprogrammaufruf- und Rücksprungoperationen
DE2243956A1 (de) Speicherprogrammierte datenverarbeitungsanlage
DE3116100A1 (de) Sprungabschaetz-zentraleinheit
DE2523399A1 (de) Datenverarbeitungssystem mit eingabe/ausgabeprozessoren
DE3400723C2 (de)
DE4220698A1 (de) System zur dynamischen verknuepfung modularer abschnitte von computersoftware
DE2036729A1 (de) Digital Datenverarbeiter
DE2054830A1 (de) Informationsverarbeitungssystem mit wortstrukturiertem Speicher und Verfahren fur einen Zugriff zu einem derar tigen Speicher
DE2721623A1 (de) System zur bearbeitung eines zielsystemprogrammes
DE3043653A1 (de) Datenverarbeitungsanlage
DE2401364A1 (de) Datenverarbeitungssystem
DE4104568A1 (de) Verfahren und vorrichtung zur programmverarbeitung
DE2739525C2 (de) Rechner
DE3113188C2 (de) Vorrichtung zur Verwaltung der Informationsüberführung in einer Informationsverarbeitungsanlage
DE2245284A1 (de) Datenverarbeitungsanlage
DE2745204A1 (de) Mikroprogramm-leitwerk fuer eine datenverarbeitungsanlage
DE2658950A1 (de) Mikroprogrammierte verarbeitungseinheit sowie verfahren zur organisation derselben
DE1574877B1 (de) Verfahren und Einrichtung zur Kopplung von datenverarbeitenden Anlagen

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8125 Change of the main classification

Ipc: G06F 9/46

8128 New person/name/address of the agent

Representative=s name: BOEHMER, H., DIPL.-ING., PAT.-ANW., 7031 AIDLINGEN

8128 New person/name/address of the agent

Representative=s name: RUDOLPH, W., PAT.-ASS., 7030 BOEBLINGEN

D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee