The beginning of the service
On the 4th January 1965 the University of St Andrews Computing Laboratory started a full-time computer service in St Andrews. In celebration of its Silver Jubilee in 1990, the Computing Lab issued a special supplement to its newsletter. Below is the article contributed by Dr Thomas Richard (Dick) Carson (1930-2019).
“The Computing Laboratory began full-time normal operation on Monday, 4 January 1965. This event represented the culmination of more than a year of negotiation, planning and implementation. Responding to a UGC initiative, the Principal, Sir Malcolm Knox, invited Professor Stibbs to convene a working party to advise on establishing a computing laboratory in St Salvator’s College. From the beginning the funds available had been limited to £60,000. The final choice fell on an IBM 1620 computer with the following configuration:
- 1620 Model II CPU (with Index Registers and Automatic Floating-Point)
- 731 Console Typewriter (15.5 characters per second)
- 1625 Model III Core Storage (60,000 characters)
- 3 1311 Disk Storage Drives ( 2,000,000 characters per removable disk pack)
- 1622 Model II Card Reader/Punch (maximum speeds 500/250 cards per minute)
- 1443 Model II Printer (240/600 lines per minute for 52/13 character set)
- 2 026 Model I Printing Card Punches
- 082 Model I Card Sorter
Due to the 55% academic discount the facility represented an otherwise commercial value of £135,000. Since the North Haugh development had yet to be completed, the new computing laboratory was set up in the Scott Lang Building of the University Observatory and run by the Department of Astronomy with a Management Committee which included Professors D E Rutherford, E T Copson and J F Allen.
As the specification demonstrates, the new computer was very much representative of its age. But in many ways the IBM 1620 was an unusual and yet advanced computer.
A decimal machine
Perhaps its most unusual feature was its decimal character architecture. Internally each decimal character consisted of 6 binary digits, 4 of which represented the 10 decimal digits plus 6 special characters and the other 2 being a ‘flag’ bit and a check bit. Alpha/numeric characters were represented by 2 decimal characters. Another unusual feature was that the instruction set referenced one or two addresses, both of which could be indefinitely indirect. An instruction itself consisted of a 2-character operation code with 5 characters for each operand address. While a 5-character address field could theoretically reference 100,000 memory locations, the limit in practice was 60,000. A further unusual and possibly unique feature was that the instructions operated on fields of variable length. The flag bit had several functions – as a sign bit (or an indirect address indicator), as a field delimiter and for specifying index registers. A decimal integer occupied a single variable-length field, while a real number was represented in floating-point format by a mantissa field of variable length plus an exponent field (typically of length 2 with values –99 to +99).
Demountable disks and other peripherals
Each disk pack had 10 surfaces, each with 100 tracks, each of which was divided into 20 sectors, each containing 100 decimal characters. Thus a disk pack stored 2,000,000 decimal characters (as 14,000,000 binary bits, since disk storage was based on 7-bit BCD) organised into 20,000 individually addressable sectors. The speed of rotation was 25 revolutions per second (40 milliseconds per revolution).
The Console Typewriter (a modified IBM Selectric with ‘golf-ball’ head) provided a most direct and friendly user-computer interface which was very advanced for its time. The addition of a Card Reader/Punch also represented a great advance as far as input/output was concerned. But it was the availability of disk drives which brought the IBM 1620 into the league of advanced computers. The massive on-line storage which these provided enabled not just the compiling and running of larger programs with more storage for data, but also meant that compilers no longer required the necessity of punching and re-loading of intermediate decks, and that compiled programs, including compilers themselves as well as data, could be indefinitely stored for subsequent use. Also batch processing could now become a continuous process, thanks to a Monitor program which resided indefinitely on disk.
An early batch system
With such a resident Monitor system, incorporating a Supervisor Program, a Disk Utility Program, a Symbolic Programming System (SPS) assembler and a Fortran compiler, a series of unrelated jobs, calling for quite different System functions, could be loaded and processed as a uninterrupted stream. This eliminated any ‘dead’ CPU time that might otherwise be occasioned by the manipulation of individual job decks (including individual copies of library subroutines). Time was also saved by loading disk-stored machine programs. The storage of programs and data belonging to many users on a common medium necessitated a personalised naming procedure for which the code made up of the user’s initials (which still survives in usernames on the VAX!) was first introduced. The Monitor System – delivered in the form of about 6000 IBM cards of machine code – actually contained a bug which delayed its introduction for several weeks. Eventually, after a few very late nights devoted to bug-hunting the error was located and corrected. A message was rushed to IBM, apparently crossing IBM’s own fix in the mail.
Running the batch service
A typical Job deck – in the days when it was in the form of a deck of cards – contained all the Job Control statements in the input stream in much the same way that IBM Job Control Language still operates (although nowadays the input stream may be from any device). After Power On any process could be initiated by the Load button, which accepted (the first) card image of 80 characters, stored them in locations 00000–00079, followed by a transfer to the instruction at location 00000. A single card boot-strap was sufficient to load from disk and transfer to the Supervisor Program, which then trapped, interpreted and processed all subsequent Job Control statements. In the event of any unscheduled computer halt the processing could be continued by a manual transfer (using the typewriter as input of a single 1-address instruction) back to the Supervisor if still intact, or by reloading it from disk. The computer could run continuously 24 hours a day, and frequently ran the same program uninterrupted for many days. IBM provided preventive maintenance on a regular pattern and on-call maintenance from the office in Kirkcaldy. Hardware failures were relatively rare, and after some initial problems with the printer and writing sector addresses on new disks, the computer gave a very reliable service.
Using the service
An operator-only service was organised around short ‘test’ periods in the mornings and in the afternoons, with longer bookable ‘production’ runs at other times, as well as unattended overnight runs. The availability of the computer not only filled an existing need in the College, but also helped to increase the awareness of the (then predominantly scientific) research community to the possibilities opened up for numerical computation. The number of users built up rapidly with the heaviest usage coming from theoretical physics, applied mathematics, astronomy, physics and chemistry.
The principal language was FORTRAN which was sweeping Europe, and proving to be a robust and continuously adaptable system over a wide range of computers, while ALGOL was still struggling to develop in its inimitable ‘purist’ machine-independent way. SPS [the assembler language] was in lesser demand, being mainly of interest for character and string manipulation for which the IBM 1620 was ideal but for which FORTRAN was not well suited. Here the IBM 1620 was in a class by itself. One experiment by the writer demonstrated that the development of the series expansion for e to 20,000 decimals by successive division by the integers took some 15 seconds per division! The only ALGOL compiler available was in French, and a compiler was also acquired for CSL (Control System Language) – a form of critical-path system developed by John Laski of Esso Petroleum.
The first Computer Operator to be appointed was Mrs Sheila Hill, later to be joined by Dr David Wishart. Since there was no specific category for computing staff, appointments had to be made to secretarial grades. Because of the continuous batch facility, as well as the print-out of diagnostic messages furnished by the compilers and supervisory programs, there was no longer any need for the hitherto slow, and now wasteful of computer time, method of testing by stepping through a program one instruction at a time. Like any revolutionary advance, this lack of ‘hands-on’ operation of the computer was at first not popular with some users, but with re-education it was in time accepted as the only modus operandi which could maximise the throughput of jobs on the computer.”
By Dr T R Carson
Next part of the series – ‘A note on the early days of computing’ by Professor A J Cole