Search code examples
multithreadingmulticorecpu-architectureprocessormicroprocessors

Difference between Chip Multiprocessing and Symmetric Multiprocessing?


In theory chip multiprocessing is a chip where multiple cores are placed on the same silicon chip.

The symmetric multiprocessing concept says that all the cores have the same architecture and use a shared memory.

So are the consumer multicore-processors always as well CMP and SMP systems or do multicore-processors with private only caches also exist(some researches on Google haven't found anything like)


Solution

  • You're mixing shared memory and shared caches. System with no shared cache exists (e.g. - some GPUs), strict private memory is more rare since you can use shared memory and just have distinct ranges. No one is forcing you to share it.

    What makes SMP a true subset of CMP is the symmetry - some CMP systems are heterogeneous - for example the arm little.BIG concept. Some are not.

    Regardless of all that, these definitions aren't written in stone, they only provide some high level taxonomy, but many processors today don't easily fall into such simple (even outdated) criteria, making it less useful to distinguish them.