🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.arch
Article #21110

Re: unconventional architectures

#21110
From: Piercarlo Grandi
Date: Sun, 07 May 1989 21:49
43 lines
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!pcg

Show 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