Claims Analysis
Total Claims: 14
Claim 1
Independent Claim
186 words
A computer system comprising: a) a processor for servicing interrupts; b) N data conductors, each data conductor corresponding to an interrupt channel; c) a plurality of devices coupled to the N data conductors, each device coupled to at least one of said data conductors and capable of asserting an interrupt request on at least one of the data conductors; and d) an interrupt handler unit (IHU) coupled to the processor via the N data conductors for handling interrupts, said IHU including an in-progress stack, said in-progress stack for storing information associated with an interrupt that is currently being serviced by the processor, said IHU polling and arbitrating interrupts in every time window; wherein in each time window, N interrupt channels are processed, said computer system having N×M time-multiplexed interrupt channels, said computer system having a state signal indicative of the time window currently being processed, each device capable of asserting an interrupt request on at least one of the data conductors, said devices sending the interrupt request signal in a predetermined time window and receiving an acknowledge from the IHU in the same predetermined time window.
Claim 2
Dependent Claim
186 words
A computer system comprising: a) a processor for servicing interrupts; b) N data conductors, each data conductor corresponding to an interrupt channel; c) a plurality of devices coupled to the N data conductors, each device coupled to at least one of said data conductors and capable of asserting an interrupt request on at least one of the data conductors; and d) an interrupt handler unit (IHU) coupled to the processor via the N data conductors for handling interrupts, said IHU including an in-progress stack, said in-progress stack for storing information associated with an interrupt that is currently being serviced by the processor, said IHU polling and arbitrating interrupts in every time window; wherein in each time window, N interrupt channels are processed, said computer system having N×M time-multiplexed interrupt channels, said computer system having a state signal indicative of the time window currently being processed, each device capable of asserting an interrupt request on at least one of the data conductors, said devices sending the interrupt request signal in a predetermined time window and receiving an acknowledge from the IHU in the same predetermined time window.
Claim 3
Dependent Claim
67 words
The interrupt controller of claim 1, wherein the IHU further includes: an interrupt-in-wait register for storing information associated with an interrupt-in-wait, said interrupt-in-wait having a priority greater than the priority of the in-progress interrupt; and a priority resolver for tracking the interrupt-in-wait and if the priority of an interrupt in the time window is greater than the priority of the interrupt-in-wait, replacing the interrupt-in-wait with that interrupt.
Claim 4
Dependent Claim
215 words
In a computer system having a processor for servicing interrupts, an interrupt handler unit (IHU) coupled to the processor for handling interrupts, said IHU including a register for storing information associated with an interrupt-in-wait, said information including the priority of the interrupt-in-wait, a plurality of interrupt channels, grouped into a plurality of windows, and a plurality of devices coupled to the IHU via the plurality of interrupt channels, a method for processing interrupts comprising the steps of: for each window a) polling the interrupt channels of a current window; b) determining whether or not the priority of the interrupt of the interrupt channels of the current window is greater than the priority of the interrupt-in-wait; c) if yes, posting an interrupt request to the processor, updating the interrupt-in-wait register with information associated with the interrupt of the current window that had a priority exceeding the priority of the interrupt-in-wait; d) if no, proceeding to a next window; wherein in each time window, N interrupt channels are processed, said computer system having N×M time-multiplexed interrupt channels, said computer system having a state signal indicative of the time window currently being processed, each device sending an interrupt request signal in a predetermined time window and receiving an acknowledge from the IHU in the same predetermined time window.
Claim 5
Dependent Claim
215 words
In a computer system having a processor for servicing interrupts, an interrupt handler unit (IHU) coupled to the processor for handling interrupts, said IHU including a register for storing information associated with an interrupt-in-wait, said information including the priority of the interrupt-in-wait, a plurality of interrupt channels, grouped into a plurality of windows, and a plurality of devices coupled to the IHU via the plurality of interrupt channels, a method for processing interrupts comprising the steps of: for each window a) polling the interrupt channels of a current window; b) determining whether or not the priority of the interrupt of the interrupt channels of the current window is greater than the priority of the interrupt-in-wait; c) if yes, posting an interrupt request to the processor, updating the interrupt-in-wait register with information associated with the interrupt of the current window that had a priority exceeding the priority of the interrupt-in-wait; d) if no, proceeding to a next window; wherein in each time window, N interrupt channels are processed, said computer system having N×M time-multiplexed interrupt channels, said computer system having a state signal indicative of the time window currently being processed, each device sending an interrupt request signal in a predetermined time window and receiving an acknowledge from the IHU in the same predetermined time window.
Claim 6
Dependent Claim
94 words
The method of claim 3 wherein said computer system further includes an in-progress stack for storing information associated with an in-progress interrupt, said in-progress interrupt currently being serviced by the processor; said method further comprising the steps of: a) determining if an interrupt acknowledge is received from the processor; b) if yes, pushing information associated with the interrupt-in-wait onto the in-progress stack; providing an interrupt service routine (ISR) vector to the processor; and acknowledging the interrupt source in a window corresponding to the window in which the request from the interrupt source was generated.
Claim 7
Dependent Claim
56 words
The method of claim 4 further comprising the steps of: a) if an interrupt acknowledge is not received from the processor, determining if a write to the interrupt priority registers and interrupt enable registers occurred; b) if the determination in processing step a) is yes, withdrawing an interrupt request to the processor, and discarding the interrupt-in-wait.
Claim 8
Dependent Claim
56 words
The method of claim 5 further comprising the steps of: a) if a write to the interrupt priority registers and interrupt enable registers has not occurred, determining if a return from interrupt has occurred; b) if yes, popping the in-progress stack and continuing processing in the next window, c) else, continue processing in the next window.
Claim 9
Dependent Claim
248 words
In a computer system having a processor for servicing interrupts, an interrupt handler unit (IHU) coupled to the processor for handling interrupts, said IHU including an in-progress stack for storing information associated with an interrupt that is currently being serviced by the processor, a plurality of devices coupled to the IHU via N interrupt channels, said computer system configured to have M time windows, a method for processing interrupts comprising the steps of: in each of the time windows a) polling the interrupt channels associated with a current time window; b) determining a current highest priority interrupt for the current time window; c) sending an interrupt to the processor if the current highest priority interrupt is a higher priority then the interrupt that is currently being serviced by the processor; d) storing the current highest priority interrupt as an interrupt-in-wait if it interrupts the processor before an interrupt acknowledge is received for a preceding interrupt; e) moving to a next time window; wherein in each time window N interrupt channels are processed, said computer system having N×M time-multiplexed interrupt channels, said computer system having a state signal indicative of the time window currently being processed, said plurality of devices, each coupled to at least one of said interrupt channels for asserting an interrupt request on at least one of the interrupt channels, said devices sending the interrupt request in a predetermined time window and receiving an acknowledge from the interrupt handler unit in the same predetermined time window.
Claim 10
Dependent Claim
248 words
In a computer system having a processor for servicing interrupts, an interrupt handler unit (IHU) coupled to the processor for handling interrupts, said IHU including an in-progress stack for storing information associated with an interrupt that is currently being serviced by the processor, a plurality of devices coupled to the IHU via N interrupt channels, said computer system configured to have M time windows, a method for processing interrupts comprising the steps of: in each of the time windows a) polling the interrupt channels associated with a current time window; b) determining a current highest priority interrupt for the current time window; c) sending an interrupt to the processor if the current highest priority interrupt is a higher priority then the interrupt that is currently being serviced by the processor; d) storing the current highest priority interrupt as an interrupt-in-wait if it interrupts the processor before an interrupt acknowledge is received for a preceding interrupt; e) moving to a next time window; wherein in each time window N interrupt channels are processed, said computer system having N×M time-multiplexed interrupt channels, said computer system having a state signal indicative of the time window currently being processed, said plurality of devices, each coupled to at least one of said interrupt channels for asserting an interrupt request on at least one of the interrupt channels, said devices sending the interrupt request in a predetermined time window and receiving an acknowledge from the interrupt handler unit in the same predetermined time window.
Claim 11
Dependent Claim
39 words
The method of claim 7, wherein a time window includes a first phase and a second phase, said polling of the interrupt channels occurring in the second phase; and said arbitration of the interrupts occurring in the first phase.
Claim 12
Dependent Claim
23 words
The method of claim 7, wherein N is equal to 3, M is equal to 4 and there are twelve time-multiplexed interrupt channels.
Claim 13
Dependent Claim
17 words
The method of claim 7, further comprising the step of initializing the interrupt-in-wait with the interrupt in-progress.
Claim 14
Dependent Claim
28 words
The method of claim 7, further comprising the step of generating an interrupt request to the processor for the interrupt-in-wait upon receiving an interrupt acknowledge from the processor.