3 ms·
The development of the first ARM chip is just such an amazing story. I just wanted to say a bit about why Acorn decided to do this whole RISC thing at all, Aco
by codeulike 6y ago
The development of the first ARM chip is just such an amazing story.
I just wanted to say a bit about why Acorn decided to do this whole RISC thing at all, Acorn was a manufacturer of home computers, why on earth would you be crazy enough to design your own chip?
Sophie did an analysis of the compiler output for a lot of common compilers as part of the process of trying to choose which chip we should use next, we were looking at things like the 68000 and the National Semiconductor 16032, or 32016 as it got renamed. I don't know if you remember, a second processor was done with that 32016 and Nat Semi had produced a poster that said "32016 is not a late 16 bit machine it's an early 32 bit machine", a year later we crossed out 'early' and wrote 'late' on it. This analysis showed that all of the complicated instructions and all of complicated mem-copies, the compilers just don't generate them. They generate Load/Store, add, subtract, and/or, compare, branch, that's about it really, the rest of them, unless you're writing in assembler, you just don't use them, so they're a complete waste.
Now, the aforementioned, Arthur Norman, who had written the LISP interpreter for the BBC Micro, and was in and out of Acorn the whole time, had come up with a design for a machine with 3 instructions called the SKI machine. Whose instructions were called 'S', 'K' and 'I' and it ran LISP in hardware and he built one of these things, it never worked, it was so big and covered in wire-wrap it was always broken. The idea was to prove that you really didn't need very many instructions for a general purpose machine.
...
Tony Thompson, who had done that implementation of BASIC 64, he got to do the core of the operating system, so the real guts of Arthur itself. That brought it out of reset, powered it up, organised all the memory and so forth. We had a really interesting time with part of that, we had one of the machines that we just could not get this thing to boot reliably. You could boot it, turn it off, reboot it and sometimes it would work and sometimes it wouldn't. It turned out, it would boot fine if you left it long enough, but if you didn't turn it off for very long then it didn't reset properly, and this was because the fan on the board was still spinning and the back EMF on the fan was enough power to keep the ARM running. And that's why you've got an ARM in your phone today, it would take no power to keep a 3 micron ARM with 25000 transistors would run for 30 seconds off the energy stored in the fan.