Difference Between Multicore and Multiprocessor System

Learn via video courses
Topics Covered

Overview

Multicore systems have a single processor with multiple processing units. These processing units are termed cores. On the other hand, multiprocessor systems have two or more processors. A multiprocessor system is much more reliable than a multicore system but a multiprocessor system has a complex configuration compared to a multicore system. Both multicore processors and multiprocessors are used to speeding up the computing process of the system.

What is Multicore

As we all know, the processor/CPU is the computer's brain, and it is responsible for all of the computer's functions. The CPU's execution unit is referred to as the core. The core's primary function is to read and execute instructions. These instructions can be of several forms, including calculation, data transmission, branching, etc.

A processor with a single core is called a Unicore processor. But a processor with two or more cores is called a multicore processor. The cores of a multicore processor can individually read and execute program instructions simultaneously. This increases the speed of execution of the programs and supports parallel computing. Eg: Quadcore processors, `Octacore processors, etc.

Multicore processors are used in applications such as networking, embedded systems, digital signal processing (DSP) and graphics (GPU).

difference between multicore and unicore processor Difference between multicore and unicore processor

Advantages of Multicore

The advantages of multicore processors are:

  • More work can be done on multicore processors compared to unicore processors.
  • The cores of multicore processors are present on a single integrated chip. As a result, the clock speed of the system increases.
  • Multicore processors can tolerate faults to a greater extent compared to a unicore processor.
  • The programs are allotted different cores but they are still able to interact with each other.
  • Multicore processors provide higher performance at lower energy and hence they are energy efficient.
  • Multicore processors have less traffic.

Disadvantages of Multicore

The disadvantages of multicore processors are:

  • Even though multiple cores are present in a multicore processor, the speed does not increase significantly compared to simple processors.
  • Increasing the number of cores will increase software interferences that are caused due to resource sharing.
  • The processor produces significant heat while multitasking.
  • Multicore processors have higher power consumption.

What is Multiprocessor

Multiprocessor systems have two or more processors. The processors of a multiprocessor system share the same memory, a system bus (a pathway that connects the major components of a computer system to carry data and information), and I/O devices. Multiprocessors can execute multiple instructions simultaneously. Failure of one processor will not affect the functioning of other processors. As a result, multiprocessors are more reliable.

Multiprocessor systems can use shared memory or distributed memory. In a shared memory multiprocessor, each processor shares main memory and I/O devices. The processors can access the main memory using the same system bus. Multiprocessors that use shared memory are also called symmetric multiprocessors.

Each processor in a distributed memory multiprocessor has its own private memory where computation takes place. The system bus allows the processors to communicate with each other and access the main memory.

Multiprocessor system

A multiprocessor with multiple processors connected to the main memory and I/O via the system bus.

Advantages of Multiprocessor

The advantages of the multiprocessor system are:

  • Since multiple processors are working simultaneously, the throughput of the system increases.
  • Multiprocessor systems are more reliable as the failure of one processor will not affect the others.
  • Since multiple processes are executed parallelly on different processors, therefore parallel processing is achieved.

Disadvantages of Multiprocessor

The disadvantages of the multiprocessor system are:

  • The coordination between the processors of a multiprocessor system is quite complex.
  • All the processors use a common I/O device. So if a process is using I/O then other processes have to wait for its turn. As a result, the throughput of the system might decrease.
  • Since all the processors use the same memory, therefore a large pool of main memory is required for efficient computation.
  • Multiprocessor systems are expensive compared to multicore systems.

What is the Relation Between Multicore and Multiprocessor?

Both multicore processors and multiprocessors are used to increase the performance of the computer through multitasking and parallel computing. Modern computers have multiple processors and each processor has multiple cores present in it. These cores can read and execute multiple instructions at a time.

What is the Difference Between Multicore and Multiprocessor?

The differences between multicore and multiprocessor systems are:

MulticoreMultiprocessor
A multicore processor has a single processor with multiple cores that read and execute instructions.A Multiprocessor has two or more processors that allow simultaneous processing of programs.
Multicore executes a single program faster.Multiprocessor executes multiple programs faster.
Multicore processors are not as reliable as multiprocessors.Multiprocessors are more reliable as multiple processors are available and failure of one processor will not affect the others.
Multicore has a simple configuration.Multiprocessor requires complex configuration.
Multicore has less traffic.Multiprocessor has more traffic.
Multicore is cheap as there is a single processor.Multiprocessor is expensive compared to multicore.

Multicore processor and Multiprocessor system

Conclusion

  • Both multicore and multiprocessor are used to increase the speed of computation of programs.
  • A multicore system has a single processor with multiple execution units called cores while a multiprocessor system has two or more processors.
  • Multiprocessors are more reliable compared to multicore processors but the multicore processor has less traffic compared to multiprocessors.
  • A multicore system is more efficient for executing a single program while a multiprocessor is more efficient for executing multiple programs simultaneously.
  • Modern computers have multiple processors and each processor contains multiple cores.