Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!uwm.edu!gem.mps.ohio-state.edu!apple!well!nagle From: nagle@well.UUCP (John Nagle) Newsgroups: comp.sys.mac Subject: Re: PMMU... Message-ID: <13822@well.UUCP> Date: 26 Sep 89 16:37:26 GMT References: <822@rodan.acs.syr.edu> Reply-To: nagle@well.UUCP (John Nagle) Distribution: usa Lines: 58 In article <822@rodan.acs.syr.edu> jstewart@rodan.acs.syr.edu (Ace Stewart [Jonathan III]) writes: >With all the talk about PMMU chips from Motorola, I ask this. I own an >SE with 1Meg RAM. Its the 68000 and I'm kinda wonderin what kind of chip >(if any) I should ask for. I'm not sure I understand the concept of >PMMU to begin with and ask everyone's advice as well as tap into your >wisdom... A memory management unit is a device which sits between the CPU and the memory. Its purpose in life is to make it possible to implement operating systems where each process is safely confined to its own address space and can't clobber other processes running at the same time. Some memory management units also provide part of the machinery needed for "virtual memory". With this, a program can address data that isn't really in memory, the operating system gets an interrupt when this happens, and a smart operating system can move the data into memory (usually moving something else out to disk to get the space), and after all this happens, the program gets control back as if nothing had happened, but now the needed data is in memory. The MC68000 and MC68010 have no memory management units. The MC68010 can be used with an external memory management unit, and the Sun 2 does this. The MC68000 doesn't have some features needed for virtual memory even with an external MMU, so it can't be upgraded. (The problem with the 68000 is that it is unable to recover properly after a page fault if the instruction causing the fault had automatic incrementation.) The MC68020 does not have a memory management unit either, but like the 68010, can be provided with an external one. This is the "PMMU" (Paged Memory Management Unit) used in the Mac II. It's not standard on a Mac II, but is an expensive extra-cost option. On standard Mac IIs, the MMU socket is filled with a chip which is more of a dummy plug than a component; it just passes the addresses through unchanged. The MC68030 has a built-in MMU comparable to (but not compatible with) the PMMU. So all '030-based machines are in theory capable of running a virtual memory operating system with protected memory. Unfortunately, none of this excellent memory management hardware does you any good unless you run A/UX. The regular Mac operating system just turns any memory management unit off and runs in "real mode". Even release 7, much to the disappointment of people who don't like system crashes, doesn't use the MMU. On a machine with memory management and a solid operating system, an application can't crash the system no matter what it does. Essentially all workstation-class machines (Suns, Apollos, HP workstations, and all the UNIX boxes) work that way. So does the Mac under A/UX, although there's the problem under A/UX that if the application crashes while in control of the screen, it's hard to get control of the machine back, even though the operating system is running quite well inside the box. (If you have an extra terminal or a network, you can talk to the machine that way and kill the offending application. This is Apple's recommendation.) "Release 7 - Bomb Boxes Forever!" John Nagle