CH631820A5 - Method and arrangement for dealing with interrupt requests in a multi-programmable data processing system - Google Patents

Method and arrangement for dealing with interrupt requests in a multi-programmable data processing system Download PDF

Info

Publication number
CH631820A5
CH631820A5 CH1597077A CH1597077A CH631820A5 CH 631820 A5 CH631820 A5 CH 631820A5 CH 1597077 A CH1597077 A CH 1597077A CH 1597077 A CH1597077 A CH 1597077A CH 631820 A5 CH631820 A5 CH 631820A5
Authority
CH
Switzerland
Prior art keywords
program
interrupt
request
command
interruption
Prior art date
Application number
CH1597077A
Other languages
German (de)
Inventor
Paul Joseph Brown
Robert James Dugan
Richard Roland Guyette
David Ladd Strong
Original Assignee
Ibm
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ibm filed Critical Ibm
Publication of CH631820A5 publication Critical patent/CH631820A5/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Debugging And Monitoring (AREA)
  • Multi Processors (AREA)

Description

Die vorliegende Erfindung betrifft ein Verfahren zur Behandlung von Unterbrechungsanforderungen in einer multiprogrammierbaren Datenverarbeitungsanlage, sowie eine Anordnung zur Durchführung dieses Verfahrens. The present invention relates to a method for handling interrupt requests in a multiprogrammable data processing system, and an arrangement for performing this method.

In multiprogrammierbaren Datenverarbeitungssystemen, wie z.B. dem IBM System/360 oder IMB System/370, kann es durchaus vorkommen, dass die Anlage zwischen einem unterbrechenden und einem unterbrochenen Programm mehrmals kurz nacheinander hin- und herwechselt (infolge hängiger Unterbrechungsanforderangen der gleichen Klasse wie diejenige, welche gerade vom unterbrechenden Programm bedient wurde). Dies bewirkt einen übermässigen Aufwand an Verwaltungsoperationen, insbesondere wegen der Operationen, die zum Austausch von Zustands- und Umgebungsinformation durchgeführt werden. In multiprogrammable data processing systems, e.g. the IBM System / 360 or IMB System / 370, it can happen that the system alternates between an interrupting and an interrupted program several times in quick succession (due to pending interrupt requests of the same class as the one that was just being served by the interrupting program) ). This causes an excessive amount of administrative operations, in particular because of the operations that are carried out to exchange status and environmental information.

In DV-Systemen wie dem IMB System/360 oder IBM System/370 gibt es Befehle zur Untersuchung und bedingten Annahme von bestimmten Unterbrechungsanforderungen (z.B. TEST I/O und CLEAR I/O). Jeder solche Befehl wird aber nur in Verbindung mit einer bestimmten Quelle für Unterbrechungsanforderungen benutzt, die einer bestimmten Klasse von Unterbrechungen (z.B. E/A-Unterbrechungen) zugeordnet ist. In einem System, das eine grosse Zahl (z.B. Hunderte) von asynchronen E/A-Geräten bedient, und in dem deshalb viele E/A-Unterbrechungsanforderungen gleichzeitig (noch unerledigt) vorliegen können, wäre es äusserst uneffektiv und auch praktisch unmöglich, solche «quellenspezifischen» Befehle zu benutzen, um alle (oder jedenfalls einen grossen Teil aller) hängigen E/A-Unterbrechungsanforderungen zu behandeln. Es wurde aber herausgefunden, dass gegenwärtig ein Bedarf besteht - der offenbar früher, obwohl für einen wirksamen Betrieb wichtig, nicht erkannt oder nicht richtig bewertet wurde - die Vorgänge zur Behandlung nicht quellenspezifischer Unterbrechungen, die einer gemeinsamen Klasse angehören, programmgesteuert miteinander zu verbinden (aneinander zu hängen) ohne den Austausch von Umgebungs- oder Zustandsinformationen. In data processing systems such as the IMB System / 360 or IBM System / 370 there are commands for examining and conditionally accepting certain interrupt requests (e.g. TEST I / O and CLEAR I / O). However, each such instruction is only used in conjunction with a particular interrupt request source associated with a particular class of interrupts (e.g. I / O interrupts). In a system that serves a large number (eg hundreds) of asynchronous I / O devices and in which there can therefore be many I / O interruption requests at the same time (still pending), it would be extremely ineffective and also practically impossible to Use source-specific »commands to handle all (or at least a large part of) all pending I / O interrupt requests. However, it was found that there is currently a need - apparently earlier, which, although important for effective operation, was not recognized or not correctly assessed - to program-link the processes for handling non-source-specific interruptions that belong to a common class (to one another to hang) without the exchange of environmental or state information.

Der Erfindung liegt die Aufgabe zugrunde, hier eine Verbesserung zu schaffen und die aufeinanderfolgende Ausführung mehrerer angeforderter Unterbrechungsoperationen der gleichen Klasse ohne die Notwendigkeit des mehrfachen Austausches von Programmzustandsdaten, der sonst beim Wechsel zwischen Programmen nötig ist, zu ermöglichen. The invention has for its object to provide an improvement here and to enable the successive execution of several requested interrupt operations of the same class without the need for multiple exchange of program status data, which is otherwise necessary when changing between programs.

Der Gegenstand der Erfindung ist den Patentansprüchen zu entnehmen. The subject matter of the invention can be gathered from the claims.

Die Erfindung ermöglicht es, mehrere Unterbrechungsanforderungen der gleichen Art (also z.B. E/A-Anforderungen) in einem Programm rekursiv zu bedienen, das ursprünglich nur zur Behandlung einer einzigen bestimmten Unterbrechungsanforderung aktiviert worden war. Die Vereinfachung erfolgt also gewissermassen durch « Aneinanderhängen» der verschiedenen Unterbrechungsbehandlungen, wobei diese Vorgänge, solange sie für die vorgegebene Unterbrechungsklasse ablaufen, ihrerseits nicht unterbrechbar sind, und ausserdem nur dann durchführbar sind, wenn das System unter Steuerung eines Überwachungsprogramms (Supervisor) läuft. The invention enables multiple interrupt requests of the same type (e.g. I / O requests) to be serviced recursively in a program that was originally only activated to handle a single specific interrupt request. The simplification is done to a certain extent by "linking" the various interruption treatments, whereby these processes cannot be interrupted as long as they run for the specified interruption class, and can only be carried out if the system is under the control of a monitoring program (supervisor).

Die Ausführung der Erfindung ist durch einen einzelnen bestimmten Befehl «Abfrage auf wartende Unterbrechungsanforderung» TPI (= Test Pending Interrupt) möglich, welcher z.B. folgende Vorgänge bewirken kann: a.) Überprüfung einer Gruppe von nicht-spezifischen (d.h. nicht durch diesen Befehl spezifizierten) Quellen von Unterbrechungsanforderungen einer bestimmten Klasse, b.) Annahme (durch Streichung) einer hängigen (wartenden) Anforderung, sofern mindestens eine hängig ist, c.) Setzen eines Bedingungscodes, um diese Annahme (bzw. die Tatsache, dass keine Annahme erfolgte) anzuzeigen, und d.) Abspeicherung eines Unterbrechungscodes, welcher die Quelle einer gegebenenfalls angenommenen Anforderung identifiziert, derart, dass dieser Code dem gerade aktiven Programm zugänglich ist The implementation of the invention is possible by means of a single specific command "Query for waiting interrupt request" TPI (= Test Pending Interrupt), which e.g. can: a) check a group of non-specific (ie not specified by this command) sources of interrupt requests of a certain class, b.) accept (by deletion) a pending (waiting) request, if at least one is pending , c.) setting a condition code to indicate this acceptance (or the fact that no acceptance was made), and d.) storing an interrupt code which identifies the source of a possibly accepted request, such that this code corresponds to the currently active program is accessible

Die Ausführung dieses Befehls kann an einer Stelle (Phase) in der Ausführung eines der betreffenden Klasse zugeordneten Unterbrechungsbehandlungssupervisorprogramms erfolgen, an der es der Steuerung des Systems effektiv nicht möglich ist, nicht vorgeplante Unterbrechungen anzunehmen. Die Ausführung des betreffenden Befehls kann jedoch diese «Sperrung» (Annahme-Unfähigkeit) momentan beseitigen und dadurch eine «befehlsgesteuerte Annahme» von nicht-spezifizierten Unterbrechungen in dieser Klasse ermöglichen, wobei aber keinerlei Austausch von Status- oder Umgebungsinformation erfolgt, die sonst mit der normalen Freigabe und Annahme solcher Unterbrechungen einher geht. This command can be executed at a point (phase) in the execution of an interrupt handler supervisor program associated with the class in question where the control of the system is effectively not able to accept unscheduled interruptions. Execution of the command in question can, however, currently remove this "blocking" (inability to accept) and thereby enable "command-controlled acceptance" of unspecified interruptions in this class, but without any exchange of status or environmental information that would otherwise occur with the normal release and acceptance of such interruptions.

Die Benützung dieses TPI-Befehls (Abfrage auf wartende Unterbrechungsanforderang) kann z.B. an einer Stelle der Programmausführung erfolgen, an der alle Operationen, die zur Behandlung einer angenommenen Unterbrechung der betreffenden Klasse gehören, vollständig durchgeführt sind, und an der das Programm «bereit» ist, die Steuerung des Systems an ein Programm zurückzugeben, das vorher unterbrochen wurde. The use of this TPI command (query for waiting interrupt request) can e.g. at a point in program execution where all operations related to handling an assumed break in the class concerned have been completed and where the program is "ready" to return control of the system to a program that was previously interrupted .

Infolge der befehls-gesteuerten «Annahme» einer Unterbrechung der betroffenen Klasse (wie oben beschrieben), kann das Programm, welches bei Ausführung des TPI-Befehls «Abfrage auf wartende Unterbrechungsanforderung» gerade die Steuerung des Systems hat (d.h. also das Programm, welches diesen TPI-Befehl enthält), die «angenommene» Unterbrechungsanforderung mit einer einfachen Verzweigungs-Unter-routine behandeln, welche bei der Ausführung des TPI-Befehls bedingt aufgerufen wird. Eine solche Unterroutine ist wesentlich kürzer als die rekursiven Programmoperationen, welche sonst zur Annahme und Behandlung einer nicht vorgeplanten Unterbrechung der betreffenden Klasse benötigt würden. As a result of the command-controlled “assumption” of an interruption in the class concerned (as described above), the program which is currently in control of the system when the TPI command “query for interruption request” is executed (ie the program which has it TPI instruction contains) that handle the “accepted” interrupt request with a simple branch subroutine, which is called conditionally when the TPI instruction is executed. Such a subroutine is much shorter than the recursive program operations that would otherwise be required to accept and handle an unplanned break in the class in question.

2 2nd

5 5

10 10th

15 15

20 20th

25 25th

30 30th

35 35

40 40

45 45

50 50

55 55

60 60

65 65

Weiterhin wird es durch die gesteuerte «Annahme» von Unterbrechungsanforderungen möglich, aus den bestehenden Programmen zur rekursiven Behandlung von Unterbrechungen einer bestimmten Klasse einige Befehle zu eliminieren, wodurch auch eine bessere Ausnützung des Systems erreicht wird. Furthermore, the controlled "acceptance" of interrupt requests makes it possible to eliminate a few commands from the existing programs for the recursive handling of interruptions of a certain class, which also results in better utilization of the system.

Es ist ausserdem zu erwarten, dass durch die erfindungsge-mässen Massnahmen Verbesserungen erreicht werden, welche insbesondere bei zeitabhängigen Prozessen die statistische Häufigkeit von Ablaufstörungen reduzieren und auf diese Weise denjenigen Teil der Systemzeit vermindern, welcher für Vorgänge zur Diagnose, zur Korrektur bzw. zum Wiederanlauf «vergeudet» wird. It is also to be expected that the measures according to the invention will result in improvements which, in particular in the case of time-dependent processes, reduce the statistical frequency of process faults and in this way reduce that part of the system time which is used for processes for diagnosis, correction or restart Is "wasted".

Ein Ausführungsbeispiel der Erfindung wird im folgenden anhand von Zeichnungen beschrieben. Es zeigen: An embodiment of the invention is described below with reference to drawings. Show it:

Fig. 1 die Folge der Operationen zur Befehlsausführung und zur Annahme von Unterbrechungen in bekannten Datenverarbeitungssystemen, in denen die vorliegende Erfindung angewendet werden kann, und die hierfür in einfacher Weise modifiziert werden können, 1 shows the sequence of operations for executing commands and accepting interruptions in known data processing systems in which the present invention can be used and which can be modified in a simple manner for this purpose,

Fig. 2 Einzelheiten der zur Anwendung der Erfindung in einem der bekannten Systeme durchgeführten Modifikationen, 2 shows details of the modifications carried out for the application of the invention in one of the known systems,

Fig. 3 ein Ablaufdiagramm zur Veranschaulichung einer Anwendung der Erfindung in einem Supervisorprogramm eines DV-Systems, 3 shows a flowchart to illustrate an application of the invention in a supervisor program of a DV system,

Fig. 4 ein Ablaufdiagramm der rekursiven Behandlung von Unterbrechungen einer bestimmten Klasse in der bisher bekannten Art und Weise, zum Vergleich mit dem erfindungsge-mässen Ablauf nach Fig. 3. 4 shows a flowchart of the recursive handling of interruptions of a certain class in the manner known hitherto, for comparison with the sequence according to the invention according to FIG. 3.

Fig. 1 zeigt die Folge von Operationen zur Ausführung von Programmbefehlen und zur Annahme von beliebig anfallenden Unterbrechungen in bekannten multiprogrammierten Datenverarbeitungssystemen, in welchen die vorliegende Erfindung vorteilhaft verwendet werden kann. Dies sind z.B. insbesondere Anlagen vom Typ IBM System/360 und IBM System/370. 1 shows the sequence of operations for executing program instructions and for accepting any interruptions that occur in known multiprogrammed data processing systems in which the present invention can be advantageously used. These are e.g. in particular systems of the type IBM System / 360 and IBM System / 370.

Grundlagen des Aufbaues und der Arbeitsweise solcher Systeme, in denen die vorliegende Erfindung verwendet werden kann, sind dargestellt in den Broschüren «IBM System/360 Principles of Operation», Bestellnummer GA 22-6821, und «IBM System/370 Principles of Operation», Bestellnummer GA 22-7000. Fundamentals of the structure and operation of such systems in which the present invention can be used are described in the brochures “IBM System / 360 Principles of Operation”, order number GA 22-6821, and “IBM System / 370 Principles of Operation”, Order number GA 22-7000.

Mikroprogramm-Ablaufsteuerungen für verschiedene Modelle solcher Systeme sind z.B. beschrieben in den US Patenten 3 400 371 und 3 585 599 sowie im Aufsatz «Microprogram Control for System/360» von S. Tucker, IBM Systems Journal, Band 6, Nr. 4, Seiten 222-241. Micro program sequencers for various models of such systems are e.g. described in US Pat. Nos. 3,400,371 and 3,585,599 and in the article "Microprogram Control for System / 360" by S. Tucker, IBM Systems Journal, Volume 6, No. 4, pages 222-241.

Betriebssystemprogramme (Supervisor-Programme) zur Behandlung von Unterbrechunggen, welche für die vorliegende Beschreibung von Interesse sind, sind erläutert in den Broschüren «IBM System/360 Operating System Introduction», Bestellnummer GC 28-5634, «OS Concepts and Facilities», Bestellnummer GC 28-6535 und «OS/VS2 I/O Supervisor Logic», Bestellnummer SY 26-3823 sowie «OS/VS2 System Logic Library», Bestellnummer SY 28-0716. Operating system programs (supervisor programs) for the treatment of interruptions which are of interest for the present description are explained in the brochures “IBM System / 360 Operating System Introduction”, order number GC 28-5634, “OS Concepts and Facilities”, order number GC 28-6535 and “OS / VS2 I / O Supervisor Logic”, order number SY 26-3823 and “OS / VS2 System Logic Library”, order number SY 28-0716.

Fig. 1 zeigt also den Ablauf bei der Ausführung von Programmbefehlen und bei der Behandlung beliebig auftretender Unterbrechungen in den angegebenen Datenverarbeitungssystemen. Für die Ausführung der Programmbefehle sorgt eine Systemablaufsteuerung (z.B. Mikroprogrammsteuerung), welche folgende Vorgänge bewirkt: (1.1) Abrufen eines Befehls an einem Speicherplatz, dessen Adresse gewöhnlich durch einen Befehlsadresszähler gegeben ist, (1.2) Decodierung des Operationsteils (Operationscode) des Befehls und (1.3) Ausführung der Operationen, die durch den Befehl bezeichnet oder aufgerufen sind. Bei der Ausführung gewisser Befehle, die in den oben identifizierten Systemstrukturbeschreibungen definiert sind, wird ein Bedingungscode gesetzt, wie angegeben unter 1.3.1. 1 therefore shows the sequence in the execution of program instructions and in the handling of any interruptions that may occur in the specified data processing systems. A system sequence control (for example micro program control) takes care of the execution of the program commands, which effects the following processes: (1.1) calling up a command in a memory location, the address of which is usually given by a command address counter, (1.2) decoding the operating part (operation code) of the command and ( 1.3) Execution of the operations designated or called by the command. When executing certain commands, which are defined in the system structure descriptions identified above, a condition code is set, as specified under 1.3.1.

Zwischen der Abschlussoperation (ENDE OP) der Ausführung eines Befehls (Position 1.3.2 in Fig. 1) und dem Abrufen Between the completion operation (END OP) of the execution of a command (position 1.3.2 in Fig. 1) and the retrieval

631820 631820

des nächsten Befehls (Position 1.1 in Fig. 1) kann die Ablaufsteuerung des Systems freigegeben werden, unabhängig von dem gerade aktiven Programm eine Unterbrechung anzunehmen (Position 1.4 in Fig. 1). Die Steuerung stellt fest, ob das System zu diesem bestimmten Zeitpunkt (im gegenwärtigen Programmzustand) zur Annahme von Unterbrechungen freigegeben ist (Position 1.4.1). Wenn im System keine Unterbrechungen erlaubt sind, wird der nächste Befehl abgerufen (Übergang zu 1.1). Falls das System aber für die Annahme von Unterbrechungen freigegeben ist, prüft die Steuerung nach, ob unmaskierte Unterbrechungsanforderungen vorliegen (Position 1.4.2, Fig. 1). Falls keine unmaskierten Unterbrechungsanforderungen vorliegen, geht die Steuerung direkt zum Abruf des nächsten Befehls bei 1.1 über. Wenn jedoch wenigstens eine unmaskierte Unterbrechungsanforderung vorliegt, werden durch die Steuerung die Operationen 1.4.3 veranlasst, welche mit der Annahme einer Unterbrechung zusammenhängen. of the next command (position 1.1 in FIG. 1), the sequence control of the system can be enabled, regardless of the program currently active, assuming an interruption (position 1.4 in FIG. 1). The control determines whether the system is enabled to accept interruptions at this specific time (in the current program status) (item 1.4.1). If no interruptions are allowed in the system, the next command is called (transition to 1.1). However, if the system is approved for accepting interruptions, the controller checks whether there are unmasked interruption requests (item 1.4.2, Fig. 1). If there are no unmasked interrupt requests, control passes directly to the next command at 1.1. However, if there is at least one unmasked interrupt request, the controller initiates operations 1.4.3 which are related to the acceptance of an interrupt.

Falls mehr als eine Anforderung vorliegt, wird nach einem Prioritätsschema eine einzelne Anforderung ausgewählt (Operation 1.4.3.1, Fig. 1), und diese Anforderung wird gestrichen (1.4.3.2). («Gestrichen» bedeutet hier, dass die Anforderung für eine Unterbrechung angenommen wurde und daher als unerledigte Anforderung nicht mehr in Erscheinung tritt). Wenn nur eine einzelne Anforderung vorliegt, so wird diese Anforderung gestrichen (angenommen). Streichung einer Anforderung bedeutet, dass die diese Anforderung darstellende Anzeige beendet wird. Ein Unterbrechungscode, welcher der ausgewählten Anforderung zugeordnet ist, wird abgespeichert (Operation 1.4.3.3), und Umgebungs- bzw. Zustandsinformation wird ausgetauscht (Operation 1.4.3.4), um die Steuerung des Systems von dem Programm, welches den zuletzt ausgeführten Befehl enthält, zu einem die Unterbrechung behandelnden Programm, welches durch die ausgewählte Anforderung bezeichnet wurde, zu bewirken. Diese Vorgänge sind ausführlich beschrieben in den oben angegebenen Handbüchern und im oben bereits zitierten US Patent 3 400 371. If there is more than one request, a single request is selected according to a priority scheme (operation 1.4.3.1, Fig. 1) and this request is deleted (1.4.3.2). (“Deleted” here means that the request for an interruption has been accepted and therefore no longer appears as an unresolved request). If there is only a single request, this request is deleted (accepted). Deletion of a request means that the advertisement representing this request is ended. An interrupt code associated with the selected request is stored (operation 1.4.3.3) and environment or status information is exchanged (operation 1.4.3.4) to control the system from the program containing the most recently executed command. to an interrupt handling program designated by the selected request. These processes are described in detail in the above handbooks and in US Patent 3,400,371 already cited above.

Bei diesem Austausch wird ein «neues» PSW (Programmstatuswort), welches dem die Unterbrechung behandelnden Programm zugeordnet ist, aus dem Speicher entnommen, und ein «altes» PSW, welches mit dem unterbrochenen Programm (d.h. dem Programm, welches den zuletzt ausgeführten Befehl enthält) zusammenhängt, wird für spätere Wiederverwendung abgespeichert. Die Folgesteuerung geht dann über zum Vorgang 1.1, um den ersten Befehl eines Supervisor-Programms zur Unterbrechungsbehandlung (UB) abzurufen. During this exchange, a "new" PSW (program status word), which is assigned to the program handling the interruption, is removed from the memory, and an "old" PSW, which is associated with the interrupted program (ie the program which contains the last command executed) ) is saved for later reuse. The sequence control then proceeds to process 1.1 in order to call up the first command of a supervisor program for interrupt handling (UB).

Der betreffende Befehl «Abfrage auf wartende Unterbrechungsanforderung» (TPI) ist dazu bestimmt, rekursive Vorgänge innerhalb der Programme einzuleiten, welche in den genannten Systemen die Behandlung von Unterbrechungen durchführen. Wie in Fig. 2 gezeigt, enthält dieser Befehl (siehe 2.1) einen acht Bit langen Operationsteil (OP-Code), der bei 2.1.1 zu sehen ist, sowie ein acht Bit langes Feld 2.1.2, welches entweder nicht benutzt wird, oder das - wie weiter unten beschrieben - benutzt werden kann, um die Klasse von Unterbrechungsanforderungen zu identifizieren, welche durch diesen Befehl «abgefragt» werden. Die Decodiereinrichtung 2.2 zur Decodierung von Befehlen erhält einen zusätzlichen Dekodierausgang 2.2.1, welcher diesem neuen Befehl eindeutig zugeordnet ist. Wie in Fig. 2 gezeigt, sind die Steuereinrichtungen 2.2 mit Ausnahme der Leitung 2.2.1 (und der zugehörigen Codeerkennungsschaltungen) im wesentlichen identisch mit den Steuereinrichtungen 1.2 der Fig. 1. Beim Vorliegen von OP-Codes geben sie - ausser wenn ein Signal bei 2.1.1 vorliegt - Steuersignale an die «normalen» Ausführungssteuereinrichtungen 1.3 der Fig. 1 ab. The relevant command “Query for waiting interruption request” (TPI) is intended to initiate recursive processes within the programs which carry out the handling of interruptions in the systems mentioned. As shown in Fig. 2, this command (see 2.1) contains an eight bit long operation part (OP code), which can be seen at 2.1.1, and an eight bit long field 2.1.2, which is either not used, or, as described below, can be used to identify the class of interrupt requests that are "polled" by this command. The decoding device 2.2 for decoding instructions receives an additional decoding output 2.2.1, which is uniquely assigned to this new instruction. As shown in FIG. 2, the control devices 2.2, with the exception of the line 2.2.1 (and the associated code recognition circuits), are essentially identical to the control devices 1.2 of FIG. 1. When OP codes are present, they give - except when there is a signal 2.1.1 is present - control signals are sent to the “normal” execution control devices 1.3 of FIG. 1.

Bei Auftreten eines Signals auf der TPI-Leitung 2.2.1 werden Vorgänge eingeleitet, um die Klasse von Unterbrechungen zu bestimmen, die mit dem Unterbrechungsbehandlungspro- When a signal occurs on TPI line 2.2.1, operations are initiated to determine the class of interrupts that the interrupt handler will use.

3 3rd

5 5

10 10th

15 15

20 20th

25 25th

30 30th

35 35

40 40

45 45

50 50

55 55

60 60

65 65

631 820 4 631 820 4

gramm zusammenhängen, welches den gerade decodierten TPI- gramm X (gezeigt bei 3.1 in Fig. 3 und 4.1 in Fig. 4) durch Befehl enthält. Die für diese Bestimmung notwendigen Einrich- Annahme einer E/A-Unterbrechungsanforderung unterbro-tungen sind schematisch gezeigt bei 2.3 und 2.4 in Fig. 2. Die chen wird (bei 3.2 in Fig. 3 und 4.2 in Fig. 4), und zwar entspre-Information, welche die Klasse der gerade behandelten Unter- chend den Vorgängen 1.4, die in Fig. 1 gezeigt sind. Einzelne brechung näher bezeichnet (z.B. E/A-Unterbrechung, externe 5 Vorgänge bei der Ausführung von Programmbefehlen sind Unterbrechung, Programmunterbrechung, usw.) kann dazu be- schematisch durch horizontale Linien angedeutet, wie z.B. bei nutzt werden, um entsprechende UND-Glieder freizugeben 3.1.1. gram which contains the just decoded TPIgram X (shown at 3.1 in Fig. 3 and 4.1 in Fig. 4) by command. The set-up assumption of an I / O interrupt request interruptions necessary for this determination are shown schematically at 2.3 and 2.4 in FIG. 2. This is (at 3.2 in FIG. 3 and 4.2 in FIG. 4), and that corresponds -Information, which the class of the just dealt with the operations 1.4, which are shown in Fig. 1. Individual breaks are specified (e.g. I / O interruption, external 5 processes when executing program instructions are interruption, program interruption, etc.) can be indicated by horizontal lines, e.g. are used to release corresponding AND gates 3.1.1.

(2.3.1 für E/A-Unterbrechungen, 2.3.2 für externe Unterbre- In der Anfangsstufe der programmierten Unterbrechungs- (2.3.1 for I / O interruptions, 2.3.2 for external interrupts.

chungen, 2.3.3 für Programmunterbrechungen, usw.), wodurch behandlung nach der Annahme (Unterbrechungsbehandlung also eine von ihnen zur Abgabe eines Ausgangssignals angeregt io auf dem ersten Niveau -1NUB) bestimmt das Supervisorpro-wird, wenn die Leitung 2.2.1 ihrerseits mit einem Signal beauf- gramm zur Unterbrechungsbehandlung- wie gezeigt bei 3.3 in schlagt ist. Die Klasseninformation kann z.B. durch das Pro- Fig. 3 und 4.3 in Fig. 4 - den Grand der Unterbrechung und gramm vorher in ein Register eingegeben worden sein. Ande- speichert etwaige weitere Umgebungsinformation, die zur wei-rerseits könnte z.B. der Operationscode 2.1.1 des Befehls zur teren Behandlung der Unterbrechung benötigt wird. In einer Unterscheidung der Klasse benutzt werden, in dem man für jede is fortgeschrittenen Stufe der Unterbrechungsbehandlung (Unter-Klasse einen anderen Operationscode vorsieht. Eine weitere brechungsbehandlung auf dem zweiten Niveau = 2 NUB), die Möglichkeit ist es, das Feld 2.1.2 des Befehls zur Aufnahme der bei 3.4 in Fig. 3 und 4.4 in Fig. 4 gezeigt ist, führt das Programm Klassenunterscheidungsinformation zu benutzen. Im übrigen Vorgänge zur Bedienung der Unterbrechung aus. Im Fall einer dürfte es klar sein, dass dann, wenn der TPI-Befehl nur im E/A-Unterbrechung gehören zu diesen Vorgängen z.B. Ver chances, 2.3.3 for program interruptions, etc.), whereby treatment after acceptance (interruption treatment, ie one of them stimulated to emit an output signal io at the first level -1NUB) is determined by the supervisor if the line 2.2.1 is in turn with a signal for interrupt handling - as shown at 3.3 in. The class information can e.g. by the program Fig. 3 and 4.3 in Fig. 4 - the amount of interruption and grams have previously been entered in a register. Andes saves any other environmental information that, on the other hand, could e.g. the operation code 2.1.1 of the command is required for further handling of the interruption. In a differentiation of the class, in which for each advanced level of interrupt treatment (sub-class provides a different operation code. Another refraction treatment on the second level = 2 NUB), the possibility is to use field 2.1.2 of the Command to include the one shown at 3.4 in Fig. 3 and 4.4 in Fig. 4 causes the program to use class distinction information. Otherwise operations to service the interruption. In the case of one, it should be clear that if the TPI command only belongs to the I / O interrupt, these processes e.g. Ver

Zusammenhang mit einer Klasse benutzt wird (z.B. E/A-Unter- 20 Schiebung der Kanalstatuswortinformation (CSW) mit Bezug brechungen), die vorgehend beschriebene Klassenunterschei- auf einen bestimmten E/A-Kanal. Is used in connection with a class (e.g. I / O shifting of the channel status word information (CSW) with reference breaks), the class difference described above on a specific I / O channel.

dung nicht benötigt wird, und dass damit die bei 2.3 und 2.4 is not required, and that the 2.3 and 2.4

gezeigten Einrichtungen hinfällig würden. Der Befehl 3.4.2 in der Folge 3.4 auf dem zweiten Niveau facilities shown would lapse. Command 3.4.2 in sequence 3.4 at the second level

Am Beispiel der Klasse der E/A-Unterbrechungen wird im wird anfänglich später ausgeführt als der erste Befehl 3.4.1 in folgenden gezeigt, wie die Ausführung des betreffenden TPI- 25 der gleichen Folge, und stellt einen rekursiven Eintrittspunkt Befehls «Abfrage auf wartende Unterbrechungsanforderung dar, welcher eindeutig der Ausführung des TPI-Befehls zuge-abläuft (nach dem Schritt 2.3.1). Im Schritt 2.5 bestimmt die ordnet ist, wie weiter unten beschrieben. Wie bei 3.5 gezeigt, Ablaufsteuerung, ob in der betreffenden Klasse (hier also Klas- bewirkt die Ausführung des Befehls TPI (Anfragen auf warten-se der E/A-Unterbrechungen) gegenwärtig eine Unterbre- de Unterbrechungsanforderung) das Setzen eines Bedingungs- Using the example of the class of I / O interrupts, I will initially execute later than the first instruction 3.4.1, shown in the following, how the execution of the relevant TPI-25 follows the same sequence, and provides a recursive entry point to the instruction «Query on waiting interrupt request which clearly runs towards the execution of the TPI command (after step 2.3.1). In step 2.5 the order is determined as described below. As shown at 3.5, sequence control, whether in the relevant class (here class- the execution of the TPI command (requests for waiting I / O interrupts) currently causes an interruption interrupt request) sets a condition

chungsanforderung anliegt. Dieser Vorgang ist offensichtlich ei- 30 codes auf 0 oder 1, wie weiter oben beschrieben. Der bei 3.6 ne Untermenge des Vorgangs, der bei 1.4.2 in Fig. 2 gezeigt ist. gezeigte Verzweigungsbefehl fragt diesen Code ab. request is pending. This process is obviously a code of 0 or 1, as described above. The at 3.6 ne subset of the process shown at 1.4.2 in Fig. 2. the branch instruction shown queries this code.

Er könnte also in einem vorgegebenen System durch Benutzung Wenn der Bedingungscode auf 0 gesetzt ist, läuft das Proeiner Untermenge der zugehörigen Logik ausgeführt werden. gramm nach dem Verzweigungsbefehl weiter zu einem Befehl Falls keine wartende Anforderung in der betreffenden Klasse «Laden Programmstatuswort» (LPSW), der bei 3.7 gezeigt ist. vorliegt, wird der Bedingungscode auf 0 gesetzt, wie es bei 2.6 35 Mit diesem Befehl wird das «alte» Programstatuswort PSW in gezeigt ist, und die betreffende Ausführungsfolge wird bei 2.7 die Register des Systems geladen, und damit wird die Steuerung beendet mit der üblichen Abschlussoperation (ENDE OP). des Systems wieder an das unterbrochene Programm (X) über- So it could be used in a given system when the condition code is set to 0, the ProA subset of the associated logic is running. grams after the branch instruction continue to an instruction If there is no waiting request in the relevant class «Load program status word» (LPSW), which is shown at 3.7. the condition code is set to 0, as in 2.6 35 With this command the «old» program status word PSW is shown in, and the relevant execution sequence is loaded in 2.7 the registers of the system, and the control is ended with the usual Final surgery (END OP). the system back to the interrupted program (X)

Vom Schritt 1.3.2 in Fig. 1 geht die Steuerung dann über zum geben. Es folgt dann der Befehl 3.8, der als nächster ausgeführt Vorgang 1.4 zur allgemeinen Annahme beliebig auftretender worden wäre, wenn die Unterbrechung nicht bei 3.2 angenom-Unterbrechungen, die zur Gruppe der Unterbrechungen mit 40 men worden wäre. The control then goes from step 1.3.2 in FIG. 1 to give. Then follows the command 3.8, which would have been the next execution of process 1.4 for general assumption if the interruption was not accepted at 3.2 interruptions, which would have become the group of interruptions with 40 men.

Normalbehandlung (PSW Austausch usw.) gehören. Wenn der Bedingungscode durch Ausführung des TPI-Be Normal treatment (PSW exchange etc.) belong. If the condition code is executed by executing the TPI-Be

Wenn andererseits bei der Durchführung des Prüfschrittes fehls auf 1 gesetzt wurde, erfolgt durch den Verzweigungsbefehl 2.5 eine aktive Unterbrechungsanforderung in der betreffenden 3.6 - wie bei 3.6.1 gezeigt - eine Verzweigung des Programms Klasse vorliegt, führt die Steuerung zur Durchführung des TPI- zu seinem rekursiven Eintrittspunkt 3.4.2. Von diesem Punkt an Befehls die bei 2.8 gezeigten folgenden Operationen durch: Set- 45 führt das Programm 3.4 nur Operationen aus, die mit der Be-zen des Bedingungscodes auf 1 (2.8.1), Auswahl einer aktiven handlung der Unterbrechungsanforderung zusammenhängen, Anforderung der betreffenden Klasse (E/A-Unterbrechungen) welche durch Ausführung des TPI-Befehls angenommen und gemäss einem vorgegebenen Prioritätsschema (2.8.2), streichen gestrichen wurde, wie es oben dargestellt ist. Da der TPI-Befehl der ausgewählten Anforderung (2.8.3 und Abspeicherung des und der zugehörige Verzweigungsbefehl an einer «Endposition» Unterbrechungscodes, welcher der ausgewählten Anforderung so in dem die Unterbrechung behandelnden Programm stehen (gezugeordnet ist (2.8.4). Diese Vorgänge der Auswahl einer An- nau vor der Rückgabe der Steuerung an das unterbrochene Proforderang, der Streichung der Anforderung und der Abspeiche- gramm X), und da der TPI-Befehl ausserdem eine Unterbre-rung des Unterbrechungscodes stellen eine Untermenge der bei chung in der gleichen Klasse auswählt, zu der auch die gerade 1.4.3 in Fig. 1 gezeigten Vorgänge dar (ausser dem PSW-Aus- vorher behandelte Unterbrechung gehört, ist es klar, dass keine tausch). Sie können also durch eine ähnliche Logik ausgeführt 55 Notwendigkeit besteht zur Verschiebung von Statusinformation werden oder durch Benutzung der für die Vorgänge 1.4.3 beste- oder Umgebungsinformation im Zusammenhang mit dem TPI-henden Logik mittels jederzeit verwendbarer (re-entrant) Mi- Befehl. Da der TPI-Befehl ausdrücklich an einer solchen End-kroprogramme. position im Unterbrechungsbehandlungsprogramm steht, On the other hand, if the execution of the test step failed set to 1, the branch instruction 2.5 results in an active interrupt request in the relevant 3.6 - as shown in 3.6.1 - a branch of the program class is present, the control system carries out the TPI- to it recursive entry point 3.4.2. From this point on command executes the following operations shown at 2.8: Set-45, the program 3.4 only executes operations related to the condition code reference 1 (2.8.1), selection of an active action of the interrupt request, request of relevant class (I / O interruptions) which was accepted by executing the TPI command and deleted in accordance with a predetermined priority scheme (2.8.2), as shown above. Since the TPI instruction of the selected request (2.8.3 and storage of the and the associated branch instruction at an “end position” interrupt code, which is associated with the selected request in the program handling the interrupt (2.8.4) Selection of an anau before returning the control to the interrupted Proforderang, deletion of the request and the save program X), and since the TPI command also an interruption of the interrupt code represent a subset of the instruction in the same class 1 (including the PSW-Aus previously discussed interruption, it is clear that there is no exchange), so you can do it by a similar logic. 55 There is a need for Relocation of status information or by using the best information for the operations 1.4.3 or environment information in connection with the TPI-based logic s (re-entrant) Mi command that can be used at any time. Because the TPI command specifically on such end-programs. position in the interrupt treatment program,

Nach Ausführung der Vorgänge 2.8 geht die Steuerung auf «weiss» das Programm im Prinzip, dass alle Vorgänge, die zur dem Wege über die Abschlussoperation 2.7/1.3.2 (ENDE OP) 60 Behandlung der vorherigen Unterbrechung gehörten, abge-über zu der üblichen Folge 1.4 zur bedingten Annahme von schlössen sind, und dass die als nächste zu behandelnde UnterUnterbrechungen, die zur Gruppe der Unterbrechungen mit brechungsanforderang durch den gegenwärtig gespeicherten Normalbehandlung gehören. Unterbrechungscode gekennzeichnet ist (d.h. der Code, welcher After execution of operations 2.8, the control goes to "white" the program in principle, that all operations that belonged to the way through the final operation 2.7 / 1.3.2 (ENDE OP) 60 treatment of the previous interruption, compared to the usual Sequence 1.4 for the conditional acceptance of locks and that the next interruptions to be dealt with that belong to the group of interruptions with a request for refraction due to the currently stored normal treatment. Interrupt code is marked (i.e. the code which

Die Benützung des beschriebenen Befehls (TPI) in einem durch den TPI-Befehl überschrieben wurde). Deshalb ist also Supervisorprogramm zur Behandlung von E/A-Unterbrechun- 65 kein Wechsel des Programmstatus nötig, und es kann eine minigen ist in Fig. 3 dargestellt. Eine vergleichsweise Darstellung der male Programmroutine benutzt werden, um die Behandlung der zum Stand der Technik gehörenden rekursiven Behandlung ist Unterbrechung, welche durch Ausführung des TPI-Befehls an-in Fig. 4 gezeigt. Es sei angenommen, dass ein beliebiges Pro- genommen wurde, zu erledigen. The use of the described command (TPI) was overwritten by the TPI command). For this reason, the supervisor program for handling I / O interruptions does not require a change in the program status, and a minimal one is shown in FIG. 3. A comparative representation of the male program routine used to handle the prior art recursive treatment is interrupted, which is shown by executing the TPI instruction at-in FIG. 4. It is assumed that any program has been done.

Im Gegensatz dazu enthält die Unterbrechungsbehand-lungsfolge auf dem ersten Niveau, welche bei 3.4 in Fig. 4 gezeigt ist, eine vorbereitende Unterfolge, siehe bei 4.3.1, die nicht benötigt wird, wenn der TPI-Befehl vorgesehen ist. Die Vorbereitungsfolge verschiebt die Programmstatusinformation, welche zum Programm X gehört, vorübergehend in einen Hintergrundspeicher, und zwar zur Vorbereitung eines weiteren Programmstatuswechsels, der unten beschrieben ist und der es dem Programm ermöglicht, nicht notwendige Programmschritte während der rekursiven Unterbrechungsbehandlung zu «überspringen», wie es unten beschrieben ist. In contrast, the first level interrupt handling sequence, shown at 3.4 in Fig. 4, contains a preparatory sub-sequence, see at 4.3.1, which is not needed when the TPI instruction is provided. The preparation sequence temporarily shifts the program status information belonging to program X to a background memory, in preparation for a further program status change, which is described below and which enables the program to "skip" unnecessary program steps during the recursive interrupt handling as it does is described below.

In der Unterbrechungsbehandlungsfolge 4.4 des zweiten Niveaus enthält beim Punkt 4.4.1, welcher erreicht wird, wenn alle zu der bei 4.2 angenommenen Unterbrechung notwendigen Vorgänge ausgeführt sind, das Programm einen Befehl zum Setzen eines Freigabebits im Programmstatuswort, welches zu dem Zeitpunkt die Steuerung des Systems bestimmt. Dies ermöglicht dem System die rekursive Annahme einer Unterbrechung bei 4.6, und zwar in der Klasse (E/A), welche zu der Unterbrechung gehört, die bei 4.2 angenommen wurde. Falls in dieser Klasse keine Unterbrechungsanforderungen hängig sind (Warten), geht das Programm zum Befehl 4.5.1 im Segment 4.5 des Programms zur Unterbrechungsbehandlung auf dem zweiten Niveau über. Durch den Befehl 4.5.1 wird das Freigabebit im Programmstatuswort PSW zurückgestellt, so dass eine Sperrbedingung entsteht, und das Programm geht bei 4.7 dazu über, die Umgebungsbedingungen wieder herzustellen, die im System vor der vorbereitenden Folge 4.3.1 bestanden. Wenn dieser Vorgang ausgeführt ist, wird der Befehl 4.8 «Laden PSW» (LPSW) In the interrupt handling sequence 4.4 of the second level, at point 4.4.1, which is achieved when all the operations necessary for the interruption assumed at 4.2 have been carried out, the program contains a command to set an enable bit in the program status word, which at the time is the control of the system certainly. This enables the system to recursively accept an interrupt at 4.6 in the class (I / O) that belongs to the interrupt that was assumed at 4.2. If there are no pending interrupt requests in this class (wait), the program proceeds to instruction 4.5.1 in segment 4.5 of the interrupt handling program at the second level. Command 4.5.1 resets the release bit in the program status word PSW so that a blocking condition arises, and the program at 4.7 starts to restore the environmental conditions that existed in the system prior to the preparatory sequence 4.3.1. When this process has been carried out, the command 4.8 «Load PSW» (LPSW)

5 631820 5 631820

ausgeführt, und die Steuerung geht bei 4.9 wieder an das unterbrochene Programm X über. executed, and the control goes back to the interrupted program X at 4.9.

Wenn bei 4.6 eine E/A-Unterbrechungsanforderung angenommen wird, wird der in Fig. 1 bei 1.4.3.4 gezeigte PSW-5 Austausch sowie andere unter 1.4 gezeigte Vorgänge durchgeführt. Das «neue» Programmstatuswort PSW enthält die Adresse des Befehls 4.3.2, welche über den rekursiven Eintrittspunkt 4.6.1 im Anfangsstadium des Unterbrechungsbehandlungspro-gramms auf dem ersten Niveau (4.3) eingesetzt wurde. Infolge io der Vorbereitungen, die bei 4.3.1 durchgeführt wurden, kann das Unterbrechungsbehandlungsprogramm die notwendigen Operationen ausführen, aber es überspringt eine Anzahl von Schritten, die normalerweise während eines ersten Durchgangs durch das Programm von der Annahmestufe 4.2 her ausgeführt is werden. Schliesslich kehrt das Programm zur Freigabestufe 4.4.1 zurück und geht weiter zur Sperrstufe 4.5.1, wenn keine weiteren Unterbrechungen bei 4.6 angenommen werden. Die Operationen 4.7.1 zur Wiederherstellung der Umgebungsbedingungen bringen das Programm in den gleichen Zustand, wie 20 er vor den Vorbereitungsoperationen 4.3.1 vorlag. Danach wird die Steuerung dem unterbrochenen Programm X durch Ausführung des Befehls «Laden PSW» bei 4.8 wiedergegeben. Durch vergleichende Betrachtung der Fig. 3 und 4 wird es völlig klar, dass durch den TPI-Befehl (Abfrage auf wartende Unterbre-25 chungsanforderung) der Programmstatuswechsel bei 4.6 vermieden wird, und dass auch die vorbereitenden Vorgänge 4.3.1 und die Wiederherstellungsvorgänge 4.7.1 eliminiert werden können, wodurch das Unterbrechungsbehandlungsprogramm verkürzt wird. If an I / O interrupt request is accepted at 4.6, the PSW-5 exchange shown in Fig. 1 at 1.4.3.4 and other operations shown at 1.4 are performed. The «new» program status word PSW contains the address of command 4.3.2, which was used via recursive entry point 4.6.1 in the initial stage of the interrupt handling program at the first level (4.3). As a result of the preparations made in 4.3.1, the interrupt handler can perform the necessary operations, but it skips a number of steps that are normally performed during the first pass through the program from acceptance level 4.2. Finally, the program returns to release level 4.4.1 and continues to lock level 4.5.1 if no further interruptions are assumed at 4.6. Operations 4.7.1 to restore the environmental conditions bring the program into the same state as it was before preparatory operations 4.3.1. The control is then returned to the interrupted program X by executing the «Load PSW» command at 4.8. By comparing FIGS. 3 and 4, it becomes completely clear that the TPI command (query for waiting interruption request) avoids the program status change at 4.6, and that the preparatory processes 4.3.1 and the restoring processes 4.7. 1 can be eliminated, thereby shortening the interrupt handling program.

C C.

1 Blatt Zeichnungen 1 sheet of drawings

Claims (2)

631 820 PATENTANSPRÜCHE631 820 PATENT CLAIMS 1. Verfahren zur Behandlung von Unterbrechungsanforderungen in einer multiprogrammierbaren Datenverarbeitungsanlage, welche unter Steuerung eines Überwachungsprogramms läuft, in welcher Anlage zum Übergang von einem laufenden auf ein anderes Programm Zustandsdaten zwischen Prozessor und Hauptspeicher ausgetauscht werden, dadurch gekennzeichnet, dass vor dem Ubergang von einem Programm, das zur Behandlung einer Unterbrechungsanforderung einer bestimmten Klasse aktiviert wurde, auf ein anderes Programm eine Abfrageoperation durchgeführt wird zur Feststellung, ob noch mindestens eine weitere Unterbrechungsanforderung der gleichen Klasse vorliegt, und dass, wenn dies der Fall ist, eine solche Unterbrechungsanforderung als wartende Anforderung gestrichen und damit akzeptiert wird, dass ein Identifikationsmerkmal für die die Unterbrechung anfordernde Einrichtung an einer dem betreffenden Programm zugänglichen Stelle eingespeichert wird, und dass die genannte akzeptierte Unterbrechungsanforderung ohne Austausch von Zustandsdaten mittels Rück-sprung im gerade aktiven Programm behandelt wird. 1. A method for handling interrupt requests in a multiprogrammable data processing system, which runs under the control of a monitoring program, in which system status data are exchanged between the processor and main memory in order to switch from a running program to another, characterized in that before the transition from a program, which has been activated for handling an interrupt request of a certain class, a query operation is carried out on another program to determine whether there are at least one further interrupt request of the same class and, if this is the case, such an interrupt request is deleted as a waiting request and it is thus accepted that an identification feature for the device requesting the interruption is stored in a location accessible to the program in question, and that said accepted interruption request treatment without exchanging status data by means of a return in the currently active program. 2. Anordnung zur Durchführung des Verfahrens nach Patentanspruch 1, dadurch gekennzeichnet, dass beim Operations-Decodierer (2.2) des Prozessors der Datenverarbeitungsanlage ein zusätzlicher Decodierausgang (2.2.1) vorgesehen ist, der bei Decodierung des Operationsteils eines bestimmten Befehls (TPI) erregt wird, und dass Einrichtungen zur Durchführung der Abfrageoperation, zur Akzeptierung einer Unterbrechungsanforderung, zur Abspeicherung des Identifikationsmerkmals und zum Rücksprung im gerade aktiven Programm alle in Abhängigkeit von einem Decodiersignal auf diesem zusätzlichen Decodierausgang aktiviert werden. 2. Arrangement for performing the method according to claim 1, characterized in that an additional decoding output (2.2.1) is provided in the operations decoder (2.2) of the processor of the data processing system, which is excited when the operating part of a specific command (TPI) is decoded , and that devices for carrying out the interrogation operation, for accepting an interrupt request, for storing the identification feature and for returning to the currently active program are all activated as a function of a decoding signal on this additional decoding output.
CH1597077A 1977-01-13 1977-12-23 Method and arrangement for dealing with interrupt requests in a multi-programmable data processing system CH631820A5 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US75916477A 1977-01-13 1977-01-13

Publications (1)

Publication Number Publication Date
CH631820A5 true CH631820A5 (en) 1982-08-31

Family

ID=25054630

Family Applications (1)

Application Number Title Priority Date Filing Date
CH1597077A CH631820A5 (en) 1977-01-13 1977-12-23 Method and arrangement for dealing with interrupt requests in a multi-programmable data processing system

Country Status (8)

Country Link
JP (1) JPS5394846A (en)
AU (1) AU520734B2 (en)
BR (1) BR7708760A (en)
CA (1) CA1092714A (en)
CH (1) CH631820A5 (en)
ES (1) ES464591A1 (en)
GB (1) GB1584419A (en)
IT (1) IT1115694B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59211141A (en) * 1983-05-16 1984-11-29 Omron Tateisi Electronics Co Interruption processing system
US5341482A (en) * 1987-03-20 1994-08-23 Digital Equipment Corporation Method for synchronization of arithmetic exceptions in central processing units having pipelined execution units simultaneously executing instructions
US10282327B2 (en) * 2017-01-19 2019-05-07 International Business Machines Corporation Test pending external interruption instruction

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5137499A (en) * 1974-09-27 1976-03-29 Ishikawajima Harima Heavy Ind

Also Published As

Publication number Publication date
BR7708760A (en) 1979-07-24
AU3236078A (en) 1979-07-19
IT1115694B (en) 1986-02-03
ES464591A1 (en) 1978-09-01
CA1092714A (en) 1980-12-30
GB1584419A (en) 1981-02-11
AU520734B2 (en) 1982-02-25
JPS5611340B2 (en) 1981-03-13
JPS5394846A (en) 1978-08-19

Similar Documents

Publication Publication Date Title
DE69831732T2 (en) METHOD AND DEVICE FOR CORRECTING ERRORS IN A COMPUTER SYSTEM
EP0010198B1 (en) Device for page replacement control in a data processing system with a virtual memory
DE69730449T2 (en) GENERATING A MIRROR DATA COPY (PICTURE) USING REFERENCE LABELS
DE3210816C2 (en)
DE3889578T2 (en) Device for saving and restoring register information.
DE3751164T2 (en) Data processor with various types of interrupt processing.
DE68927492T2 (en) Method and device for the simultaneous distribution of commands to several functional units
DE3852928T2 (en) Data processor with A / D converter to convert multiple analog input channels into digital data.
DE69030931T2 (en) Multiple sequence processor system
DE69623146T2 (en) Method and apparatus for coordinating the use of physical registers in a microprocessor
DE2414311C2 (en) Memory protection device
DE3789490T2 (en) Control system for a vector processor.
DE69232045T2 (en) DEVICE AND METHOD FOR IMPLEMENTING INSTRUCTIONS IN NON-SEQUENTIAL ORDER
DE69121937T2 (en) Method and device for partially running a sequence program for the purpose of troubleshooting
DE2744531A1 (en) ELECTRONIC DATA PROCESSING SYSTEM
DE2611907A1 (en) IT SYSTEM WITH A PRIORITY INTERRUPTION ARRANGEMENT
DE2234867A1 (en) ARRANGEMENT IN DATA PROCESSING SYSTEMS TO CONTROL THE PROCESSING OF TWO INDEPENDENT PROGRAMS
EP0635792A2 (en) Coordination method for parallel access to resource configurations by a plurality of processors
DE19983098B4 (en) Multi-bit display for handling write-to-write errors and eliminating bypass comparators
DE3886756T2 (en) Access to resources for multiprocessor computer system.
DE69419992T2 (en) History buffer system
DE4207158A1 (en) MEMORY ACCESS CONTROL
DE2101949A1 (en) Method for protecting data groups in a multiprocessing data processing system
DE69128908T2 (en) Method for executing mandatory commands in a computer
DE68924883T2 (en) Microprocessor with command pipeline.

Legal Events

Date Code Title Description
PL Patent ceased