Making Large Blocks More Effective
Software
- Improve spatial locality by better data structuring (more later)
- Compiler techniques
Hardware
- Retain granularity of transfer but reduce granularity of coherence
- use subblocks: same tag but different state bits
- one subblock may be valid but another invalid or dirty
- Reduce both granularities, but prefetch more blocks on a miss
- Proposals for adjustable cache size
- More subtle: delay propagation of invalidations and perform all at once
- But can change consistency model: discuss later in course
- Use update instead of invalidate protocols to reduce false sharing effect