26 Jul 2013
Choice: Microcontroller, MCU or Microprocessor, MPU
Frédéric Gaillard & Andreas Eieland from Atmel discuss the key decision points when choosing between a microprocessor MPU and a microcontroller MCU.
As the ‘brain’ of an embedded system, the processor has a big effect on the system’s overall success or failure.
Selection of the right device is therefore extremely important. These devices are broadly divided into microcontrollers, MCUs and microprocessors, MPUs and come in an extensive range of different types, models and sizes.
Choosing between an MPU or an MCU can be a complex and rather daunting task. This article will consider some of the main selection criteria for these types of devices.
The most obvious initial consideration is performance; MPUs offer more processing power than their MCU cousins. A broad comparison between devices can be made by comparing the quoted Dhrystone MIPS - millions of instructions per second - figures for devices. Dhrystone MIPS, often abbreviated to DMIPS, is a benchmark measure of how fast the device can complete a task that in some way resembles a real-world load on the processor.
As an example, an ARM Cortex-M4-based MCU such as Atmel’s SAM4 MCU is rated at 150 DMIPS while an ARM Cortex-A5 MPU such as Atmel’s SAMA5D3 can deliver up to 850 DMIPS.
Unfortunately determining how much processing power is required by your design can be less than obvious! An estimate may be made by considering the processing power required by the most performance-hungry parts of the system. For most embedded systems this is the operating system, OS. A basic RTOS may require only 50 DMIPS; not a lot, compared to a full-featured OS like Linux, Android or Windows CE which may require 6-8 times that amount.
For particularly mathematically-intensive applications, additional processing power will be needed, increasing the likelihood that an MPU will be required. On the flip side, if the application calls for real-time deterministic behaviour, an MCU will be a better choice; MCUs’ combination of timing deterministic processor core and Flash memory make them suitable for applications that demand functional safety. Since deterministic applications usually keep software to a minimum, using maybe an RTOS or bare metal C, MCUs will usually have enough performance to support this.
Another thing to consider at this stage is the graphical user interface, GUI. Even the most mundane of industrial applications today demands a colourful GUI. Consumer applications are even more demanding, with consumers’ increasingly high expectations of fancy graphics and animations for electronic devices. The level of complexity of the GUI you choose will have implications for whether you decide to go with an MCU or MPU for your project, since complex GUIs will require more processing power than simpler ones. An MCU may be suitable for a system with a simple GUI, perhaps those with pseudo-static images and a low resolution screen; whereas a GUI-centric application will probably require the processing power of an MPU. A good benchmark to keep in mind is that a processor overhead of 80 – 100 DMIPS would be required for a UI library such as the widely-used Qt.
The next feature to consider is memory. MCUs and MPUs have completely different approaches to memory.
MCUs usually have on-chip Flash memory to store and execute the program. Flash memory is very quick to access so the program can be started up and run very quickly. However, since this memory is embedded, it would be difficult to add more capacity if, say, the program increased in size significantly during development.
It may be possible to swap the device for a part in the same family with more memory, but this can only go so far. A typical memory limit is around 2 Mbytes for an MCU.
MPUs on the other hand, use external memory for program and data storage, offering a lot more flexibility. External NAND or serial Flash is often used to store the program, then it’s loaded into external DRAM; the start-up process therefore takes a lot longer than for the MCU’s on-chip memory. Capacities, though, can be hundreds of Mbytes (Gbytes for NAND).
Power and price
The clear winners on power consumption are the MCUs, which are typically orders of magnitude below the MPUs. They have a multitude of low power modes available, with some ranges of products designed especially for ultra-low-power applications. Meanwhile, designing for low power consumption with an MPU can be tricky. Some have low power modes, but these are few and far between, and the use of external memories means that putting the MPU into its low power mode may be more complicated to achieve.
A third dimension, but a very important aspect in the performance-power trade-off is price. Obviously the price of an MCU or MPU will have a big part to play in whether it’s selected or not. In this case, the MCU represents the more cost-optimised solution, and usually represents the low-power option too. But does it have the performance required? An MPU is generally used for high performance applications, but can you afford it? And is there a battery available that has the capacity for the required time between charges, at a reasonable BOM cost? This balance needs to be considered very carefully.
Additional things to consider may include simplicity of design, especially when working to very tight time-to-market deadlines. For example, an MCU requires only one power rail, whereas an MPU needs several different voltage rails for the core, the DDR and other blocks, so additional power converters will be required on-board, adding to the complexity and cost of the design.
Does the system need an LCD? If so, an LCD controller is required, and if an MPU has been selected, it probably has one built-in. Not all MCUs are equipped with an on-chip LCD controller, so more external components would be required to implement one. Some MCUs with on-chip TFT LCD controllers have come on to the market, but it makes sense to check that there is enough embedded SRAM to feed and refresh the display (as an example, the QVGA 320 x 240 16-colour format requires 150 kB). Adding extra external memory for this task could be a solution if there isn’t enough on-chip.
On the other hand, does the system really need an LCD? If the application is particularly low-cost, or low-power, changing to a segment or dot matrix display could be considered, which would allow use of a lower-spec MCU.
Connectivity is another factor in choosing a processing device. Designs requiring high-speed connectivity with third party (OS-based) stacks will generally use an MPU since they are better equipped to handle and process the amounts of data that are exchanged with HS USB 2.0 or Gigabit Ethernet. That said, MCUs are available with almost all the potential combinations of peripheral interfaces, but the number of channels and bandwidth required for the application in question should be checked carefully.
Last but not least: planning for the future. Is the end product likely to be made into a product range that will require different sizes of processor? Is the product likely to evolve into a bigger, better version that requires more processing power? Or will a lower power version be the next step? In these cases, selecting a vendor with an extensive range of MCU and MPU products that are compatible will help maximise software reuse when the time comes.
Page 1 of 1
About the author
Frederic Gaillard joined Atmel as Product Marketing Manager for ARM-based microcontrollers in 2008. He has over ten years of industry experience in support and marketing of 32-bit microcontrollers. Prior to Atmel, Frederic held similar positions with STMicroelectronics. He completed his engineering degree in 1997 at the Technical University of Montpellier, France.
Andreas Eieland has worked as AVR Product Marketing Manager since January 2007. He worked as an Application Engineer at Atmel’s AVR Products Center since 2005 and he holds a Master of Science degree from the Norwegian University of Science and Technology.
Atmel Corporation is a worldwide leader in the design and manufacture of microcontrollers, capacitive touch solutions, advanced logic, mixed-signal, non-volatile memory and radio frequency, RF components. Leveraging one of the industry's broadest intellectual property, IP technology portfolios, Atmel is able to provide the electronics industry with complete system solutions focused on industrial, consumer, communications, computing and automotive markets.
Most popular articles in Processing & embedded
Share this page
Want more like this? Register for our newsletter