This hotchpotch of circuitry and mechanical parts is a snapshot of the chip that was at the heart of some of the most popular computers of the 1980s.
The ALU is the engine of information processing inside a microprocessor, carrying out arithmetic operations, such as addition and subtraction, and logical operations, such as value comparisons using Boolean operators, on data.
Data is fed into the ALU from registers – memory built into the microprocessor – and the operations performed on this data are determined by information sent from another part of the chip, the control unit. Each program run on a computer will rely on a huge number of these operations being executed.
Modern programs are generally written in high-level languages that are readable by humans. Before these programs are executed they are compiled into machine code that tells the ALU which operations to carry out.
Commands can be sent to the unit via the Twitter account @twittithmetic and the unit will calculate the answer and Tweet you a reply.
A Raspberry Pi handles commands coming from Twitter, and the command information is then translated into what effectively is assembly instructions for the 6502, which are sent on to the hardware.
The device uses a custom 7400 series ALU based on that of the MoS 6502 processor. Different parts of the ALU are realised using a mix of technologies to make the display more engaging and show off the variety of equipment used in the history of computing.
For instance, adders within the ALU have been constructed using mechanical relays. Relays were used in early computers such as the Z3 to perform logical operations. Values of data passing through the ALU are also shown on a display made of Nixie tubes.
The code for the project can be found in the following GitHub repository.