US4438489A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Interrupt pre-processor with dynamic allocation of priority levels to requests queued in an associative CAM
Assignee: International Business Machines Corp
•
Filing: 1981-06-11
•
Granted: 1984-03-20
•
Expires: 2001-06-11
Abstract
Abstract Interrupt requests of different priorities, presented by various interrupt sources (0 to 3), are transferred through control ST, in an associative storage and selection process, into preprocessing elements PE0 and PE1. These elements are variably assigned by controls ST to receive and preprocess requests of associated priority. The preprocessing generates a starting address of a program routine for servicing the respective request. This address is transferred to a common processor which executes the routine. The preprocessing elements can be structured to rapidly generate a succession of different starting addresses relative to several interrupt requests having the priority assigned to that element.
Inventors
- 👤 Hans J. Heinrich
- 👤 Dieter Schutt
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-10-24 22:48
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/48; G06F9/4806; G06F9/4812
Claims Analysis
Total Claims: 7
Claim 1
Independent Claim
394 words
A priority level controlled interrupt handler unit for pre-processing interrupt requests from plural interrupt sources having different assigned priorities, said unit including plural processing elements (PE) having means for comparing an interrupt priority level preallocated to the unit with an interrupt level of an incoming interrupt request, means for buffering incoming interrupt requests when a comparison match occurs, means for generating and buffering real addresses associated with incoming requests, each address designating a starting address of a routine for servicing the respective incoming request, and at least one instruction address register means in which real addresses are staged for initiating servicing routines, wherein the improvement comprises, common control means (6 to 10; FIG. 2) for initializing said unit by assigning interrupt levels (LV) to said processing elements and for establishing level masking conditions (MA), and for producing control signals (e.g. X4/X4, X11/X11, X16/X16) from which other control signals (e.g. X5/X5, X9/X9, X10/X10, X12/X12, X15/X15) are generated individually in the processing elements, associative storage means (5) in said common control means and a main bus (38) connecting the output of the associative storage means to all PE's, means for storing interrupt requests in the associative storage means, each request including an interrupt level, and for selecting requests for transfer to a PE by means of an associative search operation relative to an associated interrupt level (e.g. LV=i) designated by the common control means, control registers (RPE, OPE) in each processing element and means connecting the control registers to be set by the common control to show the status of each PE as neutral, standard, reserve, or old, the old status identifying a PE having an overflow in its means for storing interrupt requests, means for indicating when a standard processing element associated with a specific interrupt level (i) overflows, or is otherwise blocked, and means in the common control for selecting and assigning a neutral PE as a reserve processing element for that level, and blocking means (X4, X16) in the common control for blocking servicing of interrupt requests which are queued in PE's having assigned level priorities lower than requests currently being serviced or, if a reserve PE has been allocated to a current interrupt level, for blocking the processing of the interrupt requests in that reserve PE until all interrupt requests of the old PE assigned to said current level have been processed.
Claim 2
Dependent Claim
394 words
A priority level controlled interrupt handler unit for pre-processing interrupt requests from plural interrupt sources having different assigned priorities, said unit including plural processing elements (PE) having means for comparing an interrupt priority level preallocated to the unit with an interrupt level of an incoming interrupt request, means for buffering incoming interrupt requests when a comparison match occurs, means for generating and buffering real addresses associated with incoming requests, each address designating a starting address of a routine for servicing the respective incoming request, and at least one instruction address register means in which real addresses are staged for initiating servicing routines, wherein the improvement comprises, common control means (6 to 10; FIG. 2) for initializing said unit by assigning interrupt levels (LV) to said processing elements and for establishing level masking conditions (MA), and for producing control signals (e.g. X4/X4, X11/X11, X16/X16) from which other control signals (e.g. X5/X5, X9/X9, X10/X10, X12/X12, X15/X15) are generated individually in the processing elements, associative storage means (5) in said common control means and a main bus (38) connecting the output of the associative storage means to all PE's, means for storing interrupt requests in the associative storage means, each request including an interrupt level, and for selecting requests for transfer to a PE by means of an associative search operation relative to an associated interrupt level (e.g. LV=i) designated by the common control means, control registers (RPE, OPE) in each processing element and means connecting the control registers to be set by the common control to show the status of each PE as neutral, standard, reserve, or old, the old status identifying a PE having an overflow in its means for storing interrupt requests, means for indicating when a standard processing element associated with a specific interrupt level (i) overflows, or is otherwise blocked, and means in the common control for selecting and assigning a neutral PE as a reserve processing element for that level, and blocking means (X4, X16) in the common control for blocking servicing of interrupt requests which are queued in PE's having assigned level priorities lower than requests currently being serviced or, if a reserve PE has been allocated to a current interrupt level, for blocking the processing of the interrupt requests in that reserve PE until all interrupt requests of the old PE assigned to said current level have been processed.
Claim 3
Dependent Claim
333 words
The interrupt handler unit as defined in claim 1, wherein said common control means includes a clock generator (35) provided in the control (ST; FIG. 2) which generates clock signals (T, t) for controlling the timing of operations in this control as well as in the individual processing elements (PE0 to PE1) and a gate enable pulse generator (34) which controls the transfer of interrupt requests from plural request sources (0 to n) into an interrupt register (4), from the interrupt register to associative storage (5) and from the associative storage to the processing elements; and wherein each processing element includes, a base address register (16) for receiving a base address from the common control, a buffer (15) for buffering interrupt requests transferred from the associative storage (5), an arithmetic and logic unit (21) for combining the base address and a priority sublevel function defined in the interrupt request in the buffer in accordance with a predetermined function (e.g. addition) to product a real address, a stack of storage locations 22 operating as a second buffer for buffering the real addresses computed by the arithmetic and logic unit, at least one instruction address register (25 to 27) for receiving real addresses one at a time from the stack for transfer to a connected processor for further processing, and a gate enable pulses generator (37) which in response to the clock signals (T, t) and control signals (X4 to X14) produced in part by the common control, and in part by the processing element itself, generates gate control signals which control the transfer of interrupt requests from the associative storage means via a main bus (38) into the respective buffer, the operations of the arithmetic and logic unit for producing real addresses, the transfers of real addresses from the arithmetic and logic unit into the stack, the transfer of real addresses from the stack into individual instruction address registers, and finally the transfers of real addresses from the instruction address registers into connected processors.
Claim 4
Dependent Claim
63 words
Device as claimed in claim 2, wherein said common control and said processing elements include: signal generators (3, 11, 12, 14, 17, 20, 23, 24, 28 to 30, 31 and 32) for producing control signals for application to the gate enable pulse generators (34, 37) for processing together with the signals of the clocks (T, t) into gate control signals (τ0 to τ10/k).
Claim 5
Dependent Claim
69 words
Device as claimed in claim 1, wherein the common control (6 to 10) contains tables of the operating states of the processing elements including lists of the actually existing neutral, standard, reserve, and old PE's, control registers (RPE and OPE) in the processing elements, and means in the common control for setting said control registers for the allocation of reserve processing elements and for the blocking of reserve elements.
Claim 6
Dependent Claim
81 words
Device as claimed in claim 1, wherein an interrupt request has an interrupt priority level and an interrupt priority sublevel and, including a masking circuit (6) connected between the control unit (9) and the associateive storage (5) for modifying individual bits of the interrupt level and of the interrupt sublevel of a received request according to an applied mask (MA) in such manner that its processing is blocked, or its priority is increased or decreased, or its real address is modified.
Claim 7
Dependent Claim
43 words
Device as claimed in claim 1, characterized in that the processing elements (PE0 to PE1) are provided on plug-in cards adaptable for extension by plugging into further processing elements (PE1+1, PE1+2 . . . ) whereby additional interrupt levels are serviceable if needed.
References Cited (Backward Citations)
US3771142A
Cited
US3905023A
Cited
US4115850A
Cited
US4172284A
Cited
US4188670A
Cited
US4296475A
Cited
US4319321A
Cited
US4363096A
Cited
US4374413A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 1987-03-20 | 1987-09-19 | 1988-03-20 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 1991-03-20 | 1991-09-19 | 1992-03-20 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 1995-03-20 | 1995-09-19 | 1996-03-20 | $7700.00 | Window Closed / Lapsed |