No Imprecise Faults (Ac.nif) Bit; Controlling Fault Precision - Intel i960 Jx Developer's Manual

Microprocessor
Table of Contents

Advertisement

FAULTS
8.9.4

No Imprecise Faults (AC.nif) Bit

The Arithmetic Controls no imprecise faults (AC.nif) bit controls imprecise fault generation. If
AC.nif is set, out of order instruction execution is disabled and all faults generated are precise.
Therefore, setting this bit will reduce processor performance. If AC.nif is clear, several imprecise
faults may be reported together in a parallel fault record. Precise faults can never be found in
parallel fault records, thus only more than one imprecise fault occurring concurrently with AC.nif
= 0 can produce a parallel fault.
Compiled code should execute with the AC.nif bit clear, using
that faults occur in order. In this mode, imprecise faults are considered to be catastrophic errors
from which recovery is not needed. This also allows the processor to take advantage of internal
pipelining, which can speed up processing time. When only precise faults are allowed, the
processor must restrict the use of pipelining to prevent imprecise faults.
The AC.nif bit should be set if recovery from one or more imprecise faults is required. For
example, the AC.nif bit should be set if a program needs to handle and recover from unmasked
integer-overflow faults. The fault handling procedure cannot be closely coupled with the
application to perform imprecise fault recovery.
8.9.5

Controlling Fault Precision

The
instruction forces the processor to complete execution of all instructions that occur
syncf
prior to
and to generate all faults before it begins work on instructions that occur after
syncf
syncf
. This instruction has two uses:
It forces faults to be precise when the AC.nif bit is clear.
It ensures that all instructions are complete and all faults are generated in one block of code
before executing another block of code.
The implicit fault call operation synchronizes all faults. In addition, the following instructions or
operations perform synchronization of all faults:
Call and return operations including
interrupt and fault call operations.
Atomic operations including
8-20
call
,
callx
,
calls
and
atadd
and
atmod
.
syncf
where necessary to ensure
ret
instructions, plus the implicit

Advertisement

Table of Contents
loading

Table of Contents