Interrupt controller
270
NS9750 Hardware Reference
Vectored interrupt controller (VIC) flow
A vectored interrupt controller allows a reasonable interrupt latency for IRQ-line
interrupts. When an interrupt occurs, the CPU processor determines whether the
interrupt is from a FIQ or IRQ line. If the interrupt comes from the FIQ vector, the
interrupt service routine can be executed without knowing the interrupt source.
If the interrupt comes from the IRQ vector, the CPU performs these steps:
1Reads the service routine address from the VIC’s ISRADDR register. The read
updates the VIC’s priority hardware to prevent current or any lower priority
interrupts from interrupting until the higher priority interrupt has occurred.
2Branches to the interrupt service routine and stacks the workspace so the IRQ
can be enabled.
3Executes the interrupt service routine.
4Clears the current interrupt from the source.
5Disables the IRQ and restores the workplace.
6Writes to the ISRADDR register to clear the current interrupt path in the VIC’s
priority hardware. Any value can be written.
7Returns from the interrupt service routine.
26 Timer Interrupt 12 and 13
27 Timer Interrupt 14 and 15
28 External Interrupt 0
29 External Interrupt 1
30 External Interrupt 2
31 External Interrupt 3
Interrupt ID Interrupt source