The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
From: Clem Cole <clemc@ccc.com>
To: Warner Losh <imp@bsdimp.com>
Cc: The Unix Heritage Society mailing list <tuhs@tuhs.org>
Subject: Re: [TUHS] Early Linux and BSD
Date: Tue, 21 Jan 2020 15:27:04 -0500	[thread overview]
Message-ID: <CAC20D2MQa0DQ+3Da+heVSCWu8YsHg_RjhXxnrs6fi5FE+6rcqA@mail.gmail.com> (raw)
In-Reply-To: <CANCZdfoEAm5=thcZNKjF_5tcMH=iFP_E+QeVUhxRo154G1=pCA@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 3923 bytes --]

1982, the dual-processor MC500/DP originally with 68000s upgraded to 010's
shortly after they became available[see below]
1984, the 16 Processor MC5000/700 using '020 [the 500 was renamed the
MC5000/500 and a single processor MC5000/300 was also introduced.  In the
/700 and /300 design the fixor was unneeded and the base 020 serviced it's
own faults].

FWIW: Purdue VAX predates the 500/DP, but was a one-off that George made.
 The Sequent MP box would be about 3 or 4 years later.

Through the RTU 2.x, the OS originally ran Purdue VAX-like [*Goble/Marsh: ISCA
'82: Proceedings of the 9th annual symposium on Computer Architecture: "A
Dual Processor VAX 11/780", **Pages 291–298*] in all interrupts and system
calls went to a 'master'  and the second MPU/CPU board ran as a 'slave' (
*i.e.* user-mode code). By RTU 3.0 ~12 mons later, full locks were done and
each processor could service anything.


Note each CPU/MPU board had processor two chips on it, the executor and
fixor but the board was really not a multiprocessor - the second chip was
literally just running kernel code to service the page fault.  Thus (not
including the other 68000's processors in graphics or I/O boards) the
500/DP had either 4 68000's or 2 68010 & 2 68000's in it when it had two
CPU or two MPU boards in the backplane.  The idea was originally proposed
for the Z8000 by Forest Baskett at an early Asilomar conference.   The
formal citation is: Forest Baskett: "*Pascal and Virtual Memory in a Z8000
or MC68000 based Design Station*," COMPCON 80, Digest of Papers, pp
456-459, IEEE Computer Society, Feb. 25, 1980.

On Tue, Jan 21, 2020 at 2:14 PM Warner Losh <imp@bsdimp.com> wrote:

>
>
> On Tue, Jan 21, 2020, 11:46 AM Clem Cole <clemc@ccc.com> wrote:
>
>> sorry...    all *MPU* boards had to be the revision but we may have done
>> the same with the CPU boards.
>>
>
> When did Masscomp ship their first MP system?
>
> Warner
>
> On Tue, Jan 21, 2020 at 1:43 PM Clem Cole <clemc@ccc.com> wrote:
>>
>>>
>>>
>>> On Tue, Jan 21, 2020 at 12:18 PM Jon Steinhart <jon@fourwinds.com>
>>> wrote:
>>>
>>>> My memory is very very very fuzzy on this.  I seem to recall that
>>>> microcode
>>>> state was pushed onto a stack in certain cases,
>>>
>>> State, not the code.
>>>
>>> In fact, Masscomp having built the first MP UNIX box, ran into this
>>> problem early on.  Different processor stepping had different internal
>>> microcode state on the stack after an IRQ.  If you resumed with a processor
>>> that was a different processor revision, the wrong state was returned.
>>>
>>> Will may remember this, but Masscomp issues strick orders to the FE that
>>> all CPU boards had to be the revision.  You could not just swap a CPU
>>> board, they had to go as sets. It was a real bummer.
>>>
>>> Moto fixed that with the 020 and later devices as more people made MP
>>> systems.
>>>
>>>
>>>
>>>
>>>
>>>> ...  just heard grumbles from other folks about it.
>>>>
>>> Probably me ...  it took me, tjt and Terry Hayes about 3-4 weeks to
>>> figure out that problem.   It was not originally documented, other than
>>> to state on certain faults X bytes of reserved information was pushed on
>>> the stack.
>>>
>>> BTS: I don't remember, but it may have started with the 68010.
>>>  Becuase before that, the 'executor' was wait stated and the fixor handled
>>> and fixed the fault so the 68000 never actually saw  fault in the original
>>> Masscomp CPU board.   The "MPU" board was the same board with a couple of
>>> PAL's changed and an 68010 as the executor.   It was allowed to actually
>>> fault and do something else while the fixor corrected the fault.  But the
>>> key is that when the fault was repaired, another executor on a different
>>> MPU board could be the processor that 'returned' from the fault.   That
>>> ended up being a no-no.
>>>
>>

[-- Attachment #2: Type: text/html, Size: 8085 bytes --]

  reply	other threads:[~2020-01-21 20:28 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-17 16:01 [TUHS] On the origins of Linux - "an academic question" Arrigo Triulzi
2020-01-17 16:53 ` Warner Losh
2020-01-17 17:08   ` Arrigo Triulzi
2020-01-17 17:25 ` Brantley Coile
2020-01-17 19:59 ` Arno Griffioen
2020-01-18  3:50   ` Theodore Y. Ts'o
2020-01-18  4:19     ` [TUHS] Early Linux and BSD (was: On the origins of Linux - "an academic question") Greg 'groggy' Lehey
2020-01-18 15:25       ` Larry McVoy
2020-01-18 16:19         ` reed
2020-01-19  2:49       ` Theodore Y. Ts'o
2020-01-19  3:12         ` Greg 'groggy' Lehey
2020-01-19  3:47           ` [TUHS] Early Linux and BSD Warren Toomey
2020-01-19  3:51             ` Greg 'groggy' Lehey
2020-01-19  3:58           ` [TUHS] Early Linux and BSD (was: On the origins of Linux - "an academic question") Greg 'groggy' Lehey
2020-01-19 13:25             ` Theodore Y. Ts'o
2020-01-19 13:48               ` Clem Cole
2020-01-20  3:32               ` Greg A. Woods
2020-01-20  3:51                 ` George Michaelson
2020-01-20  3:59                   ` [TUHS] Early Linux and BSD Jon Forrest
2020-01-20 17:19                   ` [TUHS] Early Linux and BSD (was: On the origins of Linux - "an academic question") Clem Cole
2020-01-20 17:49                     ` Warner Losh
2020-01-20 19:00                       ` Clem Cole
2020-01-20 18:04                     ` Larry McVoy
2020-01-20 18:09                       ` David Barto
2020-01-20 18:34                         ` [TUHS] Early Linux and BSD Arthur Krewat
2020-01-20 19:18                       ` [TUHS] Early Linux and BSD (was: On the origins of Linux - "an academic question") Clem Cole
2020-01-20 19:46                         ` Jon Steinhart
2020-01-20 20:15                           ` Clem Cole
2020-01-21  6:58                           ` [TUHS] Early Linux and BSD Lars Brinkhoff
2020-01-21 14:30                             ` Clem Cole
2020-01-21 17:17                             ` Jon Steinhart
2020-01-21 17:22                               ` Warner Losh
2020-01-21 17:25                                 ` Jon Steinhart
2020-01-21 18:43                               ` Clem Cole
2020-01-21 18:44                                 ` Clem Cole
2020-01-21 19:14                                   ` Warner Losh
2020-01-21 20:27                                     ` Clem Cole [this message]
2020-01-22  0:14                       ` [TUHS] Early Linux and BSD (was: On the origins of Linux - "an academic question") Greg A. Woods
2020-01-21  0:44                     ` Bakul Shah
2020-01-20 19:09                 ` Theodore Y. Ts'o
2020-01-20 19:51                   ` Clem Cole
2020-01-20 23:04                   ` Greg A. Woods
2020-01-21  0:13                     ` Warner Losh
2020-01-21 23:45                       ` Greg A. Woods
2020-01-18 15:30     ` [TUHS] On the origins of Linux - "an academic question" Larry McVoy
2020-01-17 23:11 ` Andrew Warkentin
2020-01-17 23:20   ` Rob Pike
2020-01-17 23:38     ` Brantley Coile
2020-01-18  0:23 ` Wesley Parish

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAC20D2MQa0DQ+3Da+heVSCWu8YsHg_RjhXxnrs6fi5FE+6rcqA@mail.gmail.com \
    --to=clemc@ccc.com \
    --cc=imp@bsdimp.com \
    --cc=tuhs@tuhs.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).