Snocom And Cirrus
Sixty years ago Australians designed and built two of the first transistorised computers called SNOCOM and CIRRUS. They were very advanced for their era.
The Snowy Mountain Hydro-electric Authority (SMHA) was established by the Australian Government in 1949 to oversee the Snowy Mountains Scheme, the largest civil engineering project in Australia. The massive construction and hydrological works involved extensive computation. The SMHA was an early and major user of both the CSIR Mark 1 and SILLIAC computers, and as early as 1956 was considering a computer of its own.
The SMHA approached the CSIRO’s David Myers, head of the Section for Mathematical Instruments, for advice on what sort of computer it should build or buy. Myers told them that a machine being built by SMI graduate engineer Murray Allen as part of his PhD thesis would you probably be suitable. Allen was working on a transistorised version of the Bendix D-12 Differential Analyzer, which was a not a general purpose programmable computer, and could only solve differential equations.
Allen called his device ADA, for Automatic Differential Analyser. He started building it in 1956 and finished it in early 1958. While Allen was building ADA, Sydney University graduate student David Wong was given the task of determining the specifications of the machine the SMHA wanted
It needed to be more powerful than ADA, and be a general-purpose computer like SILLIAC. This machine was originally called ADA-2, but was eventually named SNOCOM (SNOwy COMputer).
Wong designed and built SNOCOM, with Allen’s help, as a PhD project. They based the design on that of a small US computer, the LGP (Librascope General Purpose computer) Model 30, the design of which was published by its inventor Stanley Frankel in early 1956. Frankel had worked on the Manhattan Project and had been a programmer on the ENIAC.
The LGP-30 was a valve machine, but many of its design features were similar to the ADA. Wong and Murray were able to adapt many of ADA’s transistorised modules to their new design for SNOCOM. The instruction set and much of the programming library were developed on an emulator on SILLIAC by John Bennett and SMHA engineer Michael Chapple. Wong and Allen delivered SNOCOM to the SMHA’s headquarters in the cold southern NSW town of Cooma in August 1960.
SNOCOM was the first general-purpose transistorised computer built in Australia. Its magnetic drum memory gave it the equivalent of 8KB of RAM in today’s terminology. SNOCOM was a reliable machine that remained in heavy use, running two shifts a day, until 1967. It was then returned to Sydney University as a student teaching machine, and is now in Sydney’s Powerhouse Museum
The CSIRO Section of Mathematical Instruments was disbanded in 1959, when head David Myers moved to the University of British Columbia in Canada. SNOCOM co-designer Murray Allen had graduated, and with the demise of the SMI he was hired by the Head of Electrical Engineering at the University of Adelaide, Professor Eric Willoughby, to establish a research group at the University in ‘digital techniques and systems’. He was joined by Gordon Rose from the Weapons Research Establishment, who had worked on computer design there.
Allen and Rose immediately set about designing a new computer, building on the experience they had gained in digital electronic design — Allen on ADA and SNOCOM, and Rose on WREDAC at WRE. They named it CIRRUS, after the cloud, because it was a blue sky project. The word is usually capitalised, though it was not an acronym. In 1958 Allen set out the parameters and basic architecture of the machine.
1. It would adopt Maurice Wilkes’ concept of microprogramming a control unit for the generation of register transfer sequences.
2. It was to be a timesharing machine, but because of the complexity of the microcode required for timesharing, the control unit was designed as a ‘sub-computer’.
3. The machine was to be simple, fast and economical in componentry, and all higher level functionality was to be through microprogramming. The architecture of the basic machine would be conventional, but the advanced features and novel performance of the computer would be through the design of the sub-computer and its microprograms.
4. Read only memory (ROM) would be used to store microprograms, but because many were likely to involve hundreds of microinstructions, the ROM would have to be very large.
5. It would use magnetic core main memory and the latest transistors.
Very little of the designs Allen used in ADA and SNOCOM were of direct use because of the limitations of the latest high-frequency transistors, which posed engineering challenges. They started experimental work immediately and completed the detailed design in early 1959. The project was funded by the University, the Post-Master General’s Department (the precursor to Telstra) and the Weapons Research Establishment.
CIRRUS’s backbplane wiring was done by the Telecommunications Company of Australia, a subsidiary of electrical company Philips, to the design of Murray’s team. Philips provided the high-frequency OC44 transistors used for the logic units. Allen estimated the total cost of the hardware at £15,000.
CIRRUS incorporated a number of technological advances which put it well ahead of its commercial contemporaries. It was a true multi-user system and could run up to seven programs and support up to four users simultaneously.
As the hardware developed it became clear to Allen and Rose that it would be so fast that a form of multiprogramming would be needed to keep the processor busy, which was one of the design aims. The need for time-sharing was recognised at the outset of the CIRRUS project, to cope with the mismatch in speed between the high-speed processor and low speed input-output devices. John Penny, part of the design team, was assigned the task of designing a time-sharing operating system. He wrote it a CIRRUS simulator on the WRE’s IBM 7090 to develop the system, which formed the basis for his Masters degree and PhD under Allen.
John Sanderson, a University of Adelaide lecturer on the design team, used Penny’s CIRRUS emulator to develop an assembly language, called A Code, in microcode. This was used to bootstrap a compiler, called C Code, which meant that CIRRUS software did not have to be written in microcode, which was tedious and time-consuming.
Assemblers and compilers and other system programs such as subroutines were stored in ROM, which comprised half of memory address space. The reprogrammable ROM in CIRRUS was one of its major hardware advances.
Allen’s original design of CIRRUS called for a design similar to the ferrite core RAM (random access memory) then becoming popular in transistorised computers. This design called for wires to be wound around the ferrite cores, with the configuration indicating a zero or one. But Allen worked out a better way. He built a two dimensional array of ferrite rods, with wires wound to one side or the other of them. This allowed a greater number of program wires, not limited by the diameter of the ferrite cores.
This ROM was also much simpler to construct than wires threaded through the centre of ferrite cores. CIRRUS’s ROM had 1024 wires, each encoding 4 words of 36 bits, giving a total memory capacity of 4096 words. The ROM was contained on removable boards which could be swapped over with other boards as required. This came to be called wired, or rope, memory.
Wired ROMs, compared to the read-write core memories of the time, were significantly cheaper, lighter and smaller. In early 1963 Rose visited the Instrumentation Laboratory at the Massachusetts Institute of Technology (MIT) and demonstrated the technology. The MIT Laboratory was very interested in the ‘Australian rope memory’ technology, and it had an influence on some of their subsequent memory design.
Another major advantage with CIRRUS was time-sharing, which enabled multiple programs to be in memory at the same time. This meant much greater efficiency, because when the program was executing and I/O operation, another program could run, keeping the CPU busy. All systems programs were timeshared, including assemblers and compilers.
CIRRUS was commissioned in late 1962 and was a great success. It initially had four terminals, and was used extensively for teaching and research. Allen’s team also designed and built more sophisticated digital signal processing workstations. CIRRUS was in almost constant use, even after the University installed much more powerful Control Data 3200 and 6400 mainframes.
Trevor Pearcey took a keen interest in the CIRRUS project. After he returned from England in 1959 Pearcey joined CSIRO’s Division of Mathematical Statistics in Melbourne, where he was reunited with CSIRAC. Allen visited him there and they discussed ways of structuring a computer’s architecture so that more of the expensive hardware could be utilised for a higher proportion of the time.
Pearcey has suggested that he helped design CIRRUS, but the design was completed before he returned from England. Nevertheless, there is no doubt that his enthusiasm and profile was an important factor in getting support for the Cirrus project and for its construction.
Some of their ideas for achieving this were aired and discussed with others at Australia’s third computer conference, held jointly at Sydney University and the University of NSW in May 1960. Pearcey also emulated some aspects of the design on CSIRAC. In May 1963 University hired Pearcey as a consultant to the CIRRUS project, and he spent three days every two months in Adelaide working on the machine.
In 1969 CIRRUS suffered a major hardware failure. This was never fully overcome and it was replaced by a Data General Nova minicomputer in late 1971. CIRRUS is now preserved in the University of Adelaide’s Electrical Engineering Department. Emete CIRRUS Computer: Its Design, History And Significance. University pf Adelaide
Trevor Pearcey often mentioned CIRRUS as the prime example of an innovative Australian computer that could have been commercialised, adding to the Myth of the Lost Opportunity that has been a constant stream in the history of Australian computing.
The best overview of CIRRUS is from Chris Barter, who joined the University of Adelaidein 1972 and who was a Professor of Computer Science from 1984 until 2004 and knew many of the people involved. His comprehensive six page paper The CIRRUS Computer: its Design, History And Significance is complemented by his shorter paper The CIRRUS Computer: The People Behind the Machine