Radix table translation of memory
First Claim
1. A computer program product for accessing a memory location in a processing system, the computer program product comprising:
- a non-transitory computer readable storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method comprising;
receiving a request to access a desired block of memory located in one of a plurality of non-contiguous virtual memory regions, the request comprising an effective address consisting of an effective segment identifier (ESID) and a linear address, the linear address consisting of a most significant portion and a byte index;
locating, by a processor, an entry corresponding to the effective address in a segment lookaside buffer (SLB) that includes multiple entries that include radix page table pointers (RPTPs) corresponding to the plurality of non-contiguous virtual memory regions; and
based on the located entry corresponding to the effective address in the SLB including an RPTP corresponding to the one of the plurality of non-contiguous virtual memory regions, performing;
using the RPTP from the located entry to locate a translation table of a hierarchy of translation tables;
using the located translation table to translate the entirety of the most significant portion of the linear address to obtain an address of a block of memory; and
based on the obtained address, performing the requested access to the desired block of memory.
1 Assignment
0 Petitions
Accused Products
Abstract
Embodiments relate to managing memory page tables in a processing system. A request to access a desired block of memory is received. The request includes an effective address that includes an effective segment identifier (ESID) and a linear address, the linear address including a most significant portion and a byte index. An entry in a buffer that includes the ESID of the effective address is located. Based on the entry including a radix page table pointer (RPTP), performing: using the RPTP to locate a translation table of a hierarchy of translation tables, using the located translation table to translate the most significant portion of the linear address to obtain an address of a block of memory, and based on the obtained address, performing the requested access to the desired block of memory.
-
Citations
15 Claims
-
1. A computer program product for accessing a memory location in a processing system, the computer program product comprising:
-
a non-transitory computer readable storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method comprising; receiving a request to access a desired block of memory located in one of a plurality of non-contiguous virtual memory regions, the request comprising an effective address consisting of an effective segment identifier (ESID) and a linear address, the linear address consisting of a most significant portion and a byte index; locating, by a processor, an entry corresponding to the effective address in a segment lookaside buffer (SLB) that includes multiple entries that include radix page table pointers (RPTPs) corresponding to the plurality of non-contiguous virtual memory regions; and based on the located entry corresponding to the effective address in the SLB including an RPTP corresponding to the one of the plurality of non-contiguous virtual memory regions, performing; using the RPTP from the located entry to locate a translation table of a hierarchy of translation tables; using the located translation table to translate the entirety of the most significant portion of the linear address to obtain an address of a block of memory; and based on the obtained address, performing the requested access to the desired block of memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer system for accessing a memory location, the system comprising:
-
a memory; and a processor configured to perform a method comprising; receiving a request to access a desired block of memory located in one of a plurality of non-contiguous virtual memory regions, the request comprising an effective address consisting of an effective segment identifier (ESID) and a linear address, the linear address consisting of a most significant portion and a byte index; locating, by a processor, an entry corresponding to the effective address in a segment lookaside buffer (SLB) that includes multiple entries that include radix page table pointers (RPTPs) corresponding to the plurality of non-contiguous virtual memory regions; and based on the located entry corresponding to the effective address in the SLB including an RPTP corresponding to the one of the plurality of non-contiguous virtual memory regions, performing; using the RPTP from the located entry to locate a translation table of a hierarchy of translation tables; using the located translation table to translate the entirety of the most significant portion of the linear address to obtain an address of a block of memory; and based on the obtained address, performing the requested access to the desired block of memory. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
Specification