Practice
Problems Based on Direct Mapping
Question-01: Consider
a direct mapped cache of size 16 KB with block size 256 bytes. The size of main
memory is 128 KB. Find-
1) Number of bits in tag
2) Tag directory size
Solution:
Given-
Cache
memory size = 16 KB
Block
size = Frame size = Line size = 256 bytes
Main
memory size = 128 KB
We consider that the memory is byte addressable.
Number
of Bits in Physical Address-
We have,
Size of main memory
= 128 KB
=
217 bytes
Thus, Number of bits in physical address = 17 bits
Number of Bits in Block
Offset-
We have,
Block size
= 256 bytes
= 28 bytes
Thus, Number of bits in
block offset = 8 bits
Number of Bits in Line
Number-
Total number of lines in
cache
= Cache size / Line size
= 16 KB / 256 bytes
= 214 bytes /
28 bytes
= 26 lines
Thus, Number of bits in
line number = 6 bits
Number of Bits in Tag-
Number of bits in tag
= Number of bits in
physical address – (Number of bits in line number + Number of bits in block
offset)
= 17 bits – (6 bits + 8
bits)
= 17 bits – 14 bits
= 3 bits
Thus, Number of bits in
tag = 3 bits
Tag Directory Size-
Tag directory size
= Number of tags ×
Tag size
= Number of lines in
cache × Number of bits in tag
= 26 x 3 bits
= 192 bits
= 24 bytes
Thus, size of tag directory = 24 bytes
Question-02: Consider
a direct mapped cache of size 512 KB with block size 1 KB. There are 7 bits in
the tag. Find-
1) Size
of main memory
2) Tag directory size
Solution:
Given-
Cache memory size = 512
KB
Block size = Frame size =
Line size = 1 KB
Number of bits in tag = 7
bits
We consider that the
memory is byte addressable.
Number of Bits in Block
Offset-
We have,
Block size
= 1 KB
= 210 bytes
Thus, Number of bits in
block offset = 10 bits
Number of Bits in Line
Number-
Total number of lines in
cache
= Cache size / Line size
= 512 KB / 1 KB
= 29 lines
Thus, Number of bits in
line number = 9 bits
Number of Bits in
Physical Address-
Number of bits in
physical address
= Number of bits in tag +
Number of bits in line number + Number of bits in block offset
= 7 bits + 9 bits + 10
bits
= 26 bits
Thus, Number of bits in physical address = 26 bits
Size of Main Memory-
We have,
Number of bits in
physical address = 26 bits
Thus, Size of main memory
= 226 bytes
= 64 MB
Tag Directory Size-
Tag directory size
= Number of tags x Tag
size
= Number of lines in
cache x Number of bits in tag
= 29 x 7 bits
= 3584 bits
= 448 bytes
Thus, size of tag
directory = 448 bytes
0 Comments