A certain 64-bit interfacing DRAM has 4-way address interleaving with four memory banks M0, M1, M2 and M3 (where M0 is the first bank). Determine the bank to which each of the following addresses is assigned:
(a) 764733h
(b) 215ACDh
GIVENTHAT:-
In this case, the address-interleaving happens in circular pattern, as follows :
address 0x0 maps to M0
address 0x1 maps to M1
address 0x2 maps to M2
address 0x3 maps to M3
address 0x4 maps to M0
address 0x5 maps to M1
address 0x6 maps to M2
address 0x7 maps to M3
address 0x8 maps to M0
...
...
... and so on ..
In general, for n memory banks, the lowest log2n bits of the
address determine the bank to which the address maps to.
Here,
n = 4
So, lowest log24 = 2 bits of the address determine the bank.
Following is the mapping :
Lowest 2 bits = 00 => M0
Lowest 2 bits = 01 => M1
Lowest 2 bits = 10 => M2
Lowest 2 bits = 11 => M3
Thus, for addresses :
(a)
764733h
Writing the lowest nibble (3) in bits, we get
0011
Thus, this address maps to
M3
(b)
215ACDh
Writing the lowest nibble (D) in bits, we get
1101
Thus, this address maps to
M1
Get Answers For Free
Most questions answered within 1 hours.