DE2754890C2 - Einrichtung zur Programmunterbrechung - Google Patents
Einrichtung zur ProgrammunterbrechungInfo
- Publication number
- DE2754890C2 DE2754890C2 DE2754890A DE2754890A DE2754890C2 DE 2754890 C2 DE2754890 C2 DE 2754890C2 DE 2754890 A DE2754890 A DE 2754890A DE 2754890 A DE2754890 A DE 2754890A DE 2754890 C2 DE2754890 C2 DE 2754890C2
- Authority
- DE
- Germany
- Prior art keywords
- program
- program level
- control
- signals
- signal
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
- G06F9/4825—Interrupt from clock, e.g. time of day
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
Description
Die Erfindung betrifft eine Einrichtung zur Programmunterbrechung
nach dem Oberbegriff des Anspruchs 1.
Zur Durchführung von Programmunterbrechungen und zur Steuerung der prioritätsgerechten Programmebenen-Umschaltung
gibt es bei bekannten Datenverarbeitungsanlagen im wesentlichen zwei Prinzipien:
1. Das periodische Abfragen von asynchronen, für den Prozessor externen Vorgängen auf eventuell
notwendige Bedienung und
2. das direkte Eingreifen der asynchronen externen Vorgänge in den Prozessor-Ablauf (Steuerung
durch Masken und Prioritätssteuerung).
Das erste Prinzip findet hauptsächlich Anwendung in Prozessoren mit nur einer Programmebene (d. h. mit nur
einem Instruktions-Adressenregister, nur einem Bedingungscoderegister
und nur einem Arbeitsspeicher), um im Bedarfsfall, d. h, beim Erkennen einer asynchronen,
esternen Anforderung, auf die für die externe Bedienung vorgesehenen Programme umzuschalten (pdp U/45,
processor handbook, digital equipment corporation, 1971, Seiten 1 bis 24 und Seiten 205 bis 218).
Im Gegensatz hierzu sind die nach dem zweiten Prinzip betriebenen Prozessoren an bestimmte Voraussetzungen
ihrer Schaltkreisstruktur gebunden:
— Prioritätsschaltungen zum Bestimmen der jeweils in der Priorität höchsten Anforderung bei gleichzeitigem
Auftreten mehrerer Anforderungen und
— die den einzelnen Prioritätsebenen zugeordneten Instruktionsadressenregister, Bedingungscoderegister
und Arbeitsspeicher.
Bei den nun folgenden Betrachtungen wird ein Prozessor zugrunde gelegt, der nach dem zweiten
Prinzip arbeitet. Dieser Prozessor möge acht Unterbrechungsebenen mit den dazugehörigen Instruktionsadressenregistern,
Bedingungscoderegistern und Arbeitsspeichern besitzen. Diese acht Unterbrechungsebenen
sind mit 0 bis 7 bezeichnet, wobei der Ebene 0 die höchste und der Ebene 7 die niedrigste Priorität
zugeordnet ist.
Zur Steuerung der acht Unterbrechungs- oder, wie noch zu sehen sein wird, Programmebenen, besitzt der
Prozessor die erforderlichen Prioritätsschaltungen sowie verschiedene Masken, um die Prioritätsschaltungen
in begrenzten Bereichen zu übersteuern.
Bei bekannten Datenverarbeitungsanlagen dieser Art sind den acht Programmebenen die verschiedenen für
die Bedienung der externen Vorgänge vorgesehenen Mikroprogramme zugeordnet. In F i g. 3 ist dargestellt,
welche Funktionen den einzelnen Programmebenen zugeordnet werden können, wenn der Prozessor im
wesentlichen Serviceaufgaben zu erfüllen hat. Einem solchen Service-Prozessor sind im allgemeinen die
Aufgaben der anfänglichen Programmladung, der Fehlererkennung und Diagnose, der Bedienung bestimmter
Systemkomponenten, wie beispielsweise Konsole mit Tastatur und Bildschirmgerät und, bei höher
intelligenten Datenverarbeitungsanlagen, auch der Systemumstrukturierung vorbehalten. Die vorstehend
genannten Aufgaben, die solche Service-Prozessoren zu erfüllen haben, sind hier keineswegs erschöpfend
aufgeführt, sondern sie stellen nur einen Auszug aus einem Katalog von Aufgaben dar, die Service-Prozessoren
übertragen werden können.
Im Beispiel der F i g. 3 beherbergt die Programmebene 0 mit der höchsten Priorität alle Mikroprogramme
zur Analyse und Behandlung von durch Fehlerprüfschaltung°n entdeckte Prozessor-Feliler (EA).
Die Programmebene 1, die durch Fehler (PSF) in der internen Stromversorgung aktiviert werden kann, hat
die Aufgabe, die verschiedenen internen Stromversorgungsgeräte unter Einhaltung einer bestimmten Se-
' quenz abzuschalten.
In der Programmebene 2 befindet sich das Mikroprogramm für die Betreuung eines Fernwartungsanschlußes (RS), mit dessen Hilfe der Serviceprozessor, der sich
in einer Wartungszentrale befindet, für Servicezwecke auf entsprechende andere Prozessoren, die mit dem
zentralen Service-Prozessor zu einem Stern zusammenschaltbar sind, über Modems oder dergleichen Kommunikationsadapter anschließbar ist.
Die Programmebene 3 enthält beispielsweise die to Mikroprogramme für die Bedienung von Tastatur und
Bildschirm (DISPL) der Prozessorkonsole.
Die Programmebene 4 enthält das Mikroprogramm eines Sammelleitungsadapters (BBA), über den der
Service-Prozessor mit dem übrigen System verbunden ist
Das Mikroprogramm zur Bedienung einer Diskette (DISK), beispielsweise für das Sammeln von Fehlerdaten für Diagnose- und Wartungszwecke, ist, wie F i g. 3
zeigt, in der Programmebene 5 untergebracht
Die Mikroprogramme zur Abfrage des Systemstatus (SYST) und zur Messung der internen Betriebsspannungen liegen in der Programmebene 6.
Schließlich liegen alle transienten Mikroprogramme (TRANS) auf der niedrigsten Ebene 7.
Diese verschiedenen, hier nur kurz erwähnten Aufgaben können parallel, d. h. asynchron, ablaufen, so
daß auch ihre Anforderungen an die Mikroprogramme asynchron zum jeweils laufenden Mikroprogramm aktiv
werden können.
Die Anforderung mit der jeweils höchsten Priorität hat das Recht ein laufendes Programm niedrigerer
Priorität in der Lücke zwischen zwei Mikroinstruktionen zu unterbrechen. Die M ikro-Folgeadresse und der
zuletzt gültige Bedingungscode sowie der dazugehörige gesamte Arbeitsspeicherinhalt bleiben bis zur Wiederaufnahme dieses Programms unverändert erhalten.
Generell bedeutet dieses, daß beim Auftreten einer neuen externen, asynchronen Anforderung und bei
Beendigung der Bedienung einer Programmebene eine neue Prioritätsüberprüfung mit der notwendigen Entscheidung, welche Anforderung die höchste Priorität
aufweist stattfindet so daß dieser die Steuerung des Prozessors übertragen werden kann.
Hieraus ist zu erkennen, daß sich die Mikroprogramme auf den verschiedenen Programmebenen die
Steuerung des Prozessors gegenseitig wegnehmen. Diese allgemein übliche Methode bei Prozessoren, die
nach dem zweiten Prinzip, also unterbrechungsgesteuert arbeiten, hat drei gravierende Schwächen:
- Säe ist sehr störanfällig, da fehlerhafte asynchrone
Anforderungen, die durch fehlerhafte Schaltkreise entstehen können, entsprechend ihrer Priorität ein
Umschalten der laufenden Programme veranlassen können, wobei Sekundäreffekte durch fehlerhaft
aufgerufene Programme erzeugt werden.
- Ein »stationärer Zustand« läßt sich nur schwer oder
gar nicht vorherbestimmen, so daß diese Methode zu nicht vorhersehbaren »Oberläufen« führt «
- Schaltkreis- oder Mikroprogramm bedingte Fehler lassen sich in dieser »unkontrollierten« Anordnung
sehr schwer und nur unter beträchtlichem Zeitaufwand analysieren.
65
Die Aufgabe der Erfindung besteht deshalb darin, die
vorstehend genannten Nachteile zu vermeiden. Unterbrechungen externer Anforderungen sollen nicht mehr
zu asynchronen, d. h. unkontrollierten Ablösungen/Unterbrechungen von Programmen führen. Ferner sollen
bei der Durchführung von Unterbrechungen (Programmablösungen) nur bestimmte Steuerblöcke — das
sind den verschiedenen Programmebenen zugeordnete Register oder Registersätze, die ein Programmstatuswort sowie gegebenenfalls weitere programmrelevante
Information zwischenspeichern — und nicht die Mikroprogramme selbst umgeschaltet werden. Außerdem sollen die Steuerblöcke im Bereich einer verwendeten höheren Sprache für die jeweilige Programmebene
erlaubte Instruktionstypen und Speicherbereiche festlegen.
Gelöst wird diese Aufgabe der Erfindung durch die im Hauptanspruch angegebenen Merkmale.
Weitere vorteilhafte Ausgestaltungen und Weiterbildungen des Gegenstandes der Erfindung sind den
Unteransprüchen zu entnehmen.
Durch die Erfindung werden im wesentlichen zwei Vorteile erreicht:
1. Es werden asynchrone Programmunterbrechungen bzw. Ablösungen aufgrund von asynchron auftretenden externen Unterbrechungsanforderungen
z. B. durch die Ein-/Ausgabegeräte während der Ausführung von Programmen verhindert.
2. Das nunmehr synchronisierte Umschalten von den einzelnen Programmebenen zugeordneten Steuerblöcken erfolgt an einem speziellen vorgegebenen
Punkt in der Interpretationsphase eines Befehls.
Im folgenden wird die Erfindung anhand eines durch Zeichnungen erläuterten Ausführungsbeispiels näher
beschrieben. Es zeigt
F i g. 1 das Blockschaltbild der Programmunterbrechungseinrichtung sowie ihre Anschaltung an den
Hauptdatenverarbeitungskomplex,
Fig.2 als Blockschaltbild ein Ablaufdiagramm zur
Veranschaulichung der notwendigen Steuerfunktionen, während der Interpretations- und Ausführungsphase
zur Durchführung oder Unterdrückung einer Programmebenenumschaltung,
F i g. 3 eine Prinzipdarstellung möglicher Programmebenen und deren Prioritätsrangzuteilung,
F i g. 4 das Blockschaltbild des in F i g. 1 dargestellten Steuersignalgenerators 203,
F i g. 5 ein Zeitdiagramm zur Veranschaulichung der Wirkungsweise der in F i g. 1 dargestellten Einrichtung,
F i g. 6, 6A bis 6D ein Blockschaltbild der in F i g. 1 dargestellten Steuerung 202 für den Programmebenenschalter,
F i g. 7 das Blockschaltbild des in F i g. 1 dargestellten Programmebenenschalters 201,
F i g. 8 ein Zeitdiagramm zur Veranschaulichung der Wirkungsweise des Programmebenenschalters 201 bei
einer Programmebenenumschaltung und
F i g. 9 das Blockschaltbild der in F i g. 1 dargestellten Ablaufsteuerung 204.
In Fig. 1 ist als Blockschaltbild eine Einrichtung zur Programmunterbrechung und Steuerung der prioritätsgerechten Programmebenenumschaltung dargestellt
Sie besteht aus einem Programmebenenschalter (PL-SW) 201, einer Steuerung für diesen Programmebenenschalter (PL-SW-C) 202, einem Steuersignalgenerator (CSG) 203 sowie einer Ablaufsteuerung (SC) 204, die
an den Hauptdatenverarbeitungskomplex (MDC) 200 angeschlossen sind.
Programmebenenschalter 201, der, wie im Zusammenhang mit F i g. 2 noch ausführlicher erläutert wird, bei
asynchron auftretenden Anforderungen eine synchrone Programmebenenumschaltung vornimmt.
Hierzu erzeugt die Steuerung für den Programmebenenschalter
202 eine Reihe von Steuersignalen ST-PL 0 bis ST-PL7 sowie LV-PLO bis LV-PL7. Außerdem
werden dem Programmebenenschalter 201 auch die beiden Zeitsteuersignale Tl und 7*2, auf die noch im
Rahmen der ausführlichen Erläuterung des Programmebenenschalters näher eingegangen wird, zugeführt.
Wie F i g. 1 weiter zeigt, benötigt auch die Steuerung 202 für den Programmebenenschalter eine Reihe von
Eingangssignalen, die diesem Schalter teils über ein Kabel 20 aus dem Hauptdatenverarbeitungskomplex, is
zum Teil aber auch über den Steuersignalgenerator 203 zugeführt werden. Die Aufgabe dieses Steuersignalgenerators
besteht darin, der Steuerung 202 für den Programmebenenschalter geeignete Steuersignale
PIRRQ bis PIRR 7, CMO bis CM 7 und HMS
zuzuführen. Diese Steuersignale werden ihrerseits aus den Bitsignalen 0 bis 7, den Steuersignalen 50 bis 53
sowie den Taktsignalen 7Ί und Tl erzeugt, die von der
Ablaufsteuerung 204 geliefert werden. Diese Ablaufsteuerung erzeugt die letztgenannten Signale aus
Instruktionen, die vom Hauptdatenverarbeitungskomplex 200 über die Steuerleitung 205 zur Ablaufsteuerung
204 übertragen werden.
Die Erzeugung dieser primären Steuersignale, die in F i g. 1 als Ausgangssignale dieser Ablaufsteuerung 204 jo
erscheinen, werden noch ausführlich im Zusammenhang mit F i g. 9 erläutert. i
F i g. 2 zeigt nun einen Ausschnitt des Interpretierers,
der, wie es üblich ist, den Programmablauf in einer Sequenz von Interpretations- und Exekutionsphasen
steuert, wobei jeweils einer Interpretationsphase /-&
eine Exekutionsphase Ε-Φ, auch Ausführungsphase genannt, nachfolgt Im oberen Teil der F i g. 2 ist bei 1.4
eine Operation dargestellt, mit deren Hilfe eine Hauptmaske HM aktiviert wird, die den Programmebenen
0 bis 7, dargestellt in Fig.3, die Steuerung der Maschine übertragen kann. Welchem Programm letztlich
die Maschinensteuerung für eine bestimmte Dauer überlassen wird, richtet sich nach den auftretenden
externen Programmunterbrechungen sowie den programmierten Programmunterbrechungen und bestimmten
Bedingungen, die noch ausführlich erläutert werden.
Den verschiedenen Unterbrechungsanforderungen, denen die eingangs aufgeführten Programmebenen
zugeordnet sind, wird nur an einer Stelle im Interpretierer stattgegeben, die, wie bereits erwähnt
wurde, unter Operation 4 in Fig.2 angegeben ist Es handelt sich hierbei um zwei direki »benachbarte«
Makroinstruktionen, die für die Dauer einer Mikroinstruktion die Hauptmaske (HM) des verwendeten
Prozessors einschalten und dann wieder ausschalten. Mit dieser Hauptmaske läßt sich die Auswirkung aller '
Unterbrechungsanforderungen, nämlich das Umschalten der Programme, grundsätzlich unterdrücken bzw.
erlauben. Eine Synchronisation des an sich asynchronen Vorgangs wird also dadurch erreicht, daß nur hier an
dieser Stelle die Hauptmaske für die Dauer einer Makroinstruktion aktiviert wird. Die unterschiedlichen
Aufgaben EA bis TRANS der acht Programmebenen werden von demselben Interpretierer durchgeführt Um
dieses zu erreichen, werden mittels der den verschiedenen
Programmebenen zugeordneten Programmstatuswörter PSW die entsprechenden Befehlsadressen dem
Interpretierer angeboten.
Bei den Unterbrechungsanforderungen kann es sich um solche der extern angeschlossenen Peripheriegeräte,
den sogenannten EiiWAusgabegeräten, als auch um solche handeln, die von Programmen ausgelöst werden.
Im vorliegenden Beispiel wird angenommen, daß sich in der Programmebene PL 6 ein internes Überwachungsprogramm
befindet, welches nach einer bestimmten Anzahl von Interpretierer-Durchläufen selbst
anlaufen soll. Um dieses zu erreichen, setzt der letzte Befehl der laufenden Programmebene einen Intervallzähler
auf, der mit jedem »Durchlauf« des Interpretierers heruntergezählt wird (vgl. die bei 16, 17 und 1
dargestellten Operationen).
Nach jedem Herunterzählen dieses Intervallzählers, dargestellt als Operation 1 in F i g. 2, wird getestet, ob er
den Wert 0 erreicht hat (vgl. Operation 2 in F i g. 2). Wenn dieses der Fall ist, wird mit Hilfe einer
programmierten Unterbrechungsanforderung PIRR die Anforderung für die Programmebene PL6 aufgesetzt.
Diese Funktion ist als Operation 3 dargestellt.
Unabhängig von diesem Vorgehen wird nun die Hauptmaske HM aktiviert, um einen Programmebenenwechsel,
wie bereits erwähnt wurde, nur an dieser Stelle des Interpretierers zu ermöglichen. Dieses ist durch die
Operation 4 in F i g. 2 angedeutet.
Falls die gerade aktive oder laufende Programmebene in ihrer Priorität tiefer liegt als eine möglicherweise
in Erscheinung getretene neue Unterbrechungsanforderung, dann wird das Programmstatuswort LFD-PSW
der laufenden Programmebene abgespeichert, um das Programmstatuswort der neuen Programmebene zu
übernehmen (vgl. Operationen 5 und 6 in F i g. 2).
Wie die Operationen 7 bis 10 erkennen lassen, erfolgt die Berücksichtigung der neuen Programmebene gemäß
ihrer Priorität, wobei der Programmebene 0 (PL 0) die höchste und der Programmebene sieben (PL7) die
niedrigste Priorität zugeordnet ist.
Nachdem also der Prioritätsrang der Unterbrechungsanforderungen überprüft worden ist, wird die
Hauptmaske HM wieder deaktiviert, wie es unter Operation 11 in Fig.2 dargestellt ist Somit kann sich
nach der Deaktivierung der Hauptmaske die normale und an sich bekannte Befehlsverarbeitung anschließen,
die, wie unter Operation 12 dargestellt ist, mit der Decodierung des Befehls begonnen wird. Daran
schließen sich die verschiedenen Ausführungsphasen Ε-Φ 1, Ε-Φ 2, Ε-Φ 3... an (vgl. Operationen 13 bis 15).
Wie schon zuvor erwähnt wurde, wird in der letzten Ausführungsphase eines Befehls der Intervallzähler
eingestellt und danach die laufende Programmebene zurückgestellt (vgl. Operationen 16 bis 17).
Es ist aus diesem Ablaufschema zu ersehen, daß nach der Deaktivierung der Hauptmaske die nachfolgende
Ausführung einer Interpretiererinstruktion ununterbrochen erfolgt Erst nach der vollständigen Ausführung
eines Interpretiererbefehls kann in der darauffolgenden /-Phase ein neuer Programmebenenwechsel vollzogen
werden.
Eine Besonderheit dieses Ablaufs liegt auch darin, daß
in der Ausführungsphase des letzten Interpretiererbefehls einer jeden Programmebene die laufende Programmebene
durch Löschen ihrer Unterbrechungsanforderung (!Roder PIRR)abgeschaltet (Operation 17)
wird.
Die Programmebene PL 6 setzt in der Ausführungsphase ihrer letzten Interpretiererinstruktion, wie eingangs
bereits erwähnt wurde, den Intervallzähler erneut
auf seinen Anfangswert (Operation 16).
Dieser besondere Ablauf, der asynchrone Programmunterbrechungen
bzw. Programmebenenwechsel während der Interpretation von Programmen verhindert und das synchrone Umschalten von den einzelnen
Ebenen zugeordneten Kontrollblöcken an einem ausgezeichneten Punkt in der sogenannten /-Phase des
Interpretierers ermöglicht, wird durch die in den F i g. 4, 6A bis 6D, 7 und 9 dargestellten Anordnungen gesteuert
Diese Anordnungen sind zusätzlich zu den in der verwendeten Datenverarbeitungsanlage vorhandenen
Schaltkreisen erforderlich.
Zunächst ist in F i g. 4 die Erzeugung der verschiedenen Steuersignale PlRRO bis PlRR 7 sowie CMO bis
CM 7 gezeigt, die als Eingangssignale für die in den F i g. 6A bis 6D dargestellte Steuerschaltung dienen, die
die synchrone Umschaltung der verschiedenen Programmebenen vornimmt
Die in der Datenverarbeitungsanlage vorhandenen Programmunterbrechungsquellen IS, die mit Hilfe ihrer
Unterbrechungsanforderungssignale IRO bis IR7 eine
stete Änderung des Programmablaufs hervorrufen, sind in F i g. 1 pauschal als Block 21 dargestellt. Über
individuelle Leitungen des Kabels 20 übertragen sie ihre Unterbrechungsanforderungssignale IRO bis IR 7 zu
der in den F i g. 6A bis 6D dargestellten Steueranordnung.
Diese erste Gruppe von Unterbrechungsanforderungssignalen IRQ bis IR7 können von speziellen
Adapterschaltungen erzeugt werden, die allerdings im einzelnen nicht dargestellt sind. Diese Unterbrechungsanforderungssignale
IR 0 bis IR 7 können auch, wie die späteren Ausführungen noch zeigen werden, von der
Ablaufsteuerung zurückgesetzt werden.
Die zweite Gruppe von Steuersignalen, deren Erzeugung in F i g. 4 dargestellt ist, sind die Steuersignale
PlRRO bis PlRR 7, die von der Ablaufsteuerung sowohl gesetzt als auch zurückgesetzt werden können.
Das Steuersignal SO dient in Verbindung mit den UN D-Toren 22a bis 22Λ zum Aufsetzen des Registers 1
(23), in dem die Bits 0 bis 7, die mit den Steuerkommandos vom Hauptdatenverarbeitungskomplex
200 zur Ablaufsteuerung 204 übertragen werden, zwischengespeichert werden. Diese Bits 0 bis 7, dienen
zusammen mit dem Steuersignal S1, das ebenso wie das
Steuersignal SO von der Ablaufsteuerung erzeugt wird, dem Setzen der P/ÄÄ-Flip-Flops 0 bis 7, die mit 25a bis
25h bezeichnet sind und die genannten Steuersignale PIRR 0 bis PlRR 7 erzeugen.
Mit Hilfe des Steuersignals SO gelangen die Bits 0 bis
7 über die UND-Tore 22a bis 22A zur Zwischenspeicherung in das Register 23. Mit Hilfe des Steuersignals S1,
das stets ein Eingangssignal für alle UND-Tore 24a bis 24Λ bildet, werden die im Register 1 (23) zwischengespeicherten
Bits 0 bis 7 über den jeweils anderen Eingang der genannten UND-Tore 24a bis 24Λ in die
PIRR-Flip-Flops 0 bis 7 (25a bis 25A; übertragen, was
mit dem Aufsetzen dieser Flip-Flops gleichbedeutend ist Dieses bedeutet aber auch, daß nur die aufgesetzten
P/RÄ-Flip-Flops an ihrem Ausgang das gewünschte
Steuersignal (PIRR 0 bis PIRR 7) erzeugen.
Schließlich ist auch noch eine dritte Gruppe von Steuersignalen CMO bis CM7 erforderlich, deren
Erzeugung von einer identisch aufgebauten Anordnung übernommen wird.
Diese Anordnung besteht wieder aus UND-Toren
26a bis 26Λ sowie einem nachgeschalteten Register 2 (27). Das Steuersignal SO, das, wie bereits erwähnt
wurde, von der Ablaufsteuerung generiert wird, und zwar zu Zeitpunkten, die aus der F i g. 5 zu ersehen sind,
ermöglicht auch hier über die UND-Tore 26a bis 26Λ die
Eingabe der Bits 0 bis 7 in das Register 2 (27).
Durch das Steuersignal S 2 wird dann der Inhalt dieses Registers über eine Anordnung von UND-Toren
28a bis 28Λ in individuelle Verriegelungsschaltungen CM-FLO bis CM-FL7 (29a bis 29li) übernommen. Die
Ausgangssignale der genannten Flip-Flops bilden dann die Steuersignale CMO bis CM 7, die in der eigentlichen
Steuerschaltung nach den F i g. 6A bis 6D eine wichtige Steuerfunktion übernehmen.
Schließlich ist in F i g. 4 noch zu sehen, daß mit Hilfe des Steuersignals S3, das ebenfalls von der Ablaufsteuerung
204 erzeugt wird (Zeitpunkt gemäß Fig.5) ein
Hauptmasken-Flip-Flop 30 (HM-FL) gesetzt wird, das im eingestellten Zustand das Ausgangssignal HMS
erzeugt.
Die Wirkungen der Steuersignale IRO bis /Ä7,
PlRRO bis PIRR7 sowie CMO bis CM7 und HMS werden noch im Zusammenhang mit den F i g. 5 und 6A
bis 6D näher beschrieben.
Es sei noch einmal daran erinnert, daß die asynchron
eintreffenden Unterbrechungsanforderungen, die durch die Signale IR 0 bis IR 7 charakterisiert sind, mittels der
Hauptmaske HM in der sogenannten /-Phase des Interpretierers synchronisiert werden, indem nur an
dieser Stelle die Hauptmaske HM kurzzeitig aktiviert wird.
Die Fig.6A bis 6D zeigen nun die für die Programmauswahl vorgesehene Schaltungsanordnung.
In dieser Schaltungsanordnung werden die asynchron eintreffenden Unterbrechungsanforderungen der
Steuerung durch die Hauptmaske unterworfen und bei einer aktivierten Hauptmaske nach ihrer Priorität
geordnet. Die Unterbrechungsanforderung mit der jeweils höchsten Priorität zeugt dann ein Startsignal
ST-PLi, das dem ihm zugeordneten Programm PLi in Verbindung mit dem Programmebenenschalter nach
F i g. 7 die Steuerung der Datenverarbeitungsanlage für eine bestimmte Dauer, die noch ausführlich erläutert
wird, überträgt
Eine Programmumschaltung von einem Programm mit einer niedrigeren Priorität auf ein solches mit einer
höheren Priorität setzt auch eine Schaltungsanordnung voraus, die das gegenwärtig operierende Programm
einer bestimmten Priorität dazu veranlaßt seinen Betrieb einzustellen und sein zuletzt gültiges Programmstatuswort
LFD-PSW in dem Programmstatus-Wortregister PSWi-R seiner zugehörigen Programmebene
zu retten. Diese Schaltungsanordnung ist ebenfalls in den F i g. 6A bis 6D dargestellt; sie erzeugt
die Steuersignale LV-PL 0 bis LV-PL 7.
Zur Erläuterung der Wirkungsweise der genannten Schaltungsanordnungen kann am besten das folgende
Beispiel dienen, bei dem angenommen wird, daß erstens
die Programmebene PL 4 aktiv und zweitens die gemeinsame Maske für die Programmebene PL2
aktiviert ist Fig.8, die ein Zeitdiagramm zur Veranschaulichüng
eines Programmebenenwechsels darstellt zeigt in der zweiten Zeile von oben das asynchrone
Auftreten einer Unterbrechungsanforderung, der das Unterbrechungsanforderungssignal IR 2 zugeordnet ist
Diese Unterbrechungsanforderung führt, wie Fig.8
zeigt trotz ihrer um zwei Stufen höheren Priorität als die Programmebene PLA mit der Priorität 4 nicht zu
einem Programmebenenwechsel, da die zu diesem Zeitpunkt noch nicht aktivierte Hauptmaske HMdieses
verhindert.
In der nächsten /-Phase des Interpretierers wird nun die Hauptmaske HM aktiviert, wodurch das Signal
HMS erzeugt wird (das bereits im Zusammenhang mit Fig.4 erläutert wurde), um einen eventuellen Programmebenenwechsel
zu ermöglichen.
Die Schaltungsanordnung zur Auswahl der jeweils aktiven Programmebene, die in den Fig.6A bis 6D
dargestellt ist, besteht zunächst aus einem Satz ODER-Toren 60a bis 60Λ, einem ersten Satz von
UND-Toren 70a bis 70Λ, einem zweiten Satz von UN D-Toren 80a bis 80g, einem dritten Satz von
UND-Toren 90a bis 9OA, einem Satz von Flip-Flop-Schaltungen 100a bis 100Λ, einem vierten Satz von
UND-Toren 110a bis 110/? sowie einem ODER-Tor 87.
Die UND-Tore 70a und 80a bis SOg erzeugen, wenn ihre Eingangsbedingungen erfüllt sind, die Programmebenen-Startsignale
ST-PLO bis ST-PL7. Da das UND-Tor 70a der höchsten Programmebene PLO
zugeordnet ist, erzeugt dieses UND-Tor das Signal ST-PL 0 schon beim Vorhandensein der Eingangssignale
IRO oder PIRRO und CMO, da »Sperrsignale« als Folge der Überprüfung des zugeordneten Prioritätsranges
von einem UND-Tor mit noch höherer Priorität nicht vorliegen können. Wegen dieser Prüfung des
Prioritätsranges können aber die UN D-Tore 70b bis 70/? nicht direkt in die Programmebenen-Startsignale
i; ST-PLi bis ST-PL7 erzeugen. Deshalb sind diesen
'■■': UND-Toren weitere UND-Tore 80a bis 9Og nachgeschaltet,
die diese Programmebenen-Startsignale ST-PLi bis ST-PL7 erzeugen, wenn erstens ein
U Ausgangssignal ihres zugeordneten UN D-Tores aus der ' '■ Gruppe 706 bis 70/? und zweitens ein »Sperrsignal« von
einem mit höherem Prioritätsrang ausgestatteten :] UND-Tor der Gruppe 70a bis 70/? nicht vorliegt. Unter
fi »Sperrsignal« ist hier das jeweils inverse Ausgangssi-Ä
gnal der UND-Tore 70a bis 70Λ zu verstehen, das eine
J' binäre Eins ist, wenn das zugeordnete UND-Tor j geöffnet und eine binäre Null ist, wenn es geschlossen
ist. Diese Signale sind allgemein mit ST-PLO bis ST-PL 7 bezeichnet.
Für eine Programmebenenablösung ebenfalls erfors derlich sind die Steuersignale L V-PL 0 bis L V-PL 7 zum
Verlassen der laufenden Programmebene, die von dem vierten Satz von UND-Toren HOa bis 110Λ erzeugt
werden. Eine weitere maßgebliche Rolle bei der '.-.■ Erzeugung der letztgenannten Signale spielen die
;: Flip-Flops 100a bis 100/?, die von den Steuersignalen
'.: ST-PL 0 bis ST-PL 7 zum Starten der neuen Programmebene
aufgesetzt werden. Die Rückstellung dieser : Flip-Flops erfolgt über den dritten Satz von UND-To-';
ren 90a bis 90/? zur Zeit des Taktsignals T2.
: '. F i g. 5 zeigt in Verbindung mit den F i g. 6A bis 6D ein ■: L weiteres Beispiel zur Erläuterung eines Arbeitsspiels der einzelnen Komponenten der Schaltungsanordnungen.
: '. F i g. 5 zeigt in Verbindung mit den F i g. 6A bis 6D ein ■: L weiteres Beispiel zur Erläuterung eines Arbeitsspiels der einzelnen Komponenten der Schaltungsanordnungen.
Wie Fig.5 zeigt, wird in diesem Beispiel davon
ausgegangen, daß die Bits CMO bis CM 7 der gemeinsamen Maske sowie das PIRR 7-Bit gesetzt sind,
was einer aktiven Programmebene PL 7 entspricht Die von der Steuerschaltung insgesamt generierten Signale
entsprechen somit der zur Taktzeit CLl in Fig.5
dargestellten Konfiguration.
Das Hauptmaskensignal HMS wählt innerhalb des hier dargestellten Abschnitts von Taktzeit CLl bis
CL 27 diejenigen signifikanten Zeitpunkte aus, zu denen Programmebenenablösungen, je nach internen oder
externen Bedingungen, stattfinden können. Auf den detaillierten zeitlichen Ablauf während eines Programmebenenwechsels
wird später noch einmal im Zusammenhang mit dem bereits erwähnten ersten Beispiel
eingegangen (F ig. 8).
Ein erster möglicher Programmebenenwechsel könnte zur Taktzeit CL 2 erfolgen. Da aber keine weiteren
Unterbrechungsanforderungen vorliegen, was dadurch angezeigt ist, daß Signale IR 0 bis IR 7 nicht erzeugt
wurden, sondern vielmehr nur das Steuersignal PIRR 7
ίο vorliegt, wird der Programmebene PL 7, also der
Programmebene mit der niedrigsten Priorität weiterhin die Steuerung der Datenverarbeitungsanlage übertragen
bleiben, d. h., die Programmebene PL 7 wird zu diesem Zeitpunkt nicht unterbrochen.
Zur Taktzeit CL 3 wird von einer der Unterbrechungsquellen 21 eine Unterbrechungsanforderung
ausgelöst, indem sie ihr Unterbrechungsanforderungssignal IR 5 erzeugt.
Während der Taktzeit CL 4 kann kein Programmebenenwechsel erfolgen, da die Hauptmaske, wie F i g. 5 in der zweiten Zeile von oben zeigt (fehlendes Signal HMS), zu diesem Zeitpunkt noch nicht aktiviert ist.
Während der Taktzeit CL 4 kann kein Programmebenenwechsel erfolgen, da die Hauptmaske, wie F i g. 5 in der zweiten Zeile von oben zeigt (fehlendes Signal HMS), zu diesem Zeitpunkt noch nicht aktiviert ist.
Zur Taktzeit CL 5 erst wird die Hauptmaske aktiviert und das Hauptmaskensignal HMS erzeugt, indem das
Steuersignal S3 das Hauptmasken-Flip-Flop 30 für die Dauer der Taktzeit aufsetzt. Dieses Hauptmasken-Flip-Flop
30 kann beispielsweise ein monostabiler Multivibrator sein, dessen instabile Phase etwa der Dauer einer
Taktzeit entspricht. Wie F i g. 5 ferner zeigt, sind zu diesem Zeitpunkt auch noch die Bits CMO bis CM 7 der
gemeinsamen Maske aufgesetzt. Da so auch das Bit CM 5 aufgesetzt ist, kann ein Programmebenenwechsel
von Programmebene PL 7 nach PL 5 erfolgen.
In der Schaltungsanordnung nach den F i g. 6A bis 6D
ergeben sich diese Vorgänge auf folgende Weise: Zu Beginn der Betrachtung, also zu Beginn der Taktzeit
CL1, hat eine Programmebenenauswahl stattgefunden,
durch die das Programmstatuswort PSW7 das laufende
PSW wurde. Danach wird die Datenverarbeitungsanlage
von Befehlen der Programmebene PL 7 gesteuert. Von der in Fig.4 dargestellten Schaltungsanordnung
wird als Ausgangssignal des P//?/?-Flip-Flops 7 (25Ajdas
PIRR 7-Bit erzeugt. Dieses liegt an dem ODER-Tor 60Λ in F i g. 6B an. Außerdem liegt an dem UND-Tor 70/idas
Steuerbit CM 7 der gemeinsamen Maske an. Mit dem nächsten eintreffenden Hauptmaskensignal HMS zur
Taktzeit CL 2 wird dann dieses UND-Tor 70/? für die Dauer der Taktzeit CL 2 geöffnet. Dieses UND-Tor 70/?
hat, wie alle UND-Tore 70a bis 70/? des ersten Satzes von UND-Toren, zwei Ausgänge, von denen der linke
bei erfüllter UND-Bedingung stets das Signal ST-PLi zum Starten der neuen Programmebene erzeugt Der
rechte Ausgang erzeugt gleichzeitig das hierzu inverse Signal ST-PLL
Das dem UND-Tor 70/? nachgeschaltete UND-Tor 80# verfügt über weitere Eingänge, die dieses Tor mit
den jeweils rechten Ausgängen der UND-Tore 70a bis 70g-verbinden. Da zur gleichen Taktzeit CL 2, während
der ja die Hauptmaske aktiviert wird, kein weiteres UND-Tor 70a bis 70^ durchgeschaltet ist, ist zu diesem
Zeitpunkt nur die UND-Bedingung für das UND-Tor 9Og im zweiten Satz von UND-Toren 80a bis 9Og erfüllt,
so daß nur dieses UND-Tor 90g ein Ausgangssignal
erzeugen kann. In der Schaltungsanordnung in den Fi g. 6A bis 6D, in der die Signale LV-PL 0 bis LV-PL 7
für das Verlassen der laufenden Programmebene erzeugt werden, kann zu dieser Zeit nur der Flip-Flop
100/? gesetzt werden, der gemeinsam mit dem
nachgeschalteten UND-Tor 110ft das Signa! LV-PLl
erzeugt Damit wird das Programmstatuswort PSWl der Programmebene PLl wieder zum laufenden
Programmstatuswort LFD-PSW, wie noch im einzelnen im Zusammenhang vjit den Fig.7 und 8 erläutert s
werden wird. Ein Programmebenenwechsel findet also
nicht statt, die laufende Programmebene bleibt also die Programmebene PL 7. Zur Taktzeit CL 3 erscheint dann
das Unterbrechungsanforderungssignal IR 5, das von
nun an an dem ODER-Tor 60/anliegt Zu dieser Zeit ist das PIRRS-EIl noch nicht gesetzt Das Bit CM5 der
gemeinsamen Maske ist wie auch die übrigen Bits dieser gemeinsamen Maske, eingeschaltet Das UND-Tor 70/
ist somit für seine öffnung vorbereitet die erst erfolgen kann, wenn das nächste Hauptmaskensignal HMS is
erscheint Zur Taktzeit CL 4 ergeben sich, wie auch F i g. 5 zeigt keine Statusänderungen. Erst zur Taktzeit
CL 5 wird über das Steuersignal 53 das Hauptmaskensignal HMS erzeugt, dessen Dauer der Aktivierungsdauer der Hauptmaske HM entspricht Dieses ist auch
der Zeitpunkt zu dem das UND-Tor 70/durchgeschaJ-tet wird. Da nun einerseits die UND-Bedingung für das
UND-Tor 80e erfüllt andererseits aber die UND-Bedingung für das UND-Tor Wg nicht mehr erfüllt ist, wird
das neue Signal ST-PLS erzeugt, wohingegen die Erzeugung des Signals ST-PLl zu dieser Zeit
unterbleibt Es wird somit nicht mehr der Flip-Πορ 100Λ,
sondern der Flip-Flop 100/ gesetzt. Auf diese Weise wird über das UND-Tor 110/ das Signal LV-PLS
erzeugt
Wie Fig.7 zeigt wird dadurch das laufende Programmstatuswort LFD-PSW, das zur Programmebene PL 1 gehört in sein zugeordnetes Register 130Λ
zurückübertragen und das Programmstatuswort PSWS der Programmebene PL 5 aus dem entsprechenden
Register 130/ zum laufenden Programmstatuswort gemacht indem es in das zugeordnete Register 130/ für
das laufende Programmstatuswort übertragen wird. Dieses bedeutet daß etwa von der Mitte der Taktzeit
CLS an Befehle der Programmebene PLS die Maschinensteuerung übernommen haben.
Die Programmebenenablösung konnte also erfolgen, weil durch die Aktivierung des UND-Tores 70/ das
Steuersignal ST-PL S abgeschaltet wurde, so daß infolge dieses fehlenden Eingangssignals am UND-Tor 90g
dieses geschlossen wurde. Damit war es nicht mehr möglich, den Flip-Flop 100Λ aufzusetzen.
Nach dem Programmebenenwechsel, wie er in F i g. 5 dargestellt ist, ist nun von etwa der Mitte der Taktzeit
CL 5 an die Programmebene PL 5 aktiv. Zur Taktzeit so CL 6 wird das Steuersignal 50 aktiviert, mit dessen
Hilfe die von der Ablaufsteuerung 204 übertragenen Bits 0 bis 7 über die UND-Tore 22a bis 22Λ in das
Register 23 eingegeben werden. Zur nachfolgenden Taktzeit CL 7 wird das Steuersignal 51 erzeugt das ss
zusammen mit dem Bit 5, das im Takt zuvor in das Register 23 übertragen wurde, nun über das UND-Tor
24/den Flip-Flop 25/setzt, der das PIRR 5-Bit erzeugt
Wie F i g. 5 zeigt ist dieses PIRR 5-Bit kurz nach Beginn der Taktzeit CL 7 verfügbar.
Im Verlauf der Taktzeit CL 8 wird das Unterbrechungsanforderungssignal IRS von der zugeordneten
Unterbrechungsquelle 21 wieder abgeschaltet, da der dieser Unterbrechungsquelle zugeordnete Anlagenteil
keine spezielle Maschinenbedienung mehr benötigt.
Dafür wird aber zur Taktzeit CL 9 von der Unterbrechungsquelle 21 eine Unterbrechungsanforderung gemeldet, indem das Signal IR 6 erzeugt wird.
Dieses Signal bleibt aber zunächst noch ohne Wirkung, weil eine Programmebenenablösung erst mit der
nächsten Aktivierung der Hauptmaske HM erfolgen -kann, die, wie F i g. 5 zeigt frühestens zur Taktzeit CL10
möglich ist in der wieder das Steuersignal HMS erzeugt wird (vgL 53; F i g. S). Obzwar nun das Unterbrechungsanforderungssignal IRS nicht mehr vorliegt, kann '*
trotzdem kein Programmebenenwechsel zur nächstnie- ).
drigeren Programmebene PL 6 erfolgen, da ja in der
Taktzeit CL1 das PIRR 5-Bit aufgesetzt worden war, >
das nun die Funktion des Steuersignals IR 5 übernimmt Zur Taktzeit CL10 erfolgt somit kein Programmebenenwechsel, und zur Taktzeit CL11 ergeben sich auch
keine Veränderungen, wie F i g. 5 zeigt Zur Taktzeit
CL12 wird aber von der Unterbrechungsquelle 21
wieder ein neues Unterbrechungsanforderungssignal erzeugt das Signal IR 3, welches die Anforderung einer
Unterbrechungsquelle angibt, die zum gegenwärtigen Zeitpunkt die höchste aktivierte Priorität aufweist
Zur Taktzeit CL13 wird wieder die Hauptmaske
aktiviert die allein einen Programmebenenwechsel herbeiführen kann. Zu dieser Taktzeit sind folgende
Signale aktiv: HMS, /A3, IR6, 53, PIRRS, PIRRl
sowie die Bits der gemeinsamen Maske CMO bis CM7.
Kurz nach dir Aktivierung der Hauptmaske hat sich
erwartungsgemäß die höhere Priorität der dem Unterbrechungsanforderungssignal IR 3 zugeordneten
Quelle durchgesetzt und die Programmebene PL S abgeschaltet
In der Schaltungsanordnung nach den F i g. 6A bis 6D stellt sich diese Situation auf folgende Weise dar:
Zunächst bleibt bei Auftreten des Hauptmaskensignals HMS die UND-Bedingung für das UND-Tor 70/
auch bei abgeschaltetem Unterbrechungsanforderungssignal IRS erfüllt, da zu dieser Zeit an dem ODER-Tor
60/das PIRR5-Bit in seiner »!«-Lage anliegt Zur Zeit
der Aktivierung der Hauptmaske HM ist somit auch die UND-Bedingung für das UND-Tor 8Oe erfüllt, da keines
der vorhergehenden UND-Tore 70a bis 7Oe aktiv äst Ein Programmebenenwechsel kann also nicht erfolgen.
Zur Taktzeit CL12 erscheint das Unterbrechungsanforderungssignal /A3, das über das ODER-Tor 6Od an
einem Eingang des UND-Tores 70d anliegt Auch das Bit CM3, das sich in seiner »1«-Lage befindet, liegt an
diesem UND-Tor an. Folglich kann beim Auftreten des Hauptmaskensignals zur Taktzeit CL13 das UND-Tor
70d durchschalten und das nachgeschaltete UND-Tor 80c öffnen, das nun das Signal ST-PL3 erzeugt Über
den Flip-Flop 100/und das UND-Tor 110/sowie über den Flip-Flop lOOdund das UND-Tor llOdwird dann in
der bereits zuvor erläuterten Weise ein Programmebenenwechsel vorgenommen.
In der Taktzeit CL 14 wird wieder das Steuersignal 50 erzeugt, mit dessen Hilfe das Register 23 erneut mit
den anliegenden Bits 0 bis 7 geladen wird. Durch das nachfolgende 51-Signal wird dann zur Taktzeit CL15
der selektierte Flip-Flop 25d gesetzt, der nun das PIRR 3-Bit erzeugt
Im folgenden wird ein sehr vorteilhafter Operationsablauf der in den Fig.4, 6A bis 6D dargestellten
Schaltungsanordnung erläutert.
Wie bereits im Zusammenhang mit F i g. 5 erwähnt wurde, findet zur Taktzeit CL 13 ein Programmebenenwechsel von PLS nach PL 3 statt. Da sich aber das
Programm der Programmebene PL 3 nicht durch Unterbrechungsanforderungen einer Unterbrechungsquelle unterbrechen lassen möchte, die z. B. von einem
Programm der Programmebene PL2 gesteuert wird,
schaltet das Programm der Ebene PL 3 zu Beginn der
Taktzeit CL15 bis zum Beginn der Taktzeit CL18 das
Bit CMI der gemeinsamen Maske, das der Programmebene PL 2 zugeordnet ist, ab.
In der Schaltungsanordnung nach den F i g. 6A bis 6D s ist zu erkennen, daß ein Unteibrechungsanforderungssignal IR2, das über das ODER-Tor 60c an das
UND-Tor 70c angelegt wird, beim nächsten Auftreten des Hauptmaskensignals HMS keine Wirkung hat, da
die dritte Bedingung für das UND-Tor 70c nicht erfüllt ist, weil das Signal CAf 2 fehlt Auf diese Weise hat die
Programmebene PL3 dafür gesorgt, daß sie nicht von einer Unterbrechungsanforderung dieser Unterbrechungsquelle für die genannte Zeitdauer unterbrochen
werden kann.
Zu Beginn der Taktzeit CL18 werden mit Hilfe des
Signals 50 die neuen Bits 0 bis 7 in die Register 23 und
27 eingegeben. Zur Taktzeit 50 wird dann, weil auch das Bit 2 in das Register 27 eingegeben wurde, der Flip-Flop
29c in F i g. 4 gesetzt, der nun wieder das Signal CM 2 erzeugt Dieses bedeutet, daß beim nächsten Aktivieren
der Hauptmaske das Unterbrechungsanforderungssignal IR 2 durchgreifen und einen Programmebenenwechsel herbeiführen kann. Dieses ist zur Taktzeit
CL 20 der Fall, in der dann endgültig der Programmebe- 2s
nenwechsel von der Programmebene PL 3 auf PL 2 erfolgt
Mit Hilfe der Steuersignale 50 und 51 wird auch wieder das Signal PIRR 2 erzeugt, das den Programmbetrieb in dieser Programmebene zunächst aufrechter-
hält, selbst dann, wenn das Unterbrechungssignal IR 2 abgeschaltet wird.
Wie dem Diagramm in F i g. 5 weiter zu entnehmen ist, wird das PIRR 2-Bit über das Steuersignal 51 zu
Beginn der Taktzeit CL 24 wieder abgeschaltet.
Da aber das mit Beginn der Taktzeit CL 7 aufgesetzte PIRR 5-Bit noch gesetzt ist kann die zur Taktzeit CL 9
abgegebene Unterbrechungsanforderung der Unterbrechungsquelle, die das Unterbrechungsanforderungssignal IR 6 erzeugt, zur Taktzeit CL 25, dem Zeitpunkt
der nächsten Hauptmaskenaktivierung, nicht durchgreifen, d.h. einen solchen Programmebenenwechsel
herbeiführen, das anstelle der Programmebene PL 2 nun die Programmebene PL 6 operativ würde. Es setzt sich
vielmehr das Signal PlRR 5 durch, welches dafür sorgt, daß ein Programm seiner Ebene, also der Programmebene PL 5, die Maschinensteuerung erhält. Dieses
bleibt auch so bis zum Ende der Taktzeit CL 27, mit der auch die Betrachtung dieses Ausführungsbeispiels endet.
Im folgenden sei noch einmal ausführlicher auf den so Austausch der Programmstatuswörter P50 bis PSW7
und die hierfür erforderliche Schaltungsanordnung eingegangen, die in F i g. 7 dargestellt ist F i g. 8 zeigt als
Zeitdiagramm ein Ausführungsbeispiel, bei dem angenommen wird, daß die Programmebene PL 4 aktiv sei
und das Bit CM 2 der gemeinsamen Maske im binären Einszustand sei.
In der zweiten Zeile von oben in Fig.8 ist zu
erkennen, daß vom Zeitpunkt ti an das Unterbrechungsanforderungssignal IR 2 seinen oberen Pegel-
wert einnimmt, dieses Signal also von diesem Zeitpunkt an aktiv ist
In der dritten Zeile ist das Bit CM 2 der gemeinsamen Maske dargestellt, das vereinbarungsgemäß bereits
eingeschaltet sein soll.
Zum Zeitpunkt 12 wird das Signal HMS erzeugt, das
für die Aktivierung der Hauptmaske HM indikativ ist. Dieses Signal wird zum Zeitpunkt 112 abgeschaltet. Wie
früher bereits erwähnt wurde, ist ein Programmebenenwechsel nur während der Dauer des Signals HMS
möglich.
Die in den Zeilen 5 und 6 dargestellten Steuersignale Tl und T2 werden von der Ablaufsteuerung 204 in
Relation zum Signal HMS erzeugt Das Signal Π beispielsweise beginnt zum Zeitpunkt f3, der zeitlich
etwas günstiger gegenüber dem Zeitpunkt 12 verzögert ist, und dauert bis zum Zeitpunkt f6.
Das Steuersignal T2 wird zum Zeitpunkt f 8 erzeugt und dauert bis zum Zeitpunkt f 11. Es ist also zu
erkennen, daß das Steuersignal T2 später als das Steuersignal 7Ί erzeugt wird, aber noch vor dem Ende
des Hauptmaskensignals HMS beendet ist Die Zeitpunkte f 3 und i8, die den Beginn der Steuersignale 7Ί
und T2 markieren, liegen weit auseinander um sicherzustellen, daß das Register (LFD-PSW-R) 130i
welches das laufende Programmstatuswort LFD-PSW stets beinhaltet, geleert ist, bevor ein neues Programmstatuswort PS W/in dieses Register übertragen wird.
Da alle Bedingungen am UND-Tor 70cin F i g. 6A für
einen Programmebenenwechsel von der laufenden Programmebene PL 4 auf PL 2 erfüllt sind, wenn das
Hauptmaskensignal HMS eintrifft, wird über das UND-Tor 806 in der bereits erläuterten Weise das
Signal ST-PL 2 erzeugt In der siebten Zeile in F i g. 8 ist dieser Zeitpunkt mit ti bezeichnet es ist also der
gleiche Zeitpunkt zu dem auch das Hauptmaskensignal HMS beginnt Beide Signale verschwinden auch wieder
zur gleichen Zeit f 12, weil mit dem Abfall des Hauptmaskensignals auch die UND-ßedingung am
UND-Tor 72 entfällt
Gleichzeitig mit den beiden Signalen HMS und ST-PL 2 wird auch zur Zeit r2 das Signal L V-PL 4
erzeugt, das angibt daß die laufende Programmebene verlassen werden darf. Dieses Signal wird, wie bereits
im Zusammenhang mit den Fig.6A bis 6D erläutert wurde, von dem Flip-Flop lOOe erzeugt und über das
UND-Tor 11Oean dessen Ausgang bereitgestellt
Das Aufsetzen des Flip-Flops lOOe ist deshalb möglich, weil zum Zeitpunkt des Einschaltens oder des
Aktivierens der Hauptmaske HMauch die UND-Bedingung für das UND-Tor 70e und für das UND-Tor SOd
aufgrund geringer Laufzeitverzögerungen noch erfüllt war. Nachdem das Flip-Flop lOOe einmal aufgesetzt ist,
hält es sich so lange, bis es von der Vorderflanke des Steuersignals 72 über das UND-Tor 9Oe zurückgesetzt
wird. Diese Verhältnisse sind in Fig.8 in der achten Zeile von oben dargestellt. Der Zeitpunkt tS für das
Ende des Signals L V-PL 4 stimmt, von geringen Laufzeitverzögerungen abgesehen, mit der Zeitlage 18
der Vorderflanke des Steuersignals 72 überein.
Wie Fig.7 zeigt, spielen die Signale ST-PLO bis
ST-PL 7, LV-PLO bis LV-PLJ sowie Π und 72 die
entscheidende Rolle für die Durchführung eines Programmebenenwechsels. Das zentrale Element in der
Schaltungsanordnung nach Fig.7 ist der Satz von Registern (PSWO-R) 130a bis (LFD-PSW-R) 130/ in
denen die Programmstatuswörter der jeweiligen Programmebene zwischengespeichert sind. Geladen werden diese Register über einen Satz von UN D-Toren
120a bis 120/ und ausgelesen über den Satz von UND-Toren 140a bis 140Ä
Beim angenommenen Beispiel wird die Datenverarbeitungsanlage zunächst von Befehlen der Programmebene PL 4 gesteuert. Das laufende Programmstatuswort befindet sich somit im Register 130/ Bei einem
Programmebenenwechsel von Programmebene PL 4 zu
Programmebene PL 2 werden zunächst Steuersignale LV-PLA sowie ST-PLA erzeugt Daran anschließend
folgt, wie Fig.8 zeigt das Steuersignal Tl. Mit Hilfe
des Signals LV-PLA wird zunächst das Eingangs-UND-Tor 12Oe für eine Übertragung in das Register
13Oe vorbereitet Beim Eintreffen des Steuersignals Ti wird ferner das Ausgangs-UND-Tor HO/ des Registers
130/ für das laufende Programmstatuswort geöffnet so daß dieses in das Programmstatuswortregister 12Oe
gelangen kann. Damit ist das Register 130/ für das laufende Programmstatuswort frei geworden und zur
Übernahme eines neuen Programmstatuswortes bereit Mit Hilfe des nachfolgenden Steuersignals T2 wird
dann über das noch immer von dem Signal ST-PL2 geöffnete Ausgangs-UND-Tor 140c des Programmstatuswortregisters 130cfür die Programmebene PL2 und
das über das Steuersignal T2 geöffnete Eingangs-UND-Tor 120/ das Programmstatuswort PSW2 in das
Register 130/ für das laufende Programmstatuswort eingegeben. Damit obliegt nun die Steuerung der
Datenverarbeitungsanlage Befehlen der Programmebene PL 2.
Wie Fig.8 zeigt wurde zur Zeit i5 die Programmebene PLA abgeschaltet und zur Zeit flO die
Programmebene PL 2 eingeschaltet Wie diese Figur ferner zeigt beginnt zum Zeitpunkt f 4 die Übertragung
des Inhaltes des laufenden Programmstatuswortregisters 130/ in das Programmstatuswortregister 13Oe, die
zum Zeitpunkt f 7 beendet ist
Zum später liegenden Zeitpunkt r9 beginnt dann die
Übertragung des Inhaltes des Programmstatuswortregisters 130c in das Register 130/' die zum Zeitpunkt Ml
beendet ist
Das Hauptmaskensignal HMS und das Signal ST-PL 2 werden, wie F i g. 8 zeigt zum Zeitpunkt 112
abgeschaltet
Da bei sehr vielen elektronischen Datenverarbeitungsanlagen auch Programmebenen existieren, die
nicht durch Unterbrechungsanforderungssignale IRi einen Programmebenenwechsel anfordern können,
müssen besondere Vorkehrungen getroffen werden, um diesen Programmebenen die Möglichkeit zu geben, ihr
Programm, zumindest zeitweise, auszuführen.
Im Laufe der vorstehenden Beschreibung wurde wiederholt auf die Bedeutung der PIRRi-Bits hingewie-
TYPI
sen, die eine Unterbrechungsanforderung einer Unterbrechungsquelle aufrechterhalten, die längst ihr Unterbrechungsanforderungssignal abgeschaltet hat
Um nun die Ausführung und den Ablauf solcher Programme zu garantieren, muß unabhängig von allen
anderen Programmabläufen der Start dieser Programme ermöglicht werden. Dieses wird dadurch erreicht
daß, wie eingangs bereits erwähnt wurde, in der Interpretationsphase eines Befehls ein Intervallzähler
für diese Art von Programmen aktiviert wird, indem ein
in einer Ausführungsphase eines zuvor abgearbeiteten Befehls aufgesetzter Anfangswert dieses Zählers heruntergezählt wird.
Wie Fig.2 zeigt wird im Funktionsblock 2 in der
Interpretationsphase eines Befehls stets getestet ob der Intervallzähler den Zählerstand 0 erreicht hat Wenn
dieses der Fall ist wird, wie Funktionsblock 3 in F i g. 2 zeigt das PIRR 6-Bii für die Programmebene PL 6
gesetzt Dadurch wird garantiert, daß nach vorübergehender Inaktivität der Programmebenen PLO bis PL 5
die Programmebene PL 6 noch vor der Programmebene PL 7 aktiviert wird.
Die Wahl dieser bzw. die Bevorzugung bestimmter Programmebenen kann mit der vorstehend beschriebenen Einrichtung zur Programmunterbrechung mühelos
an die jeweiligen Gegebenheiten einer bestimmten Datenverarbeitungsanlage oder an ganz bestimmte
Aufgaben, die in einer Datenverarbeitungsanlage bearbeite- werden, angepaßt werden. Diese Anpassung
kann entweder durch programmierbare Kommandos oder durch besondere Steuerschaltungen vorgenommen werden. Hierbei wirken die Kommandos oder die
von der automatischen Steuerung erzeugten Steuersignale auf die Ablaufsteuerung 204 in F i g. 1 ein, die
ausführlicher in F i g. 9 dargestellt ist
Der Einfachheit halber sei hier auf programmierbare Kommandos eingegangen, die von dem Hauptdatenverarbeitungskomplex 200 in F i g. 1 in stetiger Folge über
die Leitung 205 zur Ablaufsteuerung 204 übertragen werden. Im Minimalausbau kann man mit drei Typen
von Kommandos auskommen, die für komplexere Strukturen sowohl der Datenverarbeitungsanlage als
auch der zu lösenden Aufgaben ohne weiteres erweiterbar sind.
01 (0
12 3 4 5 6 7) SO Sl S2 χ χ χ
ΤΥΡΠ
10
XXXXXXX
XXX
TYP ΠΙ
11 7Ί/Τ2 χχχχχχχ χ χ χ χχχ
(χ kann beliebig sein, da diese Position unberücksichtigt bleibt.)
Zur Unterscheidung von Tl und T2 wird Tl eine binäre 1 und T2 eine binäre 0 zugeordnet.
Die obige Darstellung der verschiedenen Kommandotypen zeigt, daß die ersten beiden Bits jedes
Kommandotyps als Operationscode betrachtet werden können. Der Typ 1 ist durch den Operationscode 01, der
Typ II durch den Operationscode 10 und der Typ III durch den Operationscode 11 definiert.
Kommandos aller drei Typen werden vom Hauptdatenverarbeitungskomplex über die Leitung 205 in der
erforderlichen Reihenfolge zur Ablaufsteuerung 204 übertragen. Die im einfachsten Fall mehradrige
Steuerleitung 205 führt mit ihren ersten beiden Leitungen, die den sogenannten Operationscode übertragen, auf einen Kommandodecodierer (COM-DEC)
300, an dessen Ausgängen I, II, III jeweils dann eine
binäre 1 erzeugt wird, wenn der entsprechende Operationscode am Eingang des Kommandodecodierers
300 anliegt
Die folgenden 14 Steuerleitungen, von denen die letzten drei beim Typ I beliebige Signale führen können,
da diese von der Anordnung nicht mehr ausgewertet werden, führen zu einer UND-Toranordnung, die aus 11
UND-Toren 301a bis 301Jt besteht, deren jeweils einer Eingang mit einer der 11 Adern und dessen anderer
Eingang mit dem Ausgang I des Kommandodecodierers to 300 verbunden sind. Der Ausgang I gibt an, daß ein
Kommando des Typs I anliegt Je nach Vorliegen von binären Eingangssignalen auf den 11 Adern, wobei die
erste Ader "der dritten Bitstelle, die zweite Ader der
vierten und schließlich die 11. Ader der viertletzten Bitstelle des Kommandos zugeordnet ist ergeben sich
die Ausgangssignale 0 bis 7 sowie 50, 51 und 52 am Ausgang der UND-Toranordnung 301a bis 301*: Eine
Decodierung des Operationscodes eines Kommandos des Typs II erzeugt am Ausgang II des Kommandodecoder»
300 ein Ausgangssignal, das einer binären 1 entspricht und direkt das Steuersignal 53 darstellt
Bei Decodierung des Operationscodes eines Kommandos des Typs III genügt es, nur die dritte Bitstelle
des Kommandos auszuwerten, die dann ab Taktsignal Ti definiert ist wenn sie eine binäre 1 oder als
Taktsignal T2 definiert ist wenn sie eine binäre 0 enthält Die aus den UND-Toren 302 und 303 sowie dem
Negator 304 bestehende Schaltungsanordnung führt diese Unterscheidung durch, wobei das UND-Tor 302
an seinem Ausgang das Taktsignal Ti und das UND-Tor 303 an seinem Ausgang das Taktsignal Γ2
erzeugt
Die soeben erwähnten Steuersignale werden dem in Fig.4 dargestellten Steuersignalgenerator 203 zugeführt
wo sie für eine genau definierte Zeitspanne in den Registern 23 bzw. 27 sowie in Flip-Flop-Speichern 25a
bis 25Λ bzw. 29a bis 29A zwischengespeichert werden. Sie dienen dort in Verbindung mit den Steuersignalen
51 bis 53 zur Erzeugung der in der Steuerung 202 für den Programmebenenschalter benötigten Steuersignale
PlRR 0 bis PIRR 7, CMO bis CMl sowie HMS.
Hierzu 10 Blatt Zeichnungen
Claims (11)
1. Einrichtung zur Programmunterbrechung und Steuerung der prioritätsgerechten Programmebeneri-Umschaltung in einer elektronischen Datenverarbeitungsanlage mit ebenso vielen Instruktionsadressenregistern, Bedingungscoderegistern
und Arbeitsspeicherbereichen wie Programmebenen vorhanden sind und einer interpretierend
arbeitenden Mikroprogrammsteuerung, dadurch
gekennzeichnet, daß zur Überführung asynchron auftretender Unterbrechungsanforderungen (IRi) in synchrone Programmzuteilungen ein
Programmebenen-Schalter (201; F i g. 1) vorgesehen ist, der von einer Steuerschaltung (202) betätigt wird,
welch letztere die asynchron eintreffenden Unterbrechungsanforderungen hinsichtlich ihres Pvioritätsrenges und gegebenenfalls weiterer Bedingungen
(PIRRi, CMi)stets nur zu einer ganz bestimmten Zeit
während der Interpretationsphase (Ι-Φ) eines Befehls, die noch vor der Decodierung des
Operationscodes dieses Befehls liegt, überprüft und bei höherer Priorität und Erfüllung der weiteren
Bedingungen an dieser Stelle im Mikroprogramm einen Programmebenen-Wechsel auslöst, indem sie
entsprechende Steuersignale (LV-PLi) für das Verlassen der laufenden Programmebene und
Steuersignale (ST-PLj) zum Start der neuen Programmebene an den Programmebenen-Schalter
überträgt, welcher das laufende Programm-Statuswort (LFD-PSW) gegen das neue (PSWj)austauscht
2. Einrichtung nach Anspruch 1, gekennzeichnet durch eine Ablaufsteuerung (204; Fig. 1, 9) zur
Durchführung der Programmebenen-Umschaltung, welche Steuerkommandos, die ihr von einem
Hauptdatenverarbeitungskomplex (200), bestehend -aus Steuerwerk und Rechenwerk, zugeführt werden,
mittels eines Kommandodekodierers (300) und einer aus UND-Toren (301a bis 301Jt, 302, 303) sowie
einem Negator (304) bestehenden logischen Schaltung, in Steuersignale umsetzt, derart, daß ein erstes
UND-Tor (301a bis 30IArJl dem Bitsignale (0 bis 7)
und Steuersignale (SO bis 52), die in den Steuerkommandos enthalten sind und ein erstes
Ausgangssignal (1) des Kommandodekodierers (300) zuführbar sind, die genannten Bitsignale und
Steuersignale zu einem Steuersignal-Generator (203) überträgt, daß ferner ein zweites UND-Tor
(302), dem Taktsignale (7*1/7*2) und ein zweites Ausgangssignal (III) des Kommandodekodierers
zuführbar sind, ein erstes Taktsignal (7*1) zu dem Programmebenen-Schalter (201) überträgt und daß
schließlich ein drittes UND-Tor (303), dem ebenfalls die Taktsignale (7*1/7*2) und über einen Negator
(304) das zweite Ausgangssignal (III) des Kommandodekodierers (300) zuführbar sind, ein zweites
Taktsignal (T2) zu dem Programmebenen-Schalter und zu der Steuerung (202) des Programmebenen-Schalters überträgt und schließlich ein dritter
Ausgang (II) des Kommandodekodierers (300) ein weiteres Steuersignal (S3) zu dem Steuersignalgenerator überträgt.
3. Einrichtung nach Anspruch 1 und/oder 2, dadurch gekennzeichnet, daß zur garantierten
Umschaltung auf eine Programmebene niedrigerer Priorität als die höchste, ein Intervallzähler (1,2,16;
F i g. 2) vorgesehen ist, der gleichzeitig mittels einer
der letzten Mikroprogrammschnitte (16) einer Befehlsausführungsphase (Ε-Φ) auf einen vorgebbaren Wert einstellbar, mitteis der ersten Operation (I)
jeder Interpretationsphase um den Wert 1 vermindert und danach auf seinen NuUwert abgefragt wird
(2), wobei, wenn dieser NuUwert erreicht ist, ein
Steuerbit (PIRRi) erzeugt wird (3), das eine Programmebenen-Umschaltung des Programmebenen-Schalters (201) gestattet
4. Einrichtung nach einem oder mehreren der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß in
der Ablaufsequenz (F i g. 2) die Überprüfung auf das Vorliegen der Voraussetzung für eine Programmebenen-Umschaltung und die gegebenenfalls erforderliche Programmebenen-Umschaltung durch die
Aktivierung (4) einer Hauptmaske (HM) eingeleitet und durch deren Inaktivierung (11) beendet wird.
5. Einrichtung nach einem oder mehreren der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß
erste Steuerbits (PIRR 0 bis PIRR 7) die Steuerschaltung (202) des Programmebenen-Schalters (201)
derart einstellen, daß dieser eine zugeordnete Programmebene aktiv hält, selbst dann, wenn das
zugeordnete Unterbrechungs-Anforderungssignal (Ik 0 bis IR 7) bereits wieder abgeschaltet ist
6. Einrichtung nach Anspruch 5, dadurch gekennzeichnet, daß zweite Steuersignale (CAfO bis CM 7)
die Steuerschaltung (202) des Programmebenen-Schalters (201) derart einstellen, daß dieser eine
Umschaltung von einer Programmebene niedrigerer Priorität auf eine solche vorgebbarer höherer
Priorität so lange unterdrückt, bis diese zweiten Steuersignale wieder unwirksam gemacht sind.
7. Einrichtung nach Anspruch 5 und/oder 6, dadurch gekennzeichnet, daß der Steuersignal-Generator (203; F i g. 4) für die Erzeugung der ersten
Steuersignale (PIRRO bis PIRR7) über UND-Tore (22a bis 22h) verfügt, die von den genannten
Bitsignalen (0 bis 7) und einem Steuersignal (SO) von der Ablaufsteuerung (204) beaufschlagt werden und
während der Dauer des Steuersignals (50) die anliegende Kombination von Bitsignalen in ein
Register (23) zur Zwischenspeicherung übertragen, daß ferner ein Satz von Verriegelungsschaltungen
(25a bis 25h) vorgesehen ist, dem ein Satz von UND-Toren (24a bis 24A vorgeschaltet ist, wobei
jeder Bitstelle im Register eine Verriegelungsschaltung zugeordnet ist so daß über diese UND-Tore
während der Dauer eines weiteren Steuersignals (51) die Verriegelungsschaltungen je nach Informationsinhalt der zugeordneten Bitstelle des Registers
23 aufgesetzt werden und jede aufgesetzte Verriegelungsschaltung ein bestimmtes (PIRRi) der ersten
Steuersignale abgibt.
8. Einrichtung nach Anspruch 6 und/oder 7, dadurch gekennzeichnet, daß der Steuersignal-Generator (203; F i g. 4) für die Erzeugung der zweiten
Steuersignale (CMO bis CM7) über UND-Tore (26a bis 26h) verfügt die von den genannten Bitsignalen
(0 bis 7) und einem Steuersignal (50) von der Ablaufsteuerung (204) beaufschlagt werden und
während der Dauer des Steuersignals (50) die anliegende Kombination von Bitsignalen in ein
Register (27) zur Zwischenspeicherung übertragen, daß ferner ein Satz von Verriegelungsschaltungen
(29a bis 29Ay- vorgesehen ist, dem ein Satz von
UND-Toren (28a bis 2Sh) vorgeschaltet ist, wobei jeder Bitstelle im Register eine Verriegelungsschal-
tung zugeordnet ist, so daß über diese UND-Tore
während der Dauer eines weiteren Steuersignals (S2) die Verriegelungsschaltungen, je nach Infonnationsinhalt
der zugeordneten Bitstelle des Register 27, aufgesetzt werden und jede aufgesetzte Verriegelungsschaltung
ein bestimmtes (CMJ) der zweiten Steuersignale abgibt
9. Einrichtung nach einem oder mehreren der Ansprüche 6 bis 8, dadurch gekennzeichnet, daß das
Hauptmaskensignal (HMS) zur Aktivierung der Hauptmaske von einer weiteren Verriegelungsschaltung
(36i erzeugt wird, wenn diese von einem
weiteren Steuersignal (S3) aufgesetzt wird.
10. Einrichtung nach einem oder mehreren der Ansprüche 6 bis 9, dadurch gekennzeichnet, daß die
Steuerschaltung (202; Fig.6A bis 6D) des Programmebenen-Schalters
(201) aus einer Anordnung (60a bis 60h) zur Prüfung des Vorliegens von Unterbrechungsanforderungen (IRO bis IR 7) und
weiterer Bedingungen (zweite Steuersignale CAfO
bis CM T) und eine Anordnung (80a bis SOg) zur Prüfung des Prioritätsranges der Unterbrechungsanforderungen
besteht, wobei die erstgenannte Anordnung Startsignale (ST-PLO bis ST-PL7) für eine
Programmebenen-Umschaltung und eine weitere Anordnung (90a bis 90A^ Signale (LV-PLO bis
LV-PL 7) zum Verlassen der laufenden Programmebene für den Austausch von Programmstatuswörtern
im Zuge einer Programmebenen-Umschaltung erzeugt
11. Einrichtung nach Anspruch 10, dadurch
gekennzeichnet, daß der Programmebenen-Schaker (201; Fig.7) aus einem Programmstatuswort-Register
(130a bis 130/?; je Programmebene (PLO bis
PL 7) sowie einem Programmstatuswort-Register (\30i) für die laufende Programmebene besteht,
wobei jedem dieser Programmstatuswort-Register ein UND-Tor (120a bis 120# vor- und ein UND-Tor
(140a bis 140;) nachgeschaltet ist, derart, daß das Programmstatuswort-Register (\30i) für die laufende
Programmebene mit allen übrigen parallelgeschalteten Programmstatuswort-Registern (130a bis
130/;,) zu einem Ring zusammengeschaltet ist, daß
ferner bei einem Programmebenenwechsel zunächst zu einer ersten Taktzeit (Ti) und beim Vorliegen
eines Steuersignals (LV-PLi) zum Verlassen der laufenden Programmebene das laufende Programmstatuswort
aus seinem Programmstatuswort-Register (LFD PSW-R) in das Programmstatuswort-Register
(PSWi-R) der zu verlassenden Programmebene (PLi) übertragen und dann zu einer zweiten
Taktzeit (PLi) zum Starten der neuen Programmebene, das neue Programmstatuswort (PSWj) aus
dem zugehörigen Programmstatuswort-Register (PSWj-R) in das Programmstatuswort-Register
(LFDPSW-R) für das laufende Programmstatuswort übertragen wird, von wo aus es die Steuerung
der Maschine über eine Steuerleitung (STL) übernimmt.
60
Priority Applications (12)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE2754890A DE2754890C2 (de) | 1977-12-09 | 1977-12-09 | Einrichtung zur Programmunterbrechung |
FR7830983A FR2411442B1 (fr) | 1977-12-09 | 1978-10-24 | Dispositif traitant les interruptions de programmes dans un systeme de traitement de donnees |
CH1117378A CH637230A5 (de) | 1977-12-09 | 1978-10-30 | Einrichtung zur programmunterbrechung und steuerung der programmebenen-umschaltung in einer datenverarbeitungsanlage. |
US05/962,549 US4247894A (en) | 1977-12-09 | 1978-11-20 | Arrangement for program interruption |
JP53142429A JPS6046737B2 (ja) | 1977-12-09 | 1978-11-20 | プログラム・レベル切替え方式 |
AU41924/78A AU518925B2 (en) | 1977-12-09 | 1978-11-24 | Programme interrupt & priority switching |
SE7812174A SE7812174L (sv) | 1977-12-09 | 1978-11-27 | Anordning for programavbrott |
IT30248/78A IT1160270B (it) | 1977-12-09 | 1978-11-28 | Struttura circuitale per l'interruzione di programmi |
ES475616A ES475616A1 (es) | 1977-12-09 | 1978-12-01 | Una disposicion para interrupcion de programa y para contro-lar la conmutacion de nivel de programa dependiente de prio-ridad en un sistema electrico de tratamiento de datos |
CA317,422A CA1115851A (en) | 1977-12-09 | 1978-12-05 | Arrangement for program interruption |
GB7847445A GB2009981B (en) | 1977-12-09 | 1978-12-06 | Data processing apparatus |
BR7808126A BR7808126A (pt) | 1977-12-09 | 1978-12-11 | Disposicao para interrupcao de programa |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE2754890A DE2754890C2 (de) | 1977-12-09 | 1977-12-09 | Einrichtung zur Programmunterbrechung |
Publications (2)
Publication Number | Publication Date |
---|---|
DE2754890A1 DE2754890A1 (de) | 1979-06-13 |
DE2754890C2 true DE2754890C2 (de) | 1982-10-28 |
Family
ID=6025710
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2754890A Expired DE2754890C2 (de) | 1977-12-09 | 1977-12-09 | Einrichtung zur Programmunterbrechung |
Country Status (12)
Country | Link |
---|---|
US (1) | US4247894A (de) |
JP (1) | JPS6046737B2 (de) |
AU (1) | AU518925B2 (de) |
BR (1) | BR7808126A (de) |
CA (1) | CA1115851A (de) |
CH (1) | CH637230A5 (de) |
DE (1) | DE2754890C2 (de) |
ES (1) | ES475616A1 (de) |
FR (1) | FR2411442B1 (de) |
GB (1) | GB2009981B (de) |
IT (1) | IT1160270B (de) |
SE (1) | SE7812174L (de) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0059293B1 (de) * | 1981-02-27 | 1985-07-03 | International Business Machines Corporation | Verfahren und Vorrichtung zur selektiven Bereitstellung von Teilen einer Befehlseinheit für einen von einer Mehrzahl von Benutzern |
US4736318A (en) * | 1985-03-01 | 1988-04-05 | Wang Laboratories, Inc. | Data processing system having tunable operating system means |
US5021945A (en) * | 1985-10-31 | 1991-06-04 | Mcc Development, Ltd. | Parallel processor system for processing natural concurrencies and method therefor |
US4809218A (en) * | 1986-01-29 | 1989-02-28 | Digital Equipment Corporation | Apparatus and method for increased system bus utilization in a data processing system |
FR2604543B1 (fr) * | 1986-09-30 | 1989-04-07 | Sfena | Procede et dispositif pour l'optimalisation des performances de primitives temps reel d'un noyau d'executif temps reel sur des structures multiprocesseurs |
US4823304A (en) * | 1987-01-15 | 1989-04-18 | International Business Machines Incorporated | Method of providing synchronous message exchange in an asychronous operating environment |
US5291581A (en) * | 1987-07-01 | 1994-03-01 | Digital Equipment Corporation | Apparatus and method for synchronization of access to main memory signal groups in a multiprocessor data processing system |
US5193179A (en) * | 1988-08-09 | 1993-03-09 | Harris Corporation | Activity monitor system non-obtrusive statistical monitoring of operations on a shared bus of a multiprocessor system |
US5201052A (en) * | 1989-02-10 | 1993-04-06 | Fujitsu Limited | System for transferring first and second ring information from program status word register and store buffer |
US5057997A (en) * | 1989-02-13 | 1991-10-15 | International Business Machines Corp. | Interruption systems for externally changing a context of program execution of a programmed processor |
JPH0399145U (de) * | 1990-01-29 | 1991-10-16 | ||
US5291603A (en) * | 1991-03-14 | 1994-03-01 | Westinghouse Electric Corp. | Microprocessor system with multiple interrupts masked for use in electronic control or monitoring of various solid-state products |
US5469571A (en) * | 1991-07-15 | 1995-11-21 | Lynx Real-Time Systems, Inc. | Operating system architecture using multiple priority light weight kernel task based interrupt handling |
JP2685712B2 (ja) * | 1994-03-30 | 1997-12-03 | 株式会社サンポウロック | ハンドルロック |
DE19535546B4 (de) * | 1995-09-25 | 2004-04-08 | Siemens Ag | Verfahren zum Betreiben eines durch ein Realzeit-Betriebssystem gesteuerten Realzeit-Computersystems |
US5905913A (en) * | 1997-04-24 | 1999-05-18 | International Business Machines Corporation | System for collecting a specified number of peripheral interrupts and transferring the interrupts as a group to the processor |
US5961622A (en) * | 1997-10-23 | 1999-10-05 | Motorola, Inc. | System and method for recovering a microprocessor from a locked bus state |
US20050021894A1 (en) * | 2003-07-24 | 2005-01-27 | Renesas Technology America, Inc. | Method and system for interrupt mapping |
US7386642B2 (en) * | 2005-01-28 | 2008-06-10 | Sony Computer Entertainment Inc. | IO direct memory access system and method |
US7680972B2 (en) * | 2005-02-04 | 2010-03-16 | Sony Computer Entertainment Inc. | Micro interrupt handler |
JP2006216042A (ja) * | 2005-02-04 | 2006-08-17 | Sony Computer Entertainment Inc | 割り込み処理のためのシステムおよび方法 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
BE634161A (de) * | 1962-07-03 | |||
US3290658A (en) * | 1963-12-11 | 1966-12-06 | Rca Corp | Electronic computer with interrupt facility |
GB1105244A (en) * | 1964-09-04 | 1968-03-06 | Automatic Telephone & Elect | Improvements in or relating to data processing systems |
US3643229A (en) * | 1969-11-26 | 1972-02-15 | Stromberg Carlson Corp | Interrupt arrangement for data processing systems |
US3789365A (en) * | 1971-06-03 | 1974-01-29 | Bunker Ramo | Processor interrupt system |
GB1397438A (en) * | 1971-10-27 | 1975-06-11 | Ibm | Data processing system |
GB1381885A (en) * | 1972-01-05 | 1975-01-29 | Robotron Veb K | Data processing unit |
US3828325A (en) * | 1973-02-05 | 1974-08-06 | Honeywell Inf Systems | Universal interface system using a controller to adapt to any connecting peripheral device |
RO58198A2 (de) * | 1973-03-13 | 1975-06-15 | ||
JPS50140230A (de) * | 1974-04-26 | 1975-11-10 | ||
US3984813A (en) * | 1974-10-07 | 1976-10-05 | Fairchild Camera And Instrument Corporation | Microprocessor system |
US4086626A (en) * | 1974-10-07 | 1978-04-25 | Fairchild Camera And Instrument Corporation | Microprocessor system |
FR2296221A1 (fr) * | 1974-12-27 | 1976-07-23 | Ibm France | Systeme de traitement du signal |
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 |
US4047161A (en) * | 1976-04-30 | 1977-09-06 | International Business Machines Corporation | Task management apparatus |
US4103329A (en) * | 1976-12-28 | 1978-07-25 | International Business Machines Corporation | Data processing system with improved bit field handling |
US4104721A (en) * | 1976-12-30 | 1978-08-01 | International Business Machines Corporation | Hierarchical security mechanism for dynamically assigning security levels to object programs |
-
1977
- 1977-12-09 DE DE2754890A patent/DE2754890C2/de not_active Expired
-
1978
- 1978-10-24 FR FR7830983A patent/FR2411442B1/fr not_active Expired
- 1978-10-30 CH CH1117378A patent/CH637230A5/de not_active IP Right Cessation
- 1978-11-20 JP JP53142429A patent/JPS6046737B2/ja not_active Expired
- 1978-11-20 US US05/962,549 patent/US4247894A/en not_active Expired - Lifetime
- 1978-11-24 AU AU41924/78A patent/AU518925B2/en not_active Expired
- 1978-11-27 SE SE7812174A patent/SE7812174L/xx unknown
- 1978-11-28 IT IT30248/78A patent/IT1160270B/it active
- 1978-12-01 ES ES475616A patent/ES475616A1/es not_active Expired
- 1978-12-05 CA CA317,422A patent/CA1115851A/en not_active Expired
- 1978-12-06 GB GB7847445A patent/GB2009981B/en not_active Expired
- 1978-12-11 BR BR7808126A patent/BR7808126A/pt unknown
Also Published As
Publication number | Publication date |
---|---|
JPS6046737B2 (ja) | 1985-10-17 |
JPS5480640A (en) | 1979-06-27 |
BR7808126A (pt) | 1979-07-31 |
GB2009981A (en) | 1979-06-20 |
IT1160270B (it) | 1987-03-11 |
FR2411442A1 (fr) | 1979-07-06 |
CA1115851A (en) | 1982-01-05 |
DE2754890A1 (de) | 1979-06-13 |
FR2411442B1 (fr) | 1986-01-31 |
AU4192478A (en) | 1979-06-14 |
IT7830248A0 (it) | 1978-11-28 |
AU518925B2 (en) | 1981-10-29 |
CH637230A5 (de) | 1983-07-15 |
ES475616A1 (es) | 1979-04-01 |
US4247894A (en) | 1981-01-27 |
SE7812174L (sv) | 1979-06-10 |
GB2009981B (en) | 1982-02-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2754890C2 (de) | Einrichtung zur Programmunterbrechung | |
DE3335145C2 (de) | ||
DE1449529C3 (de) | Unterbrechungseinrichtung für ein Datenverarbeitungssystem | |
DE3508291A1 (de) | Realzeit-datenverarbeitungssystem | |
DE3300260C2 (de) | ||
DE2157982A1 (de) | Digitales Multiprozessor-Datenverarbeitungssystem | |
DE2209136A1 (de) | Steuer- und Anpassungsschaltung für Datenverarbeitungsanlagen | |
CH654943A5 (de) | Pruefeinrichtung fuer mikroprogramme. | |
DE3727017C2 (de) | ||
DE1424762B2 (de) | Datenverarbeitungsanlage | |
DE4101623A1 (de) | Informationsverarbeitungssystem | |
DE2145709B2 (de) | ||
DE19744071A1 (de) | Eine programmierbare Logiksteuervorrichtung verwendendes Steuerungssystem | |
EP0048991B1 (de) | Verfahren und Anordnung zur Behandlung von Unterbrechungsbedingungen während des Arbeitsablaufes in Datenverarbeitungsanlagen mit Mikroprogrammsteuerung | |
DE4132100A1 (de) | Programmierbares steuerwerk und verfahren zum steuern desselben | |
EP0104490A2 (de) | Verfahren und Vorrichtung zur Synchronisation von Datenverarbeitungsanlagen | |
DE2120289A1 (de) | Gesteuerte Pause in einer Datenverarbeitungsanlage | |
EP0012185A1 (de) | Prüfschaltung für synchron arbeitende Taktgeber | |
DE3123379C2 (de) | ||
DE2838887C2 (de) | Datenverarbeitungsanlage mit einer Schaltung für Unterbrechungsanforderungen zur Übernahme des gemeinsamen Busses | |
DE2756764C3 (de) | Einrichtung zur Synchronisation von Prozessor und Speicher in einer elektronischen Datenverarbeitungsanlage | |
EP0010193A1 (de) | Einrichtung zur Steuerung der Zykluszeit für einen Mikroprozessor mit Steuerspeichern unterschiedlicher Verarbeitungsgeschwindigkeit | |
DE2824819A1 (de) | Schnittstelle einer datenverarbeitungsanlage | |
DE2715983A1 (de) | Einrichtung und betriebsverfahren zur ueberwachung und pruefung des ablaufs von prozessoroperationen | |
DE1549522C (de) | Datenverarbeitungsanlage mit Simultanverarbeitung mehrerer Programme mittels mehrerer Rechner |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OAP | Request for examination filed | ||
OD | Request for examination | ||
D2 | Grant after examination | ||
8339 | Ceased/non-payment of the annual fee |