IP Library Granted Patent US 6,904,513
Granted Patent B1
US 6,904,513 · App. 10/884,666 · Granted Jun 7, 2005

Stack utilization management system and method for a single-stack arrangement

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 6,904,513
App. No.
10/884,666
Granted
Jun 7, 2005
Kind
B1
Abstract

A system and method for managing utilization in a stack. A stack base and a stack pointer are initialized for the stack. Upon fetching a program instruction to be executed in a computing environment, a determination is made if the program instruction involves accessing a location within a valid stack range that is defined by a high water mark operable to identify the stack pointer's farthest location from the stack base. The farthest location is indicative of how far the stack has grown at any time during the program's execution. A warning may be provided upon determining that the location to be accessed is not within the valid stack range.

Claims (22)

1. A method for managing utilization of a stack, comprising:

initializing a stack base and a stack pointer for said stack;

upon fetching a program instruction to be executed in a computing environment, determining if said program instruction involves accessing a location within a valid stack range in said stack, said valid stack range being defined by a high water mark operable to identify said stack pointer's farthest location from said stack base, wherein said farthest location is indicative of how far said stack has grown at any time during said program's execution; and

providing a warning upon determining that said location to be accessed is not within said valid stack range.

2. The method for managing utilization of a stack as set forth in claim 1 , wherein said computing environment comprises an architectural simulator operable to simulate a target hardware platform.

3. The method for managing utilization of a stack as set forth in claim 2 , wherein said target hardware platform is selected from the group consisting of a symmetric multiprocessing system, an asymmetric multiprocessing system, a loosely-coupled multiprocessing system, and a tightly-coupled multiprocessing system.

4. The method for managing utilization of a stack as set forth in claim 1 , wherein said valid stack range is bounded by said stack base and said high water mark.

5. The method for managing utilization of a stack as set forth in claim 1 , further comprising returning control to a user upon determining that said location to be accessed is not within said valid stack range.

6. The method for managing utilization of a stack as set forth in claim 1 , wherein said program instruction is operable to perform a read access with respect to said stack.

7. The method for managing utilization of a stack as set forth in claim 1 , wherein said program instruction is operable to perform a write access with respect to said stack.

8. The method for managing utilization of a stack as set forth in claim 1 , further comprising returning control to an interrupt handler upon determining that said location to be accessed is not within said valid stack range.

9. The method for managing utilization of a stack as set forth in claim 1 , further comprising specifying a direction of growth for said stack.

10. The method for managing utilization of a stack as set forth in claim 1 , further comprising defining a fixed stack marker for said stack.

11. The method for managing utilization of a stack as set forth in claim 10 , further comprising comparing said high water mark against said fixed stack marker.

12. A system for managing utilization of a stack, comprising:

means for initializing a stack base and a stack pointer for said stack in a computing environment;

means for determining if a program instruction operable to be executed in said computing environment involves accessing a location within a valid stack range in said stack, said valid stack range being defined by a high water mark operable to identify said stack pointer's farthest location from said stack base, wherein said farthest location is indicative of how far said stack has grown at any time during said program's execution; and

means for providing a warning upon determining that said location to be accessed is not within said valid stack range.

13. The system for managing utilization of a stack as set forth in claim 12 , further comprising means for returning control to one of an interrupt handler and a user upon determining that said location to be accessed is not within a valid stack range associated with said stack.

14. The system for managing utilization of a stack as set forth in claim 12 , wherein said valid stack range is bounded by said stack base and said high water mark.

15. The system for managing utilization of a stack as set forth in claim 12 , wherein said computing environment comprises an architectural simulator operable to simulate a target hardware platform.

16. The system for managing utilization of a stack as set forth in claim 15 , wherein said target hardware platform is selected from the group consisting of a symmetric multiprocessing system, an asymmetric multiprocessing system, a loosely-coupled multiprocessing system, and a tightly-coupled multiprocessing system.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 24, 2021
From: OT PATENT ESCROW, LLC
To: VALTRUS INNOVATIONS LIMITED
Reel/Frame 055403/0001 →
PATENT ASSIGNMENT, SECURITY INTEREST, AND LIEN AGREEMENT Recorded Jan 26, 2021
From: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP; HEWLETT PACKARD ENTERPRISE COMPANY
To: OT PATENT ESCROW, LLC
Reel/Frame 055269/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2015
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 037079/0001 →