Compiler-assisted data prefetch controller

Steven P. VanderWiel, David J. Lilja

Research output: Contribution to conferencePaperpeer-review

17 Scopus citations


Data prefetching has been proposed as a means of hiding the memory access latencies of data referencing patterns that defeat caching strategies. Prefetching techniques that either use special cache logic to issue prefetches or that rely on the processor to issue prefetch requests typically involve some compromise between accuracy and instruction overhead. A data prefetch controller (DPC) is proposed that combines low instruction overhead with the flexibility and accuracy of a compiler-directed prefetch mechanism. At run-time, the processor and prefetch controller each execute separate, but cooperating, instruction streams. Simulations in which both programs are generated from a single application source file using a commercial compiler show that the prefetch controller can significantly improve the cache utilization and execution time of several SPECfp95 benchmarks. Performance comparisons also indicate that the DPC outperforms software prefetching techniques and prefetching via a hardware reference prediction table.

Original languageEnglish (US)
Number of pages6
StatePublished - Dec 1 1999
EventInternational Conference on Computer Design (ICCD'99) - Austin, TX, USA
Duration: Oct 10 1999Oct 13 1999


ConferenceInternational Conference on Computer Design (ICCD'99)
CityAustin, TX, USA


Dive into the research topics of 'Compiler-assisted data prefetch controller'. Together they form a unique fingerprint.

Cite this