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: 

 Memory blocks, often using scratchpad RAM and direct memory access 

timing sources to generate clock signals to control execution of SoC functions
crystal oscillators and phase-locked loops are popular clock generators.
 peripherals including counters and power-on reset generators
 external interfaces, typically for communication protocols
 These are often based upon industry standards such as USB, FireWire, Ethernet, USART, SPI, HDMI, I²C, etc.
 each interface is typically to one given core or logical unit on the MPSoC
a network on a chip (NoC) to communicate and share data between the processors and functional units of the MPSoC

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.

Raspberry Pi 2 and later
CELL processor
Adapteva's Epiphany architecture

Design considerations

Benchmarks
MPSoC research and development often compares many options. Benchmarks, such as COSMIC, are developed to help such evaluations.

See also

System on a chip, of which an MPSoC is a subtype.
Manycore processor
Parallel computing
Programmable system on a chip (PSoc)
ARM big.LITTLE co-architecture
Hardware acceleration

References

External links
 MPSoC - Annual Conference on MPSoC
 Annual Symposium

Microprocessors
System on a chip