Attempting to do this study guide, but i'm not finding too much help online. Any help is welcome, and a explanation would be nice, as my text book does not describe how to answer a problem given the information.

The figure: Microprocessor][2]


  1. How much physical memory can the microprocessor address?

  2. How many words does the memory IC contain?

  3. What is the address range for the memory? That is, if one wanted to access this memory with a program, what range of addresses would "talk" to this memory chip?

  • \$\begingroup\$ You should be able to quickly find answers to this type of question on the web. For example, I searched for address range of 24 bits and found Wikipedia "24 bit". You have been fortunate that anyone answered, we usually expect more evidence of effort. \$\endgroup\$ – gbulmer Dec 18 '15 at 9:38
  • \$\begingroup\$ @gbulmer well that's not quite what I was looking for nor is that the correct cpu/memory design \$\endgroup\$ – StingRay21 Dec 18 '15 at 14:36
  • \$\begingroup\$ I think the wikipedia link answers part 1 of your question, "How much physical memory can the microprocessor address?". Similarly part 2 of your question is answered by the Wikipedia 18-bit address range of the memory. If that is not the case, then IMHO you need to update your question to explain why, because the answer you have accepted is that same information. \$\endgroup\$ – gbulmer Dec 18 '15 at 14:41
  • \$\begingroup\$ @gbulmer ahh I see now. I didn't see the correlation when I very first searched and looked through those wiki pages. Thank you very much :) \$\endgroup\$ – StingRay21 Dec 18 '15 at 15:09
  1. A23 to A0 would be a 24 bit wide address bus. 2^24 = 16,777,216 words.
  2. The memory device address bus is A17 to A0, so 18 bits wide. Up to 64 memory devices could be used (6 bit wide Chip Select, A23 to A18.) Each memory device contains 2^18 = 262,144 words internally (based on the 18 bit memory address.)
  1. How many bits wide is the address bus of the MCU? So how many words is that? (hint: 1bit = 2^1 = 2 words. 2bit = 2^2 = 4 words)
  2. How wide is the memory address bus? So how many words does it contain?
  3. What value do the upper bits of the address bus (those connected to the address decode module) have to be in order for the select_memory signal to be asserted? (make a lookup table for the circuit of the decode described). Now you know the starting address (upper bits select the memory, lower bits are 0), and the ending address (upper bits still selecting the memory, lower bits all 1). So convert both those binary numbers to decimal and you have your range of addresses.
  • \$\begingroup\$ 1. Well the Data bus is 32 bits, but the address bus is 24. Which is where im confused at, which one is it? Even though it only has 18 usable bits, the address decoder should be able to utilize more correct? \$\endgroup\$ – StingRay21 Dec 18 '15 at 5:03
  • \$\begingroup\$ The size of the data bus tells you how bit one 'word' is. The address bus tells you how many words there are. \$\endgroup\$ – Tom Carpenter Dec 18 '15 at 6:04
  • \$\begingroup\$ Thank you so much, i finally understand that now! So there are 32 bits for the data bus, meaning one word is 32bits. And there are 24 address bits which means there are 24 words. Correct? \$\endgroup\$ – StingRay21 Dec 18 '15 at 6:21

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.