What is a Multicore Processor and Manycore Processor ?

Mutilcore Processor: A multi-core processor is a single computing component with two or more independent actual processing units (called “cores”), which are units that read and execute program instructions. The instructions are ordinary CPU instructions (such as add, move data, and branch), but the single processor can run multiple instructions on separate cores at the same time, increasing overall speed for programs amenable to parallel computing. Below is a sample diagram of the multicore architecture.

                                                 

Examples: AMD (A-Series,Athlon II,FX-Series,Phenom,Epyc); IBM(POWER 4, POWER 5, POWER 6), Intel (Core 2 Duo, Core i3, Core i5, Core i7)

Manycore ProcessorManycore processors are specialist multi-core processors designed for a high degree of parallel processing, containing a large number of simpler, independent processor cores (e.g. 10s, 100s, or 1,000s). Manycore processors are used extensively in embedded computers and high-performance computing.

Examples: Sunway TahiuLight (Chinese Supercomputer), GPU’s, Intel Xeon Phi, Tilera, Teraflops Research Chip, etc.

Difference between a CPU and GPU

Related image

A Central Processing Unit (CPU) is a general purpose processor – it can in principle do any computation, but not necessarily in an optimal fashion for any given computation. One can do graphics processing on a CPU – but it likely will not produce the result anywhere nearly as fast as a properly programmed GPU.

(CPU) MIMD: The MIMD architecture performs multiple actions simultaneously on numerous data pieces. One example is performing various mathematical calculations — such as addition and multiplication — simultaneously in order to solve a complex math problem with many separate components. MIMD computing may or may not be synchronized and is increasingly more common than SIMD computing.

A Graphical Processing Unit (GPU) is a special purpose processor, optimized for calculations commonly (and repeatedly) required for Computer Graphics, particularly SIMD operations.

(GPU) SIMD: The SIMD architecture performs a single, identical action simultaneously on multiple data pieces, including retrieving, calculating or storing information. One example is retrieving multiple files at the same time. Processors with local memory containing different data execute the same instruction in a synchronized fashion, with inter-processor communication for shift allocation.

Practical Differences: MIMD is frequently used for problems that break down algorithms into separate and independent parts, with each part assigned to a different processor for simultaneous solution; whereas, SIMD is typically used for problems requiring lots of computations with processors performing the same operation in parallel.