Figure10.2 multithreaded scripts operational flow, Multithreaded scripts operational flow – Avago Technologies LSI53C1010 User Manual
Page 239

Multithreaded Operations Flow
10-3
Figure 10.2 Multithreaded SCRIPTS Operational Flow
To begin a multithreaded operation, your application determines that an
I/O is needed and makes an I/O request of the operating system. The
operating system then sets up and starts the appropriate device driver.
The main driver program modifies the SCSI scheduler routine to call the
appropriate I/O SCRIPTS instructions. At this point, normal processing
continues as the SCRIPTS processor executes the instructions of the
SCRIPTS routine.
When the CPU issues a request for service it writes a JUMP to the
scheduler to start the I/O. The SCRIPTS processor selects the SCRIPTS
needed to perform the requested action. That instruction writes a NOP
to the scheduler to prevent restarting the same I/O. The number of
entries (JUMPs) in the scheduler at any one time is the number of I/Os
scheduled but not started. The chip then executes the SCRIPTS
subroutine and interrupts at completion.
When the SCRIPTS processor has no more instructions to execute, it
jumps to the scheduler SCRIPTS area. If no new I/Os are scheduled, the
processor jumps to a WAIT RESELECT instruction. If a new I/O is
Wait Reselect
Instruction
SIGP
Select
Write NOP to
Scheduler
Main I/O
SCRIPTS
Routine
Processor
Service
Routine
Disconnect
or
I/O Complete
Write Jump to
Scheduler to
Start New I/O
Instruction
Nothing to do...
Reselection