Sophie Wilson is one of the leading lights of modern CPU design. In the 1980s, she and colleague Steve Furber designed the ARM architecture, a new approach to CPU design that made mobile computing possible. They did this by realizing that you could do more, and quicker, with less. If you’ve use a Raspberry Pi, or any of the myriad of embedded devices that run on ARM chips, you’ve enjoyed the fruits of their labor.
It all began for Sophie Wilson with an electric lighter and a slot machine (or fruit machine, as they are called in the UK) in 1978. An aspiring thief had figured out that if you sparked an electric lighter next to the machine, the resulting wideband electromagnetic pulse could trigger the payout circuit. Electronics designer Hermann Hauser had been tasked with fixing the problem, and he turned to Wilson, a student working at his company.
Wilson quickly figured that if you added a small wideband radio receiver to detect the pulse, you could suppress the false payout, foiling the thief. Impressed with this innovation, Hauser challenged Wilson to build a computer over the summer holidays, based in part on a design for an automated cow feeder that Wilson had created at university. Wilson created this prototype computer that looked more like a hand-wired calculator than a modern computer, but the design became the basis for the Acorn System 1, the first computer that Hauser’s new company Acorn Computers launched in 1979.
Wilson had graduated from the University of Cambridge by this time and had joined Acorn as the lead designer. The System One was unusual in that it was cheap: priced at £65 (under $90) the computer was sold as a kit that the user would assemble and solder themselves. It was built around a 1 MHz 6502 CPU, with 1152 bytes of RAM.
Several new versions of this computer were launched in the following years, adding features like expansion cards. These were popular among enthusiasts, but none caught the public imagination in the way that the company hoped.
A Computer in Every School
Acorn’s big break came with the BBC Micro, a computer that was designed to accompany a computer literacy program run by the UK broadcaster. The BBC Micro was designed to be rugged enough for educational use, with a full-size keyboard, a BASIC interpreter, a modulator that allowed it to be connected to a standard TV and an interface to save and retrieve programs to a standard audio cassette recorder. It was a huge hit, selling over 40,000 machines a month and appearing in 85 percent of UK schools.
By this time, though, Wilson’s thoughts were shifting elsewhere. The BBC Micro used the same 6502 processor as their previous computers, but Wilson and others at the company were not satisfied with the amount of computing power this provided. So, they decided in 1983 to build their own CPU for future computers.
Several factors influenced this decision. One was a visit to the company that made the 6502, where they realized that one person was working on the next version of this CPU. This showed that you didn’t need a huge team to design a CPU: as long as you had a partner who could create the chip for you, it wasn’t that difficult. The second was a project called the Berkeley RISC project, which stood for Reduced Instruction Set Coding. The idea behind this was that if a CPU was built to only run a very small set of instructions, it could run faster and more efficiently. Rather than add more instructions to the processor itself, the operating system running on top of the processor would break tasks down into the simpler instructions that the CPU would run faster.
This idea appealed to Wilson. So, she and colleague Steve Furber designed their own instruction set, creating a simulator on a BBC Micro that convinced others at the company that the approach was worthwhile. They called this Project A, but it was later christened the Acorn RISC Machine or ARM.
Smaller, Faster, and Better
The architecture of their system was fundamentally different to most CPUs. Wilson and others had tested the 6502 and other similar processors and found that they could only handle a limited amount of data. Most CPU designers were adding more instructions to their chips, providing new ways that the CPU could handle and process this data. Wilson and Furber took the opposite approach, removing parts until they had the bare bones that were needed, creating a chip that was simpler and required less power than existing CPUs. This meant that it was much easier to make the CPU deal with bigger numbers. Because the architecture was simpler, you could more easily create 16 or 32-bit CPUs. By creating less, Wilson and Furber produced a chip that could do more.
Let’s take an example — one that Wilson uses herself. The 6502 CPU that she used in the BBC Micro would take 2 clock cycles, or about 1 microsecond to add two 8-bit numbers together. But when you start using the larger numbers that most computing tasks require, the 6502 is hobbled by having to deal with these numbers in 8-bit chunks. That’s because the 6502 only works with 8 bits of data at once (called the data bus width), so it needs to chop up bigger numbers into 8-bit chunks and add these chunks together individually, which takes time. In fact, the 6502 would need 26 clock cycles to add together two 32-bit numbers.
You could build a version of the 6502 that would have a larger data bus width, but that exponentially increased the number of transistors that the chip required: you quickly end up needing millions of transistors to handle the complex operations on these bigger data chunks. Alternatively, you could do what Steve Wozniak did with Sweet16, a hack he wrote for the Apple II (which used the same 6502 processor as the BBC Micro) that effectively created a virtual 16-bit processor. The problem was that this ran at a tenth of the speed of the 6502.
By contrast, the first ARM CPU that Wilson and Furber built had a 16-bit data bus width and ran at a faster clock speed than the 6502, so it could add two 32-bit numbers in nine clock cycles, or about 125 nanoseconds. And it could do that on a chip that wasn’t much bigger than the 6502. It could do this because the simpler architecture was easier to scale up to run with the bigger data bus widths. Because it only had to process a small number of instructions, the chip was simpler and faster.
Wilson and Furber designed a CPU, graphics chip, and memory controller that worked together to create a complete system for testing, which was delivered in 1985. When Furber decided to measure how much power this test processor was using, his multimeter failed to detect any power flow. Furber investigated, and realized that the development board they were using was faulty: it was not delivering any power to the CPU. Instead, the processor was quite happily running on the power delivered over the signal lines that fed data into the CPU.
Acorn quickly realized the potential of this design and moved to patent the techniques it used. This created the first practical RISC architecture, called ARM V1. This has been through several iterations since, but the fundamentals remain the same: a small number of instructions that can run quickly are more efficient than a lot of instructions that take a long time to run.
While Wilson was creating the first ARM CPUs, Acorn itself was in trouble. The BBC Micro, while popular, was expensive to produce, and production problems had meant that the company missed the important holiday buying season in 1983. Although over 300,000 BBC Micros had been ordered, only 30,000 were delivered by Christmas 1983. On top of that, the company had borrowed significantly to scale up production and develop the follow-up model, the BBC Master. One creditor had grown frustrated and tried to shut the company down, a process that leads to layoffs and financial issues that eventually mean that Acorn was sold, passing through the hands of a number of different companies and spinning off the ARM part of the company, which quickly became worth more than Acorn itself.
The ARM architecture itself took some time to become popular, but the main driver for this was mobile computing. Because power is at a premium in a mobile device, the ARM architecture is ideal, as it can run more operations on less power than more complex chips. In fact, the ARM architecture is still used on most mobile phones, laptops and other devices, with companies like Apple, Samsung and many others licensing the ARM architecture for use in their mobile processor.