
74
Altera Corporation
a8259 Programmable Interrupt Controller Data Sheet
Operational
Commands
The
a8259
supports several operational commands:
I
I
I
I
I
Priority rotation
EOI
Special mask mode (SMM)
Trigger modes
Poll command
Priority Rotation
The priority rotation command can adjust the interrupt request priority.
The
a8259
supports two types of rotation commands: automatic and
specific rotation.
The automatic rotation command rotates an interrupt that has just been
serviced to the lowest priority. For example, if the
ir5
interrupt has just
been serviced, it is assigned the lowest priority, and the
ir6
interrupt is
then given the highest priority. For a system with equal priority
interrupts, this process ensures that an interrupt waits for no more than
seven other devices to be serviced. Automatic priority can be configured
to operate on a non-specific EOI, or an automatic EOI using the OCW 2
command register.
The specific rotation command is similar to the automatic rotation
command, except the interrupt to be assigned the lowest priority is
specified using bits 0 through 2 of the OCW 2 command register. Specific
rotation can be accomplished by issuing a set priority command or a
rotate-on-specific EOI command.
End of Interrupt
The EOI command is used to clear the last interrupt request serviced in an
ISR bit. There are two methods used to issue an EOI command: automatic
or non-specific.
If an automatic EOI command is used (bit 1 of ICW 4 is high), a
non-specific EOI command is issued at the rising edge of the last
ninta
pulse in the interrupt sequence. A non-specific EOI clears the ISR bit
currently set at the highest priority. As long as a specific rotation is not
used, a non-specific EOI will always clear last interrupt request serviced
in the ISR bit.
When the interrupt priority scheme is disturbed (usually in specific
rotation), a specific EOI command is issued to clear the ISR bit of the
interrupt request specified in bits 0 through 2 of the OCW 2 command
register.