INPUT/OUTPUT MULTIPLEXER

Abstract: An input/output multiplexer 20 couples a central subsys­ tem 3 to peripheral subsystems 4 containing several units. Information flows from the central subsystem to the peripheral subsystems through a central subsystem data distributor 21, a switch 25, and a peripheral subsystems access controller 26; and in the reverse direction through a peripheral subsystems data controller 27, a channel services processor 28, a switch 29, and a central subsystem access controller 20. Information relating to different subsystems can be at different stages in its passage simultaneously. A control word processor 24 and scratch pad memory 31 stores files from the central subsystem and prepares real addres­ ses, and the channel service processor 28 obtains these addresses, in response to signals from the peripheral subsystems, and incorporates them in the information flowing to the central subsystem.

Description: INPUT/OUIPUT MULTIPLEXER This invention relates generally to data processing systems and more particularly to input/output multiplexers coupling the central subsystem with peripheral subsystems. The multiplexer provides the means for transferring signal groups between the central subsystem and an identified peripheral subsystem. It is known to provide an input/output multiplexer coupling a central subsystem and peripheral subsystems in which, in response to the initiation of a predetermined operation involving the transfer of signals between the two subsystems, further use of the multiplexer is pre-empted until completion of the predetermined operation. Because an operation can typically involve the exchange of a multiplicity of signal groups, and can typically involve a peripheral device with significantly slower operating characteristics as compared to the central subsystem, the performance of the entire data processing system can be impaired. In order to maintain an efficient flow of information between the two subsystems, various techniques have been devised to improve the system performance. For example, priority assignments can be instituted in the central subsystem so that operations essential for the efficient operation of the central processing unit of the central subsystem are performed prior to the less essential operations. Similarly, look-ahead techniques can be implemented so that operations can be performed, such as data signal group transfers, prior to the requirement by the central subsystem, thereby permitting a non-essential operation to be performed during a period of relative inactivity. While these techniques and others have been implemented, the ever-increasing speed of the central processing unit has led to a requirement of increasing efficiency of operations involving the central subsystem and peripheral subsystems. It is therefore an object of the present invention to provide an improved multiplexer for coupling the central sub system and the peripheral subsystem of a data processing system. Accordingly the present invention provides an input/output multiplexer for coupling one or more central subsystems to a plurality of peripheral subsystems, comprising an information channel through which information can flow between the central subsystem or subsystems and the peripheral subsystems, characterized in that the information channel comprises first path means through which information can flow from the central subsystem or subsystems to the peripheral subsystems and second path means through which information can flow from the peripheral subsystems to the central subsystem or subsystems, and by processor means including storage means for storing address information relating to the central subsystem or subsystems, first means for producing real address signals for the central subsystem or subsystems from logical address signals and the stored address information, and second means for incorporating the real address signals in information flowing through the second path means. A data processing system embodying the present invention will now be described, by way of example, with reference to the drawings, in which: Figure 1 is a schematic block diagram of a typical data processing system. Figure 2 is a schematic block diagram of the input/output multiplexer. Figure 3 is a flow diagram of the operation for transferring data from a predetermined peripheral subsystem to the central subsystem. Figure 4 is a schematic diagram of files stored in the. central subsystem that are required for the data transfer operation. Figure 1 shows the components of a typical data processing system. The central subsystem 3 includes a central processing unit 10 in which signal manipulation is typically performed, a main memory 12 in which the signals required by the central processing unit are stored, and a control interface unit 11 for controlling the transfer of signals to the central processing unit and for controlling the exchange of signals between the central subsystem and the remainder of the data processing system. The peripheral subsystems 4 comprise at least one peripheral subsystem and a channel bus for providing control apparatus for the peripheral subsystem(s). From the perspective of the central subsystem, a particular peripheral sub system- is- identified by its location on a channel bus. This identification can be referred to as a peripheral subsystem number. In addition, provision can be made to expand the number of peripheral subsystems by coupling more channel buses in parallel with the original channel bus. In that case, a particular peripheral sybsystem can be identified by a channel bus number and a peripheral subsystem number. Insofar as the input/output multiplexer is concerned, the combined channel bus and peripheral subsystem numbers are utilized as address identifiers and are associated with a single peripheral subsystem. The input/output multiplexer 20 couples the peripheral subsystems and the central subsystem. In.addition to the possibility of coupling to a plurality of channel buses, the input/output multiplexer can be adapted to couple to a plurality of central subsystems, not shown, through the use of a plurality of control interface units. Figure 2 shows the components of an input/output multiplexer 20. The central subsystem data distributor 21 is coupled to the central subsystem 3 and is the mechanism for the receipt of signals from the central subsystem. The central subsystem data distributor 21 is coupled to index apparatus 22, read register and fault processor 23, control word processor 24, switch 25 and scratch pad memory 31. Switch 25 is coupled to the peripheral subsystem access controller 26, read register and fault interrupt processor 23, and control word processor 24. The peripheral subsystem access controller 26 applies input/output multiplexer signal groups to the peripheral subsystem 4. The peripheral subsystem 4 applies signal groups to the peripheral subsystem data controller 27. The channel service processor 28 is coupled to peripheral subsystem data controller 27, control word processor 24, scratch pad memory 31, and switch 29. Switch 29 is coupled to control word processor 24, read register and fault interrupt processor 23 and central subsystem access controller 30. The central subsystem access controll er--30---is coupled to index apparatus 22 and applies input/ output multiplexer signal groups to central subsystem 3. The interaction between the central subsystem and the peripheral subsystem is accomplished by a series of commands. Each of the commands can flow through the input/output multiplexer in a manner which does not interfere with other commands in the multiplexer. Thus a set of central subsystems input/output multiplexer interactions can be in independent execution. It is necessary for certain circuits to prevent the simultaneous execution of commands by a multiplexer component; therefore interface control circuits are provided for selected components to ensure there is no detrimental overlap of operation. The interface control circuits can also contain priority networks to ensure that the most essential commands are executed as quickly as possible. However, during an operation, the associated peripheral subsystem is reserved to the use of that operation. The operation of the input/output multiplexer will first be summarized. The main data and control signal path from the central subsystem 3 to the peripheral subsystems 4 is through the central subsystem data distributor 21 and through the peripheral subsystems access controller 26. The main data and control signal path from the peripheral subsystems 4 to the central subsystem is through the peripheral subsystem data controller 27, the channel service processor 28, and the central subsystem access controller 30. -In the present system, the scratch pad memory 31 is available to store signals necessary for interaction between the central subsystem and the peripheral subsystems. These signal groups are available to the channel service processor, control word processor and the read register and fault interrupt processor. In the present system, duplicate files from the central subsystem are transferred to the scratch pad memory. A control word processor 24 with arithmetic capability is provided for address development.in the input/ output multiplexer rather than in the central subsystem. The developed addresses are utilized to address the appropriate locations in either the central subsystem or in the peripheral subsystems. The data developed by the control word processor is stored in the scratch pad memory for delivery to the channel service processor or to the peripheral subsystems access controller. In addition, the manipulative capacity of the control word processor can be utilized to #rovide commands directly to the central subsystem via the central subsystem access controller, rather than through the channel service processor. The read register and fault interrupt processor 23 receives signals from the central subsystem data distributor and delivers signals to the central subsystem access controller or to the peripheral subsystems access controller. The register and fault processor 23 provide certain maintenance and decision making capability that is not utilized in normal operation executions, i.e., for the data transfer type operations described previously. The channel service processor has decision making capabilities, such as determining when signal groups should be retrieved from the scratch pad memory. In addition, for large blocks of data transfer, the channel service processor determines when the correct amount of data has been transferred. As will be clear, with a multiplicity of operations in concurrent execution, the possibility of overlapping demands on the central subsystem access controller and on the peripheral subsystem access controller is present. Thus, switch 25 and switch 29 have been added to the input/output multiplexer to ensure that the integrity of signal groups is maintained, and demands on the switch component are prioritized to resolve conflicting requirements. Figure 3 is a detailed example of the implementation of an operation transferring data from a predetermined location in a peripheral subsystem. This implementation is composed of a multiplicity of activities and commands involving the various components of the input/output multiplexer Those activities performed-by the components on the inputloutput multiplexer are shown in solid boxes, while the activities performed by the peripheral subsystems or the central subsystems are shown in broken-line boxes. In response to the requirement by the central subsystem for signal groups currently in the predetermined peripheral subsystem by the central subsystem, the related central subsystem files are prepared and stored in memory locations. Upon completion of the preparation of the files, the central subsystem issues a signal group, referred to as a connect command 110. For simplicity, reference will only be made hereafter to the command name or to the signal group identification (i.e., mailbox address)-. It will be-understood that those identifications refer to signal groups of pre-established formats. The connect command is issued (110) by the central subsytem to the central subsystem data distributor. The central subsystem data distributor transfers (111) components of the connect command to components of the input/output multiplexer. A first component of the connect command is stored (112) in the scratch pad memory and a second portion is transferred (113) to the peripheral subsystem access controller. The second component of the connect command is then transferred (114) to the peripheral subsystem where the predetermined peripheral subsystem is reserved (i.e., made unavailable to respond to other connect commands) and a fetch mailbox command is issued. The fetch mailbox command is transferred (115) through the peripheral subsystem data controller to the channel service processor. The mailbox address in the central subsystem, part of the stored component of the connect command, is retrieved (116,117) from the scratch pad memory, and a resulting command is transferred (118) through the central subsystem access controller to the central subsystem where the fetch mailbox command is executed (119). Referring briefly to Figure 4, a summary of the various files constructed by the operating system and contained in the central subsystem-is shown. File 61 is referred to as the mailbox and includes, in consecutive memory locations, a plurality of bases for obtaining real address signal groups from the logical address signal groups utilized by the central subsystem, a mailbox status signal group and list pointer word signal group. The list pointer word signal group, after predetermined manipulation, provides the address 62 of the instruction data control word signal group (IDCW) and following in a consecutive memory location the data control word signal-group (DCW). The data control word signal group, after appropriate manipulation, provides the address 63 of the data storage location, (i.e., the address into which the first of the peripheral subsystem data words is to be stored). Returning to Figure 3, the mailbox signal group is transferred (12) via the central subsystem data distributor to the control word processor and the scratch pad memory where the mailbox signals are stored. The control word processor, utilizing the mailbox contents, develops the real address of the instruction data control word and stores this real address in the scratch pad memory. Upon completion of the address development, a release command (l) is issued (121). The release command is transferred (122) via the peripheral subsystem access controller to the peripheral subsys tems. The peripheral subsystem in response to the release command (1) issues (123) a move pointer command. The move pointer command is transferred (124) through the peripheral subsystem data controller to the channel service processor. In the channel service processor, the real IDCW address is retrieved (125,126) from the scratch pad memory and a resulting signal group is transferred (127) through the central subsystem access controller to the central subsystem. In response to the data signals, the IDCW is retrieved (128) from files in the central subsystem and transferred (129) via the central subsystem data distribution to the control word processor and the scratch pad memory and (130) through the peripheral subsystems access controller to the peripheral subsystems (132). The receipt of the IDCW signal group by the peripheral subsystems is the last signal group necessary for execution of the data retrieval from the predetermined peripheral subsystem. However, the peripheral subsystem does not execute the retrieval immediately. In the control word processor, the IDCW causes the DCW to be developed (131) and stored in the scratch pad memory and a release command (2) delivered (133) through the peripheral subsystem access controller to the subsystem. Upon receipt of the release command (2) indicating the availability of the DCW address, the predetermined peripheral subsystem begins to execute (134) the retrieval of the data signal groups required by the central subsystem, and, concurrent with the execu tion, a list service command is issued. The list service command is transferred (135) via the peripheral subsystem data controller to the channel service processor. In the channel service processor, the developed DCW address is retrieved (136,137) from the scratch pad memory, and the list service command is transferred (138) via the central subsystem access controller to the central subsystem. In the central subsystem, the DCW address is retrieved (139) from memory in response to the signal groups. The DCW address is transferred (14) via the central sub system data distributor to the control word processor and the scratch pad memory. In the control word processor, the true address of the location in the central subsystem into which the data, retrieved from the predetermined peripheral subsystem is to be stored, is developed (141). After development of-the#-address, the control word processor issues release command (3). The release command is transferred (142) via peripheral subsystem access controller to the peripheral subsystem (143). When the peripheral subsystems have received the release command and the data is available from the predetermined peripheral subsystem, a data ready signal is issued to the input/output multiplexer. The receipt of the data ready signal causes the accumulated data signal groups to be transferred (144) through the peripheral subsystem data controller to the channel service processor. The channel service processor retrieves (145,146) the data address from the scratch pad memory. The data is transferred (147) through the central subsystem access controller to the central subsystem. In the central subsystem, the data signal groups are stored (148) in the appropriate address. After storage of the signal groups, a stored data status command is transferred (149) via the central subsystem data distributor and transferred (150) through the peripheral subsystem access controller to the peripheral subsystems where the stored data status command (i.e., signal group) is stored (151). Concurrent with the retrieval (145) of the data address, the channel service processor issues a tally complete signal to the peripheral subsystems. The peripheral subsystems generate (160) a terminate interrupt command. The peripheral subsystems data controller transfers (161) the terminate interrupt command to the channel service processor. The channel service processor retrieves (162,163) status data from the scratch pad memory and the status data becomes part of the terminate interrupt command. The terminate interrupt status command is transferred (164) via control subsystem access controller to the central subsystem. The central subsystem stores (165) portions of the terminate interrupt status command and issues a storage data command. The central subsystem data distributor identifies (166) the storage data command and issues release command (4). The peripheral subsystem access controller transfers (167) the release control command to the peripheral subsys-tems, The peripheral subsystems identify (168) the release command and issues a set terminate interrupt command. The set terminate interrupt command is transferred (169) via the peripheral subsystems data controller to the channel service processor. The channel service processor obtains (170) the mailbox status address from the scratch pad memory. The central subsystem access controller transfers (171) the set terminate interrupt to the central subsystem. The central subsystem retrieves (172) the mailbox status word. The mailbox status word is then transferred (173) via the central subsystem data distributor to the control word processor and the scratch pad memory. The control word processor examines (174) the mailbox status word and issues a restore command which is transferred (175) to the central subsystem via the central subsystem access controller. The central subsystem restores (176) the mailbox status word and issues a mailbox status word status command. The central subsystem data distributor identifies (177) the mailbox status word and issues a release command 5). The release command is transferred (178) via the peripheral subsystem access controller to the peripheral subsystem. The predetermined peripheral subsystem, in response to the release command, is now made available (179) for another operation.

Claims: CLAIMS 1. An input/output multiplexer (20) for coupling one or more central subsystems (10,12) to a plurality of per ipheral subsystems, (17-19), comprising an information channel through which information can flow between the central subsystem or subsystems and the peripheral subsystems, characterized in that the information channel comprises first path means (21, 25,26) through which information can flow from the cen tral subsystem or subsystems to the peripheral subsys tems and second path means (27,29,30) through which information can flow from the peripheral subsystems to the central subsystem or subsystems, and by processor means (24,28,31) including storage means (31) for storing address information relating to the central subsystem or subsystems, first means (24) for producing real address signals for the central sub system or subsystems from logical address signals and the stored address information, and second means (28) for incorporating the real address signals in inform ation flowing through the second path means (27,29,30). 2. A multiplexer according to Claim 1, characterized in that different phases of a multiplicity of transactions relating to different peripheral units can occur sim ultaneously. 3. A multiplexer according to either previous Claim, char acterized in that the first means (24) stores predeter mined signals which it delivers to the second path means, in response to predetermined signals passing through the first path means, to cause predetermined activity in the central subsystem or subsystems. 4. A multiplexer according to any previous Claim, character ized in that the storage means (31) stores files devel in inthe central subsystem or subsystems.

Inventors: CRAWFORD, KNUTE S.
Applicants: HONEYWELL BULL INC.
Application year: 1982
Main classification: G06F13
IPC codes: G06F13