CH637230A5 - Einrichtung zur programmunterbrechung und steuerung der programmebenen-umschaltung in einer datenverarbeitungsanlage. - Google Patents
Einrichtung zur programmunterbrechung und steuerung der programmebenen-umschaltung in einer datenverarbeitungsanlage. Download PDFInfo
- Publication number
- CH637230A5 CH637230A5 CH1117378A CH1117378A CH637230A5 CH 637230 A5 CH637230 A5 CH 637230A5 CH 1117378 A CH1117378 A CH 1117378A CH 1117378 A CH1117378 A CH 1117378A CH 637230 A5 CH637230 A5 CH 637230A5
- Authority
- CH
- Switzerland
- Prior art keywords
- program
- program level
- control
- signals
- signal
- Prior art date
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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
- Hardware Redundancy (AREA)
- Debugging And Monitoring (AREA)
Description
Die Erfindung betrifft eine Einrichtung zur Programmunterbrechung nach dem Oberbegriff des Anspruchs 1.
Zur Durchführung von Programmunterbrechungen und 20 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 Bedie- 25 nungund
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 Pro- 30 zessoren mit nur einer Programmebene (d.h. mit nur einem Instruktions-Adressenregister, nur einem Bedingungscoderegister und nur einem Arbeitsspeicher), um im Bedarfsfalle, d.h. beim Erkennen einer asynchronen, externen Anforderung, auf die für die externe Bedienung vorgesehenen Programme umzu- 35 schalten.
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 40 Priorität höchsten Anforderung bei gleichzeitigem Auftreten mehrerer Anforderungen und
- die den einzelnen Prioritätsebenen zugeordneten Instruktionsadressenregister, Bedingungscoderegister und Arbeitsspeicher. 45
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 Unterbrechungsebe- 50 nen 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 Mas- 55 ken, 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 60 zugeordnet. In Fig. 3 ist dargestellt, welche Funktionen den einzelnen Programmebenen zugeordnet werden können, wenn der Prozessor im wesentlichen Serviceaufaben zu erfüllen hat.
Einem solchen Service-Prozessor sind im allgemeinen die Aufgaben der anfänglichen Programmladung, der Fehlererken- 65 nung 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 Fig. 3 beherbergt die Programmebene 0 mit der höchsten Priorität alle Mikroprogramme zur Analyse und Behandlung von durch Fehlerprüfschaltungen entdeckte Prozessor-Fehler (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 Sequenz abzuschalten.
In der Programmebene 2 befindet sich das Mikroprogramm für die Betreuung eines Fernwartungsanschlusses (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 anschliessbar ist.
Die Programmebene 3 enthält beispielsweise die Mikroprogramme für die Bedienung von Tastatur und Bildschirm (D1SPL) 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 Fig. 3 zeigt, in der Programmebene 5 untergebracht.
Die Mikroprogramme zur Abfrage des Systemstatus (SAST) und zur Messung der internen Betriebsspannungen liegen in der Programmebene 6.
Schliesslich 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 dass 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 Mikro-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, dass 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 dass dieser die Steuerung des Prozessors übertragen werden kann.
Hieraus ist zu erkennen, dass 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:
- Sie 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ässt sich nur schwer oder gar nicht vorherbestimmen, so dass diese Methode zu nicht vorhersehbaren «Überläufen» führt.
- Schaltkreis- oder Mikroprogramm bedingte Fehler lassen sich in dieser «unkontrollierten» Anordnung sehr schwer und
637 230
nur unter beträchtlichem Zeitaufwand analysieren.
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 Pro- 5 grammen führen. Ferner sollen bei der Durchführung von Unterbrechungen (Programmablösungen) nur bestimmte Steuerblöcke und nicht die Mikroprogramme selbst umgeschaltet werden. Ausserdem sollen die Steuerblöcke im Bereich einer verwendeten höheren Sprache für die jeweilige Programm- io ebene erlaubte Instruktionstypen und Speicherbereiche festlegen.
Gelöst wird diese Aufgabe der Erfindung durch die im Patentanspruch 1 angegebenen Merkmale.
Weitere vorteilhafte Ausgestaltungen, Weiterbildungen 15 und Merkmale des Gegenstandes der Erfindung sind den abhängigen Ansprüchen zu entnehmen.
Durch die Erfindung werden im wesentlichen zwei Vorteile erreicht:
1. Es werden asynchrone Programmunterbrechungen bzw. 20 -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 Kontrollblöcken 25 erfolgt an einem speziellen, vorgegebenen Punkt in der Interpretationsphase eines Befehls.
Im folgenden wird die Erfindung anhand eines durch Zeichnungen erläuterten Ausführungsbeispieles näher beschrieben. Es zeigen : 30
Fig. 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 35 Interprétations- und Ausführungsphase zur Durchführung oder Unterdrückung einer Programmebenenumschaltung,
Fig. 3 eine Prinzipdarstellung möglicher Programmebenen und deren Prioritätsrangzuteilung,
Fig. 4 das Blockschaltbild des in Fig. 1 dargestellten Steuer- 40 signalgenerators 203,
Fig. 5 ein Zeitdiagramm zur Veranschaulichung der Wirkungsweise der in Fig. 1 dargestellten Einrichtung,
Fig. 6, 6A bis D ein Blockschaltbild der in Fig. 1 dargestellten Steuerung 202 für den Programmebenenschalter, 45
Fig. 7 das Blockschaltbild des in Fig. 1 dargestellten Programmebenenschalters 201,
Fig. 8 ein Zeitdiagramm zur Veranschaulichung der Wirkungsweise des Programmebenenschalters 201 bei einer Programmebenenumschaltung und 50
Fig. 9 das Blockschaltbild der in Fig. 1 dargestellten Ablaufsteuerung 204.
In Fig. 1 ist als Blockschaltbild eine Einrichtung zur Programmunterbrechung und Steuerung der prioritätsgerechten Programmebenenumschaltung dargestellt. Sie besteht aus 55 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. 60
Der eigentliche Kern dieser Einrichtung ist der Programmebenenschalter 201, der, wie im Zusammenhang mit Fig. 2 noch ausführlicher erläutert wird, bei asynchron auftretenden Anforderungen eine synchrone Programmebenenumschaltung vornimmt. 65
Hierzu erzeugt die Steuerung für den Programmebenenschalter 202 eine Reihe von Steuersignalen ST-PL0 bis ST-PL7 sowie LV-PL0 bis LV-PL7. Ausserdem werden dem Programmebenenschalter 201 auch die beiden Zeitsteuersignale T1 und T2, auf die noch im Rahmen der ausführlichen Erläuterung des Programmebenenschalters näher eingegangen wird, zugeführt.
Wie Fig. 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, 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 PIRRO bis PIRR7, CM0 bis CM7 und HMS zuzuführen. Diese Steuersignale werden ihrerseits aus den Bitsignalen 0 bis 7, den Steuersignalen SO bis S3 sowie den Taktsignalen T1 und T2 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 Fig. 1 als Ausgangssignale dieser Ablaufsteuerung 204 erscheinen, werden noch ausführlich im Zusammenhang mit Fig. 9 erläutert.
Fig. 2 zeigt nun einen Ausschnitt des Interpretierers, der, wie es üblich ist, den Programmablauf in einer Sequenz von Interprétations- und Exekutionsphasen steuert, wobei jeweils einer Interpretationsphase I- ® eine Exekutionsphase E-O,
auch Ausführungsphase genannt, nachfolgt. Im oberen Teil der Fig. 2 ist bei 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 direkt «benachbarte» Mikroinstruktionen die für die Dauer einer Mikroinstruktion die Hauptmaske (HM) des verwendeten Prozessors einschalten und dann wieder ausschalten. Mit dieser Hauptmaske lässt 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, dass nur hier an dieser Stelle die Hauptmaske für die Dauer einer Mikroinstruktion 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 Ein-/Ausgabegeräten, als auch um solche handeln, die von Programmen ausgelöst werden.
Im vorliegenden Beispiel wird angenommen, dass sich in der Programmebene PL6 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, darge
5
637 230
stellt als Operation 1 in Fig. 2, wird getestet, ob er den Wert 0 erreicht hat (vgl. Operation 2 in Fig. 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 Fig. 2 angedeutet.
Falls die gerade aktive oder laufende Programmebene in ihrer Priorität tiefer liegt, als eine möglicherweise in Erscheinunggetretene 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 Fig. 2).
Wie die Operationen 7 bis 10 erkennen lassen, erfolgt die Berücksichtigung der neuen Programmebene gemäss ihrer Priorität, wobei der Programmebene 0 (PLO) 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 anschliessen, die, wie unter Operation 12 dargestellt ist, mit der Decodierung des Befehls begonnen wird. Daran schliessen sich die verschiedenen Ausführungsphasen E- O 1, E- 0 2, E- <D 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 diesem Ablaufschema zu ersehen, dass nach der Deaktivierung der Hauptmaske die nachfolgende Ausführung einer Interpretiererinstruktion ununterbrochen erfolgt. Erst nach den vollständigen Ausführung eines Interpretiererbefehls kann in der darauffolgenden I-Phase ein neuer Programmebenenwechsel vollzogen werden.
Eine Besonderheit dieses Ablaufs liegt auch darin, dass in der Ausführungsphase des letzten Interpretiererbefehls einer jeden Programmebene die laufende Programmebene durch Löschen ihrer Unterbrechungsanforderung (IR oder PIRR) abgeschaltet (Operation 17) wird.
Die Programmebene PL6 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 I-Phase des Interpretierers ermöglicht, wird durch die in den Fig. 4,6A bis D, 7 und 9 dargestellten Anordnungen gesteuert. Diese Anordnungen sind zusätzlich zu den in der verwendeten Datenverarbeitungsanlage vorhandenen Schaltkreisen erforderlich.
Zunächst ist in Fig. 4 die Erzeugung der verschiedenen Steuersignale PIRRO bis PIRR7 sowie CMO bis CM7 gezeigt, die als Eingangssignale für die in den Fig. 6A bis D dargestellte Steuerschaltung dienen, die die synchrone Umschaltung der verschiedenen Programmebenen vornimmt.
Die in der Datenverarbeitungsanlage vorhandenen Programmunterbrechungsquellen IS, die mit Hilfe ihrer Unterbre-chungsanforderungssignale IRÒ bis IR7 eine stete Änderung des Programmablaufs hervorrufen, sind in Fig. 1 pauschal als Block 21 dargestellt. Über individuelle Leitungen des Kabels 20 übertragen sie ihre Unterbrechungsanforderungssignale IRO bis IR7 zu der in den Fig. 6A bis D dargestellten Steueranordnung.
Diese erste Gruppe von Unterbrechungsanforderungssigna-len IRÒ bis IR7 können von speziellen Adapterschaltungen erzeugt werden, die allerdings im einzelnen nicht dargestellt sind. Diese Unterbrechungsanforderungssignale IRÒ bis IR7 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 Fig. 4 dargestellt ist, sind die Steuersignale PIRRO bis PIRR7, die von der Ablaufsteuerung sowohl gesetzt als auch zurückgesetzt werden können. Das Steuersignal SO dient in Verbindung mit den UND-Toren 22a bis h 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 PIRR-Flip-Flops 0 bis 7, die mit 25a bis h bezeichnet sind und die genannten Steuersignale PIRRO bis PIRR7 erzeugen.
Mit Hilfe des Steuersignals SO gelangen die Bits 0 bis 7 über die UND-Tore 22a bis h zur Zwischenspeicherung in das Register 23. Mit Hilfe des Steuersignals S1, das stetsein Eingangssignal für alle UND-Tore 24a bis h bildet, werden die im Register 1 (23) zwischengespeicherten Bits 0 bis 7 über den jeweils anderen Eingang der genannten UND-Tore 24a bis h in die PIRR-Flop-Flops 0 bis 7 (25a bis h) übertragen, was mit dem Aufsetzen dieser Flip-Flops gleichbedeutend ist. Dieses bedeutet aber auch, dass nur die aufgesetzten PIRR-Flip-Flops an ihrem Ausgang das gewünschte Steuersignal (PIRRO bis 7) erzeugen.
Schliesslich ist auch noch eine dritte Gruppe von Steuerssignalen CMO bis CM7 erforderlich, deren Erzeugung von einer identisch aufgebauten Anordnung übernommen wird.
Diese Anordnung besteht wieder aus UND-Toren 26a bis h 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 der Fig. 5 zu ersehen sind, ermöglicht auch hier über die UND-Tore 26a bis h die Eingabe der Bits 0 bis 7 in das Register 2 (27).
Durch das Steuersignal S2 wird dann der Inhalt dieses Registers über eine Anordnung von UND-Toren 28a bis h in individuelle Verriegelungsschaltungen CM-FL0 bis CM-FL7 (29a bis h) übernommen. Die Ausgangssignale der genannten Flip-Flops bilden dann die Steuersignale CMO bis CM7, die in der eigentlichen Steuerschaltung nach den Fig. 6A bis D eine wichtige Steuerfunktion übernehmen.
Schliesslich ist in Fig. 4 noch zu sehen, dass mit Hilfe des Steuersignals S3, das ebenfalls von der Ablaufsteuerung 204 erzeugt wird (Zeitpunkt gemäss Fig. 5) ein Hauptmasken-Flip-Flop 30 (HM-FL) gesetzt wird, das im eingestellten Zustand das Ausgangssignal HMS erzeugt.
Die Wirkungen der Steuersignale IRÒ bis IR7, PIRRO bis PIRR7 sowie CMO bis CM7 und HMS werden noch im Zusammenhang mit den Fig. 5 und 6A bis D näher beschrieben.
Es sei noch einmal daran erinnert, dass die asynchron eintreffenden Unterbrechungsanforderungen, die durch die Signale IRÒ bis IR7 charakterisiert sind, mittels der Hauptmaske HM in der sogenannten I-Phase des Interpretierers synchronisiert werden, indem nur an dieser Stelle die Hauptmaske HM kurzzeitig aktiviert wird.
Die Fig. 6A bis D zeigen nun die für die Programmauswahl vorgesehene Schaltungsanordnung. In dieser Schaltungsanordnung werden die asynchron eintreffenden Unterbrechungsan5
10
15
20
25
30
35
40
45
50
55
60
65
637 230
6
forderungen 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 Pro- 5 grammebenenschalter nach Fig. 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 io Priorität setzt auch eine Schaltungsanordnung voraus, die das gegenwärtig operierende Programm einer bestimmten Priorität dazu veranlasst, seinen Betrieb einzustellen und sein zuletzt gültiges Programmstatuswort LFD-PSW in dem Programmstatus-Wortregister PSWi-R seiner zugehörigen Programmebene 15 zu retten. Diese Schaltungsanordnung ist ebenfalls in den Fig. 6A bis D dargestellt; sie erzeugt die Steuersignale LV-PLO bis LV-PL7.
Zur Erläuterung der Wirkungsweise der genannten Schaltungsanordnungen kann am besten das folgende Beispiel die- 20 nen, bei dem angenommen wird, dass erstens die Programmebene PL4 aktiv und zweitens die gemeinsame Maske für die Programmebene PL2 aktiviert ist. Fig. 8, die ein Zeitdiagramm zur Veranschaulichung eines Programmebenenwechsels darstellt, zeigt in der zweiten Zeile von oben das asynchrone Auf- 25 treten einer Unterbrechungsanforderung, der das Unterbre-chungsanforderungssignal IR2 zugeordnet ist. Diese Unterbrechungsanforderung führt, wie Fig. 8 zeigt, trotz ihrer um zwei Stufen höheren Priorität als die Programmebene PL4 mit der Priorität 4 nicht zu einem Programmebenenwechsel, da die zu 30 diesem Zeitpunkt noch nicht aktivierte Hauptmaske HM dieses verhindert.
In der nächsten I-Phase des Interpretierers wird nun die Hauptmaske HM aktiviert, wodurch das Signal HMS erzeugt wird (das bereits im Zusammenhang mit Fig. 4 erläutert 35
wurde), um einen eventuellen Programmebenenwechsel zu ermöglichen.
Die Schaltungsanordnung zur Auswahl der jeweils aktiven Programmebene, die in den Fig. 6A bis D dargestellt ist, besteht zunächst aus einem Satz ODER-Toren 60a bis h, einem ersten 40 Satz von UND-Toren 70a bis h, einem zweiten Satz von UND-Toren 80a bis g, einem dritten Satz von UND-Toren 90a bis h, einem Satz von Flip-Flop-Schaltungen 100a bis h, einem vierten Satz von UND-Toren 110a bis h sowie einem ODER-Tor 87.
Die UND-Tore 70a und 80a bis g erzeugen, wenn ihre Ein- 45 gangsbedingungen erfüllt sind, die Programmebenen-Start-signale ST-PL0 bis ST-PL7. Da das UND-Tor 70a der höchsten Programmebene PL0 zugeordnet ist, erzeugt dieses UND-Tor das Signal ST-PL0 schon beim Vorhandensein der Eingangssignale IR0 oder PIRRO und CMO, da «Sperrsignale» als Folge 50 der Überprüfung des zugeordneten Prioritätsrangs von einem UND-Tor mit noch höherer Priorität nicht vorliegen können. Wegen dieser Prüfung des Prioritätsrangs können aber die UND-Tore 70b bis h nicht direkt die Programmebenen-Start-signale ST-PLI bis ST-PL7 erzeugen. Deshalb sind diesen UND- 55 Toren weitere UND-Tore 80a bis g nachgeschaltet, die diese Programmebenen-Startsignale ST-PLI bis ST-PL7 erzeugen, wenn erstens ein Ausgangssignal ihres zugeordneten UND-Tores aus der Gruppe 70b bis h und zweitens ein «Sperrsignal» von einem mit höherem Prioritätsrang ausgestatteten UND-Tor der 60 Gruppe 70a bis h nicht vorliegt. Unter «Sperrsignal» ist hier das jeweils inverse Ausgangssignal der UND-Tore 70a bis h zu verstehen, das eine binäre Eins ist, wenn das zugeordnete UND-Tor geöffnet und eine binäre Null ist, wenn es geschlos-sen ist. Diese Signale sind allgemein mit ST-PL0 bis ST-PL7 65 bezeichnet.
Für eine Programmebenenablösung ebenfalls erforderlich sind die Steuersignale LV-PLO bis LV-PL7, zum Verlassen der laufenden Programmebene, die von dem vierten Satz von UND-Toren 110a bis h erzeugt werden. Eine weitere massgebliche Rolle bei der Erzeugung der letztgenannten Signale spielen die Flip-Flops 100a bis h, die von den Steuersignalen ST-PL0 bis ST-PL7 zum Starten der neuen Programmebene aufgesetzt werden. Die Rückstellung dieser Flip-Flops erfolgt über den dritten Satz von UND-Toren 90a bis h zur Zeit des Taktsignales T2.
Fig. 5 zeigt in Verbindung mit den Fig. 6A bis D ein weiteres Beispiel zur Erläuterung eines Arbeitsspiels der einzelnen Komponenten der Schaltungsanordnungen.
Wie Fig. 5 zeigt, wird in diesem Beispiel davon ausgegangen, das s die Bits CMO bis CM7 der gemeinsamen Maske sowie das PIRR7-Bit gesetzt sind, was einer aktiven Programmebene PL7 entspricht. Die von der Steuerschaltung insgesamt generierten Signale entsprechen somit der zur Taktzeit CL1 in Fig. 5 dargestellten Konfiguration.
Das Hauptmaskensignal HMS wählt innerhalb des hier dargestellten Abschnitts vonTaktzeit CL1 bis CL27 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 (Fig. 8).
Ein erster möglicher Programmebenenwechsel könnte zur Taktzeit CL2 erfolgen. Da aber keine weiteren Unterbrechungsanforderungen vorliegen, was dadurch angezeigt ist,
dass Signale IRÒ bis IR7 nicht erzeugt wurden, sondern vielmehr nur das Steuersignal PIRR7 vorliegt, wird der Programmebene PL7, also der Programmebene mit der niedrigsten Priorität weiterhin die Steuerung der Datenverarbeitungsanlage übertragen bleiben, d.h. die Programmebene PL7 wird zu diesem Zeitpunkt nicht unterbrochen.
Zur Taktzeit CL3 wird von einer der Unterbrechungsquellen 21 eine Unterbrechungsanforderung ausgelöst, indem sie ihr Unterbrechungsanforderungssignal IR5 erzeugt.
Während der Taktzeit CL4 kann kein Programmebenenwechsel erfolgen, da die Hauptmaske, wie Fig. 5 in der zweiten Zeile von oben zeigt (fehlendes Signal HMS), zu diesem Zeitpunkt noch nicht aktiviert ist.
Zur Taktzeit CL5 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 Fig. 5 ferner zeigt, sind zu diesem Zeitpunkt auch noch die Bits CMO bis CM7 der gemeinsamen Maske aufgesetzt. Da so auch das Bit CM5 aufgesetzt ist, kann ein Programmebenenwechsel von Programmebene PL7 nach PL5 erfolgen.
In der Schaltungsanordnung nach den Fig. 6A bis D 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 PL7 gesteuert. Von der in Fig. 4 dargestellten Schaltungsanordnung wird als Ausgangssignal des PIRR-Flip-Flops 7 (25h) das PIRR7-Bit erzeugt. Dieses liegt an dem ODER-Tor 60h in Fig. 6B an. Ausserdem liegt an dem UND-Tor 70h das Steuerbit CM7 der gemeinsamen Maske an. Mit dem nächsten eintreffenden Hauptmaskensignal HMS zur Taktzeit CL2 wird dann dieses UND-Tor 70h für die Dauer der Taktzeit CL2 geöffnet. Dieses UND-Tor 70h hat, wie alle UND-Tore 70a bis h 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 Aus
7
637 230
gang erzeugt gleichzeitig das hierzu inverse Signal ST-PLi.
Das dem UND-Tor 70h nachgeschaltete UND-Tor 80g verfügt über weitere Eingänge, die dieses Tor mit den jeweils rechten Ausgängen der UND-Tore 70a bis g verbinden. Da zur gleichen Taktzeit CL2, während der ja die Hauptmaske aktiviert 5 wird, kein weiteres UND-Tor 70a bis g durchgeschaltet ist, ist zu diesem Zeitpunkt nur die UND-Bedingung für das UND-Tor 80g im zweiten Satz von UND-Toren 80a bis g erfüllt, so dass nur dieses UND-Tor 80g ein Ausgangssignal erzeugen kann. In der Schaltungsanordnung in den Fig. 6A bis D, in der die io Signale LV-PLO bis LV-PL7 für das Verlassen der laufenden Programmebene erzeugt werden, kann zu dieser Zeit nur der Flip-Flop 100h gesetzt werden, der gemeinsam mit dem nachgeschalteten UND-Tor 110h das Signal LV-PL7 erzeugt. Damit wird das Programmstatuswort PSW7 der Programmebene PL7 15 wieder zum laufenden Programmstatuswort LFD-PSW, wie noch im einzelnen im Zusammenhang mit den Fig. 7 und 8 erläutert werden wird. Ein Programmebenenwechsel findet also nicht statt, die laufende Programmebene bleibt also die Programmebene PL7. ZurTaktzeit CL3 erscheint dann das 20 Unterbrechungsanforderungssignal IR5, das von nun an an dem ODER-Tor 60f anliegt. Zu dieser Zeit ist das PIRR5-Bit noch nicht gesetzt. Das Bit CM5 der gemeinsamen Maske ist, wie auch die übrigen Bits dieser gemeinsamen Maske eingeschaltet. Das UND-Tor 70f ist somit für seine Öffnungen vorbe- 25 reitet, die erst erfolgen kann, wenn das nächste Hauptmaskensignal HMS erscheint. Zur Taktzeit CL4 ergeben sich, wie auch Fig. 5 zeigt, keine Statusänderungen. Erst zur Taktzeit CL5 wird über das Steuersignal S3 das Hauptmaskensignal HMS erzeugt, dessen Dauer der Aktivierungsdauer der Hauptmaske 30 HM entspricht. Dieses ist auch der Zeitpunkt, zu dem das UND-Tor 70f durchgeschaltet 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 80g nicht mehr erfüllt ist, wird das neue Signal ST-PL5 erzeugt, wohingegen die 35 Erzeugung des Signales ST-PL 7 zu dieser Zeit unterbleibt. Es wird somit nicht mehr der Flip-Flop 100h, sondern der Flip-Flop lOOf gesetzt. Auf diese Weise wird über das UND-Tor 1 lOf das Signal LV-PL5 erzeugt.
Wie Fig. 7 zeigt, wird dadurch das laufende Programmsta- 40 tuswort LFD-PSW, das zur Programmebene PL7 gehört in sein zugeordnetes Register 130h zurückübertragen und das Programmstatuswort PSW5 der Programmebene PL5 aus dem entsprechenden Register 130f zum laufenden Programmstatuswort gemacht, indem es in das zugeordnete Register 130i für das 45 laufende Programmstatuswort übertragen wird. Dieses bedeutet, dass etwa von der Mitte der Taktzeit CL5 an Befehle der Programmebene PL5 die Maschinensteuerung übernommen haben.
Die Programmebenenablösung konnte also erfolgen, weil 50 durch die Aktivierung des UND-Tores 70f das Steuersignal ST-PL5 abgeschaltet wurde, so dass infolge dieses fehlenden Eingangssignals am UND-Tor 80g dieses geschlossen wurde. Damit war es nicht mehr möglich, den Flip-Flop 100h aufzusetzen. 55
Nach dem Programmebenenwechsel, wie er in Fig. 5 dargestellt ist, ist nun von etwa der Mitte der Taktzeit CL5 an die Programmebene PL5 aktiv. Zur Taktzeit CL6 wird das Steuersignal SO aktiviert, mit dessen Hilfe die von der Ablaufsteuerung 204 übertragenen Bits 0 bis 7 über die UND-Tore 22a bis h in das 60 Register 23 eingegeben werden. Zur nachfolgenden Taktzeit CL7 wird das Steuersignal S1 erzeugt, das zusammen mit dem Bit 5, das im Takt zuvor in das Register 23 übertragen wurde, nun über das UND-Tor 24f den Flip-Flop 25f setzt, der das PIRR5-Bit erzeugt. Wie Fig. 5 zeigt, ist dieses PIRR5-Bit kurz 65 nach Beginn der Taktzeit CL7 verfügbar.
Im Verlauf der Taktzeit CL8 wird das Unterbrechungsan-forderungssignal IR5 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 CL9 von der Unterbrechungsquelle 21 ejne Unterbrechungsanforderung gemeldet, indem das Signal IR6 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 Fig. 5 zeigt, frühestens zurTaktzeit CLIO möglich ist, in der wieder das Steuersignal HMS erzeugt wird (vgl. S3; Fig. 5). Obzwar nun das Unterbrechungsanforderungs-signal IR5 nicht mehr vorliegt, kann trotzdem kein Programmebenenwechsel zur nächstniedrigeren Programmebene PL6 erfolgen, da ja in der Taktzeit CL7 das PIR5-Bit aufgesetzt worden war, das nun die Funktion des Steuersignals IR5 übernimmt. ZurTaktzeit CLIO erfolgt somit kein Programmebenenwechsel, und zurTaktzeit CL11 ergeben sich auch keine Veränderungen, wie Fig. 5 zeigt. ZurTaktzeit CL12 wird aber von der Unterbrechungsquelle 21 wieder ein neues Unterbre-chungsanforderungssignal erzeugt, das Signal IR3, welches die Anforderung einer Unterbrechungsquelle angibt, die zum gegenwärtigen Zeitpunkt die höchste aktivierte Priorität aufweist.
ZurTaktzeit CL13 wird wieder die Hauptmaske aktiviert, die allein einen Programmebenenwechsel herbeiführen kann. Zu dieser Taktzeit sind folgende Signale aktiv: HMS, IR3, IR6, S3, PIRR5, PIRR7 sowie die Bits der gemeinsamen Maske CMO bis CM7.
Kurz nach der Aktivierung der Hauptmaske hat sich erwar-tungsgemäss die höhere Priorität der dem Unterbrechungsan-forderungssignal IR3 zugeordneten Quelle durchgesetzt und die Programmebene PL5 abgeschaltet.
In der Schaltungsordnung nach den Fig. 6A bis D stellt sich diese Situation auf folgende Weise dar:
Zunächst bleibt bei Auftreten des Hauptmaskensignals HMS die UND-Bedingung für das UND-Tor 70f auch bei abgeschaltetem Unterbrechungsanforderungssignal IR5 erfüllt, da zu dieser Zeit an dem ODER-Tor 60f das PIRR5-Bit in seiner « 1 »-Lage anliegt. Zur Zeit der Aktivierung der Hauptmaske HM ist somit auch die UND-Bedingung für das UND-Tor 80e erfüllt, da keines der vorhergehenden UND-Tore 70a bis e aktiv ist. Ein Programmebenenwechsel kann also nicht erfolgen.
ZurTaktzeit CL12 erscheint das Unterbrechungsanforde-rungssignal IR3, das über das ODER-Tor 60d 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 lOOf und das UND-Tor 1 lOf sowie über den Flip-Flop lOOd und das UND-Tor 1 lOd wird dann in der bereits zuvor erläuterten Weise ein Programmebenenwechsel vorgenommen.
In der Taktzeit CL14 wird wieder das Steuersignal SO erzeugt, mit dessen Hilfe das Register 23 erneut mit den anliegenden Bits 0 bis 7 geladen wird. Durch das nachfolgende Sl-Signal wird dann zur Taktzeit CL15 der selektierte Flip-Flop 25d gesetzt, der nun das PIRR3-Bit erzeugt.
Im folgenden wird ein sehr vorteilhafter Operationsablauf der in den Fig. 4,6A bis D dargestellten Schaltunganordnung erläutert.
Wie bereits im Zusammenhang mit Fig. 5 erwähnt wurde, findet zur Taktzeit CL13 ein Programmebenenwechsel von PL5 nach PL3 statt. Da sich aber das Programm der Programmebene PL3 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 PL3 zu Beginn der Taktzeit
637 230 8
CL15 bis zum Beginn derTaktzeit C118 das Bit CM2 der gemeinsamen Maske, das der Programmebene PL2 zugeordnet ist, ab.
In der Schaltungsanordnung nach den Fig. 6A bis D ist zu erkennen, dass ein Unterbrechungsanforderungsignal IR2, das 5 ü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 CM2 fehlt. Auf diese Weise hat die Programmebene PL3 dafür gesorgt, dass sie nicht von einer io Unterbrechungsanforderung dieser Unterbrechungsquelle für die genannte Zeitdauer unterbrochen werden kann.
Zu Beginn der Taktzeit CL18 werden mit Hilfe des Signals SO die neuen Bits 0 bis 7 in die Register 23 und 27 eingegeben. Zur Taktzeit SO wird dann, weil auch das Bit 2 in das Register 2715 eingegeben wurde, der Flip-Flop 29c in Fig. 4 gesetzt, der nun wieder das Signal CM2 erzeugt. Dieses bedeutet, dass beim nächsten Aktivieren der Hauptmaske das Unterbrechungsan-forderungssignal IR2 durchgreifen und einen Programmebenenwechsel herbeiführen kann. Dieses ist zur Taktzeit CL20 20 der Fall, in der dann endgültig der Programmebenenwechsel von der Programmebene PL3 auf PL2 erfolgt.
Mit Hilfe der Steuersignale SO und S1 wird auch wieder das Signal PIRR2 erzeugt, das den Programmbetrieb in dieser Programmebene zunächst aufrecht erhält, selbst dann, wenn das 25 Unterbrechungssignal IR2 abgeschaltet wird.
Wie dem Diagramm in Fig. 5 weiter zu entnehmen ist, wird das PIRR2-Bit über das Steuersignal S1 zu Beginn derTaktzeit CL24 wieder abgeschaltet.
Da aber das mit Beginn der Taktzeit CL7 aufgesetzte 30
PIRR5-Bit noch gesetzt ist, kann die zurTaktzeit CL9 abgegebene Unterbrechungsanforderung der Unterbrechungsquelle, die das Unterbrechungsanforderungssignal IR6 erzeugt, zur Taktzeit C125, dem Zeitpunkt der nächsten Hauptmaskenaktivierung, nicht durchgreifen, d.h. einen solchen Programmebe- 35 nenwechsel herbeiführen, das anstelle der Programmebene PL2 nun die Programmebene PL6 operativ würde. Es setzt sich vielmehr das Signal PIRR5 durch, welches dafür sorgt, dass ein Programm seiner Ebene also der Programmebene PL5 die Maschinensteuerung erhält. Dieses bleibt auch so, bis zum 40 Ende derTaktzeit CL27, mit der auch die Betrachtung dieses Ausführungsbeispiels endet.
Im folgenden sei noch einmal ausführlicher auf den Austausch der Programmstatuswörter PSO bis PSW7 und die hierfür erforderliche Schaltungsanordnung eingegangen, die in 45 Fig. 7 dargestellt ist. Fig. 8 zeigt als Zeitdiagramm ein Ausführungsbeispiel, bei dem angenommen wird, dass die Programmebene PL4 aktiv sei und das Bit CM2 der gemeinsamen Maske im binären Einszustand sei.
In der zweiten Zeile von oben in Fig. 8 ist zu erkennen, dass 50 vom Zeitpunkt tl an das Unterbrechungsanforderungssignal IR2 seinen oberen Pegelwert einnimmt, dieses Signal also von diesem Zeitpunkt an aktiv ist.
In der dritten Zeile ist das Bit CM2 der gemeinsamen Maske dargestellt, das vereinbarungsgemäss bereits eingeschaltet sein 55 soll.
Zum Zeitpunkt t2 wird das Signal HMS erzeugt, das für die Aktivierung der Hauptmaske HM indikativ ist. Dieses Signal wird zum Zeitpunkt tl2 abgeschaltet. Wie früher bereits erwähnt wurde, ist ein Programmebenenwechsel nur während 60 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 Tl beispielsweise beginnt zum Zeitpunkt t3, der zeitlich etwas gegenüber dem Zeitpunkt t2 verzö- 65 gert ist und dauert bis zum Zeitpunkt t6.
Das Steuersignal T2 wird zum Zeitpunkt t8 erzeugt und dauert bis zum Zeitpunkt tl 1. Es ist also zu erkennen, dass das
Steuersignal T2 später als das Steuersignal Tl erzeugt wird, aber noch vor dem Ende des Hauptmaskensignals HMS beendet ist. Die Zeitpunkte t3 und t8, die den Beginn der Steuersignale Tl und T2 markieren, liegen weit auseinander, um sicherzustellen, dass das Register (LFD-PSW-R) 130i, welches das laufende Programmstatuswort LFD-PSW stets beinhaltet, geleert ist, bevor ein neues Programmstatuswort PSWi in dieses Register übertragen wird.
Da alle Bedingungen am UND-Tor 70c in Fig. 6 A für einen Programmebenenwechsel von der laufenden Programmebene PL4 auf PL2 erfüllt sind, wenn das Hauptmaskensignal HMS eintrifft, wird über das UND-Tor 80b in der bereits erläuterten Weise das Signal ST-PL2 erzeugt. In der siebten Zeile in Fig. 8 ist dieser Zeitpunkt mit t2 bezeichnet, es ist also der gleiche Zeitpunkt, zu dem auch das Hauptmaskensignal HMS beginnt. Beide Signale verschwinden auch wieder zur gleichen Zeit 112, weil mit dem Abfall des Hauptmaskensignals auch die UND-Bedingung am UND-Tor 72 entfällt.
Gleichzeitig mit den beiden Signalen HMS und ST-PL2 wird auch zur Zeit t2 das Signal LV-PL4 erzeugt, das angibt,
dass die laufende Programmebene verlassen werden darf. Dieses Signal wird, wie bereits im Zusammenhang mit den Fig. 6A bis D erläutert wurde, von dem Flip-Flop 100e erzeugt und über das UND-Tor 110e an dessen Ausgang bereitgestellt.
Das Aufsetzen des Flip-Flops 100e ist deshalb möglich, weil zum Zeitpunkt des Einschaltens oder des Aktivierens der Hauptmaske HM auch die UND-Bedingung für das UND-Tor 70e und für das UND-Tor 80d aufgrund geringer Laufzeitverzögerungen noch erfüllt war. Nachdem das Flip-Flop 100e einmal aufgesetzt ist, hält es sich solange, bis es von der Vorderflanke des Steuersignals T2 über das UND-Tor 90e zurückgesetzt wird. Diese Verhältnisse sind in Fig. 8 in der achten Zeile von oben dargestellt. Der Zeitpunkt t8 für das Ende des Signals LV-PL4 stimmt, von geringen Laufzeitverzögerungen abgesehen, mit der Zeitlage t8 der Vorderflanke des Steuersignals T2 überein.
Wie Fig. 7 zeigt, spielen die Signale ST-PL0 bis ST-PL7, LV-PLO bis LV-PL7 sowie Tl und T2 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) 130i, in denen die Programmstatuswörter der jeweiligen Programmebene zwischengespeichert sind. Geladen werden diese Register über einen Satz von UND-Toren 120a bis i und ausgelesen über den Satz von UND-Toren 140a bis i.
Beim angenommenen Beispiel wird die Datenverarbeitungsanlage zunächst von Befehlen der Programmebene PL4 gesteuert. Das laufende Programmstatuswort befindet sich somit im Register 130i. Bei einem Programmebenenwechsel von Programmebene PL4 zu Programmebene PL2 werden zunächst Steuersignale LV-PL4 sowie ST-PL4 erzeugt. Daran anschliessend folgt, wie Fig. 8 zeigt, das Steuersignal Tl. Mit Hilfe des Signals LV-PL4 wird zunächst das Eingangs-UND-Tor 120e für eine Übertragung in das Register 130e vorbereitet.
Beim Eintreffen des Steuersignals Tl wird ferner das Ausgangs-UND-Tor 140i des Registers 130i für das laufende Programmstatuswort geöffnet, so dass dieses in das Programmstatuswortregister 120e gelangen kann. Damit ist das Register 130i 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 Programmstatus Wortregisters 130c für die Programmebene PL2 und das über das Steuersignal T2 geöffnete Eingangs-UND-Tor I20i das Programmstatuswort PSW2 in das Register 130i für das laufende Programmstatuswort eingegeben. Damit obliegt nun die Steuerung der Datenverarbeitungsanlage Befehlen der Programmebene PL2.
9
637 230
Wie Fig. 8 zeigt, wurde zur Zeit t5 die Programmebene PL4 Typ I 01(0 12 3 4 5 6 7) SO SI S2 x x x abgeschaltet und zur Zeit 110 die Programmebene PL2 eingeschaltet. Wie diese Figur ferner zeigt, beginnt zum Zeitpunkt t4 Typ II lOx xxxxxxx xxxxxx die Übertragung des Inhalts des laufenden Programmstatuswortregisters 130i in das Programmstatuswortregister 130e, die 5 Typ III 11 T1/T2 xxxxxxx xxxxxx zum Zeitpunkt tl beendet ist.
Zum später liegenden Zeitpunkt t9 beginnt dann die Übertragung des Inhalts des Programmstatuswortregisters 130c in (x kann beliebig sein, da diese Position unberücksichtigt das Register 130i, die zum Zeitpunkt 111 beendet ist. bleibt).
Das Hauptmaskensignal HMS und das Signal ST-PL2 wer- io Zur Unterscheidung von Tl und T2 wird Tl eine binäre 1 den, wie Fig. 8 zeigt, zum Zeitpunkt tl2 abgeschaltet. und T2 eine binäre 0 zugeordnet.
Da bei sehr vielen elektronischen Datenverarbeitungsanla- Die obige Darstellung der verschiedenen Kommandotypen gen auch Programmebenen existieren, die nicht durch Unter- zeigt, dass die ersten beiden Bits jedes Kommandotyps als Ope-brechungsanforderungssignale IRi einen Programmebenen- rationscode betrachtet werden können. Der Typ I ist durch den Wechsel anfordern können, müssen besondere Vorkehrungen 15 Operationscode 01, der Typ 11 durch den Operationscode 10 getroffen werden, um diesen Programmebenen die Möglichkeit und der Typ III durch den Operationscode 11 definiert, zu geben, ihr Programm, zumindest zeitweise, auszuführen. Kommandos aller drei Typen werden vom Hauptdatenver-
Im Laufe der vorstehenden Beschreibung wurde wiederholt arbeitungskomplex über die Leitung 205 in der erforderlichen auf die Bedeutung der PIRRi-Bits hingewiesen, die eine Unter- Reihenfolge zur Ablaufsteuerung 204 übertragen. Die im ein-brechungsanforderung einer Unterbrechungsquelle aufrechter-20 fachsten Falle mehradrige Steuerleitung 205 führt mit ihren halten, die längst ihr Unterbrechungsanforderungssignal abge- ersten beiden Leitungen, die den sogenannten Operationscode schaltet hat. übertragen, auf einen Kommandodecodierer (COM-DEC) 300
Um nun die Ausführung und den Ablauf solcher Pro- an dessen Ausgängen I, II, III jeweils dann eine binäre 1 erzeugt gramme zu garantieren, muss unabhängig von allen anderen wird, wenn der entsprechende Operationscode am Eingang des Programmabläufen der Start dieser Programme ermöglicht 25 Kommandodecodierers 300 anliegt.
werden. Dieses wird dadurch erreicht, dass, wie eingangs Die folgenden 14 Steuerleitungen, von denen die letzten bereits erwähnt wurde, in der Interpretationsphase eines drei beim Typ I beliebige Signale führen können, da diese von
Befehls ein Intervallzähler für diese Art von Programmen akti- der Anordnung nicht mehr ausgewertet werden, führen zu viert wird, indem ein in einer Ausführungsphase eines zuvor einer UND-Toranordnung, die aus 11 UND-Toren 301 a bis k abgearbeiteten Befehls aufgesetzter Anfangswert dieses Zählers 30 besteht, deren jeweils einer Eingang mit einer der 11 Adern und heruntergezählt wird. dessen anderer Eingang mit dem Ausgang I des Kommandode-
Wie Fig. 2 zeigt, wird im Funktionsblock 2 in der Interpre- codierers 300 verbunden sind. Der Ausgang I gibt an, dass ein tationsphase eines Befehls stets getestet, ob der Intervallzähler Kommando des Typs I anliegt. Je nach Vorliegen von binären den Zählerstand 0 erreicht hat. Wenn dieses der Fall ist, wird, Eingangssignalen auf den 11 Adern, wobei die erste Ader der wie Funktionsblock 3 in Fig. 2 zeigt, das PIRR6-Bit für die Pro- 35 dritten Bitstelle, die zweite Ader der vierten und schliesslich die grammebene PL6 gesetzt. Dadurch wird garantiert, dass nach 11 • Ader der viertletzten Bitstelle des Kommandos zugeordnet vorübergehender Inaktivität der Programmebenen PL0 bis PL5 ist, ergeben sich die Ausgangssignale 0 bis 7 sowie SO, SI und S2 die Programmebene PL6 noch vor der Programmebene PL7 am Ausgang der UND-Toranordnung 301 a bis k. Eine Decodie-aktiviert wird. rung des Operationscodes eines Kommandos des Typs II
Die Wahl dieser bzw. die Bevorzugung bestimmter Pro- -to erzeugt am Ausgang II des Kommandodecoders 300 ein Ausgrammebenen kann mit der vorstehend beschriebenen Einrich- gangssingal, das einer binären 1 entspricht und direkt das tung zur Programmunterbrechung mühelos an die jeweiligen Steuersignal S3 darstellt.
Gegebenheiten einer bestimmten Datenverarbeitungsanlage Bei Decodierung des Operationscodes eines Kommandos oder an ganz bestimmte Aufgaben, die in einer Datenverarbei- des Typs III genügt es nur die dritte Bitstelle des Kommandos tungsanlage bearbeitet werden, angepasst werden. Diese Anpas-« auszuwerten, die dann als Taktsignal Tl definiert ist, wenn sie sung kann entweder durch programmierbare Kommandos oder eine binäre 1 oder als Taktsignal T2 definiert ist, wenn sie eine durch besondere Steuerschaltungen vorgenommen werden. binäre 0 enthält. Die aus den UND-Toren 302 und 303 sowie Hierbei wirken die Kommandos oder die von der automati- dem Negativ 304 bestehende Schaltungsanordnung führt diese sehen Steuerung erzeugten Steuersignale auf die Ablaufsteue- Unterscheidung durch, wobei das UND-Tor 302 an seinem Aus-rung 204 in Fig. 1 ein, die ausführlicher in Fig. 9 dargestellt ist. so gang das Taktsignal Tl und das UND-Tor 303 an seinem Aus-
Der Einfachheit halber sei hier auf programmierbare Kom- gang das Taktsignal T2 erzeugt.
mandos eingegangen, die von dem Hauptdatenverarbeitungs- Die soeben erwähnten Steuersignale werden dem in Fig. 4
komplex 200 in Fig. 1 in stetiger Folge über die Leitung 205 zur dargestellten Steuersignalgenerator 203 zugeführt, wo sie für Ablaufsteuerung 204 übertragen werden. Im Minimalausbau eine genau definierte Zeitspanne in den Registern 23 bzw. 27 kann man mit drei Typen von Kommandos auskommen, die 55 sowie in Flip-Flop-Speichern 25a bis h zwischengespeichert für komplexere Strukturen sowohl der Datenverarbeitungsan- werden. Sie dienen dort in Verbindung mit den Steuersignalen läge als auch der zu lösenden Aufgaben ohne weiteres erweiter- S1 bis S3 zur Erzeugung der in der Steuerung 202 für den bar sind. Programmebenenschalter benötigten Steuersignale PIRRO bis
Die Kommandos haben folgendes Format: PIRR7, CMO bis CM7 sowie HMS.
10 Blatt Zeichnungen
Claims (11)
- 637 230 2PATENTANSPRÜCHE1. Einrichtung zur Programmunterbrechung und Steuerung der prioritätsgerechten Programmebenen-Umschaltung in einer elektronischen Datenverarbeitungsanlage, dadurch gekennzeichnet, dass zur Überführung asynchron auftretender 5 Unterbrechungsanforderungen (IRi) in synchrone Programmzuteilungen ein Programmebenen-Schalter (201 ; Fig. 1) vorgesehen ist, der von einer Steuerschaltung (202) betätigt wird,welch letztere die asynchron eintreffenden Unterbrechungsanforderungen hinsichtlich ihres Prioritätsrangs und gegebenen- io falls weiterer Bedingungen (PIRRi, CMi) stets nur zu einer ganz bestimmten Zeit (HMS) in der Interpretationsphase (I- O) 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 einen Programmebenen- is 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) aus- 20 tauscht.
- 2. Einrichtung nach Anspruch 1, gekennzeichnet durch eine Ablaufsteuerung (204; Fig. 1, 9), welche Steuerkommandos, die ihr von einem Hauptdatenverarbeitungskomplex (200) zugeführt werden, mittels eines Kommandodecodierers (300) 25 und einer aus LN D-Toren (301a bis k, 302,303) sowie einem Navigator (304) bestehenden logischen Schaltung in Steuersignale umsetzt, derart, dass von den genannten UND-Toren eine Gruppe (301a bis k), der Bitsignale (0 bis 7), Steuersignale (SObis S2) und ein Ausgangssignal des Kommandodecodierers 30 zuführbar sind, die genannten Bitsignale und Steuersignale zu einem Steuersignal-Generator (203) überträgt, dass ferner ein anderes UND-Tor (302), dem Taktsignale (T1/T2) und ein anderes Ausgangssignal des Kommandodecodierers zuführbar sind, ein erstes Taktsignal (Tl) zu dem Programm- 35ebenen-Schalter (201 ) überträgt und dass schliesslich ein weiteres UND-Tor (303), dem ebenfalls die Taktsignale (T1/T2) und über einen Negator (304) das andere Ausgangssignal des Kommandodecodierers zuführbar sind, ein zweites Taktsignal (T2) zu dem Programmebenen-Schalter und zu der Steuerung (202) 40 des Programmebenen-Schalters überträgt und schliesslich ein letzter Ausgang des Kommandodecodierers ein weiteres Steuersignal (S3) zu dem Steuersignal-Generator überträgt.
- 3. Einrichtung nach Anspruch 1, dadurch gekennzeichnet,dass zur garantierten Umschaltung auf eine Programmebene 45 niedrigerer Priorität als die höchste, ein Intervallzähler (1,2,16; Fig. 2) vorgesehen ist, der gleichzeitig mittels einer der letzten Operationen (16) einer Befehlsausführungsphase (E-O) auf einen vorgebbaren Wert einstellbar, mittels der ersten Operation (1) jeder Interpretationsphase um den Wert 1 vermindert 50 und danach auf seinen Nullwert abgefragt wird (2), wobei,wenn dieser Nullwert erreicht ist, ein Steuerbit (PIRRi) erzeugt wird (3), das eine Programmebenen-Umschaltung des Pro-grammebenen-Schalters (201 ) gestattet.
- 4. Einrichtung nach Anspruch 1, dadurch gekennzeichnet, 55 dass in der Ablaufsequenz (Fig. 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 60 wird.
- 5. Einrichtung nach Anspruch 1, dadurch gekennzeichnet,dass erste Steuersignale (PIRRO bis PIRR7) die Steuerung (202) des Programmebenen-Schalters (201) derart einstellen, dass dieser eine zugeordnete Programmebene aktiv hält, selbst dann, 65 wenn das zugeordnete Unterbrechungs-Anforderungssignal (IRÒ bis IR7) bereits wieder abgeschaltet ist.
- 6. Einrichtung nach Anspruch 5, dadurch gekennzeichnet,dass zweite Steuersignale (CM0 bis CM7) die Steuerung (202) des Programmebenen-Schalters derart einstellen, dass dieser eine Umschaltung von einer Programmebene niedrigerer Priorität auf eine solche vorgebbarer höherer Priorität solange unterdrückt, bis diese zweiten Steuersignale wieder unwirksam gemacht sind.
- 7. Einrichtung nach den Ansprüchen 2 und 5, dadurch gekennzeichnet, dass der Steuersignal-Generator (203 ; Fig. 4) für die Erzeugung der ersten Steuersignale (PIRRO bis PIRR7) über UND-Tore (22a bis h) 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 (SO) die anliegende Kombination von Bitsignalen in ein Register (23) zur Zwischenspeicherung übertragen, dass ferner ein Satz von Verriegelungsschaltungen (25a bis h) vorgesehen ist, dem ein Satz von UND-Toren (24a bis h) vorgeschaltet ist, wobei jeder Bitstelle im Register eine Verriegelungsschaltung zugeordnet ist, so dass über diese UND-Tore während der Dauer eines anderen Steuersignals (Sl) die Verriegelungsschaltungen, je nach Informationsinhalt der zugeordneten Registerbitstelle, gesetzt werden und jede gesetzte Verriegelungsschaltung ein bestimmtes (PIRRi) der ersten Steuersignale abgibt.
- 8. Einrichtung nach den Ansprüchen 2 und 6, dadurch gekennzeichnet, dass der Steuersignal-Generator (203 ; Fig. 4) für die Erzeugung der zweiten Steuersignale (CM0 bis CM7) über UND-Tore (26a bis h) 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 (SO) die anliegende Kombination von Bitsignalen in ein Register (27) zur Zwischenspeicherung übertragen, dass ferner ein Satz von Verriegelungsschaltungen (29a bis h) vorgesehen ist, dem ein Satz von UND-Toren (28a bis h) vorgeschaltet ist, wobei jeder Bitstelle im Register eine Verriegelungsschaltung zugeordnet ist, so dass über diese UND-Tore während der Dauer eines anderen Steuersignals (S2) die Verriegelungsschaltungen, je nach Informationsinhalt der zugeordneten Registerbitstelle, gesetzt werden und jede gesetzte Verriegelungsschaltung ein bestimmtes (CMi) der zweiten Steuersignale abgibt.
- 9. Einrichtung nach den Ansprüchen 7 und 8, dadurch gekennzeichnet, dass das Hauptmaskensignal (HMS) zur Aktivierung der Hauptmaske von einer weiteren Verriegelungsschaltung (30) erzeugt wird, wenn diese von einem weiteren Steuersignal (S3) gesetzt wird.
- 10. Einrichtung nach Anspruch 1, dadurch gekennzeichnet, dass die Steuerung (202; Fig. 6A bis D) des Programmebenen-Schalters (201) aus einer Anordnung (60a bis h) zur Prüfung des Vorliegens von Unterbrechungsanforderungen (IRÒ bis IR7) und weiterer Bedingungen (CM0 bis CM7) und einer Anordnung (80a bis g) zur Prüfung des Prioritätsrangs der Unterbrechungsanforderungen besteht, wobei die erstgenannte Anordnung Startsignale (ST-PL0 bis ST-PL7) für eine Programmebe-nen-Umschaltung und die zweitgenannte Anordnung Signale (LV-PL0 bis LV-PL7) zum Verlassen der laufenden Programmebene für den Austausch von Programmstatuswörtern im Zuge einer Programmebenen-Umschaltung erzeugt.
- 11. Einrichtung nach Anspruch 1, dadurch gekennzeichnet, dass der Programmebenenschalter (201 ; Fig. 7) aus einem Programmstatuswort-Register (130a bis h) je Programmebene (PL0 bis PL7) sowie einem Programmstatuswort-Register (130i) für die laufende Programmebene besteht, wobei jedem dieser Programmstatuswort-Register ein UND-Tor (120a bis i) vor- und ein UND-Tor ( 140a bis i) nachgeschaltet ist, derart, dass das Programmstatuswort-Register (130i) für die laufende Programmebene mit allen übrigen parallel geschalteten Programmstatuswort-Registern ( 130a bis h) zu einem Ring zusammengeschaltet ist, dass ferner bei einem Programmebenen-3637 230Wechsel zunächst zu einer ersten Taktzeit (Tl) und beim Vorliegen eines Steuersignals (LV-PLi) zum Verlassen der laufenden Programmebene das laufende Programmstatuswort aus seinem Programmstatuswort-Register in das Programmstatuswort-Register (PSWi-R) der zu verlassenden Programmebene (PLi) 5 übertragen und dann zu einer zweiten Taktzeit (T2) und einem vorliegenden Steuersignal (ST-PLj) zum Starten der neuen Programmebene, das neue Programmstatuswort (PSWj) aus dem zugehörigen Programmstatuswort-Register (PSWj-R) in das Programmstatuswort-Register (130i) für das laufende Pro- to grammstatuswort übertragen wird, von wo aus es die Steuerung der Maschine über eine Steuerleitung (STL) übernimmt.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE2754890A DE2754890C2 (de) | 1977-12-09 | 1977-12-09 | Einrichtung zur Programmunterbrechung |
Publications (1)
Publication Number | Publication Date |
---|---|
CH637230A5 true CH637230A5 (de) | 1983-07-15 |
Family
ID=6025710
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CH1117378A CH637230A5 (de) | 1977-12-09 | 1978-10-30 | Einrichtung zur programmunterbrechung und steuerung der programmebenen-umschaltung in einer datenverarbeitungsanlage. |
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 |
JP2006216042A (ja) * | 2005-02-04 | 2006-08-17 | Sony Computer Entertainment Inc | 割り込み処理のためのシステムおよび方法 |
US7680972B2 (en) * | 2005-02-04 | 2010-03-16 | Sony Computer Entertainment Inc. | Micro interrupt handler |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NL294820A (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 |
---|---|
US4247894A (en) | 1981-01-27 |
GB2009981A (en) | 1979-06-20 |
IT1160270B (it) | 1987-03-11 |
IT7830248A0 (it) | 1978-11-28 |
DE2754890C2 (de) | 1982-10-28 |
SE7812174L (sv) | 1979-06-10 |
DE2754890A1 (de) | 1979-06-13 |
AU518925B2 (en) | 1981-10-29 |
CA1115851A (en) | 1982-01-05 |
FR2411442A1 (fr) | 1979-07-06 |
GB2009981B (en) | 1982-02-10 |
ES475616A1 (es) | 1979-04-01 |
AU4192478A (en) | 1979-06-14 |
FR2411442B1 (fr) | 1986-01-31 |
JPS6046737B2 (ja) | 1985-10-17 |
JPS5480640A (en) | 1979-06-27 |
BR7808126A (pt) | 1979-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CH637230A5 (de) | Einrichtung zur programmunterbrechung und steuerung der programmebenen-umschaltung in einer datenverarbeitungsanlage. | |
DE3486257T2 (de) | Synchrones dezentralisiertes Verarbeitungssystem. | |
DE3508291A1 (de) | Realzeit-datenverarbeitungssystem | |
DE2735397C2 (de) | Überwachungseinrichtung für eine programmgesteuerte Maschine | |
DE2908316A1 (de) | Multikonfigurierbares modulares verarbeitungssystem, das mit einem vorverarbeitungssystem integriert ist | |
DE2527631A1 (de) | Nachrichtenuebertragungsanlage zur uebertragung von nachrichten zwischen mehreren stationen | |
DE1424762B2 (de) | Datenverarbeitungsanlage | |
EP0207255A1 (de) | Anordnung zum Bedienen und Warten einer Fernmelde- insbesondere Fernsprechvermittlungsanlage | |
DE4101623A1 (de) | Informationsverarbeitungssystem | |
DE3727017C2 (de) | ||
DE1549437A1 (de) | Datenverarbeitendes System aus mehreren miteinander verbundenen Datenverarbeitungsanlagen | |
DE19744071A1 (de) | Eine programmierbare Logiksteuervorrichtung verwendendes Steuerungssystem | |
EP0048991B1 (de) | Verfahren und Anordnung zur Behandlung von Unterbrechungsbedingungen während des Arbeitsablaufes in Datenverarbeitungsanlagen mit Mikroprogrammsteuerung | |
DE3235762A1 (de) | Verfahren und vorrichtung zur synchronisation von datenverarbeitungsanlagen | |
DE2530887C3 (de) | Steuereinrichtung zum Informationsaustausch | |
DE2842603A1 (de) | Schnittstelle zwischen einem wartungsprozessor und einer mehrzahl einzeln zu pruefender funktionseinheiten eines datenverarbeitenden systems | |
DE2838887C2 (de) | Datenverarbeitungsanlage mit einer Schaltung für Unterbrechungsanforderungen zur Übernahme des gemeinsamen Busses | |
DE2715983C2 (de) | Schaltungsanordnung in einem Digitalrechner zur Überwachung und Prüfung des ordnungsgemäßen Betriebs des Digitalrechners | |
DE3330474A1 (de) | Wartungssystem fuer speicherprogrammgesteuerte vermittlungsanlagen | |
DE3123379C2 (de) | ||
DE2209582C3 (de) | Verfahren zur Überwachung von Abtasteinrichtungen in zentralgesteuerten Fernsprechvermittlungseinrichtungen | |
DE2516681C2 (de) | Fernwirkeinrichtung | |
DE2756764C3 (de) | Einrichtung zur Synchronisation von Prozessor und Speicher in einer elektronischen Datenverarbeitungsanlage | |
DE2824819A1 (de) | Schnittstelle einer datenverarbeitungsanlage | |
DE1549522C (de) | Datenverarbeitungsanlage mit Simultanverarbeitung mehrerer Programme mittels mehrerer Rechner |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PL | Patent ceased |