🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.arch
Article #2449

Re: (Im)precise exceptions

#2449
From: John R. Levine
Date: Thu, 05 Oct 1989 03:13
27 lines
2271 bytes
In article <269@ssp1.idca.tds.philips.nl> roelof@idca.tds.PHILIPS.nl (R. Vuurboom) writes:
>When (precisely :-) is an exception imprecise? 

When the state it saves doesn't reflect the true machine state.  Typically
this is because some of the instructions before the one pointed to by the
exception program counter haven't been completed, or some subsequent ones
have.  If you're lucky, there will be some secret registers or something
that allow you to patch up the machine state, if you're unlucky you're, well,
out of luck.

Imprecise interruptions are more common on heavily pipelined processors
where there are a lot of operations in progress at once.  They can be
avoided if the designer is willing to put in sufficient hardware to be able
to back out or annul everything in the pipeline after the interrupting
instruction, but the extra complexity and performance hit can be great.

The classic imprecise interrupter, the 360/91, would give you a semi-random
instruction address near the interrupting instruction (or perhaps far, far
away from it if it had decoded an unconditional branch or two in the
meantime) and there was no way to recover the machine state.  It aborted
your job with a system 0C0 code, known as S0C0 pronounced "socko."  Since
most floating point exceptions such as divide by zero or overflow were
imprecise, we got socko-ed a lot.
-- 
John R. Levine, Segue Software, POB 349, Cambridge MA 02238, +1 617 492 3869
johnl@esegue.segue.boston.ma.us, {ima|lotus}!esegue!johnl, Levine@YALE.edu
Massachusetts has 64 licensed drivers who are over 100 years old.  -The Globe
Technical Details
Message-ID: <1989Oct5.031321.2115@esegue.segue.boston.ma.us>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!cs.utexas.edu!uunet!lotus!esegue!johnl
References: <2353@oakhill.UUCP> <261500010@S34.Prime.COM> <34701@apple.Apple.COM> <2451@wyse.wyse.com> <477@ctycal.UUCP> <265@ssp1.idca.tds.philips.nl> <4796@orca.WV.TEK.COM> <27659@shemp.CS.UCLA.EDU> <269@ssp1.idca.tds.philips.nl>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!cs.utexas.edu!uunet!lotus!esegue!johnl
From: johnl@esegue.segue.boston.ma.us (John R. Levine)
Newsgroups: comp.arch
Subject: Re: (Im)precise exceptions
Message-ID: <1989Oct5.031321.2115@esegue.segue.boston.ma.us>
Date: 5 Oct 89 03:13:21 GMT
References: <2353@oakhill.UUCP> <261500010@S34.Prime.COM> <34701@apple.Apple.COM> <2451@wyse.wyse.com> <477@ctycal.UUCP> <265@ssp1.idca.tds.philips.nl> <4796@orca.WV.TEK.COM> <27659@shemp.CS.UCLA.EDU> <269@ssp1.idca.tds.philips.nl>
Reply-To: johnl@esegue.segue.boston.ma.us (John R. Levine)
Organization: Segue Software, Cambridge MA
Lines: 27