Browse Prior Art Database

External Interrupt Handling by an Interrupt Driven Real Time Multiprogram Supervisor for a Data Collection System

IP.com Disclosure Number: IPCOM000077526D
Original Publication Date: 1972-Aug-01
Included in the Prior Art Database: 2005-Feb-25
Document File: 4 page(s) / 79K

Publishing Venue

IBM

Related People

Felix, RA: AUTHOR

Abstract

In a computer-centered data collection system, the main job of the supervisor program is to process as many external interrupts as possible. This processing involves accepting the data provided by a remote source and then either: Passing the data to the appropriate working program, or Disposing of the data if the appropriate working program has no need of it.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 38% of the total text.

Page 1 of 4

External Interrupt Handling by an Interrupt Driven Real Time Multiprogram Supervisor for a Data Collection System

In a computer-centered data collection system, the main job of the supervisor program is to process as many external interrupts as possible. This processing involves accepting the data provided by a remote source and then either: Passing the data to the appropriate working program, or

Disposing of the data if the appropriate working program has

no need of it.

This article describes the implementation of external interrupt handling by one such supervisor. A general description of the supervisor and the data- collection system it controls is provided in a companion article (IBM Technical Disclosure Bulletin, Volume 15, Number 3, pages 855 - 860, published August, 1972).

This implementation of external interrupt handling relies on precise interaction between the supervisor and the working programs, all of which are resident in the computer's main storage. To increase the flexibility of processing, all working programs operate in the supervisor state. The basic sequence of events in external interrupt handling is depicted in the figure.

All external interrupts intended for working programs are initially serviced by the supervisor and routed to the appropriate working program. Even when a working program has all the data it needs for a run and cannot accept any more, the interrupts must still be serviced by the supervisor. Unserviced interrupts would cause the Remote/ Adapter to hang up and prevent other desired interrupts from reaching the computer. Therefore, when a working program wants to stop taking interrupts, it notifies the supervisor via an SVC (Supervisor Call). The supervisor then "closes the gates" to the interrupt handling routines of the working program by instruction modification. The supervisor then is able to service and dispose of any subsequent interrupts that would otherwise be taken by the working program.

The initial interrupt servicing done by the supervisor occurs as follows. When an external interrupt occurs, the supervisor gains control and masks off other external interrupts. It analyzes the external interrupt code and, by a branch table, passes control to the routine that is to further process the interrupt, usually a standard external interrupt servicing routine consisting of: One RDD (read direct) instruction to read the data from the

Remote buffer into a storage location within the supervisor, and

One LPSW (load program status word) instruction to pass control

to the working program that is to handle the external interrupt

data.

Operands of the RDD instruction specify:

The Remote buffer to be read.

The type of read to be done (for example, Select & Read).

The rightmost position to be read in the specified buffer.

1

Page 2 of 4

Whether or not to invert the signal provided by the buffer.

The number of positions to be read in the buffer.

The automatic-storage address increment to be used during r...