The bus master in Micro Channel-based systems is capable of transferring data on the system channel without intervention from the system controller. Typically the system processor issues a request to the bus master. The bus master then takes charge and controls all further operations required to complete the request. The operations might be:
To utilize the power of the bus master we need an effective method of communicating control instructions to it.
The Subsystem Control Block (SCB) architecture defines logical protocols and services needed to transfer commands, data, and status information between the system processor and a bus master adapter and between two bus master adapters. The term subsystem is used since the advanced function adapters are much more than simple interfaces to peripheral devices. These adapters typically have some intelligence built into them in the form of local processing power and can be regarded as "systems within a system".
The SCB architecture provides a powerful means of communication between device drivers running in the system processor and I/O processors that are capable of operation independently from the system processor. The architecture defines a control block structure for use between functional entities in a base system processor and functional entities in advanced function adapters. Entities are defined as either client or server. Client entities make requests of server entities. The architecture also defines the way that control blocks are passed between entities in the system processor and entities in the feature adapters, or between entities in two adapters (peer-to-peer communication).
The SCB architecture sees the system unit and each adapter logically structured into three levels:
We will now discuss the SCB architecture and the manner, in which it is implemented in the IBM SCSI adapters.