a.
The
size of one memory is 128´210´24 = 221 bits.
The total size
of memory needed is 1M bytes = 220 bytes = 220´23 bits = 223 bits.
Therefore, we
need 223/221 = 4 128K´16
DRAM chips to provide memory capacity of 1M bytes.
b.
If
each word has 16 bits, then we need log2(128´210) = 17 address lines for each 128K´16
DRAM chip. For the 1M bytes capacity, we need 4 of these chips, i.e. in total
17´4 =
68 address lines. But this is not enough! We still have to select which chip to
use i.e. we need 2 extra address lines since log2(4 chips) = 2. In
total we need 70 address lines to access the 1M bytes.
(note that a 2-to-4 decoder is
needed to select which chip to use).