1. Multicore System :
A processor that has more than one core is called Multicore Processor while one with single core is called Unicore Processor or Uniprocessor. Nowadays, most of systems have four cores (Quad-core) or eight cores (Octa-core). These cores can individually read and execute program instructions, giving feel like computer system has several processors but in reality, they are cores and not processors. Instructions can be calculation, data transferring instruction, branch instruction, etc. Processor can run instructions on separate cores at same time. This increases overall speed of program execution in system. Thus heat generated by processor gets reduced and increases overall speed of execution.
Multicore systems support MultiThreading and Parallel Computing. Multicore processors are widely used across many application domains, including general-purpose, embedded, network, digital signal processing (DSP), and graphics (GPU). Efficient software algorithms should be used for implementation of cores to achieve higher performance. Software that can run parallelly is preferred because we want to achieve parallel execution with the help of multiple cores.
- These cores are usually integrated into single IC (integrated circuit) die, or onto multiple dies but in single chip package. Thus allowing higher Cache Coherency.
- These systems are energy efficient since they allow higher performance at lower energy. A challenge in this, however, is additional overhead of writing parallel code.
- It will have less traffic(cores integrated into single chip and will require less time).
- Dual-core processor do not work at twice speed of single processor. They get only 60-80% more speed.
- Some Operating systems are still using single core processor.
- OS compiled for multi-core processor will run slightly slower on single-core processor.
2. MultiProcessor System :
Two or more processors or CPUs present in same computer, sharing system bus, memory and I/O is called MultiProcessing System. It allows parallel execution of different processors. These systems are reliable since failure of any single processor does not affect other processors. A quad-processor system can execute four processes at a time while an octa-processor can execute eight processes at a time. The memory and other resources may be shared or distributed among processes.
- Since more than one processor are working at the same time, throughput will get increased.
- More reliable since failure in one CPU does not affect other.
- It needs little complex configuration.
- Parallel processing (more than one process executing at same time) is achieved through MultiProcessing.
- It will have more traffic (distances between two will require longer time).
- Throughput may get reduced in shared resources system where one processor using some I/O then another processor has to wait for its turn.
- As more than processors are working at particular instant of time. So, coordination between these is very complex.
Difference between MultiCore and MultiProcessor System :
|1.||A single CPU or processor with two or more independent processing units called cores that are capable of reading and executing program instructions.||A system with two or more CPU’s that allows simultaneous processing of programs.|
|2.||It executes single program faster.||It executes multiple programs Faster.|
|3.||Not as reliable as multiprocessor.||More reliable since failure in one CPU will not affect other.|
|4.||It has less traffic.||It has more traffic.|
|5.||It does not need to be configured.||It needs little complex configuration.|
|6.||It’s very cheaper (single CPU that does not require multiple CPU support system).||It is Expensive (Multiple separate CPU’s that require system that supports multiple processors) as compared to MultiCore.|
- Only common thing between MutliCore and MultiProcessor is to increase processing speed.
- Cost of Multicore system is lesser compared to cost of multiprocessor system because of use of more physical processors in multiprocessor system.
- If you want to run single program then multicore system will be faster. But if you are running multiple programs then multiprocessor system will be faster.
- Modern computers have multiple CPUs each with multiple cores.
Attention reader! Don’t stop learning now. Get hold of all the important CS Theory concepts for SDE interviews with the CS Theory Course at a student-friendly price and become industry ready.