An MCU or MPU, that is the question: Part 1

Selecting the most appropriate device (an MCU or MPU) for a new project or design can be somewhat daunting. Indeed, engineers typically analyze a wide range of variables, including price, performance and power consumption.

To make the process easier, we will examine some of the primary differences between an MCU (microcontroller) and MPU (microprocessor).

“Typically, an MCU uses on-chip embedded Flash memory in which to store and execute its program,” Frédéric Gaillard, product marketing manager and Andreas Eieland, senior product marketing manager, told Bits & Pieces.

“Storing the program in this way means that the MCU has a very short start-up period and can be executing code very quickly. The only practical limitation to using embedded memory is that the total available memory space is finite. Indeed, most Flash MCU devices available on the market have a maximum of two Mbytes of program memory and, depending on the application, this could prove to be a limiting factor.”

In contrast, MPUs are not limited by memory constraints in quite the same way, as they employ external memory to provide program and data storage. The program – typically stored in non-volatile memory such as NAND or serial Flash – and is loaded into an external DRAM at start-up and subsequently commences execution. On a practical level, this means the MPU will not be up and running as quickly as an MCU, although the amount of DRAM and NVM engineers can connect to the processor is in the range of hundreds of Mbytes and even Gbytes for NAND.

Another notable difference between MPUs and MCUs is power consumption methodology. By embedding its own power supply, an MCU is fine with just one single voltage power rail. However, an MPU typically requires several different voltage rails, prompting the use of additional on-board power ICs/converters. And while MPUs do have low power modes there are not as many or as low as the ones you would find on a typical MCU.

“With the external hardware supporting an MPU has an added factor, putting an MPU into a low power mode might also be slightly more complex,” the two explained. “In addition, the actual consumption of an MCU is magnitudes lower than an MPU, in low power mode for example with SRAM and register retention, you can consider a factor 10 to 100. Obviously this is directly related to the amount of RAM an operating system requires and therefore to be powered to resume operation instantaneously.”

Clearly, design specs are critical when it comes time for an engineer to select an appropriate device for a specific application. For example, is the number of MCU peripheral interface channels sufficient? Do marketing specifications stipulate a user interface (UI) capability that is simply impossible with an MCU due to a lack of on-chip memory and performance?

“When embarking on the first design engineers know it is highly likely there will be many product variations,” said Gaillard and Eieland. “As such, it is very possible a platform-based design approach will be preferred. This would stipulate more ‘headroom’ in terms of processing power and interface capabilities in order to accommodate future feature upgrades.”

Want to learn more about the differences between MPUs and MCUs? Stay tuned to Bits & Pieces for part 2 of “An MCU or MPU, that is the question.”

3 thoughts on “An MCU or MPU, that is the question: Part 1

  1. atmelfaebrian

    Nice Article. We want our customers to know that with Atmel, there is always the choice between MCU and MPU and it is not a one-size-fits-all. Looking forward to the next in the series…



    Great, just new vocabulary M** or M**. Not much difference when you understand the inner workings. Both can do the same, some better some worst. Depends on the design.


  3. Pingback: An MCU or MPU, that is the question: Part 2 | Bits & Pieces from the Embedded Design World

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s