Article View: net.micro.atari16
Article #1458Re: 68000 Memory Managment
From: Henry Spencer
Date: Tue, 26 Aug 1986 20:16
Date: Tue, 26 Aug 1986 20:16
24 lines
2079 bytes
2079 bytes
> I have heard people claim that there is enough information around
> after a bus error ( or address error ) to restart most instructions,
> if the bus error handler is willing to be clever. However, I haven't
> seen any actual code... Anyone know if this is true? If so, what
> are the instructions that can't be restarted?
Probably true. The 68000 is a sort of mutated PDP-11, and software on
the 11 could backtrack well enough to restart most instructions. This
is what Unix on the 11/40, 34, 23, 60, et al did/does. The major problem
comes when an instruction modifies registers: which registers did it
modify before it died? The larger 11s had an MMU which would tell you.
The cut-down version of the MMU, which is what the 40 et al had/have,
won't. So the software has to guess. It can usually guess right. The
fundamentally intractable cases are where the instruction modifies the
same register more than once, and you can't tell how many times it did
it before the fault. The automatic stack growth on small-11 Unixes would
generally fail if you used something like "cmp -(sp), -(sp)" to grow the
stack two words; I believe the compiler never did this, and assembler
programmers simply had to look out for themselves. On the 68000 it's
worse, because important and useful instructions like move-multiple
can modify the same register several times.
--
Henry Spencer @ U of Toronto Zoology
{allegra,ihnp4,decvax,pyramid}!utzoo!henry
Technical Details
Message-ID:
<7073@utzoo.UUCP>Path:
arc1-ca.pugleaf.net!utzoo!henryReferences:
<508@elmgate.UUCP> <767@ark.UUCP>, <3260@ism780c.UUCP>Show Full Headers
Complete Article Headers
Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: arc1-ca.pugleaf.net!utzoo!henry From: henry@utzoo.UUCP (Henry Spencer) Newsgroups: net.micro.atari16,net.micro.amiga,net.micro.68k Subject: Re: 68000 Memory Managment Message-ID: <7073@utzoo.UUCP> Date: Tue, 26-Aug-86 16:16:08 EDT Article-I.D.: utzoo.7073 Posted: Tue Aug 26 16:16:08 1986 Date-Received: Tue, 26-Aug-86 16:16:08 EDT References: <508@elmgate.UUCP> <767@ark.UUCP>, <3260@ism780c.UUCP> Organization: U of Toronto Zoology Lines: 24 Keywords: 68000 atari amiga 68k mmu