![](http://datasheet.mmic.net.cn/390000/SYM53C825A_datasheet_16836334/SYM53C825A_130.png)
Instruction Set of the I/O Processor
SCSI SCRIPTS
6-2
SYM53C825A/825AE Data Manual
Sample Operation
T he following example describes execution of a
SCRIPT S instruction. T his sample operation is for
a Block Move instruction.
1. T he host CPU, through programmed I/O,
gives the DMA SCRIPT S Pointer (DSP)
register (in the Operating Register file) the
starting address in main memory that points to
a SCSI SCRIPT S program for execution.
2. Loading the DSP register causes the
SYM53C825A to fetch its first instruction at
the address just loaded. T his will be from main
memory or the internal RAM, depending on
the address.
3. T he SYM53C825A typically fetches two
longwords (64 bits) and decodes the high order
byte of the first longword as a SCRIPT S
instruction. If the instruction is a Block Move,
the lower three bytes of the first longword are
stored and interpreted as the number of bytes
to be moved. T he second longword is stored
and interpreted as the 32-bit beginning address
in main memory to which the move is directed.
4. For a SCSI send operation, the SYM53C825A
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
SYM53C825A requests use of the PCI bus
again to transfer the data.
5. When the SYM53C825A is granted the PCI
bus, it will execute (as a bus master) a burst
transfer (programmable size) of data,
decrement the internally stored remaining byte
count, increment the address pointer, and then
release the PCI bus. T he SYM53C825A 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.
T he process repeats until the internally stored byte
count has reached zero. T he SYM53C825A
releases the PCI bus and then performs another
SCRIPT S instruction fetch cycle, using the incre-
mented stored address maintained in the DMA
SCRIPT S Pointer register. Execution of SCRIPT S
instructions continues until an error condition
occurs or an interrupt SCRIPT S instruction is
received. At this point, the SYM53C825A inter-
rupts the host CPU and waits for further servicing
by the host system. It can execute independent
Block Move instructions specifying new byte
counts and starting locations in main memory. In
this manner, the SYM53C825A performs scatter/
gather operations on data without requiring help
from the host program, generating a host inter-
rupt, or requiring an external DMA controller to
be programmed.