Object lifetime control in an object-oriented memory protection mechanism
First Claim
1. A data processing system including a memory space (10) and a processor register space (11) in a processor of said data processing system for storing object descriptors having base and length information stored therein for use in locating objects in said memory space,communicating means in said processor for communicating with said memory space (10);
- executing means in said processor for executing an operation by means of an operator specified in an instruction (14);
a plurality of addressable objects, including a bipaged object (38), said plurality of addressable objects being stored in an address space of said memory space,said plurality of addressable objects including instruction objects comprised of instructions including said instruction (14) defining an operation;
an address (20) referenced in said instruction (14), said address (20) being specified as an offset (22) and an access descriptor (AD) (24);
said plurality of objects including an object table (42), a page table directory (60), and a page table (44);
each of said objects being comprised of words, each of said words being either an access descriptor or a data word;
each of said access descriptors including
1 Assignment
0 Petitions
Accused Products
Abstract
An object-oriented computer architecture in which access descriptors include an object index for selecting an object in the address space, and a rights field specifying the permissible operations on a bi-paged object selected by the access descriptor. A local object lifetime bit is provided in the encoded fields portion of access descriptors, object descriptors, and page table entries to determine the lifetime of an object. The AD lifetime bit in the encoded fields of AD is compared in OTE Lifetime Check Logic with the destination object lifetime, the OTE local bit in the encoded fields of the OTE access descriptor. The OTE local bit in the encoded fields of the OTE is compared in PDTE Lifetime Check Logic with the destination object lifetime, the PDTE local bit in the encoded fields of the PDTE access descriptor. The PDTE local bit in the encoded fields of the PDTE is compared in PTE Lifetime Check Logic with the destination object lifetime, the PTE local bit in the encoded fields of the PTE access descriptor. If any of these checks fails, a protection lifetime fault is asserted.
206 Citations
4 Claims
-
1. A data processing system including a memory space (10) and a processor register space (11) in a processor of said data processing system for storing object descriptors having base and length information stored therein for use in locating objects in said memory space,
communicating means in said processor for communicating with said memory space (10); -
executing means in said processor for executing an operation by means of an operator specified in an instruction (14); a plurality of addressable objects, including a bipaged object (38), said plurality of addressable objects being stored in an address space of said memory space, said plurality of addressable objects including instruction objects comprised of instructions including said instruction (14) defining an operation; an address (20) referenced in said instruction (14), said address (20) being specified as an offset (22) and an access descriptor (AD) (24); said plurality of objects including an object table (42), a page table directory (60), and a page table (44); each of said objects being comprised of words, each of said words being either an access descriptor or a data word; each of said access descriptors including - View Dependent Claims (3)
-
-
2. an object index for selecting an object in said address space,a rights field, said rights field specifying permissible operations on an object selected by said access descriptor;
-
said data processing system comprising; each of said access descriptors including access descriptor (AD) lifetime bit means for indicating a lifetime of an object specified by said access descriptor; first means for storing said object table object (42) at an address accessible by said processor upon processor initialization, second means for storing in said object table object table entry (OTE) object descriptors for use by said processor in forming physical addresses to said page table directory object (60), third means for storing in each of said object descriptors a first encoded field (50) specifying a base address of an object referenced by said object descriptor and a second encoded field (52) which includes page rights; said object storage descriptor includes an OTE lifetime bit means for indicating a lifetime of said object selected by said access descriptor; fourth means for storing in said page table (44) page table entries for use by said processor in forming physical addresses to said paged object (38), fifth means for storing in each page table entry a page rights field (81); sixth means for storing in said offset (22) a page index (PI) used to index into a selected page table to locate said page table entry, and a page offset (PO) used in conjunction with a base address (79) stored in said page table entry to locate a datum entry in said paged object (38); and
,means (150) for comparing said AD lifetime bit of said access descriptor with said OTE lifetime bit of said object table entry and for asserting a fault upon the condition that an access permitted by said AD lifetime bit of said access descriptor is inconsistent with said OTE lifetime bit of said object table entry. - View Dependent Claims (4)
-
Specification