Logically partitioning different classes of TLB entries within a single caching structure
First Claim
1. A method for logically partitioning different classes of translation lookaside buffer (TLB) entries in a single caching structure, comprising:
- receiving a request to lookup an address translation in the single caching structure;
applying a hash function to parameters associated with the request to determine a corresponding location in the single caching structure where a TLB entry for the request can reside;
if the corresponding location contains a TLB entry for the request, returning data from the TLB entry to facilitate the address translation;
wherein the hash function partitions the single caching structure so that different classes of TLB entries are mapped to separate partitions of the single caching structure, whereby the single caching structure can accommodate different classes of TLB entries at the same time;
wherein the different classes of TLB entries include;
a class of TLB entries for virtual-to-physical address translations, which translate a virtual address for a specific thread to a corresponding address in physical memory; and
a class of TLB entries for real-to-physical address translations, which translate a real address, associated with a specific processor in a multiprocessor system, to a corresponding address in physical memory; and
producing an address in physical memory in response to the request.
2 Assignments
0 Petitions
Accused Products
Abstract
One embodiment of the present invention provides a system that logically partitions different classes of translation lookaside buffer (TLB) entries within a single caching structure. Upon receiving a request to lookup an address translation, the system applies a hash function to parameters associated with the request to determine a corresponding location in the single caching structure where a TLB entry for the request can reside. If the corresponding location contains a TLB entry for the request, the system returns data from the TLB entry to facilitate the address translation. This hash function partitions the single caching structure so that different classes of TLB entries are mapped to separate partitions of the single caching structure. In this way, the single caching structure can accommodate different classes of TLB entries at the same time.
17 Citations
21 Claims
-
1. A method for logically partitioning different classes of translation lookaside buffer (TLB) entries in a single caching structure, comprising:
-
receiving a request to lookup an address translation in the single caching structure; applying a hash function to parameters associated with the request to determine a corresponding location in the single caching structure where a TLB entry for the request can reside; if the corresponding location contains a TLB entry for the request, returning data from the TLB entry to facilitate the address translation; wherein the hash function partitions the single caching structure so that different classes of TLB entries are mapped to separate partitions of the single caching structure, whereby the single caching structure can accommodate different classes of TLB entries at the same time; wherein the different classes of TLB entries include; a class of TLB entries for virtual-to-physical address translations, which translate a virtual address for a specific thread to a corresponding address in physical memory; and a class of TLB entries for real-to-physical address translations, which translate a real address, associated with a specific processor in a multiprocessor system, to a corresponding address in physical memory; and producing an address in physical memory in response to the request. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. An apparatus that logically partitions different classes of translation lookaside buffer (TLB) entries in a single caching structure, comprising:
-
the single caching structure, which is configured to receive a request to lookup an address translation; a lookup mechanism configured to apply a hash function to parameters associated with the request to determine a corresponding location in the single caching structure where a TLB entry for the request can reside; wherein if the corresponding location contains a TLB entry for the request, the lookup mechanism is configured to return data from the TLB entry to facilitate the address translation; wherein the hash function partitions the single caching structure so that different classes of TLB entries are mapped to separate partitions of the single caching structure, whereby the single caching structure can accommodate different classes of TLB entries at the same time; wherein the different classes of TLB entries include; a class of TLB entries for virtual-to-physical address translations, which translate a virtual address for a specific thread to a corresponding address in physical memory; and a class of TLB entries for real-to-physical address translations, which translate a real address, associated with a specific processor in a multiprocessor system, to a corresponding address in physical memory; and a producing mechanism configured to produce an address in physical memory in response to the request. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A computer system including a single caching structure that logically partitions different classes of translation lookaside buffer (TLB) entries, comprising:
-
at least one processor; a physical memory; the single caching structure, which is configured to receive a request to lookup an address translation; a lookup mechanism configured to apply a hash function to parameters associated with the request to determine a corresponding location in the single caching structure where a TLB entry for the request can reside; wherein if the corresponding location contains a TLB entry for the request, the lookup mechanism is configured to return data from the TLB entry to facilitate the address translation; wherein the hash function partitions the single caching structure so that different classes of TLB entries are mapped to separate partitions of the single caching structure, whereby the single caching structure can accommodate different classes of TLB entries at the same time; wherein the different classes of TLB entries include; a class of TLB entries for virtual-to-physical address translations, which translate a virtual address for a specific thread to a corresponding address in physical memory; and a class of TLB entries for real-to-physical address translations, which translate a real address, associated with a specific processor in a multiprocessor system, to a corresponding address in physical memory; and a producing mechanism configured to produce an address in physical memory in response to the request. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
Specification