This is a description of SILIAC as it might be seen in an encyclopaedia entry. To learn how to program it, look here.
The SILIAC was an electronic computer, somewhat comparable to ENIAC, and built at around the same time. It is thought that the lead engineer, Larry Lamb, visited the University of Pennsylvania in 1945 during a book-signing tour of the USA. He may have seen the unfinished ENIAC there, although that would have ordinarily have been a breach of national security. It is undoubted, however, that work on SILIAC began very soon after his return to Toytown.
Overview
Like ENIAC, SILIAC was composed of individual units with control functionality included. Unlike ENIAC there was no fixed bus structure and no central clock source; each unit operated asynchronously. Not being connected to a fixed structure allowed the various racks to be moved to reduce the length of interconnecting cables. Indeed the number and length of cables required would otherwise have made programming the machine near impossible. Even so the experience was memorably described by Hilda Goose, one of the early programmers, as like wrestling a herd of unruly elephants. With two dozen racks, each with up to a dozen cable terminations, it is easy to understand her predicament. Because there was no central control, the machine could be, and was frequently, partitioned into several groups making different computations.
Service History
SILIAC went into service in June 1946. Theoretically it's main usage was research, although other bodies were always granted time on the computer and over the years this allocation increased. By 1957 it was used mainly by the Toytown council to calculate salary and royalty. This was very literally complex work as it involved many imaginary figures. The university acquired a new programmable computer from the Lyons Tea Company in 1961, after which SILIAC fell into disuse. The last historical reference to SILIAC is in the council minutes for May 4th 1962, when it is noted that only the fire-brigade still used it.
End of Service
Most of of the SILIAC units have been lost. According to Lamb's daughter, Lucy, it's mobility may have been its downfall. Lucy remembers her father railing against those who "borrowed" parts of the computer and failed to return them. On several occasions he was forced to carry out a room-to-room search of the university and council offices to locate an errant rack. Until 1997 it was believed that the machine was lost; assumed borrowed piecemeal. However in that year a rack containing two accumulator units was located, in surprisingly good condition, in a disused lavatory of the Flea and Face-Ache public house. How it got there is unknown, however local folklore holds that the pub was used by the fire-brigade for several months in the mid 1960's following that business with the gnus. The single remaining rack is now on display at the university but there are plans to rebuild SILIAC as an educational tool, using the existing rack as a reference.
Operation
SILIAC consisted of twenty four equipment racks, most containing multiple units. Each unit held a single twelve-digit number and a varying number of channels. The arrival of data at a channel input connector triggered the unit to operate and then to transmit the result in turn from the output connector of the same channel. Each channel could be configured to perform different operations or to only trigger if the incoming data was positive or negative. Accumulator and Multiplier units held a single number. Incoming data was added to or subtracted from that number depending on the position of a switch located on the channel panel. See the picture above (click to enlarge). Multiplier units operated similarly. There were also printer units which punched the incoming data onto cards, and constant units which transmitted a number set on thumbwheel switches.
Accumulator Unit
The accumulator units had channel panels with input and output sockets, a polarity switch and an action knob. The polarity switch caused the channel to only trigger if the incoming data was positive (if set positive) or negative (if set negative). Zero was assumed to be positive. There was a central position that accepted data of either sign. The action knob had the positions CLEAR (which cleared the accumulator value to zero), SET (which set the accumulator value to the value of the incoming data), ADD (which added the incoming data to the accumulator value), SUBTRACT (which subtracted it), and NONE, which did nothing. Whichever position the action knob was in, the channel then transmitted the new accumulator value on its output socket.
Depending on the number of channels provided, the accumulator unit occupied between one third of a rack or a whole rack. The surviving rack holds two accumulators, each with five channels. There are believed to have been twenty accumulators in total.
Multiplier Unit
The multiplier unit was, on its face, identical to the accumulator unit. However in place of the ADD and SUBTRACT actions it had MULTIPLY and DIVIDE. There are believed to have been two multiply units.
The multiply unit occupied an entire rack.
Constant unit
Each constant unit occupied a number of channel panel. Each panel had input and output sockets, and a polarity switch. The top panel also held twelve thumbwheels. The incoming data was ignored except for the action of the polarity switch. When data arrived the number set on the thumbwheels was transmitted from the output socket.
There were probably three racks of constant units, each rack holding up to a dozen units.
Printer Unit
The printer unit occupied a single panel, but appears to have been built into an IBM card punch. The panel held an input and output socket, and a polarity switch. When data arrived, if it was of the correct sign, its value was punched onto a single card. A zero value was then transmitted from the output socket.
Initiator Unit
Not really a unit as such, the initiator unit consisted of a push switch mounted on a data plug. This was attached to the input port of a constant unit; operating the switch would cause the constant unit to transmit its value, so initiating the computation.
Cables
The cables came in various lengths with varying numbers of connectors mounted on them. It was common for a single output socket to be connected to multiple input sockets. Sometimes two or more output sockets would drive one cable. So many were required that the cables and their sockets were selected to be available as war surplus in order to reduce the considerable cost.
Programming
There were three coding forms. A program was first drawn up on a Primary Coding form. The information from this was then copied to a Secondary Coding Form and from there to the Cable Requirements Form. The operators then worked from the latter two forms to configure the computer.
Here is an example of a complete Primary Coding Form.

And here is a page from the Secondary from for the same program.

And finally the Cable Requirements form, again for the same program.


