Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.2 9/18/84; site peora.UUCP
Path: utzoo!watmath!clyde!bonnie!akgua!whuxlm!harpo!decvax!tektronix!uw-beaver!cornell!vax135!petsd!peora!jer
From: jer@peora.UUCP (J. Eric Roskos)
Newsgroups: net.arch,net.micro,net.micro.68k,net.micro.pc,net.lang.c
Subject: Re: M680*0 "small model"
Message-ID: <1137@peora.UUCP>
Date: Mon, 24-Jun-85 08:32:08 EDT
Article-I.D.: peora.1137
Posted: Mon Jun 24 08:32:08 1985
Date-Received: Thu, 27-Jun-85 06:21:40 EDT
References: <167@mot.UUCP> <223@anasazi.UUCP>
Followup-To: net.arch
Organization: Perkin-Elmer SDC, Orlando, Fl.
Lines: 45
Xref: watmath net.arch:1485 net.micro:10877 net.micro.68k:965 net.micro.pc:4373 net.lang.c:5415

> 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."