The demands placed on microcontroller-controlled systems are increasing year by year. They are expected to offer greater convenience, expanded functionality, and enhanced security for the user. The processing cores that handle these expanded and new tasks require ever more computing power. This three-part series helps developers find the right multicore MCU for their needs.
First, a requirements analysis for the software and hardware must be conducted and the results documented. Following this, the recorded requirements should be evaluated according to their importance to the project.

Figure 1: Successful approach to multicore microcontroller selection
The priority classes determine how critical the requirement is for the project:
- must (mandatory; highest priority)
- should (important for the project; high priority)
- will (it would be good if it were included; low priority)

Figure 2: Assignment of requirements to priority classes for the project
Before a market analysis can be conducted, it is necessary to define the precise requirements for the control computer, for example, for a microcontroller component in the system control. These requirements form the basis for the microcontroller selection.

Figure 3: The resources required in the project determine the microcontroller selection.
Find the right multicore microcontroller in 3 steps
Similar to buying shoes, selecting the right microcontroller begins with finding the correct size. At the same time, we should check whether the three most important criteria for automotive or industrial applications are met:
Step 1: Computing power, power consumption and coprocessors
Is sufficient computing power available?
Here, it is necessary to examine what type of arithmetic, what software scope (memory sizes) and what time constraints exist for providing the results.
Step 2: Safety and Security
Are there any safety requirements to be met?
Depending on the type of requirements, special hardware modules or microcontroller architectures may be needed.
Step 3: Peripherals and Pins
Are the existing resources in the periphery sufficient?
This section examines whether the resolution and functionality of the existing modules are suitable for the application and whether the number of port pins is sufficient. Considerations regarding the required simultaneous availability of resources must also be made.
Steps to successful multicore microcontroller selection:
- Definition of the methodology/procedure
- Requirements analysis for resource identification
- Selection criteria:
- Core type, computing power and number of cores
- Safety and Security
- Data storage/program storage
- Interrupt and DMA controllers
- Peripherals and ports
- Bus system(s)
Step 1 – Multicore microcontroller selection: Is sufficient computing power available?
More MIPS per watt
Achieving theoretically higher computing power is not the end of the development. Rather, it must be available under various conditions, such as within a specific power budget. This is particularly true for battery-powered devices. In the development of mobile phones, we have figuratively reached the limit. The batteries required for operation cannot continuously supply more power without impacting size and weight.
In notebooks, increased computing power has been achieved through multicore CPUs at moderate clock speeds. With this approach, the power consumption of single-core chips, despite their extremely high clock speeds, does not increase excessively. Multicore architectures found their way into microcontroller development a few years later. Here, the same requirements apply: more computing power without a significant increase in power consumption.
The automotive industry as a pioneer in the use of multicore microcontrollers
Two crucial aspects must be mentioned in the development of control systems in automotive engineering:
- Compliance with legal requirements regarding fuel consumption and pollutant emissions
- Demand for higher performance regarding communication and entertainment systems in cars, and especially in autonomous driving.
Microcontroller component manufacturers offer a wide variety of new multicore architectures:
- Multiple processing cores of the same CPU type: homogeneous multicore microcontrollers
- Various specialized processing cores: heterogeneous multicore microcontrollers
- Multiple identical + specialized processing cores: heterogeneous multicore microcontrollers
What types of cores are needed, and what computing power should they be able to deliver at a given maximum power consumption? Is the required component available within a component family with different core implementations and various packages (number of ports/pins)? These crucial aspects are important for future projects.

Figure 4: Heterogeneous building block architecture

Figure 5: Singlecore/multicore building block family concept
Software migration from single-core to multi-core
In the first step, the task of software migration from single-core to multi-core seems quite simple: Let's just let the existing software run in parallel on multiple cores.
Does the computing power available with two cores equal 200%?
One core corresponds to computing power x, so a dual-core processor has twice x. However, this effectively results in a performance increase of only about 50 %, or in some cases even less. Why is that?
The architecture of single-core software is generally not suitable for successful execution on a multi-core system. The following challenges can be identified:
- Single-core software is executed sequentially; multi-core software requires synchronization points and communication to achieve the same result.
- A resource (e.g., a data storage device, a peripheral module, etc.) can only be accessed by a single core or bus master at any given time; multiple cores can only access the same resource simultaneously with additional coordination. Inconsistent data states of data blocks must be avoided during multicore access.
- A single processing core uses a bus system; multiple processing cores operating in parallel can interfere with each other when accessing resources on the same bus. This can lead to significant resource access delays.
The biggest challenge lies in coordinating and monitoring the use of shared resources in the software. One solution is resource management for the development of multicore software components. A successful transition from singlecore to multicore systems relies on the correct selection and application of the multicore microcontroller to be used.
A multicore architecture becomes advantageous when a certain required computing capacity (in MIPS) is combined with a maximum tolerable power consumption. Many microcontroller applications are battery-powered, making the system's power consumption a top priority.
This trend is already a reality in laptops/notebooks: The use of multicore CPUs is intended to ensure the longest possible operating time with a specific battery capacity and is advertised as "long battery life." Software plays a crucial role in minimizing power consumption: Aspects such as multicore multithreading are paramount. Software architecture forms the basis for optimal software processing. The balance between speed and power consumption is key, with the goal of high system efficiency: "As many MIPS per watt as possible.".

Figure 6: Symmetric/Asymmetric Multitask Processing
Various applications require arithmetic support such as floating-point or DSP support. In these cases, a dedicated arithmetic coprocessor may be necessary. Some CPU architectures have an extended instruction set (floating-point arithmetic, digital signal processor instructions, DSP) available for handling this specific type of arithmetic.
Application examples include complex motor control, complex sensor data processing, and image and sound processing. In most cases, only specific core architectures can meet the requirements. Almost exclusively heterogeneous processing cores are used as microcontrollers here, fulfilling the requirements of the specific arithmetic.
Conclusion
Expectations for the computing capacity of multicore microcontrollers with moderate power consumption are very high, but in reality they can only be achieved if a strictly structured software architecture and a clearly defined time profile of the application are available.
Go to calendar view
Part 2: Which safety and security requirements are important when choosing an MCU?
Part 3: Are the available resources in the periphery sufficient?
Further information
MicroConsult expertise on the topic of multicore & microcontrollers

