You are on page 1of 1

A 16 bit address bus can address 2^16 unique values since each value can be 0 or 1.

Hence, if we start
from 0 a 16 bit bus can address from 0 to 2^16-1 in decimal numbers. Representing in hexadecimals this
value will be 0000H to FFFFH. Now, it is given that 8-bit wide memory can be addressed with it. This
means minimum chunks of memory allocation have to be 8-bit for any purpose. To represent values
given in the question, we need to find the hexadecimal form of the numbers mentioned in the question.

ROM will begin at 0H and will occupy 8kb. 8kb in hexadecimal is equal to 2000H. So, ROM will occpy 0H
to 1FFFH. Now in the 16 bit memory division only 8 bit has been addressed. Next 8 bit is unused and
therefore can be used to occupy video RAM which is also 8kb . So, video RAM will start at 2000H and
end after 8kb i.e. at 3FFFH. Now the user RAM of 32kb is allocated 2 16 bit blocks. It starts at 4000H
since all components are contiguous to avoid fragmentation of memory. It occupies 32kb i.e. 7FFFH
from 4000H i.e. it ends at BFFFH. The memory blocks ahead i.e. from C000H to FFFFH remains unused.

FFFFH

Unused

C000H
BFFFH

User RAM

8000H
7FFFH

4000H
Video RAM
2000H
1FFFH
ROM
0000H

You might also like