Memory system including guarded pointers
First Claim
1. A data processing system for processing plural programs, the system comprising:
- shared memory for storing instructions and data for the plural programs, the shared memory being accessed in response to pointers;
guarded pointers for addressing memory locations with restricted access, each guarded pointer comprising a processor word which fully identifies without table lookup a protected segment of memory and a virtual address within the protected segment;
andprocessor hardware which distinguishes guarded pointers from other words and which is operable under program control to modify guarded pointers, modification of guarded pointers being restricted to prevent access outside of a protected segment.
2 Assignments
0 Petitions
Accused Products
Abstract
A multiprocessor system having shared memory uses guarded pointers to identify protected segments of memory and permitted access to a location specified by the guarded pointer. Modification of pointers is restricted by the hardware system to limit access to memory segments and to limit operations which can be performed within the memory segments. Global address translation is based on grouping of pages which may be stored across multiple nodes. The page groups are identified in the global translation of each node and, with the virtual address, identify a node in which data is stored. Pages are subdivided into blocks and block status flags are stored for each page. The block status flags indicate whether a memory location may be read or written into at a particular node and indicate to a home node whether a remote node has written new data into a location.
133 Citations
23 Claims
-
1. A data processing system for processing plural programs, the system comprising:
-
shared memory for storing instructions and data for the plural programs, the shared memory being accessed in response to pointers; guarded pointers for addressing memory locations with restricted access, each guarded pointer comprising a processor word which fully identifies without table lookup a protected segment of memory and a virtual address within the protected segment; and processor hardware which distinguishes guarded pointers from other words and which is operable under program control to modify guarded pointers, modification of guarded pointers being restricted to prevent access outside of a protected segment. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. In a data processing system, a method for processing plural programs, the method comprising:
-
storing instructions and data for the plural programs in shared memory; addressing a memory location through an address carried in a guarded pointer, the guarded pointer comprising a processor word which fully identifies without table lookup a protected segment of memory, a virtual address within the protected segment and a level of authorization for access to the addressed location, access to the memory location being restricted by that level of authorization; and restricting modification of guarded pointers. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23)
-
Specification