2.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

edited | 2.1k views
0
K(bolck no.) mod c(no of set)

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 \ mod \ c.$
Correct Answer: $B$
by Veteran (431k points)
edited
+2
Answer should be (k mod c)
0
That was a silly mistake. Thanks :)
0
great explanation arjun sir
0
Nice Explanation Sir.
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
by Active (4.8k points)