Numeric Data Processor (8087)
Some very simple applications may mask all of the numeric errors. In
this simple case, the 8087 interrupt request (INT) signal may be left
unconnected since the 8087 never asserts this signal. If any numeric
errors are detected during the course of executing the program, the
NDP generates a safe result. It is sufficient to test the final result of
the calculation to see if it is valid. Special values like not-a-number
(NAN), infinity, indefinite, denormals, and unnormals indicate the
type and severity of earlier invalid or questionable operations.
For dedicated applications, programs should not generate or use any
invalid operands. Furthermore, all numbers should be in range. An
operand or result outside this range indicates a severe fault in the
system. This situation may arise due to invalid input values, program
error, or hardware faults. An immediate action is required since the
integrity of the program and hardware is in question. In this case, the
interrupt (INT) signal can be used to interrupt the program currently
running. Such an interrupt would be of high priority. The interrupt
handler responsible for numeric errors might perform system integrity
tests and then restart the system at a known safe state. The handler
would not normally return to the point of error.
Five categories cover most uses of the 8087 interrupt in fixed priority
interrupt systems. For each category, an interrupt configuration is
suggested based on
the
goals mentioned above.
All
five
configurations hide the 8087 from all interrupt handlers that do not
use the 8087. Only those interrupt handlers that use the 8087 are
required to perform any special 8087 related interrupt control
activities.
The five categories and their interrupt configurations are summarized
on the following pages.
7-10