I've been chugging through my homework and this question keeps haunting me. Am I doing it all wrong?
I've taken the stance that the 'block address' is the part of these 32 bit reference addresses (given in most problems) that do not include the least-significant bits used as the byte offset (the part useful for selecting a word (or byte) within a block.
To demonstrate, say we are using a direct-mapped cache and given a 32 bit reference address such as 0000 0000 0000 0000 1111 1100 0001 1100 and that the tag is 24 bits, the index is 6 bits, and the offset is 2 bits.
My textbook (Computer Organization and Design: MIPS Edition) states that the block a given address maps to in a direct mapped cache is found by (block address) modulo (number of blocks in the cache). If I include the offset in this calculation as part of the 'block address' the resulting block I would indicate a hit/miss/store from would be very different than if I hadn't.
Thus, it would put me at ease to know if anyone knew if 'block address' was just another term for 'address' (the entire 32 bit reference) or if it means what I think it means which is the concatenation of the Tag and the Index (nothing more). Anyone know?