I understand that the processor brings data into the cache via cache lines, which - for instance, on my atom processor - bring in about 64 bytes at a time, whatever the size of the actual data being read.
My question is :
Imagine that you need to read one byte from memory, which 64 bytes will be brought into the cache ?
The two possibilities I can see is that, either the 64 bytes start at the closest 64 bytes boundary below the byte of interest, or the 64 bytes are spread around the byte in some predetermined way (for instance, half under, half above, or all above).
Which is it ?