A conceptual mix between Fully Associative Cache (just throwing into cache when and where you see fit) and Direct-Mapped Cache (having specific places within cache for corresponding bits of the memory). This combines both of their benefits.
How it works:
- Your cache memory is split into sets (a collection of data blocks).
- Similar to DMC, you determine which set (instead of block as in DMC) bit of Main Memory belongs to based on the makeup of the address. (Bottom left as an example)
- Once you find the set, you can throw it in as you would for FAC.
Quirks:
- The hardware is as more expensive than just basic DMC.
- Itβs got more flexibility