Embedded Computing Design Spring 2021 with Embedded World Profiles

Page 10

MOORE’S LAW VERSUS PARALLELISM

Embedded Multicore and OpenAMP By Colin Walls, Siemens Embedded

Every embedded system is different. And so, as multicore designs become increasingly common, almost to the point of being mainstream, different hardware and software architectures are evolving.

F

rom the software perspective, there are broadly two options: symmetric multiprocessing (SMP) and asymmetric multiprocessing (AMP).

to be identical. Each OS may be selected according to the intended functionality of the core and does not need to be a special, “multicore-enabled” version.

Inside SMP The objective of SMP is to increase available processing performance in a power-efficient manner, and it is very commonly found on desktop and laptop computers.

Unlike SMP, AMP does not require all the cores to be identical – it may be implemented on a heterogeneous multicore platform – which is advantageous because most multicore SoC devices include a variety of core architectures as different core architectures may be suitable for different parts of the application.

An SMP system can only be implemented on a homogeneous multicore platform (i.e., all the cores are identical). A single instance of an operating system (OS) runs across all the cores, and this OS needs to be a specific variant that supports SMP operations. Today, SMP is supported by Linux and a number of real-time OS products. With SMP, tasks are distributed across the cores automatically. However, there may be an option to lock tasks to specific cores if that is required for a particular application. AMP and Embedded Systems For embedded applications, AMP provides more flexibility and is, hence, much more common. In an AMP system, each core runs its own OS (or may run bare metal with no OS at all). There is no requirement for the OSs

10

However, there are two matters that need to be resolved in an AMP design: lifecycle management (boot sequence, etc.) and inter-core communications. These issues do not arise in an SMP system, as the OS has control over which tasks run where and when and inter-task communication uses the standard OS APIs because the tasks do not need to “know” they are running in a multicore context. In an AMP system, each OS is unaware of the existence of the others, so specific provisions must be made. OpenAMP: A Multiprocessing Framework The best way to configure an AMP system is to use some kind of multicore framework to address the control and communication requirements. OpenAMP1 is a standard that defines the architecture of such a framework; implementations of OpenAMP are available from a number of vendors.

Embedded Computing Design EMBEDDED WORLD | Spring 2021

www.embedded-computing.com


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.
Embedded Computing Design Spring 2021 with Embedded World Profiles by OpenSystems Media - Issuu