FAULTS
8-2
The fault table contains pointers to fault handling procedures. The system procedure table
optionally provides an interface to any fault handling procedure and allows faults to be handled in
supervisor mode. Stack frames for fault handling procedures are created on either the user or
supervisor stack, depending on the mode in which the fault is handled. If the processor is in the
interrupted state, the processor uses the interrupt stack.
Once these data structures and the code for the fault procedures are established in memory, the
processor handles faults automatically and independently from application software.
The processor can detect a fault at any time while executing instructions, whether from a program,
interrupt handling procedure or fault handling procedure. When a fault occurs, the processor
determines the fault type and selects a corresponding fault handling procedure from the fault table.
It then invokes the fault handling procedure by means of an implicit call. As described later in this
chapter, the fault handler call can be:
•
A local call (call-extended operation)
•
A system-local call (local call through the system procedure table)
•
A system-supervisor call (supervisor call through the system procedure table)
A normal fault condition is handled by the processor in the following manner:
•
The current local registers are saved and cached on-chip.
•
PFP = FP and the value 001 is written to the Return Type Field (Fault Call). Refer to
section 7.8, “RETURNS” (pg. 7-20)
for more information.
•
If the fault call is a system-supervisor call from user mode, the processor switches to the
supervisor stack; otherwise, SP is re-aligned on the current stack.
•
The processor writes the fault record on the new stack. This record includes information on
the fault and the processor’s state when the fault was generated.
•
The Instruction Pointer (IP) of the first instruction of the fault handler is accessed through the
fault table or through the system procedure table (for system fault calls).
After the fault record is created, the processor executes the selected fault handling procedure. If a
fault is recoverable (i.e., the program can be resumed after handling the fault) the Return Instruction
Pointer (RIP) is defined for the fault being serviced (see
section 8.10, “FAULT REFERENCE”
(pg. 8-21)
, and the processor will resume execution at the RIP upon return from the fault handler. If
the RIP is undefined, the fault handling procedure can create one by using the
flushreg
instruction
followed by a modification of the RIP in the previous frame (see
Section 8.7.5 on page 8-15
). The
fault handler can also call a debug monitor or reset the processor instead of resuming prior execution.
This procedure call mechanism also handles faults that occur:
•
While the processor is servicing an interrupt
•
While the processor is servicing another fault
Содержание i960 Jx
Страница 1: ...Release Date December 1997 Order Number 272483 002 i960 Jx Microprocessor Developer s Manual ...
Страница 24: ......
Страница 25: ...1 INTRODUCTION ...
Страница 26: ......
Страница 35: ...2 DATA TYPES AND MEMORY ADDRESSING MODES ...
Страница 36: ......
Страница 46: ......
Страница 47: ...3 PROGRAMMING ENVIRONMENT ...
Страница 48: ......
Страница 73: ...4 CACHE AND ON CHIP DATA RAM ...
Страница 74: ......
Страница 85: ...5 INSTRUCTION SET OVERVIEW ...
Страница 86: ......
Страница 111: ...6 INSTRUCTION SET REFERENCE ...
Страница 112: ......
Страница 195: ...INSTRUCTION SET REFERENCE 6 83 6 Opcode mov 5CCH REG movl 5DCH REG movt 5ECH REG movq 5FCH REG See Also LOAD STORE lda ...
Страница 233: ...7 PROCEDURE CALLS ...
Страница 234: ......
Страница 256: ......
Страница 257: ...8 FAULTS ...
Страница 258: ......
Страница 291: ...9 TRACING AND DEBUGGING ...
Страница 292: ......
Страница 309: ...10 TIMERS ...
Страница 310: ......
Страница 324: ......
Страница 325: ...11 INTERRUPTS ...
Страница 326: ......
Страница 369: ...12 INITIALIZATION AND SYSTEM REQUIREMENTS ...
Страница 370: ......
Страница 412: ......
Страница 413: ...13 MEMORY CONFIGURATION ...
Страница 414: ......
Страница 429: ...14 EXTERNAL BUS ...
Страница 430: ......
Страница 468: ......
Страница 469: ...15 TEST FEATURES ...
Страница 470: ......
Страница 493: ...A CONSIDERATIONS FOR WRITING PORTABLE CODE ...
Страница 494: ......
Страница 502: ......
Страница 503: ...B OPCODES AND EXECUTION TIMES ...
Страница 504: ......
Страница 515: ...C MACHINE LEVEL INSTRUCTION FORMATS ...
Страница 516: ......
Страница 523: ...D REGISTER AND DATA STRUCTURES ...
Страница 524: ......
Страница 550: ......
Страница 551: ...GLOSSARY ...
Страница 552: ......
Страница 561: ...INDEX ...
Страница 562: ......
Страница 578: ......