Management of Cache Contents
Now that we have seen a sampling of cache organizations (albeit weighted toward solid-state implementations), it makes sense to look at how the decision is made to put something into a cache. A cache’s content-management solution has several responsibilities. First, it must identify important instructions and data and decide where in the memory hierarchy they should be at any given point in time. Second, it must ensure, or at least increase the likelihood, that the envisioned state of affairs actually happens. These responsibilities are addressed by actions taken by three different components:
• Partitioning heuristics
• (Pre)fetching heuristics
• Locality optimizations
Partitioning heuristics determine ...