Intelligent multiple stack management unit
First Claim
Patent Images
1. A stack management unit comprising:
- a plurality of register stacks organized as a frame stack and configured to store a corresponding plurality of frame portions and a corresponding plurality of stack pointer data, wherein said plurality of frame portions together comprise a frame and each of said plurality of stack pointer data indicate a position of a corresponding one of said frame portions in said plurality of stack registers;
a stack pointer register configured to store said plurality of stack pointer data during a call operation to said frame stack and a return operation from said frame stack; and
a control unit configured to control the storage of said frame in said frame stack and the storage of said plurality of stack pointer data in said stack pointer register during said call operation, and configured to retrieve said frame from said frame stack using said plurality of stack pointer data stored in said stack pointer register during said return operation.
0 Assignments
0 Petitions
Accused Products
Abstract
A stack management unit for a processing system that manages multiple stacks and corresponding stack pointer data as a frame stack. The stack management unit utilizes a combination of a primary stack and a secondary stack as the frame stack. A background spill/fill detect unit determines when an overflow/underflow of the primary stack occurs. In response to an overflow/underflow condition, the background spill/fill detect unit controls the transfer of a frame portion between the primary stack and the secondary stack without halting the processing system.
-
Citations
19 Claims
-
1. A stack management unit comprising:
-
a plurality of register stacks organized as a frame stack and configured to store a corresponding plurality of frame portions and a corresponding plurality of stack pointer data, wherein said plurality of frame portions together comprise a frame and each of said plurality of stack pointer data indicate a position of a corresponding one of said frame portions in said plurality of stack registers; a stack pointer register configured to store said plurality of stack pointer data during a call operation to said frame stack and a return operation from said frame stack; and a control unit configured to control the storage of said frame in said frame stack and the storage of said plurality of stack pointer data in said stack pointer register during said call operation, and configured to retrieve said frame from said frame stack using said plurality of stack pointer data stored in said stack pointer register during said return operation. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A stack management unit comprising:
-
a plurality of register stacks organized as a frame stack and configured to store a plurality of frames, each one of said plurality of frames having a plurality of frame portions, wherein each one of said plurality of register stacks is configured to store one of said plurality of frame portions for each of said plurality of frames, wherein said frame stack is configured as a primary stack and a secondary stack, and wherein each of said frame portions is comprised of a number of elements; and an overflow/underflow detector configured to detect a total number of elements stored in said primary stack and to produce a spill signal if the total number of elements stored in said primary stack exceeds an overflow limitation value, and configured to produce a fill signal if the total number of elements stored in said primary stack is less than an underflow limitation value, wherein said frame stack is configured to move a predetermined number of elements from said primary stack to said secondary stack in response to a received spill signal, and wherein said frame stack is configured to move said predetermined number of elements from said secondary stack to said primary stack in response to a received fill signal. - View Dependent Claims (11, 12)
-
-
13. A stack management unit comprising:
-
a plurality of register stacks organized as a frame stack and configured to store a plurality of frames, each one of said plurality of frames having a plurality of frame portions and a corresponding plurality of stack pointer data for indicating where said plurality of frame portions are located in said plurality of register stacks, wherein each one of a first subset of said plurality of register stacks is configured to store one of said plurality of frame portions for each of said plurality of frames and one of a second subset of said plurality of register stacks is configured to store said corresponding plurality of stack pointer data for each of said plurality of frames; a stack pointer register configured to store the plurality of stack pointer data corresponding to a top most frame of said plurality of frames during an access operation of said frame stack; and a control unit configured to control storage of said top most frame in said frame stack and storage of the corresponding plurality of stack pointer data in said plurality of stack pointer registers during a call operation to said frame stack, and configured to retrieve said top most frame in said frame stack using the corresponding plurality of stack pointer data stored in said plurality of stack pointer registers during a return operation from said frame stack. - View Dependent Claims (14, 15, 16, 17)
-
-
18. A method of managing a stack comprising the steps of:
-
configuring a plurality of register stacks as a frame stack having a primary stack and a secondary stack; storing in each one of said plurality of register stacks one of a plurality of frame portions for each one of a plurality of frames, wherein each of said frame portions is comprised of a number of elements; moving a predetermined number of elements from said primary stack to said secondary stack if a total number of elements stored in said primary stack exceeds an overflow limitation value; and moving said predetermined number of elements from said secondary stack to said primary stack if said total number of elements stored in said primary stack is less than an underflow limitation value. - View Dependent Claims (19)
-
Specification