A valedictory to CSIRAC by the man who switched the machine off for the last time. Frank Hirst was writing as the former head of the Computation Laboratory of the University of Melbourne.
Farewell to CSIRAC
Computation Department, University of Melbourne
After witnessing the careful dismantling of CSIRAC during the past month, it seemed as though the winding-up procedure was not complete until a few valedictory lines were written.
CSIRAC was constructed to the designs of Mr. T. Pearcey and Mr. M. Beard in the Division of Radio Physics of the Commonwealth Scientific and Industrial Research Organisation, Sydney. During the last war, the Radiophysics scientists were engaged in Radar implementation and had gained considerable experience in electronic pulse techniques. After the war, when it was decided to enter the computer field, these specialised techniques were readily applied to digital computer design.
So was born the project which, in those days, was known as CICERO Mk 1 - a scheme to build the first Australian designed digital computer. There were many difficulties: for example, the only electronic components available were those for standard radio applications, whilst the electronic valves to be used were, of necessity, those compatible with reasonable supply.
Thus for the gating circuits, the design called for EA 50s whilst 6SN7s and 6V6s were employed as flip-flops and cathode followers respectively. Very often the voltage difference between cathode and filament, instead of a nominal 6, was of the order 100. Although cathode-heater 'shorts' often occurred, once the valves became accustomed to such treatment, they gave remarkable service.
CSIRAC was constructed during the period 1949-1951 and followed EDSAC at the University of Cambridge, the Ferranti prototype at Manchester, the ACE at the National Physical Laboratory, Teddington and BINAC at Remington-Rand, U.S.A.
When construction commenced, the main role envisaged for CSIRAC was as a research computer, in order that investigation into programming techniques and electronic computer circuitry could be undertaken. In the first instance, no consideration was given to building a machine expressly for processing computational projects.
However, once in moderate running condition, during the period 1951-1955 whilst at Radiophysics, CSIRAC was applied to many scientific computations arising in Sydney and other centres throughout Australia.
Perhaps one of the most advanced concepts in CSIRAC's design was the provision of 18 accumulating registers, 16 of these - the D-registers - being equivalent to full length index registers with the added feature that sign testing was possible in each of the 16 registers. This coupled with the fact that CSIRAC was a quasi-two address computer, gave the machine language much more power and flexibility than possessed by a single accumulator one address machine, equipped with a limited number of index registers. Even today computers with 16 index registers are not very numerous.
CSIRAC's original input was by means of 80 column punched cards. Lather this was altered to punch paper tape. There being no paper tape readers for computers on the market, the paper tape devised was 2 3/8' inches wide, with 12 channels vix. 0 through 9 plus X and Y - rather like an endless punch card.
The first paper tape reader used tape with two lines of sprocket holes, one near each side of the tape, for driving the tape under mechanical control. A new paper tape reader was designed with a single line of sprocket holes, the paper drive being controlled by light falling through the sprocket holes on to a photo-transistor.
At this stage it was decided to transfer CSIRAC on indefinite loan to the University of Melbourne. CSIRAC was moved during July 1955 and on 14th June 1956, after re-sitting in the Computation Department, was officially declared open and named CSIRAC by Sir Ian Clunies Ross.
Gradually, other improvements were incorporated into the internal design. The PK facility, allowing one command to modify the following, was introduced. This necessitated the change of the interpreter register from a static flip-flop device to a dynamic mercury delay line type. Extensive modifications were made to the mercury delay line store, in particular new modulators were constructed, to ensure more efficient operation.
Whilst in Melbourne other improvements were gradually incorporated. The tubes containing the mercury for the delay line store, together with the terminating heads, were changed from monel metal to stainless steel. This greatly improved the life-time of the delay lines so that the mercury store, which had hitherto been a source of constant trouble, stayed reasonably reliable. It became possible to extend the storage and maintain it at 768 words.
Although CSIRAC in Sydney was equipped with a 1024 word magnetic drum, this proved to be unsatisfactory and a new magnetic disc was constructed. The disc arrived in Melbourne without magnetic surface. Several weeks were spent investigating how to spray a spinning disc with magnetic paint free from occlusions. Finally, courage was taken and the new memory disc was successfully coated and has given excellent service ever since.
The new disc store had a capacity of 1024 words per side. However, the second side was not brought into service until 1962, after extensive transistorised additions were made to the original circuitry.
A noteworthy extension to the original design was the addition of 5 channel input and output peripheral equipment. A Ferranti Mk 11 tape reader was arranged in parallel with the existing 12 channel reader so that either 5 channel or 12 channel tape could be fed into the computer. This assembly program was read via the 12 channel equipment and data, raised on a Flexowriter, was read by the Ferranti reader. By means of a Creed punch (in parallel with the original 12 channel punch), 5 channel tape output was obtained which proceeded to a Flexowriter for listing results. This 5 channel equipment greatly improved output speed and data punching.
Modifications to be the logical design of the control and arithmetic circuits reduced addition time to 1 millisecond which, together with its two address capability, gave CSIRAC quite a turn of speed for its day.
Regarding programming CSIRAC, machine code was arranged in a mnemonic fashion and was relatively easy to learn. Programming was aided by means of a relatively simple assembly system.
Program testing was facilitated by cathode ray tube displays of all the arithmetic registers and the provision for displaying in one tube successive segments of the mercury store. The displays for the D-registers and mercury store provided a 16 line by 20 dot raster, which during the course of 14 years depicted cartoons, words of the English language, meteorological isobaric charts and so on.
Manual registers were provided on the console for parameter setting and other keys were included by which many cunning artifices could be induced. On the machine itself, input and output buffers could be observed as well as the buffers for the input and output to the magnetic disc backing store. Also were shown the sequence number of the last command performed and the decoded version of the actual command itself.
In 1960 Dr G.W. Hill of CSIRO developed 'interprogram' which was an automatic language for CSIRAC. With Interprogram, statements were written in the English language, being typed on a Flexowriter giving a 5 channel tape version of the Interprogram program. The Interprogram translator or system program was held on a 12 channel tape, being loaded by the 12 channel reader and calling on the Interprogram program from the 5 channel reader.
Although only catering for single subscripted variables, one could either work in a 'load and go' mode or dump the translated program onto 5 channel tape. The latter could be subsequently loaded via the 5 channel reader under control of the console switches. With Interprogram, diagnostic and operator messages were printed via the console on-line teleprinter, in fact the operator was instructed at each step what to do next. This coupled with the fact that a modest student could learn Interprogram in one day, resulted in an extremely simple, but reasonably powerful automatic programming system.
The CSIRAC library of routines and subroutines was maintained on 12 channel tapes. These tapes were punched with an extra dummy line of holes in proximity to the sprocket holes and served to designate a proven library tape.
In Melbourne, the program library started with a tangent subroutine and was gradually built up over the years so that most standard and several unique routines became available. The first project run on CSIRAC in Melbourne for an outside organization was in 1956. The program was written by Mr. E.H. Palfreyman being a set of amortisation schedules for the Housing Commission.
A program of especial interest was for the rigid frame analysis of large buildings, being the outcome of the work of the computer enthusiasts at the Division of Building Research, CSIRO. This program was employed in the design of the rigid frames for the following buildings:-
Consolidated Zinc Building, Melbourne
Colonial Mutual Life Building, Melbourne
Reserve Bank Building, Sydney
T&G Building, Perth
Hotel Chevron, Surfers Paradise, Queensland
Concerning teaching, the first programming course for CSIRAC was held early in 1956. This was attended by personnel from the University of Melbourne, CSIRO and from other outside organizations and became a regular annual even until 1963. Over the years, more than 200 people attended such courses.
Undergraduate courses in programming and machine logic were arranged for students of Physics, Engineering and Mathematics - practical experience on CSIRAC being considered essential.
Demonstrations, in fact, became a regular part of CSIRAC's timetable and hundreds have been held for both students and people from outside the University. During these demonstrations, the members of the audience have listened to music, played Nim, discerned the day of the week on which they were born, learned their reaction times, guessed which way the ball would bounce, and have occasionally witnessed a few computations if they so desired.
The following statistics may be of some interest. During the period June 1956 to June 1964 CSIRAC was switched on for approximately 30,000 hours during which time 700 computing projects were processed. Total maintenance during the period amounted to only 10% of the switch-on time, due to the constant vigilance of Mr. R.H. Bowles assisted by Mr. J. Semkiw and Mr. P.G. Thorne.
CSIRAC has become too small and too slow for modern computations. However, it is pleasing to record that CSIRAC will become a feature of the Computational Machinery exhibit to be presented by the Institute of Applied Science.
CSIRAC computed its last program for the University of Melbourne on 24th November 1964. It was fitting that this program was the tangent routine test that had been arranged to test the first library subroutine 8 years previously.Computation Department, University of Melbourne