Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: utzoo!mnetor!uunet!husc6!necntc!ima!johnl
From: johnl@ima.ISC.COM (John R. Levine)
Newsgroups: comp.arch
Subject: Re: C machine
Message-ID: <776@ima.ISC.COM>
Date: Tue, 8-Dec-87 17:07:21 EST
Article-I.D.: ima.776
Posted: Tue Dec  8 17:07:21 1987
Date-Received: Sun, 13-Dec-87 14:29:24 EST
References: <759@auscso.UUCP> <1061@winchester.UUCP> <6203@jade.BERKELEY.EDU>
Reply-To: johnl@ima.UUCP (John R. Levine)
Distribution: na
Organization: Not enough to make any difference
Lines: 41
Keywords: C, Lilith (sp?), In Progress?
Summary: BBN C/70 C machine

In article <6203@jade.BERKELEY.EDU> jkh@violet.berkeley.edu (Jordan K. Hubbard) writes:
>I think BBN developed a series of machines a few years back that
>were supposedly optimized for C. ...

The BBN C/70 was an interesting historical freak that really should never have
escaped from the lab. They had a microprogrammable engine originally designed
to emulate the DDP 516's used in Arpanet IMPs. That configuration, the C/30,
has sold reasonably well. As an experiment, somebody wrote a set of microcode
to implement something close to the reverse polish intermediate language of
one of the Unix C compilers, brought up Unix on the box, and the C machine was
born. On the way, they noticed that the 16 bit address space was inadequate
for a modern Unix system, so they stretched it, much the same way that Boeing
or Douglas stretches an airframe, so it ended up with a 20 bit address space
and ten-bit bytes, making it the world's first fully metric-compatible
computer. The original machine was the C/70, and my understanding was that the
C/60 was the same machine in a smaller configuration.

As you might imagine, the 99% of Unix software that assumes that bytes are
eight bits broke in funny ways when confronted with ten-bit bytes, but they
did get 7th edition Unix running reasonably well and used it extensively for
network control on the Arpanet and the many private packet-switched nets that
BBN has sold.

They tried with minimal success to sell it as a general Unix engine, but it
failed there for many reasons:

  -- programs broke on ten bit bytes
  -- twenty-bit addresses aren't bit enough
  -- heavily microcoded architecture caused lousy performance
  -- it wasn't designed for volume production, so it was expensive to build and
     so to sell
  -- nonstandard I/O interfaces meant that there weren't a lot of peripherals
     available.

I suppose the lesson here is that when you try to turn a horse into a zebra,
you end up with a camel.
-- 
John R. Levine, IECC, PO Box 349, Cambridge MA 02238-0349, +1 617 492 3869
{ ihnp4 | decvax | cbosgd | harvard | yale }!ima!johnl, Levine@YALE.something
The Iran-Contra affair:  None of this would have happened if Ronald Reagan
were still alive.