Multi-core systems are computer systems in which two or more processors share the bus, memory and other peripheral devices. To make effective use of multi-core processors, the operating system must break the workload into small threads of execution, which can be dispatched to the individual cores. Most modern operating systems are appropriately multi-threaded.
A multi-core integrated circuits has two or more general purpose processors, but may also contain some number of digital signal processors. For manufacturing reasons, the number of each kind of processor is usually a multiple of 2.
Two- and four-core chips are now at the home PC level. Experimental integrated circuits have been built with 80 or more.
- Increased throughput: With more than one processor, a system can go through more instructions in less time. However, a system with N processors will not have a speed up ratio of N because of the overhead incurred to keep its parts working properly and the contention for shared resources.
- Energy efficiency: multi-core processors generally need less electrical power than multiple single-core processors, as there is less resistive loss on shorter power transmission paths.
- Cost: Having a multi-core system is cheaper than having many single core systems because the multi cores share resources.
- Reliability:- Multi-core systems can more reliable because in the event that one of the cores malfunctions, the system may be able to continue running on the remaining cores. A failure that affects the overall integrated circuit, however, can bring down all cores.