Address Range Based Memory Hints for Prefetcher, Cache and Memory Controller
US-2024385966-A1 · Nov 21, 2024 · US
US9323692B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9323692-B2 |
| Application number | US-201414255367-A |
| Country | US |
| Kind code | B2 |
| Filing date | Apr 17, 2014 |
| Priority date | Apr 17, 2014 |
| Publication date | Apr 26, 2016 |
| Grant date | Apr 26, 2016 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
In response to a current context, with a particular process currently in control of a processor requesting access to a shared address space, a translation lookaside buffer (TLB) controller sets a process identifier field in a virtual address to be looked up in a TLB to a clamped value different from an identifier for the process, wherein the virtual address comprises at least the process identifier field and an effective address field set to an address in the requested shared address space. In response to the TLB controller comparing the virtual address for the current context to a particular entry of at least one entry within the TLB comprising the at least one entry stored for a previous translation of a previous virtual address, the TLB controller only indicates a match between the process identifier field and a translation process identifier field within the particular entry of the TLB if the translation process identifier field is also set to the clamped value.
Opening claim text (preview).
What is claimed is: 1. A system for managing memory translations, comprising: a processor, coupled with a memory, and configured to perform the actions of: responsive to a current context with a particular process currently in control of the processor requesting access to a shared address space, setting a process identifier field in a virtual address to be looked up in a translation lookaside buffer to a clamped value different from an identifier for the process, wherein the virtual address comprises at least the process identifier field and an effective address field set to an address in the requested shared address space; and responsive to comparing the virtual address for the current context to a particular entry of at least one entry within the translation lookaside buffer comprising the at least one entry stored for a previous translation of a previous virtual address, only indicating a match between the process identifier field and a translation process identifier field within the particular entry of the translation lookaside buffer if the translation process identifier field is also set to the clamped value. 2. The system according to claim 1 , wherein the processor is further configured to perform the actions of: responsive to the current context requesting access to an application specific space, setting the process identifier field in the virtual address to the identifier for the process; and responsive to comparing the virtual address for the current context to a particular entry of at least one entry within the translation lookaside buffer, indicating a match between the process identifier field and a translation process identifier field within the particular entry of the translation lookaside buffer if the translation process identifier field is set to the identifier for the process. 3. The system according to claim 1 , wherein the processor is further configured to perform the actions of: responsive to comparing the virtual address for the current context to each entry of the at least one entry within the translation lookaside buffer, indicating a match between the effective address field and a translation effective address field within the particular entry if the translation effective address field is set to the address; in response to identifying the particular entry matching both the process identifier field and the effective address field, translating the address using a real page number set in the particular entry; and in responsive to not identifying any entry within the at least one entry matching both the process identifier field and the effective address field, translating the address using at least one page table to identify the translated real page number and adding a new entry to the translation lookaside buffer set to the virtual address and the translated real page number. 4. The system according to claim 1 , wherein the processor is further configured to perform the actions of: receiving, by an AND gate, a first input of the process identifier field and a second input of the translation process identifier field, wherein the AND gate outputs a first value indicating the match if the first input of the process identifier field equals the second input of the translation process identifier field. 5. The system according to claim 1 , wherein the processor is further configured to perform the actions of: responsive to the current context requesting access to a shared address space within a particular logical partition from among a plurality of logical partitions, setting a logical partition identifier field in the virtual address to be looked up in the translation lookaside buffer to a partition identifier for the particular logical partition, wherein the virtual address comprises at least the logical partition identifier field, the process identifier field and the effective address field set to an address in the requested shared address space; and responsive to comparing the virtual address for the current context to a particular entry of at least one entry within the translation lookaside buffer comprising the at least one entry stored for a previous translation of a previous virtual address, identifying a match between the process identifier field and a translation process identifier field within the particular entry if the translation process identifier field is set to the clamped value and identifying a match between the logical partition identifier field and a translation logical partition identifier field within the particular entry if the translation logical partition identifier field is set to the partition identifier. 6. The system according to claim 1 , wherein the processor is further configured to perform the actions of: responsive to the current context for the particular process operating in a highest privilege mode where the highest privilege mode is performed by a virtualization controller that operates in a particular logical partition from among a plurality of logical partitions with access to a core of the processor, setting a logical partition identifier field in the virtual address to be looked up in the translation lookaside buffer to the clamped value different from a partition identifier for the particular logical partition, wherein the virtual address comprises at least the logical partition identifier field, the process identifier field and the effective address field; and responsive to comparing the virtual address for the current context to a particular entry of at least one entry within the translation lookaside buffer comprising the at least one entry stored for a previous translation of a previous virtual address, indicating a match between the logical partition identifier field and a translation logical partition identifier field within the particular entry if the translation logical partition identifier field is set to the clamped value. 7. The system according to claim 1 , wherein the processor is further configured to perform the actions of: responsive to switching control of the processor to a next context with at least one context register value different from the settings of a plurality of context registers for the current context, maintaining each of the at least one entry in the translation lookaside buffer. 8. A computer program product for managing memory translations, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a processor to cause the processor to: responsive to a current context with a particular process currently in control of the processor requesting access to a shared address space, set a process identifier field in a virtual address to be looked up in a translation lookaside buffer to a clamped value different from an identifier for the process, wherein the virtual address comprises at least the process identifier field and an effective address field set to an address in the requested shared address space; and responsive to comparing the virtual address for the current context to a particular entry of at least one entry within the translation lookaside buffer comprising the at least one entry stored for a previous translation of a previous virtual address, only indicate a match between the process identifier field and a translation process identifier field within the particular entry of the translation lookaside buffer if the translation process identifier field is also set to the clamped value. 9. The computer program product according to claim 8 , further comprising the program instructions executable by the processor to cause the processor to: responsive to the current context requesting access to an application specific space, set the proc
Details of translation look-aside buffer [TLB] · CPC title
Page size control · CPC title
Control mechanisms for virtual memory, cache or TLB · CPC title
Logical partitioning of resources; Management or configuration of virtualized resources (specific details on emulation or internal functioning of virtual machines G06F9/455) · CPC title
TLB miss handling · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.