Multiprocessor programmable interrupt controller system adapted to functional redundancy checking processor systems
First Claim
1. A multiprocessor programmable interrupt controller system for operation in a multiprocessor system having a common system bus, at least one I/O peripheral subsystem with a set of interrupt request signal lines, and at least two processor units, one processor unit being a functional redundancy checking (FRC) unit having a master processor and a checker processor operating with common core and CPU bus clocks, the multiprocessor programmable interrupt controller system comprising:
- a) an interrupt bus synchronizing clock signal with a rate that is less than one half the common core clock rate;
b) a synchronous interrupt bus for transmitting the interrupt bus synchronizing clock signal, for interrupt request data communication, and for arbitration messages for control of the interrupt bus;
c) an interrupt delivery unit (IDU) connected to the interrupt bus comprising;
i) a set of interrupt request signal input pins for accepting interrupt request signals from a set of I/O peripheral interrupt request lines, an interrupt request signal indicated by activating a corresponding input pin,ii) a redirection table, coupled to the interrupt request signal input lines, for selecting an interrupt request message corresponding to the active input lines, the interrupt request message comprising an interrupt vector containing interrupt priority level, servicing mode, and processor selection information,iii) means, coupled to the redirection table and to the interrupt bus, for broadcasting the redirection table interrupt message on the interrupt bus, andiv) means, coupled to the interrupt bus, for arbitrating for control of the interrupt bus; and
d) an interrupt acceptance unit (IAU) connected to the interrupt bus and to an associated processor unit comprising;
i) means for receiving interrupt request messages that have been broadcast on the interrupt bus,ii) means for accepting interrupt requests for which the associated processor is eligible to service,iii) means for pending accepted interrupt request messages until the associated processor is available to service the interrupt request,iv) means for broadcasting interrupt request messages from its associated processor unit on the interrupt bus,v) means for arbitrating control of the interrupt bus connected to the interrupt bus,vi) means for lowest priority mode arbitration on the interrupt bus between IAUs eligible to service a given interrupt request, wherein an IAU associated with an eligible processor operating on a task of lowest priority relative to all other eligible processors is selected to service the given interrupt request, andvii) means for synchronizing IAU-accepted interrupt request messages with the associated processor core clock.
1 Assignment
0 Petitions
Accused Products
Abstract
A multiprocessor programmable interrupt controller system, for use in a multiprocessor system in which one processor unit is a functional redundant checking (FRC) unit, has a synchronous interrupt bus, distinct from the system (memory) bus, with an interrupt bus clock that has a frequency that is a subharmonic of the FRC unit master CPU clock, for handling interrupt request (IRQ) related messages and maintaining synchronism between the master and checker CPUs of the FRC unit. Additional embodiments provide for the use of D-type flip-flop synchronizers to accommodate FRC units whose internal (core) clock or external bus clock are not harmonically related to the interrupt clock frequency. Each processor unit has an interrupt acceptance unit (IAU) coupled to the interrupt bus for the acceptance of IRQs and for broadcasting of IRQs generated by its associated on-chip processor. I/O device interrupt lines are connected to one or more interrupt delivery units (IDUs) that are each coupled to the interrupt bus for broadcasting of I/O-generated IRQs. The interrupt bus is a synchronous three-wire bus having one clock wire and two data wires for 2-bit parallel-serial data transmission. Arbitration for control of the interrupt bus by the IAUs and IDUs uses one of the data wires. Lowest priority IRQ delivery mode uses a similar one-wire arbitration procedure for determining which IAU has the lowest current priority task running in its associated on-chip processor. A modification to the lowest priority mode arbitration procedure also provides for uniform distribution of IRQs to eligible processors. The actual servicing of the IRQs is done by means of the system bus.
-
Citations
15 Claims
-
1. A multiprocessor programmable interrupt controller system for operation in a multiprocessor system having a common system bus, at least one I/O peripheral subsystem with a set of interrupt request signal lines, and at least two processor units, one processor unit being a functional redundancy checking (FRC) unit having a master processor and a checker processor operating with common core and CPU bus clocks, the multiprocessor programmable interrupt controller system comprising:
-
a) an interrupt bus synchronizing clock signal with a rate that is less than one half the common core clock rate; b) a synchronous interrupt bus for transmitting the interrupt bus synchronizing clock signal, for interrupt request data communication, and for arbitration messages for control of the interrupt bus; c) an interrupt delivery unit (IDU) connected to the interrupt bus comprising; i) a set of interrupt request signal input pins for accepting interrupt request signals from a set of I/O peripheral interrupt request lines, an interrupt request signal indicated by activating a corresponding input pin, ii) a redirection table, coupled to the interrupt request signal input lines, for selecting an interrupt request message corresponding to the active input lines, the interrupt request message comprising an interrupt vector containing interrupt priority level, servicing mode, and processor selection information, iii) means, coupled to the redirection table and to the interrupt bus, for broadcasting the redirection table interrupt message on the interrupt bus, and iv) means, coupled to the interrupt bus, for arbitrating for control of the interrupt bus; and d) an interrupt acceptance unit (IAU) connected to the interrupt bus and to an associated processor unit comprising; i) means for receiving interrupt request messages that have been broadcast on the interrupt bus, ii) means for accepting interrupt requests for which the associated processor is eligible to service, iii) means for pending accepted interrupt request messages until the associated processor is available to service the interrupt request, iv) means for broadcasting interrupt request messages from its associated processor unit on the interrupt bus, v) means for arbitrating control of the interrupt bus connected to the interrupt bus, vi) means for lowest priority mode arbitration on the interrupt bus between IAUs eligible to service a given interrupt request, wherein an IAU associated with an eligible processor operating on a task of lowest priority relative to all other eligible processors is selected to service the given interrupt request, and vii) means for synchronizing IAU-accepted interrupt request messages with the associated processor core clock. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
Specification