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.