Cost-effective compiler directed memory prefetching and bypassing
Document typeConference report
PublisherInstitute of Electrical and Electronics Engineers (IEEE)
Rights accessOpen Access
Ever increasing memory latencies and deeper pipelines push memory farther from the processor. Prefetching techniques aim is to bridge these two gaps by fetching data in advance to both the L1 cache and the register file. Our main contribution in this paper is a hybrid approach to the prefetching problem that combines both software and hardware prefetching in a cost-effective way by needing very little hardware support and impacting minimally the design of the processor pipeline. The prefetcher is built on-top of a static memory instruction bypassing, which is in charge of bringing prefetched values in the register file. In this paper we also present a thorough analysis of the limits of both prefetching and memory instruction bypassing. We also compare our prefetching technique with a prior speculative proposal that attacked the same problem, and we show that at much lower cost, our hybrid solution is better than a realistic implementation of speculative prefetching and bypassing. On average, our hybrid implementation achieves a 13% speed-up improvement over a version with software prefetching in a subset of numerical applications and an average of 43% over a version with no software prefetching (achieving up to a 102% for specific benchmarks).
CitationOrtega, D., Ayguadé, E., Baer, J., Valero, M. Cost-effective compiler directed memory prefetching and bypassing. A: International Conference on Parallel Architectures and Compilation Techniques. "2002 International Conference on Parallel Architectures and Compilation Techniques, PACT 2002: 22-25 September 2002, Charlottesville, Virginia, USA: proceedings". Charlottesville, Virginia: Institute of Electrical and Electronics Engineers (IEEE), 2002, p. 189-198.