ca presentation of multicore processor

25
Multi-core Processors A COMPARATIVE ANALYSIS BETWEEN SINGLE CORE AND MULTI-CORE PROCESSORS

Upload: zeeshan-aslam

Post on 14-Jan-2017

41 views

Category:

Education


4 download

TRANSCRIPT

Page 1: CA presentation of multicore processor

Multi-core ProcessorsA COMPARATIVE ANALYSIS BETWEEN SINGLE CORE AND MULTI-CORE PROCESSORS

Page 2: CA presentation of multicore processor

Outline1.  Introduction

2.  Single Core Performance

3.  Problems with Single Core

4.  Multi-core Solutions

5.  Multi-core Advantages

6.  Other Incentives

7.  Cache Memory in Multi-core Architecture

8.  Problems

9.  Future of Multi-core

Page 3: CA presentation of multicore processor

What is a Core ?◦  A Basic Computational Unit of a CPU.

◦  A Core receives instructions, work on it and give results.

◦  A Core is a collection of components such as  ALU ( Arithmetic and Logic Unit  ), Registers and Cache  memory.

◦  It can run a single thread at a single time. ( Unless it is a Multithreaded Core, which we'll see in a bit ).

◦  A thread is a small group of instructions with its own PC ( Program Counter ). 

Page 4: CA presentation of multicore processor

Single Core Processors

◦    Before the multi-core era, all the processors used to consist of a single core.

◦    A single Core processor is a microprocessor with a single core on the CPU chip.

◦    It can run a single thread at any one time. ( unless Multithreaded ).

◦  With the passage of time the processors became smaller in size, faster and more efficient.

Page 5: CA presentation of multicore processor
Page 6: CA presentation of multicore processor

Single Core Performance◦  Back in that time performance comparisons were based on the clock speeds of the processors.

◦  Performance gains were achieved by increasing the clock rate of the processor.

◦  Higher the clock speed faster the execution of instructions.◦  Apart from clock speed execution optimization and cache were also major areas of performance gains in single core processors.

◦  Several execution optimization techniques were introduced such as pipelining and multithreading.

◦  This trend continued for many years.

Page 7: CA presentation of multicore processor

Single Core Performance contd.◦   Pipelining was introduced for execution optimization.

Page 8: CA presentation of multicore processor

Single Core Performance Contd.◦   Another technique that was introduced was Multithreading.◦   Multithreading involves execution of two separate threads.◦   Time is divided and interlaced between the two threads in order to simulate simultaneous execution.

Page 9: CA presentation of multicore processor

Single Core Problems◦   In order to execute tasks even faster you must increase the clock speed but there is a problem.

◦   The clock speed has reached its limit.

◦   Increasing clock speeds too high increases power consumption and heat dissipation to extremely high levels.

◦   Different designs are needed which is risky and time consuming.

◦   Cost is also a major factor.

Page 10: CA presentation of multicore processor

Multi-core Architecture

Page 11: CA presentation of multicore processor

Multi-core Processors◦   The solution came with the introduction of multicore processors. 

◦   When increasing the clock speed was no longer an option the chip designers came up with 

the idea of incorporating more than one core on a CPU chip to improve performance.

◦  Creating two cores on a single chip increases performance by keeping clock rates at an 

efficient level.

◦   A processor with 2 cores and an efficient clock rate can execute instruction with similar 

speed to a single core processor running at twice the clock rate.

◦   The processor with two cores will consume less energy.

Page 12: CA presentation of multicore processor
Page 13: CA presentation of multicore processor
Page 14: CA presentation of multicore processor

Advantages of Multi-core ◦   Simultaneous Execution

◦   Higher Performance

◦   Instruction Level Parallelism

◦   Lesser Heat Generation

◦   Multithreaded Applications

◦   Thread Level Parallelism

Page 15: CA presentation of multicore processor

Cache memory in Multi-core Architecture◦   The first Level ( L1 ) cache is always dedicated to all cores, because it 

needs to be accessed quickly.

◦   The Last Level of cache is shared between all the cores. ( Usually they 

are L2 or L3 ).

◦   Middle Level Caches can either be shared or merged.

Page 16: CA presentation of multicore processor
Page 17: CA presentation of multicore processor

Problems and Challenges◦   Memory / Cache coherence problem. Because we have separate 

caches for separate core, how to keep data consistent across caches ?

◦   Multithreading is also a problem, because the software running may 

not be designed to take advantage of multicore processor.

◦ This means that a single core does most of the work and the 

processor is running no more efficient than a single core processor.

Page 18: CA presentation of multicore processor

The Cache Coherence Problem

Page 19: CA presentation of multicore processor
Page 20: CA presentation of multicore processor
Page 21: CA presentation of multicore processor
Page 22: CA presentation of multicore processor
Page 23: CA presentation of multicore processor
Page 24: CA presentation of multicore processor

Future of Multi-core Processors◦   The Future Multi-core Processors may be Heterogeneous.

◦   Which means all the cores on the chip could be of different types.

◦   Having different cores that specialized in different tasks increases complexity but has the 

potential of being much more efficient in speed and power consumption.

◦   If an application only needs to run on a specific kind of a core, performance will be better.

Page 25: CA presentation of multicore processor

Thank You.