In a microcomputer, the addresses of memory locations are binary numbers that identify each memory circuit where a byte is stored. The number of bits that make up an address depends on how many memory locations there are. Since the number of bits can be very large, the addresses are often specified in hex instead of binary. i. If a microcomputer uses a 20-bit address, how many different memory locations are there? ii. How many hex digits are needed to represent the address of a memory location there? iii. What is the hex address of the 255th memory location? (Note: The first address is always 0) iv. The computer program is stored in the lowest 2kbyte block of memory. Give the start and end address of this block.
Facts about the address bus:
i) For the given micro-computer, the number of addresses bits (n)=20
So, number of memory locations "=2^{20}"
ii)
For, Hex-bits "0x00000 - 0xFFFFF = 1M (1024^2)" address
DX = 0x0800
DS = 0x1000
Hence, we can conclude that it will be 5.
iii) The required memory location will be
DX = 0x0800
DS = 0x1000
iv) The size of the block address = 2kbytes blocks of memory
Starting address = Ending address - Offset
Ending address = Starting address + Offset
"2kb= 2\\times 1 kb"
"=2\\times 1024\\times 8"
"=2^{11}\\times 8"
So, offset =07FFH
Here ending address is not mentioned, so without it, we can not determine.
Comments
Leave a comment