[net.arch] BBN C machine?

johnl@ima.UUCP (08/11/83)

#R:ucbesvax:12800006:ima:13200002:000:911
ima!johnl    Aug 10 09:34:00 1983

The BBN C/70 is a microprogrammable engine that is microprogrammed to
interpret something close to Ritchie C compiler intermediate code.  It
does indeed have ten-bit bytes, which makes practically every program you
try to port to it break.  I helped them a little when they were trying to
bring up uucp and it was bad news.  It evolved from an internal project
in which they tried reprogramming an existing C/30 and adding a little
extra hardware to see how well it would run C.

The C/30 is microprogrammed to simulate a DDP-316 (or is it 516, my
ancient history is rusty) and is what BBN is using for Arpanet IMPs these
days.

My impression, from talking to some people who work there, is that they
are no longer pushing the C/70 as a Unix engine but just as a supervisory
node in private Arpanets.  Compared to microprocessor- based systems,
it's a little expensive for what you get.

John Levine, ima!johnl

zrm@mit-eddie.UUCP (Zigurd R. Mednieks) (08/11/83)

The BBN C Machine is a re-microcoded IMP. The architechture had to be
compatible with some nightmarish gizmo from the dark ages. On the other
hand, if ten bit bytes don't ruin your day, being able to microcode C
subroutine calls might be a win.

I hope their lisp machine is nothing like their C machine. It is
considerably more difficult to make an architechture run lisp reasonably
than it is to run C. Though, if they use some og these spare bits for
tagging locations by type (cdr, hidden pointer, etc.) they may be able
to come up with something that has some advantage of a general pupose
mini. They will have a hard time mactching the software environments of
Lisp Machine Lisp and Interlisp-D, though.

Cheers,
Zig

bhyde@inmet.UUCP (08/11/83)

#R:ucbesvax:12800006:inmet:2500003:000:938
inmet!bhyde    Aug 10 17:26:00 1983

  Well, first there was the Arpanet and it was build using Honeywell
Sue minicomputers.  Then Honeywell went out of buisness making the
Sue and the arpanet code got too big for 16bit addresses.  Soo...
a microprogramable computer was spawned that had 20bit bus capacity
and it was set up to simulate the Sue.
  That machine is known as the MBB or microprogramable building block.
It can be expanded to have special hardware to help with instruction
decode and bus management and such.  The C machines are just such an
extention.  The instruction set is sort of tunned to be what sounds good
for C programs.  The nice feature in the design is that the registers
subprogramming calling instructions save and restore a few registers
for you.  
  The word size of the machine is 20bits, the bytes are 10bits, thus
the 10bit characters, who cares?
  Except that the BBN lisp machine was built in the same building they
share no common ground.

bcase@uiuccsb.UUCP (08/14/83)

#R:ucbesvax:12800006:uiuccsb:5600002:000:885
uiuccsb!bcase    Aug 13 21:32:00 1983

To expand a bit:  One of the best features of the BBN C machine is that
it has 1024 registers.  Upon procedure call, a new bank of 8 are allocated
for the new procedure context (and of course they are deallocated upon
procedure return (er, make that function call and function return)).
This mechanism reduces greatly the overhead of calling functions.  The
problem is that the contexts are isolated from their neighbors.  By over-
lapping the contexts, procedures may pass parameters back and forth.
This overlapping idea is the big win of the Berkeley RISC chip.

As far as the BBN C machine instruction set goes, it is really nothing
great.  With respect to the C programming language, some of the more
commonly occuring special cases are supported, but I wouldn't really
want to write a compiler for it.

    Brian Case
    University of Illinois (er, not any more:  I graduated.)

darrelj@sdcrdcf.UUCP (Darrel VanBuer) (08/14/83)

The BBN Lisp machine (known as Jerico) runs Interlisp.  Because there was
considerable cooperation among ISI, Xerox and BBN in porting Interlisp to
new environments (VAX, Dolphin and Jerico) they share a great deal of old
and new code (especially that which imitates the Tenex environment).
I don't know what the windowing is like on the Jerico, but the majority of
the environment on the Dolphin comes from vanilla Interlisp.
	Darrel J. Van Buer	sdcrdcf!darrelj  UUCP
				VanBuer@USC-ECL.ARPA