MULTI CORE POCESSOR
Introduction:
What is Processor?
A processor is the logic circuitry that responds to and
processes the basic instructions that drive a
computer. The term processor has generally replaced
the term central processing unit (CPU).
The processor in a personal computer or embedded
in small devices is often called a microprocessor.
What Is Core?
 Actually, a CORE is the part of something that is
central to its existence or character.
 Similarly, in computer system the CPU is referred
as CORE.
 Basically, there are two types of core processor:
1. Single Core Processor
2. Multi Core Processor
Single Core
It is a processor that has only
one core, so it can only
start one operation at a
time. It can however in
some situations start a new
operation before the
previous one is complete.
Originally all processors
were single core. Examples
are Intel Pentium 4 670,
AMD Athlon 64 FX-55.
Multicore
Also called multicore technology, it is a type of
architecture where a single physical processor
contains the core logic of two or more processors.
These processors are packaged into a single
integrated circuit (IC). Examples are Intel core i7,
intel core 2 duo.
Processor consists:
A single chip package that fits in a socket
Cores can have functional units, cache, etc.
associated with them, just as today
Cores can be fast or slow, just as today
Shared resources
 More cache
 Other integration: Northbridge, memory controllers, high-speed
serial links, etc.
One system interface for System Bus and System Memory
Problems with Single Core
a. To execute the tasks faster you must increase the clock
time.
b. Increasing clock times too high drastically increases power
consumption and heat dissipation to extremely high
levels, making the processor inefficient.
Multi Core solution
Creating two cores or more on the same Die
increases processing power while keeping
clock speeds at an efficient level.
A processor with 2 cores running at efficient
clock speeds can process instructions with
similar speed to a single core processor
running at twice the clock speed, yet the
dual core processor would still consume less
energy.
Need for Multi-Core
 For over 30 years the performance of processors has doubled every 2
years
 Driven mainly by shrinkage of circuits
 Smaller circuits
 more transistors per chip
 shorter connections
 lower capacitance
 Smaller circuits go faster
 In early 2000s the rate started to decrease
• In the early 1970’s the first
Microprocessor was developed by
Intel.
• It was a 4 bit machine that was
named the 4004.
• The 4004 was followed by Intel’s
8008 and 8080, as well as motorola’s
6800 and 68000.
Origination of Multicore
Multi-Core Computer
 A multi-core processor is a processing system composed of
two or more independent cores (or CPUs). The cores are
typically integrated onto a single integrated circuit die
(known as a chip multiprocessor or CMP), or they may be
integrated onto multiple dies in a single chip package.
 A many-core processor is one in which the number of
cores is large enough that traditional multi-processor
techniques are no longer efficient - this threshold is
somewhere in the range of several tens of cores - and likely
requires a network on chip.
Multi-Core Computer
 dual-core processor contains two independent
microprocessors.
 A dual core set-up is somewhat comparable to
having multiple, separate processors installed
in the same computer, but because the two
processors are actually plugged into the same
socket, the connection between them is faster.
Ideally, a dual core processor is nearly twice
as powerful as a single core processor. In
practice, performance gains are said to be
about fifty percent: a dual core processor is
likely to be about one-and-a-half times as
powerful as a single core processor.
Multi-Core Computer
 A multi-core processor implements multiprocessing in a single
physical package. Cores in a multi-core device may be coupled
together tightly or loosely. For example, cores may or may not
share caches, and they may implement message passing or
shared memory inter-core communication methods. Common
network topologies to interconnect cores include: bus, ring, 2-
dimentional mesh, and crossbar.
 All cores are identical in symmetric multi-core systems and they
are not identical in asymmetric multi-core systems. Just as with
single-processor systems, cores in multi-core systems may
implement architectures such as superscalar, vector processing,
or multithreading.
Growth
With each new generation of processors there
were several developments such as:
Smaller size
Faster
Increased heat dissipation
Greater Consumption of power
Motivation
Multi-Core Advantages
 While working with many threads, a Multi Core processor
with n cores can execute n threads simultaneously by
assigning a core to each thread. If it must process more
than n threads , say x, it can apply multithreading
procedures with each core working with an average of x/n
threads.
 A Single core processor must multithread with every single
thread.
Properties of Multi-core systems
 Cores will be shared with a wide range of other applications dynamically.
 Load can no longer be considered symmetric across the cores.
 Cores will likely not be asymmetric as accelerators become common for scientific hardware.
 Source code will often be unavailable, preventing compilation against the specific hardware
configuration.
What applications benefit
from multi-core?
 Database servers
 Web servers
 Telecommunication markets
 Multimedia applications
 Scientific applications
 In general, applications with Thread-level parallelism (as opposed to instruction-level
parallelism)
Multi-core architectures
 Replicate multiple processor cores on a single die.
 The cores fit on a single processor socket.
The cores run in parallel
(like on a uniprocessor)
c
o
r
e
1
c
o
r
e
2
c
o
r
e
3
c
o
r
e
4
several
threads
several
threads
several
threads
several
threads
Programming for multi-core
 Programmers must use threads or processes.
 Spread the workload across multiple cores.
 Write parallel algorithms.
 OS will map threads/processes to cores
Interaction with OS
Most major OS support multi-core today.
OS perceives each core as a separate
processor.
OS scheduler maps threads/processes
to different cores.
Examples
 Editing a photo while recording a TV show through a
digital video recorder.
 Downloading software while running an anti-virus
program.
 “Anything that can be threaded today will map
efficiently to multi-core”.
 BUT: some applications difficult to parallelize.
Why Multi-core?
 Better Performance
For the Multi tasking
e.g. Burning CD with graphic works at the
same time
 Power consumption and Heat generation Caused from
the advance of CPU clock speed
Why Multi-core?
 Save the room of motherboard
Two single cores → In one die
 We can use this room more efficiently
 Simplicity
We need additional systems to control the several
single cores.
 Economical efficiency
 A dual-core is much cheaper than two single cores
Multicore Organization
 Number of core processors on chip
 Number of levels of cache on chip
 Amount of shared cache
 Next slide examples of each organization:
 (a) ARM11 MPCore
 (b) AMD Opteron
 (c) Intel Core Duo
 (d) Intel Core i7
Future of Multi Core
 Current debates argue over whether future multi core processors should be
homogenous or heterogenous.
 That is, should all the cores be the same or should there be a mix of different
types?
Future continued
 Having all cores be the same makes production easier and keeps its
complexity to a minimum.
 Having different cores that are specialized in specific tasks increases
complexity but has the potential to be much more efficient in speed and
power consumption.
Challenges resulting from multi-core
 Relies on effective exploitation of multiple-thread parallelism
 Need for parallel computing model and parallel programming model
 Aggravates memory wall
 Memory bandwidth
▪ Way to get data out of memory banks
▪ Way to get data into multi-core processor array
 Memory latency
 Fragments L3 cache
 Pins become strangle point
▪ Rate of pin growth projected to slow and flatten
▪ Rate of bandwidth per pin (pair) projected to grow slowly
 Requires mechanisms for efficient inter-processor coordination
 Synchronization
 Mutual exclusion
 Context switching
 Ability of multi-core processors to increase application performance depends on the use
of multiple threads within applications.
 Most Current video games will run faster on a 3 GHz single-core processor than on a
2GHz dual-core processor of the same core architecture.
 Two processing cores sharing the same system bus and memory bandwidth limits the
real-world performance advantage.
 If a single core is close to being memory bandwidth limited, going to dual-core might
only give 30% to 70% improvement.
 If memory bandwidth is not a problem, a 90% improvement can be expected.
Advantages of Multi-core
 Cache coherency circuitry can operate at a much higher clock rate
than is possible if the signals have to travel off-chip.
 Signals between different CPUs travel shorter distances, those
signals degrade less.
 These higher quality signals allow more data to be sent in a given
time period since individual signals can be shorter and do not need
to be repeated as often.
 A dual-core processor uses slightly less power than two coupled
single-core processors.
Conclusion
 All computers are now parallel computers!
 Multi-core processors represent an important new trend in computer architecture.
 Decreased power consumption and heat generation.
 Minimized wire lengths and interconnect latencies.
 They enable true thread-level parallelism with great energy efficiency and scalability.
 To utilize their full potential, applications will need to move from a single to a multi-
threaded model.
 Parallel programming techniques likely to gain importance.
• the difficult problem is not building multi-core hardware,
but programming it in a way that lets mainstream
applications benefit from the continued exponential growth
in CPU performance.
 the software industry needs to get back into the state where existing applications run faster
on new hardware.
References
 http://en.wikipedia.org/wiki/Multi-core_(computing)
 Olukotun, Kunle and Hammond, Lance. The future of
microprocessors.Queue, Volume 3, Issue 7, September 2005.
 www.princeton.edu/~jdonald/research/hyperthreading/garg_report.pdf
 Zheltov, Sergey N. and Bratanov, Stanislav V. Multi-threading for
Experts: Synchronization. Technical Report. Intel. 2005.
(WWWdocument, referenced 17.11.2005). Available:
http://www.intel.com/cd/ids/developer/asmo-na/eng/183321.htm
 http://www.intel.com/multi-core/
 http://www.faqs.org/patents/app/20090055826
 http://www.csa.com/discoveryguides/multicore/review2.php?S
ID=s0s5lp3hcg6fa6pf2ba28u84d0
Multicore processor by Ankit Raj and Akash Prajapati

Multicore processor by Ankit Raj and Akash Prajapati

  • 1.
  • 2.
    Introduction: What is Processor? Aprocessor is the logic circuitry that responds to and processes the basic instructions that drive a computer. The term processor has generally replaced the term central processing unit (CPU). The processor in a personal computer or embedded in small devices is often called a microprocessor.
  • 3.
    What Is Core? Actually, a CORE is the part of something that is central to its existence or character.  Similarly, in computer system the CPU is referred as CORE.  Basically, there are two types of core processor: 1. Single Core Processor 2. Multi Core Processor
  • 4.
    Single Core It isa processor that has only one core, so it can only start one operation at a time. It can however in some situations start a new operation before the previous one is complete. Originally all processors were single core. Examples are Intel Pentium 4 670, AMD Athlon 64 FX-55.
  • 5.
    Multicore Also called multicoretechnology, it is a type of architecture where a single physical processor contains the core logic of two or more processors. These processors are packaged into a single integrated circuit (IC). Examples are Intel core i7, intel core 2 duo.
  • 6.
    Processor consists: A singlechip package that fits in a socket Cores can have functional units, cache, etc. associated with them, just as today Cores can be fast or slow, just as today Shared resources  More cache  Other integration: Northbridge, memory controllers, high-speed serial links, etc. One system interface for System Bus and System Memory
  • 7.
    Problems with SingleCore a. To execute the tasks faster you must increase the clock time. b. Increasing clock times too high drastically increases power consumption and heat dissipation to extremely high levels, making the processor inefficient.
  • 8.
    Multi Core solution Creatingtwo cores or more on the same Die increases processing power while keeping clock speeds at an efficient level. A processor with 2 cores running at efficient clock speeds can process instructions with similar speed to a single core processor running at twice the clock speed, yet the dual core processor would still consume less energy.
  • 9.
    Need for Multi-Core For over 30 years the performance of processors has doubled every 2 years  Driven mainly by shrinkage of circuits  Smaller circuits  more transistors per chip  shorter connections  lower capacitance  Smaller circuits go faster  In early 2000s the rate started to decrease
  • 10.
    • In theearly 1970’s the first Microprocessor was developed by Intel. • It was a 4 bit machine that was named the 4004. • The 4004 was followed by Intel’s 8008 and 8080, as well as motorola’s 6800 and 68000. Origination of Multicore
  • 11.
    Multi-Core Computer  Amulti-core processor is a processing system composed of two or more independent cores (or CPUs). The cores are typically integrated onto a single integrated circuit die (known as a chip multiprocessor or CMP), or they may be integrated onto multiple dies in a single chip package.  A many-core processor is one in which the number of cores is large enough that traditional multi-processor techniques are no longer efficient - this threshold is somewhere in the range of several tens of cores - and likely requires a network on chip.
  • 12.
    Multi-Core Computer  dual-coreprocessor contains two independent microprocessors.  A dual core set-up is somewhat comparable to having multiple, separate processors installed in the same computer, but because the two processors are actually plugged into the same socket, the connection between them is faster. Ideally, a dual core processor is nearly twice as powerful as a single core processor. In practice, performance gains are said to be about fifty percent: a dual core processor is likely to be about one-and-a-half times as powerful as a single core processor.
  • 13.
    Multi-Core Computer  Amulti-core processor implements multiprocessing in a single physical package. Cores in a multi-core device may be coupled together tightly or loosely. For example, cores may or may not share caches, and they may implement message passing or shared memory inter-core communication methods. Common network topologies to interconnect cores include: bus, ring, 2- dimentional mesh, and crossbar.  All cores are identical in symmetric multi-core systems and they are not identical in asymmetric multi-core systems. Just as with single-processor systems, cores in multi-core systems may implement architectures such as superscalar, vector processing, or multithreading.
  • 14.
    Growth With each newgeneration of processors there were several developments such as: Smaller size Faster Increased heat dissipation Greater Consumption of power
  • 15.
  • 16.
    Multi-Core Advantages  Whileworking with many threads, a Multi Core processor with n cores can execute n threads simultaneously by assigning a core to each thread. If it must process more than n threads , say x, it can apply multithreading procedures with each core working with an average of x/n threads.  A Single core processor must multithread with every single thread.
  • 17.
    Properties of Multi-coresystems  Cores will be shared with a wide range of other applications dynamically.  Load can no longer be considered symmetric across the cores.  Cores will likely not be asymmetric as accelerators become common for scientific hardware.  Source code will often be unavailable, preventing compilation against the specific hardware configuration.
  • 18.
    What applications benefit frommulti-core?  Database servers  Web servers  Telecommunication markets  Multimedia applications  Scientific applications  In general, applications with Thread-level parallelism (as opposed to instruction-level parallelism)
  • 19.
    Multi-core architectures  Replicatemultiple processor cores on a single die.  The cores fit on a single processor socket.
  • 20.
    The cores runin parallel (like on a uniprocessor) c o r e 1 c o r e 2 c o r e 3 c o r e 4 several threads several threads several threads several threads
  • 21.
    Programming for multi-core Programmers must use threads or processes.  Spread the workload across multiple cores.  Write parallel algorithms.  OS will map threads/processes to cores
  • 22.
    Interaction with OS Mostmajor OS support multi-core today. OS perceives each core as a separate processor. OS scheduler maps threads/processes to different cores.
  • 23.
    Examples  Editing aphoto while recording a TV show through a digital video recorder.  Downloading software while running an anti-virus program.  “Anything that can be threaded today will map efficiently to multi-core”.  BUT: some applications difficult to parallelize.
  • 24.
    Why Multi-core?  BetterPerformance For the Multi tasking e.g. Burning CD with graphic works at the same time  Power consumption and Heat generation Caused from the advance of CPU clock speed
  • 25.
    Why Multi-core?  Savethe room of motherboard Two single cores → In one die  We can use this room more efficiently  Simplicity We need additional systems to control the several single cores.  Economical efficiency  A dual-core is much cheaper than two single cores
  • 27.
    Multicore Organization  Numberof core processors on chip  Number of levels of cache on chip  Amount of shared cache  Next slide examples of each organization:  (a) ARM11 MPCore  (b) AMD Opteron  (c) Intel Core Duo  (d) Intel Core i7
  • 28.
    Future of MultiCore  Current debates argue over whether future multi core processors should be homogenous or heterogenous.  That is, should all the cores be the same or should there be a mix of different types?
  • 29.
    Future continued  Havingall cores be the same makes production easier and keeps its complexity to a minimum.  Having different cores that are specialized in specific tasks increases complexity but has the potential to be much more efficient in speed and power consumption.
  • 30.
    Challenges resulting frommulti-core  Relies on effective exploitation of multiple-thread parallelism  Need for parallel computing model and parallel programming model  Aggravates memory wall  Memory bandwidth ▪ Way to get data out of memory banks ▪ Way to get data into multi-core processor array  Memory latency  Fragments L3 cache  Pins become strangle point ▪ Rate of pin growth projected to slow and flatten ▪ Rate of bandwidth per pin (pair) projected to grow slowly  Requires mechanisms for efficient inter-processor coordination  Synchronization  Mutual exclusion  Context switching
  • 31.
     Ability ofmulti-core processors to increase application performance depends on the use of multiple threads within applications.  Most Current video games will run faster on a 3 GHz single-core processor than on a 2GHz dual-core processor of the same core architecture.  Two processing cores sharing the same system bus and memory bandwidth limits the real-world performance advantage.  If a single core is close to being memory bandwidth limited, going to dual-core might only give 30% to 70% improvement.  If memory bandwidth is not a problem, a 90% improvement can be expected.
  • 32.
    Advantages of Multi-core Cache coherency circuitry can operate at a much higher clock rate than is possible if the signals have to travel off-chip.  Signals between different CPUs travel shorter distances, those signals degrade less.  These higher quality signals allow more data to be sent in a given time period since individual signals can be shorter and do not need to be repeated as often.  A dual-core processor uses slightly less power than two coupled single-core processors.
  • 33.
    Conclusion  All computersare now parallel computers!  Multi-core processors represent an important new trend in computer architecture.  Decreased power consumption and heat generation.  Minimized wire lengths and interconnect latencies.  They enable true thread-level parallelism with great energy efficiency and scalability.  To utilize their full potential, applications will need to move from a single to a multi- threaded model.  Parallel programming techniques likely to gain importance. • the difficult problem is not building multi-core hardware, but programming it in a way that lets mainstream applications benefit from the continued exponential growth in CPU performance.  the software industry needs to get back into the state where existing applications run faster on new hardware.
  • 34.
    References  http://en.wikipedia.org/wiki/Multi-core_(computing)  Olukotun,Kunle and Hammond, Lance. The future of microprocessors.Queue, Volume 3, Issue 7, September 2005.  www.princeton.edu/~jdonald/research/hyperthreading/garg_report.pdf  Zheltov, Sergey N. and Bratanov, Stanislav V. Multi-threading for Experts: Synchronization. Technical Report. Intel. 2005. (WWWdocument, referenced 17.11.2005). Available: http://www.intel.com/cd/ids/developer/asmo-na/eng/183321.htm  http://www.intel.com/multi-core/  http://www.faqs.org/patents/app/20090055826  http://www.csa.com/discoveryguides/multicore/review2.php?S ID=s0s5lp3hcg6fa6pf2ba28u84d0