A multiprocessor system on a chip ( (), ˌɛmˌpiː'sɒk or ˌɛmˌpiːˌɛsˌoʊˈsiː ) 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.
System on a chip#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, I2C, 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
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.
This section is a short list of multiprocessor systems-on-chip.
Cell processor
Adapteva's Epiphany architecture
Xilinx Zynq UltraScale
MPSoC research and development often compares many options.