0% found this document useful (0 votes)
2 views

Direct Mapping Problem

The document presents solutions for three cache mapping problems: direct mapping, fully associative mapping, and set associative mapping. It calculates the number of bits in the tag, the size of the tag directory, and the size of main memory for each mapping type. Key results include a 3-bit tag and 24-byte tag directory for direct mapping, a 27-bit address and 1088-byte tag directory for fully associative mapping, and a 23-bit address with a 448-byte tag directory for set associative mapping.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

Direct Mapping Problem

The document presents solutions for three cache mapping problems: direct mapping, fully associative mapping, and set associative mapping. It calculates the number of bits in the tag, the size of the tag directory, and the size of main memory for each mapping type. Key results include a 3-bit tag and 24-byte tag directory for direct mapping, a 27-bit address and 1088-byte tag directory for fully associative mapping, and a 23-bit address with a 448-byte tag directory for set associative mapping.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

Problem-01: On Direct Mapping

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 (128 KB * 1024 bytes= 131072 bytes)
= 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 x Tag size
= Number of lines in cache x Number of bits in tag
= 26 x 3 bits
= 192 bits (192 bit /8=24 bytes)
= 24 bytes
Thus, size of tag directory = 24 bytes

Problem-02: on Associative Mapping

Consider a fully associative mapped cache of size 512 KB with block size 1 KB. There
are 17 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 = 17 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 Physical Address-

Number of bits in physical address


= Number of bits in tag + Number of bits in block offset
= 17 bits + 10 bits
= 27 bits
Thus, Number of bits in physical address = 27 bits

Size of Main Memory-

We have,
Number of bits in physical address = 27 bits
Thus, Size of main memory
= 227 bytes
= 128 MB

Number of Lines in Cache-

Total number of lines in cache


= Cache size / Line size
= 512 KB / 1 KB
= 512 lines
= 29 lines
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 17 bits
= 8704 bits
= 1088 bytes
Thus, size of tag directory = 1088 bytes

Problem-03: set associative mapping

Consider a 8-way set associative 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-
● Set size = 8
● 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 Lines in Cache-

Total number of lines in cache


= Cache size / Line size
= 512 KB / 1 KB
= 512 lines
Thus, Number of lines in cache = 512 lines

Number of Sets in Cache-

Total number of sets in cache


= Total number of lines in cache / Set size
= 512 / 8
= 64 sets
= 26 sets
Thus, Number of bits in set number = 6 bits

Number of Bits in Physical Address-

Number of bits in physical address


= Number of bits in tag + Number of bits in set number + Number of bits in block offset
= 7 bits + 6 bits + 10 bits
= 23 bits
Thus, Number of bits in physical address = 23 bits
Size of Main Memory-

We have,
Number of bits in physical address = 23 bits
Thus, Size of main memory
= 223 bytes
= 8 MB

Tag Directory Size-

Tag directory size


= Number of tags x Tag size
= Number of lines in cache x Number of bits in tag
= 512 x 7 bits
= 3584 bits
= 448 bytes
Thus, size of tag directory = 448 bytes

You might also like