STLB prefetching for a multi-dimension engine
AssigneeQUALCOMM Incorporated
InventorLaurent Moll
Life of this patent
Estimating the term…
Abstract
A multi-dimension engine, connected to a system TLB, generates sequences of addresses to request page address translation prefetch requests in advance of predictable accesses to elements within data arrays. Prefetch requests are filtered to avoid redundant requests of translations to the same page. Prefetch requests run ahead of data accesses but are tethered to within a reasonable range. The number of pending prefetches are limited. A system TLB stores a number of translations, the number being relative to the dimensions of the range of elements accessed from within the data array.
Claims22
A multi-dimension engine, comprising an interface, wherefrom an address translation prefetch request is sent to a system translation lookaside buffer (STLB), wherein the STLB comprises a number of translations approximately equal to one of two times a height of a fetch access region when a prefetch window width is one page, three times the height of the fetch access region when the prefetch window width is one page, 2+(a prefetch window size/a page size) times the height of the fetch access region, or 1+(the prefetch window width /a maximum page size supported by the multi-dimension engine).
A non-transitory computer-readable storage medium arranged to represent Hardware Description Language (HDL) source code, the HDL source code representing a multi-dimension engine, comprising an interface, wherefrom an address translation prefetch request is sent to a system translation lookaside buffer (STLB), wherein the STLB comprises a number of translations approximately equal to one of two times a height of a fetch access region when a prefetch window width is one page, three times the height of the fetch access region when the prefetch window width is one page, 2+(a prefetch window size/a page size) times the height of the fetch access region, or 1+(the prefetch window width/a maximum page size supported by the multi-dimension engine).
A system translation lookaside buffer (STLB) comprising a number of translations approximately equal to two times a height of a fetch access region when a prefetch window width is one page.
A system translation lookaside buffer (STLB) comprising a number of translations approximately equal to three times a height of a fetch access region when a prefetch window width is one page.
A system translation lookaside buffer (STLB) comprising a number of translations approximately equal to 1+(a prefetch window width/a maximum page size supported by a multi-dimension engine).
A system translation lookaside buffer (STLB) filtered to fix page entries at a start of an access region until reaching an end of the access region, wherein the STLB comprises a number of translations approximately equal to one of two times a height of a fetch access region when a prefetch window width is one page, three times the height of the fetch access region when the prefetch window width is one page, 2+(a prefetch window size/a page size) times the height of the fetch access region, or 1+(the prefetch window width/a maximum page size supported by the STLB).
A non-transitory computer-readable medium arranged to represent Hardware Description Language (HDL) source code, the HDL source code representing a system translation lookaside buffer (STLB), wherein the STLB comprises a number of translations approximately equal to at least one of:
- two times a height of a fetch access region when a prefetch window width is one page, three times the height of the fetch access region when the prefetch window width is one page, 2+(a prefetch window size/a page size) times the height of the fetch access region, or 1+(the prefetch window width/a maximum page size supported by a multi-dimension engine).
A method for accessing a data set comprising issuing a translation prefetch from a multi-dimension engine to a system translation lookaside buffer (STLB), wherein the STLB comprises a number of translations approximately equal to one of two times a height of a fetch access region when a prefetch window width is one page, three times the height of the fetch access region when the prefetch window width is one page, 2+(a prefetch window size/a page size) times the height of the fetch access region, or 1+(the prefetch window width /a maximum page size supported by the multi-dimension engine).
Dependencies are inferred from the claim text.