Everything about Cache prefetching
Computer processing technique to boost memory performance
Cache prefetching is a technique used by central processing units (CPUs) to boost execution performance by fetching instructions or data from their primary or main storage in slower memory to a faster local memory before it is actually needed. Most modern CPUs have fast and local cache memory in which prefetched data is held until it is required. The source for the prefetch operation is usually main memory. Because of their design, accessing cache memories is typically much faster than accessing main memory. Prefetching can be done with non-blocking cache control instructions. Prefetching is based on the principle of data locality. Wikipedia →
🧭 Start here: a 6-step reading path
- Read the overview: Cache prefetchingA 5-minute orientation
- Skim a recent paper: Pattern-Based Prefetching with Adaptive Cache Management Inside of Solid-State DrivesInfluential work since 2022
- Pick up a classic book: SPARC Architecture, Assembly Language Programming, and CThe most-reprinted book on the subject
- Read the landmark paper: Improving direct-mapped cache performance by the addition of a small fully-associative cache and prefetch buffersCited 210 times
- Go sideways: PrefetchingA closely related topic
- Go sideways: Memory-level parallelismA closely related topic
📖 Definitions
No dictionary entry for this exact phrase.
🏆 Landmark papers (most cited)
Improving direct-mapped cache performance by the addition of a small fully-associative cache and prefetch buffers
A clustering-based prefetching scheme on a Web cache environment
Cache-Aided Private Information Retrieval With Partially Known Uncoded Prefetching: Fundamental Limits
Data Cache Prefetching Using a Global History Buffer
CPU cache prefetching: Timing evaluation of hardware implementations
Effective cache prefetching on bus-based multiprocessors
Hardware and software cache prefetching techniques for MPEG benchmarks
Adaptive priority-based cache replacement and prediction-based cache prefetching in edge computing environment
🆕 Influential since 2022
Pattern-Based Prefetching with Adaptive Cache Management Inside of Solid-State Drives
Last-Level Cache Insertion and Promotion Policy in the Presence of Aggressive Prefetching
Improving reading performance by file prefetching mechanism in distributed cache systems
Research on Cache Placement Optimization and Popularity-Based Content Prefetching Strategy in LEO Satellite Networks
Accelerating LLM Inference Throughput via Asynchronous KV Cache Prefetching
📚 Books worth reading
SPARC Architecture, Assembly Language Programming, and CRichard P. Paul · 1994
Cyber foragingJason Flinn · 2011- 📕PIC32 FRM Section 4. Prefetch CacheJade Lee · 2014
- 📕StacheGrant S. Goodes · 1992
- 📕Section 41. Prefetch Module for Devices with L1 CPU CacheKelly Ferrigan · 2020
- 📕PIC32 FRM Section 41. Prefetch Module for Devices with L1 CPU CacheJade Lee · 2014
- 📕Improving memory hierarchy performance with hardware prefetching and cache replacementWei-Fen Lin · 2002
Advanced Infocomm TechnologyVincent Guyot · 2013
Ranked by number of editions on Open Library, a rough measure of how lasting a book is.
🔗 Related topics
- Prefetching Prefetching is a technique used in computing to improve performance by retrieving data or instructions before they are needed. By predicting what a program…
- Memory-level parallelism In computer architecture, memory-level parallelism (MLP) is the ability to have pending multiple memory operations, in particular cache misses or translation…
- Runahead In computer science and processor design, runahead is a technique that allows a computer processor to speculatively pre-process instructions during cache…
- International Symposium on Computer Architecture The International Symposium on Computer Architecture (ISCA) is an annual academic conference on computer architecture, generally viewed as the top-tier…
- Memory access pattern In computing, a memory access pattern or IO access pattern is the pattern with which a system or program reads and writes memory on secondary storage.…
- Cache replacement policies In computing, cache replacement policies (also known as cache replacement algorithms or cache algorithms) are optimizing instructions or algorithms which…
- Speculative execution In computer science and processor design, speculative execution or speculation is a design characteristic where a processor is able to perform potentially…
- Data memory-dependent prefetcher A data memory-dependent prefetcher (DMP) is a cache prefetcher that looks at cache memory content for possible pointer values, and prefetches the data…