The software for MPSoC needs to be considered from the following three viewpoints: the programmer’s viewpoint, the software architecture and design reuse viewpoint, and the optimization viewpoint.
1.7.1. Programmer’s Viewpoint
From the viewpoint of the application programmer, an MPSoC provides a parallel architecture that consists of processors connected with each other via a communication network. Thus, to exploit the parallel architecture, parallel programming is required. Conventionally, there are two types of parallel programming model: shared-memory programming and message-passing programming. OpenMP and message-passing interface (MPI) are examples, respectively.
When using conventional parallel programming models for SoC, ...