Multicore Processors

The performance of microprocessors has been increasing exponentially by faster processor and memory chips as well as increasing number of the resources in the system. Although the techniques to accelerate single processor do not bring much performance gain with excessive power consumption and high design complexity, chip multiprocessors (CMPs), which have multiple cores in a single chip, yield high performance by the execution of multiple concurrent software processes in the system in a power and area efficient way. Replacing a large processor with several small processors in a single die has been proven successful in multicore architectures. In these architectures, one small core works slowly than one large core but overall throughput of the system becomes much higher by simultaneous execution of several cores in the same chip size. The communication overhead resulted from the execution of multiple threads at different cores is minimized in the shared-memory CMP architectures. While the distinct threads are executed in distinct processors in a distributed multiprocessor system which causes high latency due to inter-thread communications, there is not much performance decrease due to communication delays in a chip multiprocessor system which has several cores in the same chip. With these several advantages, multicores have been accepted as the most promising architecture for higher performance.