I/O Channel

Each IO channel was a small computer that could execute a limited number of instructions. Our 40 had 3 channels. One was a multiplexer that could have slow unit record stuff and would allow more than one at a time to be active. The other 2 channels would only allow one device at a time to be active.

For disk drives you might have a 4 instruction program, seek, search, tic, read. The seek command would have the address you wanted in the form BCHR, where B was the bin, not used except on data cells, C was the cylinder, H was the head, and R was the record on the track. The search was a hardware command that would allow the drive to search for a specific key if the file was of the type key date. tic stood for transfer in channel and it allowed the disk to disconnect from the channel while the stuff in front happened. It too forever, relatively, for a disk to seek to the desired channel and you did not want to wait around for that to happen, so you had tic. One drive coulld start to move and another in the string could transfer data. Eventually your drive finished moving the head and you could do the read. Later IBM introduced RPS, Rotational Position Sensing. This allow the disconnect to go on while the disk rotated to get the record you wanted under the read head.

Tape drives had much simpler programs and they usually only did one thing, like read or write.

IO programs only had 24 bits for the address of data. Later when IBM had virtual memory and larger amounts of memory a program could have 2Gb of data, it was 2Gb and not 4 because of the 31 bit addressing., but any IO had to be below the 24 bit address line.