Use of Loop and Addressing Mode Instruction Set Semantics to Direct Hardware Prefetching

Systems and methods for prefetching cache lines into a cache coupled to a processor. A hardware prefetcher is configured to recognize a memory access instruction as an auto-increment-address (AIA) memory access instruction, infer a stride value from an increment field of the AIA instruction, and pre...

Full description

Saved in:
Bibliographic Details
Main Authors ABRAHAM ELIZABETH, VENKUMAHANTI SURESH K, SASSONE PETER G, CODRESCU LUCIAN, MAMIDI SUMAN
Format Patent
LanguageEnglish
Published 18.07.2013
Subjects
Online AccessGet full text

Cover

More Information
Summary:Systems and methods for prefetching cache lines into a cache coupled to a processor. A hardware prefetcher is configured to recognize a memory access instruction as an auto-increment-address (AIA) memory access instruction, infer a stride value from an increment field of the AIA instruction, and prefetch lines into the cache based on the stride value. Additionally or alternatively, the hardware prefetcher is configured to recognize that prefetched cache lines are part of a hardware loop, determine a maximum loop count of the hardware loop, and a remaining loop count as a difference between the maximum loop count and a number of loop iterations that have been completed, select a number of cache lines to prefetch, and truncate an actual number of cache lines to prefetch to be less than or equal to the remaining loop count, when the remaining loop count is less than the selected number of cache lines.
Bibliography:Application Number: US201213350914