Although the early days of computing saw a lot of exotic and long-forgotten inventions, the architecture of LEO, which marked its 60th anniversary on Thursday, is remarkable for its normality.
While the hardware of the first ever business computer is suitably steampunk — long tubes of mercury storing sound pulses, cathode-ray tubes doubling as memory and registers, antique teletypes and 1940s vintage valves — the conceptual design is the same basic configuration as found in all modern computers.
The LEO (Lyons Electronic Office) I computer ran its first program in November 1951. Photo credit: LEO Computers Society
The family history of LEO (Lyons Electronic Office) shows why. It's a very close relative of EDSAC — the Electronic Delay Storage Automatic Calculator, designed in Cambridge in 1949 by a team lead by Sir Maurice Wilkes — which was in turn highly influenced by EDVAC, the Electronic Discrete Variable Automatic Computer created by J Presper Eckert and John Maunchly at the University of Pennsylvania in 1944-5.
Another member of the EDVAC team was John von Neumann; he wrote up some of the design decisions in a famous and infamous paper called The First Draft Report on the EDVAC (PDF). It is infamous because neither Eckert nor Maunchly's names were on the paper, and it didn't mention Turing, whom von Neumann knew from both Cambridge and Princeton and whose 1936 paper On Computational Numbers is the theoretical basis for modern computing. The Draft Report was also incomplete, which may explain these lacunae.
However, the paper's fame is undoubted. It describes what is now known as the 'von Neumann architecture' — which has a central processing unit (CPU) that does arithmetic and logic; a control unit that synchronises operations through an instruction register and a program counter; local memory that does not differentiate between data and instructions; external storage; and input/output. That design is in EDVAC, EDSAC and LEO; it's in your laptop, desktop and mobile phone.
LEO and EDSAC were enormously constrained by the technology of the time, which put a premium on smart design and extremely economical thinking. As a result, the architecture is a very good example of reduced instruction set computing, Risc, and surprisingly simple — in many ways, it's closer to the fundamental architecture of modern processors than some of the complex instruction set designs that followed in the decades after LEO.
The architecture was also very practical; while earlier designs made great demands of specialist users — von Neumann's interest in computing was tied up with his work on the Manhattan Project — Wilkes and his team wanted to make something of more general use.
The processing unit has five main registers: the Sequence Control Register, now known as the program counter; the Order Tank, which decoded instructions; the Multiplicand and Multiplier registers, which were used for maths; and the Accumulator for general purpose logic and maths — still found in modern x86 processors as the A register within the EAX/RAX register set.
In common with modern Risc designs, instructions were held in either a single or double word — albeit with a word length of 18 bits instead of the more common 32 or 64 bits of today. Only 17 bits were used; there was a five-bit opcode, a bit that said whether this was a single- or double-word instruction, and 10 bits of address.
Operations were specified by letters of the alphabet, which sometimes had a mnemonic function (A for Add, S for Subtract) and sometimes didn't. A program to print 'HI' on the display (from Martin Campbell-Kelly's EDSAC simulator pages) is displayed in the box on the right, with only the letters in bold being part of the actual software.
This gives some idea of the limits of the system. However, many high-level functions were available as libraries of subroutines — including things like divide, which weren't implemented in hardware.
Mathematics was complicated, as the computer could only hold fractions in the range between 1+ and 1- and had no explicit support for floating point.
Programming errors were called 'pitfalls' or 'blunders', as the term 'bug' had yet to cross the Atlantic, so the computer also included new ideas like the post-mortem tape — now called the 'core dump' — and program-checking routines, now called 'interpretive traces'. Another change in nomeclature happened to the Initial Orders, now known as the boot sequence.
LEO had some important changes from EDSAC. One was the alteration of the instruction set to support the mixed-base arithmetic of pre-decimal pounds, shillings and pence: the scientists at Manchester having far less interest in such things than the payroll clerks and order processors at Lyons.
Another was a much greater emphasis on input and output, with LEO having multiple independent I/O systems to cope with a variety of devices — EDSAC had one input and one output. Lyons wanted to do things like automatically inputting documents and scanning machine readable tags on stock, and also ran a variety of printers. Another LEO innovation was the automatic checking of data validity.
All this wasn't small or subtle. LEO had 64 mercury tubes for storage, each 1.6 metres long and weighing around half a ton, storing the equivalent of around 8 kilobytes. The control panel had multiple oscilloscopes for checking operations, and a speaker that relayed signals from the computer's buses — a trained operator could spot many different operational modes by ear. Consuming 30 kilowatts and measuring 460 square metres, it lived in 21 racks and had over 6,000 valves, which at one point were failing at 50 a week.
But it worked and was useful, cutting the payroll calculation time per employee from eight minutes to a few seconds. It went on to manage ordering — including a semi-interactive mode where store managers phoned in their weekly requirements — tea-blending and other business tasks. LEOs II and III followed, the latter being transistorised, and ultimately the LEO 360 and 326.
LEO I ran until January 1965 — longer than the company it spawned, LEO Computers Ltd, which had merged with the English Electric Company in 1963 as part of the long process of consolidation and decline that marked the British computer industry in the days before the microprocessor.
The final LEO in use was a LEO 326. It shut down for the last time in 1981, 30 years after the series first ran software and the year the IBM PC arrived.
Get the latest technology news and analysis, blogs and reviews delivered directly to your inbox with ZDNet UK's newsletters.