Patent GB-1349999-A (GB)
Title: Autonomous multiple-path input/output control system
IPC: G06F13/12
Filed: 1971-04-19
Abstract: 1349999 Data processing system BURROUGHS CORP 19 April 1971 [6 Feb 1970] 20194/71 Heading G4A A data processing system includes a main processor, a system memory, a plurality of input/output devices connected to a peripheral exchange, and a multiple channel data transfer processing system which independently controls input/output data transfers and includes program translating means, data service means coupled to the translating means and having a plurality of input/output channels coupled to the exchange, the translating means including means for assigning an input/output channel available at data transfer initiate time for each transfer to be performed and means for constructing information transfer descriptors for the assigned channels from input/output program elements specifying the required jobs, the data service means being arranged to effect the transfers defined by the descriptors, and memory interface means coupled to the translating means and the data service exchanging input/output program elements and input/output information with the system memory. The arrangement may be as shown in Fig. 1 where a main processing unit 25 is connected to two I/O modules 30 and 40. Peripheral devices (e.g. magnetic discs, tapes &c.) 36, 38 are connected to an exchange E1 which is connected by two channels to each module. A further exchange E2 and a number of directly connected devices may also be provided. In operation the main processor supplies an I/O request descriptor to one of the modules to specify the system memory address of a device program element corresponding to a particular peripheral device. The main processor is then relieved of further action. The device element is fetched by the module and includes a bit indicating whether the required peripheral is connected via an exchange. If the device is so connected a further field in the device element is referred to in order to determine the system memory address of an exchange program element corresponding to the appropriate exchange or of an indirect element (see below). A channel busy count field and a channel number field in the exchange element are then compared to determine whether a path exists through the exchange. If a path does exist a further field in the device element is referred to in order to obtain a device or disc queue element and an I/O job descriptor is formed by combining selected fields of the accessed program elements. If a path does not exist (e.g. all channels busy) a field in the device element indicating the number of service attempts is incremented and the service attempt terminated. If the same device element is subsequently fetched by another module the procedure is similar. The device element refers to an indirect element which in turn refers to the exchange element. The module on finding that the exchange element indicates that its associated exchange is busy will, via a further field in the exchange element, fetch another exchange element, where connection via another exchange is possible. The Specification describes the arrangement fully giving a detailed description of the format and contents of the various program elements and system organization. Briefly the device queue elements may contain a link address field pointing to a device queue element associated with another device. The modules are arranged to control peripheral device to device transfers (e.g. tape to disc, card to printer) using the link address fields. Real time transfers, e.g. from clocks, document sorters, &c. are possible as are transfers to a backing store connected in the input/output system.