An IEEE Question

Tom MacDonald uunet!tamarack.cray.com!tam
Wed Feb 24 00:01:54 PST 1993


Someone here has been trying to find out the answer
to the following question.  Any opinions out there?

Thanks in advance.

Tom MacDonald
tamacray.com
uunet!cray!tam

==================================================================

So here is the question that came up with the IEEE machine.
Any help that you can dredge up in resolving this will be
appreciated.  But we're not giving any money or anything.....

We have a question regarding the correct IEEE interpretation of the relationship
between enabling/disabling floating interrupts (traps, as it were) and the
"sticky" exception bits.  

The example is:

	(disable interrupts)
	X = Y/0
	(enable interrupts)

Now, when the divide by zero occurs, the "sticky" bit will be set that
indicates that the div-by-zero exception has occurred.  Fine.  But
when the interrupts are enabled and that sticky bit is still set, is
the job supposed to abort or not?  Or...is the user supposed to clear
out the sticky bit first, and then enable the interrupts?  Example:


	(disable interrupts)
	X = Y/0
	(read div-by-zero exception status bit)
	(clear  "           "        "      "
	(enable interrupts)


This question relates to how the hardware should function when enabling
interrupts.  Should the current settings of the sticky exception bits be
ignored or should they be read and the appropriate trap/abort occur?

--------------------------------

Kiernan's theory of this is: the action of enabling and disabling interrupts 
should always be quiet.  An interrupt should only occur WHEN AN EXCEPTION OCCURS
while interrupts are enabled, otherwise not at all.  In the first example,
it would be the user's responsibility to check the div-by-zero exception
status bit to find out whether any Y/0 had occurred.



More information about the Numeric-interest mailing list