On Thu, Jun 30, 2016 at 6:17 PM, Johnny Billquist <bqt(a)update.uu.se> wrote:
Clem, I think pretty much all you are writing is
correct, except that I
don't get your reference to the PDP-11 MMU.
The MMU of the PDP-11 is not some base/limit register thing. It's a paged
memory, with a flat address space. Admittedly, you only have 8 pages, but I
think it's just plain incorrect to call it something else.
(Even though noone I know of ever wrote a demand-paged memory system for a
PDP-11, there is no technical reason preventing you from doing it. Just
that with 8 pages, and load more physical memory than virtual, it just
didn't give much of any benifits.)
Johnny - yes I stand made more precise. 11's with MMU's do support
pages, but the MMU is is base/limits with 1 level page displacement and as
you point a not a lot of pages and with only 16 bits of base address the
virtual addresses are pretty limited (although as BSD 2.8 and later showed
you can do a lot with a bit of care and overlays).
I fairly certain that the original Moto MMU chip worked the same way, as
Nick and Les were definitely using the PDP-11/70 as the example, even
though those system did have more address bits. I also, I know that the
custom MMU on the Magnolia the system we built at Tektronix with first
pre-68K did work that way, as I did it and I too model it from the 11/70.
In Magnolias case, it was that way because the Altos and Dorado's from PARC
did not have an MMU. Roger Bates was my office mate at Tektronix and one
of the HW guys from the Dorado and Altos. He was the main HW guy on
Magnolia had to learn about MMU's from me. But I was once a HW guy too --
and when we built that system those gates in Magnolia were mine :-) The
original OS (Magix 1.0) ran PDP-11 style since that's all the CPU could do
(Magix was a V7 like system). A couple of years later, when the CPU chips
were replaced with the first 68010's, the OS was updated to work more like
a Vax. I've forgotten if Roger added a second level at that point, as I
had left the project to head back to grad school and I did not do that part
of the coding.
Clem