DE1449529C3 - Unterbrechungseinrichtung für ein Datenverarbeitungssystem - Google Patents

Unterbrechungseinrichtung für ein Datenverarbeitungssystem

Info

Publication number
DE1449529C3
DE1449529C3 DE1449529A DEB0074485A DE1449529C3 DE 1449529 C3 DE1449529 C3 DE 1449529C3 DE 1449529 A DE1449529 A DE 1449529A DE B0074485 A DEB0074485 A DE B0074485A DE 1449529 C3 DE1449529 C3 DE 1449529C3
Authority
DE
Germany
Prior art keywords
interrupt
control
register
program
interrupt request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
DE1449529A
Other languages
English (en)
Other versions
DE1449529B2 (de
DE1449529A1 (de
Inventor
Chester Thompson King Of Prussia Blair
Cornelius Churchill Birmingsham Mich. Perkins
Stanley Joseph Norristown Pezely
Joseph Villanova Shifman
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 DE1449529A1 publication Critical patent/DE1449529A1/de
Publication of DE1449529B2 publication Critical patent/DE1449529B2/de
Application granted granted Critical
Publication of DE1449529C3 publication Critical patent/DE1449529C3/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1438Restarting or rejuvenating

Description

Die Erfindung betrifft eine Unterbrechungseinrichtung für ein Datenverarbeitungssystem mit einem Arbeitsspeicher zur Aufnahme von Objektprogrammen und Steuerprogrammen, ferner mit Prozessoren, die beim Ausführen der Objektprogramme in einer Normalbetriebsart und beim Ausführen der Steuerprogramme in einer Steuerbetriebsart arbeiten, ferner mit mindestens einem Eingangs-Ausgangs-Steuergerät, das dem Arbeitsspeicher und dem Prozessoren gemeinsam zugeordnet ist, und mit mehreren Unterbrechungsanforderungssignalgebern, die in der Lage sind, mehrere Unterbrechungsanforderungssignale zu erzeugen, von denen jedes individuell einem bestimmten Ereignis zugeordnet ist.
Die Literaturstelle »Proceedings of the Eastern Computer Conference«, Dezember 1957, 128 bis 132, beschreibt ein programmgesteuertes Programmunterbrechungssystem, das einen integrierten Bestandteil des / , Rechners bilden soll. Das bekannte Unterbrechungssy- \ :; stern ist mithin einem Prozessor fest zugeordnet. Es enthält eine Steuervorrichtung (in Verbindung mit einem Maskenregister), welche den Prozessor nur auf j ausgewählte Unterbrechungsanforderungssignale an- j sprechen läßt. Ferner berücksichtigt es Prioritäten ! zwischen den Unterbrechungsanforderungssignalen. ' Diese bekannte Vorrichtung eignet sich nur für ein Datenverarbeitungssystem mit einem einzigen Prozessor; würde sie bei einem System mit mehreren Prozessoren verwendet, so wurden bei gesetztem Maskenregister alle Prozessoren unterbrochen, obwohl dies z. B. dann gar nicht erforderlich ist, wenn bereits ein einzelner Prozessor die aufgetretene Bedingung, die zur Unterbrechung führte, z. B. einen arithmetischen Überlauf oder das Einleiten einer Eingabe-Ausgabe-Operation, verarbeiten kann.
Ferner ist aus der Literaturstelle »The System Organization of MOBIDIC Β», Proceedings of the Eastern Joint Computer Conference 1959, S. 101 bis 107, ein Datenverarbeitungssystem mit zwei Prozessoren bekannt, die beide einen gemeinsamen Arbeitsspeicher und einen gemeinssamen Taktgeber haben und sich im
Zeitmultiplexverfahren in die Eingabe-Ausgabe-Geräte teilen. Beide Prozessoren sind in diesem bekannten System im Prinzip gleichrangig, und diese Gleichrangigkeit wird dadurch erreicht, daß jedem der beiden Prozessoren abwechselnd während jeweils 2 Mikrosekunden die gemeinsamen Eingangs-Ausgangs-Leitungen ausschließlich zur Verfügung gestellt werden, so daß ein gleichzeitiger Zugriff beider Prozessoren zu einem der Eingabe-Ausgabe-Geräte nicht möglich ist. Ersichtlich ist ein solches Datenverarbeitungssystem nicht flexibel, da es nur die Verwendung von zwei Prozessoren gestattet. Falls man mehr als zwei Prozessoren verwenden will, wird das Zeitmultiplexverfahren sehr kompliziert, und die Wartezeiten für die einzelnen Prozessoren nehmen stark zu, so daß in der Praxis eine obere Schranke für die Zahl der Prozessoren gegeben ist. Diese Schranke liegt ziemlich niedrig, was auch aus einer Diskussion hervorgeht, die auf S. 106 der zitierten Literaturstelle wiedergegeben ist. Außerdem wird bei Ausfall des Zeitmultiplexers die gesamte Datenverarbeitungsanlage außer Betrieb gesetzt.
Ferner kennt man aus der Literaturstelle »Zur Simultanverarbeitung mehrerer Programme«, Elektronische Rechenanlagen, 1961, S. 54 bis 60, verschiedene Überlegungen zur sogenannten Multiprogrammverarbeitung. Die Probleme, die bei Programmunterbrechungen auftreten, sind in dieser Literaturstelle nicht diskutiert.
Es ist deshalb eine Aufgabe der Erfindung, eine Unterbrechungseinrichtung für ein Datenverarbeitungssystem mit mehreren gleichrangigen Prozessoren zu schaffen, das beim Auftreten von Unterbrechungsbedingungen in der Lage ist, die bei diesen Unterbrechungsbedingungen notwendigen Maßnahmen schnell und mit geringem Aufwand an Rechnerzeit zu erledigen.
Erfindungsgemäß wird dies bei einer eingangs genannten Unterbrechungseinrichtung dadurch erreicht, daß alle Unterbrechungsanforderungssignale jedem der im wesentlichen identischen Prozessoren zuführbar sind und daß jeder dieser Prozessoren eine nur auf ausgewählte Unterbrechungsanforderungssignale ansprechende Steuervorrichtung aufweist, die beim Auftreten eines dieser ausgewählten Signale eine Umschaltung dieses Prozessors von der Normalbetriebsart in eine Steuerbetriebsart bewirkt, daß die Steuervorrichtung jeweils ein Maskenregister aufweisen, dessen Stellen sowohl durch den zugehörigen Prozessor als auch durch einen anderen Prozessor individuell setzbar sind, daß die Steuervorrichtungen jeweils eine Prioritätsvorrichtung zum Verarbeiten der Unterbrechungsanforderungssignale in einer vorgegebenen Prioritätsreihenfolge aufweisen und daß jedem Prozessor eine Betriebsartenumschalteinrichtung beigeordnet ist, der eine Sperrvorrichtung zum Sperren der Anerkennung eines der ausgewählten Unterbrechungsanforderungssignale von den übrigen Prozessoren in der Steuerbetriebsart vorgeschaltet ist.
Jeder Prozessor hat also eine eigene Steuervorrichtung, die nur auf ausgewählte Unterbrechungsanforderungssignale anspricht. Hierdurch wird es möglich, bei bestimmten Unterbrechungsbedingungen, z. B. Ausfall der Netzspannung, alle Prozessoren ansprechen zu lassen, bei anderen Unterbrechungsbedingungen dagegen z. B. nur einen Prozessor. Hierdurch ergibt sich eine erhebliche Ersparnis an Rechnerzeit, und das erfindungsgemäße Datenverarbeitungssystem arbeitet deshalb schnell und wirkungsvoll. Außerdem ist ein solches System in einfacher Weise erweiterungsfähig, da ein neu hinzuzufügender Prozessor ebenfalls seine eigene Steuervorrichtung aufweist und deshalb keine Änderungen an einer Zeitmultiplexvorrichtung od. dgl. erforderlich sind. Auch bewirkt der Ausfall eines Prozessors aus einer Anzahl von mehreren Prozessoren nur eine Verlangsamung des Rechenvorgangs, nicht aber einen Ausfall des gesamten Systems.
Die wichtigsten Unterbrechungsanforderungssignale, z. B. Ausfall der Netzspannung, werden immer zuerst
ίο behandelt; außerdem werden rechnerintern ständig wiederkehrende Vorgänge ebenfalls wie Unterbrechungen behandelt, da diese Vorgänge mit einer niedrigeren Priorität versehen werden können. Die Ausführung solcher Vorgänge durch die Unterbrechungseinrichtung ergibt eine sehr gute Ausnutzung derselben und erspart zusätzliche Geräte, die sonst für denselben Zweck vorgesehen werden müßten. Es handelt sich hier also um eine neue Klasse von »Unterbrechungen«, die nicht unter den Begriff eines Fehlers im normalen Betriebsablauf untergeordnet werden können.
Die erfindungsgemäße Unterbrechungseinrichtung dient dazu, die Betriebsart des ihr zugeordneten Prozessors eines mehrere Prozessoren aufweisenden Datenverarbeitungssystems zu steuern. Die Umschaltung der Betriebsart soll abhängig von verschiedenen im Betrieb auftretenden Unterbrechungsanforderungssignalen erfolgen. Alle Unterbrechungsanforderungssignale werden allen Prozessoren des Datenverarbeitungssystems zugeführt, und jeder Prozessor kann an sich bei geeigneter Einstellung auf alle Unterbrechungsanforderungssignale ansprechen. Das Auftreten einer Unterbrechungsanforderung bewirkt, daß einer der Prozessoren des Systems das gerade durchzuführende Objektprogramm verläßt und sich zu einem geeigneten Steuerprogramm verzweigt, wobei er von der Normalbetriebsart in die Steuerbetriebsart umschaltet. Letztere unterscheidet sich von der ersteren dadurch, daß sie das Ansprechen auf einige Unterbrechungsanforderungen mit niederer Priorität blockiert (obwohl diese aufgezeichnet werden) und daß sie die Ausführungen einiger zusätzlicher Befehle ermöglicht, die für die Verwendung durch das Steuerprogramm reserviert sind. Ein Beispiel hierfür ist das Setzen des Unterbrechungsmaskenregisters oder eines Speicherschutzregisters oder die Übertragung eines Eingabe-Ausgabe-Befehls zu einer Eingabe-Ausgabe-Steuervorrichtung.
Beim Ansprechen auf ein Unterbrechungsanforderungssignal überträgt das Steuerprogramm die Steuerung auf das entsprechende Maschinenprogramm, das
so den durch das Unterbrechungsanforderungssignal bezeichneten Zustand behandelt. Wenn der Unterbrechungszustand befriedigt worden ist, wird die Steuerung auf das ursprüngliche Programm zurückgeführt. — Unterbrechungen werden sowohl durch die normalen Arbeitsbedingungen wie auch durch die damit zusammenhängenden Abnormalitäten des Programms oder der gerätemäßigen Ausrüstung verursacht. Die durch die normalen Arbeitsbedingungen verursachten Unterbrechungen umfassen:
1. 16 verschiedene Arten von äußeren Anforderungen,
2. die Beendigung eines Eingabe-Ausgabe-Vorganges eines peripheren Geräts,
3. Grundtakt-Überlauf (real-time clock overflow),
4. Unterbrechungen von Rechner zu Rechner,
5. Eintritt in die Steuerarbeitsart (Unterbrechung der Normalbetriebsart).
Durch Abnormalitäten des Programms oder der Ausrüstung verursachte Unterbrechungen umfassen:
1. Versuch des Programms, über Begrenzungen hinauszuschreiben,
2. arithmetischer Überlauf,
3. unzulässiger Befehl,
4. verwehrter Zugriff zum Speicher oder ein innerer Paritätsfehler. Ein Paritätsfehler bei einem Eingabe-Ausgabe-Vorgang bewirkt die Beendigung dieses Vorgangs unter entsprechender Anzeige an das Steuerprogramm,
5. Netzstörung,
6. Automatisches Wiederingangsetzen nach einer Netzstörung,
7. eine von der normalen Beendigung verschiedene Beendigung eines Eingabe-Ausgabe-Vorgangs.
Eine Weiterbildung der Erfindung ist dadurch gekennzeichnet, daß die Betätigung der Steuervorrichtung durch eines von bestimmten ausgewählten Unterbrechungsanforderungssignalen, insbesondere dem einer Störung der Stromversorgung zugeordneten Unterbrechungsanforderungssignal, die Speicherung des Inhalts bestimmter Programmregister in einem Register eines energieunabhängigen Speichers, insbesondere eines Dünnfilmspeichers, bewirkt, um eine spätere Benutzung bei selbsttätiger Wiederaufnahme des Programms zu ermöglichen.
Die durch das Ausfallen des Stromes (Netzstörung) verursachte Unterbrechung hat die höchste Priorität und ist stets vorrangig. Diese Unterbrechung bewirkt, daß alle Rechner und Eingabe-Ausgabe-Steuereinrichtungen ihre Vorgänge beenden und alle ihre energieabhängigen Informationen entweder im Hauptspeicher oder in den Dünnfilmregistern des schnellen Hilfsspeichers speichern. Diese Unterbrechung schützt das System vor einem Verlust von Daten durch ein vorübergehendes Aussetzen des Stromes und wird eingeleitet, wenn die Netzspannung unter einen bestimmten Wert sinkt.
Nach der durch das Aussetzen des Stromes bewirkten Unterbrechung ist die automatische Wiederingangsetzung vorgesehen, damit der vorhergehende Zustand des Systems wiederhergestellt werden kann.
Eine Beschreibung der Behandlung einer äußeren Unterbrechung soll das allgemeine Unterbrechungsverfahren erklären. Beim Vorhandensein einer äußeren Unterbrechungsanforderung wird durch den Prozessor, dem die Verantwortlichkeit für die Behandlung solcher Unterbrechungsanforderungen übertragen ist, automatisch der Inhalt jener Register gespeichert, der für die . spätere Wiederherstellung seines Zustandes wesentlich ist. Der Prozessor geht dann auf die Steuerarbeitsart über und gelangt in eine Standardstellung, die durch den Aufbau des Systems bestimmt wird, wo sich eine Abzweigung zum Maschinenprogramm für äußere Anforderungen befindet. Dieses Maschinenprogramm ist verantwortlich für die Beurteilung, welche äußere Anfrageleitung Bedienung erfordert, und nach Befragung einer Liste aller äußerer Vorrichtungen, die mit den äußeren Unterbrechungsleitungen verbunden sind, bildet der Prozessor einen Eingabebefehl und überträgt diesen als eine erste Botschaft an die Anfragevorrichtung. Der Prozessor macht dann eine Eintragung in das Eingabe-Ausgabe-Vervollständigungsprogramm, um das entsprechende Antwort-Maschinenprogramm zu betätigen, wenn die Botschaft eingegeben wird. Hierauf wird eine Überprüfung vorgenommen, ob noch eine zusätzliche äußere Anforderung vorliegt. Schließlich stellt der Prozessor den gespeicherten Registerinhalt wieder her und kehrt in Normalbetriebsart auf das unterbrochene Programm zurück.
Es ist schwierig, die Vorgänge des vorliegenden automatischen Unterbrechungssystems für sich zu beschreiben, ohne fortgesetzte Bezugnahme auf die Verwendung eines ausführenden oder Steuerprogramms. Im vorliegenden Fall ist das Steuerprogramm
ίο eine logische Gruppierung von Programmvorgängen, die dazu bestimmt sind, dem zu beschreibenden umfassenden Unterbrechungssystem zu entsprechen. Bei der Kontrolle des Unterbrechungssystems spricht das Steuerprogramm augenblicklich auf eine Änderung der Umgebung sowohl der Bestandteile als auch der Programme an.
Funktionell kann das Steuerprogramm als eine Sammlung von Unterprogrammen angesehen werden, welche besondere Funktion auszuführen haben. Die verschiedenen Unterbrechungsanforderungen, die im System vorkommen können, werden zuerst durch den ausführenden Teil des Steuerprogramms erkannt. Der ausführende Teil stellt die besondere Unterbrechung fest, entscheidet, was als Ergebnis dieses Unterbrechungszustandes zu geschehen hat, und bewirkt, daß eines oder mehrere Unterprogramme des Steuerprogramms auf diesen besonderen Zustand ansprechen.
Das Steuerprogramm ist logisch in den normalen Programmvorgang und in die Fehlerbehebung unterteilt. Diese Unterteilung scheint ganz natürlich zu sein, da von den vorgesehenen Unterbrechungen fünf während des normalen Betriebes des Systems als Ergebnis der Arbeitsprogramme und der Umgebung des Systems auftreten.
Wie bereits bemerkt, sind diese normalen Unterbrechungen:
1. Äußere Anforderungen,
2. Unterbrechung des Prozessors,
3. Grundtakt-Überlauf,
4. Beendigung eines Eingabe-Ausgabe-Vorgangs,
5. Stillstand.
Die übrigen Unterbrechungszustände kommen selten vor und liefern Angaben über das schlechte Arbeiten eines Bestandteils oder über Programmfehler. Die Abtastung der Fehlerbedingung durch das Steuerprogramm löst Reaktionen aus, wie diagnostische oder Ablagevorgänge, um die Korrektur der Fehler des Bestandteils und des Programms zu unterstützen. Wie bereits erwähnt, ist das Steuerprogramm als eine Sammlung von einzelnen Maschinenprogrammen anzusehen, die von dem ausführenden Teil des Steuerprogramms angefordert werden. Eine Anforderung eines besonderen Maschinenprogramms durch den ausführenden Teil kann jedoch eine Kette von Anforderungen in den verschiedenen Abschnitten des Steuerprogramms selbst erzeugen, da viele Maschinenprogramme voneinander abhängig sind und eine Anforderung des einen Maschinenprogramms eine Kette von Anforderungen des anderen Maschinenprogramms bewirkt.
Mit den Unterbrechungszuständen, die sich auf das schlechte Arbeiten eines Bauteils oder auf Programmfehler beziehen, ist eine Gruppe von Prüf- und diagnostischen Programmen verbunden. Während jedes Grundtakt-Rechenzyklus wird ein Vertrauens-Maschinenprogramm durchgeführt, das die richtige Wirkungsweise aller Systemelemente prüft. Das Steuerprogrämm, das auf Grundtaktunterbrechungen anspricht,
steuert die reguläre Ausführung dieses Maschinenprogramms. Ein Versagen bei der erfolgreichen Ausführung des Vertrauens-Maschinenprogramms wird der Bedienungsperson durch eine periphere Vorrichtung in Form von überwachenden in ein Kontrollpult eingebauten Druckern mitgeteilt, und im Steuerprogramm wird eine Reihe von diagnostischen Maßnahmen eingeleitet.
Das im Grundtakt durchgeführte diagnostische Überprüfungsprogramm des Systems ist eine integrierte Reihe von Maschinenprogrammen zur gründlichen to Untersuchung der Wirkungsweise der Systemelemente, einschließlich Rechner, Speicher, der Eingabe-Ausgabe-Steuereinrichtungen und der peripheren Geräte. Die Maschinenprogramme untersuchen längere Zeit die Arbeitsweise der Elemente und stellen die Fehler bis zur Ebene einer Vorrichtung fest. Wenn sich eine Vorrichtung nicht in einem für die Verwendung im System geeigneten Zustand befindet, wird das Steuerprogramm die fehlerhafte Vorrichtung automatisch aus dem Arbeitssystem ausschließen und alle ihre Funktionen auf andere ähnliche Vorrichtungen übertragen, so daß sich eine ununterbrochene Arbeitsweise des Systems ergibt. Erforderlichenfalls werden Programme mit niedrigster Priorität unterbrochen. Diagnostische Vorgänge sind zur korrigierenden Instandhaltung einer schlecht funktionierenden Vorrichtung vorgesehen. Die diagnostischen Vorgänge ermöglichen dem Bedienungspersonal, den fehlerhaften Teil innerhalb der Vorrichtung festzustellen. Nachdem der fehlerhafte Teil ersetzt worden ist und die ausgeführten diagnostischen Vorgänge die richtige Arbeitsweise der Vorrichtung feststellen, wird das Steuerprogramm von der Verfügbarkeit der reparierten Vorrichtung mittels eines von einer Bedienungsperson von Hand bedienten C-Schaltbretts verständigt. Das Steuerprogramm wird dann automatisch die reparierte Vorrichtung in das arbeitende System einschalten.
Eine ungewöhnliche Fähigkeit zur Wiederherstellung nach dem Versagen war ein primäres Erfordernis unter jenen Faktoren, welche die Ausbildung des vorliegenden Systems beeinflußten. Das mit dem Steuerprogramm verbundene Unterbrechungssystem ergibt einen noch nicht dagewesenen Widerstand gegen Betriebsunfähigkeit infolge Versagens von Bauteilen.
Das Steuerprogramm ist vorstehend als eine Instrumentierung des Unterbrechungssystems bezeichnet worden und spielt eine wichtige Rolle bei der Fähigkeit zur Wiederherstellung nach dem Versagen. Einige der Einrichtungen zur Wiederherstellung nach dem Versagen sind in einem Standard-Steuerprogramm vorgesehen. Einzelne für besondere Verwendungen ausgebildete Teile unterstützen jedoch auch eine gewünschte Art der Reaktion auf das schlechte Arbeiten eines Bestandteils.
Die Feststellung des Versagens ist eine wichtige Funktion des Unterbrechungssystems. Eine Unterbrechung erfolgt, wenn eine falsche Parität abgetastet wird, wenn ein Überlauf auftritt, wenn ein illegaler Befehlscode festgestellt wird, wenn ein Teil des Speichers dem Prozessor beharrlich den Zugriff zu seinem Inhalt verwehrt, wenn das Netz von seinen Toleranzwerten abweicht oder wenn ein Versuch gemacht wird, in einem Speicherbereich über Begrenzungen hinauszuschreiben, die in den Speichergrenzregistern des ausführenden Prozessors aufgezeichnet sind. Wenn einer dieser Fehler auftritt, besteht die Unterbrechungswirkung aus einer Übertragung der Steuerung auf eines der Maschinenprogramme des Steuerprogramms, die zur Bedienung dieser Art der Unterbrechungsanforderung bestimmt sind.
Ein solches .Maschinenprogramm wird als ein Antwort-Maschinenprogramm bezeichnet, und jede Art von Unterbrechung hat ein solches Antwort-Maschinenprogramm, das wie folgt arbeitet:
1. Es überprüft, wo dieses Verfahren diese Unterbrechung verursacht und einen Fehlerbehebungsvorgang vorgesehen hat,
2. führt eine rudimentäre doppelte Überprüfung aus,
3. führt Vorgänge aus, um alle bis auf ein Element oder eine Vorrichtung zu rechtfertigen, so daß die gerechtfertigten Elemente oder Vorrichtungen zum nützlichen Betrieb zurückgeführt werden können,
4. schaltet die nicht gerechtfertigten Elemente oder Vorrichtungen von der Teilnahme am Betrieb aus, bis eine entsprechende Untersuchung durchgeführt ist, und
5. schickt entsprechende Botschaften zu der eingeschalteten Botschaft-Ausgangsvorrichtung.
Die Grundtakte im vorliegenden System sind so ausgebildet, daß sie periodische Unterbrechungen erzeugen zum Zweck der Ausführung von periodischen Informations-Rettungsaktionen. Das der Grundtaktüberlaufunterbrechung entsprechende Antwort-Maschinenprogramm des Steuerprogramms wird aufgezeichnet, um Kenndaten von Programmen hinsichtlich der gewünschten Abwurffrequenz und des Umfanges des zu rettenden Materials anzunehmen.
Zum wirksamen Betrieb der vorliegenden Unterbrechungseinrichtung müssen bestimmte Befehle während der Ausführung der Steuerprogramme möglich sein, nicht aber während der Objektprogramme. Hierdurch soll verhindert werden, daß der Speicher und Eingabe-Ausgabe-Vorrichtungen, die einem Objektprogramm zugeordnet sind, durch ein noch nicht kontrolliertes und überprüftes Programm gestört werden. Zum Beispiel steht nur dem Steuerprogramm genügend Information zur Verfügung, um Eingabe-Ausgabe-Vorgänge richtig zu steuern und zuzuordnen.
In der Steuerbetriebsart braucht man also besondere Befehle, wie sie im folgenden erläutert werden:
1. Laden Maskenregister
Das Steuerprogramm muß das Maskenregister jedes Prozessors selektiv ändern können. Die Unterbrechungsbedingungen, die jeweils von einem Prozessor verarbeitet werden, müssen gegebenenfalls abhängig von der Dringlichkeit des in der Normalbetriebsart zu verarbeitenden Programms geändert werden. Andererseits sollte ein Programm der Normalbetriebsart nicht sein Maskenregister verändern dürfen, weil es nicht über die planmäßigen Angaben verfügt und auch nicht einen anderen Prozessor unterbrechen kann und deshalb eine System-Unterbrechungsanforderung unbearbeitet lassen könnte oder von mehr als einem Prozessor bearbeiten lassen könnte, was beides im Steuerprogramm Schwierigkeiten verursachen könnte. In den folgenden Abschnitten a), b) und c) sind Variationen des Befehls »Laden Maskenregister« angegeben.
a) Unterbrechen Prozessor N
Infolge einer Änderung der Bedingungen kann es für einen Prozessor erforderlich werden, einem anderen Prozessor mitzuteilen, seine Einstellung zu überprüfen
909 646/2
usw. Das Steuerprogramm, das vom ersten Prozessor ausgeführt wird, wird im Speicher (der für das Steuerprogramm des zweiten Prozessors zugänglich ist) genügende Angaben speichern, die den Grund für die Unterbrechung angeben, und dann diesen Befehl 5 erteilen. Das Steuerprogramm des zweiten Prozessors überprüft die entsprechenden Stellen des Speichers und veranlaßt die richtige Tätigkeit.
Wenn dieser Befehl bei der Normalbetriebsart möglich wäre, könnte ein ungeprüftes und nicht von Fehlern befreites Programm bewirken, daß ein richtig laufendes Programm auf einem anderen Prozessor eine unrichtige Tätigkeit veranlaßt, wodurch die Daten bei diesem Programmlauf zerstört wurden. Die Speichergrenzen könnten verhindern, daß der erste Prozessor falsche Befehle für den zweiten Prozessor aufstellt, aber auch dann ist es nicht erforderlich, daß der zweite Prozessor in einem solchen Fall unterbrochen wird. Das einzige Programm, das über genügend Angaben verfügt, um zu bestimmen, ob ein bestimmter Prozessor unterbrochen werden soll, ist das Steuerprogramm.
b) Laden Speichergrenzen
Der Schutz des Steuerprogramms und anderer Programme der Normalbetriebsart im Speicher ist wichtig während der Fehlerbeseitigung in einem neuen Programm der Normalbetriebsart Dieser Schutz soll verfügbar sein für Blocks von Speicherstellen mit einer festgesetzten Mindestgröße von 128 Wörtern. Der bevorzugte Vorgang besteht darin, einen dreisilbigen Befehl zu verwenden, wobei der Inhalt von Speicherstellen in ein oberes und ein unteres Grenzregister übertragen wird. Dieser Befehl soll für ein Programm der Normalbetriebsart nicht erforderlich sein. Wenn gemeinsame Unterbefehle verwendet werden, hat dieses Programm seinen eigenen Speicherbereich für Eingangsdaten, veränderliche Befehle und Ausgangsdaten. Konstanten können innerhalb des Unterprogrammbereichs gehalten werden und über Indexregister relativ zum Basisadreßregister adressiert bzw. auf das oben erwähnte Speichergebiet des einzelnen Programms übertragen werden. Dadurch kann ein Unterprogramm von mehr als einem Prozessor in irgendeinem bestimmten Zeitabschnitt verwendet werden. Wenn der Befehl in der Normalbetriebsart zugelassen wird, kann ein ungeprüftes Programm andere Programme unterbrechen.
50
55
c) Rückkehr zur Normalbetriebsart —
Übergang zur Steuerbetriebsart
Diese Befehle sind erforderlich, um zwischen einem normalen Programm und dem Steuerprogramm hin und her wechseln zu können.
2. Übertragung
des Eingabe-Ausgabe-Kennworts (TIO)
(Transmit input-output Descriptor)
Bei einem Datenverarbeitungssystem zur Simultanverarbeitung mehrerer Programme sind verschiedene Anschlußgeräte durch das planmäßige Steuerprogramm für bestimmte Programme reserviert Einige Anschlußgeräte, wie z. B. ein Kontrolldrucker oder ein Scheibenspeicher, können von mehr als einem Programm verwendet werden. Wenn beispielsweise eine Magnetbandeinheit als der Ausgang eines Programms verwendet wird und wenn der T/O-Befehl bei der Normalbetriebsart erteilt werden kann, kann durch nichts verhindert werden, daß ein ungeprüftes Programm sinnlose Angaben auf diesem Magnetband speichert.
Ein anderer Grund dafür, den T/OBefehl nur bei der Steuerbetriebsart zu verwenden, besteht darin, daß planmäßige Gründe vorliegen können, die Übertragung eines Eingabe-Ausgabe-Kennworts zu verzögern. Beispielsweise kann ein Programm mit hoher Priorität eingeleitet sein, das bald erfordert, daß viele Angaben aus einem Scheibenspeicher eingelesen werden. Der planmäßige Vorgang wird daher die Forderung eines anderen Programms nach Angaben aus diesem Scheibenspeicher verzögern. Das Programm der Normalbetriebsart kann dies aber nicht wissen, weil es zur Planungsinformation keinen Zugang hat.
Das Steuerprogramm ist das einzige Programm mit der Fähigkeit, Aufzeichnungen darüber instand zu halten, welches Kennwort zu welchem Programm gehört. Der Teil des Steuerprogramms, der sich auf die Beendigung der Eingabe-Ausgabe-Vorgänge bezieht, braucht diese Information, um die planmäßigen Aufzeichnungen für die Verarbeitung verschiedener Abschnitte der Programme auf dem letzten Stand zu halten.
3. Stillstand
Ein Stillstandsbefehl ist nur bei der Steuerarbeitsart wirksam, weil das planmäßige Steuerprogramm das einzige Programm ist, das bestimmen kann, ob ein Prozessor stillgesetzt werden soll oder nicht.
Weiterbildungen der Erfindung gehen aus den Unteransprüchen hervor.
Im folgenden ist ein Ausführungsbeispiel der Erfingung an Hand der Zeichnungen beschrieben. Es zeigen
Fig. IA und IB ein Blockschaltbild einer erfindungsgemäßen Unterbrechungseinrichtung zusammen mit der Datenverarbeitungsanlage, der sie zugeordnet ist,
Fig.2 ein Blockschaltbild, das die Elemente der Unterbrechungseinrichtung zeigt, welche eine Betriebsartenumschaltung eines Prozessors bewirken,
F i g. 3 ein Blockschaltbild, das die Programmbereiche darstellt, die von jedem der über ein Maskenregister geführten Unterbrechungsanforderungssignale betroffen werden.
Fig.4A und 4B ein detaillierteres Schaltbild der einzelnen Schaltelemente einer erfindungsgemäßen Unterbrechungseinrichtung,
F i g. 5 ein Blockschaltbild für eine typische individuelle Bitstelle eines Unterbrechungsregisters, das die Laufwege eines maskierten und eines nichtmaskierten Unterbrechungsanforderungssignals beim Ausführen einer Unterbrechung darstellt und
F i g. 6A und 6B ein Blockschaltbild eines gesamten Prozessors, bei dem die Unterbrechungseinrichtung an ihrer zugeordneten Stelle eingezeichnet ist.
In der Figurenbeschreibung sind zur Erleichterung des Verständnisses den einzelnen Bezugszeichen die Figurennummern vorangestellt. So ist z. B. das Maskenregister in F i g. 1 mit 12, in F i g. 2 mit 2-12, in F i g. 5 mit 5-12 bezeichnet.
In F i g. 6A und 6B ist allen Bezugszeichen jeweils die Ziffer 11 vorangestellt; das Maskenregister in dieser F i g. 6 ist dementsprechend mit 11-12 bezeichnet
Wie insbesondere Fig. 1 zeigt, enthält jeder Prozessor ein Unterbrechungsregister 10 (F i g. IB) mit 10 Bits und ein Maskenregister 12 (F i g. IA) mit 19 Bits. 6 Bits des Unterbrechungsregisters 10 (1, 4, 6, 7, 8 und 10) werden unmittelbar durch das Auftreten des entsprechenden Unterbrechungszustandes /-3, /-6, /-8, /-9, MO
und /-12 eingestellt Drei andere Bits 3,5 und 9 werden nur eingestellt, wenn sich beim Auftreten des entsprechenden Unterbrechungszustandes ein entsprechendes Bit des Maskenregisters 12 in der Stellung »1« befindet. Bit 2 des Registers 10 wird durch einen oder alle Unterbrechungszustände 1-4 A bis /-4P (die 1 bis 16 »äußeren Anforderungen« entsprechen) in Übereinstimmung mit den entsprechenden Bits 1 bis 16 des Maskenregisters 12 eingestellt Es gibt noch zwei zusätzliche Unterbrechungszustände M und 1-2, die weder Maskenregister- noch Unterbrechungsregister-Bits erfordern, da sie höchste Priorität genießen, wie durch die Prioritätsreihenfolge- und Typentafel 16 (F i g. 1 B) angegeben wird. Ein Bit im Unterbrechungsregister 10 wird nur zurückgestellt, wenn der entsprechende Unterbrechungszustand durch den Prozessor 18 verarbeitet wird. Maskenbits werden den Rechnern durch einen Befehl »Laden Spezialregister« (LSR) 14 eines ausführenden Steuerprogramms zugeordnet. Diese Maskenbits sind vorgesehen, damit
a) örtliche Unterbrechungsanforderungen entweder unbeachtet gelassen oder verarbeitet werden durch den Prozessor 18, in dem sie auftreten, und
b) Unterbrechungsanforderungen des Systems irgendeinem Prozessor des Systems zugeordnet werden können in Abhängigkeit von der Arbeitsbelastung und der Dringlichkeit der Anforderung.
Am Ende jedes Befehls oder der vollständigen Wiederholung eines wiederholten Befehls ist der Prozessor 18 (Fig. IB) für die Verarbeitung einer Unterbrechungsanforderung verfügbar. Wenn eine der
ίο beiden höchste Priorität genießenden Anforderungen /-1 (Netzstörung) oder /-2 (Grundtaktzuwachs [Increment Real Time Clock] RTC) herrscht, wird der Zustand mit höherer Priorität sofort verarbeitet. Wenn keiner dieser beiden Zustände herrscht, sondern eines der 10 Bits im Unterbrechungsregister 10 eingestellt ist, wird der Prozessor die vorliegende Unterbrechungsanforderung verarbeiten, die die höchste Priorität genießt, indem er von der Normalbetriebsart 18-1 auf die Steuerarbeitsart 18-2 übergeht, vorausgesetzt, daß er nicht bereits eine Unterbrechungsanforderung verarbeitet und demgemäß bereits nach der Steuerbetriebsart 18-2 arbeitet. In der nachstehenden Tabelle sind die Anforderungen für Unterbrechung und ihre Charakteristiken angegeben:
Prioritäts- Bedingung für Unterbrechung Unter- Anzahl der Type Betriebsart, in welcher
Reihen brechungs- erforder die Unterbrechung
folge register-Bits lichen erkannt wird
Nr. Masken
register-Bits
1 Aussetzen des Stromes 0 System Steuer oder normal
(Netzstörung)
2 Grundtakt (ÄTQ-Zuwachs 0 örtlich Steuer oder normal
3 Wiederingangsetzung nach Aus 0 örtlich normal
setzen des Stromes
4 16 äußere Anforderungen 2 16 System normal
5 Beendigung des Eingabe-Ausgabe- 3 1 System normal
Vorgangs
6 Unterbrechung des Prozessors N 4 0 System normal
7 Grundtakt-Überlauf 5 1 örtlich normal
8 über Speichergrenzen hinaus 6 0 örtlich normal
9 unzulässiger Befehl 7 0 örtlich normal
10 innerer Paritätsfehler 8 0 örtlich normal
11 arithmetischer Überlauf 9 1 örtlich normal
12 Stillstand der normalen Arbeits- 10 0 örtlich normal
weise
Das Maskenregister 12 wird mittels des Befehls »Laden Spezialregister« (LSR) 14 geladen, der nur während der Steuerbetriebsart verfügbar ist, wie folgt: Die Bits 21 bis 36 des aus einem Wort mit 48 Bits bestehenden Speicherbereichs, welches Wort durch das (nicht dargestellte) Register A des Prozessors 18 beschrieben wird, sind die Maske für die Leitungen I-4A bis /-4Pfür die äußeren Anforderungen.
Von dem gleichen aus 48 Bits bestehenden Wort sind die folgenden Bits den angegebenen Unterbrechungsanforderungen zugeordnet:
Bit 39 ist die Maske für die Beendigung des Eingabe-Ausgabe-Vorganges; Bit 41 ist die Maske für den Grundtakt-Überlauf; Bit 45 ist die Maske für den arithmetischen Überlauf. Die Bits 47 und 48 sind in Reserve. Alle anderen werden nicht verwendet.
Es ist zu bemerken, daß jede der Leitungen I-4A bis /-4Pfür die sechzehn äußeren Anfragen, die eingeschaltet ist (Stellung 1), ihren Zustand aufrechterhält, bis eine Eingabe-Ausgabe-Steuereinrichtung das äußere periphere Gerät bedient hat, welche die Bedienung anfordert.
Nachstehend folgt eine kurze Beschreibung aller Unterbrechungsanforderungen, die in F i g. 1 gezeigt und oben angegeben sind, in der Reihenfolge ihrer angegebenen Priorität.
I-i. Die dem Aussetzen des Stromes (Netzstörung) entsprechende Unterbrechungsanforderung tritt auf, wenn festgestellt wird, daß die Eingangs-Wechselspannung außerhalb eines Toleranzfelds liegt. Speicherstromkreise halten die Gleichstrom-Speisespannung auf normaler Höhe während eines Zeitraumes, welcher der Feststellung des Aussetzens des Stromes folgt. Während dieses Zeitraumes wird der vorliegende Befehl wiederholt, und hierauf erfolgt automatisch Speicherung der für die Wiederingangsetzung erforderlichen Informatio- ι ο nen im Stromausfall-Ablageregister.
1-2. Das Grundtakt-Zählsignal erfolgt alle 10 Millisekunden und wird als Bezugszeit verwendet.
/-3. Die Feststellung, ob eine Ingangsetzung des Rechners eine Wiederingangsetzung nach einer Netzstörung ist, wird durch den Zustand von Bit 14 des Stromaussetzungs-Ablageregisters (PDR) getroffen, das im folgenden noch beschrieben wird. Wenn es sich um eine Wiederingangsetzung nach einer Netzstörung handelt, ist das entsprechende Bit des Unterbrechungsregisters 10 eingestellt, und (nicht dargestellte) Steuerflipflops, die zum Wiederingangsetzen des Programms nach einer Netzstörung erforderlich sind, werden automatisch mit dem Inhalt des PDR beschickt Der Rechner wird zum nächsten Befehl zurückkehren, welcher jenem folgt, während dessen die Netzstörung eingetreten ist Wenn dieser Rückkehrpunkt in der Steuerbetriebsart des Prozessors 18 liegt, wird die gegenwärtig verarbeitete Unterbrechung beendet. Sobald jedoch der Prozessor B die Normalbetriebsart aufweist, wird die die Wiederingangsetzung nach einer Netzstörung betreffende Unterbrechungsanforderung vorherrschen, und die Verarbeitung der Unterbrechung wird mit dem nächsten Befehl nach dem Umschalten von der Normalbetriebsart 18-1 auf die Steuerbetriebsart 18-2 beginnen. Das Steuerprogramm 20-2, das im Systemspeicher 20 gespeichert ist, ist der einzige Speicherbereich, der durch die Steuerbetriebsart 18-2 des Prozessors benutzt wird, während das dargestellte normale Programm 20-1 eines von vielen normalen Programmen sein kann, das der Normalbetriebsart 18-1 des Prozessors zugeordnet ist.
1-4. Die den sechzehn äußeren Anrufen entsprechenden Unterbrechungsanforderungen sind Signale an den oder die Prozessoren von den (nicht dargestellten) peripheren Geräten des Systems. Diese Anrufsignale können vom Prozessor 18 während seiner Steuerbetriebsart 18-2 durch Verwendung des die Speicherung äußerer Anrufe (SER) betreffenden Befehls geprüft werden. Es ist zu bemerken, daß die Verarbeitung aller Eingabe-Ausgabe-Vorgänge durch das Steuerprogramm 20-2 erfolgt, um die Planungsprobleme zu zentralisieren und das System vor der Möglichkeit der Zerstörung von Daten durch widerstreitende Programme der Normalbetriebsart zu schützen.
1-5. Eine Unterbrechungsanforderung, die einer aus welchem Grunde immer erfolgenden Beendigung eines Eingabe-Ausgabe-Vorganges entspricht, ist auch ein Signal an den oder die Prozessor(en) von einer Eingabe-Ausgabe-Steuereinheit. Im vorliegenden Fall ω wird die Unterbrechung durch ein Ergebnis-Kennwort bewirkt, das von der Eingabe-Ausgabe-Steuereinheit zum Speicherbereich übertragen wird, welcher durch den Inhalt eines Registers in der Eingabe-Ausgabe-Steuereinheit beschrieben wird.
/-6. Das einer Unterbrechung des Prozessors N entsprechende Signal tritt als unmittelbares Ergebnis einer Variation des Befehls »Lade Spezialregister« (LSR) auf, der nur bei der Steuerbetriebsart verfügbar ist.
1-7. Grundtakt-Überlauf kann auftreten, nachdem der Grundtakt-Zähl-Unterbrechungszustand verarbeitet ist. Der Grund takt (R TC) wird durch die Ladeinstruktion für den Dünnfilm (LTF) gespeichert
/-8. Die dem Hinausschreiben über Speichergrenzen entsprechende Unterbrechungsanforderung ist ein Verfahren zum Speicherschutz, das für die Normalbetriebsart vorgesehen ist Seine Einschränkungen sind: Versuche, in Speicherbereichen außerhalb der oberen und unteren Speichergrenzregister zu schreiben, und Versuche, die Lade-^Lr/^-Instruktion für den Dünnfilmspeicher zum Laden des Dünnfilm-Unterbrechungs-Adressenregisters (IAR) zu benutzen. Die Speichergrenzregister werden während der Steuerbetriebsart durch den LSÄ-Befehl geladen.
/-9. Ein unzulässiger Befehl während der Normalbetriebsart wird als Verwendung eines Befehls der Steuerbetriebsart oder eines nicht existierenden Betriebscodes definiert. Bei der Steuerbetriebsart kommt diese Unterbrechungsanforderung nur bei der Verwendung eines nicht existierenden Betriebscodes vor. Die Befehle, welche den Stillstand des Rechners bewirken und daher bei der Normalbetriebsart verboten sind, sind folgende: Laden Spezialregister (LSR) Übertragung des Eingabe-Ausgabe-Befehls (TIO), Unterbrechung der Rückführung (IRR) und Speicherung der äußeren Anfrage (SER).
/-10. Die innere Parität wird überprüft, sooft eine Angabe oder ein Programmwort aus dem Speicher abgelesen wird. Das Paritätsbit wird bei jeder Speicheraufzeichnung an das Wort angehängt. Wenn der Fehlerzustand während der Steuerbetriebsart eintritt, kommt der Rechner zum Stillstand. Das Unterbrechungsregister-Bit, das dieser Unterbrechungsanforderung entspricht, wird auch verwendet, um den Mißerfolg, Zutritt zum Speicher zu erlangen, anzuzeigen. Wenn zwei aufeinanderfolgende Grundtakt-(7?7C?-ZähIsignale empfangen werden, ohne daß das erste bedient wird, und wenn der Anrufflipflop des Speichers gesetzt ist und einen versuchten Zugriff zum Speicher anzeigt, ist der Unterbrechungszustand eingetreten, welcher der Bedingung »kein Zugriff zum Speicher« entspricht.
/-11. Die dem arithmetischen Überlauf entsprechende Unterbrechung ergibt sich aus den folgenden Zuständen:
a) Arithmetischer Festpunktüberlauf, der von Addition, Subtraktion oder Division herrührt;
b) Überlauf, der von der Abrundungsinstruktion (TRM) herrührt;
c) Exponentenüberlauf, der von einem mit gleitendem Komma ausgeführten arithmetischen Vorgang herrührt;
d) Quotientenüberlauf von mehr als einem Bit, der von der Verwendung des gleitenden Divisions-fKDV^- Befehls mit nicht normalisierten Operanden herrührt.
Das Auftreten eines dieser vier Zustände bewirkt, daß der Überlauf-Steuerflipflop (POV) eingestellt wird (wenn der Maskenbitzustand nicht eingestellt ist) und eingestellt bleibt, bis der Verzweigungsbedingungs-(ßÄC^Befehl verwendet wird. Das dem arithmetischen Überlauf entsprechende Unterbrechungsbit wird durch den Überlaufzustand während jeder Arbeitsweise hergestellt, wenn das entsprechende Maskenbit einge-
stellt (gesetzt) ist.
/-12. Die Stillstands-(7/L7>Instruktion, die bei der Normalbetriebsart 18-1 verwendet wird, bewirkt einen Unterbrechungszustand 10-10 und infolgedessen einen Übergang zur Steuerbetriebsart 18-2, bei der sie den Rechner stillsetzt Das Unterbrechungsregisterbit, das diesem Unterbrechungszustand entspricht, wird auch für einen anderen Zweck verwendet: Wenn beim indirekten Adressieren das achtzehnte, am wenigsten bedeutsame Bit von irgendeiner Stufe des Adressierens nach der ersten eine Ziffer 1 ist, wird das Unterbrechungsregisterbit eingestellt. Diese Fähigkeit, die bei beiden Betriebsarten 18-1 und 18-2 verfügbar ist, wird verwendet, um das Aussperren des Rechners von bestimmten Bereichen des Speichers zu erleichtern.
In F i g. 2 zeigt ein Blockschaltbild, das die Elemente der grundlegenden Unterbrechungseinrichtung enthält, welche eine Umschaltung der Betriebsart des Prozessors bewirken können. Die Unterbrechungsanforderungen 2-10 und der Inhalt eines Maskenregisters 2-12 werden durch ein Tor 2-14 gesteuert, das entscheidet, welche der Unterbrechungsanforderungen 2-10 mit dem Unterbrechungsregister 2-16 gekoppelt wird. Eine Prioritäts-Auswahlmatrix 2-20 entscheidet, welcher der im Unterbrechungsregister 2-16 enthaltenen Zustände die höchste Priorität besitzt. Auf Grund dieser Feststellung schaltet die Prioritäts-Auswahlmatrix 2-20 die ausgewählte Unterbrechungsanforderung auf den Verzweigungs-Steuerkreis 2-26. Die Prioritäts-Auswahlmatrix 2-20 führt auch das selektive Rückstellsignal 2-18 in das Unterbrechungsregister 2-16 zurück, das den Zustand zurückstellt, der gerade ausgewählt worden ist. Der Verzweigungssteuerkreis koppelt die ausgewählte Unterbrechungsanforderung mit zwei Stellen; er bewirkt, daß der Flipflop 2-28 eine Steuerbetriebsart anzeigt sowie daß der Programmzähler 2-30 die ausgewählte Unterbrechungsanforderung empfängt. Durch die Prioritäts-Auswahlmatrix 2-20 wird mit jeder Unterbrechungsanforderung 2-10 eine Prioritätszahl verbunden. Diese Prioritätszahl wird mit einem Addierwerk 2-24 gekoppelt, wo sie mit der Unterbrechungs-Grundadresse des Unterbrechungs-Adressenregisters 2-22 kombiniert wird. Das Ergebnis dieser Addition durch das Addierwerk 2-24 wird dem Programmzähler 2-30 übermittelt, wo es mit dem ausgewählten Signal des Verzweigungs-Steuerkreises 2-26 kombiniert wird. Der Programmzähler 2-30 zeigt dann dem Unterbrechungs-Speicherregister 2-32 die vom Programmzähler 2-30 bestimmte Adresse und die durch den Verzweigungs-Steuerkreis 2-26 dem Programmzähler zugeführte ausgewählte Unterbrechungsanforderung an.
F i g. 3 zeigt die einzelnen Arten der Unterbrechungen und zeigt die Bereiche eines Steuerprogramms 3-14, in welchem jede Art der besonderen Unterbrechung vorkommt. Alle zehn Arten der Unterbrechungsanforderungen sind an das Unterbrechungs-Maskenregister geschaltet; einige der zehn Arten sind jedoch über das Unterbrechungsmaskenregister 3-10 unmittelbar mit dem Unterbrechungsregister 3-12 gekoppelt, so daß sie durch das Unterbrechungs-Maskenregister nicht beeinflußt werden.
Die beiden getrennten Arten von Unterbrechungsanforderungen auf der linken Seite der F i g. 3, nämlich die dem Aussetzen des Stromes entsprechende Unterbrechungsanforderung und die Grundtakt-Zähl-Unterbrechungsanforderung, sind in keiner Weise mit dem Unterbrechungsmaskenregister 3-10 oder mit dem Unterbrechungsregister 3-12 verbunden, sondern sind unmittelbar mit der Steuerschaltung des Prozessors verbunden. Jene Unterbrechungsanforderungen, die volle Linien aufweisen und durch das Unterbrechungsmaskenregister 3-10 hindurchgehen, sind Unterbrechungen, die nicht durch das Unterbrechungsmaskenregister 3-10 beeinflußt werden, sondern vielmehr unmittelbar mit dem Unterbrechungsregister 3-12 gekoppelt sind. Jene Unterbrechungen, die keine durch
ίο das Unterbrechungsmaskenregister 3-10 hindurchgehenden direkten Linien aufweisen, sind Unterbrechungen, die durch das Unterbrechungsmaskenregister 3-10 gesteuert oder »maskiert« werden. Es ist ferner zu bemerken, daß die den äußeren Anfragen entsprechende Unterbrechungsanforderung 16 getrennt Leitungen für die äußeren Anfragen umfaßt. Alle sechzehn äußeren Anfragesignale nehmen jedoch nur ein Bit des Unterbrechungsregisters 3-12 ein. Alle zehn Unterbrechungszustände, die mit dem Unterbrechungsregister 3-12 gekoppelt sind, bewirken eine Umschaltung der Betriebsart des Prozessors von seiner Normalbetriebsart zu einer Steuerbetriebsart. Das Steuerprogramm 3-14 ist in der dargestellten Weise in zwei allgemeine Bereiche unterteilt. Der Bereich rechts von der gestrichelten Linie ist der Normalbetriebsart zugeordnet und der Bereich links von der gestrichelten Linie der Fehlerbehebung. Jeder Bereich hat eine Anzahl von Abschnitten. Die Abschnitte des Steuerprogramms, die der Normalbetriebsart zugeordnet sind, 'umfassen die Zuweisung, Planung, Beendigung, Bereitstellung, Zeitsteuerung, Ausführung und Fertigstellung verschiedener Vorgänge innerhalb des Programms. Die der Fehlerbehebung zugeordneten Abschnitte umfassen diagnostische oder Vertrauensprüfprogramme sowie das Aufspüren verlorener Angaben oder die Speicherung vorhandener Registerangaben zwecks späterer Verwendung. Aus F i g. 3 ergibt sich daher, daß sich ein großer Bereich des vorliegenden automatischen Unterbrechungssystems auf die normale Arbeitsweise bezieht. Obwohl sich daher ein Bereich des vorliegenden automatischen Unterbrechungssystems auf die Fehlerbehebung bezieht, weist das vorliegende Unterbrechungssystem eine starke Konzentration auf Steuerbereiche eines Steuerprogramms auf, die sich in keiner Weise auf die Fehlerfeststellung und -behebung beziehen.
In den F i g. 4A und 4B ist eine Schaltung der automatischen Unterbrechungseinrichtung dargestellt. Die UND-Glieder, welche auf die dicken Linien mit Pfeilen ansprechen, wie z. B. auf die zum UND-Glied 44 führende Linie, stellen einen Übertragungsweg dar, der eigentlich einen komplizierten Stromkreis verwendet als er in der Figur gezeigt ist. Am oberen Ende jeder Figur sind mehrere Blocks angeordnet, von denen jeder eine besonderere Art von Unterbrechungssignal darstellt; von links nach rechts sind gezeigt: Die ;iner Netzstörung entsprechende Unterbrechungsanforderung 4-10, die Grundtakt-Zähl-Unterbrechungsanforderung 4-12, die der Wiederingangsetzung nach dem Aussetzen des Stromes entsprechende Unterbrechungsanforderung 4-14, die den äußeren Anfragen 4-16 entsprechenden Unterbrechungsanforderungen 4-16.Λ bis 4-16P, die der Beendigung des Eingabe-Ausgabe-Vorganges entsprechende Unterbrechungsanforderung 4-18, die der Stillsetzung des Prozessors TVentsprechende Unterbrechungsanforderung 4-20, die Grundtaktunterbrechungsanforderung 4-22, die dem Hinausschreiben über Speichergrenzen entsprechende Unterbrechungsanforderung 4-24, die einem unzulässigen Befehl
909 646/2
entsprechende Unterbrechungsanforderung 4-26, der innere Paritätsfehler, der die Unterbrechungsanforderung 4-28 umfaßt, welche dem verwehrten Zugriff zum Speicher entspricht, der arithmetische Überlauf 4-30 und die der Aussetzung der Normalbetriebsart entsprechende Unterbrechungsanforderung 4-32. Unmittelbar unterhalb dieser Unterbrechungsanforderungen befindet sich das Maskenregister 4-34, welches alle logischen Teile umfaßt, die innerhalb der gestrichelten Umrandung dargestellt sind. Das Maskenregister enthält eine ι ο Gruppe von 19 Flipflops, von denen 16 Fliflops FFl bis FF16 mit den 16 Unterbrechungsanforderungen verbunden sind, die den äußeren Anfragen entsprechen. Der Flipflop FF17 arbeitet mit der Unterbrechung 4-18 (Beendigung des Eingabe-Ausgabe-Vorganges) zusammen. Der Flipflop FF18 ist mit der Unterbrechung 4-22 (Grundtakt) verbunden. Der Flipflop FF19 arbeitet mit der Unterbrechung 4-30 (arithmetischer Überlauf) zusammen. Jeder dieser Flipflops und die zugehörigen Unterbrechungszustände sind mit einer Gruppe von 19 einzelnen UND-Gliedern AGl bis AG 19 gekoppelt. Diese 19 UND-Glieder sind ein Teil der Unterbrechungsregistersteuerung, die in einer gestrichelten Umrandung unmittelbar unterhalb des Maskenregisters 3-34 dargestellt ist. Daraus ergibt sich, daß ein Signal von einem der UND-Glieder 1 bis 19 nur möglich ist, wenn ein Unterbrechungszustand besteht und wenn sich jeder der zugehörigen Flipflops FFl bis FF19 des Maskenregisters 4-34 in der Stellung 1 befindet. Das ODER-Glied OG1, das in der gestrichelten Umrandung angeordnet ist, weiche die Unterbrechungsregister-Steuerschaltung 4-36 enthält, wird durch alle 16 UND-Glieder AG 1 bis AG 16 gespeist. Diese Signale stellen alle sechzehn äußeren Anfragesignale dar. Da eines oder alle dieser 16 Signale das ODER-Glied OG1 betätigen werden, ist es nur erforderlich, daß ein der Normalbetriebsart entsprechendes Signal (NMS) am UND-Glied AG 20 auftritt, um dem Unterbrechungsregister 4-38 ein Ausgangssignal zuzuführen. Es ist ferner zu bemerken, daß alle sechzehn äußeren Anfragesignale nur einen Flipflop FF21 des Unterbrechungsregisters 4-38 betätigen. In der Unterbrechungsregister-Steuerschaltung sind fünf zusätzliche UND-Glieder AG 21, AG22, AG23, AG24 und AG25 angeordnet. Sie werden ebenfalls nur in Gegenwart des Signals NMS zusammen mit ihren einzelnen Unterbrechungsanforderungssignalen betätigt. Die Unterbrechungsanforderung 4-24 (Hinausschreiben über Speichergrenzen), die mit dem UND-Glied AG 21 gekoppelt ist, erzeugt beispielsweise ein Ausgangssignal nur in Gegenwart des Signals NMS.
Das Unterbrechungsregister 4-38 ist in der gestrichelten Umrandung unterhalb der Unterbrechungsregister-Steuerschaltung 4-36 dargestellt. Das Unterbrechungsregister enthält zehn einzelne Flipflops FF20, FF21, FF22, FF23, FF24, FF25, FF26, FF27, FF28 und FF29. Bestimmte Unterbrechungssignale umgehen das Maskenregister 4-34 und sind unmittelbar mit dem Unterbrechungsregister 4-38 gekoppelt. Infolgedessen kann das Maskenregister 4-34 nicht so eingestellt werden, daß es ein solches direktes Eingangssignal blockiert. Es gibt zwei Unterbrechungssignale, die direkten Zugang zum Unterbrechungsregister 4-38 haben, nämlich die Unterbrechung 4-20 (Stillsetzen des Prozessors Λ^ und die Unterbrechung 4-14 (Wiederingangsetzung nach einer Netzstörung). Letztere wird dem Flipflop FF20 des Unterbrechungsregisters zugeführt, während die Unterbrechung 4-20 unmittelbar mit dem Flipflop FF23 verbunden ist.
Es gibt zwei Unterbrechungszustände, welche sowohl das Maskenregister 4-34 als auch das Unterbrechungsregister 4-38 umgehen, und zwar die mit der höchsten Priorität, nämlich 4-10 (Aussetzen des Stromes) und 4-12 (Grundtaktzählung [count realtime clock]). Der dem Aussetzen des Stromes entsprechende Unterbrechungszustand besitzt im vorliegenden System die höchste Priorität. Dieser Zustand geht allen anderen Unterbrechungszuständen vor. Der Unterbrechungszustand 4-12 (Grundtaktzählung) ist der zweite in der Prioritätsreihenfolge und kann nur durch den Zustand 4-10 (Aussetzen des Stromes) ausgeschaltet werden. Alle übrigen Unterbrechungszustände sind entweder unmittelbar oder mittelbar über das Maskenregister 4-34 mit dem Unterbrechungsregister 4-38 gekoppelt. Die Ausgänge dieser übrigen Unterbrechungszustände werden in einen Prioritätssteuerkreis 4-40 eingeführt. Da jedes dieser Signale mit zwei UND-Gliedern verbunden ist und da die Wirkung jedes dieser Flipflopausgänge identisch ist, wird nachstehend nur einer genauer beschrieben.
Der Flipflop FF21 des Unterbrechungsregisters 4-38 hat einen 1-Ausgang und einen 0-Ausgang. Der 1-Ausgang ist mit dem UND-Glied AG26 des Prioritätssteuerkreises 4-40 verbunden, und der 0-Ausgang des Flipflops FF21 ist mit dem UND-Glied AG 27 verbunden. Die UND-Glieder AG 26 und AG27 haben als ein gemeinsames Signal den Ausgang des UND-Gliedes AG 267, der mit einem Flipflop FF20 auf der linken Seite des Unterbrechungsregisters direkt verbunden ist. Das Unterbrechungsregister 4-38 enthält die zehn Flipflops, die in der Reihenfolge ihrer Priorität von links nach rechts angeordnet sind. Der Flipflop FF20 besitzt daher innerhalb des Unterbrechungsregisters die höchste Priorität und der Flipflop FF29 die niedrigste Priorität. Die mit dem Flipflop FF21 verbundenen UND-Glieder können daher nur betätigt werden, wenn sich der Flipflop FF20 in zurückgestelltem Zustand befindet und ein Ausgangssignal 0 aufweist. Im Augenblick wird angenommen, daß die UND-Glieder AG 26 und AG27 ihr gemeinsames Signal empfangen haben und nur davon abhängig sind, ob das Ausgangssignal des Flipflops FF21 eine 1 oder eine 0 ist, um zu bestimmen, ob das UND-Glied AG26 oder das UND-Glied AG 27 einen Ausgang anzeigt. Wenn das Ausgangssignal des Flipflops FF21 eine 1 ist, wird das UND-Glied AG 26 ein Ausgangssignal dem UND-Glied AG 28 zuführen, und eine zusätzliche Standardschaltung (die der Einfachheit halber ganz allgemein dargestellt ist) wird eine 2 im ODER-Glied OG 2 addieren. Das Ausgangssignal des UND-Glieds AG28 wird zum Flipflop FF21 zurückgeführt, um denselben auf einen 0-Ausgang zurückzustellen, der dem UND-Glied AG 27 zugeführt wird. Dieses 0-Signal wird zusammen mit dem gemeinsamen Signal vom UND-Glied AG 267 dem UND-Glied AG 27 ermöglichen, den beiden mit dem Flipflop FF22 verbundenen UND-Gliedern ein Signal zuzuführen. Die Ausgänge jedes der zehn Flipflops FF20 bis FF29 werden eine besondere Zahl 1 bis 10 addieren, die ihrer Stellung von links nach rechts im Unterbrechungsregister zugeordnet ist. Der Flipflop FF20 mit der höchsten Priorität im Register wird daher eine Ziffer 1 addieren. Die addierte Zahl erhöht sich für den Flipflop FF29 mit der niedrigsten Priorität auf 10. Die addierte Zahl wird über das ODER-Glied OG 2 dem UND-Glied AG 29 zugeführt. Wenn am UND-Glied AG 29 auch ein der Normalbe-
triebsart entsprechendes Signal vorhanden ist, wird die Betriebsarten-Umschaltvorrichtung IC 10 den der höchsten Priorität entsprechenden Eingang zum ODER-Glied OG 2 empfangen. Die Betriebsarten-Umschaltvorrichtung /ClO kann zwischen jedem der zehn Eingänge zum ODER-Glied OG 2 unterscheiden, weil mit jedem Eingang eine besondere, die Priorität identifizierende Zahl vereinigt ist. Die Betriebsarten-Umschaltvorrichtung /ClO kann daher zu der besonderen Unterbrechungsadresse verzweigen, die der durch das ODER-Glied OG 2 empfangenen ausgewählten Unterbrechungsanforderung zugeordnet ist. Das UND-Glied AG 28 ist nur eines von mehreren UND-Gliedern, die in der auswählenden Sperrvorrichtung 4-42 enthalten sind. Jeder der Flipflops des Unterbrechungsregisters hat in diesem auswählenden Rückstellkreis ein entsprechendes UND-Glied.
Der Unterbrechung 4-10 (Aussetzen des Stromes) und der Unterbrechung 4-12 (Grundtaktzählung) zugeordnete NICHT-Glieder INV \ und INV2 sind in den Prioritätssteuerkreis 4-40 eingeschaltet. Die Aufgabe dieser NICHT-Glieder besteht darin, sicherzustellen, daß die dem NICHT-Glied INVi zugeordnete Unterbrechungsanforderung 4-10 (Aussetzen des Stromes) vorherrscht und dadurch jeden der Stromkreise mit niedrigerer Priorität ausschließt. Das Vorhandensein eines dem Aussetzen des Stromes entsprechenden Signals im NICHT-Glied INVi wird ein Signal niederen Pegels im UND-Glied AG 48 bewirken, das keinen Ausgang erzeugt. Ebenso wird ein der Unterbrechung 4-12 (Grundtaktzählung) entsprechendes Signal, das dem NICHT-Glied INV2 zugeführt wird, sicherzustellen, daß das UND-Glied AG 49 nicht betätigt wird.
Die Betätigung der Betriebsarten-Umschaltvorrichtung /ClO wird eine Anzahl gleichzeitiger Vorgänge bewirken. Signale von der Betriebsarten-Umschaltvorrichtung /ClO werden gleichzeitig den UND-Gliedern AG38, AG39, AGAO, AGAi, AG42 und AG43 zugeführt. Die Betätigung der UND-Glieder AG38 und AG39 erlaubt, daß der Inhalt des Unterbrechungsbasis-Adreßregisters LAR, welches 16 Bits enthält, dem Basisadreßregister BAR und dem Basisprogrammregister BPR zugeführt wird. Gleichzeitig wird das UND-Glied AG37 durch ein Signal der Betriebsarten-Umschaltvorrichtung /ClO betätigt und führt den Inhalt des Addierwerks ADi in das Programmzählregister PCR ein. Ein Signal von der Betriebsarten-Umschaltvorrichtung /ClO betätigt das UND-Glied AGIO, so daß der Inhalt des Programmspeicherregisters PSR1 das 48 Bits enthält, in das Unterbrechungsprogrammregister eingeführt werden kann. Die UND-Glieder AG4i, AG42 und AG43 führen den Inhalt der Register BAR, BPR und PCR dem Unterbrechungsspeicherregister ISR zu, das 48 Bits aufweist.
Die UND-Glieder AG 3i, AG 32 und AG 33 sind dem Addierwerk ADl zugeordnet, so daß dasselbe einen Zuwachs aufnehmen kann. Dieser Zuwachs ist entweder die Addition einer 1, wenn das UND-Glied AG30 ein Signal von der Grundtakt-Zählsteuerung CRTC10 empfängt, oder die Addition der Unterbrechungszahl, wenn das UND-Glied AG31 ein Signal von der Betriebsarten-Umschaltvorrichtung /ClO empfängt.
Die UND-Glieder AG33, AG 34 und AG 35 sind dem Addierer AD 1 zugeordnet, um die Unterbrechungsbasisadresse durch die Addition der mit jeder besonderen Unterbrechung vereinigten Identifizierungszahl zu verändern.
Fig.5 zeigt den gleichen Laufweg wie Fig.2. In F i g. 5 stellt der Laufweg jedoch einzelne Bits innerhalb der Register dar. Außerdem zeigt F i g. 5 die maskierten und die nichtmaskierten Signale.
Die F i g. 6A und 6B zeigen ein Blockschaltbild eines vollständigen Prozessors. Die automatische Unterbrechungseinrichtung ist in diesem Blockdiagramm dargestellt, um ihre relative Lage innerhalb des Prozessors zu zeigen.
Die Behandlung der im Unterbrechungsregister
ίο aufgezeichneten zehn Unterbrechungszustände macht die Überführung des in den Fig.6A und 6B dargestellten Prozessors in die Steuerbetriebsart erforderlich, bei welcher ein entsprechendes Steuerprogramm die Unterbrechung bedient. Der Übergang von der Normalbetriebsart zur Steuerbetriebsart erfolgt unter Verwendung der oktalen Adressenregister des Dünnfilmspeichers 11-24 automatisch auf folgende Weise:
a) Der Inhalt des Basis-Adreßregisters (BAR) 055, des Basis-Programmregisters (BPR)05A und des Programm-Steuerregisters (PCR)057 wird in dem Dünnfilm-Unterbrechungsspeicherregister (ISR) 040 bis 042 in dieser Reihenfolge gespeichert. Der gespeicherte Inhalt des Programm-Steuerregisters 057 enthält immer die Adresse des Programmwortes, das bei der Rückkehr zur Normalbetriebsart zu verwenden ist. Mit anderen Worten, die überdekkende Silbe ist verlorengegangen, und das Programm-Steuerregister ist entsprechend korrigiert.
b) Der Inhalt des gegenwärtig adressierten Programm-Speicherregisters (PSR 1) oder (PSR 2), der auf oktalen Adressen 100 bis 103 oder 104 bis 107 angeordnet ist, wird in dem Dünnfilm-Unterbrechungs-Programmregister (IPR)HO bis 113 gespeichert. Das ist das Programm-Speicherregister, das nunmehr die nächste Silbe enthält, die abzulesen ist, wenn entweder PSR 1 oder PSR 2 gefüllt ist.
Der Inhalt einer Anzahl von Steuerflipflops wird in dem 16-Bit-Dünnfilm-Unterbrechungs-Abwurfregister (IDR) 070 gespeichert. Wenn diese Bits von links nach rechts numeriert werden, enthält das Unterbrechungs-Abwurf register (IDR) 070 folgende Bits:
Bits 1,2,3
Die aus 3 Bits bestehende Adresse der 12 Bits umfassenden nächsten Silbe des Programm-Speicherregisters (PSR). Diese 12 Bits umfassende Silbe sollte eine Operationsteilsilbe sein, da der Übergang zur Steuerbetriebsart nur am Ende eines Befehls erfolgen kann. Die vier 12 Bits umfassenden Silben des Programm-Speicherregisters PSR1 sind vom wichtigeren Ende her mit 3-2-1-0 bezeichnet, und die Silben des Programm-Speicherregisters PSR 2 mit 7-6-5-4.
Bit 4
ist eine 1, wenn ein wiederholter Befehl unterbrochen wurde.
Bit 5
ist eine 1, wenn ein wiederholter Befehl vor Ausführung der ersten Iteration unterbrochen wurde.
Bits 6,7
Eine 1 für jedes Programm-Speicherregister (PSR), das augenblicklich gefüllt wird (Bit 6 für PSR1 und Bit 7 für PSR 2). Wenn die letzte Silbe von PSR als letzte Silbe des Befehls vor der
Unterbrechung verwendet wurde, ist PSR nicht mehr gefüllt. Wenn die letzte Silbe nicht verwendet wurde, ist PSR gefüllt. Wenn eine Silbe in das Programm-Speicherregister PSR 2 übergegriffen hat, kann dieses als gefüllt angesehen werden, sonst nicht. Wenn diese Bits in die Füll-Flipflops zurückgeführt werden, die sich beide infolge einer Silbenüberdeckung in der Stellung 1 befinden, wird einer der Flipflops zurückgestellt, da diese Silbenüberdeckung ver- ι ο lorengehL
Bits 8,9,10
betreffen die Inhalte des Überlaufsteuerungs- (POV)-F\ipüops, des Steuerungs-fPLW/ Flipflopsschalters für zu geringe Quantitäten (Under- '5 flow Controll) bzw. des nicht normalisierten f/WN/Flipflops.
Bits 11,12
Die Adresse am oberen Ende des Stapels, bezeichnet mit 0 bis 3 (Inhalt des Stapelzählers).
Bit ist eine 1, wenn der Rechner in der Steuerbetriebsart arbeitete, als das Aussetzen des Stromes erkannt wurde.
Bit ist eine 1, wenn der Unterbrechungszustand dem Aussetzen des Stromes entspricht.
Bit ist eine 1 für umgekehrtes Zählen des Stapelzählers.
Bit 16
wird nicht verwendet.
Die nachstehende Tabelle zeigt alle möglichen Kombinationen der 5 Bits 1, 2, 3, 6 und 7 des Unterbrechungs-Abwurfvorganges:
Bits der nächsten PSÄ-Silbenadresse PSR 1 PSR 2 Zurückgeführte Kippschalter Bits
gefüllt gefüllt (Überdeckung ist verloren) 6 7
Bit Bit Bits
1 2 3 CTl 7 12 3
Fall 1 0 0 0 PSRi ist gespeichert 1 1
Überdeckung 0 0 1 1 1
(overlap) 0 1 0 1 1
0 1 1 1 0
1 0 0 PSR 2 ist gespeichert 1 1
1 0 1 1 1
1 1 0 1 1
1 1 1 0 1
Fall 2 0 0 0 PSRi ist gespeichert 1 0
keine 0 0 1 1 0
Überdeckung 0 1 0 1 0
0 1 1 0 0
1 0 0 PSR 2 ist gespeichert 0 1
1 0 1 0 1
1 1 0 0 1
1 1 1 0 0
(dasselbe)
1 0
1 0
1 0
1 0
0 1
0 1
0 1
0 1
(dasselbe)
PSR1 wurde gespeichert, obwohl
bereits verarbeitet
PSR 2 wurde gespeichert, obwohl
bereits verarbeitet
d) Hierauf wird das Bit im Unterbrechungsregister 11-18 zurückgestellt, welches dem zu verarbeitenden Unterbrechungszustand entspricht.
e) Ein Flipflop der Steuerbetriebsart wird gesetzt, wodurch der Übergang zur Steuerbetriebsart markiert, die Interpretation bestimmter Befehle und Unterbrechungszustände verändert und vorübergehend die Verarbeitung anderer Unterbrechungszustände, die auftreten können, verhindert wird, mit Ausnahme der beiden Unterbrechungszustände mit höchster Priorität.
f) Das Basis-Adressenregister (BAR) 055 und das Basis-Programmregister (BPR) 054 werden mit dem Inhalt des Unterbrechungs-Adressenregisters (IAR)063 beschickt. Der Inhalt des Unterbrechungs-Adressenregisters (IAR) kann nur während der Steuerbetriebsart verändert werden.
g) Die wirksame Adresse wird berechnet, indem die relative Adresse, die dem zu verarbeitenden spezifischen Unterbrechungszustandssignal 11-10 zugeordnet ist, zu dem Inhalt des Unterbrechungs-Adreßregisters (IAR) addiert wird. Diese neue Adresse wird im Programm-Zählregister (PCR) 057 gespeichert. Der Inhalt des Speicherbereichs, der durch diese wirksame Adresse beschrieben wird, entspricht einer Liste von Befehlen (alles direkte Übertragungen), um den Eintritt in das entsprechende Steuerprogramm zu erleichtern.
Die Bits 1 bis 10 sind die einzigen, die für das Steuerprogramm von Interesse sind, und sie sind infolgedessen die einzigen, deren entsprechende Flipflops als Ergebnis des Unterbrechungs-Rückführungsbefehls (IRR) zurückgestellt werden.
h) Ein Überlauf-fPO^Flipflop, ein Flipflop für zu geringe Quantitäten (PUN), ein nichtnormalisiert-(TWA^Flipflop und alle anderen erforderlichen Steuer-Flipflops (nicht dargestellt) werden zurückgestellt, um dem Steuerbetriebsartprogramm zu ermöglichen, sie zu verwenden, ohne sie zuerst zurückzustellen. Bei einer dem arithmetischen Überlauf entsprechenden Unterbrechung wird die
Bedienung des Überlaufs durch das Steuerbetriebsartprogramm ausgeführt. Der POV-Flipflop wird zurückgestellt, bevor derselbe gespeichert wird, weil das Steuerbetriebsartprogramm notwendigerweise das entsprechende Bit zurückstellen müßte, von dem es bei der Rückkehr zur Normalbetriebsart geladen wird, um ein erneutes Durchlaufen der Unterbrechungsschleife zu verhindern.
Für die Rückführung des Prozessors von der Steuerbetriebsart in die Normalbetriebsart ist das Steuerbetriebsartprogramm verantwortlich, und sie wird durch einen Unterbrechungs-Rückführungsbefehl (IRR) ausgeführt.
Die beiden Unterbrechungen I-ί und 1-2 der Fig. 1 mit höchster Priorität, nämlich das Aussetzen des Stromes bzw. die Grundtaktzählung, werden automatisch verarbeitet, d. h., sie erfordern nicht das Steuerbetriebsartprogramm oder dessen Durchführung.
Durch eine dem Aussetzen des Stromes zugeordnete Unterbrechung werden alle Eingabe-Ausgabe-Vorgänge unterbrochen. Beendigungskennwörter werden den Speicherbereichen übermittelt, die durch den Inhalt der Register in den Eingabe-Ausgabe-Steuereinheiten beschrieben werden. Zwischen der Entdeckung des Zustandes und der Stillegung des Kernspeichers bleibt genügend Zeit, um dies auszuführen und die Ausführung der vorliegenden Befehle oder die Iteration eines wiederholten Befehls zu beenden. Sobald die Ausführung des Befehls beendet ist, wird der Inhalt aller für die Wiederingangsetzung erforderlichen Flipflops in dem energieunabhängigen Dünnfilm-Stromausfall-Abwurfregister (PDR) 064 und 065 gespeichert. Die ersten 16 Bits dieses 32 Bits umfassenden Registers sind die gleichen wie jene, die in das Unterbrechungs-Abwurfregister (IDR) eingeführt werden, wobei Bit 14 und Bit 13 gesetzt werden, wenn der dem Aussetzen des Stromes entsprechende Unterbrechungszustand während der Steuerbetriebsart auftritt. Die nächsten 12 Bits werden verwendet, um den Inhalt des Unterbrechungsregisters 11-18 zu speichern, und die letzten 4 Bits bleiben leer.
Die dem Grundtaktzuwachs (increment real-timeclock) entsprechende Unterbrechung tritt ungefähr alle 10 Millisekunden auf. Dieser Unterbrechungszustand wird durch den festen Aufbau des Rechners verarbeitet und kann den Ablauf irgendeines Programms nicht aufhalten und es nur kurz verzögern. Die Verarbeitung geschieht durch Ausgabe des Inhalts des Grundtaktregisters (RTC)WA und 115 aus dem Dünnfilmspeicher 11-24, durch Inkrementieren desselben und Zurückschreiben in den Dünnfilmspeicher sowie durch Setzen eines Flipflops, um das dem Grundtakt-Überlauf-Unterbrechungszustand entsprechende Bit zu erzeugen, wenn ein Überlaufzustand eingetreten ist.
Das »A«- Register 11 -\A innerhalb der arithmetischen Einheit 11-1 ist eine 48 Bits umfassende Speichervorrichtung, welche die Maskenbits enthält, die dem Maskenregister 11-12 zugesandt werden.
Es gibt insgesamt 19 Bits, die aus dem »/!«-Register 11-1/4 in das Maskenregister 11-12 übertragen werden, und von diesen stellen 16 Bits die Maskenbits dar, die dem »^«-Register 11-12P zugesandt werden, das mit den Unterbrechungsbits für die sechzehn äußeren
r> Anfragen verbunden ist.
Das Maskenregister 11-12 ist aus 19 Flipflops zusammengesetzt. 16 Flipflops sind im »^«-Register 11-12F enthalten und mit den Unterbrechungssignalen für die sechzehn äußeren Anfragen verbunden. Die
ίο übrigen im Register 11-12Q enthaltenen drei Flipflops sind mit den Unterbrechungssignalen verbunden, welche dem arithmetischen Überlauf, der Beendigung eines Eingabe-Ausgabe-Vorganges und dem Grundtakt entsprechen.
Das Vorhandensein irgendeines dieser Unterbrechungsbits, die diesen 19 Flipflops entsprechen und die von den 27 Unterbrechungssignalen 11-10 herkommen, ermöglichen einem der 19 UND-Glieder von 11-14.4 und 11-145, ein Signal passieren zu lassen.
Im Block 11-14,4 sind 16 UND-Glieder und im Block ll-145sind drei UND-Glieder enthalten.
Die 16 UND-Glieder von 11-14/1 sind dem 16 Bits umfassenden »/'«-Maskenregister und mit den sechszehn äußeren Anfragen entsprechenden Unterbrechungsbits von den 27 Bits von 11-10 zugeordnet. Wenn eines oder alle 16 Bits sowohl vom Maskenregister als auch von den den äußeren Anfragen entsprechenden Unterbrechungssignalen vorhanden sind, gibt das ODER-Glied 11-15 ein Ausgangssignal ab. Dieses stellt ein Eingangssignal zu den im Block 11-16 vereinigten sechs UND-Gliedern dar. Die übrigen fünf Unterbrechungssignale sind das arithmetische Überlaufssignal, das mit einem der drei UND-Glieder von ll-14ß verbunden ist, die dem Hinausschreiben über die Speichergrenzen entsprechende Unterbrechung, die Unzulässiger-Befehl-Unterbrechung und die Paritätsfehler-Unterbrechung. Wenn eines dieser sechs Signale mit einem der Normalbetriebsart entsprechenden Signal kombiniert ist, wird es innerhalb des Unterbrechungsregisters 11-18 ein Unterbrechungsbit erzeugen.
Die Ausgangssignale von den übrigen beiden
UND-Gliedern von ll-14ßsind die Unterbrechungsbits, die der Beendigung eines Eingabe-Ausgabe-Vorganges und dem Grundtakt entsprechen. Diese beiden Signale gehen ohne jede weitere Verknüpfung unmittelbar in das Unterbrechungsregister 11-18.
Von den im Unterbrechungssignalblock 11-10 insgesamt enthaltenen 27 Signalen bleiben vier Unterbrechungssignale übrig.
so Zwei von diesen vier Signalen besitzen höchste Priorität und gehen nicht durch das Unterbrechungsregister 11-18 hindurch. Es sind die Unterbrechungen, die dem Aussetzen des Stromes und der Grundtaktzählung entsprechen. Die letzten beiden Signale sind ohne weitere Verknüpfung direkt durch das Unterbrechungsregister 11-18 durchgeschaltet. Es sind dies die Unterbrechungssignale, die der Unterbrechung des Rechners N und der Wiederingangsetzung nach dem Aussetzen des Stromes entsprechen.
Hierzu 8 Blatt Zeichnungen
909 646/2

Claims (6)

Patentansprüche:
1. Unterbrechungseinrichtung für ein Datenverarbeitungssystem mit einem Arbeitsspeicher zur Aufnahme von Objektprogrammen und Steuerprogrammen, ferner mit Prozessoren, die beim Ausführen der Objektprogramme in einer Normalbetriebsart und beim Ausführen der Steuerprogramme in einer Steuerbetriebsart arbeiten, ferner mit mindestens einem Eingangs-Ausgangs-Steuergerät, das dem Arbeitsspeicher und den Prozessoren gemeinsam zugeordnet ist,. und mit mehreren Unterbrechungsanforderungssignalgebern, die in der Lage sind, mehrere Unterbrechungsanforderungssignale zu erzeugen, von denen jedes individuell einem bestimmten Ereignis zugeordnet ist, dadurch gekennzeichnet, daß alle Unterbrechungsanforderungssignale jedem der im wesentlichen identischen Prozessoren (18) zuführbar sind und daß jeder dieser Prozessoren eine nur auf ausgewählte Unterbrechungsanforderungssignale ansprechende Steuervorrichtung (4-34,4-36... 4-42) aufweist, die beim Auftreten eines dieser ausgewählten Signale eine Umschaltung dieses Prozessors von der Normalbetriebsart (18-1) in eine Steuerbetriebsart (18-2) bewirkt; daß die Steuervorrichtungen (z. B. Steuervorrichtung 4-34, 4-36 ... 4-42) jeweils ein Maskenregister (4-34) aufweisen, dessen Stellen (FF \ bis FF19) sowohl durch den zugehörigen Prozessor als auch durch einen anderen Prozessor individuell setzbar sind, daß die Steuervorrichtungen jeweils eine Prioritätsvorrichtung (4-40) zum Verarbeiten der Unterbrechungsanforderungssignale in einer vorgegebenen Prioritätsreihenfolge aufweisen und daß jedem Prozessor (18) eine Betriebsartenumschalteinrichtung (IC- 10) beigeordnet ist, der eine Sperrvorrichtung (AG29) zum Sperren der Anerkennung eines der ausgewählten Unterbrechungsanforderungssignale von den übrigen Prozessoren in der Steuerbetriebsart vorgeschaltet ist.
2. Unterbrechungseinrichtung nach Anspruch 1, dadurch gekennzeichnet, daß die Betätigung der Steuervorrichtung (4-34, 4-36 ... 4-42) durch eines von bestimmten ausgewählten Unterbrechungsanforderungssignalen, insbesondere dem einer Störung der Stromversorgung zugeordneten Unterbrechungsanforderungssignal, die Speicherung des Inhalts bestimmter Programmregister (BAR, BPR, PCR) in einem Register (ISR) eines energieunabhängigen Speichers (11-24), insbesondere eines Dünnfilmspeichers, bewirkt, um eine spätere Benutzung bei selbsttätiger Wiederaufnahme des Programms zu ermöglichen.
3. Unterbrechungseinrichtung nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß am Ende einer durch eine Störung in der Netzspannungsversorgung verursachten Unterbrechung der Prozessor durch ein Uhterbrechungsanforderungssignal (13) selbsttätig in der Steuerbetriebsart (18-2) wieder in Gang gesetzt wird unabhängig von der Betriebsart des Prozessors vor dem Auftreten des der Netzspannungsstörung zugeordneten Unterbrechungsanforderungssignals.
4. Unterbrechungseinrichtung nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß die Steuervorrichtung (z. B. Steuervorrichtung 4-34 ... 4-42) jeweils Speicherelemente (FFTQ ... FF29) zum Speichern von Unterbrechungsanforderungssignalen aufweisen, welche Signale bestimmten Bedingungen desselben Prozessors (18) oder des übrigen Teils des gesamten Datenverarbeitungssystems, insbesondere Eingabe-Ausgabe-Operationen, zugeordnet sind.
5. Unterbrechungseinrichtung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß den Unterbrechungsanforderungssignalen jeweils bestimmte Programmarten der im Arbeitsspeicher (20) gespeicherten Programme zugeordnet sind, die den jeweiligen Betriebsarten-Umschalteinrichtungen (IC-IU) nach Identifikation des Unterbrechungsanforderungssignals ermöglichen, ein diesem identifizierten Unterbrechungsanforderungssignal zugeordnetes Programm durch ihre zugeordneten Prozessoren ausführen zu lassen.
6. Unterbrechungseinrichtung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die Prozessoren nach Ausführung ihrer Aufgabe in der Steuerbetriebsart (18-2) jeweils selbsttätig in ihre Normalbetriebsart (18-1) zurückkehren.
DE1449529A 1962-11-30 1963-11-30 Unterbrechungseinrichtung für ein Datenverarbeitungssystem Expired DE1449529C3 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US241225A US3286239A (en) 1962-11-30 1962-11-30 Automatic interrupt system for a data processor

Publications (3)

Publication Number Publication Date
DE1449529A1 DE1449529A1 (de) 1970-01-29
DE1449529B2 DE1449529B2 (de) 1971-09-02
DE1449529C3 true DE1449529C3 (de) 1979-11-15

Family

ID=22909780

Family Applications (1)

Application Number Title Priority Date Filing Date
DE1449529A Expired DE1449529C3 (de) 1962-11-30 1963-11-30 Unterbrechungseinrichtung für ein Datenverarbeitungssystem

Country Status (4)

Country Link
US (1) US3286239A (de)
DE (1) DE1449529C3 (de)
FR (1) FR1389496A (de)
GB (1) GB1063141A (de)

Families Citing this family (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3991406A (en) * 1963-12-31 1976-11-09 Bell Telephone Laboratories, Incorporated Program controlled data processing system
DE1250659B (de) * 1964-04-06 1967-09-21 International Business Machines Corporation, Armonk, NY (V St A) Mikroprogrammgesteuerte Datenverarbeitungsanlage
US3333252A (en) * 1965-01-18 1967-07-25 Burroughs Corp Time-dependent priority system
US3483521A (en) * 1966-05-13 1969-12-09 Gen Electric Program request storage and control apparatus in a multiprogrammed data processing system
US3415981A (en) * 1967-10-10 1968-12-10 Rca Corp Electronic computer with program debugging facility
US3560935A (en) * 1968-03-15 1971-02-02 Burroughs Corp Interrupt apparatus for a modular data processing system
US3614742A (en) * 1968-07-09 1971-10-19 Texas Instruments Inc Automatic context switching in a multiprogrammed multiprocessor system
US3623013A (en) * 1969-08-13 1971-11-23 Burroughs Corp Data processing network and improved terminal
US4942516A (en) * 1970-12-28 1990-07-17 Hyatt Gilbert P Single chip integrated circuit computer architecture
US3648253A (en) * 1969-12-10 1972-03-07 Ibm Program scheduler for processing systems
US3699532A (en) * 1970-04-21 1972-10-17 Singer Co Multiprogramming control for a data handling system
US3659272A (en) * 1970-05-13 1972-04-25 Burroughs Corp Digital computer with a program-trace facility
US3707725A (en) * 1970-06-19 1972-12-26 Ibm Program execution tracing system improvements
GB1344474A (en) * 1971-03-04 1974-01-23 Plessey Co Ltd Fault detection and handling arrangements for use in data proces sing systems
USH1970H1 (en) 1971-07-19 2001-06-05 Texas Instruments Incorporated Variable function programmed system
US3786430A (en) * 1971-11-15 1974-01-15 Ibm Data processing system including a small auxiliary processor for overcoming the effects of faulty hardware
US3774163A (en) * 1972-04-05 1973-11-20 Co Int Pour L Inf Hierarchized priority task chaining apparatus in information processing systems
US3795800A (en) * 1972-09-13 1974-03-05 Honeywell Inf Systems Watchdog reload initializer
US3813531A (en) * 1973-01-02 1974-05-28 Honeywell Inf Systems Diagnostic checking apparatus
US3838260A (en) * 1973-01-22 1974-09-24 Xerox Corp Microprogrammable control memory diagnostic system
US3831151A (en) * 1973-04-04 1974-08-20 Gte Automatic Electric Lab Inc Sense line processor with priority interrupt arrangement for data processing systems
US3898621A (en) * 1973-04-06 1975-08-05 Gte Automatic Electric Lab Inc Data processor system diagnostic arrangement
GB1448866A (en) * 1973-04-13 1976-09-08 Int Computers Ltd Microprogrammed data processing systems
US3974480A (en) * 1974-05-08 1976-08-10 Francois Gernelle Data processing system, specially for real-time applications
US4037204A (en) * 1974-10-30 1977-07-19 Motorola, Inc. Microprocessor interrupt logic
US4004283A (en) * 1974-10-30 1977-01-18 Motorola, Inc. Multiple interrupt microprocessor system
SE7512399L (sv) * 1974-11-07 1976-05-10 Decca Ltd Anordning for datakvarhallning
US3984820A (en) * 1975-06-30 1976-10-05 Honeywell Information Systems, Inc. Apparatus for changing the interrupt level of a process executing in a data processing system
US4225917A (en) * 1976-02-05 1980-09-30 Motorola, Inc. Error driven interrupt for polled MPU systems
US4159516A (en) * 1976-03-23 1979-06-26 Texas Instruments Incorporated Input/output controller having selectable timing and maskable interrupt generation
US4084262A (en) * 1976-05-28 1978-04-11 Westinghouse Electric Corporation Digital monitor having memory readout by the monitored system
US4048671A (en) * 1976-06-30 1977-09-13 Ibm Corporation Address match for data processing system with virtual addressing
US4218739A (en) * 1976-10-28 1980-08-19 Honeywell Information Systems Inc. Data processing interrupt apparatus having selective suppression control
GB1545169A (en) * 1977-09-22 1979-05-02 Burroughs Corp Data processor system including data-save controller for protection against loss of volatile memory information during power failure
JPS5515007A (en) * 1978-07-19 1980-02-01 Hitachi Ltd Display control method
DE2841750A1 (de) * 1978-09-26 1980-04-03 Bosch Gmbh Robert Verfahren und einrichtung zum bestimmen der einzelnen stellgroessen einer brennkraftmaschine, insbesondere einer gasturbine
US4381540A (en) * 1978-10-23 1983-04-26 International Business Machines Corporation Asynchronous channel error mechanism
US4320450A (en) * 1979-10-30 1982-03-16 Honeywell Inc. Protection apparatus for multiple processor systems
US4400775A (en) * 1980-02-28 1983-08-23 Tokyo Shibaura Denki Kabushiki Kaisha Shared system for shared information at main memory level in computer complex
GB2072381B (en) * 1980-03-21 1983-12-07 Philips Nv Computer controlled apparatus operated in the case of a power failure
US4327410A (en) * 1980-03-26 1982-04-27 Ncr Corporation Processor auto-recovery system
US4420806A (en) * 1981-01-15 1983-12-13 Harris Corporation Interrupt coupling and monitoring system
US4399538A (en) * 1981-04-30 1983-08-16 Pitney Bowes Inc. Control system for inhibiting processing communications
US4506323A (en) * 1982-03-03 1985-03-19 Sperry Corporation Cache/disk file status indicator with data protection feature
GB2145253A (en) * 1983-08-17 1985-03-20 Philips Electronic Associated Method of controlling a domestic appliance
US4868832A (en) * 1986-04-30 1989-09-19 Marrington S Paul Computer power system
US4852051A (en) * 1986-07-18 1989-07-25 The Toro Company Flexible irrigation controller
US5041964A (en) * 1989-06-12 1991-08-20 Grid Systems Corporation Low-power, standby mode computer
US5163153A (en) * 1989-06-12 1992-11-10 Grid Systems Corporation Low-power, standby mode computer
US5241680A (en) * 1989-06-12 1993-08-31 Grid Systems Corporation Low-power, standby mode computer
DE102005040917A1 (de) * 2005-08-30 2007-03-08 Robert Bosch Gmbh Datenverarbeitungssystem und Betriebsverfahren dafür
US7925923B1 (en) 2008-01-31 2011-04-12 Hewlett-Packard Development Company, L.P. Migrating a virtual machine in response to failure of an instruction to execute
JP4990250B2 (ja) * 2008-09-18 2012-08-01 株式会社日立産機システム 割込制御装置、割込制御システム、割込制御方法および割込制御プログラム
US11474160B2 (en) 2020-08-18 2022-10-18 Rohde & Schwarz Gmbh & Co. Kg Battery emulation apparatus
US11792135B2 (en) 2022-03-07 2023-10-17 Bank Of America Corporation Automated process scheduling in a computer network
US11922161B2 (en) 2022-03-07 2024-03-05 Bank Of America Corporation Scheduling a pausable automated process in a computer network

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL136146C (de) * 1957-12-09
NL228704A (de) * 1958-06-13
US3029414A (en) * 1958-08-11 1962-04-10 Honeywell Regulator Co Information handling apparatus
US3061192A (en) * 1958-08-18 1962-10-30 Sylvania Electric Prod Data processing system
USRE26087E (en) * 1959-12-30 1966-09-20 Multi-computer system including multiplexed memories. lookahead, and address interleaving features
NL260534A (de) * 1960-02-10
NL267533A (de) * 1960-07-29
US3200380A (en) * 1961-02-16 1965-08-10 Burroughs Corp Data processing system
US3238506A (en) * 1961-06-27 1966-03-01 Ibm Computer multiplexing apparatus
NL297037A (de) * 1962-08-23

Also Published As

Publication number Publication date
GB1063141A (en) 1967-03-30
DE1449529B2 (de) 1971-09-02
FR1389496A (fr) 1965-02-19
US3286239A (en) 1966-11-15
DE1449529A1 (de) 1970-01-29

Similar Documents

Publication Publication Date Title
DE1449529C3 (de) Unterbrechungseinrichtung für ein Datenverarbeitungssystem
DE2722099C2 (de)
DE2328058C2 (de) Fehlerdiagnoseeinrichtung in einer digitalen Datenverarbeitungsanordnung
EP0636956B1 (de) Aufdatverfahren
DE1524209B2 (de) Programmgesteuerte datenverarbeitungsanlage
DE2751106C2 (de)
DE1524239B2 (de) Schaltungsanordnung zur aufrechterhaltung eines fehler freien betriebes bei einer rechenanlage mit mindestens zwei parallel arbeitenden rechengeraeten
DE2644431A1 (de) Datenendstation mit einer anordnung zum anschalten und initialisieren der endstation
DE2320698A1 (de) Mehrfach-datenverarbeitungsanlage, insbesondere zur ueberwachung von fernmeldevermittlungseinrichtungen
DE3500804A1 (de) Unterbrechungssteuerkreis
DE1424762B2 (de) Datenverarbeitungsanlage
DE1574598C3 (de) Steuereinrichtung für Fernmelde-, insbesondere Fernsprechvermittlungsanlagen
EP0764906B1 (de) Verfahren zum Betreiben eines durch ein Realzeit-Betriebssystem gesteuerten Realzeit-Computersystems
DE1549437A1 (de) Datenverarbeitendes System aus mehreren miteinander verbundenen Datenverarbeitungsanlagen
DE2461592C3 (de) Anordnung zur Durchführung von Wartungsoperationen bei einem Datenverarbeitungssystem
CH637230A5 (de) Einrichtung zur programmunterbrechung und steuerung der programmebenen-umschaltung in einer datenverarbeitungsanlage.
DE2758023B2 (de) Anschlußschaltung für eine Eingabe-/ Ausgabeschnittstelle einer Datenverarbeitungsanlage
EP0048991B1 (de) Verfahren und Anordnung zur Behandlung von Unterbrechungsbedingungen während des Arbeitsablaufes in Datenverarbeitungsanlagen mit Mikroprogrammsteuerung
DE2350229A1 (de) Datenverarbeitungsanlage, insbesondere als steuereinrichtung fuer fernsprechvermittlungsanlagen
EP0360135B1 (de) Verfahren zur Interruptverarbeitung in einer Datentverarbeitungsanlage
EP2881812B1 (de) Verfahren zum Betreiben einer Automatisierungseinrichtung
DE19901879A1 (de) Verfahren zum Tracen von Daten
EP1283471B1 (de) Programmgesteuerte Einheit
EP0496927B1 (de) Verfahren für den fehlerbedingten Neustart eines Multiprozessorrechners eines Fernmeldevermittlungssystems
DE2622140C3 (de) Einrichtung zur Steuerung manueller Operationen

Legal Events

Date Code Title Description
C3 Grant after two publication steps (3rd publication)