Article View: comp.arch
Article #21110Re: unconventional architectures
From: Piercarlo Grandi
Date: Sun, 07 May 1989 21:49
Date: Sun, 07 May 1989 21:49
43 lines
3063 bytes
3063 bytes
In article <89May7.001514edt.39763@neat.ai.toronto.edu> bradb@ai.toronto.edu (Brad Brown) writes:
But consider how C is implemented on the 8086 and it's brethren: You
simulate a flat address space and give the programmer a bunch of
different memory models so they can decide how big their flat space is.
Well, the problem with the Intel architecture is that it was designed for
Pascal, whose pointers can only point to heap allocated objects (and no
arithmetic on them is allowed). As far as Pascal is concerned, the Intel
architecture has (three/four) flat address spaces, and the fact that they
are "distinct" is not a problem. The 386 is the same, but the common trick is
to superimpose them (all three/four segment registers have the same value),
which is practical because they are large. You can do that also on the
smaller ones, getting a 64k flat address space, just like non sep I/D
PDP-11s (on which I used to run 2.9BSD with 5 users on a 248k machine...).
Or you can simulate sep I/D by overlapping only the stack and data address
spaces.
The point is that C wants to be able to point anywhere in memory, more
or less, whereas really segmented machines like the Buroughs I was
talking about get thier protection ability from having a segment for
each (more or less) object in the system.
If I remember well, the average segment size in a Burroughs is of the order
of seven-ten words. Moreover addresses do not mean much in a Burroughs
type architecture; segments are accessed via descriptors, not addresses.
I find hard to say that the Burroughs has a concept of "address space" like
say a 68000 or even a 80x86.
I'm sure that C *could* be implemented on that machine, but the
architecture would get in the way.
I remember having seen on Soft.Pract.Exp. a paper on this -- I don't remember
whether it was a BCPL or C implementation (does not make much difference to
our discussion here), but indeed they found that there is a (huge) mismatch
between what is almost a capability, fragmented address space architecture,
and C/BCPL. It can be papered over, but not easily. Moreover the protection
scheme of the Burroughs makes things even more difficult (see Organick, the
B6700 architecture, MIT press) for C.
--
Piercarlo "Peter" Grandi | ARPA: pcg%cs.aber.ac.uk@nsfnet-relay.ac.uk
Dept of CS, UCW Aberystwyth | UUCP: ...!mcvax!ukc!aber-cs!pcg
Penglais, Aberystwyth SY23 3BZ, UK | INET: pcg@cs.aber.ac.uk
Technical Details
Message-ID:
<912@aber-cs.UUCP>Path:
arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!cs.utexas.edu!uunet!mcvax!ukc!dcl-cs!aber-cs!pcgShow Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!cs.utexas.edu!uunet!mcvax!ukc!dcl-cs!aber-cs!pcg From: pcg@aber-cs.UUCP (Piercarlo Grandi) Newsgroups: comp.arch Subject: Re: unconventional architectures Summary: C/BCPL on Burroughs? They did it... They were not happy Message-ID: <912@aber-cs.UUCP> Date: 7 May 89 21:49:32 GMT Reply-To: pcg@cs.aber.ac.uk (Piercarlo Grandi) Distribution: eunet,world Organization: Dept of CS, UCW Aberystwyth (Disclaimer: my statements are purely personal) Lines: 43