Path: utzoo!mnetor!uunet!husc6!bloom-beacon!tut.cis.ohio-state.edu!mailrus!ames!lamaster
From: lamaster@ames.arpa (Hugh LaMaster)
Newsgroups: comp.arch
Subject: Re: Is the Intel memory model safe from NO-ONE ?!?
Message-ID: <8487@ames.arpa>
Date: 9 May 88 01:01:12 GMT
References: <1806@obiwan.mips.COM> <2904@omepd> <353@cf-cm.UUCP> <2411@louie.udel.EDU>
Reply-To: lamaster@ames.arc.nasa.gov.UUCP (Hugh LaMaster)
Organization: NASA Ames Research Center, Moffett Field, Calif.
Lines: 40
Keywords: 386 intel memory protection management model segmented

In article <2411@louie.udel.EDU> rminnich@udel.EDU (Ron Minnich) writes:

>   But having used segmented machines (done right, at Burroughs) and
>non-segmented machines, i can say that i trust programs running
>on segmented machines a whole lot more. And I trust C programs
>running on non-segmented machines not-a-whit- just ask anybody
>who knows about NULL pointers.

Several other postings defended segmentation as a Good Thing.  I think
several of the posters are assuming that two different uses of "segmentation"
are synonyms or at least must go together.  As a counterexample, consider
the (infamous?) IBM 370.  It has a linear 24 (now 32) bit 
 address space.  It also
has Segmented Page Tables, which permit, for example, memory segments 
(or sections if you are used to a different terminology) to be shared
(read only if you like) and so on.  If you had a 64 bit linear address
space, you could have 2^31 (or 32) memory sections of 2^32 bytes long, and
put every data structure in its own section, if you wanted.  

Anyway, what is wrong with "Intel" style (also used in other machines)
of "segmentation"?  Well, if I need more than 2^32 bytes of memory,
I probably need a Single Array of more than 2^32 bytes, and I probably
need to address it very efficiently (Uh oh, it's those pesky scientific
programmers again...)   Now, I probably can't afford to load a segment
register before every memory reference.  Especially if I am using vector
instructions and might cross a segment boundary in the middle of an
instruction.  

The first kind of segmentation, segmented page tables, is a Good Thing.  It
can also do everything that the second kind of segmentation, the Bad Kind,
can do, and without the drawbacks.  Except for one- bigger addresses.  Well,
nothing is for free.



-- 
  Hugh LaMaster, m/s 233-9,  UUCP {topaz,lll-crg,ucbvax}!
  NASA Ames Research Center                ames!lamaster
  Moffett Field, CA 94035    ARPA lamaster@ames.arpa
  Phone:  (415)694-6117      ARPA lamaster@ames.arc.nasa.gov