ARM has been in the news a lot recently as they position themselves for the impending battle against Intel in the burgeoning high-end embedded processor market. Much to the delight of the trade press, Intel have turned their enormous marketing budget to focus on the embedded marketplace and it is hard to find an embedded related website that is not presently displaying Intel advertising.
At the recent Embedded Systems Conference in Farnborough, UK, the Intel versus ARM drama stole the show at the State of Microelectronics keynote.
While this is potentially an interesting story, is the real story not what is happening right now in the embedded microcontroller market? In 2007, the embedded microcontroller market was worth $26billion, shared amongst over 40 vendors of over 50 different architectures. No single vendor had more than 5 percent market share1 .
ARM launched the Cortex-M3 processor in October 2004. In March 2006, Luminary Micro (now a division of Texas Instruments) launched the first Cortex-M3 based microcontroller. STMicroelecronics followed suit in June 2007 with the extensive STM32 range. Since then, NXP, Atmel, Zilog and many others have licensed the processor.
As of March 2009, there were 28 licensees including 6 of the top 10 worldwide semiconductor companies2 . While a very different market, if ARM's achievements in smart phones (>80 percent market share1 ) are anything to go by, the Cortex-M3 may spark a rapid consolidation of the microcontroller market, dramatically reducing the number of competing architectures on offer.
Why is this happening? Microcontroller vendors have traditionally competed against each other by offering a combination of features that were in some way superior to the competition in a particular niche market. A notional microcontroller feature set can be described in term of cost, power consumption, execution speed and peripheral set.
Historically it has been difficult to produce a single range of devices that can boast good performance in all of these areas as improving one tends to worsen another. In high volume designs, cost is largely dictated by gate count.
Gate count increases cost because more gates require a larger die area and package while smaller gate counts can be implemented using older, less expensive process technologies in the same package size. Power consumption is a complex area, but typically vendors have reduced gate count and clock speed amongst many other techniques in order to reduce it.
In digital electronics, most power is dissipated during the clock transitions so increasing clock speed increases power consumption. Execution speed is a derivative of clock speed, accumulator width, instruction set and numerous other factors. Increasing accumulator width and complex instruction sets add gates to a processor, thereby increasing both cost and power consumption. Similarly, feature rich peripherals and their associated SRAM buffers add gates to the design.
The original Cortex-M3 processor core has only 33,000 gates, potentially offering a very compact silicon die footprint. This fact combined with advanced low-power modes can dramatically reduce power consumption. The core can operate from 0 to 100MHz in implementations currently available. Direct memory access (DMA) enables device vendors to provide a large number of peripherals while eliminating the requirement for large SRAM buffers in each peripheral with a direct cost benefit.
The processor instruction set is known as Thumb2. In the past, ARM processors could execute 32 bit ARM instructions or 16 bit Thumb instructions. The ARM instructions were more feature rich and hence enabled faster code execution but required more storage space. The Thumb2 instruction set is a combination of 16 and 32 bit instructions designed to give an optimum balance between execution speed and code size. With processor cores getting ever smaller, flash and SRAM requirements are increasingly dictating the final device cost.
The Thumb2 instruction set is a key characteristic of the Cortex-M3 as it facilitates 32 bit execution speed with a flash requirement comparable to 16 bit designs. Some may question the description of the Cortex-M3 as a low-power processor. The term low-power, as with many things is a relative term. For the performance available, the Cortex-M3 is undoubtedly low-power when compared with many competing architectures. A feature reduced variant of the M3, the Cortex-M0 is also available with a gate count of 12,000 and a processor core that consumes as little as 85 microwatts/MHz3 .
Amazingly, Cortex-M3 microcontrollers are available for less than many legacy 8 and 16 bit parts. Luminary Micro's marketing literature describes their Stellaris Cortex-M3 range as an entry into an ARM compatible roadmap from $1 to 1GHz. Given that the Cortex-M3 delivers 1.25DMIPS/MHz at such low cost, it's hard to imagine that the processor will fail to make significant inroads into the existing 8 and 16 bit markets. For those end users paying a premium for legacy microcontrollers in existing designs, they now have more reasons to migrate to a new device. Lower cost, higher performance and the scalability to add new connectivity and media features are one redesign away.
Silicon vendors have looked at Cortex-M3 and seen that to a certain extent they can have their cake and eat it. Low power consumption, high-speed execution, a rich peripheral set and low cost, in a single range of devices. This was an attractive proposition for the early adopters in a competitive marketplace, but when faced with the prospect of competing with Cortex-M3 many other vendors must have decided that the best option available was to hop on the bandwagon.
We've mentioned the obvious benefits of Cortex-M3 powered devices, but there are many others that are not so obvious. While Intel's dominance of the PC microprocessor market has served the market well, the deeply embedded market is a different animal. The market is very cost sensitive and for many reasons a higher level of integration is desirable.
A large number of competing silicon vendors almost guarantees that there will be a vendor somewhere that will offer a microcontroller perfectly tailored for your specific application. Given a choice, any design engineer would rather design in a component that can be sourced from multiple vendors. While Cortex-M3 devices from different vendors differ in many ways, the migration path from one vendor to another is undoubtedly easier than migrating between architectures. This gives end users great flexibility to change parts in order to take advantage of a cost or performance benefit.
Some of the ranges available, such as the STM32, are so extensive4 that many end users could standardise on that single range and find that there is a component available for every application they have. In many ways, Cortex-M3 offers end users all of the benefits of standardisation while retaining the key benefit of choice.
Is this a win-win development for end users and silicon vendors? It's very hard to say at this stage. Vendors will tell you that with microcontrollers it's all about the peripherals but is this just wishful thinking? The Cortex-M3 puts tremendous power to choose in the hands of the end user and surely some vendors are going to suffer as a result. If a vendor cannot sufficiently differentiate their product on features it may end up being a race to the bottom as far as price is concerned. In the short term this is good news for the end user, but a microcontroller market where vendors cannot make money is no good for anyone in the long run. It will be very interesting to see how this aspect of convergence unfolds.
Migrating an existing design between architectures can be very costly as new compilers, debuggers, etc. are purchased for each developer. With Cortex-M3 you buy the development tools once and they are common to every silicon vendor's implementation. Over the lifetime of an end user's product range this can yield significant benefits in terms of developer productivity and tool costs. The tools that are available have a very large installed base. This results in the tools being of very high quality, more akin to PC software development tools than those typically used for embedded development. With more and more software finding its way into microcontrollers, this is a major benefit.
Any embedded developer will tell you that there can be many months between powering on a new design with lots of peripherals for the first time, and working on the added value part of your software, the application. Luminary Micro and ST have produced extensive internal peripheral libraries for their devices. When combined with the ARM CMSIS processor library it's amazing how quickly you can be developing real applications on a Cortex-M3 device. With an evaluation board, you can literally be coding at the application level on the first day.
The PC market has for many years enjoyed a vibrant software component marketplace, particularly for Visual Basic and more recently .NET components. There are many vendors of RTOS's and communications stacks in the embedded space but they have significant barriers to face. Dramatically different performance classes, different microcontroller endianness, address space models, data structure packing and alignment in many cases force the development of poor quality and inefficient code.
C code that is written to be portable across architectures must shun many compiler specific optimizations as well as type safe data structures, in order to be portable. C++ offers many overhead-free advantages over C, such as enhanced type safety, even without applying object oriented techniques. Because robust C++ compilers are not available for many microcontroller families, C++ is not portable and cannot be used in the development of mass market embedded software components. Portable code is also much more difficult and costly to develop and test.
The emergence of a common architecture for microcontroller development would benefit end users through greater software component availability, higher quality offerings and reduced development times resulting in faster time to market. Software vendors could for the first time access a large market with binary distribution of software rather than source code distribution. This would protect product quality as well as intellectual property.
At Embedded Labs, we have seen the future and it is ARM. The convergence that is underway will make winners and losers. In our consultancy business we see this as an opportunity rather than a threat.
It enables us to offer greater value to clients than before, as our library of hardware and software components can be more easily reapplied to get clients' products to market fast.
Cortex-M3 has revolutionised the way we deliver services to clients and it can revolutionize your product development.
Embedded Labs has produced the Accelerator ARM Cortex-M3 Design Platform (pictured below) based on the STM32 range of microcontrollers from ST Microelectronics.
To see a bigger version of this graphic click here.
This platform comprises a hardware reference design, a development board based on this design including a wide variety of external peripherals. Robust, field-proven source code is available for all peripherals as well as a number of different software scheduling options. Embedded Labs' Accelerator ARM Cortex-M3 Design Platform provides the scalability required to target low-cost, connectivity and even media applications with a single base of hardware and software.
Liam Power & Shane Robinson are the principals of Embedded Labs Ltd.(Waterford, Ireland), a provider of embedded hardware design and software development services.Power has over 13 years experience of 8 to 32 bit software development. He has a BEng(Hons) in Electrical & Electronic Engineering from Cardiff University and an MSc in Computational Science from University College Dublin.Rpbinson has over 20 years experience of embedded hardware design. Formerly of Intel and Xerox, he has a BEng in Electronic Engineering from the University of Limerick.
1. Jean Anne Booth. The future of the MCU Market. Electronics World – February 2007.
2. ARM Ltd. March 30, 2009 ARM Cortex-M3 Processor Momentum Grows.
3. ARM Ltd. ARM Cortex-M0.
4. STMicroelectronics. STM32 Brochure, November 2009.