The line between MCU and MPU is disappearing

On

At one time, microcontrollers (MCUs) and microprocessors (MPUs) were two distinct devices, with microcontrollers performing "control" related tasks and reacting to external signal stimuli, and microprocessors performing primarily processing functions and requiring higher data processing and computing power.

But today, due to changes in-memory architecture, the line between the two is becoming blurred. Like the familiar ST and NXP have launched MPUs, and by comparing them you can find many commonalities between MCU and MPU.

In fact, there are many ways to distinguish between microprocessors and microcontrollers, only that the industry has not yet reached a consensus on the criteria for their differentiation. However, the exact distinction between the two is no longer important.

In recent years, the distinction between MCUs and MPUs has become increasingly blurred. Originally, MCUs integrated a CPU, memory, and peripherals on a single chip, as most MCUs still do today, but because MCUs are powerful enough to support more complex applications, MCUs with additional external memory are becoming common.

 


1
Two Markets for Computing Chips
There was a time when computing chips were divided into two distinct markets, with the majority of devices on a chip targeting mainstream computing where performance was the primary consideration, and these monolithic microcomputers were called "microprocessors" that powered personal computers and larger systems.

Today we see them in all types of laptops, desktops, and servers, notably as general-purpose engines designed to run any number of previously unknown programs, with DRAM as the main memory and hard disk drives or solid-state drives as the non-volatile storage.

In the less mainstream world of embedded computing, where modest computing power and specialized uses are required, where designed programs may be run in firmware to allow the entire system (including programs and all systems) to be verified before shipping, memory requirements will be more constrained, where SRAM and non-volatile memory for storing code can be integrated on the same chip as the CPU, and where, crucially, real-time response is often important.

Embedded computers also tend to be used in environments with special I/O requirements, some may be driving motors, others may be handling sound or reading sensors. It is effective to integrate specialized peripheral interface hardware onto the same chip as the CPU and memory, which results in a variety of chips with different characteristics.

In general, a CPU integrated with SRAM, non-volatile memory, and dedicated peripherals is called a "microcontroller".

Microprocessors have evolved up to 64 bits, while microcontrollers are still mostly 8 bits, but in between some changes have occurred that make the distinction between the two more blurred.

Integrated flash memory is an important feature of MCUs, but this type of flash memory is not yet available in microcontrollers with the most advanced nodes, so many devices sold as microcontrollers use external flash memory rather than embedded flash memory, in addition to external DRAM.

In fact, a process called "shadowing" can take code from the external flash, copy it to DRAM, and execute it from there, and caches can be included for performance. This makes the CPU/memory subsystem almost indistinguishable from an MPU.

So is an MCU now an MPU? Is there no longer a difference?

 


2
Factors that distinguish MCU from MPU

Today's MCUs and MPUs are very similar, but there are still some subtle differences in many aspects, which include CPU functionality, number of bits, operating system, timing requirements, number of cores, etc.

In terms of CPU functionality, a CPU can be considered an MPU if it has a complex pipeline with predictive execution and other superscalar functions, but the exact location of the shift is not clearly defined.

In terms of bit count, 8-bit devices are more likely to be considered MCUs, and 64-bit devices are likely to be considered MPUs. though the earliest is that MPUs were 4-bit, which is more of a historical issue than a defining characteristic.

A computer can also be classified according to the operating system it can run, and if it runs Linux, it can be referred to as an MPU. if it only allows smaller real-time operating systems or even just bare metal, it can be referred to as an MCU, which leaves a lot of middle ground for Linux-capable devices. In terms of timing, MCUs are typically used for applications that require hard or soft real-time response, and MPUs are typically not available for this purpose.

Multicore processors are also generally considered MPUs, especially if the cores are identical and the management is symmetric. However, dedicated devices may have multiple processors, and some processors dedicated to specific tasks such as digital signaling are also considered to be MCUs, so the number of cores is not an accurate basis for determining whether it is an MPU or an MCU.

From the point of view of the purpose of use, it can be considered that a general-purpose device is an MPU and a single-purpose device is an MCU, but this is really only about how the device is used. If any device is used without a clear purpose of use, how is this device referred to at that time?

Usually, full-featured MPUs do not have dedicated peripherals, in large part because they are general-purpose and not application-specific, so you might think that as long as there is such a peripheral, it is an MCU, but that is not the case, and the lack of a peripheral does not mean it is an MPU.

From the above analysis, each feature factor can be flawed and the results unsatisfactory, so what do industry experts think?

 

 

3
MCU and MPU have become "obsolete" terms

Marc Greenberg, director of product marketing for the Cadence IP Group, said, "I don't know if there is some official definition of the difference between an MCU and an MPU, but a simple search seems to indicate that there are NVMs on the die for MCUs, but there are bits of NVMs on various MPUs, and MPUs may also have MCUs on the same die. MPUs may also have MCU on the same die, so what is it? The smallest cacheless processor may still have some registers and SRAM, and is there really a difference between a sequencer coded in RTL and a general-purpose processor executing from ROM? Obviously, the distinction between MCU and MPU is somewhat arbitrary, which means that the line is not clear or can even be arbitrary. When I think of MPUs, I think of devices used to control general-purpose computers, such as desktops, servers, tablets, etc."

According to Cadence senior engineer Grant Martin, "According to Wikipedia, an MCU is a small computer on a single metal oxide semiconductor integrated circuit chip, and an MPU is a computer processor that combines the functions of a central processing unit on single or multiple integrated circuits in a MOSFET structure. "

"If you look deeper, an MPU has the functionality of a CPU, so it is a computer processor, while an MCU is a more complete computer, which means that an MCU contains an MPU within it, contrary to common sense. Is a 16-way server processor with multiple processor cores no longer an MPU? but a multi-core heterogeneous SoC?"

"For example, a phone may include multiple application processing cores, multiple DSPs for audio, video, and image processing, one or two GPUs for rendering images on the screen, and a neural network processing unit - an MCU - for entertainment purposes only. from my point of view, the industry should abandon these outdated terms and use more precise and descriptive ones." Grant Martin continued.

Jeff Hancock, senior product manager at Mentor, a Siemens business unit, argues, "From a system software perspective, MCUs are expected to be suitable for applications that directly interpret and control hardware sensors and actuators. Such access typically involves consistent and reliable instruction timing, which contradicts the needs of a general-purpose MPU. Whereas general-purpose MPUs aim to optimize throughput, MCUs typically optimize latency. Therefore, MPUs are more appropriate if they need to handle large databases, and MCUs are more appropriate if they want fine-grained electromechanical control.

Jeff Hancock added: "External memory and cache have definitely made the standard for MCUs change, but that's a long way from equating MCUs with MPUs. In particular, not all processing units in all MCUs use external memory exclusively, and it is also possible to build systems using isolated subsystems that allow critical workloads and less critical application-level systems to continue in parallel."

"From a software engineer's perspective, it is an interesting challenge that there may be two regions of memory in discontinuity, and integrated memory, while small, is faster and therefore best reserved for code with high-speed requirements, such as real-time operating systems. This means that development tools must be flexible enough to map the code onto the memory correctly, and the RTOS must be small enough to fit into the on-chip memory." Walls, an embedded software technologist in the Siemens business unit, added.

In the past, MCUs were associated with embedded systems," said Nicole Fern, a senior hardware security engineer at Tortuga Logic. In embedded systems, low cost and low power requirements were more important than performance. But with the advent of mobile computing and IoT edge computing, many embedded systems now require complex processing, which has resulted in MCU products that look more like MPUs for the embedded space, providing higher performance and configurability for devices with external memory and cache. The difference between the term MCU and MPU, in this case, depends only on whether a CPU system is integrated."

Thomas Ensergueix, senior director of Arm's low-power IoT business, agrees: In recent years, the line between MCUs and MPUs has blurred. one of the main differences between MCUs and MPUs is software and development. an MPU will support a rich OS, such as Linux and associated software stacks, while an MCU will typically focus on bare metal and RTOS. in deciding which Before deciding which hardware platform, MCU or MPU is most effective, it is up to the software developer to decide which software environment and ecosystem are best for their application.

As MCUs have now transitioned to 32-bit, we have also seen dramatic performance improvements that have helped close the gap between MCUs and MPUs. For example, many Arm Cortex-M7-based MCUs can offer more than 100 Dhrystone MIPS or more than 2,000 points in CoreMark. Many of these devices also have very large internal memory or offer fast interfaces to external memory. This ensures that performance and memory are no longer bottlenecks for MCUs, and brings them closer to low-end MPUs.

 

 

4
Summary
Does it really matter if there is a clear line between MPUs and MCUs today? It probably doesn't matter. Because no matter what we call them, applications have accompanying requirements that will determine which device is used.

Related News

    Your RFQ Preview

    Fields marked with a * are required
    Part Number*ManufacturerDescriptionQuantity*Target Unit Price(USD)
    Continue Shopping
    Go RFQ Page