7 ms·
The take-home, IMO: >Let’s step back for a moment and reflect on what an amazing accomplishment this was. The entire ARM design team consisted of Sophie Wilson
by snvzz 4y ago
The take-home, IMO:
>Let’s step back for a moment and reflect on what an amazing accomplishment this was. The entire ARM design team consisted of Sophie Wilson, Steve Furber, a couple of additional chip designers, and a four-person team writing testing and verification software. This new 32-bit CPU based on an advanced RISC design was created by fewer than 10 people, and it worked correctly the first time. In contrast, National Semiconductor was up to the 10th revision of the 32016 and was still finding bugs.
Remember: Complexity is poisonous.
- samizdis 4y agoIndeed. And I was also impressed by this: > Because of the simplicity of the design and the low clock rate, the actual power draw ended up at 0.1 watts. > In fact, one of the first test boards the team plugged the ARM into had a broken connection and was not attached to any power at all. It was a big surprise when they found the fault because the CPU had been working the whole time. It had turned on just from electrical leakage coming from the support chips.
- amzans 4y agoDefinitely agree. I think the problem is that it’s usually easier to arrive at complex solution than a simple one.
- sbuk 4y agoAlways work with the following in mind: Il semble que la perfection soit atteinte non quand il n'y a plus rien à ajouter, mais quand il n'y a plus rien à retrancher. It seems that perfection is attained not when there is nothing more to add, but when there is nothing more to remove.
- amelius 4y agoPerhaps this was simply because the National Semiconductor people were allowed to make mistakes, whereas for ARM it was crucial to get it right the first time. It also tells that designing hardware is perhaps not as hard as most software engineers make it out to be.
- pavlov 4y agoAs the article notes, the ARM v1 CPU had 27,000 transistors. Designing a RISC processor that small is hard in a different way. It’s probably similar to designing a useful CAD application whose code fits in 30 kilobytes on an operating system which only provides file I/O. (That would be the original AutoCAD.) The difficulty of both hardware and software has changed towards dependency management rather than squeezing the most out of a handful of transistors or program bytes. There’s no reason for anyone to create ARM v1 or AutoCAD 1.0 today.
- klelatti 4y agoAgree 100% with the thrust of your argument but isn't the challenge still there today for a Cortex-M0 equivalent say?
- bell-cot 4y agoMore perspective on the 32016 vs. the ARM1: There were about 25K transistors total, in the KISS-or-die ARM1 chip ( https://www.theregister.com/2015/11/28/arm1_visualized/ https://www.theregister.com/2015/11/28/arm1_visualized/ ). vs. There were about 60K transistors in the NS32016 chip, which had to implement features like virtual memory ( http://cpu-ns32k.net/CPUs.html http://cpu-ns32k.net/CPUs.html ). A quote on the 32016, from the latter source: "It is one thing to define a superior architecture on paper. But it is another thing to implement all the required functionality with a limited budget of time and man power." Sounds like NS was really skimping on resources for the 32016. (Wikipedia claims NS had $1 billion in annual sales by 1981, which was Serious Money back then. Vs. the article makes it pretty clear how much leaner things were at Acorn Computer.)
- Taniwha 4y agoThe big difference of course is tooling (CAD tooling) ten years after that I was knocking out that many timed gates a year myself, 5 years later, maybe 5 times more again - that world has changed a lot from the 6502 which was done with litho and modelling knives
- robomartin 4y ago> This new 32-bit CPU based on an advanced RISC design was created by fewer than 10 people A small motivated team with sufficient domain knowledge will always outperform large teams, regardless of funding. The history of business is full of examples of this. Not to go too far, the entire consumer computer industry came out of places like Apple (1 engineer!), Microsoft (a couple of guys), Compaq (three guys), etc.
- cmrdporcupine 4y agoEntirely different market 320xx vs ARM (at the time and even now). The simplicity you're advocating as successful for ARM was not applicable for the market NSC was attempting to compete in. The 320xx, like the 68k, was targeting the nascent Unix workstation market and minicomputer-competition. It was explicitly VAX like -- except simplified (apparently 32xx was quite a clean and consistent architecture). As others have pointed out, it supported everything needed for virtual memory (better than the 68k, actually) I am not sure ARMv1 (and v2) even had supervisor vs user mode, etc.? (It may have, Google isn't helping me here) Eventually the 68k ended up in consumer microcomputers (Amiga, Atari ST, etc.) but it started out in that same market. People who wanted to take a bite out of VAX's lunch (which was big money back then.) The ARM was built by a microcomputer company, for the next generation of their microcomputers. And then for the nest 30 years it was used in various forms for embedded and portable / low-power systems (apart from the ill-fated Archimedes line which was kind of Atari/Amiga/Mac level competition) . It's only in the last few years that we're seeing it in server and workstation class systems. Note that Apple was an investor and user in ARM from the very earliest days but only in the last couple of years has seen it wise to put it into that class of machine. They went from 68k to PowerPC, and from PowerPC to Intel without choosing ARM for the job, even though they were already a huge ARM customer and had already ported their OS. Different market, different kind of project.
- talex5 4y ago> I am not sure ARMv1 (and v2) even had supervisor vs user mode, etc.? (It may have, Google isn't helping me here) v2 at least had 4 modes: user mode, supervisor, IRQ and FIQ. They were encoded in the low 2 bits of r15 (which weren't otherwise needed, since the PC was always word-aligned). The original Archimedes was intended to run a "preemptively multi tasking, multi-threaded, multi-user, written in Acorn-extended Modula2+" system called ARX. But when that wasn't ready in time, they ended up just porting the 8-bit BBC Micro MOS to the new 32-bit machines! This is a great read about it all: http://www.rougol.jellybaby.net/meetings/2012/PaulFellows/index.html http://www.rougol.jellybaby.net/meetings/2012/PaulFellows/in...
- klelatti 4y ago