First, let's get our terminology straight. A multi-core design is a single chip with multiple CPUs inside it, with at least some memory shared between the cores:
Multi-core parts span a very broad range, from the larger, 64-bit parts that have multiple identical CPU cores to the ARM big.LITTLE architecture, which incorporates both high-bandwidth CPUs and power-conscious MCUs in the same package. Recently, multi-core MCUs have also become more commonly available. Graphics processing units (GPUs) can also be grouped into the multi-core category.
A multi-processor system is one where there are multiple processor chips in the design. For the purposes of our discussions here, these chips can reside on the same printed circuit board assembly (PCBA) or different PCBAs distributed throughout a larger system:
Both multi-core and...