ca presentation of multicore processor
TRANSCRIPT
Multi-core ProcessorsA COMPARATIVE ANALYSIS BETWEEN SINGLE CORE AND MULTI-CORE PROCESSORS
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
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.