Msg: 850 *Conference*
11-07-91 23:40:33
From: TRACY ALLEN
To : BARRY WAGNER
Subj: REPLY TO MSG #843 (RAM EXPANSION)
Dear Barry, The first limitation is the 80C85 cpu, which has 16 address lines. Two to the sixteenth power is 65536 bytes--64K--address space. 32K of that is the system ROM and 32K is RAM. And almost 3000 bytes of RAM are taken up by the system. The easiest way to add memory is by swapping in entire 32K banks, or by having the memory as an external device, like a disk drive. It is not possible with the existing ROM to extend the 32K RAM limit so that lots of memory appears as one contiguous space. There are ways around those limits, and you've seen that it might take a replacement of the ROM. It would be kind of like the ways people found to break the 640K barrier on DOS machines. One of the first computers I worked on was the PDP8 which had a 12-bit (4096 byte) address space. But it had a couple of machine instructions called "Change data page" and Change instruction page". Each page was 4096 bytes long. And before your program could retrieve data it had to compute what page the data was on and "turn" to the correct page. Same for program flow--the programmer had to keep track of what page she was on. A royal pain, but it worked. And that is how extended memory schemes work too, except the pages are defined by calling software routines. Slow royal pain. That's why it's easier to start with a cpu that already has a huge address space. 17 megabytes, huh? 32 bits is just four megabytes, like the 68000. Or, go zen. Write haiku.