🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: net.micro.atari16
Article #1458

Re: 68000 Memory Managment

#1458
From: Henry Spencer
Date: Tue, 26 Aug 1986 20:16
24 lines
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!henry
References: <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