Question

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.

Was it helpful?

Solution

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!

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top