# GATE1999-1.22

4.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
0
K(bolck no.) mod c(no of set)
0

option B) (mod c) of the cache is the 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$

edited
4
Answer should be (k mod c)
2
That was a silly mistake. Thanks :)
2
great explanation arjun sir
1
Nice Explanation Sir.
0

Shouldn’t the answer be $k\ mod\ 2c$ according to answer provided in https://gateoverflow.in/1442/gate2013-20. I agree that $k\ mod\ c$ is correct here. But both answers seem conceptually different to me.

0

In the Gate 2013 question link you provided, the question is kth block of MM is mapped to which cache line, whereas in this question it is asked kth block of MM is mapped to which cache set.

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

## Related questions

1
4.7k views
The main difference(s) between a CISC and a RISC processor is/are that a RISC processor typically has fewer instructions has fewer addressing modes has more registers is easier to implement using hard-wired logic
Consider the following program fragment in the assembly language of a certain hypothetical processor. The processor has three general purpose registers $R1, R2$and $R3$. The meanings of the instructions are shown by comments (starting with ;) after the instructions. X: CMP R1, 0; ... $R3$ when control reaches $Z$?
An instruction pipeline consists of $4$ stages - Fetch $(F)$, Decode field $(D)$, Execute $(E)$ and Result Write $(W)$. The $5$ instructions in a certain instruction sequence need these stages for the different number of clock cycles as shown by the table below \begin{array}{ ... & \text{$1$} & \text{$2$} \\\hline \end{array} Find the number of clock cycles needed to perform the $5$ instructions.