Asymmetric Multiprocessing - 2020.2 English

Versal ACAP System Software Developers Guide (UG1304)

Document ID
UG1304
Release Date
2020-11-24
Version
2020.2 English

AMP uses multiple processors with precise control over what runs on each processor. Unlike SMP, there are different ways to use AMP. This section describes two ways of using AMP with varying levels of complexity.

In AMP, a software developer must decide what code has to run on each processor before compiling and creating a boot image. This includes both the APU and RPU processor clusters. For example, using AMP with the Arm Cortex-R5F processors (SMP is not supported) in the RPU enables developers to meet highly demanding, hard real-time requirements.

You can develop applications independently and program those applications to communicate with each other using inter-processing communication (IPC) options.

You can also apply this AMP method to applications running on the MicroBlaze processors in PL or even in the APU. The following diagram shows an AMP example with applications running on the RPU and the PL without any communication to each other.

Figure 1. AMP Example Using Bare-metal Applications Running in the RPU and PL