Apparatus and method for providing pre-translated segments for page translations in segmented operating systems
First Claim
1. A method of performing virtual-to-real address translations in a data processing device, comprising:
- receiving a virtual address for accessing a location of memory, wherein the virtual address includes a segment identifier;
performing a segment table lookup based on the segment identifier to identify a segment table entry;
determining if the segment is a pre-translated segment based on the segment table entry; and
generating a real address for accessing a memory location corresponding to the virtual address based on a segment base real address identified in the segment table entry, if the segment is a pre-translated segment.
1 Assignment
0 Petitions
Accused Products
Abstract
A mechanism for generating pre-translated segments for use in virtual to real address translation is provided in which segments that are determined to meet a density threshold are promoted to a pre-translated segment class. The pages of these segments are moved to a contiguous portion of memory and the segment table entry corresponding to the segment is updated to indicate the segment to be a pre-translated segment and to include the base real address for the contiguous portion of memory. In one embodiment, as each page is moved, its page table entry is updated to point to the new location of the page so that the page is still accessible during promotion of the segment to a pre-translated segment. In this way, virtual-to-real address translation may be performed by concatenating the segment base real address, the page identifier, and a byte offset into the page.
17 Citations
20 Claims
-
1. A method of performing virtual-to-real address translations in a data processing device, comprising:
-
receiving a virtual address for accessing a location of memory, wherein the virtual address includes a segment identifier; performing a segment table lookup based on the segment identifier to identify a segment table entry; determining if the segment is a pre-translated segment based on the segment table entry; and generating a real address for accessing a memory location corresponding to the virtual address based on a segment base real address identified in the segment table entry, if the segment is a pre-translated segment. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer program product tangibly embodied in a tangible computer readable medium for performing virtual-to-real address translations in a data processing device, comprising:
-
first instructions for receiving a virtual address for accessing a location of memory, wherein the virtual address includes a segment identifier; second instructions for performing a segment table lookup based on the segment identifier to identify a segment table entry; third instructions for determining if the segment is a pre-translated segment based on the segment table entry; and fourth instructions for generating a real address for accessing a memory location corresponding to the virtual address based on a segment base real address identified in the segment table entry, if the segment is a pre-translated segment. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. An apparatus for performing virtual-to-real address translations in a data processing device, comprising:
-
means for receiving a virtual address for accessing a location of memory, wherein the virtual address includes a segment identifier; means for performing a segment table lookup based on the segment identifier to identify a segment table entry; means for determining if the segment is a pre-translated segment based on the segment table entry; and means for generating a real address for accessing a memory location corresponding to the virtual address based on a segment base real address identified in the segment table entry, if the segment is a pre-translated segment. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification