Q. Consider a direct mapped cache of size 16 KB with block size of 256 bytes. The size of main memory is 128 KB.
1. Find number of bits in tag
2. Find tag directory size
Ans. First we have to find the number of bits in each given memory.
Cache of size = 16 KB = 214 bytes => Its having 14 bits
Block size = 256 bytes = 28 bytes => Its having 8 bits
Main memory size = 128 KB = 217 bytes => Its having 17 bits
From above image,
Number of bits in main memory = bits in tag + bits in cache line + bits in block
Number of bits in Line number = Cache size / Block size
= 214 bytes / 28 bytes
Line number having 6 bits.
Number of bits in Tag
Number of bits in Tag =
Number of bits in main memory – number of bits in line number – number of bits in block
= 17 – Line bits – Block bits
= 17 – 6 – 8 =3
Tag directory size
Tag directory size = Size of line number X Number of bits in tag
=26 X 3 bits
= 192 bits
= 192 / 8 bytes
= 24 bytes