I was solving some old MCQs and found this question:

A RAM chip has 7 address lines, 8 data lines and 2 chip select lines. Then the number of memory locations is _____.

(A) $2^{12}$ (B) $2^{10}$ (C) $2^{19}$ (D) $2^{13}$

Assuming a word consisting of a byte, this should have

2 chip select lines, meaning total $2^2$ chips.

With 7 address lines, we can address $2^7$ memory locations in a chip.

8 data lines should be used to access only the data in the memory location, and not to specify any location.

That'll make for a total of $2^2\times2^7=2^9$ memory locations. But none of the option matches my answer. What should be the correct answer?

  • $\begingroup$ My guess would be $2^2 \times 2^7 \times 8 = 2^{12}$. $\endgroup$ – Yuval Filmus Apr 10 '20 at 12:57
  • $\begingroup$ There's always a correct answer and an expected answer, and they are often not the same. With the information given, Yuval's is a good guess that the question considers each bit to be stored in its own memory location, making the answer $2^{12}$ - 512 addresses, and 8 bits per address. If $2^9$ was in the list of possible answers, or "none of the above", you'd pick that instead. $\endgroup$ – gnasher729 Apr 10 '20 at 14:44
  • 1
    $\begingroup$ I'm nitpicking, but the fact that there are 2 chip select lines doesn't mean that all 4 chips exist. The same goes for the 7 address lines.. maybe not all addresses are valid. I could even think of a RAM chip with unaddressable locations... A better question would have been "What is the maximum number of addressable locations?" $\endgroup$ – Steven Apr 11 '20 at 1:13
  • $\begingroup$ What I don't understand is why do we have to multiply the 8 data lines in it? any reason? $\endgroup$ – Adnan Apr 12 '20 at 19:16

Here is an actual chip! From the '70s :

Motorola MC6810



128 bytes : 128 * 8bits = 1024 bits = $2^{10}$ "memory cells".

I suppose the author considers each bit in a RAM as a "memory location", the way a memory is addressed, the data bus width, doesn't change its capacity : A 1Mega * 8bits RAM has the same capacity as a 512k * 16bits.

On the MC6810, there are 6 chip select inputs, but they are used to ease the selection of different chips connected in parallel, they don't add to the RAM storage capacity.

  • $\begingroup$ imgur.com/a/tWK6LGM We can see 7 address lines, and 8 data lines. Motorola also states this is 128x8 bit chip, so having 4 such chips in parallel can provide 128x4 = 512x8bits of data. So can we say the options in the question are incorrect? $\endgroup$ – Adnan Apr 25 '20 at 19:06

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.