I don't quite understand the concept of spatial locality in cacheing. I understand that on a cache miss, not only the specific address we want is loaded into the cache, but also "nearby addresses" are loaded too.
However, I can't understand WHICH addresses are loaded. I have an assignment with the following question:
The cache consists of 16 words (4 bytes for each word), and is arranged in blocks of 2 words each. The following addresses are in BYTES in decimal base. The cache is initially empty. 12,8,24,28,36,44,48,52,60,64,68,76,136,140,144,148,152,220,224,228,220,224,228 Determine what are the addresses which are a MISS (determine whether it's a valid or a tag miss).
What is hard for me is to understand which addresses are loaded, when, for example, the address 12 is reached. Is 13 loaded into the cache? 14? 15? or maybe 11? How do I know that?
I think that if understand this fundamental question, I could answer this question with ease.