Article View: comp.arch
Article #2449Re: (Im)precise exceptions
From: John R. Levine
Date: Thu, 05 Oct 1989 03:13
Date: Thu, 05 Oct 1989 03:13
27 lines
2271 bytes
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!johnlReferences:
<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