The Gateway to Computer Science Excellence
First time here? Checkout the FAQ!
+8 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 (69k points)
retagged by | 1k views

3 Answers

+15 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 (346k points)
edited by
Answer should be (k mod c)
That was a silly mistake. Thanks :)
+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 Loyal (3.8k points)
–1 vote
K(bolck no.) mod c(no of set)
answered by (141 points)

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

33,593 questions
40,128 answers
38,389 users