DE2113725A1 - Mehrprozessor-Datenverarbeitungsanlage mit Verteilereinrichtung fuer die Unterbrechungsbearbeitung - Google Patents

Mehrprozessor-Datenverarbeitungsanlage mit Verteilereinrichtung fuer die Unterbrechungsbearbeitung

Info

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
Application number
DE19712113725
Other languages
English (en)
Other versions
DE2113725B2 (de
DE2113725C3 (de
Inventor
Werner John Richard
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.)
Unisys Corp
Original Assignee
Burroughs 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 Burroughs Corp filed Critical Burroughs Corp
Publication of DE2113725A1 publication Critical patent/DE2113725A1/de
Publication of DE2113725B2 publication Critical patent/DE2113725B2/de
Application granted granted Critical
Publication of DE2113725C3 publication Critical patent/DE2113725C3/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • G06F13/26Handling 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
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
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)

  1. 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. 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. 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/1605
    brechungsbearbeiter 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. 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 Prozessor
    1 0 9 8 A 3 / 1 R 0 5
    gegebenen Übertragungssignal anspricht.
  5. 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. 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. 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. 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. 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.
  10. 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. 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. 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. 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/1605
    bearbeiters 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. 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
DE19712113725 1970-04-09 1971-03-22 Schaltung zur Einleitung von Programmunterbrechungen in einer Mehrprozessor-Datenverarbeitungsanlage Expired DE2113725C3 (de)

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