1k views

The main memory of a computer has 2 cm blocks while the cache has 2c blocks. If the cache uses the set associative mapping scheme with 2 blocks per set, then block k of the main memory maps to the set

1. (k mod m) of the cache
2. (k mod c) of the cache
3. (k mod 2c) of the cache
4. (k mod 2 cm) of the cache

retagged | 1k views

Number of cache blocks $= 2c$

Number of sets in cache $=\dfrac{2c}{2}=c$ since each set has $2$ blocks. Now, a block of
main memory gets mapped to a set (associativity of $2$ just means there are space for
$2$ memory blocks in a cache set), and we have $2\,cm$ blocks being mapped to $c$ sets.
So, in each set $2m$ different main memory blocks can come and block $k$ of
main memory will be mapped to $k \bmod c.$
edited
Answer should be (k mod c)
That was a silly mistake. Thanks :)
Cache set no=(Main memory block no.) mod  (Total sets in cache)
total sets in cache=(total blocks in cache)/(total blocks in set)=(2c)/(2)=c
cache se no=(k) mod (c)=k mod c
–1 vote
K(bolck no.) mod c(no of set)