Port-m68k archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: 9.0 stable failing to build for sun2 in X11



Long ago, I worked for Dual Systems of Berkeley, which manufactured mc68000-based Unix systems starting in November of 1981 (I joined them in March 1983 - my first job out of UCB), and the MMU of … necessity was the mc68451.

It’s OK for a swapping system (which is what Version 7 Unix was), but too few descriptor registers (and no RAM-based page tables at all) for demand-paging small-size pages - you’ll end up needing to use monster-sized pages if they’re uniform-size because of the descriptor register limitations of the ‘451. Basically, the reason why Sun and many others rolled their own, proprietary MMUs with the plethora of 68k-based Unix boxes being shipped in the 1980s was that the ‘451 sucks, and Motorola was very, very, very late with its PMMU successor, the mc68851 which was to be paired with the mc68020.

I remember reading this paper which describes the device:

http://bitsavers.trailing-edge.com/components/motorola/68000/68451_Memory_Management_Unit_Apr83.pdf

and you might find wikipedia of use: https://en.wikipedia.org/wiki/Buddy_memory_allocation

As I recall, I don’t think anyone shipped a demand-paged Unix with the mc68451; it can be done (Dual did it for System III or System V - I forget which, but never shipped it) but I suspect you’ll find other memory management techniques perform better.

Watch out for context-switch overhead.

	Erik Fair


> On Sep 9, 2020, at 14:05, Chris Hanson <cmhanson%eschatologist.net@localhost> wrote:
> 
> On Sep 9, 2020, at 7:07 AM, David Brownlee <abs%netbsd.org@localhost> wrote:
>> 
>>> Now to start thinking about a 68451 pmap implementation…
>> 
>> So... how *many* 68451s? :-p
> 
> 
> The MVME121 only has one.
> 
> Isn't the Sun-2 MMU also a segmented MMU, or did it support paging? I thought segmented MMUs were typical in 68000/68010/68012 UNIX systems.
> 
> I figured that with such an MMU we'd have a couple permanent mappings and just load other mappings as tasks are switched. I'll admit to not having looked at it at all really…
> 
>  -- Chris
> 



Home | Main Index | Thread Index | Old Index