
2-48
Functional Description
indicating an interrupt. This method is the fastest, but it diverts CPU time
from other system tasks. The preferred method of detecting interrupts in
most systems is hardware interrupts. In this case, the SYM53C1010
asserts the interrupt request (INTA/ or INTB/) line that interrupts the
microprocessor, causing the microprocessor to execute an Interrupt
Service Routine (ISR). A hybrid approach would use hardware interrupts
for long waits and polling for short waits.
SCSI Function A is routed to PCI Interrupt INTA/. SCSI Function B is
normally routed to INTB/, but can be routed to INTA/ if a pull-up is
connected to MAD[4]. See
Section 3.8, “MAD Bus Programming”
for
additional information.
2.2.16.2 Registers
The registers in the SYM53C1010 used for detecting or defining
interrupts are
SCSI Interrupt Status Zero (SIST0)
,
SCSI Interrupt Status
One (SIST1)
,
DMA Status (DSTAT), SCSI Interrupt Enable Zero (SIEN0)
,
SCSI Interrupt Enable One (SIEN1)
, and
DMA Interrupt Enable (DIEN)
.
See the register descriptions in
Chapter 4, “Registers”
for additional
information.
ISTAT –
The ISTAT register includes the
Interrupt Status Zero (ISTAT0),
Interrupt Status One (ISTAT1)
,
Mailbox Zero (MBOX0)
, and
Mailbox One
(MBOX1)
registers. It is the only register that can be accessed as a slave
during the SCRIPTS operation. Therefore, it is the register that is polled
when polled interrupts are used. It is also the first register that should be
read after the INTA/ (or INTB/) pin is asserted in association with a
hardware interrupt.
The INTF (Interrupt-on-the-Fly) bit should be the first interrupt serviced.
It must be written to one in order to clear it. This interrupt must be
cleared before servicing any other interrupts indicated by SIP or DIP. Do
not attempt to read the other chip status registers if the INTF bit is set,
but SIP or DIP are not set.
If the SIP bit in the
Interrupt Status Zero (ISTAT0)
register is set, then a
SCSI-type interrupt has occurred and the
SCSI Interrupt Status Zero
(SIST0)
and
SCSI Interrupt Status One (SIST1)
registers should be read.