Subject: UNIX & Motorola MMUs
To: John F. Woods <jfw@jfwhome.funhouse.com>
From: Erik E. Fair <fair@clock.org>
List: port-sun3
Date: 10/24/1996 03:58:09
At 18:43 -0700 10/23/96, John F. Woods wrote:
>I think the Sun2 came out before the PMMU came out; the original Motorola
>MMU (68451?) was a completely misdesigned nightmare, and lots of companies
>rolled their own instead of it.  I'm pretty sure the 68020 and 68851 were
>contemporary, but Sun may have stayed with their original design to speed
>the porting effort.  (It may also have been faster; the 68851 is a complex
>beast and adds more wait cycles than it's really entitled to. :-) )

The Moto 68451 MMU worked OK for swapping systems (V7, System III, System
V), but it was pretty much a bust for paging, because of the number of
mapping registers: 32. If you wanted to page, well, you really ought to
have *several* 68451's on your CPU board (Moto actually thought this was
viable!), or *really* large pages (8K was the chosen size for manufacturers
who insisted on paging).

The PMMU first showed up as a daughtercard that went into the PGA socket;
it was *waaay* late; Dual Systems (the company I worked for in '83 to '85)
tried to use the National Semiconductor MMU from their 16032 CPUs instead,
but National *hated* that idea ("We are not a Motorola peripherals house"),
and wouldn't give us accurate specs for the MMU chip (the published ones
were wrong). We made do with the Moto PMMU daughtercard until Moto ramped
up production of the chip and got decent yield...

Given this state of affairs from 1983 through 1985, it's not surprising
that almost everyone had their own take on how to do an MMU, which lead
UniSoft (leading supplier of UNIX to the 68K-box market) to carefully set
up clean MMU interfaces in their UNIX kernel code. It got to the point that
they could slap together a port for a 68K-based box pretty quickly, because
the parts were almost always the same: Intel Multibus backplane (Dual was
S-100 and then later VME), some (SMD, SASI, ST-506/412, ESDI) disk
controller (Western Digital, Adaptec, Xylogics, etc.), some serial board, a
floppy controller, and then the MMU design (Sun-style, etc). Mix & match to
suit. Who (aside from John!) remembers CoData, Pixel, Plexus, NCR, Arete,
Sun, Apple, Fortune, Momentum, Victory, Heurikon, DataProducts, SGI,
Charles River Data Systems, Three Rivers Corp., ... (I'm sure I'm
forgetting lots).

	Erik