Differences Between MPU and MCU: How to Choose?

Differences Between MPU and MCU: How to Choose?

Word Count: 2250 Content Index: ⭐⭐⭐⭐⭐

Every new application design requires either a microcontroller or a microprocessor. When choosing between the two, several factors need to be considered. Below is an overview and comparison of microprocessors and microcontrollers.

When considering whether to choose a microprocessor (MPU) or a microcontroller (MCU), the type of application is often a key factor.

On the other hand, the final choice depends on factors such as the operating system and memory. However, sometimes microprocessor and microcontroller cores can be combined, which is referred to as heterogeneous architecture.

Differences Between MPU and MCU: How to Choose?Operating System
For some compute-intensive industrial and consumer applications based on operating systems like Linux or Android, requiring high-speed connections or a wide range of user interfaces, microprocessors are the best choice.
This is because most microcontrollers do not have an operating system but only bare-metal programs, which can run almost without any human intervention by utilizing sequential processing loops and state machines.
However, many high-performance microcontrollers can support real-time operating systems (RTOS) like FreeRTOS, enabling them to respond in real-time to applications requiring hard real-time behavior.
Differences Between MPU and MCU: How to Choose?
As a general-purpose operating system with many free software options, extensive hardware support, and a continuously evolving ecosystem, embedded Linux has achieved great success.
Another advantage is that there are no user or licensing fees. However, applications running with embedded Linux typically require at least 300 to 400 DMIPS (ARM-Dhrystone MIPS) performance, making them more suitable for microprocessors. Microcontrollers do not have sufficient computational power and memory to handle such applications.
If used for complex or real-time control systems, RTOS is beneficial, but it requires at least a 50 DMIPS high-performance microcontroller. This is significantly less than the performance requirements for embedded Linux. Traditional RTOS designs are streamlined and can run on microcontrollers.
This is reasonable for real-time computing hardware, such as for vehicle anti-lock systems, where excessive response times can have fatal consequences. Even when a large number of functions, interrupt sources, and standard communication interfaces must be supported, it is advisable to use a microcontroller with RTOS.
Differences Between MPU and MCU: How to Choose?

Memory

Another major difference between microprocessors and microcontrollers is that microprocessors rely on external memory to store and execute programs, while microcontrollers rely on embedded flash memory.
In microprocessors, programs are typically stored in non-volatile memory such as eMMC or serial flash. During boot-up, they are loaded into external DRAM and executed from there. Both DRAM and non-volatile memory can have capacities of hundreds or even thousands of megabytes, meaning that microprocessors are almost never limited by storage capacity.
However, there is a potential downside: external memory may complicate the PCB layout design.
Differences Between MPU and MCU: How to Choose?
Even current high-performance microcontrollers, such as the STM32H7 produced by STMicroelectronics, offer a maximum of only 2 MB of program memory, which may be insufficient for many applications that require an operating system. Because the program is located in on-chip memory, the advantage is that the speed of executing the boot and reset processes is significantly faster.
Differences Between MPU and MCU: How to Choose?

Computational Power

Computational power is a typical selection factor. However, in this regard, the line between microprocessors and microcontrollers becomes blurred. For example, if you consider the ARM architecture as one of the most widely distributed architectures in the microcontroller and microprocessor markets, this becomes evident. ARM provides different processor architectures to meet various requirements:
  • Cortex-A offers the highest performance and is optimized for comprehensive operating systems. They are primarily deployed in powerful devices like smartphones or servers.
  • Cortex-M is smaller with more on-chip peripherals but has lower power consumption and is optimized for embedded applications.
Dhrystone is a benchmark for comparing the performance of different processors. According to this benchmark, an ordinary low-cost microcontroller has 30 DMIPS, while the current highest-performing microcontrollers (including embedded program flash) can reach up to 1027 DMIPS compared to these low-cost microcontrollers. In contrast, microprocessors start at around 1000 DMIPS.
Differences Between MPU and MCU: How to Choose?

Power Consumption

Microcontrollers excel in power consumption, being much lower than microprocessors. Although microprocessors have power-saving modes, their consumption is still significantly higher than that of typical microcontrollers.
Moreover, since microprocessors use external memory, it is more difficult to switch to power-saving mode. For ultra-low power applications that require long battery life and have little or no user interface, microcontrollers are a better choice, especially for consumer electronics or smart meters.
Differences Between MPU and MCU: How to Choose?
Connectivity
Most microcontrollers and microprocessors come equipped with all standard peripheral device interfaces. However, if users require ultra-high-speed peripherals, interfaces such as gigabit Ethernet are not found in microcontrollers. This has practically become a standard feature in microprocessors. This is quite reasonable because microcontrollers can hardly handle the data volume generated by these high-speed interfaces. A key question is:Is there enough bandwidth and channels to handle the burst data volume?
Differences Between MPU and MCU: How to Choose?
Real-Time Performance
When real-time performance is the most important consideration, microcontrollers are definitely the preferred choice. With a processor core, embedded flash memory, and software (RTOS or bare-metal OS), microcontrollers excel at real-time tasks.
Because Cortex-A microprocessors use high-performance pipelines, users can see that during jumps and interrupts, the latency increases with the depth of the pipeline. Since the OS executes multitasking with the microprocessor, achieving hard real-time operation is challenging.
Differences Between MPU and MCU: How to Choose?System Base IC
Since the power supply is integrated within microcontrollers, they only require a single power supply. On the other hand, microprocessors require multiple power supplies of different voltages to power the core and other components, so they typically need a specially configured power management IC (the so-called system base chip) for power management.
Differences Between MPU and MCU: How to Choose?
Conclusion
It is difficult to say which is the better choice between microprocessors and microcontrollers, but the rule of thumb is that you should always weigh the various pros and cons. The following points can serve as general guidance:
  • Microcontrollers are very suitable for mobile applications where power consumption is a primary concern and are low-cost, as well as for applications with real-time requirements.
  • Microprocessors are ideal for compute-intensive applications that run with an operating system and require high-speed interfaces. Games and other graphics-intensive applications use specialized microprocessors for networking processing.
Disclaimer: The content of this article comes from the internet, and the copyright belongs to the original author. If there are copyright issues, please contact for removal.
END
Differences Between MPU and MCU: How to Choose?

1

“7000 Words of Content | Microcontroller C Language Learning Framework and Insights…”

2

“So Comprehensive! The Strongest Summary of Embedded IoT System Software and Hardware Basics…”

3

“Hot Debate on Zhihu | Is C++ Useful in Embedded Development?”

Differences Between MPU and MCU: How to Choose?

Differences Between MPU and MCU: How to Choose?

Differences Between MPU and MCU: How to Choose?

Differences Between MPU and MCU: How to Choose?
The hardworking little creator generating power every day,
[Share, Like, and View] Can we have a duckDifferences Between MPU and MCU: How to Choose?

Leave a Comment