The Gateway to Computer Science Excellence
+18 votes

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
in CO and Architecture by Veteran (52.2k points)
edited by | 2.1k views
K(bolck no.) mod c(no of set)

2 Answers

+31 votes
Best answer
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 by
Answer should be (k mod c)
That was a silly mistake. Thanks :)
great explanation arjun sir
Nice Explanation Sir.
+6 votes
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)

Related questions

Quick search syntax
tags tag:apple
author user:martin
title title:apple
content content:apple
exclude -tag:apple
force match +apple
views views:100
score score:10
answers answers:2
is accepted isaccepted:true
is closed isclosed:true
50,737 questions
57,292 answers
104,919 users