INTERRUPTS
11-7
11
11.5
INTERRUPT STACK AND INTERRUPT RECORD
The interrupt stack can be located anywhere in the non-reserved address space. The processor
obtains a pointer to the base of the stack during initialization. The interrupt stack has the same
structure as the local procedure stack described in
section 7.1.1, “Local Registers and the
Procedure Stack” (pg. 7-2)
. As with the local stack, the interrupt stack grows from lower addresses
to higher addresses.
The processor saves the state of an interrupted program, or an interrupted interrupt procedure, in a
record on the interrupt stack.
Figure 11-3
shows the structure of this interrupt record.
Figure 11-3. Storage of an Interrupt Record on the Interrupt Stack
The interrupt record is always stored on the interrupt stack adjacent to the new frame that is created
for the interrupt handling procedure. It includes the state of the AC and PC registers at the time the
interrupt was serviced and the interrupt vector number used. Relative to the new frame pointer
(NFP), the saved AC register is located at address NFP-12, the saved PC register is located at
address NFP-16.
In the i960 Jx processor, the stack is aligned to a 16-byte boundary. When the processor needs to
create a new frame on an interrupt call, it adds a padding area to the stack so that the new frame
starts on a 16-byte boundary.
Padding Area
Saved Arithmetic Controls Register
New Frame
NFP-8
NFP-16
NFP-12
NFP
Current Frame
FP
Saved Process Controls Register
Interrupt Stack
0
31
Current Stack
0
31
(Local, Supervisor, or Interrupt Stack)
Vector Number
Reserved
Stack
Growth
Interrupt
Record
Optional Data
(not used by 80960Jx)
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: ......