IP Library Granted Patent US 11,740,902
Granted Patent B2
US 11,740,902 · App. 17/982,794 · Granted Aug 29, 2023

Apparatus and method for configuring sets of interrupts

Inventors: Yogesh Deshpande (Belgaum, IN); Pandurang V. Deshpande (Bangalore, IN)
Assignee: Intel Corporation
G06F9/30058G06F9/3861G06F9/4812G06F9/4856G06F13/24G06F9/30145G06F9/4881G06F2209/483
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,740,902
App. No.
17/982,794
Granted
Aug 29, 2023
Kind
B2
Abstract

An apparatus and method are described for efficiently processing and reassigning interrupts. For example, one embodiment of an apparatus comprises: a plurality of cores; and an interrupt controller to group interrupts into a plurality of interrupt domains, each interrupt domain to have a set of one or more interrupts assigned thereto and to map the interrupts in the set to one or more of the plurality of cores.

Claims (42)

1. A system comprising:

a plurality of cores;

an interrupt controller coupled with the plurality of cores, the interrupt controller to receive a first interrupt request, the interrupt controller having a split design, the split design including:

a first component not local to the plurality of cores, the first component to:

access a first map to determine a first interrupt domain to which the first interrupt request is mapped, the first map to have a plurality of entries to map a plurality of different interrupt requests to corresponding interrupt domains, the entries having interrupt domain fields of at least four bits to identify the interrupt domains, wherein a plurality of different interrupts corresponding to a plurality of different interrupt requests are mapped to the first interrupt domain; and

access a second map to determine a destination core of the plurality of cores to which the first interrupt domain is mapped, the second map to have a plurality of entries to map a plurality of different interrupt domains to corresponding destination cores of the plurality of cores; and

a second component local to the plurality of cores, the second component to forward an interrupt corresponding to the first interrupt request to the destination core based at least in part on a priority associated with the destination core,

wherein the interrupt controller supports an interrupt bypassing a mapping of the interrupt to an interrupt domain by the first component; and

a bridge to couple the plurality of cores to a data storage.

2. The system of claim 1 , wherein the interrupt controller supports a write operation to the second map to remap the first interrupt domain from the destination core to another destination core, and the system further comprising an input device coupled with the plurality of cores.

3. The system of claim 1 , wherein the interrupt controller supports at least sixteen interrupt domains, and the system further comprising an output device coupled with the plurality of cores.

4. The system of claim 1 , wherein an entry of the first map has one bit to provide a physical versus virtual indication.

5. The system of claim 1 , wherein the interrupt controller comprises a storage to store at least one of the entries of the first map.

6. The system of claim 1 , wherein the interrupt controller comprises a storage to store at least one of the entries of the second map.

7. The system of claim 1 , wherein the first component is to access a destination address field in an entry of the second map to determine an address of the destination core.

8. The system of claim 1 , further comprising a Peripheral Component Interconnect Express (PCIe) bus coupled with the plurality of cores.

9. The system of claim 1 , further comprising a network interface coupled with the plurality of cores.

10. A system comprising:

one or more shared caches;

a plurality of cores coupled with the one or more shared caches; and

an interrupt controller coupled with the plurality of cores, the interrupt controller to receive a first interrupt request, the interrupt controller having a split design, the split design including:

a first component not local to the plurality of cores, the first component to:

access a first map to determine a first interrupt domain to which the first interrupt request is mapped, the first map to have a plurality of entries to map a plurality of different interrupt requests to corresponding interrupt domains, the entries having interrupt domain fields of at least four bits to identify the interrupt domains, wherein a plurality of different interrupts corresponding to a plurality of different interrupt requests are mapped to the first interrupt domain; and

access a second map to determine a destination core of the plurality of cores to which the first interrupt domain is mapped, the second map to have a plurality of entries to map a plurality of different interrupt domains to corresponding destination cores of the plurality of cores; and

a second component local to the plurality of cores, the second component to forward an interrupt corresponding to the first interrupt request to the destination core based at least in part on a priority associated with the destination core,

wherein the interrupt controller supports an interrupt bypassing a mapping of the interrupt to an interrupt domain by the first component.

11. The system of claim 10 , wherein the interrupt controller supports a write operation to the second map to remap the first interrupt domain from the destination core to another destination core, and the system further comprising an input device coupled with the plurality of cores.

12. The system of claim 10 , wherein the interrupt controller supports at least sixteen interrupt domains, and the system further comprising an output device coupled with the plurality of cores.

13. The system of claim 10 , wherein an entry of the first map has one bit to provide a physical versus virtual indication.

14. The system of claim 10 , wherein the interrupt controller comprises a storage to store at least one of the entries of the first map.

15. The system of claim 10 , wherein the interrupt controller comprises a storage to store at least one of the entries of the second map.

16. The system of claim 10 , wherein the first component is to access a destination address field in an entry of the second map to determine an address of the destination core.

17. A system on a chip (SoC) comprising:

an interrupt controller, the interrupt controller to receive a first interrupt request, the interrupt controller having a split design, the split design including:

a first component not local to a plurality of cores, the first component to:

access a first map to determine a first interrupt domain to which the first interrupt request is mapped, the first map to have a plurality of entries to map a plurality of different interrupt requests to corresponding interrupt domains, the entries having interrupt domain fields of at least four bits to identify the interrupt domains, wherein a plurality of different interrupts corresponding to a plurality of different interrupt requests are mapped to the first interrupt domain; and

access a second map to determine a destination core of the plurality of cores to which the first interrupt domain is mapped, the second map to have a plurality of entries to map a plurality of different interrupt domains to corresponding destination cores of the plurality of cores; and

a second component local to the plurality of cores, the second component to forward an interrupt corresponding to the first interrupt request to the destination core based at least in part on a priority associated with the destination core,

wherein the interrupt controller supports an interrupt bypassing a mapping of the interrupt to an interrupt domain by the first component.

18. The system on a chip (SoC) of claim 17 , wherein the interrupt controller supports a write operation to the second map to remap the first interrupt domain from the destination core to another destination core.

19. The system on a chip (SoC) of claim 17 , wherein the interrupt controller supports at least sixteen interrupt domains, and wherein the first component is to access a destination address field in an entry of the second map to determine an address of the destination core.

20. The system on a chip (SoC) of claim 17 , wherein the interrupt controller comprises a storage to store at least one of at least one of the entries of the first map and at least one of the entries of the second map.

Priority Claims (2)
IN 4721/CHE/2014 · Sep 26, 2014 · national
IN 4721/CHE/2014 · Jan 6, 2015 · national
Continuity (4)
Continuation 17159415 · Jan 27, 2021
Continuation 16255438 · Jan 23, 2019
Continuation 14861618 · Sep 22, 2015
Related Publication 20230070764A1 · Mar 9, 2023