High speed peripheral system interface
BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     This invention relates to data transfer systems and more particularly to an improved interface system for connecting a data processing system and peripheral control unit for transferring data between the system and a plurality of input/output devices. 
     2. Prior Art 
     In general, it is well known to provide interface systems which operate in so-called asynchronous or D.C. interlocked modes. (See U.S. patent to W. F. Beausoleil et al U.S. Pat. No. 3,336,582 issued Aug. 15, 1967). More particularly, such interfaces transfer successive groups of data signals by synchronizing them with the rise and fall of interlocked strobe or tag signals. An advantage of such systems is that interface operations are made independent of data transfer rates of the input/output devices or peripheral controllers which couple to the interface. Because transfer of bytes cannot proceed until the required sequence of strobe or tag signals has been completed by the units, as for example, an input/output controller (IOC) and a peripheral control unit (PCU) which couple to the interface system, the data transfer rate is limited by the speed of the circuits and four times the length of the lines --i.e. time to propagate the rise and fall of signals in both directions connecting the IOC with a PCU. 
     In order to increase the speed of D.C. interlocked systems, one system includes an additional set of control lines within the interface system so that the operation of the additional control lines can be overlapped with the operation of the strobe or tag lines such that the transfer rate is approximately doubled. For an example of this type of system reference may be made to U.S. Pat. No. 3,582,902. 
     While the above system transfer rate is increased, the interface system can only provide a transfer rate up to twice the maximum rate established by one of the pairs of control lines. 
     OBJECTS OF THE INVENTION 
     Accordingly, it is a primary object of the present invention to provide an interface system which increases the rate of transfer over a normal D.C. interlocked interface. 
     It is a further object of the present invention to provide an improved interface system for transferring information at a speed higher than that normally accommodated by the asynchronous interface system while still providing the advantages of a D.C. interlocked interface when such higher speed transfer is not required. 
     It is a further object of the invention to provide a high transfer rate of information which is independent of the cable length connecting the Input/Output Control unit (IOC) with the Mass Storage Peripheral Control Unit (MSPCU) or other peripheral control unit or processor. 
     SUMMARY OF THE INVENTION 
     The above objects are accomplished in accordance with the present invention by providing an optional non-interlock mode of operation for the interface system. According to a preferred embodiment of the present invention, this is accomplished by providing an additional set of control lines &#34;Hold and Suppress Interlock-In&#34; and &#34;Hold and Suppress Interlock-Out&#34;. During normal operation, a peripheral control unit PCU initiates transfers of data by energizing a strobe &#34;in&#34; line to which the data processing system responds by energizing its strobe &#34;out&#34; line. For data transfers by the data processing system to the PCU, the sequences of responses are reversed. That is, the data processing system or input/output control unit IOC energizes the strobe out line to which the PCU responds by energizing the strobe in line. When the data transfer is to proceed at a rate which is greater than the maximum asynchronous transfer rate of the interface, the PCU will initiate such an operation by energizing the suppress interlock in line. When the alternate mode is allowed by the data processing system or IOC, it responds by energizing the suppress interlock out line. Means included within the PCU in response to the energization of both control lines is operative to generate an enabling signal which allows bytes to be transferred at a rate greater than the maximum rate. The PCU further includes means for generating an adjustable strobe signal at the appropriate rate which is applied to the strobe in line providing synchronism of the data transfer occurring at such rates. The IOC provides means for answering strobe-in signal via the strobe out line. 
     In addition to retaining the advantages of a D.C. interlocked interface, the arrangement of the present invention can provide still higher data transfer rates for those input/output devices of peripheral control units which transfer data greater than input/output devices normally attached for operation and controlled by an asynchronous D.C. interlocked interface. Moreover, current input/output devices and PCU&#39;s which are not equipped to handle transfers at rates greater than the transfer rate of the interface, can still be attached to the interface without any change in form or design. 
     The foregoing advantages and other objects, features of the present invention will be better understood from the following description of the preferred embodiment with reference to the accompanying drawings. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a block diagram of a system employing the interface using the principles of the present invention. 
     FIG. 2 shows in greater detail the circuits for implementing the present invention. 
     FIG. 3 is a timing diagram used to explain the operation of the system of FIG. 1. 
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENT 
     General Description 
     Referring to FIG. 1 there is shown an overall block diagram of the data processing system employing the interface arrangement of the present invention. The system includes a central processor complex (CPC) which includes those units used for addressing main storage, for retrieving or storing information, for performing arithmetic and logical operations upon data, for sequencing instructions in the order desired and for initiating communications between main storage and external devices. The main units of the central processor complex 100 includes a central processor unit (CPU) 101-2, a main memory subsystem 104 and an input/output controller (IOC) 101-6. The CPU executes instructions of one or more programs stored in the main storage subsystem 104. The IOC is that part of the system involved in the execution of commands used to carry out an input/output operation. An input/output operation is defined by a channel program. The program includes a plurality of instructions called commands. The operation is executed by a &#34;channel&#34;. The channel includes the I/O facilities, the hardware link between the IOC 101-6 and PCU 300 termed a physical channel and a logical channel. The logical channel is a collection of facilities in a PCU 300 which is required to execute an input/output I/O operation defined by a channel program. Since channels are well known in the prior art, their operation will not be described in further detail herein. 
     A peripheral subsystem interface (PSI) 200 provides a transfer and control link for exchanging information between a mass storage peripheral control unit PCU 300 and an input/output control unit IOC 101-6. The exchange is accomplished by controlling the logical state of various signal lines in accordance with pre-established rules implemented through a sequence of signals termed &#34;dialog&#34;. This type of dialog arrangement is illustrated in U.S. Pat. Nos. 3,742,457 and 3,753,236. The interface includes a Service Code In Line SCI, a Service Enable Out Line SEO, a Strobe In Line STI, a Strobe Out Line STO, a Terminate In Line TMI, a Terminate Out Line TMO, an Operational In Line OPI, an Operational Out Line OPO, Data Bus Lines DO-D7, DP, Suppress Interlock, In SLI, and Suppress Interlock Out, SLO. The description of the interface lines are given in greater detail in the section to follow. 
     
         ______________________________________                                    
PERIPHERAL SUBSYSTEM INTERFACE LINES                                      
Designation                                                               
         Description                                                      
D0-D7, DP                                                                 
         The data path lines are a one byte                               
         wide bidirectinal path (8 bits plus                              
         parity) that extends between the MSPCU                           
         and the IOC. The nature of the in-                               
         formation on the data lines (i.e.                                
         data, service code, etc.) is determined                          
         by the dialog. There can typically                               
         be more than one set of data lines                               
         D0-D7.                                                           
SCI      The service code in line extends from                            
         the MSPCU to th IOC. When set, SCI                               
         indicates that the MSPCU has a service                           
         code sequence to send to the IOC. This                           
         line is fully interlocked with a                                 
         Service Enable Out Line. The MSPCU                               
         only transfers the Service Code                                  
         Sequence when the SEO line is high. - The SCI line becomes high  
         only when                                                        
         the SEO line is low.                                             
SEO      The Service Enable Out Line extends                              
         from the IOC to the MSPCU and indicates                          
         when the IOC is ready to receive a                               
         service code sequence. The line is                               
         fully interlocked with the SCI line.                             
OPI      The Operational In Line extends from                             
         the MSPCU to the IOC. This line in-                              
         dicates the operational state of the                             
         MSPCU to the IOC. When activated,                                
         the OPI line indicates that the                                  
         MSPCU is operational and capable of                              
         communicating with the IOC. When                                 
         deactivated, it means that the MSPCU                             
         is powered down or is in a state that                            
         makes it incapable of responding to                              
         signals on the PSI.                                              
OPO      The Operational Out Line extends from                            
         the IOC to the MSPCU. This line in-                              
         dicates the state of the IOC. When                               
         activated, it indicates that the IOC                             
         is operational and capable of com-                               
         munication with the MSPCU. When                                  
         deactivated, it signals that the IOC                             
         is powered down or is in a state that                            
         makes it incapable of responding on                              
         the PSI.                                                         
STI      The Strobe In Line extends from the                              
         MSPCU to the IOC. This line in con-                              
         junction with the Strobe Out Line con-                           
         trols data transfers on the interface.                           
         For a read operation (i.e. data from                             
         the MSPCU), the STI line can only be                             
         set when STO/TMO is reset. The STI                               
         line indicates to the IOC that data                              
         is present on the data lines. To                                 
         obtain the data, the IOC responds by                             
         setting either STO or TMO when the                               
         MSPCU detects the rise of STO/TMO,                               
         it resets the STI line. When the                                 
         IOC detects the fall of the STI line,                            
         it takes the data from the lines.                                
         For a write operation, the roles of                              
         lines STO and STI are reversed. The                              
         IOC raises line STO when it puts data                            
         on the data lines. When the MSPCU                                
         detects the rise of line STO and it                              
         is ready to receive the data, it                                 
         raises either line STI or line TMI.                              
         When the MSPCU detects the fall of                               
         line STO, it takes the data from the                             
         data line.                                                       
STO      The Strobe Out Line extends from the                             
         IOC to the MSPCU. This line is used                              
         by the IOC to indicate its participa-                            
         tion in the dialog on the interface.                             
         For a read operation, STO is raised                              
         by the IOC when it detects the rise                              
         of STI (or TMI) and it is ready to                               
         obtain the data. On a read operation,                            
         STO cannot be raised if STI and TMI                              
         are both logical 0. When the MSPCU                               
         detects the rise of STO, it lowers                               
         STI (or TMI). Upon detecting the                                 
         fall of STI (or TMI), the IOC takes                              
         the data from the data lines. If                                 
         necessary, the IOC can hold up the                               
         dialog at this point by delaying the                             
         fall of STO. When it is ready to                                 
         proceed, it lowers STO, indicating                               
         to the MSPCU that the data has been                              
         taken and that the data lines can                                
         now be altered. If the IOC terminates                            
         the current dialog, it wll do so by                              
         raising TMO instead of STO for the                               
         last byte to be transferred.                                     
         For a write operation, the STO line                              
         indicates to the MSPCU that the IOC                              
         has data ready for it. The IOC puts                              
         the data on data lines and raises                                
         STO. The STO line may not be activated                           
         for a write operation unless the STI                             
         and the TMI lines are reset. The STO                             
         line must be reset when STI (or TMI),                            
         is activated. When the MSPCU detects                             
         the fall of STO, it may then take the                            
         data. If necessary, the MSPCU can hold                           
         up the dialog at this point by delaying                          
         the lowering of the STI (or TMI). When                           
         ready, the MSPCU lowers STI (or TMI)                             
         indicating to the IOC that the data                              
         lines can now be altered.                                        
TMO      The Terminate Out Line extends from                              
         the IOC to the MSPCU. This line is                               
         used by the IOC to end the current                               
         dialog.                                                          
         For a write operation, TMO can in-                               
         dicate one of the following conditions:                          
         1. For a data transfer, TMO implies                              
         that a byte being transferred is the                             
         last byte of a field and the data                                
         count is exhausted. Since data                                   
         chaining is transparent to the MSPCU,                            
         TMO rises only when the count of the                             
         last data chain CCE in the data chain                            
         array is exhausted.                                              
         2. For a command or IOC instruction                              
         transfer, TMO indicates that the                                 
         transfer is complete with the byte                               
         being sent on the current transfer                               
         and that no more bytes are sent or                               
         forthcoming. During a write operation,                           
         TMO can only rise if STI and TMI are                             
         low, and fall when the IOC detects                               
         the rise of STI (or TMI).                                        
         For a read operation, TMO is used                                
         in one of the following ways:                                    
         1. In a data transfer, TMO                                       
         indicates that a byte being                                      
         transferred exhausted the data                                   
         count. Since chaining is trans-                                  
         parent to the MSPCU, TMO will only                               
         rise when the counts associated with                             
         the last data chain CCE of the data                              
         chain array is exhausted.                                        
         2. In a Service Code Sequence, TMO                               
         will be used in one of the following                             
         ways:                                                            
         a. The IOC may raise TMO to stop                                 
         the transfer of the sequence                                     
         immediately (e.g. after detecting                                
         an error);                                                       
         b. The IOC has received a                                        
         maximum number of status bytes                                   
         it can handle and the MSPCU is                                   
         to stop any further transmission                                 
         of status bytes in the service                                   
         code sequence.                                                   
         In a read operation, TMO will                                    
         be used in one of the above ways                                 
         by being set instead of STO.                                     
         During a read operation TMO can                                  
         only rise if STI (or TMI) is high,                               
         and will fall when STI (or TMI)                                  
         falls. This line must be reset                                   
         to a logical 0 state when not in                                 
         use.                                                             
TMI      The Terminate In Line extends                                    
         from the MSPCU to the IOC. This                                  
         line is used by the MSPCU to end                                 
         current dialog.                                                  
         For a write operation, TMI is                                    
         set instead of STI and can                                       
         indicate one of the following                                    
         conditions:                                                      
         1. For a data transfer, TMI                                      
         indicates that a byte being                                      
         received is the last byte the                                    
         MSPCU will accept for this trans-                                
         fer sequence (e.g., media is                                     
         exhausted), or that the MSPCU is                                 
         temporarily suspending the data                                  
         transfer sequence.                                               
         2. For a command transfer, TMI                                   
         indicates that a byte being                                      
         received is the last byte re-                                    
         quired by the MSPCU.                                             
         For a read operation, TMI is                                     
         set instead of STI to indicate                                   
         one of the following conditions:                                 
         1. For a data transfer, TMI in-                                  
         dicates that a byte being trans-                                 
         ferred is the last byte available                                
         from the media for this data                                     
         transfer sequence, or that the                                   
         MSPCU is temporarily suspending                                  
         the data transfer sequence.                                      
         2. For a service code sequence,                                  
         TMI indicates that the byte(s)                                   
         being transferred is the last                                    
         byte in the service code sequence.                               
         TMI must be set to logical 0 when                                
         not in use.                                                      
SLI      Suppress Interlock In Line SLI                                   
         extends from the MSPCU to the                                    
         IOC. A control signal on this                                    
         line activates a request from                                    
         the MSPCU to the IOC to establish                                
         non-interlocked transfer of                                      
         command bytes, control bytes,                                    
         data bytes or a mixture of these                                 
         as defined by combinations of                                    
         the command, control data                                        
         identification signal bundle                                     
         of the interface.                                                
SLO      Suppress Interlock Out Line SLO                                  
         extends from the IOC to the MSPCU.                               
         When SLO is activated in conjunction                             
         with the SLI line above, the inter-                              
         face between MSPCU and IOC is ready                              
         to proceed with information transfers                            
         in the non-interlocked mode.                                     
______________________________________                                    
 
    
     As seen from FIG. 1, the IOC 101-6 is capable of controlling a plurality of physical channels designated 200-1 through 200-n which connect the IOC with one of a number of peripheral control units 300 through 300-n. Each peripheral control unit exchanges information with each of its associated peripheral devices over a device level interface (DLI) according to specific dialog sequences. The various lines which comprise the device level interface and descriptions are set forth in the table herein to follow. 
     
         ______________________________________                                    
Designation                                                               
           Description                                                    
DCP, DC0-DC5                                                              
           The command code lines carry encoded                           
           commands from the mass storage processor                       
           peripheral control unit MSPCU, the mass                        
           storage device (MSD) for decoding and                          
           execution.                                                     
D1P, D0-D7 The 9 bidirectional lines are used                             
           to transfer data, address, control and                         
           status information between the MSPCU                           
           and MSD.                                                       
DCS        A device command strobe line when at                           
           a logical 1 signals when the signals                           
           of the command code lines are valid                            
           for sampling.                                                  
OPI        An Operational In Line which signals                           
           that the MSD is existent, powered up                           
           and capable of communication with the                          
           MSPCU.                                                         
IDX        An index mark line when at a logical                           
           1 for 2 microseconds indicates the                             
           beginning of a logical track.                                  
OPO        An Operational Out Line which signals                          
           that the MSPCU is existent, powered                            
           up and capable of communication with                           
           the MSD.                                                       
DIN        A device initialize line which causes                          
           a MSD to place all its storage elements                        
           in an initialized state.                                       
SRI        A serial read in line which during a                           
           write operation signals the MSPCU that                         
           the MSD is executing a write command.                          
           The MSD activates this line upon                               
           receipt of a write command and does                            
           not reset it until the trailing edge                           
           of DCS. During a read operation,                               
           this line contains the information                             
           read from the media. The read signal                           
           is produced by the heads, amplified                            
           and converted into SRI line. It                                
           contains a pulse for each transistion                          
           recorded on the medium. This line is                           
           also used as a strobe to control                               
           interface dialog when information is                           
           transmitted over the bidirectional data                        
           lines.                                                         
SWO        A serial write out line transmits the                          
           information to be written. It contains                         
           a single logical 1 pulse for each                              
           transition to be recorded on the                               
           medium. This line is also used as                              
           a strobe to control interface dialog                           
           when information is transmitted over                           
           the bidirectional data lines.                                  
______________________________________                                    
 
    
     The device level interface provides for the exchange of data and control information between a peripheral control unit and connected peripheral devices. It will be obvious that the interface lines are only common to a specific type of device. The specific interface illustrated connects a mass storage device 500 to the mass storage peripheral processor 300 as shown in FIG. 1 and for the purposes of the present invention, can be considered conventional in design. Just as the IOC 106 is capable of exchanging data and control information between a plurality of peripheral control units, each peripheral control unit can exchange data and control information between it and a plurality of peripheral devices. For simplicity, only a single peripheral device is illustrated as being connected to each PCU of FIG. 1. 
     Continuing on with a general description of FIG. 1, it is seen that the memory subsystem 104 includes a memory interface unit 104-2 and a main memory 104-4. As shown, the main memory subsystem can have from one-four memory ports, each port providing a storage capacity of 256 kilobytes. The memory interface 104-2 includes the logic and control circuits required for establishing communication between a memory port and the CPU and IOC. For the purposes of the present invention these units can be considered conventional in design. As seen from FIG. 1, the main memory subsystem comprises one-four main memory units 104-4 each coupled with a part of the central processor complex via a corresponding one of the cables 104-6 through 104-9 as shown. Each main memory unit includes a memory controller or main store sequencing unit and up to eight memory subunits. Each subunit includes four sections, each of which includes an 8K by 10 bit memory array. Each main memory controller is operative to perform the necessary read/write memory operations required for accessing a word of information which is typically comprised of four 9 bit bytes of information. 
     Before beginning a description of the invention, first a discussion of the manner in which information appears in the peripheral storage system in which the present invention can be used will be given. This description is given by way of example only and should not be construed as a limitation of the present invention. 
     Information is generally stored along circumferential tracks on a rotating device such as a disk (not shown) in records comprising a number of information fields. These fields include a count field, a key field and a data field. Normally, index mark indicates the physical beginning of each track and all tracks on a disk pack are synchronized by the same index mark. Each track is headed by a home address field for address identification and a track descriptor record (record R0) for indicating the physical condition of the track. Each of the fields of information recorded on the track are separated by gaps. The gap lengths vary depending upon the storage device, location within the record, format, bit density and the record length. 
     An address marker indicates the beginning of each record for control purposes. Each address marker is proceeded by a synchronization area which includes a plurality of synchronization signals used to synchronize timing circuits used in the performance of a read operation. 
     Referring now to FIG. 2 there is shown in greater detail the portions of the IOC 101-6 and the mass storage peripheral control unit MSPCU 300 which form the information transfer interface between the IOC and the MSPCU. 
     In general, two interface lines Suppress Interlocking In 207, designated SLI, and Suppress Interlocking Out 208 designated, SLO are provided in addition to the interface function lines described supra. Data lines D0-D7, DP are the same as data lines D0-D7, DP of FIG. 1. For purposes of illustration, the bus lines D0-D7, DP are represented by two groups of lines. However, as mentioned previously, the bus is bidirectional and thus would have transmit and receive circuits connected at the end of each line. Moreover, the Strobe In Line STI of FIG. 2 is the same as the STI line of FIG. 1 and the Strobe Out Line STO of FIG. 2 is the same as the STO Line in FIG. 1. The Non-Interlocked Mode is entered when a control signal SLI activates a request from the MSPCU to the IOC to establish non-interlocked transfer of command bytes, control bytes, data bytes or a mixture of these as defined by combinations of the command, control and data identification signal bundle of the interface. When the corresponding signal SLO Suppress Interlocking Out Line 208 is activated from the IOC to the MSPCU the interface is then ready to proceed with information transfers in the non-interlocked mode using Strobe In and Strobe Out pulses at a predetermined nominal width and frequency. Either control signal can be used to terminate the non-interlock mode of transfer once it has been established. Thus the MSPCU&#39;s suppress interlocking control signal has two functionalities: (1) to request entry into non-interlock mode, and (2) as a mode termination indicator in the case of normal completion of transfer or of error while in the non-interlocked mode of operation. Likewise, the IOC&#39;s suppress interlocking control signal has two functionalities: (1) to acknowledge the channel&#39;s conditioning/preparedness to enter non-interlock mode, and (2) as a mode escape indicator in the case of error while in the non-interlock mode of operation. 
     During the transmission of non-interlocked information, the receiving side (IOC) of the interface generates a `strobe return` (Strobe Out) pulse for each strobe (Strobe In) pulse received from the transmitting (MSPCU) side, and the MSPCU counts the number of occupied strobe pulses transmitted as well as the number of strobe return pulses received. The transfer operation is checked by comparting the output of transmit and response counters after the transmission is complete. An inequality results in generation of a non-interlock mode error indication. 
     As an added error detection capability each interface path is wired to indicate a maximum number of successive bytes which may be transmitted in non-interlock mode without error. An attempt to transmit more than this number of bytes will generate a non-interlock mode error indication. Non-interlock mode transmissions of 4, 80, 256 or 1,000 occupied strobes may be utilized depending upon application block length requirement. 
     Buffer length checking functionality is manageable with this approach of information transfer, since either input or output transfer is always initiated at the MSPCU end of the interface. From (1) count of strobes transmitted, (2) count of strobe returns, and (3) IOC indication of IOC detected stop condition (coincidence of other control signal e.g. TMO) all of the intelligence required can be derived to determine equal or unequal length for the transfer operation. 
     Referring now in greater detail to FIG. 2 the Non-Interlocked Mode of Operation is initiated when a request for a Non-Interlocked Mode of Operation is made by the MSPCU on SLI line 207 and stored in request store 202. (The request store may be any convenient store such as a flip-flop or other form of signal storage register). This request signal drives one input of AND gate 201 high; thus when the other input of the AND gate is driven high by an allow or enable signal derived internally to the data processing system (the data processing system and/or IOC must determine its ability to service the high speed transfer, i.e. this is an appropriately high priority request at the current instant of time, memory bandwidth and IOC service bandwidth are available to honor this request, etc.); then both inputs of AND gate 201 are high, AND gate 201 is enabled and the SLO line 208 goes high; thus when both the SLI line 207 and SLO line 208 are high the inputs to AND gate 206A are high and AND gate 206A is enabled to provide the Non-Interlock Mode Enable (NIM) signal. The NIM signal is applied to frequency divider 220 and also applied to AND gate 217C of gate assembly 217. Frequency divider 220 may typically be a conventional transistor-transistor logic high-speed ripple through counter or shift register integrated circuit module commercially available. The output of frequency divider 220 is dependent on the NIM input signal, a MSPCU PDA pulse input which is derived from the MSPCU system clock and a switch input which is set at installation time to the reception capability of the IOC or data processing system. The output of the frequency divider 220 is coupled to one input of AND gate 212 through inverter 213, to an input terminal of AND gate 214 and also to the input terminal of skew delay adjust 219. MSPCU output data is applied to MSPCU output register 206 through AND gate 214 under control of the output of frequency divider 220. The output signal from frequency divider 220 is also applied to inverter 213 where it is inverted and applied to one input terminal of AND gate 212; the other input terminal of AND gate 212 is coupled to MSPCU output register 206. The data in MSPCU output register 206 is then transferred to the final MSPCU output register 205 during the interval when the output signal of frequency divider 220 is low. MSPCU output register 205 then directly places the data on the data bus-in comprised of lines D0-D7 and the parity bit line. The output signal from frequency divider 220 is also applied to transmit counter 221 where each pulse is used to establish a count and represents a byte transmitted. As previously noted, the output of frequency divider 220 is also applied to the input terminal of skew delay adjust 219 (which may typically be a delay line) where it is delayed by a sufficient amount to provide protection in the skewness of data being transmitted over the connecting wires or cables. The skew delay adjusted pulse is then applied to strobe width adjust 218 where it is adjusted to fit the requirements of the data processing system or IOC, interface cable length, and interface transfer rate desired. The strobe width adjust 218 may typically be any commercially available delay line or other local resonant circuit. The output signal from strobe width adjust 218 is applied to one input terminal of AND gate 217C thus enabling AND gate 217C when the NIM enable signal is high. Since the output signal from AND gate 217C is fed into OR gate 217A a strobe-in signal STI is provided for strobing non-interlocked mode data on data bus D0-D7 into the channel input register 204 through AND gate 211. The purpose of OR gate 217A is to provide the optionality of non-interlocked mode strobe control versus normal asynchronous D.C. interlocked strobe control. In the absence of the NIM enable signal, gate 217B directs the normally interlocked strobe signal through to OR gate 217A when interlocked strobe input signal to AND gate 217B is high. It will be noted that each line of data bus D0-D7, DP comprises input signals each of which are placed on one input of 9 identical AND gate 211&#39;s (only one of which is shown on the drawing of FIG. 2) whereas the other input of each AND gate 211 is the STI signal, and so forth for AND gates 210, 212, 214, 230, 232, 236 and 237. 
     The data received from the MSPCU is then synchronized to the data processing system&#39;s own internal clock. It will be noted that an internally synchronized gating signal is developed using the STI signal as input to AND gate 216, the IOC PDA pulse derived from the IOC system clock and SYNC circuit 215 (the SYNC circuit can be a conventional holding latch or J-K flop type of logic circuit). Thus, circuits 215 and 216 allow final synchronization of the strobe signal with the internal clocking system of the IOC data processing system to take place. 
     As previously discussed, the STI signal has also enabled AND gate 211 thus permitting data to be stored in channel input register 204. The output signal from channel input register 204 is applied to one input terminal of AND gate 210 which is enabled when a signal from SYNC circuit 215 is applied to the other input of AND gate 210 thus permitting the data in channel input register 204 to be transferred to the channel input buffer 204 (in synchronism with the IOC internal clock). Data in channel input buffer 203 is then applied to the buffer storage of the data processing system (not shown on FIG. 2). Note that the channel input buffer 203 is under control of buffer control 209 which in turn is synchronized by SYNC circuit 215 so as to coordinate the transfer of data to buffer storage with other activities within the data processing unit. 
     It will be noted that on the IOC side the strobe width adjust 225, skew delay adjust 226 and gate assembly 224 correspond to strobe width adjust 218, skew delay adjust 219 and gate assembly 217 of the MSPCU unit. Their functions are similar except the gate assembly 217 enables a strobe signal STI when data is to be requested by the MSPCU from the IOC or transferred from the MSPCU to the IOC, whereas the gate assembly 224 provides an STO signal to strobe data from the IOC to the MSPCU or acknowledge receipt of data by the IOC from the MSPCU. More specifically a synchronized signal from SYNC circuit 215 is applied to the skew delay adjust 226 where adjustment is made for time delays of the signal over the transmission cables and then applied to the strobe width adjust 225 where its width is adjusted to compensate for transmission back in the opposite direction (i.e. from the IOC to the MSPCU), and finally it is applied to one input terminal of AND gate 224C which is enabled when the NIM signal is high thus providing a strobe signal STO through OR gate 224A. The purpose of OR gate 224B is to provide the optionality of non-interlocked mode strobe control versus normal asynchronous D.C. interlocked strobe control. In the absence of the NIM enable signal normally developed by AND gate 204A (as previously described with respect to AND gate 206A) gate 224B directs the normally interlocked strobe signal through to OR gate 224A when interlocked strobe input signal to AND gate 224B is high. When data is to be transmitted from the IOC to the MSPCU, it is stored in IOC output register 229 which is transmitted through AND gate 232, when it is enabled, to the IOC output register 231 which places it on the data out bus D0-D7 to be transmitted under strobe out control STO to MSPCU output register 234 via 9 identical AND gates 236 one of which is shown for clarity. Note that each AND gate 236 is enabled when the STO signal on one of its input terminals is high and a corresponding one of the data lines on the other input terminal of each AND gate 236 is high. Note also that AND gate 232 is enabled when the SYNC signal from SYNC unit circuit 215 is low since inverter 233 inverts the signal and provides a high input signal to AND gate 232. Note also that the strobe out signal STO is received on one input terminal of AND gate 227 where it, the MSPCU PDA pulse derived from the MSPCU system clock and SYNC circuit 228 are used to develop an internally synchronized gating signal. (In similar fashion as described for items 215 and 216 in the IOC). Note that data is applied from the IOC unit via data out bus D0-D7 to the first MSPCU input register 234 through AND gate 236 under a raw strobe signal STO i.e. not synchronized to the PDA clock pulses of the MSPCU unit; however the data is then transferred to the MSPCU input register 235 via AND gate 237 under the synchronized STO pulse which emerges from SYNC unit 228. Finally it is seen that input data is applied to the buffer (not shown) of the MSPCU unit. 
     Referring now to FIG. 3 there is shown the timing diagram for the interface between the MSPCU and the IOC. The arrow on FIG. 3 shows the sequence of operations that takes place. Traversing from the tail end of the arrow there is shown the timing diagram wherein data stored in the MSPCU output register 205 (of FIG. 2) is placed on the data bus D0-D7. The strobe in line STI has its signal raised via the strobe enable gate 217 (previously described with respect to FIG. 2) after an appropriate time t s . Signal t s  is the skew interval and is established by the skew delay adjust unit 219 shown on FIG. 2. The width of the strobe signal, t wt , is established by the strobe width adjust unit 218 shown on FIG. 2. The next event in the dialog shown on FIG. 3 is to transmit the strobe in signal across the interface during a time interval t c  which as previously described allows for cable delay in the actual interface. This permits the data on data bus D0-D7 to be applied to AND gate 211 where it is then gated as previously described into the IOC unit. It will be noted however that once the MSPCU has sent its first strobe signal, the internally set rate dictates the time at which the second strobe signal will follow. Accordingly, after the first strobe signal has clocked the first byte of data another byte of data sequentially following can be clocked onto data bus D0-D7 from MSPCU output register 205 and then followed by a second strobe signal from strobe gate 217 at the rate established by the infrequency divider 220 output. Note that the sequence dependence is purely on the MSPCU side of the interface. The sequence dependency starts with a data bus signal, proceeds to the strobe in signal, back to the data bus signal followed by another strobe in signal etc. so that there is no interlocking relationship with the signals from the opposite side of the interface.