M680*0 "small model"

J. Eric Roskos jer at peora.UUCP
Mon Jun 24 22:32:08 AEST 1985


> If your 68000 system has an MMU, it might be almost reasonable, but even
> there, many OS's are not set up to let user programs address the range
> ffff8000 to ffffffff.

I get the feeling this statement is based on ONE operating system, the OS
for the Apple Macintosh.  One of its major flaws is that certain types of
program segments are limited to 32K.  I believe, if I'm not mistaken, that
this is because they used entirely PC-relative addressing in order to aid
in code relocation.

> Don't get me wrong.  I'm no fan of the 8086 architecture.  But at least
> things like PC/IX are possible on an 8086 system without an MMU,
> with lots of small model processes running that the OS can switch
> between easily.

Is it true that PC/IX uses this approach?  It had been my understanding that
PC/IX worked more or less like AT&T's "Mini-Unix*" for the PDP-11/03, where
the old process was swapped out and the new one swapped in each time a new
process was scheduled to run.

Actually, that is one of the few places where the 8086's segmentation
registers would seem particularly useful to me.  Unfortunately, the unflagging
demand for "large model" compilers on the part of IBM PC users more or less
did away with the chance for that sort of thing.

> A fairer "small model" for the 68000 would use (Am,Dn.W) addressing
> modes, with the 16-bit pointer in Dn and some kind of base address
> in Am.

I think the Macintosh's OS does this for the data segment; i.e., data is
all addressed off one base register.

----------

NOTE: followups to this article will go to net.arch, where they more properly
belong.

*Unix is a trademark of AT&T.
-- 
Shyy-Anzr:  J. Eric Roskos
UUCP:       ..!{decvax,ucbvax,ihnp4}!vax135!petsd!peora!jer
US Mail:    MS 795; Perkin-Elmer SDC;
	    2486 Sand Lake Road, Orlando, FL 32809-7642

	    "Erny vfgf qba'g hfr Xbqnpuebzr."



More information about the Comp.lang.c mailing list