What about cache block size?
For a given application, cache capacity and associativity, there is an optimal cache block size
Long cache blocks good for spatial locality (code, vectors)
- Reduce compulsory misses
- But takes more time to bring from next level of memory hierarchy (can be compensated by “critical word first” and subblocks)
Possibility of fragmentation (poor cache use) and of false-sharing for multiprocessors
In general, the larger the cache, the longer the best block size (e.g., 32 or 64 bytes for on-chip, 64, 128 or even 256 for large off-chip caches)