Multiprocessor system on a chip

A multiprocessor system on a chip (, "" or ) is a system on a chip (SoC) which includes multiple microprocessors. As such, it is a multi-core system on a chip.
MPSoCs are usually targeted for embedded applications. It is used by platforms that contain multiple, usually heterogeneous, processing elements with specific functionalities reflecting the need of the expected application domain, a memory hierarchy and I/O components. All these components are linked to each other by an on-chip interconnect, such as buses and Networks on chip (NoCs). These architectures meet the performance needs of multimedia applications, telecommunication architectures, network security and other application domains while limiting the power consumption through the use of specialised processing elements and architecture.
Structure.
A multiprocessor system on a chip must by definition have multiple processor cores. MPSoCs often contain multiple logically distinct processor modules as well. Additionally, MPSoCs typically contain: 
Applications.
MPSoCs are used when microcontrollers or systems-on-chip must have multiprocessing capabilities. This can include smartphone devices, embedded systems, digital signal processors and other various applications. 
Examples.
This section is a short list of multiprocessor systems-on-chip.
Benchmarks.
MPSoC research and development often compares many options. Benchmarks, such as COSMIC, are developed to help such evaluations.