General Question

fariedthemanimal's avatar

A memory unit stores 2^16 bytes in 32-bit words. How many address bits are necessary in order to retrieve a single word from this memory unit?

Asked by fariedthemanimal (8 points ) December 12th, 2012

The answer, as given, is 14.

2^16 bytes implies that there are 16 address bits, no? So why isn’t it 16?

Observing members: 0 Composing members: 0

5 Answers

gasman's avatar

Each word is 4 bytes, which occupies 4 consecutive addresses at 16 bits each. The first 14 bits of these addresses will be the same, differing only in the two least significant bits. You only need to specify the first 14 bits, because there are only 2^14 words occupying those 2^16 bytes.

PhiNotPi's avatar

There are 2^16 bytes, and each word contains 4 bytes (32 bytes), then there must be 2^16 / 4 = 2^14 words. This requires 14 bits of memory to form an address.

Response moderated (Spam)
Response moderated (Spam)
dabbler's avatar

The key word is “necessary”, i.e. minimal number that would allow you access to all the memory, a word at a time. In which case 14 is the correct answer.
The system would have to fetch the whole word if only a byte of data is needed.

Answer this question

Login

or

Join

to answer.

This question is in the General Section. Responses must be helpful and on-topic.

Your answer will be saved while you login or join.

Have a question? Ask Fluther!

What do you know more about?
or
Knowledge Networking @ Fluther