EMBEDDED Intel486™ PROCESSOR HARDWARE REFERENCE MANUAL
4-46
4.3.14 Floating-Point Error Handling for the IntelDX2
™
and IntelDX4
™
Processors
The IntelDX2 and IntelDX4 processors provide two options for reporting floating-point errors.
The simplest method is to raise interrupt 16 whenever an unmasked floating-point error occurs.
This option may be enabled by setting the NE bit in control register 0 (CR0).
The IntelDX2 and IntelDX4 processors also provide the option of allowing external hardware to
determine how floating-point errors are reported. This option is necessary for compatibility with
the error reporting scheme used in DOS-based systems. The NE bit must be cleared in CR0 to
enable user-defined error reporting. User-defined error reporting is the default condition because
the NE bit is cleared on reset.
Two pins, floating-point error (FERR#, an output) and ignore numeric error (IGNNE#, an input)
are provided to direct the actions of hardware if user-defined error reporting is used. The
IntelDX2 and IntelDX4 processors assert the FERR# output to indicate that a floating-point error
has occurred. FERR# corresponds to the ERROR# pin on the Intel387™ math coprocessor. How-
ever, there is a difference in the behavior of the two.
In some cases FERR# is asserted when the next floating-point instruction is encountered, and in
other cases it is asserted before the next floating-point instruction is encountered, depending upon
the execution state of the instruction causing the exception.
4.3.14.1
Floating-Point Exceptions
The following class of floating-point exceptions drive FERR# at the time the exception occurs
(i.e., before encountering the next floating-point instruction).
1.
The stack fault, invalid operation, and denormal exceptions on all transcendental
instructions, integer arithmetic instructions, FSQRT, FSEALE, FPREM(1), FXTRACT,
FBLD, and FBSTP.
2.
Any exceptions on store instructions (including integer store instructions).
The following class of floating-point exceptions drive FERR# only after encountering the next
floating-point instruction.
Table 4-10. Bus State Description
State
Means
Ti
Bus is idle. Address and status signals may be driven to undefined values, or the bus may be floated
to a high impedance state.
T1
First clock cycle of a bus cycle. Valid address and status are driven and ADS# is asserted.
T2
Second and subsequent clock cycles of a bus cycle. Data is driven if the cycle is a write, or data is
expected if the cycle is a read. RDY# and BRDY# are sampled.
T1
b
First clock cycle of a restarted bus cycle. Valid address and status are driven and ADS# is asserted.
T
b
Second and subsequent clock cycles of an aborted bus cycle.
Summary of Contents for Embedded Intel486
Page 16: ......
Page 18: ......
Page 26: ......
Page 28: ......
Page 42: ......
Page 44: ......
Page 62: ......
Page 64: ......
Page 138: ......
Page 140: ......
Page 148: ......
Page 150: ......
Page 170: ......
Page 172: ......
Page 226: ......
Page 228: ......
Page 264: ......
Page 282: ......
Page 284: ......