beautypg.com

4 sodl register, 5 chained block move scripts instruction – Avago Technologies LSI53C895A User Manual

Page 80

background image

2-54

Functional Description

2.2.18.4 SODL Register

For send data, the low-order byte of the

SCSI Output Data Latch (SODL)

register holds the low-order byte of a partial memory transfer which has
not yet been transferred across the SCSI bus. This stored data is usually
“married” with the first byte of the next data send transfer, and both bytes
are sent across the SCSI bus at the start of the next data send block
move command.

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 initiator or Data-Out for 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

SCSI Wide Residue (SWIDE)

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

SCSI Wide Residue (SWIDE)

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

SCSI Wide Residue (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 initiator or Data-In for 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

SCSI Output

Data Latch (SODL)

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