Lisa (was Re: Olivetti M20)

Chuck Guzis cclist at sydex.com
Wed Jan 17 13:57:34 CST 2007


On 17 Jan 2007 at 11:22, Don North wrote:

> Lisa (and Macintosh) used the original 68000 which was not capable of
> recovering from an arbitrary access (page) fault in the middle of an
> instruction (the updated 68010 fixed this, but Apple never used it).
> The 68000 did lot leave enough info on the fault stack to indicate
> which memory access within an instruction faulted, and which registers
> might have been auto-incremented/decremented.

Exactly why I said that calling the Lisa architecture "virtual 
memory" is misleading at best.  One could not write a loop to move 2 
megabytes using a simple MOVEM/SUBQ/BNE  loop as if all of the memory 
were seamlessly continuous and present. 

I remember trying to make a list of 68K instructions that could be 
restarted, wondering if it might be possible to construct a useful 
subset.  One of the gotchas was that the bus error handling in the 
68K gave you a P-counter that was only guaranteed to be "in the 
vicinity" of the failing instruction.  I gave up after awhile.

Of course, it wasn't necessary to implement virtual memory in 
hardware.  JRT Pascal did it--on floppy yet. (an interesting aspect 
of an otherwise miserable product).  

Cheers,
Chuck











> 
> On the Lisa all accesses to memory that was not previously known
> to be memory resident used a probe instruction (a TST.W (A0), IIRC)
> that only did one memory access and did not alter the registers.
> Lisa was a segmented memory architecture, not demand paged, so the
> overhead was not too great. Stack extension also used this probe IIRC.
> 
> 
> 





More information about the cctech mailing list