Information Technology Reference
In-Depth Information
The information transfer phases use one or more
REQ
/
ACK
handshakes to control the infor-
mation transfer. Each
REQ
/
ACK
handshake allows the transfer of one byte of information.
During the information transfer phases the
BSY
signal shall remain true and the
SEL
signal
shall remain false. Additionall
y, d
uring the information transfer phases, the t
arge
t shall con-
tinuously envelope the
REQ
/
ACK
handshake(s) with the
C/D
,
I/O
and
MSG
signals in
such
a m
anner that these control signals are valid for a bus settle delay before the asserti
on of
the
REQ
signal of the first handshake and remain valid until after the negation of the
ACK
signal at
t
he end of the handshake of the last transfer of the phase.
The
I/O
signal allows the target to control the direction of information, when its
I/O
signal is true then the information is transferred from the target to the initiator and when
false, the transfer is from the initiator to the target.
The handshaking operation for a transfer to the initiator is as follows:
•
The
I/O
signal is asserted as a true.
•
The target sets the data bus lines.
•
The target asserts the
REQ
signal.
•
The initiator reads the data bus.
•
The initiator then indicates its acceptance of the data by asserting the
ACK
signal.
•
The target may change or release the data bus.
•
The target negates the
REQ
signal.
•
The initiator shall then negate the
ACK
signal.
•
The target may continue the transfer by driving the data bus and asserting the
REQ
signal,
and so on.
The handshaking operation for a transfer from the initiator is as follows:
•
The
I/O
signal is asserted as a false.
•
The target asserts the
REQ
signal (requesting information).
•
The initiator sets the data bus lines.
•
The initiator asserts the
ACK
signal.
•
The target then reads the data bus.
•
The target negates the
REQ
signal (acknowledging transfer).
•
The initiator may then set the data bus, and so on.
7.5 SCSI pointers
SCSI provides for three pointers for each I/O process (called saved pointers), for command,
data and status. When an I/O process becomes active, its three saved pointers are copied into
the initiator's set of three current pointers. These current pointers point to the next command,
data or status byte to be transferred between the initiator's memory and the target.