The ICL 7502 - Introduction
It is hard to recall the world of computing in the 1970s, when it is commonplace today for children to carry computers in their pocket that transcend the most powerful hardware then available, and communicate in a way that is hugely faster and more connected than was imagined by anybody except science fiction writers. Hardware was very expensive and communications more so. In order to communicate between remote locations the only method was a copper cable via the switched telephone network, and that imposed limitations on speed. In order to get as much as 2400 bits per second it was customary to lease a permanent connection which by-passed the mechanical switches at the exchanges and the technology simply couldn't do any better except over very short distances within buildings. Now, megabits per second over the same copper wiring to the exchange is the norm, though fibre-optical links between exchanges are increasingly frequent.
The earliest computers evolved rapidly to exploit their rapid processing power in a way that appears to be able to make progress on many tasks simultaneously, when in fact they are switching between tasks very quickly and exploiting idle periods in one process to make progress on another. This is multiplexing, and the computer you are reading this on is doing it too. Every time you hit a key or click the mouse it diverts attention to what you want, while the rest of the time it is doing something else, i.e. absolutely nothing most of the time, which is terribly wasteful. The objective is clear then, if you have an office full of typists you must find a way of multiplexing all their messages onto one, rather slow communications link. The answer is to use a computer - and in the mid-1970s one was designed and it was a 7502. The 7502 took care of the typists more or less rapid progress at pressing keys, updated their view of the data on the screen, and stored all the data until the transaction was complete. The mainframe application would have no knowledge of what was going on at the end of the line, but when the typist had completed the entry and pressed SEND the data would be packed up, transmitted in the next available interval and made available for processing. A response that the message was received properly would be expected, so that errors could be dealt with, and eventually a new screen would be loaded locally, or an outbound message displayed. Naturally there had been generations of such hardware previously, but they all fitted in air-conditioned computer rooms, while the 7502 was designed to work unobtrusively and unsupervised in offices.
Low-speed (matrix) printers could also be accommodated so that reports could be printed - remember the 7502 only handled messages and did not run the application, which was down to the mainframe a variable distance away. In due course, the ability to attach conventional, bulk-data peripheral devices emerged to replace older, less easily-sited units, and 80-column card readers and 360 lines-per-minute printers might be seen. This formed a Remote Job Entry (RJE) station, where pre-prepared programmes or instructions would be read off the cards, submitted over the telephone link and the output printed at the remote station. No, there were no Excel spreadsheets in those days; if you wanted to calculate something you did it on your hand calculator, or submitted a job to perform the calculation and give you a printed answer. Jobs were stored in a queue (the WELL in GEORGE terminology) and you might have had a long wait for prior jobs to be completed, or for the necessary files to be brought online from magnetic tape backup if disc storage was tight. "WAITiNG FOR DUMPER".... Oh, happy days!
ICL were not the only people pursuing the idea of using small, specialised computers for handling input/output tasks to leave the central processor alone to get on with number-crunching. The KDF-9 at Leeds University (which I used to compile Algol60 programmes) was remarkable for using a PDP-8 minicomputer to handle a couple of dozen teletypes, decoding their transmissions bit-by-bit. Seymour Cray, designer of the World's fastest computer of the day, the CDC7600, incorporated a number of smaller CDC120A satellite processors to rid the CPU of ALL its I/O tasks - but as the CDC7600 CPU had ten separate processing units optimised for handling different types of instructions, the idea of being involved in the tedious wait for magnetic or paper tape data was laughable.