Please refer to the main CSIRAC pages for more complete and detailed information regarding the operation of CSIRAC. Below are a few important points of the machine architecture that are significant for the production of sounds.
CSIRAC was a serial computer with mercury acoustic delay-line memory. To understand something of the operation of CSIRAC, it is important to appreciate that all operations were considered as serial transfers of numbers, or data, from a ‘source’ to a ‘destination’. A source could be a register, a memory location, the accumulator and so on. A destination could be a memory location, a register, the paper tape punch or the speaker and so on. During the transfer, the data could undergo transformation, such as being subtracted. The instruction set partitioned each digital word into a ‘destination’, a ‘source’ and a data address. The data address, if it applied to the main (mercury delay line) memory, determined the position, or time, of the data in the delay line. Because the memory was a recirculating delay line and the whole machine architecture was serial, it was required to wait until a particular memory location was available for reading. The memory space was very limited at 768 words in total. Understanding the machine timing issues is the key to understanding how the music was produced. Each memory tube was a delay line, so the data in each position in a memory tube required a different time to access. It was possible to calculate this time and determine how long after the start of a clock or access cycle the data was read. Numbers were placed in specific memory locations in such a way that when they were read out and sent to the speaker, they were pulses with a pre-determined period. In this way a predictable pitch was produced and used to create musical melodies.