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.
- Difference between Loosely Coupled and Tightly Coupled Multiprocessor System
- Challanges in programming for Multicore system
- Difference between Management Information System (MIS) and Decision Support System (DSS)
- Difference between Open-Loop Control System and Closed-Loop Control System
- Difference between Local File System (LFS) and Distributed File System (DFS)
- Allocating kernel memory (buddy system and slab system)
- Traps and System Calls in Operating System (OS)
- System Protection in Operating System
- User View Vs Hardware View Vs System View of Operating System
- System Programs in Operating System
- File System Implementation in Operating System
- Xv6 Operating System -adding a new system call
- Difference between FAT32, exFAT, and NTFS File System
- Difference between Traditional and Reactive Computer System
- Difference Between Digital And Analog System
- Difference between System Unit and CPU
- Difference between Unit Testing and System Testing
- Difference between System Software and Application Software
- Difference between Operating System and Kernel
- Difference between Application Software and Operating System
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.