Changing The Default Priority: Automatic Rotation - Intel 80C188EC User Manual

Hide thumbs Also See for 80C188EC:
Table of Contents

Advertisement

INTERRUPT CONTROL UNIT
8.3.3.3

Changing the Default Priority: Automatic Rotation

In some applications, a number of interrupting devices have equal priority. Automatic rotation
ensures that devices of equal priority get equal shares of CPU resources.
When programmed for automatic rotation, the 8259A module automatically assigns an IR line
the lowest priority after the service routine for that interrupt has completed (and the EOI com-
mand has been sent). The respective priorities of the other interrupts that were pending during the
service routine are changed in the same circular fashion as described in "Changing the Default
Priority: Specific Rotation" on page 8-11.
For example, assume that IR0 is programmed as highest priority and that the IR4 handler is cur-
rently being executed. At the completion of the IR4 handler, the Rotate on Non-Specific EOI
command is sent to the 8259A module. The 8259A module then assigns IR4 as the lowest prior-
ity. IR5 becomes the highest-priority device (see Figure 8-8).
8.3.4
The In-Service Register
The In-Service Register contains one bit for each of the eight IR lines. On the falling edge of the
first INTA pulse from the CPU, the In-Service bit corresponding to the highest-priority pending
interrupt is set. The In-Service bits are flags that indicate which interrupt requests have begun (but
not completed) execution of their interrupt handlers.
8-12
Highest
Priority
IR0
IR1
IR2
IR3
IR5
IR6
IR7
IR0
Decreasing relative priority
Figure 8-8. Automatic Rotation
Lowest
Priority
IR4
IR5
IR6
IR7
IR1
IR2
IR3
IR4
Before
Rotation
After
Rotation
A1244-0A

Advertisement

Table of Contents
loading

This manual is also suitable for:

80c186ec

Table of Contents