← Back to Patent Explorer
US5560019A Expired / Lapsed US ⏱️ 0.0 years remaining

Method and apparatus for handling interrupts in a multiprocessor computer system

Assignee: Sun Microsystems Inc
•
Filing: 1996-01-16
•
Granted: 1996-09-24
•
Expires: 2016-01-16
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract An interrupt steering control mechanism includes an interrupt target register storing a code identifying a particular interrupt target processor to receive undirected interrupts within a multiple processor computer system. The computer operating system assigns a particular processor to be a current interrupt target by writing the identifying processor code in to the interrupt target register. A system interrupt pending register permits any processor to ascertain whether an interrupt source has requested service. Each interrupt service request is assigned an interrupt priority determining when the particular processor will service the interrupt in relation to other interrupts pending for that processor. An interrupt target mask register permits the current interrupt target processor to delay service of the interrupt request until some later time, and any processor may assert ownership of the current interrupt target. Appropriate bits within a processor interrupt register for each processor indicates whether soft or hard directed interrupts at any priority level are pending for that processor. The processor identified to be the current interrupt target also receives pending hard undirected interrupts, as indicated by appropriate bits within a system interrupt pending register.

Inventors

  • 👤 Charles E. Narad

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-23 10:46
CPC Classifications
G; G06; G06F; G06F15/00; G06F15/16; G06F15/163; G06F15/17; G06F13/00; G06F13/14; G06F13/20; G06F13/24; G06F13/26

Claims Analysis

Total Claims: 26
Claim 1
Independent Claim 197 words
In a computer system, an interrupt steering system for dynamically directing variable priority interrupt signals to any of a plurality of processors, each processor having a predetermined identification code, said identification code identifying that processor, said interrupt steering system comprising: interrupt receiving means coupled to at least one system device for receiving said variable priority interrupt signals issued by said system devices; a target interrupt processor identification register accessible to the processors, said processors programming the target interrupt processor identification register with the identification code of one of the processors to designate that processor as a target interrupt processor; interrupt steering means coupled to said interrupt receiving means and the target interrupt processor identification register for directing said variable priority interrupt signals to the target interrupt processor; a plurality of processor-specific interrupt pending notification registers coupled to said interrupt steering means for signalling said processors whenever said variable priority interrupt signals are pending, each said processor-specific interrupt pending notification means corresponding to one of said processors; and interrupt encoding means coupled to said interrupt pending notification means for converting said variable priority interrupt signals into a plurality of encoded processor-specific interrupts directed to said plurality of processors.
Claim 2
Dependent Claim 197 words
In a computer system, an interrupt steering system for dynamically directing variable priority interrupt signals to any of a plurality of processors, each processor having a predetermined identification code, said identification code identifying that processor, said interrupt steering system comprising: interrupt receiving means coupled to at least one system device for receiving said variable priority interrupt signals issued by said system devices; a target interrupt processor identification register accessible to the processors, said processors programming the target interrupt processor identification register with the identification code of one of the processors to designate that processor as a target interrupt processor; interrupt steering means coupled to said interrupt receiving means and the target interrupt processor identification register for directing said variable priority interrupt signals to the target interrupt processor; a plurality of processor-specific interrupt pending notification registers coupled to said interrupt steering means for signalling said processors whenever said variable priority interrupt signals are pending, each said processor-specific interrupt pending notification means corresponding to one of said processors; and interrupt encoding means coupled to said interrupt pending notification means for converting said variable priority interrupt signals into a plurality of encoded processor-specific interrupts directed to said plurality of processors.
Claim 3
Dependent Claim 21 words
The interrupt steering system as set forth in claim 1, wherein said interrupt receiving means comprises a system interrupt pending register.
Claim 4
Dependent Claim 35 words
The interrupt steering system as set forth in claim 2, wherein said interrupt receiving means further comprises interrupt target masking means coupled to said interrupt steering means for variably blocking said variable priority interrupt signals.
Claim 5
Dependent Claim 23 words
The interrupt steering system as set forth in claim 3, wherein said interrupt target masking means further comprises an interrupt target masking register.
Claim 6
Dependent Claim 39 words
The interrupt steering system as set forth in claim 1, wherein said plurality of processor specific interrupt pending notification registers further comprises soft interrupt receiving means for receiving a plurality of soft interrupts generated by any of said processors.
Claim 7
Dependent Claim 48 words
The interrupt steering system as set forth in claim 5, wherein said soft interrupt receiving means comprises a plurality of atomic access registers, each said atomic access register comprising a plurality of bits altered according to a soft interrupt command written by one of said plurality of processors.
Claim 8
Dependent Claim 36 words
The interrupt steering system as set forth in claim 1, wherein said plurality of processor specific interrupt pending notification registers further comprises timer means for generating a plurality of timed interrupts for said plurality of processors.
Claim 9
Dependent Claim 36 words
The interrupt steering system as set forth in claim 1, wherein said plurality of processor specific interrupt pending notification registers further comprises broadcast interrupt receiving means for receiving a plurality of highest priority broadcast interrupt signals.
Claim 10
Dependent Claim 34 words
The interrupt steering system as set forth in claim 1, wherein said interrupt encoding means comprises a plurality of priority encoders encoding said variable priority interrupt signals to indicate a highest-level encoded processor-specific interrupt.
Claim 11
Dependent Claim 54 words
The interrupt steering system as set forth in claim 9, wherein said interrupt encoding means further comprises a plurality of interrupt request lines coupled to said processor encoding means and to said plurality of processors, said interrupt request line transmitting said variable priority interrupt signals indicating said highest-level encoded processor-specific interrupt to said processors.
Claim 12
Dependent Claim 29 words
The interrupt steering system as set forth in claim 1, wherein said interrupt steering means further comprises programmable interrupt target identification means for identifying a current interrupt target processor.
Claim 13
Dependent Claim 30 words
The interrupt steering system of claim 1 wherein each said processor-specific interrupt pending notification register includes a plurality of priority indicators, each priority indicator for specifying an interrupt priority level.
Claim 14
Dependent Claim 423 words
In a computer system, an interrupt steering system for dynamically directing a multiplicity of interrupts of unequal priority to any of a plurality of processors, each processor having a predetermined identification code, said identification code identifying that processor, said interrupt steering system comprising: an interrupt pending register for receiving a plurality of assigned priority interrupt signals issued by at least one system device; an interrupt target masking register for variably blocking said assigned priority interrupts, said interrupt target masking register coupled to said interrupt pending register and producing a plurality of masked priority interrupt signals; a target interrupt processor identification register accessible to the processors, said processors programming the target interrupt processor identification register with the identification code of one of the processors to designate that processor as a target interrupt processor; steering means coupled to the target interrupt for directing said plurality of assigned priority interrupt signals to the target interrupt processor, said steering means having an input connected to receive said plurality of masked priority interrupt signals from said interrupt target masking register; a selected one of a plurality of processor-specific interrupt pending notification registers coupled to said steering means for notifying said target interrupt processor when said assigned priority interrupt signals are pending, each said processor-specific interrupt pending notification register corresponding to one of said processors, each said processor-specific interrupt pending register including a plurality of priority indicators, each indicator for specifying an interrupt priority level; said plurality of processor interrupt pending registers further coupled to said plurality of system devices for receiving a plurality of highest priority broadcast interrupt signals; a selected one of a plurality of processor specific directed interrupt receiving means including soft interrupt registers coupled to said plurality of processors for receiving a plurality of soft interrupt signals generated by any of said plurality of processors, said soft interrupt registers further coupled to said processor interrupt pending registers; said plurality of directed interrupt receiving means further comprising timer interrupt means, coupled to said processor interrupt pending registers, for generating a plurality of timed interrupt signals for any of said plurality of processors; processor encoding means coupled to said plurality of processor interrupt pending registers for converting said assigned priority interrupt signals, said soft interrupt signals, and said broadcast interrupt signals into a plurality of encoded processor-specific interrupt notification signals; and a plurality of interrupt request lines coupled to said processor encoding means, said interrupt request lines further coupled to said plurality of processors and transmitting said encoded processor-specific interrupt notification signals to said plurality of processors.
Claim 15
Dependent Claim 423 words
In a computer system, an interrupt steering system for dynamically directing a multiplicity of interrupts of unequal priority to any of a plurality of processors, each processor having a predetermined identification code, said identification code identifying that processor, said interrupt steering system comprising: an interrupt pending register for receiving a plurality of assigned priority interrupt signals issued by at least one system device; an interrupt target masking register for variably blocking said assigned priority interrupts, said interrupt target masking register coupled to said interrupt pending register and producing a plurality of masked priority interrupt signals; a target interrupt processor identification register accessible to the processors, said processors programming the target interrupt processor identification register with the identification code of one of the processors to designate that processor as a target interrupt processor; steering means coupled to the target interrupt for directing said plurality of assigned priority interrupt signals to the target interrupt processor, said steering means having an input connected to receive said plurality of masked priority interrupt signals from said interrupt target masking register; a selected one of a plurality of processor-specific interrupt pending notification registers coupled to said steering means for notifying said target interrupt processor when said assigned priority interrupt signals are pending, each said processor-specific interrupt pending notification register corresponding to one of said processors, each said processor-specific interrupt pending register including a plurality of priority indicators, each indicator for specifying an interrupt priority level; said plurality of processor interrupt pending registers further coupled to said plurality of system devices for receiving a plurality of highest priority broadcast interrupt signals; a selected one of a plurality of processor specific directed interrupt receiving means including soft interrupt registers coupled to said plurality of processors for receiving a plurality of soft interrupt signals generated by any of said plurality of processors, said soft interrupt registers further coupled to said processor interrupt pending registers; said plurality of directed interrupt receiving means further comprising timer interrupt means, coupled to said processor interrupt pending registers, for generating a plurality of timed interrupt signals for any of said plurality of processors; processor encoding means coupled to said plurality of processor interrupt pending registers for converting said assigned priority interrupt signals, said soft interrupt signals, and said broadcast interrupt signals into a plurality of encoded processor-specific interrupt notification signals; and a plurality of interrupt request lines coupled to said processor encoding means, said interrupt request lines further coupled to said plurality of processors and transmitting said encoded processor-specific interrupt notification signals to said plurality of processors.
Claim 16
Dependent Claim 25 words
The interrupt steering system as set forth in claim 13, wherein said interrupt target masking register stores a code identifying said current interrupt target processor.
Claim 17
Dependent Claim 37 words
The interrupt steering system as set forth in claim 13, wherein said processor interrupt pending register comprises broadcast interrupt receiving means coupled to said plurality of system devices for receiving said plurality of highest priority interrupt signals.
Claim 18
Dependent Claim 32 words
The interrupt steering system as set forth in claim 13, wherein said processor encoding means comprises a plurality of priority encoders encoding said interrupt signals to indicate a highest-level encoded processor-specific interrupt.
Claim 19
Dependent Claim 218 words
In a computer system, a method for dynamically directing a multiplicity of interrupts of unequal priority to any of a plurality of processors, each processor having a predetermined identification code, said identification code identifying that processor, said method comprising the steps of: receiving a plurality of assigned priority interrupt signals; variably blocking said assigned priority interrupt signals and producing therefrom a plurality of masked priority interrupt signals; providing steering means for directing said plurality of assigned priority interrupt signals to a current interrupt target processor, said steering means having an input connected to receive said plurality of masked priority interrupt signals; providing a target interrupt processor identification register coupled to said steering means for identifying said current interrupt target processor, said target interrupt processor identification register accessible to the processors, said processors programming the target interrupt processor identification register with the identification code of one of the processors to designate that processor as a target interrupt processor; receiving said processor-specific interrupt notification signals; receiving a plurality of soft interrupts generated by any of said plurality of processors; generating a plurality of timed interrupts for any of said plurality of processors; converting said processor-specific interrupt notification signals into a plurality of encoded processor-specific interrupt notification signals; and, transmitting said encoded processor-specific interrupt notification signals to said plurality of processors.
Claim 20
Dependent Claim 218 words
In a computer system, a method for dynamically directing a multiplicity of interrupts of unequal priority to any of a plurality of processors, each processor having a predetermined identification code, said identification code identifying that processor, said method comprising the steps of: receiving a plurality of assigned priority interrupt signals; variably blocking said assigned priority interrupt signals and producing therefrom a plurality of masked priority interrupt signals; providing steering means for directing said plurality of assigned priority interrupt signals to a current interrupt target processor, said steering means having an input connected to receive said plurality of masked priority interrupt signals; providing a target interrupt processor identification register coupled to said steering means for identifying said current interrupt target processor, said target interrupt processor identification register accessible to the processors, said processors programming the target interrupt processor identification register with the identification code of one of the processors to designate that processor as a target interrupt processor; receiving said processor-specific interrupt notification signals; receiving a plurality of soft interrupts generated by any of said plurality of processors; generating a plurality of timed interrupts for any of said plurality of processors; converting said processor-specific interrupt notification signals into a plurality of encoded processor-specific interrupt notification signals; and, transmitting said encoded processor-specific interrupt notification signals to said plurality of processors.
Claim 21
Dependent Claim 19 words
The method as set forth in claim 17, wherein said assigned priority interrupt signals are received by a register.
Claim 22
Dependent Claim 35 words
The method as set forth in claim 17, wherein variably blocking said assigned priority interrupt signals and producing therefrom a plurality of masked priority interrupt signals is accomplished by masking said assigned priority interrupt signals.
Claim 23
Dependent Claim 29 words
The method as set forth in claim 19, wherein masking said assigned priority interrupt signals is accomplished by setting at least one bit in an interrupt target mask register.
Claim 24
Dependent Claim 27 words
The method as set forth in claim 20, wherein providing said target interrupt processor identification register further comprises storing a code identifying said current interrupt target processor.
Claim 25
Dependent Claim 40 words
The interrupt steering system as set forth in claim 17, wherein receiving said processor-specific interrupt notification signals further comprises providing broadcast interrupt receiving means coupled to said plurality of system devices for receiving a plurality of highest priority interrupt signals.
Claim 26
Dependent Claim 31 words
The method as set forth in claim 17, wherein converting said processor-specific interrupt notification signals into a plurality of encoded processor-specific interrupt notification signals comprises providing a plurality of priority encoders.

References Cited (Backward Citations)

US4124888A Cited
US4271468A Cited
US4349873A Cited
US4604500A Cited
US4644465A Cited
US4769768A Cited
US4779195A Cited
US4796176A Cited
US4843541A Cited
US5133056A Cited
US5287523A Cited
US5283904A Cited
US5222215A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1999-09-24 2000-03-25 2000-09-24 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2003-09-24 2004-03-25 2004-09-24 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2007-09-24 2008-03-25 2008-09-24 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag