[comp.arch] Multiprogramming the Microcode: The B1700

mo@messy.bellcore.com (Michael O'Dell) (10/13/90)

I think the Burroughs B1700 was multiprogramming at the microcode
level before the Alto.  For those not familiar with it, the B1700 was,
in some sense, the ultimate CISC.  Main memory was BIT addressed
(actually the HOLES between the bits were address because the
field at address "85-up" was disjoint with the field at address "85-down"),
and each language processor on the machine generated code for an
idealized machine (complete with Huffman coding for incredibly dense
code) and when you context switched between user programs, the instruction
interpretation changed too (sort of like in Unix where the kernel stack
segment switches on a context switch).  There was a microkernel (in microcode)
which implemented the basic part of processes, including the S-level
(traditional machine code) interpreter.  All the system utilities
(OS, compilers, tools, etc) were coded in a language called SDL,
rather reminiscent of XPL in some ways, but with interesting extensions.
So, when people start talking about bit addressing and super-dense
memory images using Huffman codes and such, just remember that it's
all be done before.... Oh yes, the internal bus of the B1700 was
24-bits wide, but there were some wonderful things in the S-memory
address registers to make iterating over chunks of larger operands
much easier to program in the microcode (which was written in a language
called MIL, if memory serves me right.)   I think the people at SUNY
Buffalo, circa 1974, lead the charge in using the machine in CS teaching
and research.

	-Mike

henry@zoo.toronto.edu (Henry Spencer) (10/14/90)

In article <27843@bellcore.bellcore.com> mo@messy.UUCP (Michael O'Dell) writes:
>I think the Burroughs B1700 was multiprogramming at the microcode
>level before the Alto. ...

True, although with a somewhat different flavor.  The B1700 didn't have
the Alto's multiple microcontexts, which made microprogram context
switching effectively instantaneous and permitted using microcode
to supply most of the smarts for most of the i/o devices.  (For example,
the original disk interface had a one-word buffer and no DMA, and the
video generation hardware was at a similar level of non-complexity, with
carefully polished microcode doing all the work.)  The Dorado, and perhaps
some of the other Xerox D-machines, copied this approach, but nobody else
has that I'm aware of.
-- 
"...the i860 is a wonderful source     | Henry Spencer at U of Toronto Zoology
of thesis topics."    --Preston Briggs |  henry@zoo.toronto.edu   utzoo!henry

colwell@omews35.intel.com (Robert Colwell) (10/19/90)

In article <1990Oct14.001905.19442@zoo.toronto.edu> henry@zoo.toronto.edu (Henry Spencer) writes:
>The B1700 didn't have
>the Alto's multiple microcontexts, which made microprogram context
>switching effectively instantaneous and permitted using microcode
>to supply most of the smarts for most of the i/o devices.
>The Dorado, and perhaps
>some of the other Xerox D-machines, copied this approach, but nobody else
>has that I'm aware of.

Alas, the world has already forgotten the Three Rivers Computer Perq.  Ok,
so the arch. was borrowed wholesale from the Alto.  But it did all the
stuff you're talking about above.  And if the durned micros hadn't gotten
so good so quickly this type of arch. approach might have actually made
some sense.  Hindsight is so easy compared to prediction.

Bob Colwell  mipon2!colwell@intel.com  503-696-4550
Intel Corp.  JF1-19
5200 NE Elam Young Parkway
Hillsboro, Oregon 97124

ok@goanna.cs.rmit.oz.au (Richard A. O'Keefe) (10/19/90)

In article <6120@omepd.UUCP>, colwell@omews35.intel.com (Robert Colwell) writes:
> Alas, the world has already forgotten the Three Rivers Computer Perq.

How fortunate the world is.  I still have vivid, not to say lurid, memories
of the Perq.  Selectric keyboard, own Pascal dialect unlike anything else,
documentation (heh heh), floating point microcode that thought at one time
that 10.0*10.0 = 98.9.  Then there was the UNIX (well, sort of) version.
Give me an Orion any day.

-- 
Fear most of all to be in error.	-- Kierkegaard, quoting Socrates.

firth@sei.cmu.edu (Robert Firth) (10/19/90)

In article <6120@omepd.UUCP> colwell@mipon2.intel.com (Robert Colwell) writes:

>Alas, the world has already forgotten the Three Rivers Computer Perq.

This seems to be a use of the word 'alas' with which I am unfamiliar.

Unless you are saying, in a highly elliptical way, that those who
forget history are compelled to repeat it, in which case I agree
with you.

henry@zoo.toronto.edu (Henry Spencer) (10/19/90)

In article <6120@omepd.UUCP> colwell@mipon2.intel.com (Robert Colwell) writes:
>>the Alto's multiple microcontexts...
>>The Dorado, and perhaps
>>some of the other Xerox D-machines, copied this approach, but nobody else
>>has that I'm aware of.
>
>Alas, the world has already forgotten the Three Rivers Computer Perq...

I assure you I haven't, since I wrote much of a compiler for it for my
MSc thesis...  I don't recall the Perq having multiple microcontexts,
actually, although I may have just forgotten the details.  It's been a
long time, and dealing with that architecture was not fun...
-- 
The type syntax for C is essentially   | Henry Spencer at U of Toronto Zoology
unparsable.             --Rob Pike     |  henry@zoo.toronto.edu   utzoo!henry

richard@aiai.ed.ac.uk (Richard Tobin) (10/23/90)

In article <4015@goanna.cs.rmit.oz.au> ok@goanna.cs.rmit.oz.au (Richard A. O'Keefe) writes:
>> Alas, the world has already forgotten the Three Rivers Computer Perq.
>How fortunate the world is.  I still have vivid, not to say lurid, memories
>of the Perq.

Yeah, but at least it came with a 7th edition manual.  I still find it
handy from time to time.

-- Richard
-- 
Richard Tobin,                       JANET: R.Tobin@uk.ac.ed             
AI Applications Institute,           ARPA:  R.Tobin%uk.ac.ed@nsfnet-relay.ac.uk
Edinburgh University.                UUCP:  ...!ukc!ed.ac.uk!R.Tobin