Patent GB-1469731-A (GB)
Title: Computer peripheral control
IPC: G11B20/10
Filed: 1975-01-02
Abstract: 1469731 Digital data processing HONEYWELL INFORMATION SYSTEMS Inc 2 Jan 1975 [4 Jan 1974] 94/75 Heading G4A A control unit is provided for facilitating the co-operation of peripheral devices 214, in this embodiment magnetic tape units, which may have differing operating characteristics, e.g. tape speed, with the central processor (102), Fig. 1 (not shown) of a data processing system, the control unit interrogating a selected peripheral device 214 before the start of data transfer to or from that device, storing a "speed constant" (which indicates the operating speed of that device) transmitted from that device in response to the interrogation signal, and then initiating data transfer at a rate dependent on the stored speed signal. Transfer of data is controlled by microinstructions stored in a ROM 122, which are decoded by a decoder 208 and operate in conjunction with an ALU 204. For initiating data transfer to a peripheral device 214 (writing) the CPU (102) sends a "connect" signal to the ALU 204 which identifies which peripheral device is to be used; this device is then selected by a logic circuit 252 enabling the appropriate part of a selector circuit 248 which can selected one of eight possible peripheral devices. A "density" signal (which indicates, for the selected peripheral device, the recording density of characters on the tape) is then sent to a working memory 130 from the CPU (102). An interrogation signal sent to the selected peripheral device causes the device's speed constant to be received in a read buffer 240 and stored in the working memory 130. From the stored density signal and speed constant the ALU 204 determines arithmetically (e.g. by addition of the corresponding addresses of the microinstructions) the address of a microinstruction stored in ROM 122 which indicates the rate of data transfer to be used. This quantity, termed the "write pulse constant", is stored in the working memory 130 together with other "constants" concerning data transfer, e.g. BOT, EOT (beginning and end of tape) gap constants, and the interrecord gap constant. For a writing sequence, the BOT gap is recorded on the tape by means of the BOT gap constant from the corresponding microinstruction in ROM 122 being stored in an index register 228, an index counter 232 also being set to this value. Counter 232 is decremented under control of one of a plurality of clocks 236 and when it has decremented a predetermined amount, it "times out" and causes the first data character to be read into a write buffer 244. The write pulse constant is then read from the working memory 130 and transferred to the index register 228 and index counter 232, another one of the clocks 236 (write clock) being selected. Counter 232 then begins to be decremented and when it times out, a strobe pulse is sent to the selected peripheral device 214 to cause the data character stored in write buffer 244 to be transferred to that device; the index register 228 and index counter 232 are meanwhile caused to store the write pulse constant once more. Counter 232 then is decremented as above and the process is repeated until all the data characters have been transferred to the selected peripheral device. When data transfer is complete, the EOT gap is written on the tape by means of the EOT gap constant being stored in index register 228 and index counter 232, the counter 232 timing out in a similar manner to that described for the BOT gap.