US2014013058A1PendingUtilityA1

Prefetching of next physically sequential cache line after cache line that includes loaded page table entry

Assignee: VIA TECH INCPriority: Mar 30, 2009Filed: Apr 29, 2013Published: Jan 9, 2014
Est. expiryMar 30, 2029(~2.7 yrs left)· nominal 20-yr term from priority
G06F 12/10G06F 2212/6028G06F 12/0862
54
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A microprocessor includes a translation lookaside buffer, a request to load a page table entry into the microprocessor generated in response to a miss of a virtual address in the translation lookaside buffer, and a prefetch unit. The prefetch unit receives a physical address of a first cache line that includes the requested page table entry and responsively generates a request to prefetch into the microprocessor a second cache line that is the next physically sequential cache line to the first cache line.

Claims

exact text as granted — not AI-modified
We claim: 
     
         1 : A microprocessor, comprising:
 a translation lookaside buffer;   a request to load a page table entry into the microprocessor generated in response to a miss of a virtual address in the translation lookaside buffer; and   a prefetch unit, configured to receive a physical address of a first cache line that includes the requested page table entry, wherein the prefetch unit is further configured to responsively generate a request to prefetch into the microprocessor a second cache line that is the next physically sequential cache line to the first cache line.   
     
     
         2 : The microprocessor of  claim 1 , wherein the second cache line is absent the page table entry implicated by the virtual address that missed in the translation lookaside buffer. 
     
     
         3 : The microprocessor of  claim 1 , further comprising:
 a tablewalk engine, configured to perform a tablewalk in response to the miss of the virtual address in the translation lookaside buffer, wherein the tablewalk does not access any of the page table entries in the prefetched second cache line.   
     
     
         4 . (canceled) 
     
     
         5 : The microprocessor of  claim 1 , wherein the request to load the page table entry, in response to which the prefetch unit prefetches the second cache line, is generated internally by the microprocessor in response to the miss of the virtual address in the translation lookaside buffer, rather than the load request being a load request of a program executed by the microprocessor. 
     
     
         6 : The microprocessor of  claim 1 , further comprising:
 a request to load a page directory entry into the microprocessor generated in response to the miss of the virtual address in the translation lookaside buffer;   wherein the prefetch unit is further configured to receive a physical address of a third cache line that includes the requested page directory entry, wherein the prefetch unit is further configured to responsively generate a second request to prefetch into the microprocessor a fourth cache line that is the next physically sequential cache line to the third cache line.   
     
     
         7 : A method for reducing tablewalk time by a microprocessor having a translation lookaside buffer, the method comprising:
 requesting to load a page table entry into the microprocessor, in response to a miss of a virtual address in the translation lookaside buffer;   receiving a physical address of a first cache line that includes the requested page table entry;   generating a request to prefetch into the microprocessor a second cache line that is the next physically sequential cache line to the first cache line, in response to said receiving the physical address of the first cache line that includes the requested page table entry.   
     
     
         8 : The method of  claim 7 , wherein the second cache line is absent the page table entry implicated by the virtual address that missed in the translation lookaside buffer. 
     
     
         9 : The method of  claim 7 , further comprising:
 performing a tablewalk in response to the miss of the virtual address in the translation lookaside buffer, wherein the tablewalk does not access any of the page table entries in the prefetched second cache line.   
     
     
         10 . (canceled) 
     
     
         11 : A microprocessor, comprising:
 a translation lookaside buffer;   a request to load a page table entry into the microprocessor generated in response to a miss of a virtual address in the translation lookaside buffer; and   a prefetch unit, configured to receive a physical address of a first cache line that includes the requested page table entry, wherein the prefetch unit is further configured to responsively generate a request to prefetch into the microprocessor a second cache line that is the previous physically sequential cache line to the first cache line.   
     
     
         12 : The microprocessor of  claim 11 , wherein the second cache line is absent the page table entry implicated by the virtual address that missed in the translation lookaside buffer. 
     
     
         13 : The microprocessor of  claim 11 , further comprising:
 a tablewalk engine, configured to perform a tablewalk in response to the miss of the virtual address in the translation lookaside buffer, wherein the tablewalk does not access any of the page table entries in the prefetched second cache line.   
     
     
         14 . (canceled) 
     
     
         15 : The microprocessor of  claim 11 , wherein the request to load the page table entry, in response to which the prefetch unit prefetches the second cache line, is generated internally by the microprocessor in response to the miss of the virtual address in the translation lookaside buffer, rather than the load request being a load request of a program executed by the microprocessor. 
     
     
         16 : The microprocessor of  claim 11 , further comprising:
 a request to load a page directory entry into the microprocessor generated in response to the miss of the virtual address in the translation lookaside buffer;   wherein the prefetch unit is further configured to receive a physical address of a third cache line that includes the requested page directory entry, wherein the prefetch unit is further configured to responsively generate a second request to prefetch into the microprocessor a fourth cache line that is the previous physically sequential cache line to the third cache line.   
     
     
         17 : A method for reducing tablewalk time by a microprocessor having a translation lookaside buffer, the method comprising:
 requesting to load a page table entry into the microprocessor, in response to a miss of a virtual address in the translation lookaside buffer;   receiving a physical address of a first cache line that includes the requested page table entry;   generating a request to prefetch into the microprocessor a second cache line that is the previous physically sequential cache line to the first cache line, in response to said receiving the physical address of the first cache line that includes the requested page table entry.   
     
     
         18 : The method of  claim 17 , wherein the second cache line is absent the page table entry implicated by the virtual address that missed in the translation lookaside buffer. 
     
     
         19 : The method of  claim 17 , further comprising:
 performing a tablewalk in response to the miss of the virtual address in the translation lookaside buffer, wherein the tablewalk does not access any of the page table entries in the prefetched second cache line.   
     
     
         20 . (canceled)

Join the waitlist — get patent alerts

Track US2014013058A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.