Multi-core Processors
A COMPARATIVE ANALYSIS BETWEEN SINGLE CORE AND MULTI-CORE
PROCESSORS
Outline
1. 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
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 ).
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.
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.
Single Core Performance contd.
◦ Pipelining was introduced for execution optimization.
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.
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.
Multi-core Architecture
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.
Advantages of Multi-core
◦ Simultaneous Execution
◦ Higher Performance
◦ Instruction Level Parallelism
◦ Lesser Heat Generation
◦ Multithreaded Applications
◦ Thread Level Parallelism
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.
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.
The Cache Coherence Problem
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.
Thank You.

CA presentation of multicore processor

  • 1.
    Multi-core Processors A COMPARATIVEANALYSIS BETWEEN SINGLE CORE AND MULTI-CORE PROCESSORS
  • 2.
    Outline 1. Introduction 2. SingleCore 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
  • 3.
    What is aCore ? ◦ 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 ).
  • 4.
    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.
  • 6.
    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.
  • 7.
    Single Core Performancecontd. ◦ Pipelining was introduced for execution optimization.
  • 8.
    Single Core PerformanceContd. ◦ 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.
  • 9.
    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.
  • 10.
  • 11.
    Multi-core Processors ◦ Thesolution 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.
  • 14.
    Advantages of Multi-core ◦Simultaneous Execution ◦ Higher Performance ◦ Instruction Level Parallelism ◦ Lesser Heat Generation ◦ Multithreaded Applications ◦ Thread Level Parallelism
  • 15.
    Cache memory inMulti-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.
  • 17.
    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.
  • 18.
  • 24.
    Future of Multi-coreProcessors ◦ 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.
  • 25.