IP Library Granted Patent US 7,793,025
Granted Patent B2
US 7,793,025 · App. 12/057,989 · Granted Sep 7, 2010

Hardware managed context sensitive interrupt priority level control

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 7,793,025
App. No.
12/057,989
Granted
Sep 7, 2010
Kind
B2
Abstract

A flexible interrupt controller circuit and methodology are provided which use an interrupt circuit ( 300 ) that multiplexes ( 324 ) a plurality of interrupt priority registers ( 321, 322 ) based on the current context of the system that is identified in mode control selector ( 326 ). By using the mode control selector ( 326 ) to selectively couple different priority level assignments to a priority encoding module ( 330 ), context sensitive switching of the priority levels assigned to each interrupt request can be implemented with reduced latency. The context switch could be based on an OS context ID, power management modes, security modes, and other system defined modes where priority levels would differ. The selected priority level information is used to provide an interrupt request signal ( 332 ) which will cause an interrupt to occur in the data processing system.

Claims (37)

1. A method for implementing interrupts in a data processing system, comprising:

receiving one or more interrupt requests from one or more interrupt sources;

selectively masking the one or more interrupt requests to generate one or more pending interrupt signals;

providing a plurality of interrupt priority storage devices comprising a first interrupt priority storage device for storing priority level information associated with a first system mode, and a second interrupt priority storage device for storing priority level information associated with a second system mode; and

providing a plurality of interrupt priority storage devices comprising a first interrupt priority storage device for storing priority level information associated with a first system mode for each of the one or more interrupt requests, and a second interrupt priority storage device for storing priority level information associated with a second system mode for each of the one or more interrupt requests; and

selectively coupling, in response to a mode control signal, one of the plurality of interrupt priority storage devices to provide logic circuitry with priority level information corresponding to the mode control signal, where the logic circuitry uses the provided priority level information to prioritize one or more of the pending interrupt signals and also provides an interrupt request signal which will cause an interrupt to occur in the data processing system.

2. The method of claim 1 , where providing the plurality of interrupt priority storage devices comprises providing a first interrupt priority storage device for storing priority level information associated with a low power system mode, and providing a second interrupt priority storage device for storing priority level information associated with a normal power system mode.

3. The method of claim 1 , where providing the plurality of interrupt priority storage devices comprises providing a first interrupt priority storage device for storing priority level information associated with a high security system mode, and providing a second interrupt priority storage device for storing priority level information associated with a low security system mode.

4. The method of claim 1 , where selectively coupling, in response to a mode control signal, one of the plurality of interrupt priority storage devices to provide logic circuitry with priority level information, comprises:

providing a multiplexer circuit having a plurality of inputs, where each of the plurality of inputs is coupled to receive priority level information from one of the plurality of interrupt priority storage devices, and

applying a mode control signal as a control input to the multiplexer circuit to select priority level information from one of the plurality of interrupt priority storage devices as an output to the multiplexer circuit that is provided to the logic circuitry.

5. The method of claim 1 , further comprising selectively coupling, in response to a second mode control signal, a second one of the plurality of interrupt priority storage devices to provide the logic circuitry with different priority level information corresponding to the second mode control signal, where the logic circuitry uses the different priority level information to prioritize one or more of the pending interrupt signals and provide an interrupt request signal which will cause an interrupt to occur in the data processing system.

6. The method of claim 1 , where the first interrupt priority storage device stores first priority level information associated with a first system mode, and the second interrupt priority storage device stores second priority level information associated with a second system mode that is different from the first priority level information.

7. The method of claim 1 , where providing the plurality of interrupt priority storage devices comprises storing one or more multi-bit priority level indications in each of the plurality of interrupt priority storage devices.

8. The method of claim 1 , where providing the plurality of interrupt priority storage devices comprises storing one or more multi-bit priority level indications in each of the plurality of interrupt priority storage devices, where each multi-bit priority level indication is assigned to a corresponding pending interrupt signal.

9. A data processing system, comprising:

at least a first interrupt source for generating a pending interrupt request;

a plurality of interrupt priority storage devices comprising a first interrupt priority storage device for storing priority level information associated with a first system mode, and a second interrupt priority storage device for storing priority level information associated with a second system mode;

a selection circuit coupled to the plurality of interrupt priority storage devices for outputting selected priority level information in response to a mode control signal; and

a priority encoder coupled to receive the pending interrupt request and the selected priority level information, where the priority encoder uses the selected priority level information to prioritize the pending interrupt request and also provides a prioritized interrupt request signal which will cause an interrupt to occur in the data processing system.

10. The data processing system of claim 9 , where the first interrupt source is located in a peripheral module which comprises the plurality of interrupt priority storage devices and the selection circuit.

11. The data processing system of claim 9 , where the at least a first interrupt source comprises a plurality of interrupt sources for generating a plurality of pending interrupt requests.

12. The data processing system of claim 11 , comprising a centralized interrupt control circuit which comprises the plurality of interrupt priority storage devices, the selection circuit and the priority encoder coupled to receive the plurality of pending interrupt requests and the selected priority level information, where the priority encoder uses the selected priority level information to prioritize the plurality of pending interrupt requests and provide a prioritized interrupt request signal which will cause an interrupt to occur in the data processing system.

13. The data processing system of claim 9 , further comprising a masking logic device coupled to receive an interrupt request from the first interrupt source and also coupled to receive one or more masking bits from an enable register, where the masking logic device generates the pending interrupt request by selectively masking the interrupt request with the one or more masking bits.

14. The data processing system of claim 9 , wherein the plurality of interrupt priority storage devices are each implemented as latch circuits.

15. The data processing system of claim 9 , where the plurality of interrupt priority storage devices comprises a first interrupt priority storage device for storing priority level information associated with a low power system mode, and a second interrupt priority storage device for storing priority level information associated with a normal power system mode.

16. The data processing system of claim 9 , where the plurality of interrupt priority storage devices comprises a first interrupt priority storage device for storing priority level information associated with a high security system mode, and a second interrupt priority storage device for storing priority level information associated with a low security system mode.

17. A method for implementing interrupts in a data processing system, comprising:

generating one or more pending interrupt requests from one or more interrupt sources, each pending interrupt request indicating an interrupt request from a different interrupt source;

storing a plurality of sets of priority levels in one or more storage devices, where each set of priority levels is associated with a different system mode and specifies a priority level for each potential pending interrupt request;

coupling a priority encoder circuit to the one or more storage devices to receive a first set of priority levels from the plurality of sets of priority levels in response to a mode control signal, where the priority encoder circuit uses the first set of priority levels to prioritize the one or more of the pending interrupt requests; and

generating at the priority encoder circuit an interrupt request signal which will cause an interrupt to occur in the data processing system, thereby dynamically changing prioritization of servicing of the pending interrupt requests in the data processing system.

18. The method of claim 17 , where generating one or more pending interrupt requests comprises masking the one or more interrupt requests to selectively pass pending interrupt requests to the priority encoder circuit in response to an enable signal.

19. The method of claim 17 , where coupling the priority encoder circuit to the one or more storage devices comprises:

providing a selection circuit having a plurality of inputs, where each of the plurality of inputs is coupled to receive a set of priority levels from the one or more storage devices, and

applying a mode control signal as a control input to the selection circuit to select a set of priority levels from one or more storage devices as an output to the selection circuit that is provided to the priority encoder.

20. The method of claim 17 , where storing a plurality of sets of priority levels in one or more storage devices comprises storing one or more multi-bit priority level indications that are associated with a first system mode in a first storage device, where each multi-bit priority level indication is assigned to a corresponding potential pending interrupt request.

Assignments (24)
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040925 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Feb 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V. F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 052917/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040928 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Jan 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 052915/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 037486 FRAME 0517. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS. Recorded Dec 10, 2019
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 053547/0421 →
RELEASE OF SECURITY INTEREST Recorded Sep 10, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 050744/0097 →
CORRECTIVE ASSIGNMENT TO CORRECT THE TO CORRECT THE APPLICATION NO. FROM 13,883,290 TO 13,833,290 PREVIOUSLY RECORDED ON REEL 041703 FRAME 0536. ASSIGNOR(S) HEREBY CONFIRMS THE THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS.. Recorded Feb 20, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: SHENZHEN XINGUODU TECHNOLOGY CO., LTD.
Reel/Frame 048734/0001 →
RELEASE OF SECURITY INTEREST Recorded Feb 20, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 048387/0771 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 15, 2019
From: NXP USA, INC.
To: VLSI TECHNOLOGY LLC
Reel/Frame 048348/0406 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE PATENTS 8108266 AND 8062324 AND REPLACE THEM WITH 6108266 AND 8060324 PREVIOUSLY RECORDED ON REEL 037518 FRAME 0292. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS. Recorded Feb 1, 2017
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 041703/0536 →
CORRECTIVE ASSIGNMENT TO CORRECT THE NATURE OF CONVEYANCE LISTED CHANGE OF NAME SHOULD BE MERGER AND CHANGE PREVIOUSLY RECORDED AT REEL: 040652 FRAME: 0180. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER AND CHANGE OF NAME. Recorded Jan 12, 2017
From: FREESCALE SEMICONDUCTOR INC.
To: NXP USA, INC.
Reel/Frame 041354/0148 →
CHANGE OF NAME Recorded Nov 8, 2016
From: FREESCALE SEMICONDUCTOR INC.
To: NXP USA, INC.
Reel/Frame 040652/0180 →
RELEASE OF SECURITY INTEREST Recorded Nov 7, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 040928/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 21, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V., F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 040925/0001 →
SUPPLEMENT TO THE SECURITY AGREEMENT Recorded Jun 16, 2016
From: FREESCALE SEMICONDUCTOR, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 039138/0001 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 13, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037518/0292 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 12, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037486/0517 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037354/0688 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037356/0143 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037356/0553 →
SECURITY AGREEMENT Recorded Nov 6, 2013
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 031591/0266 →
SECURITY AGREEMENT Recorded Jun 18, 2013
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 030633/0424 →
SECURITY AGREEMENT Recorded May 13, 2010
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 024397/0001 →
SECURITY AGREEMENT Recorded Mar 15, 2010
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A.
Reel/Frame 024085/0001 →
SECURITY AGREEMENT Recorded Jul 7, 2008
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A.
Reel/Frame 021194/0593 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 28, 2008
From: EHRLICH, ROBERT; MURDOCK, BRETT W.; SHAW, CRAIG D.
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 020720/0524 →