SCSI Functional Description
2-55
2.2.18.5 Chained Block Move SCRIPTS Instruction
A chained Block Move SCRIPTS instruction is primarily used to transfer
consecutive data send or data receive blocks. Using the chained Block
Move instruction facilitates partial receive transfers and allows correct
partial send behavior without additional opcode overhead. Behavior of
the chained Block Move instruction varies slightly for sending and
receiving data.
For receive data (Data-In for the initiator or Data-Out for the target), a
chained Block Move instruction indicates that if a partial transfer occurred
at the end of the instruction, the WSR flag is set. The high-order byte of
the last SCSI transfer is stored in the
register rather than transferred to memory. The contents of the SWIDE
register should be the first byte transferred to memory at the start of the
chained Block Move data stream. Since the byte count always represents
data transfers to/from memory (as opposed to the SCSI bus), the byte
transferred out of the
register is one of the
bytes in the byte count. If the WSR bit is cleared when a receive data
chained Block Move instruction is executed, the data transfer occurs
similar to that of the regular Block Move instruction. Whether the WSR
bit is set or cleared, when a normal block move instruction is executed,
the contents of the SWIDE register are ignored and the transfer takes
place normally. For “N” consecutive wide data receive Block Move
instructions, the 2nd through the Nth Block Move instructions should be
chained block moves.
For send data (Data-Out for the initiator or Data-In for the target), a
chained Block Move instruction indicates that if a partial transfer
terminates the chained block move instruction, the last low-order byte
(the partial memory transfer) should be stored in the lower byte of the
register and not sent across the SCSI
bus. Without the chained Block Move instruction, the last low-order byte
would be sent across the SCSI bus. The starting byte count represents
data bytes transferred from memory but not to the SCSI bus when a
partial transfer exists. For example, if the instruction is an Initiator
chained Block Move Data Out of five bytes (and WSS is not previously
set), five bytes are transferred out of memory to the SCSI controller, four
bytes are transferred from the SCSI controller across the SCSI bus, and
one byte is temporarily stored in the lower byte of the SODL register
waiting to be married with the first byte of the next Block Move
instruction. Regardless of whether a chained Block Move or normal Block
*
Summary of Contents for LSI53C896
Page 6: ...vi Preface...
Page 16: ...xvi Contents...
Page 88: ...2 62 Functional Description...
Page 112: ...3 24 Signal Descriptions...
Page 306: ...6 38 Specifications This page intentionally left blank...
Page 310: ...6 42 Specifications This page intentionally left blank...
Page 338: ...6 70 Specifications Figure 6 40 LSI53C896 329 BGA Bottom View...
Page 340: ...6 72 Specifications...
Page 346: ...A 6 Register Summary...
Page 362: ...IX 12 Index...