-1

It is desired to design a 64kb memory decoder for the 8086 microprocessor using two 16KB SRAM and two 16KB EPROM chips. Assuming the microprocessor wants to write to memory address 0A557H, which chip select and location select will the system use?

I know that the 8086 microprocessor has 20 address lines and 14 address lines could be used for location select if we were considering only one 16KB RAM and 4 lines for chip select.
Location select: A0-A13 and Chip select: A14-A19

I am confused about going forward to solve this question as we expect to see such in exams.

Peter Cordes
  • 328,167
  • 45
  • 605
  • 847
myestery
  • 105
  • 1
  • 11
  • 1
    You mention 4 lines for chip select, which could choose among 16 different 16k chips. Then you mention 6 lines (A14-A19) for chip select. Meanwhile, you're trying to design a 64kb memory map, which would necessitate minimum of 2 chip select lines to choose among the 4 chips. – Erik Eidt Nov 01 '21 at 19:03

1 Answers1

2

How to design memory map...?

You can put the each of the 2 16k-RAMs and 2 16k-ROMs almost anywhere in the 1MB address space (i.e. as long as no two overlap each other), so you might develop some other criteria to help you choose.

  1.   It would make most sense for the RAMs to be consecutive with each other, so that you'd have one larger 32k RAM area rather than two 16k RAM section separated in the address space — that will result in more flexibility and ease of use for software.

  2.   Software memory model: the small memory model for x86 means that the program need store only 16 bits for pointers.  The manner in which code in ROM interacts with code in RAM interact may or may not suggest placing both with some 16 bit address space.

  3.   Expandability:  If the system later allows expansion of either the amount of RAM or ROM, there is then an argument for leaving a gap between them for the other to expand into, at the cost of having to deal with a larger portion of the 1MB address space, possibly requiring pointers larger than 16-bits wide to be used in some cases.

  4.   Using the least number of address lines would suggest using the lowest part of the 1MB address space.

Other criteria can be identified also, I'm sure.

Erik Eidt
  • 23,049
  • 2
  • 29
  • 53