Systems
GA22-6974-4
File No. 5360-5370-19
IBM System/360 arid
System/370 I/O Interface Channel to Control Unit Original Equipment
Manufacturers' Information
- - - -
- - - - - - - - - --_.- - - - - - - - - - - - - - - --- ---
Fifth Edition (January 1978)
This is a major revision of, and obsoletes, GA22-6974-3_ This edition also obsoletes Technical Newsletters GN22-0489 (dated September 18, 1974), GN22-0499 (dated June 30, 1975), and GN22-0535 (dated February 24, 1977)_
Changes have been made throughout the manual; therefore, the manual should be reviewed in its entirety.
This manual is provided for use in conjunction with other relevant IBM publica- tions, and IBM makes no warranty, express or implied, relative to its completeness or accuracy. The information in this manual is current as of its pUblication date, but is subject to change without notice. Before using this manual, refer to the IBM System/360 Bibliography, GC20-0360, and the IBM System/370 Bibli- ography, GC20-0001, for editions that are applicable and current.
This manual is not intended to be a manufacturing or engineering specification;
it is assumed that the reader understands the interrelationships among any affected systems, machines, programs, and media. However, this manual does provide information that may be of interest to designers and manufacturers of equipment to be attached to the IBM System/360 or IBM System/370. Any references to this manual should include the revision level and the publication da teo
IBM may have patents or pending patent applications covering subject matter described herein, including appearance design patents or applications. Furnishing this manual does not constitute or imply a grant of any license under any patents, pa tent applications, trademarks, copyrights, or other rights of IBM or of any third party, or any right to refer to IBM in any advertising or other promotional or marketing activities. IBM assumes no responsibility for any infringement of patents or other rights that may result from the use of this manual or from the manufacture, use, lease, or sale of apparatus described herein.
licenses under IBM's utility patents are available on reasonable and non- discriminatory terms and conditions; IBM does not grant licenses under its appearance design patents. Inquiries relative to licensing should be directed, in writing, to: Director of Contracts and Licensing, International Business Machines Corporation, Armonk, New York 10504.
The information in this publication is subject to change; before using the publica- tion in connection with the operation of IBM equipment, ask your IBM represen- tative if this edition is applicable and current.
Publications are not stocked at the address given below; requests for IBM publica- tions should be made to your IBM representative or to the IBM branch office serving your locality.
This manual has been prepared by IBM Corporation, Product Publications, Dept. B98, PO Box 390, Poughkeepsie, NY, U.S.A. 12602.
The I/O interface (channel to control unit) is the com- munication link between a channel and the various I/O control units in the IBM System/360 and System/370. It employs information formats and control signal sequencing to provide uniform means for attaching and controlling various types of control units. .
Information, in the form of data, status and sense information, control signals, and I/O device addresses, is transmitted over the time- and function-shared lines of this interface. All transmissions of information are interlocked with corresponding response signals.
The design of this interface provides the following important features:
A degree of consistency of input/output programming over a wide range of control units.
Ready physical connection to System/360 and System/
370 channels of control units designed by any manufac- turer to operate with this interface.
Ability to physically accommodate future control units designed to meet the parameters of this interface.
An interlocked interface operation that is, in most cases, time-independent; this feature increases the range of control units that may be attached.
Preface
An operation applicable to both multiplex and burst mode operations as well as many control operations and channel-to-channel transmissions_
Up to eight control units serviced per set of lines.
This Original Equipment Manufacturers' Information (OEM!) manual provides a functional description of these lines together with the electrical, mechanical, and cabling considerations, and operational description of the interface.
It does not define the interface between control units and I/O devices. Additionally, the flow diagrams (1-8) and sequence charts (1-4) in Appendix C are provided as ex- amples only and should not be considered as an instrument for obtaining precise defmitions of interface sequences.
Refer to the main body of this publication for interface sequence definitions.
Where portions of this manual are not suitable for a specific IBM channel or control-unit type that implements this interface, the resulting exceptions are described in the appropriate manual for that specific unit.
This publication is open-ended to permit future extensions to the I/O interface. The I/O interface, or any aspect of the I/O interface, may be altered from time to time by IBM or may be withdrawn by IBM in part or in whole.
Foldouts are placed at the back of the publication to facilitate printing and handling. Merge the foldouts at the end of Appendix C.
Contents
Functional Description. 7 General System Considerations 28
Line Definition . 9 Interface Time-Out Considerations 28
Input/Output Interface Lines 9 Propagation of Select Out 29
Buses-General 10 System Configuration 29
Selection Controls and Tag Lines 11 Offline/Online 30
Metering Controls 14 Power Effects 30
Reserved Lines 15
Signal Interlock Summary. 15 Features 32
Bus Extension Feature. 32
Mark Out Lines 32
Mark In Lines 32
Early Data Bus Width Indication 32
I/O Error Alert Feature 32
Command Retry Feature 33
Command Retry Request 33
Operational Description 17 High-Speed Transfer Feature 33
Interface Sequences. 17 Data In 33
Selection. 17 Data Out 33
Data Transfer 18
Ending Procedure and Asynchronous Status. 18 Appendix A. Electrical Specifications 34
Addressing 19 Physical Requirements . 34
Address Assignment 19 Multiple Drivers and Receivers. 34
Address Decoding 19 General Electrical Requirements 34
Commands 20 Voltage Levels 34
Command Byte 20 Cable 34
Basic Operations 20 Terminating Networks 34
Sequence Controls 21 Ground Shift and Noise. 34
Proceed 21 Interface Circuit Requirements 35
Stop 21 Receivers 35
Stack Status 22 Drivers. 35
Suppress Data 22 Fault Conditions. 35
Accept Data 22 Circuits 36
Data Ready 22 Electrical Specifications for Select Out Circuitry 36
Suppress Status 22 General 36
Accept Status 22 Receiver 36
Command Chaining 22 Driver 36
Interface Disconnect 23 Terminator 37
Selective Reset 23 Interface Connector Pin Assignments. 37
System Reset. 23
Status Information 24 Appendix B. Signal Cabling and Connectors 39
Status Byte 24 Cabling 39
Unit Status Conditions 24 Cable Halves 39
Attention . 24 Mounting. 39
Status Modifier 25 Offline Utilization 39
Control Unit End 25 Connectors 39
Busy 25 Connector Blocks 39
Channel End 26 Capacity 40
Device End 26 Serpent Contacts. 40
Unit Check 26
Unit Exception 27 Appendix C. Supplementary Application
Sense Information 27 Information. 43
Sense Byte 28
Sense Conditions. 28 Index 63
Input/output devices provide external storage and a means of communication between data processing systems or between a system and the external world.
Input/output (I/O) devices are attached to the central processing unit (CPU) by means of channels and control units in various configurations (Figure 1).
Chan- nel
A
CPU 1
Chan- nel
B
Channel-ta- Channel Adapter
Functional Description
The channel directs the flow of information between I/O control units and main storage.
The control unit provides the logical capability necessary to operate and control an I/O device, and adapts the characteristics of each I/O device to the standard form of control provided by the channel. A control unit may be
CPU 2
Chan- nel
C
Chan- nel o
I/O Interface C
----===::;jr---i--'
I/O Interface B
I/O Interface A
TB Multidevice Control Unit
Multidevice Control Unit
I/O Interface 0
Multi-
r - - - --..., device
Shared Switch ~----iCantrol
~
Terminator BlockFigure 1. Input/Output Interface-Multiple Configurations
Unit
Shared Multidevice Control Unit
Functional Description 7
housed separately or it may be physically and logically integrated with the I/O device.
An I/O device attached to the control unit may be designed to perform only certain limited operations; for example, recording data and moving the recording medium.
To accomplish these functions the I/O device needs detailed signal sequences peculiar to that type of I/O device. The control unit decodes the commands received from the channel, interprets them for the I/O device, and provides the signal sequence for executing the operation.
The connection between the channel and the control unit is called the I/O interface. The I/O interface, which consists of parallel signal lines that connect a number of control units to a channel (Figure 1), provides a common signal sequence and information format to all control units connected to the channel. All signals, with the excep- tion of selection signals, are available to all control units at the same time (Figure 2). However, only one control unit can be connected logically to the I/O interface at anyone point in time. Selection of a control unit by the channel is
Chonnel
D Driver R Receiver T Tennlnator
Out lines
In lines
Select Out
Select In
Highest Priority Control Unit
KI
Figure 2. Interconnections on the Input/Output Interface
controlled by a signal passing serially through all control units attached to the I/O interface. This serial passing of the selection signal permits each control unit, in turn, to respond to the other signals provided by the channel. Once the control unit is selected, it remains logically connected to the I/O interface until it completes the transferral of the information it has or needs, or until the channel signals the control unit to disconnect.
The I/O interface addressing facilities can accommodate up to 256 directly addressable I/O devices. However, within the given address limitations, and because of timing and electrical considerations, the number of control units that can be accommodated is generally limited to eight.
The multiplexing facilities of the interface permit the possibility of operating any number of the 256 I/O devices concurrently on a single interface; portions of various messages can be transmitted over the interface in an interleaved fashion to or from different I/O devices, or a complete message can be transmitted in a single interface operation. The operation is determined by the particular channel and control unit.
lowest Pri ori ty Second Highest Priority Terminator
Control Unit Control Unit Block
Out Lines
---I
0: I
In lines
[] I
1I
I
Kl
I
I
Select Out
I
Select In
L..-_ _ _ _ _ -..l _ _
.J
The rise and fall of all signals transmitted over the interface are controlled by interlocked responses. Interlock·
ing removes the dependence of the interface on circuit speed, and makes it applicable to a wide variety of circuits and data rates. Further, interlocking permits connecting control units of different circuit speeds to a single channel.
LINE DEFINITION
The I/O interface connects a channel with control units.
External cables physically connect all control units in a chain, with the first control unit connected to the channel.
See Figures 1 and 2.
Input/Output Interface Lines
The I/O interface lines and their uses are:
Name of Line Abbreviation Uses
Bus 0 Out Position P Bus 0 Out Position 0 Bus 0 Out Position 1
Bus 0 Out P Bus 0 Out 0 Bus 0 Out 1
Bus Out-Used to transmit information (data, I/O device address, commands, control orders) from the channel to the control unit. (Bus 1 is only available with the bus extension feature.)
Bus 0 Out Position 2 Bus 0 Out Position 3 Bus 0 Out Position 4 Bus 0 Out Position 5 Bus 0 Out Position 6 Bus 0 Out Position 7 Bus lOut Position P Bus lOut Position 0 Bus lOut Position 1 Bus lOut Position 2 Bus lOut Position 3 Bus lOut Position 4 Bus lOut Position 5 Bus lOut Position 6 Bus lOut Position 7 Bus 0 In Position P Bus 0 In Position 0 Bus 0 In Position 1 Bus 0 In Position 2 Bus 0 In Position 3 Bus 0 In Position 4 Bus 0 In Position 5 Bus 0 In Position 6 Bus 0 'In Position 7 Bus 1 In PoSition P Bus lIn Position 0 Bus 1 In Position 1 Bus 1 In Position 2 Bus 1 In Position 3 Bus 1 In Position 4 Bus 1 In Position 5 Bus 1 In Position 6 Bus 1 In Position 7 MarkO In MarkO Out Mark lIn Mark lOut Mark In Parity Mark Out Parity
Bus OOut 2 Bus 0 Out 3 Bus
o
Out 4Bus
o
Out 5Bus 0 Out 6 Bus
o
Out 7 Bus lOut P Bus lOut 0 Bus lOut 1 Bus lOut"2 Bus lOut 3 Bus lOut 4 Bus lOut 5 Bus lOut 6 Bus lOut 7 Bus OInP Bus 0 In 0 Bus 0 In 1 Bus 0 In 2 Bus 0 In 3 BusOIn4 Bus OIn5 Bus 0 In 6 Bus 0 In 7 Bus lInP Bus linO Bus 1 In 1 Bus lIn 2 Bus lIn 3 Bus lIn4 Bus lIn 5 Bus lIn 6 Bus lIn 7 MkOIn Mko
OutMklln Mk lOut MkInP MkOutP
Bus extension feature.
Bus In-Used to transmit information (data, selected I/O device identification, status information, sense data) from the control unit to the channel. (Bus 1 is only available with the bus extension feature.)
Bus extension feature.
Mark-Used to indicate the bus(es) being used •. (These lines are only used with the bus extension feature.)
Bus extension feature. (Mlirk 0 In is also used with the command retry feature.)
Functional Description 9
Nameo/Line Abbreviation Uses Address Out
Address In
Adr Out Adr In
Tagr-Used for interlocking and controlling information on the buses and for special sequences. (Data in and data out are only used with the high-speed transfer feature.)
Command Out CmdOut
Status In Sta In
Service Out Srv Out
Service In Srv In
Data In Dat In
}
Data Out Dat Out High-speed transfer feature.
Operational Out Operational In
OplOut Opl In
Selection Controls-Used for the scanning of, or the selection of, attached I/O devices. (Disconnect In is only used with the I/O error alert feature.)
Hold Out HId Out
Select Out SelOut
Select In Sel In
Suppress Out Sup Out
Request In Req In
Disconnect In Dis In
Metering Out Metering In
MtrOut Mtr In
Metering Controls-Used for the conditioning of usage meters located in the various attached units.
QockOut Clk Out
Note: The validity of information on the buses and the timing of the signals on the tag lines is specified at the channel cable connectors.
Buses-General
Each bus is a set of nine lines conSisting of eight information lines and one parity line. Information on the buses is arranged so that bit position 7 of a bus always carries the low-order bit within an eight-bit byte. The highest-order bit is in position
a
and intervening bits are in descending order from position 1 to position 6.When a byte transmitted over the interface consists of less than eight information bits, the bits must be placed in the highest-numbered contiguous bit positions of the bus_ Any unused lines of the bus must include the low-numbered positions (position
a
and adjacent positions). Unused lines must present logical zeros to the receiving end_ The parity bit of any byte must appear in the parity position (P). The byte must always have odd parity (Figure 3).Bus Out
'Bus out' is used to transmit addresses, commands, control orders, and data to the control units. The type of information transmitted over 'bus out' is indicated by the outbound tag lines:
1. When 'address out' is up during the initial-selection sequence, 'bus out' specifies the address of the 1/0 device with which the channel wants to communicate.
2. When 'command out' is up in response to 'address in' during the initial·selection sequence, 'bus out' specifies a command.
3. When 'service out' is up in response to 'service in' (or 'data out' is up in response to 'data in') during the execution of a write or control command, the nature of
the information on 'bus out' depends on the type of operation. For example, during a write operation it contains data to be recorded by the I/O device. During a control operation, it can specify an order code or a second·level address within the control unit or I/O device_
The period during which information on 'bus out' is valid is controlled by the tag lines. During transmission of the I/O device address during the initial· selection sequence, information on 'bus out' must be valid from the rise of 'address out' until the rise of 'operational in' or 'select in'.
In the short busy sequence, the I/O device address on the bus must be valid from the rise of 'address out' until 'status in! drops. When the channel is transmitting any other type of information, the information on 'bus out' is valid from the rise of the signal on the associated outbound tag line until the fall of the signal on the responding in·
bound tag line.
Some skew on 'bus out' must be accommodated by the channel. The channel must provide a delay that accommo·
dates skew caused by its own circuitry and, in addition, must provide a delay of at least 100 nanoseconds. This delay compensates for skew caused by the cable and, for most control units, will also be sufficient to accommodate the skew caused by the interface receivers. (Except as noted under "Address Out," the channel must delay raising of the signal on the ~utbound tag lines by a time duration that ensures that the information on 'bus out' will precede the signal on the outbound tag line by at least 100 nanoseconds. This delay is measured at the channel cable connectors and under the worst·case skew conditions.) The control unit, when it can cause more skew, must provide additional delay to compensate for the skew.
PACKED UNPACKED
BCD NUMERIC NUMERIC EBCDIC USASCII-8 BINARY
BUS LINE (POSITION VALUE) (POSITION VALUE) ( POSITION VALUE) ( BIT POSITIONS) ( BIT POSITIONS) (POSITION VALUE)
P P
0 0
1 0
2 B
3 A
4 8
5 4
6 2
7 1
X
=
Higher order digit X+
1=
Lower order digito
= Logical ZeroFigure 3. Organization of Information on Bus
Bus In
n
P Digit X{
8 4 2 1
}
X+l Digit{
'Bus in' is used to transmit addresses, status, sense informa- tion, and data to the channel. A control unit can place and maintain information on 'bus in' only when its 'operational in' is up, except in the short busy sequence.
The type of information transmitted over 'bus in' is indicated by the inbound tag lines:
1. When 'address in' is up, 'bus in' specifies the address of the currently selected I/O device.
2. When 'status in' is up, 'bus in' contains a byte of information that describes the status of the I/O device or control unit.
3. When 'service in' (or 'data in') is up during execution of a read or sense command, the nature of-the information contained on 'bus in' depends on the type of operation.
During a read operation, it may contain a byte of data from the record medium. During a sense operation, the bus contains information describing the detaileq status of the I/O device and the conditions under which the last operation was terminated.
The period during which information on 'bus in' is valid is controlled by the tag lines. Information on the bus must be valid within 100 nanoseconds after the rise of the associ- ated inbound tag and must remain valid ~ntil the rise of the responding outbound tag or, in a short busy se- quence, until 'select out' drops. The 100-nanosecond delay between the rise of the inbound tag and the time the signal becomes valid on 'bus in' places the responsibility on the channel for deskewing 'bus in'. The channel must provide a delay in the inbound tag lines to accommodate skew caused by the channel circuitry (including its receivers) and, in addition, must provide a delay of at least 100 nanoseconds.
This delay compensates for skew caused by the cable, and, for most control units, the skew caused by their drivers.
This delay provides sufficient time to deskew the informa- tion so that the inbound tag can be raised by the control unit at the same time information is placed on the bus.
When a control unit and cable can cause more skew than P 0 0 0 0
8 4
2
1
P P P
0 (zero value)' 128
1 7 64
2 6 32
3 5 16
4 4 8
5 3 4
6 2 2
7 1 1
can be accommodated by a 100-nanosecond delay, the control unit must provide the additional delay to eliminate this greater skew.
Selection Controls and Tag Lines
Oper,ational Out
'Operational out' is a line from the channel to all attached control units and is used for interlocking purposes. Except for 'suppress out', all lines from the channel are Significant only when 'operational out' is up. Whenever 'operational out' is down, all inbound lines from the control unit must drop and any operation currently in process over the interface must be reset. Under these conditions, all control unit-generated interface signals must be down within 1.5 microseconds after the fall of 'operational out' at the control unit. See "Selective Reset" and "System Reset."
Request In
'Request in' is a line from all attached I/O control units to the channel. This line, when raised, indicates that the control unit is ready to present status information or data and is requesting a selection sequence.
'Request in' should be dropped when:
1. 'Operational in' rises, unless additional control-unit·
initiated sequences are required, or
2. The control unit is no longer ready to present the status information or data, or
3. The selection requirement is satisfied by another path.
'Request in' must never fall later than 250 nanoseconds after the fall of 'operational in' if the sequence satisfies the service requirements of the control unit.
'Request in' must not remain up when 'suppress out' is up if the request is for presentation or suppressible status (see "Suppress Status" in "Operational Description'').
When the status presentation is suppressible, 'request in' Functional Description 11
must fall at the control unit within 1.5 microseconds after the rise of 'suppress out' at the control unit.
'Request in' can be signaled by more than one control unit at a time.
Address Out
'Address out' is a tag line from the channel to all attached control units. It provides two functions:
1. I/O Device Selection. 'Address out' is used to signal all control units to decode the I/O device address on 'bus out'. If the control unit recognizes the address, it must respond by raising 'operational in' when 'select out' rises (see "Select Out/Hold Out and Select In") with 'address out' still up (except in the short busy sequence).
'Address out' rises 250 nanoseconds after the I/O device address is placed on 'bus out' or after the rise of 'operational out', whichever occurs later. 'Address out' must have been down for at least 250 nanoseconds before its rise for device selection. If 'address out' falls before 'select out' rises, this control unit selection is canceled.
'Address out' can rise only when 'select out' (hold out), 'select in', 'status in', and 'operational in' are down at the channel (except as otherwise noted below in 2).
Ultimate use of the address on 'bus out' at the control unit is timed by the next rise of 'select out' at the addressed control unit. The rise of 'address out' must be delayed at least 250 nanoseconds after the address is placed on 'bus out'. Once 'address out' and 'select out' (hold out) are up, 'address out' must stay up until either 'select in' or 'operational in' rises, or until 'status in' falls, in the short busy sequence. DUring I/O device selection, 'address out' cannot be up concurrently with any other outbound tag line.
2. Disconnect Operation. If 'hold out' is down and 'address out' rises or 'address out' is up and 'hold out' falls, the presently connected control unit must drop its 'opera- tional in', thus disconnecting from the interface. 'Ad- dress out' remains up until 'operational in' drops.
'Operational in' must drop within 6 microseconds after receiving the disconnect indication. Mechanical motion in process continues to a normal stopping point. Status information is generated and presented to the channel when appropriate. See "Interface Disconnect" in "Op- erational Description." 'Address out', in this case, may be up concurrently with another outbound tag line.
Select Out/Hold Out and Select In
Control unit selection is controlled by 'select out', 'select in', and 'hold out'. 'Select out' and 'select in' form a loop from the channel through each control unit to the cable terminator block ('select out'), again through each control unit back to the channel (,select in'). Control unit selection circuitry may be attached to either 'select out' or 'select in'.
A selection priority is established because the rise of 'select out' is effective only to the first control unit on the line, and if selection is not required, is in turn propagated by each control unit to the next control unit on the line. This priority is in a descending sequence from the channel through each control unit with selection circuitry attached to 'select out' followed, in descending order back to the channel, by the remaining control units with selection circuitry attached to 'select in'. (See Figure 2.)
Note: For purposes of clarity, this document assumes that the selection circuitry of all control units is attached to 'select out'.
Each control unit must ensure that the process of electrically bypassing 'select out' before power changes does not interfere with the propagation of 'select out'. Each control unit must therefore ensure that 'select out' disconti- nuities, which may occur when another control unit on the interface is powered up or down, do not affect the propagation of 'select out'. This should be accomplished by the use of a special latch circuit. The latch is turned on by the AND of 'select out' and 'hold out', and is reset by the fall of 'hold out'. The circuit is in series with the remaining selection circuitry in the control unit and provides a constant 'select out' within the control unit, and therefore to the following control unit, regardless of variations in the input select out signal. (See Figure 4.)
Throughout the following description, 'select out' as- sumes the proper operation of the latch; i.e., the rise of 'select out' at the control unit presumes that 'hold out' is up and the fall of 'select out' is a result of the fall of 'hold out'.
'Select out' is a line from the channel to the control unit that has highest priority, and from any control unit to the control unIt next lower in priority. This line, together with 'select in', provides a loop for scanning the attached control units. A control unit can raise its 'operational in' only at the rise of its incoming 'select out'. If a control unit does not require selection, it must propagate the signal to the next control unit. Once a control unit propagates 'select out', it cannot raise its 'operational in' or respond with a short busy sequence until the next rise of the incoming 'select out'.
When an operation is being initiated by the channel, 'select out' is raised not less than 400 nanoseconds after the rise of 'address out', which indicates the address of the device being selected.
The channel must keep 'select out' up until either 'select in', or 'address in' and 'operational in', or 'status in' rises.
When 'select in' rises, 'select out' must drop and may not rise again un til after 'select in' falls.
A control unit becomes selected only when it raises its 'operational in'. 'Select out' must drop so that 'operational in' may drop. However, after the drop of 'select out', the control unit must keep 'operational in' up until the current
signal sequence is completed. The rise of incoming 'select out' in a control unit signals that the control unit can become selected to the channel by raising 'operational in'.
If a control unit raises 'operational in' , it must suppress the propagation of 'select out' to the next control unit. If the control unit does not require selection, it must propagate 'select out' to the next control unit within 1.8 micro- seconds. (See "Interface Time-Out Considerations" in
"Operational Description.")
When 'status in' rises in response to 'select out' in the short busy sequence, 'select out' must be dropped and must not rise until 'address out' has dropped.
'Hold out' is a line from the channel to all attached control units and is used in conjunction with 'select out' to provide synchronization of control unit selection.
'Hold out' is also used to minimize the propagation of the fall of 'select out' by purging the 'select out' signal from the 'select out' signal path. Therefore, once 'hold out' drops, it must not rise for at least 4 microseconds in general system configurations. The minimum downtime of this signal may be optionally adjusted at installation time to a minimum of 2 microseconds to handle high-speed channel configura- tions. In all cases, the channel must be capable of providing the 4-microsecond timing for general system configuration (see "System Configuration" in "Operational Description").
In order to prevent overlapping of interface sequences, one of the following procedures must be accomplished:
1. 'Select out' is not raised until all in-tags and 'operational in' for the preceding sequence are in a down state, or 2. In-tags are not considered valid until 1.5 microseconds
after the fall of 'operational in' for the preceding . sequence.
'Select in' is a line that extends the select out signal from the jumper in the terminator block to the channel (see Figure 2). It provides a return path (to the channel) for the select out 'signal.
Operational In
'Operational in' is a line from all attached control units to the channel, and is used to signal to the channel that an I/O device has been selected (except in the short busy se- quence). 'Operational in' must stay up for the duration of the selection. The selected I/O device is identified by the address byte transmitted over 'bus in'.
The rise of 'operational in' indicates that a control unit is selected and is communicating with the channel. 'Opera- tional in' can rise only when the incoming 'select out' to the control unit is up and the outgoing 'select out' is down;
i.e., the control unit may raise 'operational in' (except in the short busy sequence) only in response to the rise of 'select out' and must block 'select out' from emanating to the next control unit. 'Operational in' can drop only after 'select out' drops_
When 'operational in' is raised for a particular signal sequence, it must stay up until all required information is
transmitted between the channel and the control unit. If 'select out' is down, 'operational in' must drop after the rise of the outbound tag associated with the transfer of the last byte of information. With the exception of 'request in' or 'metering in', all inbound signals must be down within 100 nanoseconds of the fall of 'operational in' at the control unit. 1
Address In
'Address in' is a tag line from all attached control units to the channel and is used to signal the channel when the address of the currently selected I/O device has been placed on 'bus in'. The channel responds to 'address in' by 'command out'.
The rise of 'address in' indicates that the address of the currently selected I/O device is available on 'bus in'.
'Address in' must stay up until the rise of 'command out'.
'Address in' must fall so that 'command out' may fall.
'Address in' cannot be up concurrently with any other inbound tag line.
Command Out
'Command out' is a tag line from the channel to all attached control units and is used to signal the selected I/O device in response to a signal on 'address in', 'status in', or 'service in'. A signal on 'command out' as a response to 'address in' during the initial-selection sequence indicates to the selected I/O device that the channel has placed a command byte on 'bus out'. (The command byte has a fixed format. See "Commands" in "Operational Descrip- tion.") This rise of 'command out' indicates that informa- tion on 'bus in' is no longer required to be valid. 'Command out' must stay up until the fall of the associated 'address in', 'status in', or 'service in'. It cannot be up concurrently with any other outbound tag line, except possibly during an interface-disconnect sequence in which case 'address out' may be up. (See "Interface Disconnect" in "Opera- tional Description.")
'Command out' in response to 'address in' means proceed during a control-unit-initiated sequence. During an initial- selection sequence, 'command out' indicates that 'bus out' defines the operational command to be performed.
'Command out' in response to 'service in' always means stop (see "Stop" in "Operational Description"). 'Command out' in response to 'status in' means stack (see "Stack Status" in "Operational Description").
When 'command out' is raised to indicate proceed, stack, or stop, 'bus out' must have a byte of all zeros, but need
1 For control units and devices designed before January 1, 1977, all inbound signals, with the exception of 'request in' and 'metering in', must be down within 1.5 micro- seconds of the fall of 'operational in' at the control unit.
Functional Description 13
not necessarily have correct parity. 'Bus out' must not be checked for parity or decoded as a command by the control unit under these circumstances.
Status In
'Status in' is a tag line from all attached control units to the channel and is used to signal the channel when the selected control unit has placed status information on 'bus in'. The status byte has a fixed format and- contains bits describing the current status at the control unit (see "Status Byte" in
"Operational Description"). The channel responds by raising either 'service out' or 'command out' depending on whether it accepted the status byte.
The rise of 'status in' indicates that a byte of status information is available on 'bus in'. 'Status in' cannot be up concurrently with any other inbound tag line. 'Status in' must stay up until the rise of an out·tag, or in the short busy sequence, until 'select out' falls. It must fall so that the responding out-tag may fall. In the short busy sequence, status information on 'bus in' must be valid until 'select out' (hold out) falls.
Service Out
'Service out' is a tag line from the channel to all attached control units and is used to signal the selected I/O device in recognition of a signal on 'service in' or 'status in'. A signal on 'service out' indicates to the selected I/O device that the channel has accepted the information on 'bus in' or has provided on 'bus out' the data requested by 'service in'.
When 'service out' is sent in response to 'service in' during a read or sense operation, or to 'status in', the service out Signal must rise after the channel accepts the information on 'bus in'. In these cases, the rise of 'service out' indicates that the information is no longer required to be valid on 'bus in', and is not associated with any information on 'bus out'. When 'service out' is sent in response to 'service in' during a write or control operation, the rise of 'service out' indicates that the channel has provided the requested infQrmation on 'bus out'. In this case, the signal must rise after the information is placed on the bus.
'Service out' must stay up until the fall of the associated 'service in' or 'status in'. 'Service out' cannot be up con- currently with any other out-tag except during an interface- disconnect sequence, when 'address out' may be up. (With the high-speed transfer feature, 'data out' and 'service out' may be up concurrently.)
Service In
'Service in' is a tag line from all attached control units to the channel and is used to signal to the channel when the selected I/O device wants to transmit or receive a byte of information. The nature of the information associated with 'service in' depends on the operation and the I/O device.
The channel must respond to 'service in' by 'service out', 'command out', or, during an interface disconnect, by 'address out'.
During read, read-backward, and sense operations, 'service in' rises when information is available on 'bus in'. During write and control operations, 'service in' rises when information is required on 'bus out'. 'Service in' cannot be up concurrently with any other inbound tag line. 'Service in' must stay up until the rise of either 'service out', 'command out', or 'address out'. (With the high-speed transfer feature, 'data in' and 'service in' may be up con- curren tly .)
When, in the case of cyclic I/O devices, the channel does not respond in time to the preceding 'service in', an overrun condition occurs. This condition must be recognized by the I/O device. In any case, 'service in' must not drop if an out-tag has not risen, nor may it rise if 'service out' has not dropped.
An overrun condition causes both the unit-check status indicator and the overrun sense indicator to be set. Data transfer stops after an overrun condition. For I/O devices that may overrun, the critical signal timings involved must be part of the SRL I/O device specifications.
Suppress Out
'Suppress out' is a line from the channel to all attached control units that may rise or fall at any time. This line is used both alone and in conjunction with the out-tag lines to provide the following special functions: suppress data, suppress status, command chaining, and selective reset.
Each of these functions is described in subsequent sections.
Metering Controls Clock Out
The defmition for this line has been withdrawn. The channel ensures that the 'clock out' line remains down at all times.2
2 For all control units and devices designed before January 1, 1977, 'clock out' is a line from the channel to all attached control units and is used to provide the CPU interlock control necessary for changing the enable/
disable states of the units (signal must be down to permit changing states). In addition, the control unit's transition between the enabled and disabled state requires the same prevailing conditions as for the offline/online transition.
(See "Offline/Online" in "Operational Description.") The down state of 'clock out' must be at least 1 micro- second in duration.
Metering In
'Metering in' is a line from all attached control units and is used to condition the CPU meter for operation. The metering in signal originates from each I/O device and/or control unit and is generated by the device from the time of acceptance of a command until the generation of 'device end' for that command. 'Metering in' need not be activated between the acceptance of 'channel end' and the genera- tion of the associated 'device end' if the intervening time is less than 400 milliseconds. 'Metering in' may also be raised concurrently with 'operational in' for any interface signaling sequence that does not involve an operation (such as a test I/O or a control-unit-initiated sequence for asynchronous status presentation). If raised, the duration of the signal must not exceed that of 'operational in'.
'Metering in' may be signaled by more than one control unit at a time. Refer to the SRL publication pertinent to each I/O device.
'Metering in' is not raised:
l. Between the generation and acceptance of 'device end'.
2. Between the generation of 'device end' and the accept- ance of the next command during chaining.
3. While a device is waiting for initiation of an automatic start. For example, transmission control units do not necessarily activate 'metering in' during the idle portion of prepare commands.
Metering Out
'Metering out' is a line from the channel to all attached control units and is used to condition all other meters in assignable units and I/O units. 'Metering out' is raised whenever the CPU meter is recording time.
Reserved Lines
Some of the signal lines in the I/O interface are reserved.
(See "Interface Connector Pin Assignments" in Appendix A.)
All control units must carry through the 48 assigned signal transmission lines in cables (1) and (2), with the exception of 'select out' ('select in' if low priority), from the IN cable connector to the OUT cable connector.3 All control units using 'bus l' must carry through all 72 signal transmission lines in cables (1), (2), and (3). (See 'Interface Connector Pin Assignments" in Appendix A and Figure 12.)
3 Control units and devices designed before October 2, 1970, must carry through the 40 assigned signal trans- mission lines in cables (1) and (2), with the exception of 'select out' (,select in' if low priority), from the IN cable connector to the OUT cable connector.
Unterminated lines in any string of interface cables may cause interference from electrostatic discharge (ESD).
To prevent such interference, there should be electrical continuity in all cable conductors in each string of cables (from each channel to its terminator). This electrical continuity can be achieved by using either 20-conductor cables or 24-conductor cables in a string, but not both types in the same string.
SIGNAL INTERLOCK SUMMARY
The following rules for direct-current interlocking of signals must be used in the design of channels and control units using this I/O interface:
l. Except for 'address out', no more than one out-tag may be up at any given time during the interface- disconnect sequence. (With the high-speed transfer feature, 'data out' and 'service out' may be up con- currently.) See "Interface Disconnect" in "Operational Description."
2. No more than one in-tag may be up at any given time.
(With the high-speed transfer feature, 'data in' and 'service in' may be up concurrently.)
3. An in-tag may rise only when all out-tags are down, except in the short busy sequence. (With the high- speed transfer feature, 'data in' may rise with 'service out' up, or 'service in' may rise with 'data out' up.) 4. An in-tag may fall only after the rise of a responding
out-tag, except for 'status in' in the short busy se- quence.
5. 'Service out' and 'command out' may rise only in response to the up level of an in-tag.
6. 'Address out' for an initial-selection sequence may rise only when 'select in' and 'select out' are down at the channel.
7. Once 'address out' and 'select out' have risen for an initial-selection sequence, 'address out' must stay up until after the rise of 'select in' or 'operational in' or the fall of 'status in'.
8. Once 'address out' has risen for the interface-disconnect sequence, it must not drop until 'operational in' drops.
9. None of the out lines, except 'suppress out', have meaning when 'operational out' is down.
10. 'Select out' can rise only if 'operational in' and 'select in' are down.
11. 'Operational in' cannot fall until either:
a. 'Select out' falls and an out-tag response is sent for the last in-tag of any given signal sequence, or b. 'Operational out' falls, or
c. An interface-disconnect sequence is given.
12. 'Operational in' cannot rise unless 'operational out' is up and must drop if 'operational out' drops.
Functional Description 15
Note: Designers should carefully consider the effects of interface signal transition times. Although transition time should not generally be a problem, some cases may exist, due to wide variation in circuit tolerance or physically integrated channel control units, where transition time must be considered.
The general design rule is that the unit originating the signal (channel or control unit) must fully recognize internally the transition of the signal from one state to the other before any result of the transition can be returned from the receiving unit.
INTERFACE SEQUENCES
This section describes the detailed signal sequence for a complete I/O operation. These sequences include: selection, data transfers, and ending procedures. (See Sequence Charts 1-4 and Flow Diagrams 1-8 in Appendix C. These diagrams are to be used as examples only, and are not to be considered for obtaining precise defmitioRs of interface sequences.)
Selection
Initial-Selection Sequence
To initiate an I/O operation, the channel places the address of the desired I/O device on 'bus out' and raises 'address out'. Each control unit connected to the channel attempts to decode the address on the bus; however, only one control unit should be assigned to a given I/O address. To be acceptable, the address must have correct parity_
The channel then issues 'select out' ; and when the incoming 'select out' appears at the addressed control unit, the control unit blocks its propagation and raises the operational in line. When 'operational in' rises, the channel responds by dropping 'address out'. After 'address out' falls and the I/O device address is on 'bus in', 'address in' may rise_ For a byte multiplex operation, 'hold out' with 'select out' may drop any time after this point. After the channel checks the address, it responds by placing the command on 'bus out' and signaling on the command out line_ The selected control unit processes the command and drops 'address in', which allows 'command out' to fall. After 'command out' drops, the control unit places the status information on 'bus in' and raises 'status in'; this is referred to as initial status. At this time, the status is analyzed to determine if the command has been accepted. The com- mand is considered to have been accepted if: (1) command retry is requested or (2), the command sent to the addressed device is not test I/O and the status is zero or does not contain Attention, Control Unit End, Busy, Unit Check, or Unit Exception. Once the command is accepted, the channel considers the I/O operation to have been initiated.
If the channel accepts this status information, it responds by raising 'service out'. 'Service out' allows 'status in' to fall, completing the initial-selection sequence. If the channel does not accept this status condition, it responds by raising 'command out'. A 'command out' response from the channel also allows 'status in' to fall. See "Stack Status."
If the I/O device is operating during this initial-selection sequence, the control unit presents busy status. When the control unit has, for the addressed device, status informa-
Operational Description
tion outstanding from a previous operation or an externally initiated status condition, it presents the busy status (except to the all-zero command) along with the other status conditions in the status byte. (See "Unit Status Conditions. ")
If the command is rejected by the control unit, for example, as a result of the detection of an invalid command, the control unit presents the unit-check status condition. No operation is initiated at the control unit and no ending status is generated.
Note: A channel response of 'command out' to 'status in' cannot prevent the execution of an immediate command.
Short Busy Sequence
If an I/O device is addressed and the I/O device is executing a previously initiated operation, or a control unit to which it is attached is busy or has status pending for an I/O device other than the one addressed, the control unit responds with a status byte indicating the busy condition. (See
"Busy.") The control unit can present this status byte in either of two ways, depending on the design of the control unit; it can present status information as in the initial- selection sequence or it can respond with the short busy sequence.
Note: The short busy sequence must not be used in response to an initial-selection sequence addressed to a device for which chaining has just been indicated.
The short busy sequence begins when the channel places the I/O device address on 'bus out' and raises 'address out'. 'Select out' is then raised. Each control unit attempts to decode the address on 'bus out'. When 'select out' rises at the addressed control unit, the control unit blocks the propagation of 'select out', places the busy status byte on 'bus in', and raises 'status in'. 'Operational in' is not raised.
After accepting the status byte, the channel drops 'select out'. The control unit responds by dropping 'status in' and disconnecting from the interface. The channel must keep 'address out' up until 'status Jn' drops, thus completing the short busy sequence.
Control-Unit-Initiated Sequence
When any control unit requires service, it raises 'request in' to the channel. The next time 'select out' rises at any control unit requiring service and no I/O selection is being attempted by the channel ('address out' down), the control unit suppresses the propagation of 'select out', places the address of the I/O device on 'bus in', and signals both Operational Description 17
'address in' and 'operational in'. When the channel recognizes the address, 'command out' is sent to the control unit, indicating proceed. After 'address in' drops, the channel responds by dropping 'command out'.
If the service request is for data, the sequence proceeds as described in "Data Transfer." The control-unit-initiated sequence for data transfer occurs in byte-multiplex mode.
If the service request is for status information, the sequence proceeds as described under "Ending Procedure and Asynchronous Status."
Data Transfer
Data transfer may be requested by a control unit after a selection sequence. The direction of data transfer over the I/O interface is determined by the command that was passed to the control unit during the initial-selection sequence.
To transmit data to the channel, the control unit places a data byte on 'bus in' and raises 'service in'; the tag and the validity of 'bus in' must be maintained until an out- bound tag is raised in response.
To request data from the channel, 'service in' is raised, and the channel places the data on 'bus out' and signals with 'service out'. The channel maintains the validity of 'bus out' until 'service in' falls. After 'service in' falls, the channel responds by dropping 'service out' .
After selection, as a result of either an initial-selection sequence or a control-unit-initiated sequence, the control unit remains connected to the channel for the duration of the transfer of information. The information can be a single byte of data, a status report, an initiation of a new command, a string of data bytes, or a complete operation from initiation to reception of the final status report.
The duration of the connection is under control of both the channel and the control unit. To provide a channel with a method of controlling the duration of the connec- tion, a control unit cannot disconnect from the interface before 'select out' (hold out) falls. However, the control unit may preserve the connection after the channel permits the control unit to disconnect - 'select out' (hold out) down - by holding up 'operational in'. In this manner, the control unit can extend the duration of the connec- tion.
Depending on the duration of the connection, one of two modes is established: byte-multiplex or burst. (These modes are established to assist in scheduling concurrent execution of multiple I/O operations.)
If 'operational in' remains up for longer than the byte multiplexing time-out limit, the connection is in burst mode. (See "Interface Time-Out ConSiderations.") If the connection time is less than the time-out limit, the con- nection is in byte-multiplex mode.
Byte-Multiplex Mode
If the time contributed by the control unit to the connec- tion (because of the control unit's circuitry or the se- quencing method used) is less than 32 microseconds, the connection is considered byte-multiplex mode. This mode is the normal mode for low-speed I/O devices; however, all I/O devices are designed to operate in burst mode when required by the channel.
Burst Mode
If the time contributed by the control unit to the connec- tion (because of the control unit's circuitry or the se- quencing method used) is greater than 32 microseconds, the connection is considered burst mode. This mode is the normal mode of operation for high-speed I/O devices.
These devices force burst mode (by holding up 'operational in') when attached to a channel capable of byte-multiplex operation.
Medium-speed or buffered I/O devices, which may normally operate in either mode, are equipped with a manual or programmable switch to select the mode of operation. The switch setting is overriden when burst mode is forced by the channel. An interface disconnect executed by the channel overrides the force-burst-mode condition of a control unit. (See "Interface Disconnect.")
Some channels can tolerate an absence of data transfer during a burst mode operation, such as when reading a long gap on tape, for not more than approximately one-half minute. Equipment malfunction may be indicated when an absence of data transfer exceeds this time.
Ending Procedure and Asynchronous Status
The ending procedure may be initiated by either the I/O device or the channel. If the procedure is initiated by the I/O device, the end of operation is completed in one signal sequence, assuming that both channel-end and device-end status conditions occur together. If the procedure is initiated by the channel, the I/O device may still require time to reach the point where the proper status information is available, in which case a second signal sequence is necessary to complete the ending procedure.
One of three situations may exist that will result in the initiation of the ending procedure (assume selection is already obtained):
1. The channel recognizes the end of an operation before the I/O device reaches its ending point. In this situation, whenever the control unit requires service again, the control unit raises the service in line. The channel responds by raising 'command out', indicating stop. The control unit drops 'service in' and proceeds to its normal