115k views
2 votes
Suppose a computer using set associative cache has 221 bytes of main memory, and a cache of 64 blocks, where each cache block contains 4 bytes. a) If this cache is 2-way set associative, what is the format of a memory address as seen by the cache, i.e., what are the sizes of the tag, set, and offset fields

User Tanishia
by
7.8k points

1 Answer

0 votes

Answer:

Tag = 1

Index = 5

Block offset = 2

Step-by-step explanation:

From the given information:

The main memory bits(MM) = 221

number of block in the cache = 64 blocks

Block size = 4B

Recall that;

MM = log (memory size)

Thus;

main memory bits = log (221)

= 8 bits

Since this is a 2-way assoicative set;

the number of set in each cache = block size/2

64/2 = 32

Now, the index bit = log( no of set in each cache)

= log(32)

= 5 bits

Also since block size = 4B;

the block offset = log(4) = 2 bits

As such, tag = main memory bits - (index bit + block offset)

tag = 8 -(5 + 2)

tag = 8 -7

tag = 1