
SCSI SCRIPTS
5-3
5.1.1 Sample Operation
The following example describes execution of a SCRIPTS Block Move
instruction.
The host CPU, through programmed I/O, gives the
DMA SCRIPTS
Pointer (DSP)
register (in the Operating register file) the starting
address in main memory that points to a SCSI SCRIPTS program for
execution.
Loading the
DMA SCRIPTS Pointer (DSP)
register causes the
SYM53C1010-33 to fetch its first instruction at the address just
loaded. This fetch is from main memory or the internal RAM,
depending on the address.
The SYM53C1010-33 typically fetches two Dwords (64 bits) and
decodes the high-order byte of the first Dword as a SCRIPTS
instruction. If the instruction is a Block Move, the lower three bytes
of the first Dword are stored and interpreted as the number of bytes
to move. The second Dword is stored and interpreted as the 32-bit
beginning address in main memory to which the move is directed.
For a SCSI send operation, the SYM53C1010-33 waits until there is
enough space in the DMA FIFO to transfer a programmable size
block of data. For a SCSI receive operation, it waits until enough data
is collected in the DMA FIFO for transfer to memory. At this point,
the SYM53C1010-33 requests use of the PCI bus again to transfer
the data.
When the SYM53C1010-33 is granted the PCI bus, it executes (as a
bus master) a burst transfer (programmable size) of data,
decrements the internally stored remaining byte count, increments
the address pointer, and then releases the PCI bus. The
SYM53C1010-33 stays off the PCI bus until the FIFO can again hold
(for a write) or has collected (for a read) enough data to repeat the
process.
The process repeats until the internally stored byte count has reached
zero. The SYM53C1010-33 releases the PCI bus and then performs
another SCRIPTS instruction fetch cycle, using the incremented stored
address maintained in the
DMA SCRIPTS Pointer (DSP)
register.
Execution of SCRIPTS instructions continues until an error condition
occurs or an interrupt SCRIPTS instruction is received. At this point, the
SYM53C1010-33 interrupts the host CPU and waits for further servicing