I have to fill in the blanks for a 2 4mb RAM chip and 2 64kb ROM chip. I don't understand how to do it. Any type of input on it would help.
| Starting Address (Binary) | Starting Add. (Hex)| Ending Add. (Hex)|
4mb RAM1 | 0000 0000 0000 0000 0000 0000 | 00 00 00 | |
4mb RAM2 | | | |
-------------------------------------------------------------------------------------
64kbROM1 | 1010 0000 0000 0000 0000 0000 | A0 00 00 | |
64kbROM2 | | | |
I think that for RAM 1 the ending address is FF FF FF. But I do not know where to start with the next starting binary address.
OK - this is really just simple arithmetic with hex and binary. I'll get you started - see if you can fill in the rest...
| Starting Address (Binary) | Starting Add. (Hex)| Ending Add. (Hex)|
4MB RAM1 | 0000 0000 0000 0000 0000 0000 | 00 00 00 | 3F FF FF |
4MB RAM2 | 0100 0000 0000 0000 0000 0000 | 40 00 00 | |
------------------------------------------------------------------------------------
64kB ROM1 | 1010 0000 0000 0000 0000 0000 | A0 00 00 | |
64kB ROM2 | | | |
A useful quantity to remember is 1 MB == 100000 in hexadecimal.
Also note that the unit for byte is B
(upper case), mega is M
(upper case) and kilo is k
(lower case). So it's kB
for kilobytes, and MB
for megabytes. If you think this is pedantic then note that lower case m
means "milli", which is 1/1000th of a unit - I doubt that your system has 4 millibyte RAM modules!