English
Language : 

82371AB Datasheet, PDF (174/284 Pages) Intel Corporation – PCI-TO-ISA / IDE XCELERATOR PIIX4
82371AB (PIIX4)
E
After the initialization sequence, IRQ0 has the highest priority and IRQ7 the lowest. Priorities can be changed, as
will be explained, in the rotating priority mode.
The Special Fully Nested Mode
This mode will be used in the case of a system where cascading is used, and the priority has to be conserved
within each slave. In this case, the special fully nested mode will be programmed to the master (using ICW4).
This mode is similar to the normal nested mode with the following exceptions:
When an interrupt request from a certain slave is in service, this slave is not locked out from the master’s priority
logic and further interrupt requests from higher priority IRQs within the slave will be recognized by the master
and will initiate interrupts to the processor. (In the normal nested mode, a slave is masked out when its request
is in service and no higher requests from the same slave can be serviced.)
When exiting the Interrupt Service routine, the software has to check whether the interrupt serviced was the only
one from that slave. This is done by sending a Non-Specific End of Interrupt (EOI) command to the slave and
then reading its In-Service Register and checking for zero. If it is empty, a Non-Specific EOI can be sent to the
master too. If not, no EOI should be sent.
Automatic Rotation (Equal Priority Devices)
In some applications, there are a number of interrupting devices of equal priority. Automatic rotation mode
provides for a sequential 8-way rotation. In this mode, a device receives the lowest priority after being serviced.
In the worst case, a device requesting an interrupt will have to wait until each of seven other devices are
serviced at most once.
There are two ways to accomplish automatic rotation using OCW2; the Rotation on Non-Specific EOI Command
(R=1, SL=0, EOI=1) and the Rotate in Automatic EOI Mode which is set by (R=1, SL=0, EOI=0) and cleared by
(R=0, SL=0, EOI=0).
Specific Rotation (Specific Priority)
The programmer can change priorities by programming the bottom priority and thus fixing all other priorities. For
example, if IRQ5 is programmed as the bottom priority device, IRQ6 will be the highest priority device.
The Set Priority Command is issued in OCW2 where: R=1, SL=1; LO–L2 is the binary priority level code of the
bottom priority device. See the register description for the bit definitions.
Note that, in this mode, internal status is updated by software control during OCW2. However, it is independent
of the End of Interrupt (EOI) command (also executed by OCW2). Priority changes can be executed during an
EOI command by using the Rotate on Specific EOI Command in OCW2 (R=1, SL=1, EOI=1 and LO–L2=IRQ
level to receive bottom priority).
Poll Command
The Polled Mode can be used to conserve space in the interrupt vector table. Multiple interrupts that can be
serviced by one interrupt service routine do not need separate vectors if the service routine uses the poll
command.
The Polled Mode can also be used to expand the number of interrupts. The polling interrupt service routine can
call the appropriate service routine, instead of providing the interrupt vectors in the vector table.
In this mode, the INTR output is not used and the microprocessor internal Interrupt Enable flip-flop is reset,
disabling its interrupt input. Service to devices is achieved by software using a Poll Command.
174
PRELIMINARY
4/9/97 2:23 PM PIIX4aDS
INTEL CONFIDENTIAL
(until publication date)