Memory shared between processing threads
First Claim
Patent Images
1. A method comprising:
- pushing a datum onto a stack by a first processing thread; and
popping the datum off the stack by a second processing thread, wherein pushing comprises;
executing a push command on the first processing thread, the push command having at least one argument, determining a pointer to a current stack datum, determining a memory location associated with an argument of the push command, and storing the determined pointer at the determined location.
1 Assignment
0 Petitions
Accused Products
Abstract
A method includes pushing a datum onto a stack by a first processor and popping the datum off the stack by a second processor.
-
Citations
29 Claims
-
1. A method comprising:
-
pushing a datum onto a stack by a first processing thread; and
popping the datum off the stack by a second processing thread, wherein pushing comprises;
executing a push command on the first processing thread, the push command having at least one argument, determining a pointer to a current stack datum, determining a memory location associated with an argument of the push command, and storing the determined pointer at the determined location. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
producing a pointer associated with the determined location the pointer to the current stack datum.
-
-
3. The method of claim 2 wherein determining a location comprises:
decoding the push command.
-
4. The method of claim 2 wherein determining a location comprises:
storing an argument of the pop command in a location associated with the argument of the push command.
-
5. The method of claim 2 wherein said push command is at least one of a processor instruction, and an operating system call.
-
6. The method of claim 1 wherein popping comprises:
-
executing a pop command by the second processing thread, determining a pointer to a current stack datum, returning the determined pointer to the second processing thread, retrieving a pointer to a previous stack datum from a location associated with the pointer to the current stack datum, and assigning the retrieved pointer the pointer to the current stack datum.
-
-
7. The method of claim 6 wherein the location associated with the pointer to the current stack datum is the location that has an address equal to the value of the pointer to the current stack datum.
-
8. The method of claim 6 wherein the location associated with the pointer to the current stack datum is the location that has an address equal to the sum of an offset and the value of the pointer to the current stack datum.
-
9. The method of claim 6 wherein the pop command is at least one of a processor instruction or an operating system call.
-
10. The method of claim 1 further comprising:
storing data in a memory buffer that is accessible using a buffer pointer having the datum that is pushed onto the stack.
-
11. The method of claim 1 further comprising:
using the popped datum as a buffer pointer to access information stored in a memory buffer.
-
12. The method of claim 1 further comprising:
a third processing thread pushing a second datum onto the stack.
-
13. The method of claim 1 further comprising:
a third processing thread popping a second datum of the stack.
-
14. A system comprising:
-
a stack module that stores data by pushing it onto the stack and processing threads can retrieve information by popping the information off the stack, a first processing thread having a first command set, including at least one command for pushing data onto the stack, a second processing thread having a second command set, including at least one command for popping the data off the stack, and a memory location associated with a first datum on the stack, the memory location including a pointer associated with a second datum which was stored on the stack prior to said first datum. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
-
21. A stack module comprising:
-
control logic that responds to commands from at least two processing threads, the control logic storing a first datum on a stack structure in response to a push command and retrieving datum from the stack in response to a pop command, and a memory location associated with a first datum on the stack, the memory location including a pointer associated with a second datum which was stored on the stack prior to said first datum. - View Dependent Claims (22, 23, 24, 25, 26, 27)
-
-
28. An article comprising a computer-readable medium having stored thereon instructions that when executed by a machine results in the following:
-
push a datum onto a stack by a first processing thread; and
pop the datum off the stack by a second processing thread, wherein pushing comprises instructions having at least one argument that when executed by a machine results in the following;
determine a pointer to a current stack datum, determine a memory location associated with an argument of the push command, and store the determined pointer at the determined location. - View Dependent Claims (29)
produce a pointer associated with determined location the pointer to the current stack datum.
-
Specification