DE2113725A1 - Mehrprozessor-Datenverarbeitungsanlage mit Verteilereinrichtung fuer die Unterbrechungsbearbeitung - Google Patents
Mehrprozessor-Datenverarbeitungsanlage mit Verteilereinrichtung fuer die UnterbrechungsbearbeitungInfo
- Publication number
- DE2113725A1 DE2113725A1 DE19712113725 DE2113725A DE2113725A1 DE 2113725 A1 DE2113725 A1 DE 2113725A1 DE 19712113725 DE19712113725 DE 19712113725 DE 2113725 A DE2113725 A DE 2113725A DE 2113725 A1 DE2113725 A1 DE 2113725A1
- Authority
- DE
- Germany
- Prior art keywords
- interrupt
- signal
- processor
- data processing
- interrupt handler
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000012545 processing Methods 0.000 title claims description 86
- 230000015654 memory Effects 0.000 claims description 40
- 230000005540 biological transmission Effects 0.000 claims description 24
- 238000000034 method Methods 0.000 claims description 24
- 238000012546 transfer Methods 0.000 claims description 17
- 230000008569 process Effects 0.000 claims description 14
- 238000012544 monitoring process Methods 0.000 claims description 13
- 230000004044 response Effects 0.000 claims description 2
- 230000011664 signaling Effects 0.000 claims 1
- 238000012360 testing method Methods 0.000 claims 1
- 239000011159 matrix material Substances 0.000 description 8
- 230000000903 blocking effect Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 4
- 238000010168 coupling process Methods 0.000 description 4
- 238000005859 coupling reaction Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000015572 biosynthetic process Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- HRANPRDGABOKNQ-ORGXEYTDSA-N (1r,3r,3as,3br,7ar,8as,8bs,8cs,10as)-1-acetyl-5-chloro-3-hydroxy-8b,10a-dimethyl-7-oxo-1,2,3,3a,3b,7,7a,8,8a,8b,8c,9,10,10a-tetradecahydrocyclopenta[a]cyclopropa[g]phenanthren-1-yl acetate Chemical group C1=C(Cl)C2=CC(=O)[C@@H]3C[C@@H]3[C@]2(C)[C@@H]2[C@@H]1[C@@H]1[C@H](O)C[C@@](C(C)=O)(OC(=O)C)[C@@]1(C)CC2 HRANPRDGABOKNQ-ORGXEYTDSA-N 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 238000005276 aerator Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007728 cost analysis Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000035622 drinking Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
- G06F13/26—Handling requests for interconnection or transfer for access to input/output bus using interrupt with priority control
Description
BURROUGHS CORPORATION, Detroit, Staat Michigan (V.St.A.)
Mehrprozessor-Datenverarbeitungsanlage mit Verteilereinrichtung
für die Unterbrechungsbearbeitung.
Die Erfindung betrifft Datenverarbeitungsanlagen, insbesondere Mehrprozessor Datenverarbeitungsanlagen mit Einrichtungen zur
Unterbrechungsbearbeitung.
Bei bekannten Datenverarbeitungsanlagen unterbricht ein Prozessor die Verarbeitung eines bestimmten Programmes automatisch in Abhängigkeit
von verschiedenen Betriebsbedingungen. Wenn seine Ausführung des laufenden Programmes unterbrochen wird, hört der Prozessor nicht
auf zu arbeiten. Vielmehr wird ein Unterbrechungsbearbeiter im Prozessor in Betrieb gesetzt und führt gewisse Tabellier- und Überwachung
sauf gaben aus. Typische Tabellierungsaufgaben umfassen das Speichern
anhängiger Befehle, von Information und Daten, um die schon gewonnenen Zwischenergebnisse aufzubewahren und sicher zu stellen,
daB die Anlage in einem späteren Zeitpunkt zu dem richtigen Befehl
zurückkehren und die Verarbeitung des unterbrochenen Programmes anschließen kann. Eine typische ÜberwachungsaufgabB besteht in der
1098^3/1605
-Z-
Einleitung einer Datenübertragung zwischen dem Speicher und einem .
Ein/Ausgabe-Gerät.
Der Unterbrechungsbearbeiter kann spezielle Einrichtungen aufweisen,
die eine Reihe von Signalen erzeugen, um den Betrieb der Anlage während der Unterbrechungsverarbeitung zu steuern.
Der Unterbrechungsbearbeiter kann Alternativeinrichtungen enthalten,
die den Prozessor in ein Unterprogramm in einem gespeicherten Überwachungsprogramm
springen lassen. Der Prozessor wird dann die Unterbrechung von dem Programm gesteuert behandeln. Die Art der in Rech—
nersystemen benutzte Unterbrechungsbearbeiter hängt von einer kaufmännischen Kostenanalyse der zusätzlichen Einrichtungen verglichen
mit de» durch das Überwachungsprogramm bedingten Verlust an Rechengeschwindigkeit
ab.
Das Unterbrechungsprinzip wird allgemein bei der Steuerung der Eingang soperationen für Datenverarbeitungsanlagen angewandt. Hauptsächlich ist die Geschwindigkeit, mit der eine Eingangseinheit Information
liefern kann, sehr viel geringer als die Bearbeitungsgeschwin— digkeit der gelieferten Daten durch einen Prozessor. Es wäre daher
extrem unwirtschaftlich, einen Prozessor untätig sein zu lassen, während er auf die Versorgung von Daten durch eine Eingangseinheit
wartet.
Es ist daher für einen Prozessor üblich geworden, einen Eingangsbe—
fehl bereits früher auszuführen als die Eingangsinformation tatsächlich benutzt wird. Der Prozessor fährt mit der Verarbeitung von
Daten fort, bis die Eingangseinheit einen vorbestimmten Betriebszustand eingenommen hat, in dem sie zur Lieferung von Daten bereit ist.
Eine Signalquelle liefert ein Signal, das dem Prozessor mitteilt, daß die Ein/Ausgabe-Einheit die Aufmerksamkeit oder Bedienung durch
den Prozessor erfordert. Der Prozessor kann dann sein laufendes Programm unterbrechen und mit der Behandlung der Eingangsinformation
zusammenhängende Überwachungsaufgaben ausführen.
109843/1605
c
3 211372S
Fs qibt Umstände, unter denen es unzweckmäßig ist, dem Prozessor die Unterbrechung seines laufenden Programmes zu erlauben. Beispielsweise kann der Prozessor in einem früheren Zeitpunkt eine Unterbrechung
sbedingu ng festgestellt und die Ausführung einer mit jener Unterbrechung
zusammenhängenden Uberwachungsaufgabe noch nicht abgeschlossen
haben. Fs ist zweckmäßiger, den Prozessor die Behandlung derartiger l'nterbrechungsbedingunqen abschließen als unterbrechen zu lassen. Als
Einrichtung, die eine Unterscheidung zwischen normalen Unterproqrammen,
diß unterbrochen werden können, und anderen Unterproprammen, die bei
gewöhnlicher Verarbeitung nicht unterbrochen werden sollten ermönlicht,
wird in Datenprozessoren ein Zustandssteuergerät verwendet. Das Zustandssteuerqerät wird in einen normalen Zustand gesetzt, wenn
der Prozessor normale, unterbrechbare Unterproeramme ausführt, und
wird in einen Besetztzustanri (control stated gesetzt, wenn der Prozessor
Besetzt - Unterorociramme (ccntrol procedures) wie beispielsweise
eine Unterbrechungsbehandlunq, ausführt. Der Unterbrechungsbearbeiter spricht auf das Zustandssteuergerät an, so daß bei im Besetztzustand
befindlichem Zustanrissteuergerät der Unterbrechungsbearbeiter auf
Anforderungen zur Bearbeitung von Unterbrechungen nicht anspricht.
Fs stellt sich ein Problem, wenn eine croße Anzahl von Ein/Ausgabe Finheiten
einem Prozessor zuqewiesen sind. Die Fin/Ausoabe - Einheiten
konkurrieren um die Aufmerksamkeit oder Bedienung durch den Prozessor.
Während der Bearbeitung einer Unterbrechungsbedinguna für eine meiner
zugeordneten Einheiten ist es dem Prozessor nicht möglich, die anderen Einheiten zu bedienen. Wenn natürlich nur ein einzelner Prozessor
vorhanden ist, müssen die anderen Fin/Ausoabe — Einheiten werten, bis
der Prozessor wieder in seinen Normalzustand zurückqekehrt ist, ehe
sie bedient werden können. Bei Mehrprozessoranlagen kann ein zweiter Prozessor die Bearbeitung einer externen Unterbrechungsbedingung für
den Fall Übernehmen, daß der erste Prozessor nicht zur Verfügung steht.
In den meisten bekannten Datenverarbeitunqsanlaqen wurde die eine Unterbrechungsbearbeitung darstellende Last für jede Ein/Ausgabe Einheit
ausschließlich einem bestimmten Prozessor zuqeordnet. Ein verbessertes Unterbrechunossystem ist beispielsweise in der US - Patent-
109843/160S
schrift 3 286 239 beschrieben. Danach dient in jedem Prozessor ein
Unterbrechungs - Masken - Register zur Steuerung der Zuweisung einer
Ein/Ausgabe - Unterbrechungsbearbeitung zu den einzelnen Prozessoren in einer Mehrprozessoranlage. Der Inhalt des Unterbrechungs — Masken Registers
bestimmt, ob der Prozessor Aufrufe zur Unterbrechungsbehandlung annimmt oder zurückweist. Es gibt Techniken, die eine Bestimmung
ermöglichen, ob einer der Prozessoren eine deratig große Anzahl von Unterbrechungen aufnimmt, daß die Unterbrechungsaufrufe
eine ständig zunehmende Schlange bilden. Wenn sich eine Schlange bildet, kann der Inhalt der Unterbrechungs - Masken - Reqister in den
Prozessoren nach einem Programm geändert werden, um die Zuordnung der Ein/Ausgabe - Einheiten neu vorzunehmen.
Nach der Erfindung dient eine automatisch arbeitende Verteilervorrichtung
zur Verteilung der Bearbeitungslast einer Klasse von externen Unterbrechungsbedingungen einschließlich derjenigen Unterbrechungsbedingungen,
die mit Ein/Ausgabe — Operationen in Beziehung stehen, zwischen des Prozessoren einer Mehrorozessor Datenverarbeitungsanlaqe.
Jede Ein/Ausgabe - Einheit wird dynamisch einem von mehreren Prozessoren zur Behandlung ihrer Unterbrechungen auf eine Anzeige hin zugewiesen,
daß die Ein/Ausgabe - Einheit einen vorbestimmten Zustand eingenommen hat. Die dynamische Zuordnung zu den Prozessoren findet auf einer Vorrang
- Basis (Prioritätsbasis) statt. Wenn ein Prozessor mit höchstem Vorrang zur Bedienung einer speziellen Ein/Ausgabe - Einheit bereits
mit der Bearbeitung einer Unterbrechung beschäftigt oder in anderer Weise nicht zur Bearbeitung der Tperationen für die Ein/Ausgabe - Übertragungen
verfügbar ist, dann wird sofort eine zweite Zuordnung zwischen dem Prozessor mit dem nächst niedrigeren Vorrang und der Ein/Ausgabe
- Einheit durchgeführt.
In einer Weiterführung des Erfindungsgedenkens weist eine Datenverarbeitungsanlage
einen Speicher, mehrere Ein/Ausgabe - Einheiten und mehrere Prozessoren auf. Jeder Prozessor hat seinen eigenen Unterbrechungsbearbeiter
und eine Zuweise — Vorrichtung, die die Zuweisung zwischen dem Unterbrechungsbearbeiter und einer Ein/Ausgabe - Einheit
bewirkt.
109843/160S
— a —
Zweckmänigerweise umfaßt der Unterbrechungsbearbeiter ein von einem
Programm steuerbares Leitwerk (Operatorsteuerung). Das Leitwerk steuert die Arbeitsschritte der Datenverarbeitungseinrichtungen in den Prozessoren zur Verarbeitung der Unterbrechung. Ein Zustandssteuergerät
ist an das Leitwerk angeschlossen und besitzt einen Normalzustand und einen Besetztzustand (control state) und läßt das Leitwerk einen Normalzustand
bzw. einen Besetztzustand annehmen.
Die Einrichtung, die die Zuordnung zwischen der Ein/Ausgabe - Einheit
und dem Unterbrechungsbearbeiter bewirkt, umfaßt Torschaltungen, die auf Anzeigen ansprechen, daß eine Ein/Ausgabe - Einheit βΐηβ Bedienung
erfordert und daß der Prozessor zur Verarbeitung einer Unterbrechung gerade nicht zur Verfugung steht. Die Torschaltungen erzeugen ein
Übertragungssignal und lassen weitere Torschaltungen ein zweites Unterbrechungsaufrufsignal erzeugen. Wenn der Prozessor mit dem nächst
niedrigeren Vorrang nicht beschäftigt ist, spricht sein Unterbrechungsbearbeiter
auf das zweite Unterbrechunqsaufrufsignal an und verarbeitet die Unterbrechung. Anderenfalls wird eine Zuweisung zu dem Prozessor
mit dem nächst niedrigeren Vorrang vollzogen.
Die Erfindung wird nachfolgend an einem Beispiel unter Bezugnahme auf die beigefügte Zeichnung erläutert. Es zeigen:
Fig. 1 das Blackdiagramm einer erfindungsgemäßen Mehrprozessor
Datenverarbeitungsanlage;
Fig. 2 ein Blockschaltbild eines Prozessors mit Einrichtungen zur Bearbeitung von Programmunterbrechungen; und
Fig. 3 ein mehr ins Einzelne gehendes Blockschaltbild der Übertragerschaltungen
aus Fig. 1.
Zunächst werde die in der Datenverarbeitungsanlage benutzte Form der Informationsdarstellung allgemein betrachtet. "Programm" bezeichnet
hier ein oder mehrere Unterprogramme (procedures). Ein "Unterprogramm"
(procedure) enthält mehrere verschiedene Operatoren, und die "Operatoren"
sorgen für den schrittweisen Arbeitsablauf in der Datenverarbeitungsanlage.
109843/1605
Information wird in der Datenverarbeitungsanlage in Form von
"Wörtern" bearbeitet. Selbstverständlich ist die Erfindung nicht auf eine wortweise arbeitende Anlage beschränkt, sondern ist auch
auf andere Bit - Gruppierungen, wie z.B. Ziffern - Gruppen oder Einzel Bits, anwendbar. Obwohl in der Datenverarbeitungsanlage tatsächlich
viele verschiedene Wortarten benutzt werden, braucht für die vorliegende Erfindung nur auf Operandenwörter, Rückkehrwörter (return control
words), Programmsteuerwörter, Operatorwärter, indirekte Bezugswörter (indirect reference words) und Stapelmarkierungswörter (mark stack
control words) Bezug genommen zu werden.
Die Operandenwörter sind zu verarbeitende, wirkliche Daten.
Ein "Programmsteuerwort" wird gebraucht zum Eintritt in ein neues oder mindestens ein anderes Unterprogramm (procedure). Ein Programm—
steuerwort enthält dafür mehrere verschiedene Informationsposten, (Ein
derartiger Informationsposten ist ein PIR - Feld, das eine Adresse
im Speicher darstellt, die indirekt eine Folge von Operatoren bezeichnet, welche das neue Unterporqramm gemäß dem Pronrammsteuerwort ergeben.
Das PIR - Feld enthält eine Adresse eines anderen Adressenbezugswartes,
das seinerseits die Adresse des ersten Operators des neuen Unterprogramms enthält. Ein Pragrammsteuerwort ist also ein Prozedurbezugs—
wort (procedure reference word), das sich auf den Beginn des neuen
Unterprogramms (procedure) bezieht.
Ein "Rückkehrwort" bezeichnet ein Unterprogramm, zu welchem die Datenverarbeitungsanlage
nach Abschluß der Ausführung eines laufenden Unterprogramms zurückkehren soll. Kurz gesagt, ein Rückkehrwort wird immer
dann gebildet, wenn der ein Unterprogramm ausführende Prozessor veranlaßt wird, in ein neues oder anderes Unterprogramm einzutreten. Das
Rückkehrwort wird beim Eintritt in das neue Unterprogramm gebildet und enthält die sämtliche Information, die erforderlich ist, um die
Anlage wieder in den Zustand zu bringen, den sie im früheren Unterprogramm verließ. Ebenso wie das Programmsteuerwort enthält das Rückkehrwort
ein PIR - Feld, das eine Adresse im Speicher enthält, welche den
109843/1606
ersten Operator aus einer Reihe van Operatoren, die in dem früheren
Unterprogramm ausgeführt werden sollen, bezeichnet. Rückkehrwörtnr
und Programmsteuerwörter werden beide als Prozedur - 8ezugswörter
bezeichnet. Sie sind ähnlich im Format und im Informationsgehalt.
Ein indirektes Bezugswort ist die Adresse einer Speicherstelle, die
ihrerseits ein Wort speichert, das Speicheradresseninformation enthält.
Stapelmarkierungswörter werden im folgenden in Verbindung mit der
Diskussion des Stapelmechpnismus der Datenverarbeitungsanlage beschrieben.
Das Leitwerk (Operatorsteuerung, zentrale Steuerung, central control)
eines Prozessors arbeitet in jeweils einem von zwei Zuständen, nämlich
in dem Besetztzustand oder in dem Normalzustand. Im Besetztzustanri
läßt das Leitwerk (Operator - Steuerung) priviligierte Befehle ausführen, die im Normalzustand nicht verfügbar sind. Diese Operatoren
werden "Besetztzustands - Operatoren" genannt. Im Besetztzustand bewirkt
das Leitwerk (Operator - Steuerung1 weder eine Ausführung von
Nicht - Besetztzustands - Operatoren noch eine Ausführung von externen Unterbrechungen. Der Besetztzustand ist ein wichtiger Teil moderner
Datenverarbeitungsanlagen, da gewisse Aufgaben eine ununterbrechbare Bedingung erfordern, wie sie im Besetztzustand gegeben ist. Der Besetztzustand
wird zur Bearbeitung von Funktionen gebraucht, die in Koordination mit anderen, gleichzeitig existierenden Arbeiten in demselben
Mehrprozessor - System verarbeitet werden müssen. Ein Beispiel einer
erfindungswesentlichen Besetztzustandstätigkeit ist das Einleiten der Informationsübertragung zwischen dem Prozessor eines Speichers und
einem Ein/Ausgabe - Gerät.
Im "Normal"- Zustand des Leitwerks (Operator - Steuerung) können keine
"Besetztzustand"— Operatoren ausgeführt werden. Jedoch können andere Operatoren ausgeführt und externe Unterbrechungen bearbeitet werden.
109843/1605
Der Zustand, in dem das Leitwerk arbeitet, wird von einem Flipflap
gesteuert.
Der Zustand des Flipflop ist seinerseits steuerbar. Bekannte Prozessoren
verwenden verschiedene Techniken, um dieses Flipflop in den richtigen Zustand zu bringen. Es kann z.B. ein expliziter Befehl in dem Befehlsverzeichnis des Prozessors enthalten sein, der den Prozessor zum
Setzen des Flipflop veranlaßt. Eine besondere Technik zur Steuerung des Flipflop - Zustandes ist in der gleichlaufenden Patentanmeldung
P 20 37 506.Θ, Anwaltszeichen B 170, beschrieben.
Nach dem dort offenbarten Verfahren dient ein Signal in den Prozedur Bezugswörtern
zur Zustandsänderung des Flipflop. Beispielsweise enthalten die Programmsteuerworter ein einzelnes, als N Bit bezeichnetes
Bit, das angibt, ob das neue vom Programmsteuerwort angezeigte Unterprogramm
im normalen oder im Besetztzustand behandelt werden soll. In ähnlicher Weise enthält das Rückkehrwort ein N Bit, das die Behandlung
des Rückkehr - Unterprogramms im normalen oder im Besetztzustand angibt.
Fig. 1 zeigt in allgemeiner Übersicht die Kopplung zwischen den Prozessoren einer erfindungsgemäBen Mehrprozessor - Datenverarbeitungsanlage. Die Ein/Ausgabe - Einheiten 1 A und 1 B können von verschiedener
Art sein. Es sind z.B. Magnetplatteneinheiten, Magnetbändern—
heiten und Kartenleser als Ein/Ausgabe - Geräte zur übertragung von
Daten aus einer oder in eine Datenverarbeitungsanlage gebräuchlich. Weder die Anzahl solcher Einheiten noch ihr innerer Aufbau ist wesentlich
für das Verständnis der Erfindung. Die Ein/Ausgabe - Einheilen sind mit zwei Multiplexer - Einheiten MPX-A bzw. MPX-B gekoppelt,
die mit 5 A bzw. 5 B bezeichnet sind. Multiplexer-Einheiten sind bekannt, Einzelheiten ihres inneren Aufbaus sind für die vorliegende
Erfindung nicht wesentlich. Für diese Beschreibung genügt es, daß die Multiplexer Signale von den Ein/Ausgabe - Einheiten zu den Prozessoren
und umgekehrt weiterleiten.
109843/1605
211372S
Obgleich die räumliche Anordnung der mit 7 A und 7 B bezeichneten Prozessoren unwesentlich ist, wird zu Identifikationszwecken davon
ausgegangen, daß 7 A links von 7 B liegt. Die Leitungen zwischen den Prozessoren und den Multiplexer - Einheiten deuten eine Zweiweg Kommunikation
an. Auf diesen Leitungen geben die Prozessoren ein Signal auf die Multiplexer - Einheiten, um anzuzeigen, daß Daten mit
einer Ein/Ausgabe - Einheit ausgetauscht werden sollen. Wenn die Ein/Ausgabe - Einheit einen vorbestimmten Arbeitszustand angenommen
hat, gibt sie auf diese Leitungen ein Signal für die Prozessoren. Dies Signal zeigt an, daß die Ein/Ausgabe - Einheit die Bedienung
(attention) durch einen Prozessor zur Bearbeitung des Datenaustausches braucht. Natürlich könnte der Signalgeber für das "Bedienungs" - Signal
(attention — needed signal) außerhalb der Ein/Ausgabe - Einheit unter- · gebracht sein.
Man bemerke, daß die vorliegende Erfindung auf jedes Mehrprozessorsystem
unabhängig von der Anzahl der zugehörigen Prozessoren anwendbar ist. Dementsprechend deuten in Fig. 1 neben Prozessor 7 A unterbrochene
Linien andere nicht qezeigte Prozessoren an.
Innerhalb jedes Prozessors ist ein Unterbrechungsbearbeiter und eine
Leitung zur Kopplung des Unterbrechungsbearbeiters mit dem Speicher
12 dargestellt. Vorzugsweise werden die UnterbrechungsbearbeitBr durch ein in Speicher 12 gespeichertes Überwachungsorogramm auf die nachfolgend
bei Fig. 2 beschriebene Weise programmgesteuert. Jedoch können die Unterbrechungsbearbeiter auch selbstregelnd anstatt programmgesteuert
sein. Im Prozessor 7 A sind die Links - Rechts - Übertrager Schaltung LTR-31 und die Rechts - Links - Übertrager - Schaltung
RTL—32 für die Übertragung von links nach rechts bzw. von rechts
nach links zu erkennen} jede dieser Schaltungen ist mit dem Unterbrechungsbearbeiter
6 A gekoppelt. Im Prozessor 7 B sind die Links Rechts - Übertragerschaltung LTR-33 und die Rechts - Links - Übertragerschaltung
RTL—34 für die Übertragung von links nach rechts bzw.
109843/160S
von rechts nach links angeordnet, von denen jede mit dem Unterbrechungsbearbeiter
6 B gekoppelt ist. In Abhängigkeit von den üter diei
Multiplexer auf die Prozessoren gekoppelten Bedienungssignalen und von anderen, unten beschriebenen Signelen erzeugen die ULertragerschaltungen
Signale, welche die dynamische Zuweisung der Unterbrechungs— bearbeiter gemäß einem Vorrangschema bestimmen. Die Links - Rechts Übertragerschaltungen
in einem bestimmten Prozessor erzeugen Signale, die eine eine Unterbrechungsbearbeitung inplizierende Last einem
Prozessor rechts von dem bestimmten Prozessor dynamisch zuweisen können. Die Rechts — Links — Übertragerschaltungen in einem bestimmten Prozessor
erzeugen Signale, die eine eine UJJnterbrechungsbearbeitungr
umfassende Last einem Prozessor links von dem bestimmten Prozessor dynamisch zuweisen können. Es wird noch einmal betont, daP die Verwendung
solch räumlich suggestiver Ausdrücke wie links und rechts nur Vereinbarungssache und die tatsächliche räumliche Anordnung der Prozessoren
unwesentlich ist. Ausserdem können die in den Prozessoren angeordneten Übertragerschaltungen auch stattdessen über die Anlage
verteilt sein.
Die Kopplungsleitungen zwischen den Übertragerschaltungen und dem Unterbrechungsbearbeiter sollen eine Zweiweg - Kommunikation zwischen
diesen Elementen andeuten. Die Übertragerschaltungen treten mit den
Unterbrechungsbearbeitern durch Erzeugen Unterbrechungsaufruf - Signals in Verbindung ; die Unterbrechungsbearbeiter treten mit den Übertragerschaltungen
durch Erzeugen eines Signals in Verbindung, das anzeigt, ob der Unterbrechungsbearbeiter zur Behandlung von Unterbrechungs Arbeitsgängen
frei ist oder nicht. LTR-31 ist mit LTR-33 und RTL-34 ist mit RTL-32 über Leitungen gekoppelt. Auf diesen Leitungen werden
Übertragungssignale übermittelt, die einen zweiten Prozessor eine externe Unterbrechung behandeln lassen, wenn ein erster Prozessor
beschäftigt ist. Die von LTR-33 und RTL-32 ausnehenden Leitungen
dienen ebenfalls zur Übermittlung von Übertragunrjssignalen. Beispielsweise
bei einem System mit zwei Prozessoren (bei dem direkte Verbindungen vorhanden wären, wo Fig. 1 unterbrochene Linien zeigt)wira
■09843/1605
eine Schleife derart gebildet, daß LTR-31 an LTR-33 signalisiert,
LTR-33 solle ein Unterbrechungsaufruf - Signal erzeugen. Gleicherweise
kann LTR-33 zu demselben Zweck LTR-31 signalisieren.
Man betrachte nun die Einzelheiten eines Prozessors mit einem programmgesteuerten
Ünterbrechunqsbearbeiter nach Fig. 2. Der procramm— gesteuerte Unterbrechunqsbearbeiter umfaßt alle diejenigen Teile
des Prozessors, welche die Ausführung der Übertragung der Prozessor Steuerung von Objektprogrammen auf ein gespeichertes Überwachungs—
programm, ferner die übertragung von Überwachungsprogramm - Befehlen
in der richtigen Reihenfolge und schließlich die Abgabe der richtigen Befehlssignale auf andere Einheiten des Systems wie die Fin/Ausqabe —
Einheiten Gemäß dieser Interpretation bewirken.
Über dem Leitwerk ( Operatorsteuerung) 10 sind ein Speicher, derjenige
Teil des Steuerelements eines Prozessors, der die Befehlsauswahl aus dem Speicher und ihre Interpretation bewirkt, sowie Teile des Prozessorrechenwerks
(data manipu]ation or arithmetic and logical Blements
of the processor) allgemein dargestellt. Das Leitwerk (Operatorsteuerung)
10 enthält einen Operatorzähler (operator control counter and gating
unit) 24, welcher für einen schrittweisen Arbeitsableuf der dargestellten
Datenverarbeitungsanlage sorgt. Das hier benutzte Leitwerk
(Operatnrsteuerung) umfaßt die Torschaltungen, Zähler und Steuereinrichtungen
zur Arbeitsregu]ierung der Datenverarbeitungsanlage. Die
einzelnen Komponenten des Leitwerks können über die ganze Anlage verteilt statt in einer Einheit zusammengefaßt sein.
Operatorzähler- und Tarnetzwerke für das scnrittweise Arbeiten von
Datenprozessoren und Speichern bei der Ausführung von Operatoren sind
in der Rechnertechnik bekannt und können entsorechend dem Aufbau der
jeweiligen Datenverarbeitungsanlage sehr verschiedenartig sein. Deshalb
kann auf eine detaillierte Beschreibung der Einzelheiten des üperatorzählers 24 verzichtet werden. Der Pperatorzähler 24 besitzt
Steuersignalleitungen 100, auf welche Steuersignale in der richtigen
Folge zur Betriebsablaufsteuerung des Datenprozessors und des Soeichers
109843Π605
gegeben werden. Die Leitungen 100 führen in verschiedene Schaltungen
für Steuerzwecke und sind sämtlich der Einfachheit halber mit demselben Symbol 100 bezeichnet. Die Leitungen sind in den meisten Fällen
jedoch verschieden und es können Steuersignale auf verschiedene Leitungen zu verschiedenen Zeitpunkten geqeben werden, je nach der
Arbeitssequenz des Operatorzählers 24.
Die Datenverarbeitungsanlage enthält einen Speicher 12, der ein Magnetkernspeicher oder ein anderer bekannter Speichertyp sein kann.
Der Speicher 12 ist zum wortweisen Auslesen und Einschreiben von Information in Abhängigkeit von Steuersignalen auf den Steuersignalleitungen
100 aus dem Leitwerk (Operatorsteuerung) 10 ausgelegt. Die aus dem Speicher 12 ausgelesenen Wörter werden entweder in einem Operatorregister
16 oder einem C - Register 14 oder in allgemein als Block 15 eingezeichneten Datenbearbeitungsreqistern gespeichert.
Datenbearbeitungsregister kennten Addiereinrichtungen, Schieberegister
und ähnliche technisch bekannte Einrichtungen enthalten. Im Speicher 12 kann Information aus dem C - Register 14 oder einem der anderen
Register aus Block 15 gtspeichert werden. Die Adresse im Speicher 12,
bei der Information ausgelesen oder eingeschrieben wird, bestimmt eine entweder in einem PIR - Register 20 oder in einem S - Register
enthaltene Adresse.
In der bevorzugten Ausführungsform der vorliegenden Erfindung sind
Stapel zum Speichern von Operandenwörtern und verschiedenen Arten von
Bezugswörtern vorgesehen. Die vollständigen Einzelheiten der Arbeitsweise
eines Stapels sind für das Verständnis der Erfindung nicht wesentlich; nur die wichtigen Einzelheiten werden angegeben. Ein
solcher Stapel ist im einzelnen in dem Buch "Electronic Digital Systems, von R.K. Richards, veröffentlicht 1966 bei John Wiley & Sons, Ihc,
auf den Seiten 224 bis 229" beschrieben. Kurz gesagt ist ein Stapel ein Speicherbereich, in dem Informationswörter nach dem Prinzip gespeichert
sind, daß das zuletzt eingeschriebene Wort zuerst ausgelesen
1 09843 / 1 60S
wird (last-in first-out basis, Kellerprinzip). Wenn ein spezieller
Programmstapel aktiviert wird, werden das C - Register 14 und Register im Block 15 mit dem Informationsstapel im Speicher verkettet. Diese
Verkettung wird durch eine in dem S — Register 22 gespeicherte Adresse hergestellt, welche auf das letzte (oder oberste) in dem
Stapelbereich im Speicher gespeicherte Wort zeigt. Tatsachlich existieren im Speicher 12 viele Stapel. Jeder der Stapel enthält ein
Stapel - Markierungswort (mark stack control word), das zur Verkettung der Stapel miteinander dient. Jeder Stapel kann mit dem Register 14
und den Registern im Block 15 jederzeit verbunden werden. Das Register 14 und die Register im Block 15 sind tatsächlich die Register an der
Spitze des Stapels für den verketteten Stapel und erweitern den Stapel, um raschen Zugriff zu der Information in diesen Registern zu ermöglichen.
Einzelheiten über einen solchen Stapel und die Registerverkettungen sind in der Patentanmeldung P 1774 907.4—53, Anwaltszeichen
B 84, beschrieben.
Im Betrieb gibt der Operatorzähler 24 des Leitwerks 10 ein Steuersignal
auf eine der Steuerleitungen 100 zu der Übertragermatrix 26, die die in dem S - Register 22 enthaltene Adresse dem Speicher 12
zuführt. In Wirklichkeit besitzt die Übertragungsmatrix mehrere mit ihr verbundene Leitungen 100, von denen nur eine zur Erläuterung
eingezeichnet ist. Der Operator - Zähler 24 gibt ferner ein Signal auf eine der Steuersignalleitungen 100 zu dem Speicher 12, wodurch
der Inhalt der adressierten Speicherstelle ausgelesen und einer Übertragermatrix
28 zugeführt wird. Angenommen, das aus dem Speicher 12 ausgelesene Wort sei entweder ein Rückkehrwort oder Bin Programmsteuerwort. Die Übertragermatrix 28 ist in Wirklichkeit mit mehreren
Leitungen 100 verbunden, sodaß bei einem Pragrammsteuerwort oder einem Rückkehrwort ein geeignetes Steuersignal auf einer der Steuersignalleitungen
100 die Übertragermatrix 28 veranlaß^ ein solches Wort in das C - Register 14 zu speichern. Das Programmsteuerwort oder
Rückkehrwort wird in dem C - Register 14 mit der PIR - Adresse in dem
109843/1606
.14. 211372$
mit PIR bezeichneten Feld des C - Registers 14 und mit dem N — Bit
in einem NF - Flipflop gespeichert.
Nachdem die Adresse im S - Register 22 zur Adressierung des Speichers
12 verwendet wurde, gibt der Pperatorzähler 24 ein Steuersignal auf
eine Leitung 100 und veranlaßt dadurch eine nicht gezeigte Torschaltung
im S — Register 22, die hierin enthaltene Adresse um eins zurückzuzählen,
sodafl das Register die Adresse des nächsten Wortes in dem entsprechenden Stapel enthält.
Man betrachte nun das PIR - Register 20 und die Art, wie Hperatoren
in dem Operatorregister 16 gespeichert werden. Ein einzelnes Operatorwort
enthält mehrere Operatoren. Der PIR - Zähler 20 zeiat auf oder
enthält die Adresse eines Operatorworts im Speicher.
Im Betrieb gibt der Operator - Zähler 24 ein Steuersignal über eine
Steuersignalleitung 100 zu der Übertragermatrix 26 und läßt die Einstellung
des PIR - Registers 20 dem Speicher 12 zuführen. Der Speicher 12 liest das Operatorwort aus der entsprechenden Adresse aus und gibt
das Operatorwort auf die Übertragermatrix 28. Der Operatorzähler 24
gibt außerdem ein Steuersignal über eine Steuersignalleitung 100 zu der Übertragungsmatrix 28 und läßt das Operatorwart im Operatorregister
16 speichern.
Da nur ein Operator des in dem Operatorregister 16 gespeicherten Operatorwortes gleichzeitig ausgeführt werden soll, läßt eine Torschaltung
30 nur jeweils einen Operator zum Operatorentschlüsseier gelangen. Der spezielle vom Operatorregister 16 ausgegebene Operator
wird von einem PSR - Zähler 21 bestimmt. Der PSR - Zähler 21 hat für jeden der in dem Operatorregister 16 gespeicherten und dem Operatorentschlüsseier
18 zuzuführende Operatoren einen Zählerstand. Dxe; Torschaltung
30 spricht auf jeden Zählerstand des PSR - Zahlers 21 an und gibt den entsprechenden Operator an den Operatorentschlüsseier
18 weiter.
109843/160S
Der Operatorentschlüsseler 10 hat eine Operator - Ausgangsleitung
(ENTER, EXIT,...) für jeden verschiedenen auszuführenden Operator.
Ein Steuersignal wird auf die Operator - Ausgangsleitung entsprechend jedem von der Torschaltung 30 zugeführten Operator gegeben. Der
Operator - Zähler 24 ist mit eilen Operatorausgangsleitungen gekoppelt
und geht durch eine Folge von Schritten entsprechend der aktivii-rten
Operatorausgangsleitung. Die Schrittfolge des Zählers 24 veranlaßt die richtige Folge der Steuersignale auf den Leitungen 100, wodurch die
Ausf< hrting der einzelnen Oreratoren durch den Prozessor und den Speicher
ausgeführt wird.
Schaltungen für die Ausführung eines vol3 ständigen Satzes von Operatoren
sind bekannt, ihre Einzelheiten sind für das Verständnis der Erfindung nicht wesentlich. Nachdem der Operator - Zähler 24 die für die
Ausführung eines Operators erforderlichen Steuersinnale auf die Steuersiqnalleitungen 100 gegeben hat, wird ein Steuersignal über
eine Steuersignalleitung 100 zu dem PSR - Zähler 21 gegeben, wodurch eine in ihm enthaltene (nicht aereigte) Torschaltung ihn in den nächsten Zustand entsprechend dem nächsten auszuführenden Operator im
Register 16 weiterzählt. Wenn der PSR - Zahler 21 seinen letzten Zustand
erreicht hat, läuft er zurück und beginnt wieder, dit Zustande
auf Steuersignale von der Einheit 24 hin durchzuzählen. Wenn der PSR - Zähler zurückgelaufen ist, schickt die Einheit ;4 ein Steuersignal
zu dem PIR - Register 20 und IaRt eine (nicht gezeigte) Torschaltung
die Adresse im PIR - Register 20 eins weiterzählen. Die Einheit 24 veranlaßt ausserdem, da: die neue Adresse in PIR dem Speicher
zugeführt und das Operatorwort an dieser Adresse ausgelesen und im Operatorregister 16 wie oben beschrieben gespeichert wird.
Der Zustand des Leitwerks 10, d.h. "Normal" oder Besetztzustand, wird von einem mit dem Symbol NCF bezeichneten Flipflop bestimmt.
Es führt ein Weg von dem C - Register 14 zu dem NCF - Flioflop
und ein Weg von den- NCF - Flipflop zurück zu dem C - Register 14.
109843/1605
Der Weg dem C - Register 14 und dem NCF - Flipflop führt über ein
Tor 62. Das Tor 62 besitzt R - (rückgestellt) und S- (gesetzt) Leitungen,
welche das NCF - Flipflop in einen dem Zustand des NF - Flipflop im C - Register 14 entsprechenden Zustand setzen. Der Zustand des
NF - Flipflops wird von einem Programmsteuerwort oder von einem Rückkehrwort bestimmt. Das Tor 62 ist außerdem durch gewisse Operatorleitungen
(ENTER) aus dem Operatorentschlüsseler 18 steuerbar.
Ein Tor 64 ist zwischen die Ausgänge des NCF - Flipflop und die R (rückgestellt) und S (gesetzt) - Eingänge des NF - Flipflop im C - Register
14 gekoppelt. Das Tor 64 wird gesteuert durch die ENTER Operatorleitung
aus dem Operatorentschlüsseler 18 für die Zustandseinstellung des NF - Flipflop entsprechend dem Zustand des NCF - Flipflop. Der NF - Flipflop wird entsorechend dem Zustand des NCF - Flipflop
gesetzt, wenn ein Rückkehrwort im Register 14 gebildet wird."
Auf diese Weise wird der Zustand des NCF - Flipflop, das den Zustand
des Leitwerks (Dperatörsteuerung) steuert, in dem N - Bit des Rückkehrwortes,
das beim Eintritt in ein neues Unterprogramm in dem C - Register 14 gespeichert wird, aufbewahrt.
Es werden nun die verschiedenen Operatortypen betrachtet, die entweder
im normalen oder im Besetztzustand ausgeführt werden können. Beispielsweise seien die beiden Operatoren "Eingang" (ENTER) und
"Ausgang" (EXIT) näher untersucht.
Im Betrieb läßt ein ENTER—Operator den Datenprozessor in ein nejes
Unterprogramm eintreten. Wenn ein ENTER - Operator ausgeführt werden
soll, erzeugt zunächst der Operatorzähler 24 Signale auf 100, die
das Speichern eines Programmsteuerwortes im C - Register 14 verursachen, wodurch der NCF - Flipflop mit dem N - Bit des Programmsteuerwortes
gesetzt wird. Wenn das Tor 30 den ENTER - Operator dem Operatorentschlüsseler 18 zuführt, wird ein Signal auf der ENTER -
109843/1605
Operator - Leitung am Ausgang des Gperatorentschlüsselers IB erzeugt.
Das Signal auf der ENTER - Operatorleitung läßt das Tor 62 das NCF - Flipflop in einen Zustand setzen, der dem Zustand des NF Flipflop
im Register 14 entspricht. Ersichtlich kann also der Zustand des NCF - Flipflop durch das N - Bit eines in das C - Register
14 gespeicherten Proqrammsteuerwortes bestimmt'werden.
Ein Programmsteuerwort wird beim Eintritt in ein neues Unterprogramm
oder beim Beginn der Ausführung einer anderen Reihe von Operatoren für ein anderes Unterprogramm benutzt. DemgemäB muß das PIR - Register
20 auf die Adresse eingestellt werden, die dem ersten Operatorwort
des neuen Unterprogramms entspricht. Es ist z.B. ein Tor 64 vorgesehen, und ein Steuersignal auf einer Steuersignalleitung 100 von dem
Leitwerk 10 veranlaßt das Speichern der in dem PIR - Feld des C - Registers 14 enthaltenen Adresse in das PIR - Register 20. Auf diese
Weise wird der nächste unter Steuerung durch das PIR - Register 20 ausgelesene Operator (des neuen Unterprogramms) durch das PIR - Adreßfeld
eines Programmsteuewortes bestimmt.
Hin ENTER - Operatorwort veranlaßt außerdem die Bildung eines Rückkehrwortes
in Register 14. Einer der in einem Rückkehrwort plazierten Informationsposten ist der Zustand des Leitwerkes für das zur Zeit
der Bildung des Rückkehrwortes gerade ausgeführte Unterprogramm. Das
Tor 64 spricht an auf einen ENTER - Operator und ein Steuersignal auf einer Steuersignalleitung 100 von dem Leitwerk 10 und setzt das NF Flipflop
im Register 14 in einen dem Zustand des NCF - Flipflop entsprechenden Zustand. Auf diese Weise wird der Zustand der Anlage in
dem N - Bit des in dem C - Register 14 geformten Rückkehrwortes bewahrt.
Die restlichen Schritte zur Erzeugung eines vollständigen Rückkehrwortes in dem C - Reqister 14 sind für das Verständnis der
Erfindung nicht wesentlich. Die Bildung des Rückkehrwortes wird jedoch
in dar oben angeführten Patentanmeldung P 17 74 907.4-53, AnweltszBicheri
B Θ4 beschrieben.
109843/1 60S
Ein EXIT - Operator bewirkt ein Steuersignal auf der EXIT - Optra tfjrleitung
vom Operatorentschlüsseier 18. Das Rückkehrwart wird im C - Register 14 immer vor der Ausführung des EXIT - ^aerators gespeichert;
ein Steuersignal auf der EXIT — Operatorleitung vom Operatorentschlüsseier
18 IaBt das Tor 62 das NCF - Flir.flor, in einen dem
Zustand des NF - Flipflop im C - Register 14 entsprechenden Zustand
einstellen.
Es wird nun der auf das NCF - Flipflop ansprechende Teil des Leitwerkes
(Operatorsteuerung) 10 im einzelnen betrachtet. Eine Freiqabeschaltung
(enable control circuit) 40 läßt den Zählerteil des Opera— torzählers 24 die Folge der Arbeitsschritte zur Au?Führung eines Pesetztzustand
- Operators fortsetzen. Diese kann off'ensichtlich als
Eingang für ein Steuertor für den Zähler behandelt werden.
Zur Erklärung sind die vom Operatorentschlüsseler Ib auscehenden
Ausgangsleitungen, die den Besetztzustand - Operatoren entsprechen, mit den Symbolen /I1, jf 2 und /3 bezeichnet. Die Freigabeschaltung
40 besitzt drei UND — Tore 4Ca, 40b und 40c, von denen jeweils ein Eingang mit den Besetztzustand - Operator - Leitungen / 1, /2 und
/ 3 verbunden sind. Der andere Eingang jedes der UND — Tore 40a, 40b
und 40c ist mit dem N - Ausgang des NCF - Flipflop verbunden. Der N - Ausgang führt immer dann ein Steuersignal, wenn das NCF - Flipflop
in einem logischen "1" - Zustand steht, was einem Besetztzustand entspricht. Die Freigabeschaltung 40 liefert daher ein Steuersignal
am Ausgang eines der UND - Tore 40a, 40b und 40 c, wenn das NCF Flipflop in einer logischen "1" steht und dadurch einer Besetztzustand
anzeigt. Die entsprechende "Besetztzustand" - CpBratorleitunq
wird aktiviert.
Die Ausgänge der UND - Tore 40a, 40b und 40c sind einzeln mit dem Operatorzähler 24 verbunden. Das Signal am Ausgang eine;s der UND - Tore
1098 A3 / 1 B05
40a, 4Cb unr" 40c I'iEt rien /ahlerteil des Operatorzählers 24 dif Ausführung
des entsprechenden Pt.setztzustand - Operators fortsetzen.
Fine Leitung für externe Unterbrechung führt zu dem Oneratarzünler
?4. Diese Leitung führt ein Siqnal, das die Einheit 24 zur 'Steuerung
der Bearbeitung externer Unlerbrechungsbedingungen veranlaßt. Kurz gesagt, die Einheit 24 gibt auf Veranlassung solcher Eingangssignale
eine Folge von Steuersignalen auf die Leitungen 100, um die Ausführung
der externen Unterbrechung zu bewirken.
Unter mannigfaltinen Umstanden ist es unzweckmäßig, die Unterbrechung
eines laufenden Unterprogramms zu gestatten. Zum Beispiel könnte der
Prozessor sich in einem Testverfahren befinden und gerade unter Steu-· erung von einem Kcntrollpult arbeiten. Als weiteres Beispiel kennte
der Frozessor sich im Besetztzustand befinden und bereits eine Unterbrechungsbi'dingung
bearbeiten.
Eine Unterbrechungsblockierschaltung 48 ist qestrichelt eingefaßt.
Diese Schaltunc dient dazu die cinheit 24 wahlweise freizugeben oc'er
zu blockieren. Die einnezeichneten Leitunaen 44 und 46 koppeln externe
Unterbrechungsaufrufsignale auf die Eingänge der Schaltung 4Θ. Außerdem
ist eine Leitung dargestellt, die ein ^lockiersignal für externe Unterbrechung in Form eines logischen "0" - Pegels während solcher
Zeitabschnitte auf die Schaltung 48 koppelt, in denen es unzweckmäßig ist, die Bearbeitung eines externen Unterbrechungsaufrufs zu gestalte n.
Dieses Blockiersignal wird vom NAND - Tor EO abgeleitet. Der Eingang des NAND - Tores 50 ist an das ODER - Tor 51 durch eine "Prozessorbesetzt11
- Leitung 52 cekoppelt.Das ODER - Tor 51 könnte viele Eingänge
haben, von denen zwei Leitungen N und N" gezeint sind. Die Leitung N
ist mit dem NCF — Flipflop verbunden und f'ührt immer dann eine logische
"1", wenn sich der Prozessor im Besetztzustand befindet. Die Leitung
N" ist über den Schalter 98 mit dem Signalgeber 99 gekoopelt. Der Signalgeber 99 erzeuqt eine logische "1" und kannte aus einem
Tor, einem Flipflop o.a. bestehen. Die beispielsweise eingezeichnete
1098A3/1605
Leitung N" würde eine logische "1" führen, wenn der Schelter 98 geschlossen
ist. Der Schalter 98 könnte geschlossen sein, wenn der Prozessor
für die Bearbeitung einer externen Unterbrechung nicht v.erfügbar ist, weil der Prozessor sicH im Test befindet o.a. Wenn entweder die
Leitung N oder die Leitung N" eine logische "1" führt, erzeugt das ODER - Tor 51 eine logische "1" auf der "Prozessorbesetzt" - Leitung.
Das Ausgangssignal des ODER - Tores 51 wird von dem NAND - Tor -r0
invertiert, sodaB eine logische "0" auf der Blockierleitung erzeugt
wird.
Innerhalb der Unterbrechungsblockierschaltung 48 befinden sich die
UND - Tore 48a und 48b und das ODER - Tor 48 c. Ein Eingang jedes UND - Tores ist mit der ßlockierledtung für externe Unterbrechungen
verbunden. Der andere Eingang jedes UND - Tores ist mit einer der Unterbrechungs - Aufrufleitungen 44 und 46 für externe Unterbrechungen
verbunden. Die Ausgangssignale der UND - Tore 48a und 48b werden auf
die Eingänge des ODER - Tores 48 c qegeben. Der Ausgang des ODER - Tores
48c führt das Externe - Unterbrechungssianal der Einheit 24 zu. Immer
wenn also ein logisches "1" - Signal auf eine der Externe-Unterbrechungs-Aufruf
- Leitungen 44 oder 46 gegeben wird und die beiden Leitungen N und N" ein logisches "0" - Signal führen, sprechen das NAND - Tor
und die Torschaltung 48 an und erzeugen ein Steuersignal auf der Externe — Unterbrechungsleitung für die Einheit 24. Der C'peratorzühler
24 antwortet auf ein solches Eingangssignal folgendermaßen: Ein
Stapel - Markierungswort wird gebildet und in den St.apel eingefügt.
Ein indirektes Bezugswort wird gebildet, das Adressierungsinformation für das Auffinden eines Pragrammsteuerwortes liefert, das seinerseits
Adressierungsinfcrmation für die Verkettung mit einer für ein gespeichertes
Ausführungsprogramm reservierten Speicherstelle liefert. Von dieser Stelle aus kann eine Kette zu einer Unterbrechungsbearbeitungs .—
Routine hergestellt werden. Diese Routine steuert nach Programm die Folge der Arbeitsschritte des Prozessors, während sie die Überwachungs—
aufgäbe der Unterbrechungsbearbeitung ausführt. Der Inhalt aller einschlägigen
Register im Prozessor, welche für das laufende Unterprogramm relevante Daten enthalten, wird in den Stapel abgeschoben. Tine Reihe
109843/ 1605
von Wörtern werden in den 3tapel gegeben, ,-jer reievante Information
bezüglich der Art der vorlieaenden Unterbrechunqsbedingungen liefert.
Schließlich erzeugt die Einheit 24 Steuersignale zur Bildung eines
ENTER - Operators und dessen Plazierung im Stapel. Wenn der FN1TER Operator
ausgeführt wird, veranlaßt er den Unterprogrammeintritt in
das Ausführungsprogramm. Nachdem die Unterbrechungsbedingung verarbeitet worden ist, wird eine typische Unterprogramm - Rückkehr - Verkettung
(subroutine return linkage) mit Hilfe der in einem Rückkehrwart enthaltenen
Information bewirkt. Falls aus iruendeinem Grund ein Besetztzustand
existiert (ein logischer "0" - Zustand des NCF - Flioflop)
bei Empfang eines Externe - Unterbrechungssignales , blockiert die Unterbrechungblockierschaltung 48 das Siqnal und hindert den Operatorzähler
24 an der Bearbeitung der externen Unterbrechungsbedingunq.
Mithin kann ein Datenprozessor mit programmgesteuertem Unterbrechungs—
bearbeiter zeitlich nur jeweils eine externe Unterbrechung in einem Prozessor bearbeiten.
Fig. 3 zeigt Schaltungseinzelheiten der Übertragerschaltungen und
ihren Anschluß an ein Zweiprozessorsystem, und zwar an den linken Prozessor 7A und den rechten Prozessor 7B. Im linken Prozessor 7A befinden sich die Links - Rechts — Übertragerschaltung LTR - 31 , der Unterbrechungsbearbeiter
6A1 die Rechts - Links - Übertragerschaltung
RTL — 32 und die Signalgeber 53 und 54. Im rechten Prozessor 7R sind die Links - Rechts - Übertragerschaltung LTR -' 33, der Unterbrechungsbearbeiter 6B, die Rechts - Links - Übertragerschaltung RTL - 34 und
die Signalgeber 55 und 56 untergebracht.
Die Übertragerschaltungen bewirken eine dynamische Zuweisung von
Unterbrechungsbearbeitern zur Aufgabe, eine Klasse von externen Unterbrechungsbedingungen
zu verarbeiten. Die Übertragerschaltungen erfüllen diese Funktion durch Ansprechen auf von MPX - 54 und MPX - 50 ausqesandten
Oedienungs - Signalen (attention needed signals). Ein Anfangs—
Vorrang ist so eingerichtet, da! der Unterbrechunqsbtiarbeiter SA'den
109R43/1605
- to
höchsten Vorrang für die Verarbeitung von zu MPX - 5A in leziehunu
stehenden Unterbrechungsbedingungen und der Unterbrechunqsbearbeiter
68 den höchsten Vorrang für die Verarbeitung von zu MPX - 5B in Beziehung
stehenden Unterbrechungsbedingungen erhält, Falls der Unter—
brechungsbearbeiter 6A augenblicklich nicht verfügbar ist, wenn MPX - A ein Bedienungssignal schickt, bewirken LTR - 31 und LTR - 33
eine dynamische Zuweisung des Unterbrechunqsbearbeiters 6B zur Aufgabe,
die zu MPX - 5A in Beziehunq stehende Unterbrechunrjsbedingung zu verarbeiten.
Falls der Unterbrechungsbearbeiter 6B augenblicklich nicht verfügbar ist, wenn MPX - 5B ein Bedienungssignal schickt, bewirken
RTL - 34 und RTL - 32 eine dynamische Zuweisung des LJnterbrechungsbearbeiters
6A zur Aufgabe, die zu MPX - 5B in Beziehung stehende Unterbrechungsbedingung
zu verarbeiten.
Jede Übertragerschaltung besitzt sechs Anschlüsse, die durch das Oezugszeichen
der Übertragerschaltung mit nachgestellter Bindestrich Ziffer bezeichnet werden. So sind z.B. die sechs Anschlüsse von
LTR - 31 mit 31-1 bis 31-6 bezeichnet. Vier der sechs Anschlüsse (-1 bis -4) jeder Übertragerachaltung sind Eingangsanschlüsse, und
die restlichen beiden Anschlüsse {-5 und -6) jeder i'bertragerschaltung
sind Ausgangsanschlüsse.
Die Anschlüsse 31-4 und 32-4 sind an die "Prozessor 7A - besetzt" - Leitung (processor unavailable line) 52 angeschlossen, die ein von
einem Tor in Prozessor 7A (wie etwa das ODER - Tor 51 in Pig. 2) erzeugtes
Signal führt. Zu Erläuterungszwecken wird dies Signal als TEA (transfar enable A) bezeichnet. Die Anschlüsse 33 - 4 und 34-4
sind an die "Prozessor 7B besetzt" - Leitung 52 anneschlossen, die ein
von einem entsprechenden ODER - Tor 51 im Prozessor 73 erzeugtes Signal
führt. Zu Erläuterungszwecken wird dies Sianal als TEB (transfer enable B) bezeichnet.
Die Anschlüsse 31-3 und 33 - 3 liegen am Multiplexer MPXA - 5A (Fig. l), der ein Bedienungssignal (attention - riFjeded signal) erzeugt.
A 1/1605
Dieses Signal wird mit ANA (attention - needed A) bezeichnet. Die Anschlüsse 32-3 und 34-3 sind an den Multiplexer MPXB - 5B (Fia. l)
angeschlossen, der ein Bedienungssignal ANB erzeuqt.
Der Anschluß 31-1 ist über eine nicht gezeigte Leitung direkt mit
dem Anschluß 33-5 verbunden. Das von dieser Leitung geführte Siunal
sei TSO - 3 (transfer signal output von LTR - 33). Anschluß 31 - 5
ist über eine Leitung mit Anschluß 33-1 verbunden. Das von dieser Leitung geführte Siqnal sei mit TSO - 1 bezeichnet. Der Anschluß 32-5
ist über eine nicht eingezeichnete, ein Signal TSO - 2 führende Leitung
direkt mit Anschluß 34-1 verbunden. Der Anschluß 34-5 ist mit dem Anschluß 32—1 über eine l.eitunu verbunden, die das Signal TSD - 4
führt.
Die Anschlüsse 31-6 und 32-6 sind über die Leitungen 44bzw. 46 (sh. auch Fig 2} direkt mit dem Unterbrechungsbearbeiter 6A verbunden.
Die auf diesen Leitunaen geführten Signale sind Unterbrechungsaufrufsignale,
die als IH-I bzw. IR - 2 bezeichnet seien. Im Unterhrechungsbearbeiter
6A sind Tore (beispielsweise die Tore 48a und 48b aus Fig. 2)
mit den entsprechenden Leitungen 44 und 46 verbunden. Diese Tore werden
durch die Unterbrechungsaufrufsignale teilweise freigegeben. Wenn
eins dieser Tore durch'das gleichzeitige Auftreten eines L'nterbrechungsaufrufsignals
und einer Anzeige, daß der Prozessor für Unterbrechungsbearbeitung verfügbar ist, vollständig freigegeben wird, führt das Tor
dem Operatorzähler 24 ein Externes - Unterbrechungssignal zu.
Die Anschlüsse 33-6 und 34-6 sind auf ähnliche Weise an entsprechende
Tore im Unterbrechungsbearbeiter 6B angeschlossen.
Die Anschlüsse 31 - 2, 32-2, 33-2 und 34 - 2sind jeweils mit den Signalgebern 53, 54, 55 und 56 verbunden. Jeder dieser vier Signalgeber
erzeugt eins von zwei logischen Signalen, die mit P-I, P - 2,
P - 3 und P — 4 bezeichnet seien. Die Signalgeber können Tore, Flipflops o.a. sein. Die auf die entsprechenden Übertraaerschaltungen gekoppelten
cc
logischen Signale bestimmen die Anfangsprioritäten der Zuweisung von
Unterbrechungsbearbeitern auf noch zu beschreibende .Weise. Die Anschlüsse
31-2 und 34-2 sind an die Signalgeber 53 bzw. 56 angeschlossen, von denen jeder eine logische "1" erzeugt, und die Anschlüsse
32-2 und 33-2 sind mit den Signalgebern 54 bzw. 55 verbunden, von
denen jeder eine logische "0" erzeugt.
Die schaltungsmäßige Auslegung aller vier Übertragerscha]tungen ist
ähnlich. Die Schaltung von LTR - 31 wirr< deshalb hier exemplarisch
beschrieben. Ein ODER - Tor 37 besitzt einen mit dem Anschluß 31-1
verbundenen Eingang und empfängt von dort das TSO - 3 Signal, sowie
einen anderen mit dem Anschluß 31-2 verbundenen Eingang, der das P-I Signal aufnimmt. Das UND - Tor 38 besitzt einen mit dem Ausgang
des ODER - Tores 37 verbundenen Eingang und einen anderen mit dem Anschluß 31-4 gekoppelten Eingang , der von dort das TEA Signal empfängt,
sowie einen mit dem Anschluß 31-5 verbundenen Ausgang, der das TSO Signal dorthin liefert. Immer wenn TEA eine logische "1" und entweder
TSO - 3 oder P-I eine logische "1" darstellen, wird daher das Ausgangssignal
TSO - 1 des UND - Tores 3Θ eine logische "1". Das UNO - Tor
39 besitzt einen mit dem Ausgang des ODER - Tores 37 verbundenen Eingang
und einen anderen mit dem Anschluß 31-3 für den Empfang des ANA Signals verbundenen Eingang sowie einen mit dem Anschluß 31-6
verbundenen Ausgang, der dorthin das IR-I Signal liefert. Immer wenn
ANA eine logische "1" und entweder TSO - 3 oder P-I eine logische
"1" darstellen, wird daher das Ausgangssignal des UND - Tores 39 eine
logische "1".
Folgende Boole'sehe Gleichungen charakterisieren also die von der
Schaltung in LTR - 31 erzeugte Signalsteuerung:
TSO - 1 - TEA · (TSO - 3 + P - 1) und IR - 1 = ANA · (TSO- 3 + P - 1)
vereinfacht TSO - 1 - TEA
und IR - 1 - ANA
und IR - 1 - ANA
109843 /160S
•denn P-I ist immer enne logische "1" wegen der von dem Signalgeber
53 erzeugten loqischen "1".
Durch eine ähnliche Vereinfachung reduzieren sich die Boole1sehen
Gleichungen, welche die von der Schaltung in den anderen Übertragerschaltungen
erzeugte Signalsteuerung charakterisieren, zu den folgenden Gleichungen:
für RTL - 32 :
TSC - 2 » TEA · TSO - 4 und IR- 2 = ANB · TSG - 4· ,
für LTR - 33 :
TSn - 3 = TFB · TSD - 1 und IR - 3 = ANA · TSO - 1,
für RTL - 34 :
TSO - 4 = TEB
und IR - 4 = ANB
und IR - 4 = ANB
Es folqt eine Darstellung der Zusammenarbeit van LTR - 31 und LTR für
eine dynamische Zuweisung der Unterbrechungsbearbeiter für die Aufgabe, die der MPX - 5A zugeordnete· Klasse von Unterbrechungsbedingungen
zu verarbeiten.
Die Signalgeber 55 und 53 sollen für P-I ein logisches "1" und für
P - 3 ein logisches "0" Signal bilden, wodurch der Prozessor 7 A den ersten Vorrang für MPX - 5A erhält. Zunächst seien beide Prozessoren
7A und 7B im Normalzustand und daher für die Bearbeitung einer Unterbrechung verfügbar. In dieser Situation sind die beiden N und N"
Eingänge des ODER - Tores 51 (sh. Fig. 2) bei beiden Prozessoren 7A
und 7B eine logische "0". Daher .sind die beiden Signale TEA und TEB
für die ODER - Tore 51 in den Prozessoren 7A und 7B eine loqische "0".
Somit erzeugen die UND - Tore 38 - 31 und 3B - 33 "0" Signale bei TSO-
und TSO - 3, ohne Rücksicht auf das ANA Signal von MPX - 5A. Das heißt,
wenn beide Prozessoren für Unterbrechunqsbearbeitung zur Verfugung
stehen, werden keine Übertragungssignale zwischen LTR - 31 und LTR - 33 erzeugt. Es werde angenommen, dall MPX - 5A ein "1" ANA Signal
109843/160$
erzeugt, das anzeiqt, daß eine Ein/Ausgabeeinheit Bedienung benötirt.
Das Signal P 1 ist eine logische "1", die anzeiqt, da!· der Prozessor
7A für Unterbrechungen von MPX - 5A Priorität besitzt. Das ODER - Tor 37 - 31 gibt daher ein "1" Signal an das UND - Tor 39-31, des zusammen
mit der Koinzidenz des "1" ANA oianals das Tor 39 - 31 veranlaßt,
ein "1" IR-I Signal auf die Leitung zu geben. Her Prozessor 7B hat jedoch nicht den ersten Vorrang für MPX - 5A, da ja das Signal
P - 3 eine logische "0" darstellt und das ODER - Tor 37 - 33 veranlaßt,
ein "0" Signal an das UND - Tor 39 - 33 zu legen. Als Ergebnis gibt das Tor 39 - 33 ein "0" Signal. Das "1" IR-I Signal stellt für den L!nterbrechungsbearbeiter
6A ein IR-I Unterbrechungsaufrufsignal dar,
jedoch stellt das eine logi?.che "0" bedeutende IR - 3 Signal für den
Unterbrechungsbearbeiter 6B kenn Unterbrechungsaufrufsignal dar. Der
Unterbrechungsbearbeiter 6A spricht auf das IR — 1 Unterbrtchungsauf—
rufsignal an und fährt fort, die Unterbrechunysbeding.jng zu verarbeiten.
Daraus ergibt sich, daß eine Anfangspriorität derart entstanden ist, daß der Unterbrechungsbearbeiter 6A für den Prozessor 7A den höchsten
Vorrang zur Bearbeitung der dem MPX - 5A zugeordneten Klasse von Unterbrechungsbedingungen besitzt.
Es werde nun der Fall betrachtet, daß Prozessor 7A sich im Besetztzustand
befindet (TEA ist eine logische "1")» Prozessor 78 im Normalzustand
ist (TEB ist eine logische "0") und MPX - 5f\ eJn "1" ANA
Signal erzeugt, das anzeigt, daß MPX - 5A bedient werden mufl. Das Tor
37 - 31 (wegen des "1" P-I Prioritätssignals) liefert wiederum ein
11I" Signal an UND - Tore 3Θ - 31 und 39 - 31. Die Koinzidenz mit dem
"1" ANA Signal veranlaßt das UND - Tor 39 - 31, ein "1" IR-I Unterbrechungssignal
auf den Unterbrechungsbearbeiter 6A zu geben. Die Koinzidenz mit dem "1" TEA Signal veranlaßt das UND - Tor 3'B - 31,
ein "1" TSO - 1 Unterbrechungssignal dem ODEF - Tor 37 - 33 der
LTR - 33 (Prozessor 7B) zuzuführen. Das ODER - Tor 37 - 33 gibt seinerseits ein "1" Signal auf das Tor 39 - 33, das auf die Koinzidenz
mit dem "1" ANA Signal anspricht und ein "1" IR - 3 Unterbrechungssignal dem Unterbrechungsbearbeiter 6B zuführt.
109843/1605
Die Unterbrechunqsblockierschaltung 48 (sh. Fig. Z] läßt den Unterbrechungsbearbeiter
6A sein IR-I llnterbrechunqsaufrufsignal ignorieren, weil sich der Prozessor 6A im Besetztzustand befindet. Es
spricht jedoch der Unterbrechunqsbearbeiter 6B auf sein IR -3 Unterbrechungsaufrufsignal
an und fährt mit der Verarbeitung der Unterbrechungsbedingung fort. Ersichtlich ist also eine dynamische Zuweisung
des Unterbrechungsbearbeiters 6B zu der Aufgabe erfolrrt, mit MPX - 5A
verknüpfte Unterbrechunqsbedingungen zu bearbeiten, wenn der Prozessor
mit der höheren Priorität für MPX - FA nicht unterbrochen werden kann.
Sollte es wünschenswert sein, dem Prozessor 7B den höchsten Vorrang
für MPX - ^A und dem Prozessor 7A einen niedrigeren Vorrang zu geben,
dann kennten die Signalgeber f'5 und 53 so zurückgesetzt werden, daß
die Signale P - 3 und P-I logische "1" und "0" Signale sind. Unter
diesen Umstanden werde angenommen, da!' Prozessor 7B sich im Normalzustand
befindet (TEB ist 1T") und daß MPX - 5A ein "1" ANA Unterbrechuncrssignal
bildet. Das 0'..ER - Tor 37 - 33 spricht an, inderr es ein "1"
Siqnal zu den Toren 30 - 33 und 39 - 33 schickt, und dit Koinzidenz
mit dem "1" ANA Signal veranlaßt das Tor 39 - 33, der Mrrl.erbrechunqsbearbeiter
6B ein "1" Unterbrechunqssicnal IR - 3 zuzuführen. Da der Unterbrechunqsbearbeiter fB sich im Normalzustand befindet, bearbeitet
er die Unterbrechung. Das Tor 36 - 33 empfänqt jedoch ein "0" TEB Signal an seinem zweiten Eingang und IaPt daher kein Unterbrechunqssignal
zu dem Prozessor 7A qelangen.
Es werde nunmehr angenommen, dal? der Prozessor 7B den höchsten Vorrang
besitzt (P - 3 ist eine "1" und P-I ist eine "0" ) und MPX - EA ein
"1" AN1A Unterbrechungssignal bildet, aber diesmal sei Prozessor 73
im Besetztzustand (TEB ist eine "1") und kenne daher die Unterbrechung
nicht ausführen. Das IR - 3 Siqnal ist dasselbe, aber das Tor 3Θ - 33
spricht auf die Koinzidenz des "1" Signals von 37 - 33 mit dem "1"
TEB Signal an und bildet ein "1" TSO - 3 Signal. Das Tor 37 - 31 spricht an und gibt ein "1" Signal zu Tor 39 - 31, das in Koinzidenz
1098Λ3/1605
das "1" ANA Signal empfängt. Das Tor 39 - 31 spricht auf die Koinzidenz
dieser Signale mit der Weitergabe eines "1" IR-I Unterbrechungssignals
an den Unterbrechungsbearbeiter 6A an. Als Ergebnis führt der Unterbrechungsbearbeiter 6A des Prozessors 7A die Unterbrechung aus,
die durch Prozessor 7B nicht bearbeitet werden konnte.
Der Arbeitsablauf von RTL - 32 und RTL - 34 ist im wesentlichen derselbe
wie der von LTR - 31 und LTR - 33. Der Hauptunterschied der Arbeitsweise
liegt darin, daß wegen der Übertragerschaltungskapplung dem Prozessor 7B ein höherer Anfangsvorrang als dem Prozessor 7A für
die Bearbeitung von MPX - 5B zugeordneten externen Unterbrechungen zugewiesen ist.
Selbstverständlich ist die Erfindung nicht auf ein Zweiprozessorsystem
beschränkt. Es werde z.B. eine Ausführungsform der vorliegenden Erfindung
betrachtet, die drei Prozessoren besitzt, von denen jeder externe Unterbrechungen ausführen kann, die MPX - 5A und MPX - 5B zugeordnet
sind. Jeder Prozessor (bezeichnet als 7X, 7Y und 7Z)besitzt seine,
eigene Links - Rechts - Übertragerschaltung, Unterbrechungsbearbeiter, "Prozessor - nicht - verfügbar" - Leitung und Vorrangssignalgeber, die
logische, die Anfangsvorränge für die Zuweisung bestimmende Pegel erzeugen.
Die Links - Rechts - Übertragerschaltung in jedem Prozessor empfangt als Eingänge ein Übertragungssignal von einer anderen Links —
Rechts - Lbertragerschaltung, ein Übertragungs — Freigabe - Signal
von der Prozessor - nicht - verfügbar - Leitung in diesem Prozessor, ein Bedienungssignal aus MPX - 5A und ein Vorrangsignal; als Ausgänge
gibt die Übertragerschaltung ein Übertragungssignal auf eine andere Links — Rechts - Übertragerschaltung und ein Unterbrechungsaufrufsignal
auf den Unterbrechungsbearbeiter in diesem Prozessor. Die Rechts Links - Übertragerschaltung in jedem Prozessor empfängt als Eingänge
ein Übertragungssignal von einer anderen Rechts - Links - Übertragerschaltung, ein L'bertragungsfreigabesignal von der Prozessor - besetzt —
Leitung in diesem Prozessor, ein Bedienungssignal von MPX - 5B und ein Vorrangsignal; als Ausgänge gibt die Übertragerschaltung ein
109843/160$
-29- 211372S
Übertragungssignal an eine andere Rechts - Links - Übertragerschaltung
und ein Unterbrechungsaufrufsignal an den Unterbrechungsbearbeiter in diesem Prozessor.
Zur Verarbeitung externer Unterbrechungsbedingungen, die MPX - 5A
zugeordnet sind, wird Prozessor 7X der höchste Anfangsvorrang, Prozessor 7A der nächst niedrigere Anfangsvorrang und Prozessor 7Z der
niedrigste Anfangsvorrang zugewiesen. Dieses Vorrangschema wird erreicht,
indem ein logisches "1" Varrangsignal an die Links - Rechts Übertragerschaltung in Prozessor 7 X und ein logisches "0" Vorrangsignal
an jede andere Links - Rechts - Übertragerschaltung gegeben wird. Wegen des logischen "1" Vorrangsignals, das ständig angelegt
wird, ist die Links - Rechts - iibertragerscbaltung in Prozessor 7X
immer teilweise freigegeben und wird sofort nach Empfang eines Bedie—
nungssignals von MPX - 5A dem Unterbrechungsbearbeiterin Prozessor 7X
ein Unterbrechungsaufrufsignal zuführen. Dagegen ist wegen des ständig angelegten logischen "0" Signals die Links - Rechts - Übertragerschaltungin
Prozessor 7Y nicht teilweise freigegeben und wird daher nicht sofort nach dem bloflen Empfang eines Bedienungssignals von MPX - 5A
ein Unterbrechungsaufrufsignal liefern. Wenn jedoch der Prozessor
7X nicht verfügbar ist, liefert seine Links - Rechts - Übertragerschaltung ein Übertragungssignal, das die Links— Rechts - Übertragerschaltung
im Prozessor 7Y freigibt für die Weiterleitung eines Uncerbrechungsaufrufsignals
zu dem Unterbrechunqsbearbeiter in Prozessor 7Y. Ähnlich ist, wegen des ständig angelegten logischen "0" Signals
die Links - Rechts - Übertragerschaltung in Prozessor 7Z nicht teilweise freigegeben und wird daher nicht sofort nach dem bloßen Empfang
eines Bedienungssignals von MPX - 5A ein Unterbrechungssignal weiterleiten. Sind jedoch die beiden Prozessoren 7X und 7Y nicht verfügbar,
so wird die Links - Rechts - Übertragerschaltung in Prozessor 7Z ein Übertragungssignal empfangen, das sie für die Weiterleitung eines Unterbrechungsaufrufsignals
zu dem Unterbrechungsbearbeiter in Prozessor 7Z freigibt.
Für die Ausführung von MPX - 5B zugeordneten externen Unterbrechungen
ist dem Prozessor 7Z der höchste Anfangsvorrang, Prozessor 7 Y der
109843/1605
nächst niedrigere Anfangsvorrang und Prozessor 7X der niedrigste Vorrang zugewiesen. Dieses Vorrangschema wird hergestellt, indem ein
logisches "1" Vorrangsignal an die Rechts— Links — Übertragerschaltung
in Prozessor 7Z und ein logisches "0" Vorrangsignal an jede andere
Rechts - Links - Übertragerschaltung gegeben wird.
Die erfindungsgemäße Datenverarbeitungsanlage weist also mehrere Prozessoren auf, von denen jeder einen Unterbrechungsbearbeiter aufweist,
der die Ausführung von Objektprogrammen unterbricht und die Bearbeitung
von Unterbrechungsbedingungen steuert. Eine Vorrichtung verteilt die Bearbeitungslast eines Klasse von externen Unterbrechungen unter den
Prozessoren auf einer dynamischen Vorrann - Basis (Prioritätsbasis). Wenn beispielsweise der Prozessor mit größtem Vorrang für die 3earbei- ·
tung einer mit einer bestimmten Ein/Ausgabe — Einheit in Beziehung stehenden Unterbrechung beschäftigt ist mit der Bearbeitung eines
nicht unterbrechbaren Unterprogramms oder anderweitig nicht verfügbar ist, wenn die Ein/Ausgabe - Einheit eine Bedienung verlangt, gibt die
Vorrichtung ein Unterbrechungs — Übertragungssignal auf den Prozessor
mit dem nächst niedrigeren Vorrang und ermöglicht damit, daß der Unterbrechungsbearbeiter
in jenem Prozessor die Ein/Ausgabe — Einheit bedient. Jeder Prozessor in der Anlage kann eine Schaltung zur Erzeugung
von Übertragungssignalen umfassen, die einen beliebigen Prozessor zur Bedienung jeder Ein/Ausgabe - Einheit freigeben.
109843/160S
Claims (14)
- Patentansprüche~lJ Programmierbare Datenverarbeitungsanlage mit mindestens ersten und zweiten Einrichtungen, von denen jede zu verarbeitende Unterbre— chungsbedingungen aufruft, gekennzeichnet durch mindestens zwei Unterbrechungsbearbeiter (6A, 6B), von denen der eine primär der ersten und der andere primär der zweiten Einrichtung (MXP5A, MXP5B) zugeordnet ist und die unterbrechbare sowie nicht unterbrechbare Arbeits— zustände aufweisen, in denen sie eine von der zugeordneten Einrichtung aufgerufene Unterbrechung verarbeiten bzw. nicht verarbeiten können; sowie durch Übertrager (LTR31, 33j RTL34, 32) für die Weitergabe eines Unterbrechungsaufrufs aus der ersten oder zweiten Einrichtung auf einen jeweils nicht zugeordneten Unterbrechungsbearbeiter bei in einem nicht unterbrechbaren Arbeitszustand befindlichem zugeordneten Unterbrechu ngsbearbei ter.
- 2. Datenverarbeitungsanlage nach Anspruch 1 gekennzeichnet durch Vorrang - Zuweise — Einrichtungen (53...56} zur Zuweisung des Vorranges (Priorität), nach welcher jeder Unterbrechungsbearbeiter eine Unterbrechung bearbeiten soll, und durch Signalgeber (IR - 1; IR- 3j 48) zur Abgabe eines eine Unterbrechung bewirkenden Signals an den ersten Unterbreohungsbearbeiter, sowie durch Übertrager (LTR31, 33; RTL34, 32), die auf die Koinzidenz eines nicht unterbrechbaren Arbeitszustandes des mit größtem Vorrang versehenen Ünterbrechungsbearbeiters mit einem Unterbrechung fordernden Signal ansprechen und ein Unterbrechungssignal auf den anderen Unterbrechungsbearteiter geben.
- 3. Datenverarbeitungsanlage nach Anspruch 1 oder 2 mit mindestens einer Ein/Ausgabe - Einheit, dadurch gekennzeichnet, dai: jeder Unterbrechungsbearbeiter (6A, 6B) den Datenverkehr mit der Ein/Ausgabe Einheit (IA, lB)prüft; daR erste Signalgeber (MXP5A, MXP5B) ein erstes Signal abqeben, wenn die Ein/Ausgabe - Einheit einen vorbestimmten Arbeitszustand eingenommen hat, das die Bedienung durch einen Unter-1098A3/1605brechungsbearbeiter zur Prüfung des Datenverkehrs mit der Ein/Ausgabe Einheit fordert; daß eine Einrichtung (48,...) auf das erste Signal anspricht und den Unterbrechungsbearbeiter zur Ausführung der Prüfung veranlaßt, wenn der Unterbrechungsbearbeiter verfügbar ist; daß ein zweiter Signalgeber (51, 9B, 99,...) bei nicht verfügbarem Unterbrechungsbearbeiter ein zweites Signal abgibt; und daß die Übertrager auf das erste und zweite Signal ansprechen und an den zweiten Unterbrechungsbearbeiter ein dessen Prüfung des Datenverkehrs mit der Ein/Ausgabe - Einheit veranlassendes drittes Signal abgeben.
- 4. Datenverarbeitungsanlage nach einem der vorstehenden Ansprüche r mit mehreren Prozessoren, gekennzeichnet durch einen Speicher (12) zum Speichern von Operatorwörtern eines Objektprogramms und eines Überwachungsprogramms; durch erste und zweite Gruppen von Ein/Ausgabe - * Einheiten zur Übertragung digitaler Daten in und aus der Datenverarbeitungsanlage, wobei jede Ein/Ausgabe - Einheit Einrichtungen zur Erzeugung von Signalen aufweist, die anzeigen, daß die Ein/Ausgabe Einheit einen solchen vorbestimmten Arbeitszustand eingenommen hat, der von einem Prozessor die Unterbrechung seiner Ausführung eines Objektprogrammes und die Ausführung einer Uberwachungsaufgabe verlangen; durch erste und zweite Prozessoren (7A, 7B) von denen jeder eine Einrichtung zur Ausführung von Operatorwörtern eines die Überwachungsaufgabe betreffenden Überwachungsprogramms, sowie zweite Einrichtungen k zur Anzeige der Zeitspanne, während der der Prozessor zur Ausführung einer Überwachungsaufgabe zur Verfügung steht, und dritte Einrichtungen aufweist, die auf die zweiten Einrichtungen ansprechen und an den anderen Prozessor Übertragungssignale weitergeben, die die Übertragung von Überwachungsaufgaben an diesen ermöglichen, sowie durch eine Schaltung für die Inbetriebsetzung der ersten Einrichtungen in jedem Prozessor, wenn die zweiten Einrichtungen die Verfügbarkeit des Prozessors anzeigen, wobei die Schaltung auf ein Signal aus einem der Signalgeber aus einer anderen Gruppe von Ein/Ausgabe ~ Einheiten sowie auf die Koinzidenz eines Signales aus dem Signalgeber der anderen Gruppe von Ein/Ausgabe - Einheiten mit einem auf den anderen Prozessor1 0 9 8 A 3 / 1 R 0 5gegebenen Übertragungssignal anspricht.
- 5. Datenverarbeitungsanlage nach einem der vorstehenden Ansprüche, gekennzeichnet durch einen Speicher (12) zum Speichern von Proqrammen und Datenwörtern; durch erste und zweite Prozessoren (7A, 7B) zur Ausführung der Arbeitsschritte von arithmetischen und logischen Operationen für digitale Daten, wobei die Prozessoren auf Steuersiqnale (lOO) ansprechende üatenbearbeitungseinrichtungen, ein auf aus dem Speicher geholte Programmwnrter ansprechendes Leitwerk (lO, 24,...), das die Steuersignale zur sequentiellen Ausführung der Programmbe— fehle für die Datenbearbeitungseinrichtungen erzeugt, einen auf ein UnterbrechungsBufrufsignal ansprechenden Unterbrechungsbearbeiter, dessen Steuersignale die Datenbearbeitungseinrichtungen zur Ausführungs— unterbrechung der Programmbefehle veranlassen, und der bei seiner Arbeit auf Unterbrechungen nicht anspricht und mit den Datenbearbeitungseinrichtungen zur Ausführung von Überwachunqsaufgaben zusammen arbeitet, sowie eine Anzeigeeinrichtung dafür aufweisen, daß der Unterbrechung sbearbeiter arbeitet ι durch mindestens eine Ein/Ausgabe Einheit zur Übertragung digitaler Wörter in und aus der Anlage; durch Signalgeber deren Signale anzeigen, daß die Ein/Ausgabe - Einheit einen vorbestimmten Arbeitszustand eingenommen Hat, der einen Prozessor zur Ausführung einer Überwachungsaufgabe erfordert; sowie durch Torschaltungen, die die Prozessoren dazu veranlassen, sich in die Ausführung der von der Ein/Ausgabe - Einheit geforderten Überwachungsaufgaben zu teilen, wobei die Torschaltungen auf die Signalgeber ansprechen und ein erstes Llnterbrechunosauf ruf signal erzeugen, das erste Unterbrechunqsaufrufsignal auf den Unterbrechungsbearbeiter im ersten Prozessor geben, auf eine Anzeige, wonach der Unterbrechungs— bearbeiter im ersten Prozessor gerade arbeitet, ansprechen und ein Übertragungssignal erzeugen, auf das Übertragunqssiqnal ansprechen und ein zweite* Unterbrechunqsaufrufsignal erzeuqen und das zweite Unterbrechungsaufrufsignal auf den Unterbrechunusbearbeiter im zweiten Prozessor geben.109843/1605
- 6. Datenverarbeitungsanlage nach einem der vorstehenden Ansprüche, gekennzeichnet durch eine automatische Unterbrechungsbearbeitungsvorrichtung für mehrere Prozessoren, die mehrere Bedienungs — Signalgeber, deren Signale das Vorliegen einer zu bearbeitenden externen l'nterbrechungsaufgäbe anzeigen, mehrere? Unterbrechungsbearbeiter zur Verarbeitung der Unterbrechungsaufgaben, wobei jeder Unterbrechungsbe— arbeiter Einrichtuncen (C<1, 5Π, 48,...) aufweist, die ihn »eblweise freigeben oder sperren hinsichtlich seines Ansprechens auf die Bedienungssignale, Signalgeber für jeden Unterbrechungsbearbeiter, deren Signale anzeigen, ob ihr zugehöriger Unterbrechungsbearbeiter zur Verarbeitung einer f'nterbrechungsaufgabe rjerade zur Verfügung steht, sowie eine dynamisch arbeitende Verteilereinrichtung für externe Unter— brechuncjsaufgaben unter den Unterbrechungsbearbeitern auf einer Vorrangbasis aufwaist, wooei die Verteilereinrichtung auf jedes Bedienungssignal anspricht und ein L'nterbrechungsauf ruf signal an den mit dem größten Vorrang ausnestatteten Unterbrechungsbearbeiter zur Bearbeitung der dem Bedienunnssignal zugeordneten Unterbrechungsaufgabe abgibt und eine Torschaltung umfaßt, die ein Unterbrechungsaufrufsignal auf den Unterbrechungsbearbeiter mit dem nächst niedrigeren Vorrang gibt, falls das Bedienungssignal aleichzeitig in einer Anzeiae auftritt, daß der Unterbrechungsbearbsiter mit dem größten Vorrang zur Bearbeitung der Unterbrechungsaufgabe nicht zur Verfügung steht.
- 7. Datenverarbeituncrsanlage nach einem der vorstehenden Ansorüche dadurch gekennzeichnet, daß die Prozessoren durch aus dem Speicher (~2) holbare Objektprogramme und durch ein Ausführuncjsprogramm ge-ε -duert werden, und daß jeder Unterbrechungsbearbeiter ein auf das Ausführungsprooramm ansprechendes, steuerbares Leitwerk (Operatorsteuerung 10) aufweist.
- 8. Datenverarbeitungsanlage nach einem der vorstehenden Ansprüche dadurch gekennzeichnet, daß die zweiten Signalgeber eine Zustandssteuer-8 4 3/1-as-einrichtung (53...56) aufweisen, deren einer Zustand anzeigt, daß der erste Unterbrechungsbearbeiter nicht zur Verfugung steht.
- 9. Datenverarbeitungsanlage nach einem der vorstehenden Ansprüche dadurch gekennzeichnet, daß die Prozessoren sich in dem Speicher teilen und daß der Speicher ein Überwachungsprogramm enthält, und daß jeder Unterbrechungsbearbeiter ein Leitwerk (Operatorsteuerung 10) aufweist, das zur Verarbeitung einer Unterbrechungsaufgabe von dem Überwachungsprogramm gesteuert wird.
- 1Π. Datenverarbeitungsanlage nach einem der vorstehenden Ansprüche dadurch gekennzeichnet, daß mindestens einer der Signalgeber für die Bedienuncjssignale eine Siqnal erzeugende Einrichtung aufweist, die auf · den Betriebszustand der Ein/Ausgabe - Einheit anspricht und ein Bedienuncjssicnal auf die dvnamisch arbeitende Verteilereinrichtung für die externen Unterbrechunasaufgaben weitergibt.
- 11. Datenverarbeitungsanlage nach einem der vorstehenden Ansprüche dadurch gekennzeichnet, daß die Übertrager erste und zweite Tore (38, 39) aufweisen, wobei das erste Tor den Aufruf wahlweise auf den zweiten Unterbrechungsbearbeiter und das zweite Tor den Aufruf wahlweise auf den ersten Unterbrechungsbearbeiter gibt.
- 12. Datenverarbeitungsanlage nach einem der vorstehenden Ansprüche dadurch gekennzeichnet, da!' der erste und zweite Unterbrechungsbearbeiter der einen oder anderen Einrichtung (MXP5Aj MXP5B) zugeordnet ist und eine Anzeige (53...56) besitzt, die die primäre Zuordnung des Unterbrechunqsbearbeiters zur ersten oder zweiten Einrichtung anzeigt.
- 13. Datenverarbeitungsanlage nach einerr der vorstehenden Ansprüche dadurch gekennzeichnet, dai: die Anzeiqe ein zweites Signal abgibt, das die umgekehrte Zuordnung des ersten und zweiten Unterbrechungs—10984 3/1605bearbeiters zur ersten und zweiten Einrichtung anzeigt; und daß die Übertrager auf das erste Signal ansprechende erste Tor Schaltungen, die ein Unterbrechungsaufrufsignal van der ersten Einrichtung zum zweiten Unterbrechungsbearbeiter geben, und auf das zweite Signal ansprechende zweite Torschaltungen umfassen, die ein Unterbrechungs— aufrufsignal von der zweiten Einrichtung zum ersten Unterbrechungsbe— arbeiter übertragen.
- 14. Datenverarbeitungsanlage nach einem der vorhergehenden Ansprüche dadurch gekennzeichnet, daß jeder Unterbrechungsbearbeiter bei einem nicht unterbrechbaren Arbeitszustand ein vorbestimmtes Signal erzeugt, und daß die ersten und zweiten Torschaltungen auf dieses vorbestimmte Signal aus einem bestimmten Unterbrechungsbearbeiter ansprechen, und wobei dies vorbestimmte Signal der betreffenden Einrichtung anzeigt, daB sie zur Übertragung eines Unterbrechungsaufrufsignals dem anderen Unterbrechungsbearbeiter zugeordnet ist.109843M605
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US2694470A | 1970-04-09 | 1970-04-09 | |
US2694470 | 1970-04-09 |
Publications (3)
Publication Number | Publication Date |
---|---|
DE2113725A1 true DE2113725A1 (de) | 1971-10-21 |
DE2113725B2 DE2113725B2 (de) | 1973-10-04 |
DE2113725C3 DE2113725C3 (de) | 1976-07-29 |
Family
ID=
Also Published As
Publication number | Publication date |
---|---|
DE2113725B2 (de) | 1973-10-04 |
US3665404A (en) | 1972-05-23 |
FR2085966A1 (de) | 1971-12-31 |
GB1352577A (en) | 1974-05-08 |
CA951829A (en) | 1974-07-23 |
FR2085966B1 (de) | 1975-08-01 |
JPS5537032B2 (de) | 1980-09-25 |
BE764964A (fr) | 1971-08-16 |
JPS5535743B1 (de) | 1980-09-16 |
JPS53149737A (en) | 1978-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE1524101C3 (de) | Mehrfach rechnende Datenverarbeitungsanlage | |
DE2243956A1 (de) | Speicherprogrammierte datenverarbeitungsanlage | |
DE4016667C2 (de) | Nachrichtenübertragungsverfahren in einem Multiprozessorsystem mit einer Vielzahl von Untersystemen und ein zugehöriges Multiprozessorsystem | |
CH656728A5 (de) | Schnittstellenschaltungsanordnung zur verbindung eines prozessors mit einem nachrichtenkanal. | |
EP0006164B1 (de) | Multiprozessorsystem mit gemeinsam benutzbaren Speichern | |
DE2045052A1 (de) | System zum Identifizieren von Mehraufgabensituationen und zum Steuern der Durchführung dieser Aufgaben | |
DE2912738A1 (de) | System mit direkter uebertragung zwischen subsystemen | |
CH634936A5 (de) | Anordnung zur behandlung von aufgaben in einem datenverarbeitungssystem. | |
DE1524102B2 (de) | Elektronische, aus baueinheiten aufgebaute datenverarbeitungsmaschine | |
DE1929010B2 (de) | Modular aufgebaute datenverarbeitungsanlage | |
DE3642324A1 (de) | Multiprozessoranlage mit prozessor-zugriffssteuerung | |
DE4220698A1 (de) | System zur dynamischen verknuepfung modularer abschnitte von computersoftware | |
DE1549437A1 (de) | Datenverarbeitendes System aus mehreren miteinander verbundenen Datenverarbeitungsanlagen | |
DE2758023B2 (de) | Anschlußschaltung für eine Eingabe-/ Ausgabeschnittstelle einer Datenverarbeitungsanlage | |
DE3432524A1 (de) | Mehrfach genutzter datenschreiberregler und verfahren | |
DE3938950C2 (de) | ||
DE2726679A1 (de) | Kanalsteuerung fuer datenverarbeitungsanlagen und verfahren zu ihrem betrieb | |
EP0012281A1 (de) | Verfahren und Schaltungsanordnung zur Vermittlung und Abgabe von Signalen in bzw. von einer speicherprogrammierten Vermittlungsanlage | |
DE2113725A1 (de) | Mehrprozessor-Datenverarbeitungsanlage mit Verteilereinrichtung fuer die Unterbrechungsbearbeitung | |
DE10334626B4 (de) | Informationsverarbeitungsvorrichtung | |
DE2507405A1 (de) | Verfahren und anordnung zum synchronisieren der tasks in peripheriegeraeten in einer datenverarbeitungsanlage | |
DD142135A3 (de) | Mehrrechnerkopplung | |
DE2113725C3 (de) | Schaltung zur Einleitung von Programmunterbrechungen in einer Mehrprozessor-Datenverarbeitungsanlage | |
DE3719711A1 (de) | Steuereinrichtung fuer ein bilderzeugungsgeraet | |
DE2607685B2 (de) | Verfahren zum Betrieb von Prozessoren in einem Multiprozessorsystem |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C3 | Grant after two publication steps (3rd publication) | ||
E77 | Valid patent as to the heymanns-index 1977 | ||
8339 | Ceased/non-payment of the annual fee |