SCSI Functional Description 2-17
accessed as a register-oriented device. Error recovery and/or diagnostic
procedures use the ability to sample and/or assert any signal on the
SCSI bus. In support of SCSI loopback diagnostics, the SCSI core may
perform a self-selection and operate as both an initiator and a target.
The LSI53C875A is controlled by the integrated SCRIPTS processor
through a high-level logical interface. Commands controlling the SCSI
core are fetched out of the main host memory or local memory. These
commands instruct the SCSI core to Select, Reselect, Disconnect, Wait
for a Disconnect, Transfer Information, Change Bus Phases and, in
general, implement all aspects of the SCSI protocol. The SCRIPTS
processor is a special high-speed processor optimized for SCSI protocol.
2.2.1 SCRIPTS Processor
The SCSI SCRIPTS processor allows both DMA and SCSI commands
to be fetched from host memory or internal SCRIPTS RAM. Algorithms
written in SCSI SCRIPTS control the actions of the SCSI and DMA
cores. The SCRIPTS processor executes complex SCSI bus sequences
independently of the host
=CPU.
Algorithms may be designed to tune SCSI bus performance, to adjust to
new bus device types (such as scanners, communication gateways, etc.),
or to incorporate changes in the SCSI-2 or SCSI-3 logical bus definitions
without sacrificing I/O performance. SCSI SCRIPTS are hardware
independent, so they can be used interchangeably on any host or CPU
system bus. SCSI SCRIPTS handle conditions like Phase Mismatch.
2.2.1.1 Phase Mismatch Handling in SCRIPTS
The LSI53C875A can handle phase mismatches due to drive
disconnects without needing to interrupt the processor. The primary goal
of this logic is to completely eliminate the need for CPU intervention
during an I/O disconnect/reselect sequence.
Storing the appropriate information to later restart the I/O can be done
through SCRIPTS, eliminating the need for processor intervention during
an I/O disconnect/reselect sequence. Calculations are performed such
that the appropriate information is available to SCRIPTS so that an I/O
state can be properly stored for restart later.