IP Library Granted Patent US 10,019,395
Granted Patent B2
US 10,019,395 · App. 15/033,417 · Granted Jul 10, 2018

Processing system with stack management and method for stack management

Inventors: Dirk Heisswolf (Munich, DE); Andreas Ralph Pachl (Neubiberg, DE); Rafael Pena Bello (Munich, DE)
Assignee: NXP USA, Inc.
G06F13/26G06F9/30G06F13/24
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 10,019,395
App. No.
15/033,417
Granted
Jul 10, 2018
Kind
B2
Abstract

The invention provides a processing system, comprising a memory comprising a processor call stack; a stack space usage register configured to determine the stack space usage of the processor call stack and to store a usage parameter indicative of the determined stack space usage; a first threshold register configured to store a pre-determinable first stack level threshold; and a first comparator configured to compare the usage parameter with the first stack level threshold and to output a first interrupt blocking signal, if the usage parameter exceeds the first stack level threshold, the first interrupt blocking signal being configured to block the decoding of interrupt signals input to the processing system and having interrupt priorities lower than or equal to or just lower than a first interrupt priority threshold. The invention further provides a method for stack management, especially in a processing system.

Claims (37)

1. A processing system, comprising:

a memory comprising a processor call stack;

a stack space usage register configured to determine the stack space usage of the processor call stack and to store a usage parameter indicative of the determined stack space usage;

a first threshold register configured to store a pre-determinable first stack level threshold; and a first comparator configured to compare the usage parameter with the first stack level threshold and to output a first interrupt blocking signal when the usage parameter exceeds the first stack level threshold, the first interrupt blocking signal being configured to block the decoding of interrupt signals input to the processing system and having interrupt priorities lower than or equal to a first interrupt priority threshold.

2. The processing system of claim 1 , further comprising:

a second threshold register configured to store a pre-determinable second stack level threshold;

and a second comparator configured to compare the usage parameter with the second stack level threshold and to output a second interrupt blocking signal, if the usage parameter exceeds the second stack level threshold, the second interrupt blocking signal being configured to block the decoding of interrupt signals input to the processing system and having interrupt priorities lower than or equal to a second interrupt priority threshold, wherein the first interrupt priority threshold is higher than the second interrupt priority threshold.

3. The processing system of claim 1 , further comprising:

an execution and control unit configured to store processing information regarding functions and/or subroutines being executed in the processing system in the processor call stack.

4. The processing system of claim 3 , further comprising:

an interrupt arbiter coupled to the execution and control unit and configured to decode interrupt signals being input to the processing system.

5. The processing system of claim 4 , further comprising:

a first logic gate configured to be fed with the first interrupt blocking signal and the interrupt signals having interrupt priorities lower than the first interrupt priority threshold and to pass the interrupt signals depending on a logical operation with the first interrupt blocking signal.

6. The processing system of claim 1 , wherein the memory is a random access memory.

7. The processing system of claim 1 , wherein the usage parameter is one of a stack level pointer and a stack push operation count.

8. The processing system of claim 1 , wherein the difference between the first stack level threshold and a maximum processor call stack space is greater or equal to the size of an interrupt stack frame of interrupt signals having interrupt priorities of the first interrupt priority threshold.

9. A method for stack management in a processing system, the method comprising:

determining the stack space usage of the processor call stack in a memory of the processing system;

storing a usage parameter indicative of the determined stack space usage;

comparing the usage parameter with a pre-determinable first stack level threshold;

outputting a first interrupt blocking signal when the usage parameter exceeds the first stack level threshold; and

blocking the decoding of interrupt signals input to the processing system and having interrupt priorities lower than or equal to a first interrupt priority threshold depending on the first interrupt blocking signal.

10. The method of claim 9 , further comprising:

comparing the usage parameter with a pre-determinable second stack level threshold; and

outputting a second interrupt blocking signal, if the usage parameter exceeds the second stack level threshold; and

blocking the decoding of interrupt signals input to the processing system and having interrupt priorities lower than or equal to a second interrupt priority threshold depending on the second interrupt blocking signal,

wherein the first interrupt priority threshold is higher than the second interrupt priority threshold.

11. The method of claim 9 , wherein processing information regarding functions and/or subroutines being executed in the processing system is stored in the processor call stack.

12. The method of claim 9 , wherein the memory is a random access memory.

13. The method of claim 9 , wherein the usage parameter is one of a stack level pointer and a stack push operation count.

14. The method of claim 9 , wherein the difference between the first stack level threshold and a maximum processor call stack space is greater or equal to the size of an interrupt stack frame of interrupt signals having an interrupt priority of the first interrupt priority threshold.

15. A non-transitory computer readable medium storing computer readable instructions which, when executed on a processing system, cause the processing system to execute a process including:

determining the stack space usage of the processor call stack in a memory of the processing system;

storing a usage parameter indicative of the determined stack space usage;

comparing the usage parameter with a pre-determinable first stack level threshold;

outputting a first interrupt blocking signal, when the usage parameter exceeds the first stack level threshold; and

blocking the decoding of interrupt signals input to the processing system and having interrupt priorities lower than a first interrupt priority threshold depending on the first interrupt blocking signal.

Assignments (5)
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 NATURE OF CONVEYANCE PREVIOUSLY RECORDED AT REEL: 040626 FRAME: 0683. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER AND CHANGE OF NAME EFFECTIVE NOVEMBER 7, 2016. Recorded Jan 12, 2017
From: NXP SEMICONDUCTORS USA, INC. (MERGED INTO); FREESCALE SEMICONDUCTOR, INC. (UNDER)
To: NXP USA, INC.
Reel/Frame 041414/0883 →
CHANGE OF NAME Recorded Nov 16, 2016
From: FREESCALE SEMICONDUCTOR INC.
To: NXP USA, INC.
Reel/Frame 040626/0683 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 29, 2016
From: HEISSWOLF, DIRK; PACHL, ANDREAS RALPH; PENA BELLO, RAFAEL
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 038423/0711 →
Continuity (1)
Related Publication 20160292097A1 · Oct 6, 2016