I also got to meet up with lots of really interesting people. For example, I had a really good chat with Alf-Egil Bogen, who is the CMO at Energy Micro. The really interesting thing here is that, while he was a student at the Norwegian Institute of Technology in the mid-1990s, Alf and fellow student Vegard Wollan conceived the architecture for the well-known AVR microcontroller. [Although no one will say for sure, it is commonly accepted that AVR stands for Alf (Egil Bogen) and Vegard (Wollan)'s RISC processor.]
The AVR has a long and distinguished history, so it's something of a surprise to find Alf working for Energy Micro, whose energy-friendly microcontrollers and radios are based on ARM processor cores. Happily, Alf has written a blog on this, which he kindly gave me permission to reproduce here…
From AVR to ARM by Alf-Egil Bogen
Since the late 1970s, microcontrollers have rapidly been replacing discrete logic and supporting more features such as advanced control, complex calculations, high-speed communication, and intuitive user interfaces, even in small, low-cost systems. Early on, most microcontroller code was written in assembly language and this “hardware near” programming became the signature for embedded designers. No one could (or should) touch anyone else’s code!
In the early 1990s, engineers felt the need for more features in their microcontroller systems and started to look at the C-language, even for 8-bit MCUs. The biggest issue at the time was that the microcontroller architectures did not support the language very well and the code became larger and less optimized than assembly.
This was when we designed the AVR. The AVR architecture was designed to support the C-language, and to optimize the use of the C-language for hardware-near programming without losing efficiency of any way. With a true RISC architecture comprising single cycle instructions, register file, separate busses for program/data memory, and I/O it was just superior to any other architecture in the 8-bit world, and probably still is, 20 years later.
The performance of the architecture was important, but other factors like built-in high performance analog, self-programmable Flash and EEPROM memory were also attractive to engineers. The low cost development tools were also welcomed by the engineering communities. A large reduction in the entry cost from a few thousand dollars to almost free was essential for the wide use of microcontrollers.
About the same time, ARM started to find its way into embedded applications. ARM had a different approach with their processors. First of all, they used a 32-bit CISC von Neumann architecture in their core design that is not as processing efficient as a RISC. ARM devices use an extensive amount of data storage even for small control applications because of its 32-bit wide bus structure. A 32-bit data location would store 4 bytes and that is twice as many as most numbers that are used in control applications. To overcome some of the code size issues, the Thumb instruction set was designed. This was a subset of the full instruction set and resulted in less code and data usage in application where the 32-bit number crunching was not needed. This opened engineers’ eyes to ARM and how the core could serve 8/16-bits applications as well as full 32-bit applications.
Secondly ARM had a different business model. By licensing the core to manufacturing houses and product companies, their processor was loved by purchasing departments around the world fighting their “true second source” battle. However we all know that the same core from various vendors does not really mean you can swap a processor overnight.
ARM also did a few other important things to achieve this success. Firstly they were successful in getting designed in as a main core in a few GSM phones, Nokia being one of them. It was hard for microprocessor companies to break into these huge volume applications trying to sell both a processor core and a new supply chain. ARMs licensing model allowed them to select a new processor and stay with their existing and well-proven supply chain.
Secondly these high volume customers were willing to take the cost of the development of debuggers, RTOS and other support tools that was needed to support the ARM cores used in their ASIC´s. Several high-end vendors started to support ARM and after a few years ARM also developed low cost tools for the processors as well. This is when ARM started to be adapted by the large engineering community around the world.
Today almost 20 years later, ARM processors are dominant in embedded 32-bit microcontroller designs, and ARM eats its way into 8/16 bits applications with their various cores.
Another very important contributor to the migration from 8 to 32-bit has been the manufacturing process development over the years. The gate count of the processor core is insignificant in today’s system on chips because huge memories, peripherals and functional blocks are on the same die. On a 1Mbyte Flash Cortex M3 device the core is only a few percent of the silicon cost.
Another interesting observation is that ARM processors, maybe because of their early success in cell phones, are getting into tablets and the new age of handheld computers. This is probably one of the most fascinating parts of the ARM story. Who would guess that a small UK based processor-core company would challenge Intel on their true home field?
So I take my hat off – ARM has done a tremendous job by establishing a fantastic range of cores, a powerful eco system and a great marketing machine.
Now, when so many companies are using the same technology, the term “differentiate or die” really becomes valid. Only the companies with creative engineers that dare to think differently can achieve this. A risk tolerant culture with curious people is the way to go.
Not all companies act that way.
If you found this article to be interest, visitMicrocontroller / MCU Designline where – in addition to my Max's Cool Beans blogs on all sorts of "stuff" – you will find the latest and greatest design, technology, product, and news articles with regard to all aspects of designing and using microcontrollers.
Also, you can obtain a highlights update delivered directly to your inbox by signing up for my weekly newsletter – just Click Here to request this newsletter using the Manage Newsletters tab (if you aren't already a member you'll be asked to register, but it's free and painless so don't let that stop you [grin]).
Last but certainly not least, make sure you check out all of the discussions and other information resources at All Programmable Planet. For example, in addition to blogs by yours truly, microcontroller expert Duane Benson is learning how to use FPGAs to augment (sometimes replace) the MCUs in his robot (and other) projects.