
Programmable Interrupt Controller
Élan™SC520 Microcontroller User’s Manual
15-19
Although level-sensitive interrupt sharing generally works well, implementing edge-
sensitive interrupt sharing is not recommended.
15.5.9.2
Disabling the Slave Controllers
The ÉlanSC520 microcontroller’s PIC has the flexibility to allow removal of either or both
the slave controllers logically from the cascade chain via software (see S2 and S5 bits in
the Master PIC Initialization Control Word 3 (MPICICW3) register). Disabling one or more
of the slave controllers allows configuring a system with fewer than 9 or 16 interrupt
channels.
Although the slave controllers are hard-wired to the Master controller, bypassing the slave
controllers via software during configuration could typically result in a more efficient interrupt
system, whereby only the Master controller needs to be initialized and configured. With this
configuration, only one non-specific EOI needs to be generated, instead of two, at the end
of the interrupt service routine.
When either of the slave controllers is disabled, the highest priority interrupt hooked to the
slave controllers is routed automatically to channels 2 and 5 of the Master controller,
respectively. As such, the programmer needs to be aware that mapping interrupts to the
other seven lower priority channels of the slave controller inhibits propagation of these
interrupt requests to the Master controller. Figure 15-1 on page 15-3 shows this
implementation in the ÉlanSC520 microcontroller’s PIC.
15.5.9.3
Detecting Invalid Interrupt Requests
If an interrupt request does not remain active long enough for the corresponding In-Service
(xISR) register bit to be set (a non-deterministic amount of time), the request is considered
a spurious interrupt pulse.
Spurious pulses on any of the interrupt requests cause the interrupt handler associated
with the IR7 input of the affected controller to be executed (priority level P22 for the Master
controller, P10 for the Slave 1 controller, or P20 for the Slave 2 controller). The Interrupt
Request (xIR) register bit is always set for the duration of the interrupt request, regardless
of whether it is a spurious or a valid interrupt request.
The interrupt handler associated with IR7 is required to check the In-Service (xISR) register
bit to determine if a valid interrupt request generated the interrupt. If the In-Service (xISR)
register bit is set, then a valid interrupt request is generated, and the normal routine is
executed. Otherwise, a spurious interrupt is identified and the interrupt routine exits.
In other words, spurious pulses on the interrupt requests that are shorter than a non-
deterministic duration can be filtered out by software that checks the In-Service (xISR)
register bit. Longer spurious pulses can only be detected if all interrupt sources hooked
onto a given priority level provide their own status bits.
15.5.9.4
Floating Point Unit Error Handling
To implement DOS-compatible floating-point error handling, such as is used in legacy
PC/AT systems, the Numeric Error (NE) bit in the CPU’s Control 0 (CR0) register must be
cleared. If the NE bit is set, an exception 16 will be generated instead of an external interrupt
request via the ÉlanSC520 microcontroller’s programmable interrupt controller. See the
Am486
®
DX/DX2 Microprocessor Hardware Reference Manual, 1994 (order #17965), for
further details on the floating point unit.
Содержание Elan SC520
Страница 1: ...lan SC520 Microcontroller User s Manual Order 22004A...
Страница 4: ...iv lan SC520 Microcontroller User s Manual...
Страница 28: ...Introduction xxviii lan SC520 Microcontroller User s Manual...
Страница 42: ...Architectural Overview 1 14 lan SC520 Microcontroller User s Manual...
Страница 78: ...System Initialization 3 22 lan SC520 Microcontroller User s Manual...
Страница 108: ...Clock Generation and Control 5 10 lan SC520 Microcontroller User s Manual...
Страница 118: ...Reset Generation 6 10 lan SC520 Microcontroller User s Manual...
Страница 148: ...System Arbitration 8 24 lan SC520 Microcontroller User s Manual...
Страница 214: ...SDRAM Controller 10 36 lan SC520 Microcontroller User s Manual...
Страница 230: ...Write Buffer and Read Buffer 11 16 lan SC520 Microcontroller User s Manual...
Страница 288: ...GP Bus DMA Controller 14 22 lan SC520 Microcontroller User s Manual...
Страница 316: ...Programmable Interval Timer 16 8 lan SC520 Microcontroller User s Manual...
Страница 328: ...Software Timer 18 4 lan SC520 Microcontroller User s Manual...
Страница 346: ...Real Time Clock 20 12 lan SC520 Microcontroller User s Manual...
Страница 360: ...UART Serial Ports 21 14 lan SC520 Microcontroller User s Manual...
Страница 414: ...AMDebug Technology 26 8 lan SC520 Microcontroller User s Manual...