INTERRUPTS
11-3
11
11.2
SOFTWARE REQUIREMENTS FOR INTERRUPT HANDLING
To use the processor’s interrupt handling facilities, user software must provide the following items
in memory:
•
Interrupt Table
•
Interrupt Handler Routines
•
Interrupt Stack
These items are established in memory as part of the initialization procedure. Once these items are
present in memory and pointers to them have been entered in the appropriate system data
structures, the processor handles interrupts automatically and independently from software.
11.3
INTERRUPT PRIORITY
Each interrupt vector number is eight bits in length, allowing up to 256 unique vector numbers to be
defined in principle. Each vector number priority is defined by dividing the vector number by eight.
Thus, at each priority level, there are eight possible vector numbers (e.g., vector numbers 8-15 have a
priority of 1 and vector numbers 246-255 have a priority of 31). Vector numbers 0-7 cannot be used
because a priority-0 interrupt would never successfully stop execution of a program of any priority. In
addition, vector numbers 244-247 and 249-251 are reserved; therefore, 240 external interrupt sources
and the non-maskable interrupt (NMI) are available to the user.
The processor compares its current priority with the interrupt request priority to determine whether
to service the interrupt immediately or to delay service. The interrupt is serviced immediately if its
priority is higher than the priority of the program or interrupt the processor is executing currently.
If the interrupt priority is less than or equal to the processor’s current priority, the processor does
not service the request but rather posts it as a pending interrupt. See
section 11.4.2, “Pending
Interrupts” (pg. 11-5)
. When multiple interrupt requests are pending at the same priority level, the
request with the highest vector number is serviced first.
Priority-31 interrupts are handled as a special case. Even when the processor is executing at priority
level 31, a priority-31 interrupt interrupts the processor. On the i960 Jx processor, the non-maskable
interrupt (NMI) interrupts priority-31 execution; no interrupt can interrupt an NMI handler.
Summary of Contents for i960 Jx
Page 1: ...Release Date December 1997 Order Number 272483 002 i960 Jx Microprocessor Developer s Manual ...
Page 24: ......
Page 25: ...1 INTRODUCTION ...
Page 26: ......
Page 35: ...2 DATA TYPES AND MEMORY ADDRESSING MODES ...
Page 36: ......
Page 46: ......
Page 47: ...3 PROGRAMMING ENVIRONMENT ...
Page 48: ......
Page 73: ...4 CACHE AND ON CHIP DATA RAM ...
Page 74: ......
Page 85: ...5 INSTRUCTION SET OVERVIEW ...
Page 86: ......
Page 111: ...6 INSTRUCTION SET REFERENCE ...
Page 112: ......
Page 233: ...7 PROCEDURE CALLS ...
Page 234: ......
Page 256: ......
Page 257: ...8 FAULTS ...
Page 258: ......
Page 291: ...9 TRACING AND DEBUGGING ...
Page 292: ......
Page 309: ...10 TIMERS ...
Page 310: ......
Page 324: ......
Page 325: ...11 INTERRUPTS ...
Page 326: ......
Page 369: ...12 INITIALIZATION AND SYSTEM REQUIREMENTS ...
Page 370: ......
Page 412: ......
Page 413: ...13 MEMORY CONFIGURATION ...
Page 414: ......
Page 429: ...14 EXTERNAL BUS ...
Page 430: ......
Page 468: ......
Page 469: ...15 TEST FEATURES ...
Page 470: ......
Page 493: ...A CONSIDERATIONS FOR WRITING PORTABLE CODE ...
Page 494: ......
Page 502: ......
Page 503: ...B OPCODES AND EXECUTION TIMES ...
Page 504: ......
Page 515: ...C MACHINE LEVEL INSTRUCTION FORMATS ...
Page 516: ......
Page 523: ...D REGISTER AND DATA STRUCTURES ...
Page 524: ......
Page 550: ......
Page 551: ...GLOSSARY ...
Page 552: ......
Page 561: ...INDEX ...
Page 562: ......
Page 578: ......