Browse Prior Art Database

Chained Subsystem Control Block Architecture for Personal Systems

IP.com Disclosure Number: IPCOM000120664D
Original Publication Date: 1991-May-01
Included in the Prior Art Database: 2005-Apr-02
Document File: 7 page(s) / 290K

Publishing Venue

IBM

Related People

Bonevento, FM: AUTHOR [+5]

Abstract

Described is a method for providing command chaining of control blocks as defined in subsystem control block (SCB) architecture for personal systems equipped with a Micro Channel*. The method reduces the number of input/output (I/O) commands issued to a subsystem or device and provides a means of offloading the main processor of I/O operations that can be performed by a subsystem or an I/O processor. Also, the method reduces interrupts from a subsystem to the main processor.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 24% of the total text.

Chained Subsystem Control Block Architecture for Personal Systems

      Described is a method for providing command chaining of
control blocks as defined in subsystem control block (SCB)
architecture for personal systems equipped with a Micro Channel*.
The method reduces the number of input/output (I/O) commands issued
to a subsystem or device and provides a means of offloading the main
processor of I/O operations that can be performed by a subsystem or
an I/O processor. Also, the method reduces interrupts from a
subsystem to the main processor.

      The method utilizes two types of control block chaining:
command chaining and data chaining.  Command chaining allows a series
of control blocks to be presented to a device for execution with a
single request from the system master.  The request from the system
master points to the first control block in a chain of control
blocks. Subsequent control blocks in the chain are obtained and
executed by the device using chain addresses contained within each
control block.  No additional requests are required by the software
in the system to cause the device to continue to execute control
blocks in a command chain. Therefore, the system master is free to
perform other work. Each control block in a command chain can
separately store status in its associated termination status block
(TSB) and request an interrupt of the system upon completion.

      Data chaining uses an indirect list pointed to from the control
block to perform data transfers into discontinuous memory locations.
This capability is useful when dealing with data buffers in a virtual
memory system which are logically contiguous but are mapped by the
operating system into a set of discontinuous physical memory areas
(pages). The discontinuous physical page addresses are used as
entries in an indirect list.  Each discontinuous area and its length
is used as indirect list elements.  This allows a single command
control block to handle the data transfer from or to a device using a
list of buffer areas in shared memory.  The indirect list maps the
single logical buffer into a set of indirect list entries.

      In actual operation, a control block command address is
delivered from the system unit to the subsystem using I/O
instructions to write to the command and attention ports. Once this
command address is delivered and accepted, the device performs the
operation specified by the control block command.  If control block
commands are issued to the device one at a time, then a program in
the system unit will wait for the control block command to be
completed before it issues the next control block to the device.
This involves at least three I/O operations from the system master to
initiate the control block and to verify its acceptance.  At least
three I/O operations are needed to verify and to reset an interrupt
from the device at completion of the operation.

      If a program needs to issue several commands t...