Difference Between Multicore and Multiprocessor

The main difference between multicore and multiprocessor is that the multicore refers to a single CPU with multiple execution units while the multiprocessor refers to a system that has two or more CPUs.

Multicores have multiple cores or processing units in a single CPU. A multiprocessor contains multiple CPUs. Both multicore and multiprocessors help to speed up the computing process. A multicore does not require complex configurations like a multiprocessor. On the other hand, a multiprocessor is more reliable and capable of executing multiple programs. In brief, a multicore has a single CPU whereas a multiprocessor has many CPUs.

Key Areas Covered

1. What is Multicore
     – Definition, Functionality
2. What is Multiprocessor
     – Definition, Functionality
3. What is the Relationship Between Multicore and Multiprocessor
     – Outline of Association
4. What is the Difference Between Multicore and Multiprocessor
     – Comparison of Key Differences

Key Terms

Multicore, Multiprocessor, Operating SystemDifference Between Multicore and Multiprocessor - Comparison Summary

What is Multicore

The CPU (Central Processing Unit) or the processor is the brain of the computer. It handles all the functionalities of the other components. The execution unit of the CPU is called the core. It reads and executes instructions. The instructions can be a calculation, a data transferring instruction, branch instruction, etc.  A CPU with a single core is called a uniprocessor. When a system has more than one core, it is called a multicore. A CPU with two cores is called a dual-core processor while a processor with four cores is called a quad-core processor. Moreover, high-performance computers can have six to eight cores.

Difference Between Multicore and Multiprocessor

Figure 1: Multicore

The main advantage of a multicore is that it is capable of executing multiple instructions simultaneously on separate cores. It increases the overall speed and also implements parallel computing. Overall, multicore is used for applications such as embedded systems, networking, Digital Signal Processing (DSP) and graphics (GPU).

What is Multiprocessor

A multiprocessor has two or more CPUs or processors. These systems execute multiple instructions at the same time. Therefore, it increases throughput. If one processor fails, it will not affect the functioning of the other processors. Therefore, multiprocessors are more reliable.

Main Difference - Multicore vs Multiprocessor

Figure 2: Symmetric Multiprocessor

Multiprocessor systems can use shared memory or distributed memory. In a shared memory multiprocessor, each CPU shares main memory and peripherals to execute instructions at the same time. In these type of systems, all the CPUs use the same bus to access the main memory. It offers a single memory space for all the CPUs. Most CPUs will be idle as there is more traffic to access the bus. These multiprocessors are also called symmetric multiprocessors.

In distributed memory multiprocessors, each CPU has their private memory. Every CPU can operate on local data to perform computational tasks. If the remote data is required, the CPU can communicate with other CPUs or access the main memory via the bus.

Relationship Between Multicore and Multiprocessor

Latest computers have multiple CPUs each with multiple cores to read and execute several instructions at a time.

Difference Between Multicore and Multiprocessor

Definition

A multicore is a single CPU or processor with two or more independent processing units called cores that are capable of reading and executing program instructions. Multiprocessor is a system with two or more CPUs that allows simultaneous processing of programs.

Execution

Multicore executes a single program faster. On the other hand, multiprocessor executes multiple programs faster.

Reliability

Multiprocessor systems are more reliable than multicore systems. A multiprocessor has more CPUs. Failure in one will not affect the other CPUs. It is more tolerant to faults.

Traffic

The multicore systems have less traffic compared to a multiprocessor because all the cores are integrated into a single chip.

Conclusion

The difference between multicore and multiprocessor is that multicore refers to a single CPU with multiple execution units while multiprocessor refers to a system that has two or more CPUs. Modern computers have multiple CPUs each with multiple cores.

Reference:

1. “Multi-Core Processor.” Wikipedia, Wikimedia Foundation, 25 July 2018, Available here.

Image Courtesy:

1. “Cc-NUMA Multi-Core” By Ferry24.Milan – Own work (CC BY-SA 3.0) via Commons Wikimedia
2. “SMP – Symmetric Multiprocessor System” By Ferry24.Milan – Own work (CC BY-SA 3.0) via Commons Wikimedia

About the Author: Lithmee

Lithmee holds a Bachelor of Science degree in Computer Systems Engineering and is reading for her Master’s degree in Computer Science. She is passionate about sharing her knowldge in the areas of programming, data science, and computer systems.

Leave a Reply