Extremely CISC instructions- C compilers.

Paul Koning paulkoning at comcast.net
Wed Aug 25 14:22:09 CDT 2021

> On Aug 25, 2021, at 2:58 PM, Todd Goodman via cctalk <cctalk at classiccmp.org> wrote:
> ...
> P.110 of https://walden-family.com/bbn/bbn-print2.pdf has some slight information.
> It was advertised by Bolt, Beranek and Newman as the first computer to be designed around the C language.
> It had 10-bit bytes and 20-bit words.
> At the time I was working there it was used to run all the Network Monitoring utilities to manage their commercial networks as well as Ingres.
> It's amazing how much was running in 2MB and two "walking washing-machine" multiplatter disk pack drives (CDC if I remember right, but could be wrong).

By my standards that's a large system -- I got started on a PDP-11 timesharing system with 28 kwords of memory and a pair of RK05 (2.4 MB) drives, supporting 16 terminals.

Some years ago when I was learning GCC internals I did a silly small training exercise: I constructed a very basic GCC "back end" for the CDC 6000 machines.  60 bit int, 18 bit short, 6 bit char, 18 bit pointers...  It could compile not too horrible code for "memcpy", among other things.  A messy machine with 4 or 5 register classes, plus fun constraints like memory loads only go into registers X1 through X5, while stores can only be done from X6 or X7.  Yes, you can actually get the GCC register allocator to cope with stuff like that.  It's few enough registers that it isn't really happy, but it can manage.

This is a "dancing bear" exercise, of course ("The amazing thing is not how well the bear dances, but that it can dance at all").


More information about the cctalk mailing list