The Gateway to Computer Science Excellence
First time here? Checkout the FAQ!
+10 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
asked in CO & Architecture by Veteran (59.5k points)
edited by | 1.2k views

3 Answers

+19 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 \bmod c.$
answered by Veteran (355k points)
edited by
Answer should be (k mod c)
That was a silly mistake. Thanks :)
great explanation arjun sir
+4 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
answered by Active (4k points)
0 votes
K(bolck no.) mod c(no of set)
answered by (149 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

37,998 questions
45,495 answers
48,629 users