[rescue] Catching up - Mach/Lunas, 2000Es, PPC/88k stuff

Skeezics Boondoggle skeezics at q7.com
Sun Jun 22 05:53:00 CDT 2003

[ARGH!  Started to compose a reply, then 15 HOURS OF PLUMBING got in the
way, and now it's 3fsckingAM and I am so tired... we ripped out almost
100' of old galvanized pipe, and got about 70' of clean new copper back in
before exhaustion set in... okay, so the upstairs apartment doesn't have
water, now.  Feh.  So sue me.  At least I got my shower... :-]

On Sat, 21 Jun 2003,  Francisco Javier Mesa-Martinez wrote:

> 1st off you are my hero of the day... a Perq!!!!

Hee hee.  Why, thanks.  It's always amazing to find someone who's even
heard of the machine...

> So, as far as I remembered the Perq's original processor was a bunch of
> bitslices put together by some FSM and fully microcoded, to the point
> that one could define their own microcode, right? I believe the
> microcode was actually stored in some boot partition. However I did not
> know you could load microcode dynamically. That sounds awefully sweet.

Yeah!  The heart of it was the AMD2910 microsequencer; the rest was custom
logic, including some extensions to the 2910 to allow for a larger control
store.  Although it was billed as a 16-bit machine, all the physical
address paths were 20 bits wide - so it could address a megaword of
memory.  It had a microcycle time of 170ns, and featured 256 general
purpose 20-bit registers along with a separate 16-level expression stack,
custom RasterOp hardware (essentially a big barrel shifter), and an
integrated DMA/memory controller that drove the 100dpi bitmapped display
out of a 6-way interleaved, dual-ported main memory.  The display could be
refreshed at 60Hz with no contention with the CPU - the processor and I/O
subsystems shared 200Mbits/sec of aggregate memory bandwidth.

You could get closer to the bare metal on a PERQ than almost any other
machine I've ever programmed on; there was just 4K of boot ROM, and after
that bootloader found the initial microcode overlay and started it
running, everything else was "soft".  You could boot from floppy, hard
disk, or a "link board" - a parallel interface compatible with the DR11
(PDP-11 guys help me out here, my memory is faded :-) which is how they
bootstrapped the machine originally.  (They also used RT-11 format 8"  
floppies. :-)  The best way to debug microcode on the PERQ was to set two
machines side by side and hook up their CPU boards with link cables in a
big "X"; one system ran the debugging tool, and the other was the
"bucket", often run with the hard drive disconnected, since microcode
crashes tended to cause all sorts of Bad Things to happen. :-)

> Also there were 2 main flavors of OS for PERQ right, one was their own
> thing and the other was supposed to be unixy, so the thirth was the mach
> precursor? Or you could run the microkernel and give it whichever
> personality was available?

As the story goes, Unix source cost $100K in those days - far too rich at
the time - and in fact, some of the suits (!?) wanted to sell the machine
as a development platform - with *no OS*.  Right.  So they banged out a
thing called POS - yeah, "Piece O' Shit" - that was a barebones shell that
provided an almost DOS-like environment for loading programs and managing
the filesystem.  When the light bulb clicked on and they realized "Gee,
maybe we ought to include an operating system with this $30K computer"
they marketed POS as the PERQ Operating System...

Three Rivers Computer (later PERQ Systems Corp) also started working on
MPOS, a multiprocessing version of POS, but that never really saw the
light of day.  Another group ported something called "Flex" to the PERQ; I
haven't been able to find out much of anything on that one.  In England in
cooperation with ICL, Version 7 Unix was ported to the PERQ and given the
most unforunate name - PNX, often pronounced "Peenix".  PNX was the first
Unix, by the way, with windowing support hooks right in the kernel... it
ran in under 128K of memory.

Under CMU's Accent, however, the PERQ had four environments - the native
POS-like Accent shell, a System V environment called Qnix, a 4.2BSD
environment called Spoonix (still under development at CMU), and the
Common Lisp environment (which paged in its own microcode and ran your
code under the 20-bit tagged instruction set optimized for Lisp).  All
could be co-resident at the same time; all shared one common window
manager, called SAPPHIRE.  (Yeah, that's an *acronym*:  the Screen
Allocation Package Providing Helpful Icons in Rectangular Environments!)

> And sorry to have so many questions, I believe the Perqs also had their
> own windowing system, right? And I also believe that CMU had some work
> on windowing systems I dunno if they were related with the W effort in
> Stanford (which begat X, wonder where X got its name :) ). But I

Wasn't the kernel called V?  Accent was one of a number of highly
interesting research projects, along with Amoeba, Spring, Chorus, Sprite,
V, Plan 9, and others - along with the explosion of new chip architectures
in those days, OS research was in its heyday too... which makes the rise
of the Wintel cartel even more depressing.

> remember reading some papers about windowing sutff, distributed of
> course, as part of the whole ANDREW system. The papers were mid 80s
> -which had a staggering production of papers from CMU with respect to
> OS/filesystems/distributed stuff BTW- so I assumed they were not using
> X.

I honestly never read much about Andrew; I've only played a little bit
with AFS, DCE, and other stuff that came out of the post-PERQ era.

> I believe I may have access to one, one old coleage went to CMU and got
> one of these critters. I saw it a few years ago, but i dunno if he still
> has it after a couple of moves. But I remember he telling me how the

I'd leap at the chance to get my hands on another surviving PERQ... the
blackest day in all computing history was when CMU finally sold a batch of
almost 300 machines to a junk dealer for about $5 each.  It just sickens
me to think about that.  I get physically upset just typing those words. 

> nmachine was pretty much unobtanium in the US, since most of the
> machines were shipped directly from japan to CMU. In fact some of the
> stuff was still in kanji!!!!

That's strange; they were built in Pittsburgh, and later in England by ICL
who joined them as partners.  CMU had piles of them largely because a lot
of CMU people went to work at Three Rivers where they were made. :-)  

Before the company went broke, they had hacked on another 4 bits - i.e.,
stretched the physical address bus (and all the registers and internal
datapaths) to 24 bits.  The 24-bit PERQs with 4meg memory boards were very
rare; their Japanese distributor basically bought those all up when the
company went bust.  Parts of the PERQ technology went elsewhere; ICL,
Varityper, and I think the founders kept the rights to some things like
the RasterOp engine (which later appeared in the MegaScan offering - a
monochrome monitor with 4K x 3K pixels at 300dpi).  That monitor would
have been part of the next generation 32-bit PERQ - which was,
essentially, a 68k machine with the 3RCC-designed graphics subsystem.  
Ah, well.

The PERQ was such a cool machine... I think almost everyone on this list
would enjoy getting to tinker with one; they were funky, flawed,
brilliant, and obscure.  Way ahead of their time in so many ways, and yet
they just missed the boat on some things.  Still, I'd give anything to
have another couple of (working!) machines to play with all the cool
networking features in Accent... all the cool games and demos in POS... to
have a PNX machine to play with... ah, well.  Time to sleep, and dream of 
new plumbing and old PERQs. :-)


-- Chris

More information about the rescue mailing list