Capability addressing with tight object bounds
First Claim
1. A data processing system comprising:
- memory; and
a pointer to a location in memory, the pointer comprising;
a block field defining a block size;
a length field defining a number of blocks in a segment of memory;
an address pointing into the segment of memory;
a finger field which denotes a block of the segment of memory into which the address points; and
an increment-only bit which when set causes the system to exclude negative offsets to the address in the pointer.
1 Assignment
0 Petitions
Accused Products
Abstract
A pointer representation includes a permission field to define capabilities of the system in processing the data to which an address in the pointer of representation points. Bounds of the memory segment to which the capabilities apply are defined by a block field, which defines a block size, and a length field, which defines a number of blocks of that size within the segment of memory. To permit computation of the full range of addresses to which the capability applies, a finger field is included to denote the block of the segment of memory to which the address points. An increment-only bit may cause the system to preclude any negative offsets from the address in the pointer representation. Subsegments within a segment may be further defined by additional block, length and finger fields.
17 Citations
12 Claims
-
1. A data processing system comprising:
-
memory; and
a pointer to a location in memory, the pointer comprising;
a block field defining a block size;
a length field defining a number of blocks in a segment of memory;
an address pointing into the segment of memory;
a finger field which denotes a block of the segment of memory into which the address points; and
an increment-only bit which when set causes the system to exclude negative offsets to the address in the pointer. - View Dependent Claims (2)
-
-
3. A data processing system comprising:
-
memory; and
a pointer to a location in memory for each of a segment of memory and a subsegment within the segment of memory, the pointer comprising;
a block field defining a block size;
a length field defining a number of blocks in a segment of memory;
an address pointing into the segment of memory; and
a finger field which denotes a block of the segment of memory into which the address points.
-
-
4. A method of representing data in a data processing system comprising:
-
defining a block size in a pointer to a location in memory;
defining in the pointer to a location in memory a number of blocks in a segment of memory;
defining in the pointer to a location in memory an address pointing into the segment of memory;
defining in the pointer to a location in memory a block of the segment of memory into which the address points; and
excluding negative offsets to the address in the memory representation where an increment-only bit is included in the pointer. - View Dependent Claims (5)
-
-
6. A method of representing data in a data processing system comprising:
-
defining a pointer to a location in memory for each of a segment of memory and a subsegment within the segment of memory;
defining a block size in a pointer to a location in memory, defining in the pointer to a location in memory a number of blocks in a segment of memory;
defining in the pointer to a location in memory an address pointing into the segment of memory; and
defining in the pointer to a location in memory a block of the segment of memory into which the address points.
-
-
7. A computer program product comprising:
-
a computer usable medium for storing data; and
a set computer program instructions embodied on the computer usable medium, including a pointer to a location in memory, the pointer comprising;
a block field defining a block size;
a length field defining a number of blocks in a segment of memory;
an address pointing into the segment of memory; and
a finger field which denotes a block of the segment of memory into which the address points; and
an increment-only bit which when set causes the system to exclude negative offsets to the address in the pointer to a location in memory. - View Dependent Claims (8)
-
-
9. A computer program product comprising:
-
a computer usable medium for storing data; and
a set of computer program instructions embodied on the computer usable medium, including a pointer to a location in memory for each of a segment of memory and a subsegment within the segment of memory, the pointer comprising;
a block field defining a block size;
a length field defining a number of blocks in a segment of memory;
an address pointing into the segment of memory; and
a finger field which denotes a block of the segment of memory into which the address points.
-
-
10. A computer data signal comprising a pointer to a location in memory, the pointer comprising:
-
a block field defining a block size;
a length field defining a number of blocks in the segment of memory;
an address pointing into the segment of memory;
a finger field which denotes a block of the segment of memory into which the address points; and
an increment-only bit which when set causes system to exclude negative offsets to the address in the pointer to a location in memory. - View Dependent Claims (11)
-
-
12. A computer data signal comprising a pointer to a location in memory for each of a segment of memory and a subsegment within the segment of memory, the pointer comprising:
-
a block field defining a block size;
a length field defining a number of blocks in a segment of memory;
an address pointing into the segment of memory; and
a finger field which denotes a block of the segment of memory into which the address points.
-
Specification