0
$\begingroup$

I was reading a textbook which describe general organization of cache as: enter image description here

enter image description here

Then an exercise is, given m=32, C = 1024, B = 8,E = 4, S = 32, so s = 5, b = 3, therefore t = 32-5-3 = 24

I am a little bit confused here, since E = 4, we only need 2 bits to differentiate it, so t should be 2, if t is 24, isn't that we waste 22 bits?

$\endgroup$
1
0
$\begingroup$

For every cache set, there are $2^t$ blocks that can potentially be stored in there. However, only $E$ of them are actually stored at any particular time - typically, these would be the "most recently used" ones.

Incidentally, the whole reason for storing the tags themselves inside the cache is to be able to tell which ones are currently cached. The block's tag is not the "index" of a cache line, it's a $t$-bit identifier which is literally compared against every tag in the set in order to check whether this block is available or not.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.